pax_global_header00006660000000000000000000000064145450222320014511gustar00rootroot0000000000000052 comment=989e83d4a05c74448fdc72e5a67df5529387c021 go-control-plane-0.12.0/000077500000000000000000000000001454502223200147515ustar00rootroot00000000000000go-control-plane-0.12.0/.codecov.yml000066400000000000000000000001431454502223200171720ustar00rootroot00000000000000coverage: ignore: - "pkg/test/" # Test infrastructure coverage does not affect core coverage go-control-plane-0.12.0/.github/000077500000000000000000000000001454502223200163115ustar00rootroot00000000000000go-control-plane-0.12.0/.github/dependabot.yml000066400000000000000000000017071454502223200211460ustar00rootroot00000000000000# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: docker directory: / schedule: interval: weekly - package-ecosystem: github-actions directory: / schedule: interval: weekly - package-ecosystem: gomod directory: / schedule: interval: weekly - package-ecosystem: docker directory: /examples/dyplomat schedule: interval: weekly - package-ecosystem: gomod directory: /examples/dyplomat schedule: interval: weekly groups: k8s.io: patterns: - "k8s.io/*" - package-ecosystem: gomod directory: /xdsmatcher schedule: interval: weekly go-control-plane-0.12.0/.github/workflows/000077500000000000000000000000001454502223200203465ustar00rootroot00000000000000go-control-plane-0.12.0/.github/workflows/ci.yaml000066400000000000000000000004241454502223200216250ustar00rootroot00000000000000name: CI Build and Test on: pull_request: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: build and test run: make docker_tests go-control-plane-0.12.0/.github/workflows/envoy-sync.yaml000066400000000000000000000022701454502223200233450ustar00rootroot00000000000000name: Sync Envoy on: workflow_dispatch: concurrency: group: ${{ github.workflow }} cancel-in-progress: true permissions: contents: read jobs: sync: runs-on: ubuntu-22.04 permissions: contents: write if: | ${{ !contains(github.actor, '[bot]') || github.actor == 'sync-envoy[bot]' }} steps: - id: appauth uses: envoyproxy/toolshed/gh-actions/appauth@5ef04d5f8144dc3a1a8c05bd81b0ef267c0849f5 # actions-v0.1.83 with: key: ${{ secrets.ENVOY_CI_UPDATE_BOT_KEY }} app_id: ${{ secrets.ENVOY_CI_UPDATE_APP_ID }} # Checkout the repo - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: ref: main fetch-depth: 0 token: ${{ steps.appauth.outputs.token }} # Checkout the Envoy repo - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: repository: envoyproxy/envoy ref: main fetch-depth: 0 path: upstream - run: mv upstream ../envoy - run: ci/sync_envoy.sh env: ENVOY_SRC_DIR: ../envoy go-control-plane-0.12.0/.github/workflows/golangci-lint.yaml000066400000000000000000000007561454502223200237710ustar00rootroot00000000000000name: golangci-lint on: [push, pull_request] jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: golangci-lint uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 with: version: latest only-new-issues: true # Optional: golangci-lint command line arguments. args: --verbose go-control-plane-0.12.0/.github/workflows/scorecard.yml000066400000000000000000000021061454502223200230350ustar00rootroot00000000000000name: Scorecard supply-chain security on: branch_protection_rule: schedule: - cron: '33 13 * * 5' push: branches: - "main" permissions: contents: read jobs: analysis: name: Scorecard analysis runs-on: ubuntu-22.04 permissions: security-events: write id-token: write steps: - name: "Checkout code" uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: persist-credentials: false - name: "Run analysis" uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 with: results_file: results.sarif results_format: sarif publish_results: true - name: "Upload artifact" uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 with: name: SARIF file path: results.sarif retention-days: 5 - name: "Upload to code-scanning" uses: github/codeql-action/upload-sarif@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12 with: sarif_file: results.sarif go-control-plane-0.12.0/.github/workflows/stale.yaml000066400000000000000000000037321454502223200223470ustar00rootroot00000000000000on: workflow_dispatch: schedule: - cron: '0 */4 * * *' jobs: prune_stale: name: Prune Stale runs-on: ubuntu-latest steps: - name: Prune Stale uses: actions/stale@6f05e4244c9a0b2ed3401882b05d701dd0a7289b # v7.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # Different amounts of days for issues/PRs are not currently supported but there is a PR # open for it: https://github.com/actions/stale/issues/214 days-before-stale: 30 days-before-close: 7 stale-issue-message: > This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. close-issue-message: > This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions. stale-pr-message: > This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! close-pr-message: > This pull request has been automatically closed because it has not had activity in the last 37 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! stale-issue-label: 'stale' exempt-issue-labels: 'no stalebot,help wanted' stale-pr-label: 'stale' exempt-pr-labels: 'no stalebot' operations-per-run: 500 ascending: true go-control-plane-0.12.0/.gitignore000066400000000000000000000003231454502223200167370ustar00rootroot00000000000000/vendor /bin .idea* *.iml *.bak .vagrant examples/dyplomat/dyplomat # Eclipse artifacts /.project # codecov.io test coverage /coverage.out # auto-generated test files, e.g. mockgen *_gen_test.go /envoy*.log go-control-plane-0.12.0/.golangci.yml000066400000000000000000000012221454502223200173320ustar00rootroot00000000000000issues: fix: true exclude-rules: - linters: - gosec text: 'G101' path: 'pkg/test/resource/v3/secret.go' max-issues-per-linter: 0 max-same-issues: 0 linters: enable: - bodyclose - contextcheck - errcheck - errorlint - gofumpt - goimports - gosec - misspell - revive - unconvert - unparam - unused - whitespace linters-settings: exhaustive: default-signifies-exhaustive: true gofumpt: extra-rules: true goimports: local-prefixes: github.com/envoyproxy/go-control-plane misspell: locale: US unparam: check-exported: false run: timeout: 10m go-control-plane-0.12.0/CHANGELOG.md000066400000000000000000000117261454502223200165710ustar00rootroot00000000000000# Changelog ## Release v0.11.0 ### Added - Added Node object to stream closed callbacks (#572) - Added support for the RateLimit xDS Service (#598) - Added support for thrift route config type on server resources (#600) - Programmatic ADS client that supports communication with an xDS management server (#604) - Added cache support for custom resource names with delta xDS (#609) ### Changed - Envoy Protos Commit SHA: `a8a39af371cceaca4c08ce8637d5980fe14de151` - Updated prometheus/client_model library to v0.3.0 (#602) - Bump sigs.k8s.io/aws-iam-authenticator from 0.5.9 to 0.6.1 in /examples/dyplomat (#617) - Bump google.golang.org/grpc from 1.51.0 to 1.52.0 (#622) ### Fixed - Delta xDS properly closes watches when a stream is closed to release memory (#570) - Fixed panic when sending certain resource heartbeats (#579) - Fixed debug logs printing sensitive resource information (#601) - Fixed watch state incorrectly tracking state updates over SDS (#615) ## Release v0.10.3 ### Changed - Documentation rewrite in the `/docs` folder (#520) - Updated go module version to 1.16 (#536) - Exposed `ApiTypePrefix` (#553) - Envoy Protos Commit SHA: `97dfffde06115e58261dbab3707ad70d5c86ba1f` ### Added - Initial support of the Virtual Host Discovery Service VHDS (#529) - Added linear cache method `UpdateResources` (#546) ### Fixed - Scoped routes consistency check (#515) - Scoped routes references (#518) - Fixed go routine leaks in server unit tests (#519) - Linear cache no longer requires linear time for applying delta updates (#547) ## Release v0.10.1 ### Changed - Envoy Protos Commit SHA: `9cc74781d818aaa58b9cca9602fe8dc62181…` ### Fixed - Release to fix broken `GOSUMDB` checksum when using `v0.10.0`. Please pin to this release and ignore `v0.10.0`. ## Release v0.10.0 ### Added - Added snapshot support in the Linear cache (#437) - Added CI linting support (#455) - Incremental xDS support for Linear and Mux caches (#459) - Added Extension Configs support (#417) - Added a default cache logger (#483) - Added Scoped Routes Discovery Service - SRDS (#495) ### Changed - Removed linearization in server API to preserve cache ordering (#443) - SetSnapshot now takes a `context` (#474) - Delta xDS now responds immediately for the first wildcard request in a delta stream if the corresponding snapshot exists and the response is empty (#473) - Reworked snapshot API to faciliate additional xDS resources without changes (#484) - Delta xDS won't delete non-existent resources in wildcard mode (#488) - Simple cache now holds a read lock when cancelling a snapshot watch (#507) ### Fixed - Delta xDS not registering another watch after resource sent (#458) - Fixed data race in Linear cache (#502) - State of the World now tracks known resource names per caller stream (#508) ## Release v0.9.9 ### Added - Add snapshot support for ECDS (#379) - Add cache support for xDS TTLs (#359) - Add cache interfaces for incremental xDS (#408) - Incremental simple cache implementation (#411) ### Changed - Envoy APIs are at b6039234e526eeccdf332a7eb041729aaa1bc286 - Update dependencies to use `cncf/xds` instead of `cncf/udpa` (#404) - Log ignoring a watch at warn level (#352) - Removed support for V2 Envoy APIs in the server (#415) ### Fixed - Go 1.16 compatibility fixes (#409) - Fix a potential goroutine leak in stream handler (#430) ## Release v0.9.8 ### Changed - Envoy APIs are at 1d44c27ff7d4ebdfbfd9a6acbcecf9631b107e30 - server: exit receiver go routine when context is done - cache: align struct fields ## Release v0.9.7 ### Added - secrets to the cache snapshots - linearly versioned cache for a single type resources - version prefix to the linear cache - support for arbitrary type URLs in xDS server ### Changed - Envoy APIs are at 241358e0ac7716fac24ae6c19c7dcea67357e70e - split `server` package into `sotw` and `rest` ## Release v0.9.6 ### Added - introduce Passthrough resource type for a pre-serialized xDS response ### Changed - Envoy APIs are at 73fc620a34135a16070083f3c94b93d074f6e59f - update dependencies: protobuf to v1.4.2 and grpc to v1.27.0 to support protobuf v2 development - protobufs are generated with protobuf v2 toolchain - updates to the wellknown extension names to use non-deprecated versions - use LoggersFuncs struct to reduce boilerplate in debug logging - use CallbackFuncs struct to reduce boilerplate in server callbacks ## Release v0.9.5 ### Added - Added integration tests for v2 and v3 versions - Cache implementation is replicated into xDS v2 and xDS v3 versions. You need to add to "v2" or "v3" suffix to imports to indicate which version to use (thanks @jyotimahapatra) ### Changed - Updated Envoy SHA to 34fcdef99633947543070d5eadf32867e940694e - Module requirement downgraded to go1.11 - `ExtAuthz` well known filter names are updated to the new Envoy format ### Removed - v3 cache implementation removed GetStatusInfo and GetStatusKeys functions from the interface ### Issues - `set_node_on_first_message_only` may not work as expected due to an Envoy issue go-control-plane-0.12.0/CONTRIBUTING.md000066400000000000000000000224651454502223200172130ustar00rootroot00000000000000# Contributing We welcome contributions from the community. Please read the following guidelines carefully to maximize the chances of your PR being merged. ## Communication * Before starting work on a major feature, please reach out to us via GitHub, Slack, email, etc. We will make sure no one else is already working on it and ask you to open a GitHub issue. * A "major feature" is defined as any change that is > 100 LOC altered (not including tests), or changes any user-facing behavior. We will use the GitHub issue to discuss the feature and come to agreement. This is to prevent your time being wasted, as well as ours. The GitHub review process for major features is also important so that [organizations with commit access](OWNERS.md) can come to agreement on design. If it is appropriate to write a design document, the document must be hosted either in the GitHub tracking issue, or linked to from the issue and hosted in a world-readable location. * Small patches and bug fixes don't need prior communication. ## Inclusive language policy The Envoy community has an explicit goal to be inclusive to all. As such, all PRs must adhere to the following guidelines for all code, APIs, and documentation: * The following words and phrases are not allowed: * *Whitelist*: use allowlist instead. * *Blacklist*: use denylist or blocklist instead. * *Master*: use primary instead. * *Slave*: use secondary or replica instead. * Documentation should be written in an inclusive style. The [Google developer documentation](https://developers.google.com/style/inclusive-documentation) contains an excellent reference on this topic. * The above policy is not considered definitive and may be amended in the future as industry best practices evolve. Additional comments on this topic may be provided by maintainers during code review. ## Submitting a PR * Fork the repo. * Create your PR. * Tests will automatically run for you. * We will **not** merge any PR that is not passing tests. * PRs are expected to have 100% test coverage for added code. This can be verified with a coverage build. If your PR cannot have 100% coverage for some reason please clearly explain why when you open it. * Any PR that changes user-facing behavior **must** have associated documentation in [docs](docs) as well as the [changelog](CHANGELOG.md). * All code comments and documentation are expected to have proper English grammar and punctuation. If you are not a fluent English speaker (or a bad writer ;-)) please let us know and we will try to find some help but there are no guarantees. * Your PR title should be descriptive, and generally start with a subsystem name followed by a colon. Examples: * "docs: fix grammar error" * "http conn man: add new feature" * Your PR commit message will be used as the commit message when your PR is merged. You should update this field if your PR diverges during review. * Your PR description should have details on what the PR does. If it fixes an existing issue it should end with "Fixes #XXX". * If your PR is co-authored or based on an earlier PR from another contributor, please attribute them with `Co-authored-by: name `. See GitHub's [multiple author guidance](https://help.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors) for further details. * When all of the tests are passing and all other conditions described herein are satisfied, a maintainer will be assigned to review and merge the PR. * Once you submit a PR, *please do not rebase it*. It's much easier to review if subsequent commits are new commits and/or merges. We squash rebase the final merged commit so the number of commits you have in the PR don't matter. * We expect that once a PR is opened, it will be actively worked on until it is merged or closed. We reserve the right to close PRs that are not making progress. This is generally defined as no changes for 7 days. Obviously PRs that are closed due to lack of activity can be reopened later. Closing stale PRs helps us to keep on top of all of the work currently in flight. ## PR review policy for maintainers * See [OWNERS.md](OWNERS.md) for the current list of maintainers. * It is generally expected that a senior maintainer should review every PR. * It is also generally expected that a "domain expert" for the code the PR touches should review the PR. This person does not necessarily need to have commit access. * The previous two points generally mean that every PR should have two approvals. (Exceptions can be made by the senior maintainers). * The above rules may be waived for PRs which only update docs or comments, or trivial changes to tests and tools (where trivial is decided by the maintainer in question). * In general, we should also attempt to make sure that at least one of the approvals is *from an organization different from the PR author.* E.g., if Lyft authors a PR, at least one approver should be from an organization other than Lyft. This helps us make sure that we aren't putting organization specific shortcuts into the code. * If there is a question on who should review a PR please discuss in Slack. * Anyone is welcome to review any PR that they want, whether they are a maintainer or not. * Please make sure that the PR title, commit message, and description are updated if the PR changes significantly during review. * Please **clean up the title and body** before merging. By default, GitHub fills the squash merge title with the original title, and the commit body with every individual commit from the PR. The maintainer doing the merge should make sure the title follows the guidelines above and should overwrite the body with the original commit message from the PR (cleaning it up if necessary) while preserving the PR author's final DCO sign-off. ## DCO: Sign your work Envoy ships commit hooks that allow you to auto-generate the DCO signoff line if it doesn't exist when you run `git commit`. Simply navigate to the Envoy project root and run: ```bash ./support/bootstrap ``` From here, simply commit as normal, and you will see the signoff at the bottom of each commit. The sign-off is a simple line at the end of the explanation for the patch, which certifies that you wrote it or otherwise have the right to pass it on as an open-source patch. The rules are pretty simple: if you can certify the below (from [developercertificate.org](https://developercertificate.org/)): ``` Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 660 York Street, Suite 102, San Francisco, CA 94110 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ``` then you just add a line to every git commit message: Signed-off-by: Joe Smith using your real name (sorry, no pseudonyms or anonymous contributions.) You can add the sign off when creating the git commit via `git commit -s`. If you want this to be automatic you can set up some aliases: ```bash git config --add alias.amend "commit -s --amend" git config --add alias.c "commit -s" ``` ## Fixing DCO If your PR fails the DCO check, it's necessary to fix the entire commit history in the PR. Best practice is to [squash](https://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) the commit history to a single commit, append the DCO sign-off as described above, and [force push](https://git-scm.com/docs/git-push#git-push---force). For example, if you have 2 commits in your history: ```bash git rebase -i HEAD^^ (interactive squash + DCO append) git push origin -f ``` Note, that in general rewriting history in this way is a hindrance to the review process and this should only be done to correct a DCO mistake. ## Triggering CI re-run without making changes Sometimes tasks will be stuck in CI and won't be marked as failed, which means the above command won't work. Should this happen, pushing an empty commit should re-run all the CI tasks. Consider adding an alias into your `.gitconfig` file: ``` [alias] kick-ci = !"git commit -s --allow-empty -m 'Kick CI' && git push" ``` Once you add this alias you can issue the command `git kick-ci` and the PR will be sent back for a retest.go-control-plane-0.12.0/Dockerfile.ci000066400000000000000000000001441454502223200173340ustar00rootroot00000000000000FROM golang:1.21 COPY --from=envoyproxy/envoy-dev:latest /usr/local/bin/envoy /usr/local/bin/envoy go-control-plane-0.12.0/LICENSE000066400000000000000000000261351454502223200157650ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. go-control-plane-0.12.0/Makefile000066400000000000000000000050151454502223200164120ustar00rootroot00000000000000.DEFAULT_GOAL := build #------------------------------------------------------------------------------ # Variables #------------------------------------------------------------------------------ SHELL := /bin/bash BINDIR := bin PKG := github.com/envoyproxy/go-control-plane .PHONY: build build: @go build ./pkg/... ./envoy/... .PHONY: clean clean: @echo "--> cleaning compiled objects and binaries" @go clean -tags netgo -i ./... @go mod tidy @rm -rf $(BINDIR) @rm -rf *.log # TODO(mattklein123): See the note in TestLinearConcurrentSetWatch() for why we set -parallel here # This should be removed. .PHONY: test test: @go test -race -v -timeout 30s -count=1 -parallel 100 ./pkg/... .PHONY: cover cover: @build/coverage.sh .PHONY: format format: @goimports -local $(PKG) -w -l pkg .PHONY: examples examples: @pushd examples/dyplomat && go build ./... && popd .PHONY: lint lint: @docker run \ --rm \ --volume $$(pwd):/src \ --workdir /src \ golangci/golangci-lint:latest \ golangci-lint -v run #----------------- #-- integration #----------------- .PHONY: $(BINDIR)/test $(BINDIR)/upstream integration integration.ads integration.xds integration.rest integration.xds.mux integration.xds.delta integration.ads.delta $(BINDIR)/upstream: @go build -race -o $@ internal/upstream/main.go $(BINDIR)/test: @echo "Building test binary" @go build -race -o $@ pkg/test/main/main.go integration: integration.xds integration.ads integration.rest integration.xds.mux integration.xds.delta integration.ads.delta integration.ads: $(BINDIR)/test $(BINDIR)/upstream env XDS=ads build/integration.sh integration.xds: $(BINDIR)/test $(BINDIR)/upstream env XDS=xds build/integration.sh integration.rest: $(BINDIR)/test $(BINDIR)/upstream env XDS=rest build/integration.sh integration.xds.mux: $(BINDIR)/test $(BINDIR)/upstream env XDS=xds build/integration.sh -mux integration.xds.delta: $(BINDIR)/test $(BINDIR)/upstream env XDS=delta build/integration.sh integration.ads.delta: $(BINDIR)/test $(BINDIR)/upstream env XDS=delta-ads build/integration.sh #-------------------------------------- #-- example xDS control plane server #-------------------------------------- .PHONY: $(BINDIR)/example example $(BINDIR)/example: @go build -race -o $@ internal/example/main/main.go example: $(BINDIR)/example @build/example.sh .PHONY: docker_tests docker_tests: docker build --pull -f Dockerfile.ci . -t gcp_ci && \ docker run -v $$(pwd):/go-control-plane $$(tty -s && echo "-it" || echo) gcp_ci /bin/bash -c /go-control-plane/build/do_ci.sh go-control-plane-0.12.0/OWNERS.md000066400000000000000000000013771454502223200163200ustar00rootroot00000000000000This page lists all active maintainers. This can be used for routing PRs, questions, etc. to the right place. # Maintainers * Kuat Yessenov ([kyessenov](https://github.com/kyessenov)) (kuat@google.com) * Yangmin Zhu ([yangminzhu](https://github.com/yangminzhu)) (ymzhu@google.com) * Snow Pettersen ([snowp](https://github.com/snowp)) (snowp@lyft.com) * Alec Holmes ([alecholmez](https://github.com/alecholmez)) (alec.holmes@greymatter.io) * James Peach ([jpeach](https://github.com/jpeach)) (jpeach@apache.org) * Sunjay Bhatia ([sunjayBhatia](https://github.com/sunjayBhatia))(sunjayb@vmware.com) * Valerian Roche ([valerian-roche](https://github.com/valerian-roche))(valerian.roche@datadoghq.com) * Ryan Northey ([phlax](https://github.com/phlax)) (ryan@synca.io) go-control-plane-0.12.0/README.md000066400000000000000000000114151454502223200162320ustar00rootroot00000000000000# control-plane [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/envoyproxy/go-control-plane/badge)](https://api.securityscorecards.dev/projects/github.com/envoyproxy/go-control-plane) ![CI Status](https://github.com/envoyproxy/go-control-plane/actions/workflows/ci.yaml/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/envoyproxy/go-control-plane)](https://goreportcard.com/report/github.com/envoyproxy/go-control-plane) [![GoDoc](https://pkg.go.dev/badge/github.com/envoyproxy/go-control-plane.svg)](https://pkg.go.dev/github.com/envoyproxy/go-control-plane) This repository contains a Go-based implementation of an API server that implements the discovery service APIs defined in [data-plane-api](https://github.com/envoyproxy/data-plane-api). ## Proto files The Go proto files are synced from the upstream Envoy repository (https://github.com/envoyproxy/envoy) on every upstream commit. Synchronization is triggered using the `envoy-sync.yaml` workflow. ## Scope Due to the variety of platforms out there, there is no single control plane implementation that can satisfy everyone's needs. Hence this code base does not attempt to be a full scale control plane for a fleet of Envoy proxies. Instead, it provides infrastructure that is shared by multiple different control plane implementations. The components provided by this library are: * _API Server:_ A generic gRPC based API server that implements xDS APIs as defined in the [data-plane-api](https://github.com/envoyproxy/data-plane-api). The API server is responsible for pushing configuration updates to Envoys. Consumers should be able to import this go library and use the API server as is, in production deployments. * _Configuration Cache:_ The library will cache Envoy configurations in memory in an attempt to provide fast response to consumer Envoys. It is the responsibility of the consumer of this library to populate the cache as well as invalidate it when necessary. The cache will be keyed based on a pre-defined hash function whose keys are based on the [Node information](https://github.com/envoyproxy/data-plane-api/blob/d4988844024d0bcff4bcd030552eabe3396203fa/api/base.proto#L26-L36). At this moment, this repository will not tackle translating platform specific representation of resources (e.g., services, instances of services, etc.) into Envoy-style configuration. Based on usage and feedback, we might decide to revisit this aspect at a later point in time. ## Requirements 1. Go 1.17+ ## Quick start It's recommended to run the tests with `make docker_tests` as it executes the tests in the same environment as CI. This makes sure to produce a consistent set of generated files. 1. Build and run tests: ```sh make docker_tests ``` 1. Take a look at the [example server](internal/example/README.md). ## XDS API versioning The Envoy xDS APIs follow a well defined [versioning scheme](https://www.envoyproxy.io/docs/envoy/latest/configuration/overview/versioning). ### Deprecated `V2` control-plane code has been removed and will no longer be supported. For previous conversations on support for various xDS versions, see here: - [here](https://docs.google.com/document/d/1ZkHpz6DwEUmAlG0kb2Mgu4iaeQC2Bbb0egMbECoNNKY/edit?ts=5e602993#heading=h.15nsmgmjaaml) - [here](https://envoyproxy.slack.com/archives/C7LDJTM6Z/p1582925082005300) *Note*: It is recommended to use a previous SHA if there is still a need for `V2`. ## Resource caching Because Envoy clients are assumed to be ephemeral, and thus, can come and go away arbitrarily, the server relies on a configuration cache to minimize the client load on the server. There are several caches available in this repository: - `Simple` cache is a snapshot-based cache that maintains a consistent view of the configuration for each group of proxies. It supports running as an ADS server or as regular dis-aggregated xDS servers. In ADS mode, the cache can hold responses until the complete set of referenced resources is requested (e.g. the entire set of RDS as referenced by LDS). Holding the response enables an atomic update of xDS collections. - `Linear` is an eventually consistent cache for a single type URL collection. The cache maintains a single linear version history and a version vector for the resources in the cache. For each request, it compares the request version against latest versions for the requested resources, and responds with any updated resources. This cache assumes the resources are entirely opaque. - `Mux` cache is a simple cache combinator. It allows mixing multiple caches for different type URLs, e.g use a simple cache for LDS/RDS/CDS and a linear cache for EDS. ## Usage The [example server](internal/example/README.md) demonstrates how to integrate the go-control-plane with your code. go-control-plane-0.12.0/build/000077500000000000000000000000001454502223200160505ustar00rootroot00000000000000go-control-plane-0.12.0/build/coverage.sh000077500000000000000000000003541454502223200202040ustar00rootroot00000000000000#!/usr/bin/env bash set -e echo "" > coverage.out for d in $(go list ./pkg/...); do go test -race -coverprofile=profile.out -covermode=atomic $d if [ -f profile.out ]; then cat profile.out >> coverage.out rm profile.out fi done go-control-plane-0.12.0/build/do_ci.sh000077500000000000000000000011111454502223200174560ustar00rootroot00000000000000#!/usr/bin/env bash set -e set -x # Needed to avoid issues with go version stamping in CI build git config --global --add safe.directory /go-control-plane go install golang.org/x/tools/cmd/goimports@latest cd /go-control-plane NUM_DIFF_LINES=`/go/bin/goimports -local github.com/envoyproxy/go-control-plane -d pkg | wc -l` if [[ $NUM_DIFF_LINES > 0 ]]; then echo "Failed format check. Run make format" exit 1 fi make build make bin/example make examples make test make integration make -C xdsmatcher test # TODO(snowp): Output coverage in CI make -C examples/dyplomat test go-control-plane-0.12.0/build/example.sh000077500000000000000000000007321454502223200200440ustar00rootroot00000000000000#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail ## ## Runs Envoy and the example control plane server. See ## `internal/example` for the go source. ## # Envoy start-up command ENVOY=${ENVOY:-/usr/local/bin/envoy} # Start envoy: important to keep drain time short (${ENVOY} -c sample/bootstrap-xds.yaml --drain-time-s 1 -l debug)& ENVOY_PID=$! function cleanup() { kill ${ENVOY_PID} } trap cleanup EXIT # Run the control plane bin/example -debug $@ go-control-plane-0.12.0/build/integration.sh000077500000000000000000000022571454502223200207400ustar00rootroot00000000000000#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail ## ## Integration testing script for the control plane library against the Envoy binary. ## This is a wrapper around the test app `pkg/test/main` that spawns/kills Envoy. ## MESSAGE=$'Hi, there!\n' # Management server type. Valid values are "ads", "xds", "rest", "delta", or "delta-ads" XDS=${XDS:-ads} # pprof profiler. True means turn on profiling PPROF=${PPROF:-false} # Number of RTDS layers. if [ "$XDS" = "ads" ]; then RUNTIMES=2 else RUNTIMES=1 fi # Start the http server that sits upstream of Envoy (bin/upstream -message="$MESSAGE")& UPSTREAM_PID=$! # Envoy start-up command ENVOY=${ENVOY:-/usr/local/bin/envoy} ENVOY_LOG="envoy.${XDS}$@.log" echo Envoy log: ${ENVOY_LOG} # Start envoy: important to keep drain time short (${ENVOY} -c sample/bootstrap-${XDS}.yaml --drain-time-s 1 -l debug 2> ${ENVOY_LOG})& ENVOY_PID=$! function cleanup() { kill ${ENVOY_PID} ${UPSTREAM_PID} wait ${ENVOY_PID} ${UPSTREAM_PID} 2> /dev/null || true } trap cleanup EXIT # run the test suite (which also contains the control plane) bin/test --xds=${XDS} --runtimes=${RUNTIMES} --pprof=${PPROF} -debug -message="$MESSAGE" "$@" go-control-plane-0.12.0/ci/000077500000000000000000000000001454502223200153445ustar00rootroot00000000000000go-control-plane-0.12.0/ci/sync_envoy.sh000077500000000000000000000040231454502223200200760ustar00rootroot00000000000000#!/bin/bash -e set -o pipefail MIRROR_MSG="Mirrored from envoyproxy/envoy" SRCS=(envoy contrib) GO_TARGETS=(@envoy_api//...) IMPORT_BASE="github.com/envoyproxy/go-control-plane" COMMITTER_NAME="update-envoy[bot]" COMMITTER_EMAIL="135279899+update-envoy[bot]@users.noreply.github.com" ENVOY_SRC_DIR="${ENVOY_SRC_DIR:-}" if [[ -z "$ENVOY_SRC_DIR" ]]; then echo "ENVOY_SRC_DIR not set, it should point to a cloned Envoy repo" >&2 exit 1 elif [[ ! -d "$ENVOY_SRC_DIR" ]]; then echo "ENVOY_SRC_DIR ($ENVOY_SRC_DIR) not found, did you clone it?" >&2 exit 1 fi build_protos () { echo "Building go protos ..." cd "${ENVOY_SRC_DIR}" || exit 1 ./ci/do_ci.sh api.go cd - || exit 1 } get_last_envoy_sha () { git log \ --grep="$MIRROR_MSG" -n 1 \ | grep "$MIRROR_MSG" \ | tail -n 1 \ | sed -e "s#.*$MIRROR_MSG @ ##" } sync_protos () { local src envoy_src echo "Syncing go protos ..." for src in "${SRCS[@]}"; do envoy_src="${ENVOY_SRC_DIR}/build_go/${src}" rm -rf "$src" echo "Copying ${envoy_src} -> ${src}" cp -a "$envoy_src" "$src" git add "$src" done } commit_changes () { local last_envoy_sha changes changed echo "Committing changes ..." changed="$(git diff HEAD --name-only | grep -v envoy/COMMIT || :)" if [[ -z "$changed" ]]; then echo "Nothing changed, not committing" return fi last_envoy_sha="$(get_last_envoy_sha)" echo "Latest Envoy SHA: ${last_envoy_sha}" changes="$(git -C "${ENVOY_SRC_DIR}" rev-list "${last_envoy_sha}"..HEAD)" echo "Changes detected: " echo "$changes" latest_commit="$(git -C "${ENVOY_SRC_DIR}" rev-list HEAD -n1)" echo "Latest commit: ${latest_commit}" echo "$latest_commit" > envoy/COMMIT git config user.email "$COMMITTER_EMAIL" git config user.name "$COMMITTER_NAME" git add envoy contrib git commit --allow-empty -s -m "${MIRROR_MSG} @ ${latest_commit}" git push origin main } build_protos sync_protos commit_changes go-control-plane-0.12.0/contrib/000077500000000000000000000000001454502223200164115ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/000077500000000000000000000000001454502223200175515ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/000077500000000000000000000000001454502223200217505ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/000077500000000000000000000000001454502223200243115ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/qatzip/000077500000000000000000000000001454502223200256215ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/qatzip/compressor/000077500000000000000000000000001454502223200300155ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/qatzip/compressor/v3alpha/000077500000000000000000000000001454502223200313535ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/qatzip/compressor/v3alpha/qatzip.pb.go000077500000000000000000000404611454502223200336220ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/compression/qatzip/compressor/v3alpha/qatzip.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Qatzip_HardwareBufferSize int32 const ( Qatzip_DEFAULT Qatzip_HardwareBufferSize = 0 Qatzip_SZ_4K Qatzip_HardwareBufferSize = 1 Qatzip_SZ_8K Qatzip_HardwareBufferSize = 2 Qatzip_SZ_32K Qatzip_HardwareBufferSize = 3 Qatzip_SZ_64K Qatzip_HardwareBufferSize = 4 Qatzip_SZ_128K Qatzip_HardwareBufferSize = 5 Qatzip_SZ_512K Qatzip_HardwareBufferSize = 6 ) // Enum value maps for Qatzip_HardwareBufferSize. var ( Qatzip_HardwareBufferSize_name = map[int32]string{ 0: "DEFAULT", 1: "SZ_4K", 2: "SZ_8K", 3: "SZ_32K", 4: "SZ_64K", 5: "SZ_128K", 6: "SZ_512K", } Qatzip_HardwareBufferSize_value = map[string]int32{ "DEFAULT": 0, "SZ_4K": 1, "SZ_8K": 2, "SZ_32K": 3, "SZ_64K": 4, "SZ_128K": 5, "SZ_512K": 6, } ) func (x Qatzip_HardwareBufferSize) Enum() *Qatzip_HardwareBufferSize { p := new(Qatzip_HardwareBufferSize) *p = x return p } func (x Qatzip_HardwareBufferSize) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Qatzip_HardwareBufferSize) Descriptor() protoreflect.EnumDescriptor { return file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_enumTypes[0].Descriptor() } func (Qatzip_HardwareBufferSize) Type() protoreflect.EnumType { return &file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_enumTypes[0] } func (x Qatzip_HardwareBufferSize) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Qatzip_HardwareBufferSize.Descriptor instead. func (Qatzip_HardwareBufferSize) EnumDescriptor() ([]byte, []int) { return file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 6] type Qatzip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 1 to 9 that controls the main compression speed-density lever. // The higher quality, the slower compression. The default value is 1. CompressionLevel *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=compression_level,json=compressionLevel,proto3" json:"compression_level,omitempty"` // A size of qat hardware buffer. This field will be set to "DEFAULT" if not specified. HardwareBufferSize Qatzip_HardwareBufferSize `protobuf:"varint,2,opt,name=hardware_buffer_size,json=hardwareBufferSize,proto3,enum=envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip_HardwareBufferSize" json:"hardware_buffer_size,omitempty"` // Threshold of compression service’s input size for software failover. // If the size of input request less than the threshold, qatzip will route the request to software // compressor. The default value is 1024. The maximum value is 512*1024. InputSizeThreshold *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=input_size_threshold,json=inputSizeThreshold,proto3" json:"input_size_threshold,omitempty"` // A size of stream buffer. The default value is 128 * 1024. The maximum value is 2*1024*1024 - // 5*1024 StreamBufferSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=stream_buffer_size,json=streamBufferSize,proto3" json:"stream_buffer_size,omitempty"` // Value for compressor's next output buffer. If not set, defaults to 4096. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Qatzip) Reset() { *x = Qatzip{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Qatzip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Qatzip) ProtoMessage() {} func (x *Qatzip) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Qatzip.ProtoReflect.Descriptor instead. func (*Qatzip) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescGZIP(), []int{0} } func (x *Qatzip) GetCompressionLevel() *wrappers.UInt32Value { if x != nil { return x.CompressionLevel } return nil } func (x *Qatzip) GetHardwareBufferSize() Qatzip_HardwareBufferSize { if x != nil { return x.HardwareBufferSize } return Qatzip_DEFAULT } func (x *Qatzip) GetInputSizeThreshold() *wrappers.UInt32Value { if x != nil { return x.InputSizeThreshold } return nil } func (x *Qatzip) GetStreamBufferSize() *wrappers.UInt32Value { if x != nil { return x.StreamBufferSize } return nil } func (x *Qatzip) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } var File_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x04, 0x0a, 0x06, 0x51, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x09, 0x28, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x20, 0x28, 0x80, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x58, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0xd8, 0x7f, 0x28, 0x80, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x69, 0x0a, 0x12, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x5a, 0x5f, 0x34, 0x4b, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x5a, 0x5f, 0x38, 0x4b, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x5a, 0x5f, 0x33, 0x32, 0x4b, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x5a, 0x5f, 0x36, 0x34, 0x4b, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x5a, 0x5f, 0x31, 0x32, 0x38, 0x4b, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x5a, 0x5f, 0x35, 0x31, 0x32, 0x4b, 0x10, 0x06, 0x42, 0xc4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x51, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x71, 0x61, 0x74, 0x7a, 0x69, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescData = file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDesc ) func file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescData) }) return file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDescData } var file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_goTypes = []interface{}{ (Qatzip_HardwareBufferSize)(0), // 0: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.HardwareBufferSize (*Qatzip)(nil), // 1: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.compression_level:type_name -> google.protobuf.UInt32Value 0, // 1: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.hardware_buffer_size:type_name -> envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.HardwareBufferSize 2, // 2: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.input_size_threshold:type_name -> google.protobuf.UInt32Value 2, // 3: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.stream_buffer_size:type_name -> google.protobuf.UInt32Value 2, // 4: envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip.chunk_size:type_name -> google.protobuf.UInt32Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_init() } func file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_init() { if File_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Qatzip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_depIdxs, EnumInfos: file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_enumTypes, MessageInfos: file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_msgTypes, }.Build() File_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto = out.File file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_rawDesc = nil file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_goTypes = nil file_contrib_envoy_extensions_compression_qatzip_compressor_v3alpha_qatzip_proto_depIdxs = nil } qatzip.pb.validate.go000077500000000000000000000111011454502223200353200ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/compression/qatzip/compressor/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/compression/qatzip/compressor/v3alpha/qatzip.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Qatzip with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Qatzip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Qatzip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in QatzipMultiError, or nil if none found. func (m *Qatzip) ValidateAll() error { return m.validate(true) } func (m *Qatzip) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetCompressionLevel(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 9 { err := QatzipValidationError{ field: "CompressionLevel", reason: "value must be inside range [1, 9]", } if !all { return err } errors = append(errors, err) } } if _, ok := Qatzip_HardwareBufferSize_name[int32(m.GetHardwareBufferSize())]; !ok { err := QatzipValidationError{ field: "HardwareBufferSize", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetInputSizeThreshold(); wrapper != nil { if val := wrapper.GetValue(); val < 128 || val > 524288 { err := QatzipValidationError{ field: "InputSizeThreshold", reason: "value must be inside range [128, 524288]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetStreamBufferSize(); wrapper != nil { if val := wrapper.GetValue(); val < 1024 || val > 2092032 { err := QatzipValidationError{ field: "StreamBufferSize", reason: "value must be inside range [1024, 2092032]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := QatzipValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return QatzipMultiError(errors) } return nil } // QatzipMultiError is an error wrapping multiple validation errors returned by // Qatzip.ValidateAll() if the designated constraints aren't met. type QatzipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QatzipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QatzipMultiError) AllErrors() []error { return m } // QatzipValidationError is the validation error returned by Qatzip.Validate if // the designated constraints aren't met. type QatzipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QatzipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QatzipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QatzipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QatzipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QatzipValidationError) ErrorName() string { return "QatzipValidationError" } // Error satisfies the builtin error interface func (e QatzipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQatzip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QatzipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QatzipValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/config/000077500000000000000000000000001454502223200232155ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/config/v3alpha/000077500000000000000000000000001454502223200245535ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/config/v3alpha/kv_store_xds_delegate_config.pb.go000077500000000000000000000233671454502223200334110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/config/v3alpha/kv_store_xds_delegate_config.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/common/key_value/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.xds_delegates.kv_store] // // Configuration for a KeyValueStore-based XdsResourcesDelegate implementation. This implementation // updates the underlying KV store with xDS resources received from the configured management // servers, enabling configuration to be persisted locally and used on startup in case connectivity // with the xDS management servers could not be established. // // The KV Store based delegate's handling of wildcard resources (empty resource list or "*") is // designed for use with O(100) resources or fewer, so it's not currently advised to use this // feature for large configurations with heavy use of wildcard resources. type KeyValueStoreXdsDelegateConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for the KeyValueStore that holds the xDS resources. // [#allow-fully-qualified-name:] KeyValueStoreConfig *v3.KeyValueStoreConfig `protobuf:"bytes,1,opt,name=key_value_store_config,json=keyValueStoreConfig,proto3" json:"key_value_store_config,omitempty"` } func (x *KeyValueStoreXdsDelegateConfig) Reset() { *x = KeyValueStoreXdsDelegateConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyValueStoreXdsDelegateConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyValueStoreXdsDelegateConfig) ProtoMessage() {} func (x *KeyValueStoreXdsDelegateConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyValueStoreXdsDelegateConfig.ProtoReflect.Descriptor instead. func (*KeyValueStoreXdsDelegateConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescGZIP(), []int{0} } func (x *KeyValueStoreXdsDelegateConfig) GetKeyValueStoreConfig() *v3.KeyValueStoreConfig { if x != nil { return x.KeyValueStoreConfig } return nil } var File_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6b, 0x76, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x78, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x58, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x1d, 0x4b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x58, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescData = file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDesc ) func file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescData) }) return file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDescData } var file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_goTypes = []interface{}{ (*KeyValueStoreXdsDelegateConfig)(nil), // 0: envoy.extensions.config.v3alpha.KeyValueStoreXdsDelegateConfig (*v3.KeyValueStoreConfig)(nil), // 1: envoy.config.common.key_value.v3.KeyValueStoreConfig } var file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.config.v3alpha.KeyValueStoreXdsDelegateConfig.key_value_store_config:type_name -> envoy.config.common.key_value.v3.KeyValueStoreConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_init() } func file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_init() { if File_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyValueStoreXdsDelegateConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_msgTypes, }.Build() File_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto = out.File file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_rawDesc = nil file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_goTypes = nil file_contrib_envoy_extensions_config_v3alpha_kv_store_xds_delegate_config_proto_depIdxs = nil } kv_store_xds_delegate_config.pb.validate.go000077500000000000000000000111141454502223200351050ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/config/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/config/v3alpha/kv_store_xds_delegate_config.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KeyValueStoreXdsDelegateConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *KeyValueStoreXdsDelegateConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KeyValueStoreXdsDelegateConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // KeyValueStoreXdsDelegateConfigMultiError, or nil if none found. func (m *KeyValueStoreXdsDelegateConfig) ValidateAll() error { return m.validate(true) } func (m *KeyValueStoreXdsDelegateConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetKeyValueStoreConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KeyValueStoreXdsDelegateConfigValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KeyValueStoreXdsDelegateConfigValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyValueStoreConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KeyValueStoreXdsDelegateConfigValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return KeyValueStoreXdsDelegateConfigMultiError(errors) } return nil } // KeyValueStoreXdsDelegateConfigMultiError is an error wrapping multiple // validation errors returned by KeyValueStoreXdsDelegateConfig.ValidateAll() // if the designated constraints aren't met. type KeyValueStoreXdsDelegateConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KeyValueStoreXdsDelegateConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KeyValueStoreXdsDelegateConfigMultiError) AllErrors() []error { return m } // KeyValueStoreXdsDelegateConfigValidationError is the validation error // returned by KeyValueStoreXdsDelegateConfig.Validate if the designated // constraints aren't met. type KeyValueStoreXdsDelegateConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KeyValueStoreXdsDelegateConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KeyValueStoreXdsDelegateConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KeyValueStoreXdsDelegateConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KeyValueStoreXdsDelegateConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KeyValueStoreXdsDelegateConfigValidationError) ErrorName() string { return "KeyValueStoreXdsDelegateConfigValidationError" } // Error satisfies the builtin error interface func (e KeyValueStoreXdsDelegateConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKeyValueStoreXdsDelegateConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KeyValueStoreXdsDelegateConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KeyValueStoreXdsDelegateConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/000077500000000000000000000000001454502223200234205ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/000077500000000000000000000000001454502223200243775ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/checksum/000077500000000000000000000000001454502223200262015ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/checksum/v3alpha/000077500000000000000000000000001454502223200275375ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/checksum/v3alpha/checksum.pb.go000077500000000000000000000341121454502223200322740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/checksum/v3alpha/checksum.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ChecksumConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A set of matcher and checksum pairs for which, if a path matching “path_matcher“ // is requested and the checksum of the response body does not match the “sha256“, the // response will be replaced with a 403 Forbidden status. // // If multiple matchers match the same path, the first to match takes precedence. Checksums []*ChecksumConfig_Checksum `protobuf:"bytes,1,rep,name=checksums,proto3" json:"checksums,omitempty"` // If a request doesn't match any of the specified checksum paths and reject_unmatched is // true, the request is rejected immediately with 403 Forbidden. RejectUnmatched bool `protobuf:"varint,2,opt,name=reject_unmatched,json=rejectUnmatched,proto3" json:"reject_unmatched,omitempty"` } func (x *ChecksumConfig) Reset() { *x = ChecksumConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChecksumConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChecksumConfig) ProtoMessage() {} func (x *ChecksumConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChecksumConfig.ProtoReflect.Descriptor instead. func (*ChecksumConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescGZIP(), []int{0} } func (x *ChecksumConfig) GetChecksums() []*ChecksumConfig_Checksum { if x != nil { return x.Checksums } return nil } func (x *ChecksumConfig) GetRejectUnmatched() bool { if x != nil { return x.RejectUnmatched } return false } type ChecksumConfig_Checksum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Matcher: // // *ChecksumConfig_Checksum_PathMatcher Matcher isChecksumConfig_Checksum_Matcher `protobuf_oneof:"matcher"` // A hex-encoded sha256 string required to match the sha256sum of the response body // of the path specified in the “path_matcher“ field. Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"` } func (x *ChecksumConfig_Checksum) Reset() { *x = ChecksumConfig_Checksum{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChecksumConfig_Checksum) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChecksumConfig_Checksum) ProtoMessage() {} func (x *ChecksumConfig_Checksum) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChecksumConfig_Checksum.ProtoReflect.Descriptor instead. func (*ChecksumConfig_Checksum) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescGZIP(), []int{0, 0} } func (m *ChecksumConfig_Checksum) GetMatcher() isChecksumConfig_Checksum_Matcher { if m != nil { return m.Matcher } return nil } func (x *ChecksumConfig_Checksum) GetPathMatcher() *v3.StringMatcher { if x, ok := x.GetMatcher().(*ChecksumConfig_Checksum_PathMatcher); ok { return x.PathMatcher } return nil } func (x *ChecksumConfig_Checksum) GetSha256() string { if x != nil { return x.Sha256 } return "" } type isChecksumConfig_Checksum_Matcher interface { isChecksumConfig_Checksum_Matcher() } type ChecksumConfig_Checksum_PathMatcher struct { // A matcher for a path that is expected to have a specific checksum, as specified // in the “sha256“ field. PathMatcher *v3.StringMatcher `protobuf:"bytes,1,opt,name=path_matcher,json=pathMatcher,proto3,oneof"` } func (*ChecksumConfig_Checksum_PathMatcher) isChecksumConfig_Checksum_Matcher() {} var File_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDesc = []byte{ 0x0a, 0x45, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x02, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x1a, 0x9b, 0x01, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x72, 0x12, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x36, 0x34, 0x7d, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescData = file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_goTypes = []interface{}{ (*ChecksumConfig)(nil), // 0: envoy.extensions.filters.http.checksum.v3alpha.ChecksumConfig (*ChecksumConfig_Checksum)(nil), // 1: envoy.extensions.filters.http.checksum.v3alpha.ChecksumConfig.Checksum (*v3.StringMatcher)(nil), // 2: envoy.type.matcher.v3.StringMatcher } var file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.checksum.v3alpha.ChecksumConfig.checksums:type_name -> envoy.extensions.filters.http.checksum.v3alpha.ChecksumConfig.Checksum 2, // 1: envoy.extensions.filters.http.checksum.v3alpha.ChecksumConfig.Checksum.path_matcher:type_name -> envoy.type.matcher.v3.StringMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_init() } func file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_init() { if File_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChecksumConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChecksumConfig_Checksum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ChecksumConfig_Checksum_PathMatcher)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto = out.File file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_checksum_v3alpha_checksum_proto_depIdxs = nil } checksum.pb.validate.go000077500000000000000000000216631454502223200340140ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/checksum/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/checksum/v3alpha/checksum.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ChecksumConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ChecksumConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ChecksumConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ChecksumConfigMultiError, // or nil if none found. func (m *ChecksumConfig) ValidateAll() error { return m.validate(true) } func (m *ChecksumConfig) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetChecksums() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ChecksumConfigValidationError{ field: fmt.Sprintf("Checksums[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ChecksumConfigValidationError{ field: fmt.Sprintf("Checksums[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ChecksumConfigValidationError{ field: fmt.Sprintf("Checksums[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for RejectUnmatched if len(errors) > 0 { return ChecksumConfigMultiError(errors) } return nil } // ChecksumConfigMultiError is an error wrapping multiple validation errors // returned by ChecksumConfig.ValidateAll() if the designated constraints // aren't met. type ChecksumConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ChecksumConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ChecksumConfigMultiError) AllErrors() []error { return m } // ChecksumConfigValidationError is the validation error returned by // ChecksumConfig.Validate if the designated constraints aren't met. type ChecksumConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ChecksumConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ChecksumConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ChecksumConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ChecksumConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ChecksumConfigValidationError) ErrorName() string { return "ChecksumConfigValidationError" } // Error satisfies the builtin error interface func (e ChecksumConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sChecksumConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ChecksumConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ChecksumConfigValidationError{} // Validate checks the field values on ChecksumConfig_Checksum with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ChecksumConfig_Checksum) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ChecksumConfig_Checksum with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ChecksumConfig_ChecksumMultiError, or nil if none found. func (m *ChecksumConfig_Checksum) ValidateAll() error { return m.validate(true) } func (m *ChecksumConfig_Checksum) validate(all bool) error { if m == nil { return nil } var errors []error if !_ChecksumConfig_Checksum_Sha256_Pattern.MatchString(m.GetSha256()) { err := ChecksumConfig_ChecksumValidationError{ field: "Sha256", reason: "value does not match regex pattern \"^[a-fA-F0-9]{64}\"", } if !all { return err } errors = append(errors, err) } switch v := m.Matcher.(type) { case *ChecksumConfig_Checksum_PathMatcher: if v == nil { err := ChecksumConfig_ChecksumValidationError{ field: "Matcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetPathMatcher() == nil { err := ChecksumConfig_ChecksumValidationError{ field: "PathMatcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPathMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ChecksumConfig_ChecksumValidationError{ field: "PathMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ChecksumConfig_ChecksumValidationError{ field: "PathMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPathMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ChecksumConfig_ChecksumValidationError{ field: "PathMatcher", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ChecksumConfig_ChecksumMultiError(errors) } return nil } // ChecksumConfig_ChecksumMultiError is an error wrapping multiple validation // errors returned by ChecksumConfig_Checksum.ValidateAll() if the designated // constraints aren't met. type ChecksumConfig_ChecksumMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ChecksumConfig_ChecksumMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ChecksumConfig_ChecksumMultiError) AllErrors() []error { return m } // ChecksumConfig_ChecksumValidationError is the validation error returned by // ChecksumConfig_Checksum.Validate if the designated constraints aren't met. type ChecksumConfig_ChecksumValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ChecksumConfig_ChecksumValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ChecksumConfig_ChecksumValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ChecksumConfig_ChecksumValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ChecksumConfig_ChecksumValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ChecksumConfig_ChecksumValidationError) ErrorName() string { return "ChecksumConfig_ChecksumValidationError" } // Error satisfies the builtin error interface func (e ChecksumConfig_ChecksumValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sChecksumConfig_Checksum.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ChecksumConfig_ChecksumValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ChecksumConfig_ChecksumValidationError{} var _ChecksumConfig_Checksum_Sha256_Pattern = regexp.MustCompile("^[a-fA-F0-9]{64}") go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/dynamo/000077500000000000000000000000001454502223200256665ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/dynamo/v3/000077500000000000000000000000001454502223200262165ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/dynamo/v3/dynamo.pb.go000077500000000000000000000162361454502223200304470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/dynamo/v3/dynamo.proto package dynamov3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Dynamo filter config. type Dynamo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Dynamo) Reset() { *x = Dynamo{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dynamo) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dynamo) ProtoMessage() {} func (x *Dynamo) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dynamo.ProtoReflect.Descriptor instead. func (*Dynamo) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x06, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x42, 0xaf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescData = file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_goTypes = []interface{}{ (*Dynamo)(nil), // 0: envoy.extensions.filters.http.dynamo.v3.Dynamo } var file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_init() } func file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_init() { if File_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dynamo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto = out.File file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_dynamo_v3_dynamo_proto_depIdxs = nil } go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/dynamo/v3/dynamo.pb.validate.go000077500000000000000000000060711454502223200322330ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/dynamo/v3/dynamo.proto package dynamov3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Dynamo with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Dynamo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Dynamo with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in DynamoMultiError, or nil if none found. func (m *Dynamo) ValidateAll() error { return m.validate(true) } func (m *Dynamo) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DynamoMultiError(errors) } return nil } // DynamoMultiError is an error wrapping multiple validation errors returned by // Dynamo.ValidateAll() if the designated constraints aren't met. type DynamoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamoMultiError) AllErrors() []error { return m } // DynamoValidationError is the validation error returned by Dynamo.Validate if // the designated constraints aren't met. type DynamoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamoValidationError) ErrorName() string { return "DynamoValidationError" } // Error satisfies the builtin error interface func (e DynamoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamo.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamoValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/golang/000077500000000000000000000000001454502223200256465ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/golang/v3alpha/000077500000000000000000000000001454502223200272045ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.go000077500000000000000000000552501454502223200314140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The meanings are as follows: // // :“MERGE_VIRTUALHOST_ROUTER_FILTER“: Pass all configuration into Go plugin. // :“MERGE_VIRTUALHOST_ROUTER“: Pass merged Virtual host and Router configuration into Go plugin. // :“OVERRIDE“: Pass merged Virtual host, Router, and plugin configuration into Go plugin. // // [#not-implemented-hide:] type Config_MergePolicy int32 const ( Config_MERGE_VIRTUALHOST_ROUTER_FILTER Config_MergePolicy = 0 Config_MERGE_VIRTUALHOST_ROUTER Config_MergePolicy = 1 Config_OVERRIDE Config_MergePolicy = 3 ) // Enum value maps for Config_MergePolicy. var ( Config_MergePolicy_name = map[int32]string{ 0: "MERGE_VIRTUALHOST_ROUTER_FILTER", 1: "MERGE_VIRTUALHOST_ROUTER", 3: "OVERRIDE", } Config_MergePolicy_value = map[string]int32{ "MERGE_VIRTUALHOST_ROUTER_FILTER": 0, "MERGE_VIRTUALHOST_ROUTER": 1, "OVERRIDE": 3, } ) func (x Config_MergePolicy) Enum() *Config_MergePolicy { p := new(Config_MergePolicy) *p = x return p } func (x Config_MergePolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_MergePolicy) Descriptor() protoreflect.EnumDescriptor { return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes[0].Descriptor() } func (Config_MergePolicy) Type() protoreflect.EnumType { return &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes[0] } func (x Config_MergePolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_MergePolicy.Descriptor instead. func (Config_MergePolicy) EnumDescriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 6] type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Globally unique ID for a dynamic library file. LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty"` // Path to a dynamic library implementing the // :repo:`StreamFilter API ` // interface. // [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.] LibraryPath string `protobuf:"bytes,2,opt,name=library_path,json=libraryPath,proto3" json:"library_path,omitempty"` // Globally unique name of the Go plugin. // // This name **must** be consistent with the name registered in “http::RegisterHttpFilterConfigFactory“, // and can be used to associate :ref:`route and virtualHost plugin configuration // `. PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` // Configuration for the Go plugin. // // .. note:: // // This configuration is only parsed in the go plugin, and is therefore not validated // by Envoy. // // See the :repo:`StreamFilter API ` // for more information about how the plugin's configuration data can be accessed. PluginConfig *any1.Any `protobuf:"bytes,4,opt,name=plugin_config,json=pluginConfig,proto3" json:"plugin_config,omitempty"` // Merge policy for plugin configuration. // // The Go plugin configuration supports three dimensions: // // * Virtual host’s :ref:`typed_per_filter_config ` // * Route’s :ref:`typed_per_filter_config ` // * The filter's :ref:`plugin_config ` // // [#not-implemented-hide:] MergePolicy Config_MergePolicy `protobuf:"varint,5,opt,name=merge_policy,json=mergePolicy,proto3,enum=envoy.extensions.filters.http.golang.v3alpha.Config_MergePolicy" json:"merge_policy,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0} } func (x *Config) GetLibraryId() string { if x != nil { return x.LibraryId } return "" } func (x *Config) GetLibraryPath() string { if x != nil { return x.LibraryPath } return "" } func (x *Config) GetPluginName() string { if x != nil { return x.PluginName } return "" } func (x *Config) GetPluginConfig() *any1.Any { if x != nil { return x.PluginConfig } return nil } func (x *Config) GetMergePolicy() Config_MergePolicy { if x != nil { return x.MergePolicy } return Config_MERGE_VIRTUALHOST_ROUTER_FILTER } type RouterPlugin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *RouterPlugin_Disabled // *RouterPlugin_Config Override isRouterPlugin_Override `protobuf_oneof:"override"` } func (x *RouterPlugin) Reset() { *x = RouterPlugin{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouterPlugin) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouterPlugin) ProtoMessage() {} func (x *RouterPlugin) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouterPlugin.ProtoReflect.Descriptor instead. func (*RouterPlugin) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{1} } func (m *RouterPlugin) GetOverride() isRouterPlugin_Override { if m != nil { return m.Override } return nil } func (x *RouterPlugin) GetDisabled() bool { if x, ok := x.GetOverride().(*RouterPlugin_Disabled); ok { return x.Disabled } return false } func (x *RouterPlugin) GetConfig() *any1.Any { if x, ok := x.GetOverride().(*RouterPlugin_Config); ok { return x.Config } return nil } type isRouterPlugin_Override interface { isRouterPlugin_Override() } type RouterPlugin_Disabled struct { // [#not-implemented-hide:] // Disable the filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type RouterPlugin_Config struct { // The config field is used for setting per-route and per-virtualhost plugin config. Config *any1.Any `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } func (*RouterPlugin_Disabled) isRouterPlugin_Override() {} func (*RouterPlugin_Config) isRouterPlugin_Override() {} type ConfigsPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration of the Go plugin at the per-router or per-virtualhost level, // keyed on the :ref:`plugin_name ` // of the Go plugin. PluginsConfig map[string]*RouterPlugin `protobuf:"bytes,1,rep,name=plugins_config,json=pluginsConfig,proto3" json:"plugins_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ConfigsPerRoute) Reset() { *x = ConfigsPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigsPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigsPerRoute) ProtoMessage() {} func (x *ConfigsPerRoute) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigsPerRoute.ProtoReflect.Descriptor instead. func (*ConfigsPerRoute) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{2} } func (x *ConfigsPerRoute) GetPluginsConfig() map[string]*RouterPlugin { if x != nil { return x.PluginsConfig } return nil } var File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc = []byte{ 0x0a, 0x41, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0c, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5e, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x03, 0x22, 0x76, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x7c, 0x0a, 0x12, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xb8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x47, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData = file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes = []interface{}{ (Config_MergePolicy)(0), // 0: envoy.extensions.filters.http.golang.v3alpha.Config.MergePolicy (*Config)(nil), // 1: envoy.extensions.filters.http.golang.v3alpha.Config (*RouterPlugin)(nil), // 2: envoy.extensions.filters.http.golang.v3alpha.RouterPlugin (*ConfigsPerRoute)(nil), // 3: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute nil, // 4: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry (*any1.Any)(nil), // 5: google.protobuf.Any } var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs = []int32{ 5, // 0: envoy.extensions.filters.http.golang.v3alpha.Config.plugin_config:type_name -> google.protobuf.Any 0, // 1: envoy.extensions.filters.http.golang.v3alpha.Config.merge_policy:type_name -> envoy.extensions.filters.http.golang.v3alpha.Config.MergePolicy 5, // 2: envoy.extensions.filters.http.golang.v3alpha.RouterPlugin.config:type_name -> google.protobuf.Any 4, // 3: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.plugins_config:type_name -> envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry 2, // 4: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry.value:type_name -> envoy.extensions.filters.http.golang.v3alpha.RouterPlugin 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_init() } func file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_init() { if File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterPlugin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigsPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1].OneofWrappers = []interface{}{ (*RouterPlugin_Disabled)(nil), (*RouterPlugin_Config)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs, EnumInfos: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes, MessageInfos: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto = out.File file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs = nil } go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.validate.go000077500000000000000000000323451454502223200332040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetLibraryId()) < 1 { err := ConfigValidationError{ field: "LibraryId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetLibraryPath()) < 1 { err := ConfigValidationError{ field: "LibraryPath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetPluginName()) < 1 { err := ConfigValidationError{ field: "PluginName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPluginConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPluginConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, } } } if _, ok := Config_MergePolicy_name[int32(m.GetMergePolicy())]; !ok { err := ConfigValidationError{ field: "MergePolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} // Validate checks the field values on RouterPlugin with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouterPlugin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouterPlugin with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouterPluginMultiError, or // nil if none found. func (m *RouterPlugin) ValidateAll() error { return m.validate(true) } func (m *RouterPlugin) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *RouterPlugin_Disabled: if v == nil { err := RouterPluginValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := RouterPluginValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *RouterPlugin_Config: if v == nil { err := RouterPluginValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := RouterPluginValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouterPluginMultiError(errors) } return nil } // RouterPluginMultiError is an error wrapping multiple validation errors // returned by RouterPlugin.ValidateAll() if the designated constraints aren't met. type RouterPluginMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterPluginMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterPluginMultiError) AllErrors() []error { return m } // RouterPluginValidationError is the validation error returned by // RouterPlugin.Validate if the designated constraints aren't met. type RouterPluginValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterPluginValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterPluginValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterPluginValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterPluginValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterPluginValidationError) ErrorName() string { return "RouterPluginValidationError" } // Error satisfies the builtin error interface func (e RouterPluginValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouterPlugin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterPluginValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterPluginValidationError{} // Validate checks the field values on ConfigsPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ConfigsPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConfigsPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConfigsPerRouteMultiError, or nil if none found. func (m *ConfigsPerRoute) ValidateAll() error { return m.validate(true) } func (m *ConfigsPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetPluginsConfig())) i := 0 for key := range m.GetPluginsConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPluginsConfig()[key] _ = val // no validation rules for PluginsConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigsPerRouteValidationError{ field: fmt.Sprintf("PluginsConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigsPerRouteValidationError{ field: fmt.Sprintf("PluginsConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigsPerRouteValidationError{ field: fmt.Sprintf("PluginsConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return ConfigsPerRouteMultiError(errors) } return nil } // ConfigsPerRouteMultiError is an error wrapping multiple validation errors // returned by ConfigsPerRoute.ValidateAll() if the designated constraints // aren't met. type ConfigsPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigsPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigsPerRouteMultiError) AllErrors() []error { return m } // ConfigsPerRouteValidationError is the validation error returned by // ConfigsPerRoute.Validate if the designated constraints aren't met. type ConfigsPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigsPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigsPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigsPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigsPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigsPerRouteValidationError) ErrorName() string { return "ConfigsPerRouteValidationError" } // Error satisfies the builtin error interface func (e ConfigsPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfigsPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigsPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigsPerRouteValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/language/000077500000000000000000000000001454502223200261625ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/language/v3alpha/000077500000000000000000000000001454502223200275205ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/language/v3alpha/language.pb.go000077500000000000000000000232361454502223200322430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/language/v3alpha/language.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Language detection filter config. type Language struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The default language to be used as a fallback. // The value will be included in the list of the supported languages. // // See https://unicode-org.github.io/icu/userguide/locale/ DefaultLanguage string `protobuf:"bytes,1,opt,name=default_language,json=defaultLanguage,proto3" json:"default_language,omitempty"` // The set of supported languages. There is no order priority. // The order will be determined by the Accept-Language header priority list // of the client. // // See https://unicode-org.github.io/icu/userguide/locale/ SupportedLanguages []string `protobuf:"bytes,2,rep,name=supported_languages,json=supportedLanguages,proto3" json:"supported_languages,omitempty"` // If the x-language header is altered, clear the route cache for the current request. // This should be set if the route configuration may depend on the x-language header. // Otherwise it should be unset to avoid the performance cost of route recalculation. ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` } func (x *Language) Reset() { *x = Language{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Language) String() string { return protoimpl.X.MessageStringOf(x) } func (*Language) ProtoMessage() {} func (x *Language) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Language.ProtoReflect.Descriptor instead. func (*Language) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescGZIP(), []int{0} } func (x *Language) GetDefaultLanguage() string { if x != nil { return x.DefaultLanguage } return "" } func (x *Language) GetSupportedLanguages() []string { if x != nil { return x.SupportedLanguages } return nil } func (x *Language) GetClearRouteCache() bool { if x != nil { return x.ClearRouteCache } return false } var File_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDesc = []byte{ 0x0a, 0x45, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x08, 0x01, 0x18, 0x01, 0x22, 0x04, 0x72, 0x02, 0x10, 0x02, 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x42, 0xb6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescData = file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_goTypes = []interface{}{ (*Language)(nil), // 0: envoy.extensions.filters.http.language.v3alpha.Language } var file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_init() } func file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_init() { if File_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Language); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto = out.File file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_language_v3alpha_language_proto_depIdxs = nil } language.pb.validate.go000077500000000000000000000106251454502223200337520ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/language/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/language/v3alpha/language.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Language with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Language) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Language with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LanguageMultiError, or nil // if none found. func (m *Language) ValidateAll() error { return m.validate(true) } func (m *Language) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDefaultLanguage()) < 2 { err := LanguageValidationError{ field: "DefaultLanguage", reason: "value length must be at least 2 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetSupportedLanguages()) < 1 { err := LanguageValidationError{ field: "SupportedLanguages", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } _Language_SupportedLanguages_Unique := make(map[string]struct{}, len(m.GetSupportedLanguages())) for idx, item := range m.GetSupportedLanguages() { _, _ = idx, item if _, exists := _Language_SupportedLanguages_Unique[item]; exists { err := LanguageValidationError{ field: fmt.Sprintf("SupportedLanguages[%v]", idx), reason: "repeated value must contain unique items", } if !all { return err } errors = append(errors, err) } else { _Language_SupportedLanguages_Unique[item] = struct{}{} } if utf8.RuneCountInString(item) < 2 { err := LanguageValidationError{ field: fmt.Sprintf("SupportedLanguages[%v]", idx), reason: "value length must be at least 2 runes", } if !all { return err } errors = append(errors, err) } } // no validation rules for ClearRouteCache if len(errors) > 0 { return LanguageMultiError(errors) } return nil } // LanguageMultiError is an error wrapping multiple validation errors returned // by Language.ValidateAll() if the designated constraints aren't met. type LanguageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LanguageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LanguageMultiError) AllErrors() []error { return m } // LanguageValidationError is the validation error returned by // Language.Validate if the designated constraints aren't met. type LanguageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LanguageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LanguageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LanguageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LanguageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LanguageValidationError) ErrorName() string { return "LanguageValidationError" } // Error satisfies the builtin error interface func (e LanguageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLanguage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LanguageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LanguageValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/squash/000077500000000000000000000000001454502223200257035ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/squash/v3/000077500000000000000000000000001454502223200262335ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/squash/v3/squash.pb.go000077500000000000000000000313761454502223200305030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/squash/v3/squash.proto package squashv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type Squash struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cluster that hosts the Squash server. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // When the filter requests the Squash server to create a DebugAttachment, it will use this // structure as template for the body of the request. It can contain reference to environment // variables in the form of '{{ ENV_VAR_NAME }}'. These can be used to provide the Squash server // with more information to find the process to attach the debugger to. For example, in a // Istio/k8s environment, this will contain information on the pod: // // .. code-block:: json // // { // "spec": { // "attachment": { // "pod": "{{ POD_NAME }}", // "namespace": "{{ POD_NAMESPACE }}" // }, // "match_request": true // } // } // // (where POD_NAME, POD_NAMESPACE are configured in the pod via the Downward API) AttachmentTemplate *_struct.Struct `protobuf:"bytes,2,opt,name=attachment_template,json=attachmentTemplate,proto3" json:"attachment_template,omitempty"` // The timeout for individual requests sent to the Squash cluster. Defaults to 1 second. RequestTimeout *duration.Duration `protobuf:"bytes,3,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // The total timeout Squash will delay a request and wait for it to be attached. Defaults to 60 // seconds. AttachmentTimeout *duration.Duration `protobuf:"bytes,4,opt,name=attachment_timeout,json=attachmentTimeout,proto3" json:"attachment_timeout,omitempty"` // Amount of time to poll for the status of the attachment object in the Squash server // (to check if has been attached). Defaults to 1 second. AttachmentPollPeriod *duration.Duration `protobuf:"bytes,5,opt,name=attachment_poll_period,json=attachmentPollPeriod,proto3" json:"attachment_poll_period,omitempty"` } func (x *Squash) Reset() { *x = Squash{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Squash) String() string { return protoimpl.X.MessageStringOf(x) } func (*Squash) ProtoMessage() {} func (x *Squash) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Squash.ProtoReflect.Descriptor instead. func (*Squash) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescGZIP(), []int{0} } func (x *Squash) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *Squash) GetAttachmentTemplate() *_struct.Struct { if x != nil { return x.AttachmentTemplate } return nil } func (x *Squash) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *Squash) GetAttachmentTimeout() *duration.Duration { if x != nil { return x.AttachmentTimeout } return nil } func (x *Squash) GetAttachmentPollPeriod() *duration.Duration { if x != nil { return x.AttachmentPollPeriod } return nil } var File_contrib_envoy_extensions_filters_http_squash_v3_squash_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x03, 0x0a, 0x06, 0x53, 0x71, 0x75, 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x71, 0x75, 0x61, 0x73, 0x68, 0x42, 0xaf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x71, 0x75, 0x61, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescData = file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_goTypes = []interface{}{ (*Squash)(nil), // 0: envoy.extensions.filters.http.squash.v3.Squash (*_struct.Struct)(nil), // 1: google.protobuf.Struct (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.squash.v3.Squash.attachment_template:type_name -> google.protobuf.Struct 2, // 1: envoy.extensions.filters.http.squash.v3.Squash.request_timeout:type_name -> google.protobuf.Duration 2, // 2: envoy.extensions.filters.http.squash.v3.Squash.attachment_timeout:type_name -> google.protobuf.Duration 2, // 3: envoy.extensions.filters.http.squash.v3.Squash.attachment_poll_period:type_name -> google.protobuf.Duration 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_init() } func file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_init() { if File_contrib_envoy_extensions_filters_http_squash_v3_squash_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Squash); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_squash_v3_squash_proto = out.File file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_squash_v3_squash_proto_depIdxs = nil } go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/squash/v3/squash.pb.validate.go000077500000000000000000000151461454502223200322700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/squash/v3/squash.proto package squashv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Squash with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Squash) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Squash with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SquashMultiError, or nil if none found. func (m *Squash) ValidateAll() error { return m.validate(true) } func (m *Squash) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := SquashValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAttachmentTemplate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentTemplate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAttachmentTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAttachmentPollPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentPollPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SquashMultiError(errors) } return nil } // SquashMultiError is an error wrapping multiple validation errors returned by // Squash.ValidateAll() if the designated constraints aren't met. type SquashMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SquashMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SquashMultiError) AllErrors() []error { return m } // SquashValidationError is the validation error returned by Squash.Validate if // the designated constraints aren't met. type SquashValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SquashValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SquashValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SquashValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SquashValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SquashValidationError) ErrorName() string { return "SquashValidationError" } // Error satisfies the builtin error interface func (e SquashValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSquash.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SquashValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SquashValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/sxg/000077500000000000000000000000001454502223200252005ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/sxg/v3alpha/000077500000000000000000000000001454502223200265365ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/sxg/v3alpha/sxg.pb.go000077500000000000000000000366621454502223200303060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/http/sxg/v3alpha/sxg.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 10] type SXG struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The SDS configuration for the public key data for the SSL certificate that will be used to sign the // SXG response. Certificate *v3.SdsSecretConfig `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"` // The SDS configuration for the private key data for the SSL certificate that will be used to sign the // SXG response. PrivateKey *v3.SdsSecretConfig `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // The duration for which the generated SXG package will be valid. Default is 604800s (7 days in seconds). // Note that in order to account for clock skew, the timestamp will be backdated by a day. So, if duration // is set to 7 days, that will be 7 days from 24 hours ago (6 days from now). Also note that while 6/7 days // is appropriate for most content, if the downstream service is serving Javascript, or HTML with inline // Javascript, 1 day (so, with backdated expiry, 2 days, or 172800 seconds) is more appropriate. Duration *duration.Duration `protobuf:"bytes,3,opt,name=duration,proto3" json:"duration,omitempty"` // The SXG response payload is Merkle Integrity Content Encoding (MICE) encoded (specification is [here](https://datatracker.ietf.org/doc/html/draft-thomson-http-mice-03)) // This value indicates the record size in the encoded payload. The default value is 4096. MiRecordSize uint64 `protobuf:"varint,4,opt,name=mi_record_size,json=miRecordSize,proto3" json:"mi_record_size,omitempty"` // The URI of certificate CBOR file published. Since it is required that the certificate CBOR file // be served from the same domain as the SXG document, this should be a relative URI. CborUrl string `protobuf:"bytes,5,opt,name=cbor_url,json=cborUrl,proto3" json:"cbor_url,omitempty"` // URL to retrieve validity data for signature, a CBOR map. See specification [here](https://tools.ietf.org/html/draft-yasskin-httpbis-origin-signed-exchanges-impl-00#section-3.6) ValidityUrl string `protobuf:"bytes,6,opt,name=validity_url,json=validityUrl,proto3" json:"validity_url,omitempty"` // Header that will be set if it is determined that the client can accept SXG (typically “accept: application/signed-exchange;v=b3“) // If not set, filter will default to: “x-client-can-accept-sxg“ ClientCanAcceptSxgHeader string `protobuf:"bytes,7,opt,name=client_can_accept_sxg_header,json=clientCanAcceptSxgHeader,proto3" json:"client_can_accept_sxg_header,omitempty"` // Header set by downstream service to signal that the response should be transformed to SXG If not set, // filter will default to: “x-should-encode-sxg“ ShouldEncodeSxgHeader string `protobuf:"bytes,8,opt,name=should_encode_sxg_header,json=shouldEncodeSxgHeader,proto3" json:"should_encode_sxg_header,omitempty"` // Headers that will be stripped from the SXG document, by listing a prefix (i.e. “x-custom-“ will cause // all headers prefixed by “x-custom-“ to be omitted from the SXG document) HeaderPrefixFilters []string `protobuf:"bytes,9,rep,name=header_prefix_filters,json=headerPrefixFilters,proto3" json:"header_prefix_filters,omitempty"` } func (x *SXG) Reset() { *x = SXG{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SXG) String() string { return protoimpl.X.MessageStringOf(x) } func (*SXG) ProtoMessage() {} func (x *SXG) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SXG.ProtoReflect.Descriptor instead. func (*SXG) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescGZIP(), []int{0} } func (x *SXG) GetCertificate() *v3.SdsSecretConfig { if x != nil { return x.Certificate } return nil } func (x *SXG) GetPrivateKey() *v3.SdsSecretConfig { if x != nil { return x.PrivateKey } return nil } func (x *SXG) GetDuration() *duration.Duration { if x != nil { return x.Duration } return nil } func (x *SXG) GetMiRecordSize() uint64 { if x != nil { return x.MiRecordSize } return 0 } func (x *SXG) GetCborUrl() string { if x != nil { return x.CborUrl } return "" } func (x *SXG) GetValidityUrl() string { if x != nil { return x.ValidityUrl } return "" } func (x *SXG) GetClientCanAcceptSxgHeader() string { if x != nil { return x.ClientCanAcceptSxgHeader } return "" } func (x *SXG) GetShouldEncodeSxgHeader() string { if x != nil { return x.ShouldEncodeSxgHeader } return "" } func (x *SXG) GetHeaderPrefixFilters() []string { if x != nil { return x.HeaderPrefixFilters } return nil } var File_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x78, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x78, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x78, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x04, 0x0a, 0x03, 0x53, 0x58, 0x47, 0x12, 0x5c, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x63, 0x62, 0x6f, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x3a, 0x01, 0x2f, 0x52, 0x07, 0x63, 0x62, 0x6f, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x2d, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x3a, 0x01, 0x2f, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x73, 0x78, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0xc8, 0x01, 0x00, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x53, 0x78, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x18, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x78, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0xc8, 0x01, 0x00, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x15, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x78, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x78, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x53, 0x78, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x78, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescData = file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDesc ) func file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDescData } var file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_goTypes = []interface{}{ (*SXG)(nil), // 0: envoy.extensions.filters.http.sxg.v3alpha.SXG (*v3.SdsSecretConfig)(nil), // 1: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.sxg.v3alpha.SXG.certificate:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 1, // 1: envoy.extensions.filters.http.sxg.v3alpha.SXG.private_key:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 2, // 2: envoy.extensions.filters.http.sxg.v3alpha.SXG.duration:type_name -> google.protobuf.Duration 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_init() } func file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_init() { if File_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SXG); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto = out.File file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_rawDesc = nil file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_goTypes = nil file_contrib_envoy_extensions_filters_http_sxg_v3alpha_sxg_proto_depIdxs = nil } go-control-plane-0.12.0/contrib/envoy/extensions/filters/http/sxg/v3alpha/sxg.pb.validate.go000077500000000000000000000170251454502223200320660ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/http/sxg/v3alpha/sxg.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SXG with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *SXG) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SXG with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SXGMultiError, or nil if none found. func (m *SXG) ValidateAll() error { return m.validate(true) } func (m *SXG) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCertificate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SXGValidationError{ field: "Certificate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SXGValidationError{ field: "Certificate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCertificate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SXGValidationError{ field: "Certificate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SXGValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SXGValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SXGValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SXGValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SXGValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SXGValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MiRecordSize if utf8.RuneCountInString(m.GetCborUrl()) < 1 { err := SXGValidationError{ field: "CborUrl", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !strings.HasPrefix(m.GetCborUrl(), "/") { err := SXGValidationError{ field: "CborUrl", reason: "value does not have prefix \"/\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetValidityUrl()) < 1 { err := SXGValidationError{ field: "ValidityUrl", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !strings.HasPrefix(m.GetValidityUrl(), "/") { err := SXGValidationError{ field: "ValidityUrl", reason: "value does not have prefix \"/\"", } if !all { return err } errors = append(errors, err) } if m.GetClientCanAcceptSxgHeader() != "" { if !_SXG_ClientCanAcceptSxgHeader_Pattern.MatchString(m.GetClientCanAcceptSxgHeader()) { err := SXGValidationError{ field: "ClientCanAcceptSxgHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if m.GetShouldEncodeSxgHeader() != "" { if !_SXG_ShouldEncodeSxgHeader_Pattern.MatchString(m.GetShouldEncodeSxgHeader()) { err := SXGValidationError{ field: "ShouldEncodeSxgHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetHeaderPrefixFilters() { _, _ = idx, item if !_SXG_HeaderPrefixFilters_Pattern.MatchString(item) { err := SXGValidationError{ field: fmt.Sprintf("HeaderPrefixFilters[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return SXGMultiError(errors) } return nil } // SXGMultiError is an error wrapping multiple validation errors returned by // SXG.ValidateAll() if the designated constraints aren't met. type SXGMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SXGMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SXGMultiError) AllErrors() []error { return m } // SXGValidationError is the validation error returned by SXG.Validate if the // designated constraints aren't met. type SXGValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SXGValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SXGValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SXGValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SXGValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SXGValidationError) ErrorName() string { return "SXGValidationError" } // Error satisfies the builtin error interface func (e SXGValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSXG.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SXGValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SXGValidationError{} var _SXG_ClientCanAcceptSxgHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _SXG_ShouldEncodeSxgHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _SXG_HeaderPrefixFilters_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/000077500000000000000000000000001454502223200251115ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/client_ssl_auth/000077500000000000000000000000001454502223200302715ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/client_ssl_auth/v3/000077500000000000000000000000001454502223200306215ustar00rootroot00000000000000client_ssl_auth.pb.go000077500000000000000000000316761454502223200346710ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/client_ssl_auth/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/client_ssl_auth/v3/client_ssl_auth.proto package client_ssl_authv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ClientSSLAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`cluster manager ` cluster that runs // the authentication service. The filter will connect to the service every 60s to fetch the list // of principals. The service must support the expected :ref:`REST API // `. AuthApiCluster string `protobuf:"bytes,1,opt,name=auth_api_cluster,json=authApiCluster,proto3" json:"auth_api_cluster,omitempty"` // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Time in milliseconds between principal refreshes from the // authentication service. Default is 60000 (60s). The actual fetch time // will be this value plus a random jittered value between // 0-refresh_delay_ms milliseconds. RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"` // An optional list of IP address and subnet masks that should be white // listed for access by the filter. If no list is provided, there is no // IP allowlist. IpWhiteList []*v3.CidrRange `protobuf:"bytes,4,rep,name=ip_white_list,json=ipWhiteList,proto3" json:"ip_white_list,omitempty"` } func (x *ClientSSLAuth) Reset() { *x = ClientSSLAuth{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientSSLAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientSSLAuth) ProtoMessage() {} func (x *ClientSSLAuth) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientSSLAuth.ProtoReflect.Descriptor instead. func (*ClientSSLAuth) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescGZIP(), []int{0} } func (x *ClientSSLAuth) GetAuthApiCluster() string { if x != nil { return x.AuthApiCluster } return "" } func (x *ClientSSLAuth) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ClientSSLAuth) GetRefreshDelay() *duration.Duration { if x != nil { return x.RefreshDelay } return nil } func (x *ClientSSLAuth) GetIpWhiteList() []*v3.CidrRange { if x != nil { return x.IpWhiteList } return nil } var File_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDesc = []byte{ 0x0a, 0x51, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x41, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x41, 0x70, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x59, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0e, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x69, 0x70, 0x57, 0x68, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x41, 0x75, 0x74, 0x68, 0x42, 0xd7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x73, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x74, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescData = file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_goTypes = []interface{}{ (*ClientSSLAuth)(nil), // 0: envoy.extensions.filters.network.client_ssl_auth.v3.ClientSSLAuth (*duration.Duration)(nil), // 1: google.protobuf.Duration (*v3.CidrRange)(nil), // 2: envoy.config.core.v3.CidrRange } var file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.client_ssl_auth.v3.ClientSSLAuth.refresh_delay:type_name -> google.protobuf.Duration 2, // 1: envoy.extensions.filters.network.client_ssl_auth.v3.ClientSSLAuth.ip_white_list:type_name -> envoy.config.core.v3.CidrRange 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_init() } func file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_init() { if File_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientSSLAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto = out.File file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_client_ssl_auth_v3_client_ssl_auth_proto_depIdxs = nil } client_ssl_auth.pb.validate.go000077500000000000000000000135761454502223200364600ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/client_ssl_auth/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/client_ssl_auth/v3/client_ssl_auth.proto package client_ssl_authv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClientSSLAuth with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClientSSLAuth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientSSLAuth with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClientSSLAuthMultiError, or // nil if none found. func (m *ClientSSLAuth) ValidateAll() error { return m.validate(true) } func (m *ClientSSLAuth) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetAuthApiCluster()) < 1 { err := ClientSSLAuthValidationError{ field: "AuthApiCluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_ClientSSLAuth_AuthApiCluster_Pattern.MatchString(m.GetAuthApiCluster()) { err := ClientSSLAuthValidationError{ field: "AuthApiCluster", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := ClientSSLAuthValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRefreshDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetIpWhiteList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientSSLAuthMultiError(errors) } return nil } // ClientSSLAuthMultiError is an error wrapping multiple validation errors // returned by ClientSSLAuth.ValidateAll() if the designated constraints // aren't met. type ClientSSLAuthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientSSLAuthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientSSLAuthMultiError) AllErrors() []error { return m } // ClientSSLAuthValidationError is the validation error returned by // ClientSSLAuth.Validate if the designated constraints aren't met. type ClientSSLAuthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientSSLAuthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientSSLAuthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientSSLAuthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientSSLAuthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientSSLAuthValidationError) ErrorName() string { return "ClientSSLAuthValidationError" } // Error satisfies the builtin error interface func (e ClientSSLAuthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientSSLAuth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientSSLAuthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientSSLAuthValidationError{} var _ClientSSLAuth_AuthApiCluster_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/000077500000000000000000000000001454502223200277665ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/action/000077500000000000000000000000001454502223200312435ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/action/v3/000077500000000000000000000000001454502223200315735ustar00rootroot00000000000000action.pb.go000077500000000000000000000365071454502223200337360ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/action/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/action/v3/action.proto package actionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the route match action. // [#next-free-field: 6] type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route action. This should be unique across all route actions. Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_WeightedClusters ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // Route metadata. Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // Route level config for L7 generic filters. The key should be the related :ref:`extension name // ` in the :ref:`generic filters // `. PerFilterConfig map[string]*any1.Any `protobuf:"bytes,4,rep,name=per_filter_config,json=perFilterConfig,proto3" json:"per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescGZIP(), []int{0} } func (x *RouteAction) GetName() string { if x != nil { return x.Name } return "" } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetWeightedClusters() *v31.WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } func (x *RouteAction) GetPerFilterConfig() map[string]*any1.Any { if x != nil { return x.PerFilterConfig } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_WeightedClusters struct { // [#not-implemented-hide:] // Multiple upstream clusters can be specified for a given route. The request is routed to one // of the upstream clusters based on weights assigned to each cluster. // Currently ClusterWeight only supports the name and weight fields. WeightedClusters *v31.WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} var File_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x03, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x58, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xd9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_goTypes = []interface{}{ (*RouteAction)(nil), // 0: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction nil, // 1: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.PerFilterConfigEntry (*v31.WeightedCluster)(nil), // 2: envoy.config.route.v3.WeightedCluster (*v3.Metadata)(nil), // 3: envoy.config.core.v3.Metadata (*any1.Any)(nil), // 4: google.protobuf.Any } var file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.weighted_clusters:type_name -> envoy.config.route.v3.WeightedCluster 3, // 1: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.metadata:type_name -> envoy.config.core.v3.Metadata 1, // 2: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.per_filter_config:type_name -> envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.PerFilterConfigEntry 4, // 3: envoy.extensions.filters.network.generic_proxy.action.v3.RouteAction.PerFilterConfigEntry.value:type_name -> google.protobuf.Any 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_WeightedClusters)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_action_v3_action_proto_depIdxs = nil } action.pb.validate.go000077500000000000000000000161431454502223200355200ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/action/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/action/v3/action.proto package actionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetPerFilterConfig())) i := 0 for key := range m.GetPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPerFilterConfig()[key] _ = val // no validation rules for PerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for Cluster case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/000077500000000000000000000000001454502223200312265ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/000077500000000000000000000000001454502223200323215ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3/000077500000000000000000000000001454502223200326515ustar00rootroot00000000000000dubbo.pb.go000077500000000000000000000204051454502223200346200ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3/dubbo.proto package dubbov3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type DubboCodecConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DubboCodecConfig) Reset() { *x = DubboCodecConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DubboCodecConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DubboCodecConfig) ProtoMessage() {} func (x *DubboCodecConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DubboCodecConfig.ProtoReflect.Descriptor instead. func (*DubboCodecConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDesc = []byte{ 0x0a, 0x52, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_goTypes = []interface{}{ (*DubboCodecConfig)(nil), // 0: envoy.extensions.filters.network.generic_proxy.codecs.dubbo.v3.DubboCodecConfig } var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DubboCodecConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_dubbo_v3_dubbo_proto_depIdxs = nil } dubbo.pb.validate.go000077500000000000000000000065161454502223200364170ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3/dubbo.proto package dubbov3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DubboCodecConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DubboCodecConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DubboCodecConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DubboCodecConfigMultiError, or nil if none found. func (m *DubboCodecConfig) ValidateAll() error { return m.validate(true) } func (m *DubboCodecConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DubboCodecConfigMultiError(errors) } return nil } // DubboCodecConfigMultiError is an error wrapping multiple validation errors // returned by DubboCodecConfig.ValidateAll() if the designated constraints // aren't met. type DubboCodecConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DubboCodecConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DubboCodecConfigMultiError) AllErrors() []error { return m } // DubboCodecConfigValidationError is the validation error returned by // DubboCodecConfig.Validate if the designated constraints aren't met. type DubboCodecConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DubboCodecConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DubboCodecConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DubboCodecConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DubboCodecConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DubboCodecConfigValidationError) ErrorName() string { return "DubboCodecConfigValidationError" } // Error satisfies the builtin error interface func (e DubboCodecConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDubboCodecConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DubboCodecConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DubboCodecConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/000077500000000000000000000000001454502223200323035ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3/000077500000000000000000000000001454502223200326335ustar00rootroot00000000000000kafka.pb.go000077500000000000000000000222701454502223200345660ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3/kafka.proto package kafkav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for Kafka codec. This codec gives the generic proxy the ability to proxy // Kafka traffic. But note any route configuration for Kafka traffic is not supported yet. // The generic proxy can only used to generate logs or metrics for Kafka traffic but cannot // do matching or routing. // // .. note:: // // The codec can currently only be used in the sidecar mode. And to ensure the codec works // properly, please make sure the following conditions are met: // // 1. The generic proxy must be configured with a wildcard route that matches all traffic. // 2. The target cluster must be configured as a original destination cluster. // 3. The :ref:`bind_upstream_connection // ` // of generic proxy router must be set to true to ensure same upstream connection is used // for all traffic from same downstream connection. type KafkaCodecConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *KafkaCodecConfig) Reset() { *x = KafkaCodecConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KafkaCodecConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*KafkaCodecConfig) ProtoMessage() {} func (x *KafkaCodecConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KafkaCodecConfig.ProtoReflect.Descriptor instead. func (*KafkaCodecConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDesc = []byte{ 0x0a, 0x52, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_goTypes = []interface{}{ (*KafkaCodecConfig)(nil), // 0: envoy.extensions.filters.network.generic_proxy.codecs.kafka.v3.KafkaCodecConfig } var file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KafkaCodecConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_codecs_kafka_v3_kafka_proto_depIdxs = nil } kafka.pb.validate.go000077500000000000000000000065161454502223200363630ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3/kafka.proto package kafkav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KafkaCodecConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *KafkaCodecConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KafkaCodecConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // KafkaCodecConfigMultiError, or nil if none found. func (m *KafkaCodecConfig) ValidateAll() error { return m.validate(true) } func (m *KafkaCodecConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return KafkaCodecConfigMultiError(errors) } return nil } // KafkaCodecConfigMultiError is an error wrapping multiple validation errors // returned by KafkaCodecConfig.ValidateAll() if the designated constraints // aren't met. type KafkaCodecConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KafkaCodecConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KafkaCodecConfigMultiError) AllErrors() []error { return m } // KafkaCodecConfigValidationError is the validation error returned by // KafkaCodecConfig.Validate if the designated constraints aren't met. type KafkaCodecConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KafkaCodecConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KafkaCodecConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KafkaCodecConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KafkaCodecConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KafkaCodecConfigValidationError) ErrorName() string { return "KafkaCodecConfigValidationError" } // Error satisfies the builtin error interface func (e KafkaCodecConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKafkaCodecConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KafkaCodecConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KafkaCodecConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/matcher/000077500000000000000000000000001454502223200314115ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3/000077500000000000000000000000001454502223200317415ustar00rootroot00000000000000matcher.pb.go000077500000000000000000000662401454502223200342470ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3/matcher.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Used to match request service of the downstream request. Only applicable if a service provided // by the application protocol. // This is deprecated and should be replaced by HostMatchInput. This is kept for backward compatibility. type ServiceMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ServiceMatchInput) Reset() { *x = ServiceMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServiceMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceMatchInput) ProtoMessage() {} func (x *ServiceMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceMatchInput.ProtoReflect.Descriptor instead. func (*ServiceMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{0} } // Used to match request host of the generic downstream request. Only applicable if a host provided // by the application protocol. // This is same with the ServiceMatchInput and this should be preferred over ServiceMatchInput. type HostMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HostMatchInput) Reset() { *x = HostMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HostMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostMatchInput) ProtoMessage() {} func (x *HostMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HostMatchInput.ProtoReflect.Descriptor instead. func (*HostMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{1} } // Used to match request path of the generic downstream request. Only applicable if a path provided // by the application protocol. type PathMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PathMatchInput) Reset() { *x = PathMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathMatchInput) ProtoMessage() {} func (x *PathMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathMatchInput.ProtoReflect.Descriptor instead. func (*PathMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{2} } // Used to match request method of the generic downstream request. Only applicable if a method provided // by the application protocol. type MethodMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MethodMatchInput) Reset() { *x = MethodMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MethodMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*MethodMatchInput) ProtoMessage() {} func (x *MethodMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MethodMatchInput.ProtoReflect.Descriptor instead. func (*MethodMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{3} } // Used to match an arbitrary property of the generic downstream request. // These properties are populated by the codecs of application protocols. type PropertyMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The property name to match on. PropertyName string `protobuf:"bytes,1,opt,name=property_name,json=propertyName,proto3" json:"property_name,omitempty"` } func (x *PropertyMatchInput) Reset() { *x = PropertyMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PropertyMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*PropertyMatchInput) ProtoMessage() {} func (x *PropertyMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PropertyMatchInput.ProtoReflect.Descriptor instead. func (*PropertyMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{4} } func (x *PropertyMatchInput) GetPropertyName() string { if x != nil { return x.PropertyName } return "" } // Used to match an whole generic downstream request. type RequestMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RequestMatchInput) Reset() { *x = RequestMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestMatchInput) ProtoMessage() {} func (x *RequestMatchInput) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequestMatchInput.ProtoReflect.Descriptor instead. func (*RequestMatchInput) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{5} } // Used to match an arbitrary key-value pair for headers, trailers or properties. type KeyValueMatchEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key name to match on. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The key value pattern. StringMatch *v3.StringMatcher `protobuf:"bytes,2,opt,name=string_match,json=stringMatch,proto3" json:"string_match,omitempty"` } func (x *KeyValueMatchEntry) Reset() { *x = KeyValueMatchEntry{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyValueMatchEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyValueMatchEntry) ProtoMessage() {} func (x *KeyValueMatchEntry) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyValueMatchEntry.ProtoReflect.Descriptor instead. func (*KeyValueMatchEntry) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{6} } func (x *KeyValueMatchEntry) GetName() string { if x != nil { return x.Name } return "" } func (x *KeyValueMatchEntry) GetStringMatch() *v3.StringMatcher { if x != nil { return x.StringMatch } return nil } // Custom matcher to match on the generic downstream request. This is used to match // multiple fields of the downstream request and avoid complex combinations of // HostMatchInput, PathMatchInput, MethodMatchInput and PropertyMatchInput. type RequestMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional host pattern to match on. If not specified, any host will match. Host *v3.StringMatcher `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Optional path pattern to match on. If not specified, any path will match. Path *v3.StringMatcher `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // Optional method pattern to match on. If not specified, any method will match. Method *v3.StringMatcher `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // Optional arbitrary properties to match on. If not specified, any properties // will match. The key is the property name and the value is the property value // to match on. Properties []*KeyValueMatchEntry `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty"` } func (x *RequestMatcher) Reset() { *x = RequestMatcher{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestMatcher) ProtoMessage() {} func (x *RequestMatcher) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequestMatcher.ProtoReflect.Descriptor instead. func (*RequestMatcher) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP(), []int{7} } func (x *RequestMatcher) GetHost() *v3.StringMatcher { if x != nil { return x.Host } return nil } func (x *RequestMatcher) GetPath() *v3.StringMatcher { if x != nil { return x.Path } return nil } func (x *RequestMatcher) GetMethod() *v3.StringMatcher { if x != nil { return x.Method } return nil } func (x *RequestMatcher) GetProperties() []*KeyValueMatchEntry { if x != nil { return x.Properties } return nil } var File_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xb1, 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x6d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0xdd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x47, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_goTypes = []interface{}{ (*ServiceMatchInput)(nil), // 0: envoy.extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput (*HostMatchInput)(nil), // 1: envoy.extensions.filters.network.generic_proxy.matcher.v3.HostMatchInput (*PathMatchInput)(nil), // 2: envoy.extensions.filters.network.generic_proxy.matcher.v3.PathMatchInput (*MethodMatchInput)(nil), // 3: envoy.extensions.filters.network.generic_proxy.matcher.v3.MethodMatchInput (*PropertyMatchInput)(nil), // 4: envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput (*RequestMatchInput)(nil), // 5: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatchInput (*KeyValueMatchEntry)(nil), // 6: envoy.extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry (*RequestMatcher)(nil), // 7: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher (*v3.StringMatcher)(nil), // 8: envoy.type.matcher.v3.StringMatcher } var file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_depIdxs = []int32{ 8, // 0: envoy.extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry.string_match:type_name -> envoy.type.matcher.v3.StringMatcher 8, // 1: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher.host:type_name -> envoy.type.matcher.v3.StringMatcher 8, // 2: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher.path:type_name -> envoy.type.matcher.v3.StringMatcher 8, // 3: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher.method:type_name -> envoy.type.matcher.v3.StringMatcher 6, // 4: envoy.extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher.properties:type_name -> envoy.extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MethodMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropertyMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyValueMatchEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_matcher_v3_matcher_proto_depIdxs = nil } matcher.pb.validate.go000077500000000000000000000663221454502223200360400ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3/matcher.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ServiceMatchInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ServiceMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ServiceMatchInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ServiceMatchInputMultiError, or nil if none found. func (m *ServiceMatchInput) ValidateAll() error { return m.validate(true) } func (m *ServiceMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ServiceMatchInputMultiError(errors) } return nil } // ServiceMatchInputMultiError is an error wrapping multiple validation errors // returned by ServiceMatchInput.ValidateAll() if the designated constraints // aren't met. type ServiceMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ServiceMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ServiceMatchInputMultiError) AllErrors() []error { return m } // ServiceMatchInputValidationError is the validation error returned by // ServiceMatchInput.Validate if the designated constraints aren't met. type ServiceMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ServiceMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ServiceMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ServiceMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ServiceMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ServiceMatchInputValidationError) ErrorName() string { return "ServiceMatchInputValidationError" } // Error satisfies the builtin error interface func (e ServiceMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sServiceMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ServiceMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ServiceMatchInputValidationError{} // Validate checks the field values on HostMatchInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HostMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HostMatchInput with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HostMatchInputMultiError, // or nil if none found. func (m *HostMatchInput) ValidateAll() error { return m.validate(true) } func (m *HostMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HostMatchInputMultiError(errors) } return nil } // HostMatchInputMultiError is an error wrapping multiple validation errors // returned by HostMatchInput.ValidateAll() if the designated constraints // aren't met. type HostMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HostMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HostMatchInputMultiError) AllErrors() []error { return m } // HostMatchInputValidationError is the validation error returned by // HostMatchInput.Validate if the designated constraints aren't met. type HostMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HostMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HostMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HostMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HostMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HostMatchInputValidationError) ErrorName() string { return "HostMatchInputValidationError" } // Error satisfies the builtin error interface func (e HostMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHostMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HostMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HostMatchInputValidationError{} // Validate checks the field values on PathMatchInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PathMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathMatchInput with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PathMatchInputMultiError, // or nil if none found. func (m *PathMatchInput) ValidateAll() error { return m.validate(true) } func (m *PathMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PathMatchInputMultiError(errors) } return nil } // PathMatchInputMultiError is an error wrapping multiple validation errors // returned by PathMatchInput.ValidateAll() if the designated constraints // aren't met. type PathMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathMatchInputMultiError) AllErrors() []error { return m } // PathMatchInputValidationError is the validation error returned by // PathMatchInput.Validate if the designated constraints aren't met. type PathMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathMatchInputValidationError) ErrorName() string { return "PathMatchInputValidationError" } // Error satisfies the builtin error interface func (e PathMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathMatchInputValidationError{} // Validate checks the field values on MethodMatchInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *MethodMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MethodMatchInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MethodMatchInputMultiError, or nil if none found. func (m *MethodMatchInput) ValidateAll() error { return m.validate(true) } func (m *MethodMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MethodMatchInputMultiError(errors) } return nil } // MethodMatchInputMultiError is an error wrapping multiple validation errors // returned by MethodMatchInput.ValidateAll() if the designated constraints // aren't met. type MethodMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MethodMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MethodMatchInputMultiError) AllErrors() []error { return m } // MethodMatchInputValidationError is the validation error returned by // MethodMatchInput.Validate if the designated constraints aren't met. type MethodMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MethodMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MethodMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MethodMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MethodMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MethodMatchInputValidationError) ErrorName() string { return "MethodMatchInputValidationError" } // Error satisfies the builtin error interface func (e MethodMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMethodMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MethodMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MethodMatchInputValidationError{} // Validate checks the field values on PropertyMatchInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PropertyMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PropertyMatchInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PropertyMatchInputMultiError, or nil if none found. func (m *PropertyMatchInput) ValidateAll() error { return m.validate(true) } func (m *PropertyMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPropertyName()) < 1 { err := PropertyMatchInputValidationError{ field: "PropertyName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PropertyMatchInputMultiError(errors) } return nil } // PropertyMatchInputMultiError is an error wrapping multiple validation errors // returned by PropertyMatchInput.ValidateAll() if the designated constraints // aren't met. type PropertyMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PropertyMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PropertyMatchInputMultiError) AllErrors() []error { return m } // PropertyMatchInputValidationError is the validation error returned by // PropertyMatchInput.Validate if the designated constraints aren't met. type PropertyMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PropertyMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PropertyMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PropertyMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PropertyMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PropertyMatchInputValidationError) ErrorName() string { return "PropertyMatchInputValidationError" } // Error satisfies the builtin error interface func (e PropertyMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPropertyMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PropertyMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PropertyMatchInputValidationError{} // Validate checks the field values on RequestMatchInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RequestMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequestMatchInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequestMatchInputMultiError, or nil if none found. func (m *RequestMatchInput) ValidateAll() error { return m.validate(true) } func (m *RequestMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RequestMatchInputMultiError(errors) } return nil } // RequestMatchInputMultiError is an error wrapping multiple validation errors // returned by RequestMatchInput.ValidateAll() if the designated constraints // aren't met. type RequestMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequestMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequestMatchInputMultiError) AllErrors() []error { return m } // RequestMatchInputValidationError is the validation error returned by // RequestMatchInput.Validate if the designated constraints aren't met. type RequestMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequestMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequestMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequestMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequestMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequestMatchInputValidationError) ErrorName() string { return "RequestMatchInputValidationError" } // Error satisfies the builtin error interface func (e RequestMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequestMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequestMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequestMatchInputValidationError{} // Validate checks the field values on KeyValueMatchEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *KeyValueMatchEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KeyValueMatchEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // KeyValueMatchEntryMultiError, or nil if none found. func (m *KeyValueMatchEntry) ValidateAll() error { return m.validate(true) } func (m *KeyValueMatchEntry) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := KeyValueMatchEntryValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetStringMatch() == nil { err := KeyValueMatchEntryValidationError{ field: "StringMatch", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KeyValueMatchEntryValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KeyValueMatchEntryValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KeyValueMatchEntryValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return KeyValueMatchEntryMultiError(errors) } return nil } // KeyValueMatchEntryMultiError is an error wrapping multiple validation errors // returned by KeyValueMatchEntry.ValidateAll() if the designated constraints // aren't met. type KeyValueMatchEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KeyValueMatchEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KeyValueMatchEntryMultiError) AllErrors() []error { return m } // KeyValueMatchEntryValidationError is the validation error returned by // KeyValueMatchEntry.Validate if the designated constraints aren't met. type KeyValueMatchEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KeyValueMatchEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KeyValueMatchEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KeyValueMatchEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KeyValueMatchEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KeyValueMatchEntryValidationError) ErrorName() string { return "KeyValueMatchEntryValidationError" } // Error satisfies the builtin error interface func (e KeyValueMatchEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKeyValueMatchEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KeyValueMatchEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KeyValueMatchEntryValidationError{} // Validate checks the field values on RequestMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RequestMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequestMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RequestMatcherMultiError, // or nil if none found. func (m *RequestMatcher) ValidateAll() error { return m.validate(true) } func (m *RequestMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestMatcherValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMethod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMethod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestMatcherValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetProperties() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: fmt.Sprintf("Properties[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestMatcherValidationError{ field: fmt.Sprintf("Properties[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestMatcherValidationError{ field: fmt.Sprintf("Properties[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RequestMatcherMultiError(errors) } return nil } // RequestMatcherMultiError is an error wrapping multiple validation errors // returned by RequestMatcher.ValidateAll() if the designated constraints // aren't met. type RequestMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequestMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequestMatcherMultiError) AllErrors() []error { return m } // RequestMatcherValidationError is the validation error returned by // RequestMatcher.Validate if the designated constraints aren't met. type RequestMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequestMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequestMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequestMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequestMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequestMatcherValidationError) ErrorName() string { return "RequestMatcherValidationError" } // Error satisfies the builtin error interface func (e RequestMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequestMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequestMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequestMatcherValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/router/000077500000000000000000000000001454502223200313065ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/router/v3/000077500000000000000000000000001454502223200316365ustar00rootroot00000000000000router.pb.go000077500000000000000000000233711454502223200340370ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/router/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/router/v3/router.proto package routerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Set to true if the upstream connection should be bound to the downstream connection, false // otherwise. // // By default, one random upstream connection will be selected from the upstream connection pool // and used for every request. And after the request is finished, the upstream connection will be // released back to the upstream connection pool. // // If this option is true, the upstream connection will be bound to the downstream connection and // have same lifetime as the downstream connection. The same upstream connection will be used for // all requests from the same downstream connection. // // And if this options is true, one of the following requirements must be met: // // 1. The request must be handled one by one. That is, the next request can not be sent to the // upstream until the previous request is finished. // 2. Unique request id must be provided for each request and response. The request id must be // unique for each request and response pair in same connection pair. And the request id must // be the same for the corresponding request and response. // // This could be useful for some protocols that require the same upstream connection to be used // for all requests from the same downstream connection. For example, the protocol using stateful // connection. BindUpstreamConnection bool `protobuf:"varint,1,opt,name=bind_upstream_connection,json=bindUpstreamConnection,proto3" json:"bind_upstream_connection,omitempty"` } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescGZIP(), []int{0} } func (x *Router) GetBindUpstreamConnection() bool { if x != nil { return x.BindUpstreamConnection } return false } var File_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x62, 0x69, 0x6e, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xd9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.extensions.filters.network.generic_proxy.router.v3.Router } var file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_router_v3_router_proto_depIdxs = nil } router.pb.validate.go000077500000000000000000000061761454502223200356330ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/router/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/router/v3/router.proto package routerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BindUpstreamConnection if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/v3/000077500000000000000000000000001454502223200303165ustar00rootroot00000000000000generic_proxy.pb.go000077500000000000000000000532461454502223200340600ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/v3/generic_proxy.proto package generic_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 8] type GenericProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The codec which encodes and decodes the application protocol. // [#extension-category: envoy.generic_proxy.codecs] CodecConfig *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=codec_config,json=codecConfig,proto3" json:"codec_config,omitempty"` // Types that are assignable to RouteSpecifier: // // *GenericProxy_GenericRds // *GenericProxy_RouteConfig RouteSpecifier isGenericProxy_RouteSpecifier `protobuf_oneof:"route_specifier"` // A list of individual Layer-7 filters that make up the filter chain for requests made to the // proxy. Order matters as the filters are processed sequentially as request events // happen. // [#extension-category: envoy.generic_proxy.filters] Filters []*v3.TypedExtensionConfig `protobuf:"bytes,5,rep,name=filters,proto3" json:"filters,omitempty"` // Tracing configuration for the generic proxy. Tracing *v31.HttpConnectionManager_Tracing `protobuf:"bytes,6,opt,name=tracing,proto3" json:"tracing,omitempty"` // Configuration for :ref:`access logs ` emitted by generic proxy. AccessLog []*v32.AccessLog `protobuf:"bytes,7,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` } func (x *GenericProxy) Reset() { *x = GenericProxy{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericProxy) ProtoMessage() {} func (x *GenericProxy) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericProxy.ProtoReflect.Descriptor instead. func (*GenericProxy) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescGZIP(), []int{0} } func (x *GenericProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *GenericProxy) GetCodecConfig() *v3.TypedExtensionConfig { if x != nil { return x.CodecConfig } return nil } func (m *GenericProxy) GetRouteSpecifier() isGenericProxy_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } func (x *GenericProxy) GetGenericRds() *GenericRds { if x, ok := x.GetRouteSpecifier().(*GenericProxy_GenericRds); ok { return x.GenericRds } return nil } func (x *GenericProxy) GetRouteConfig() *RouteConfiguration { if x, ok := x.GetRouteSpecifier().(*GenericProxy_RouteConfig); ok { return x.RouteConfig } return nil } func (x *GenericProxy) GetFilters() []*v3.TypedExtensionConfig { if x != nil { return x.Filters } return nil } func (x *GenericProxy) GetTracing() *v31.HttpConnectionManager_Tracing { if x != nil { return x.Tracing } return nil } func (x *GenericProxy) GetAccessLog() []*v32.AccessLog { if x != nil { return x.AccessLog } return nil } type isGenericProxy_RouteSpecifier interface { isGenericProxy_RouteSpecifier() } type GenericProxy_GenericRds struct { // The generic proxies route table will be dynamically loaded via the meta RDS API. GenericRds *GenericRds `protobuf:"bytes,3,opt,name=generic_rds,json=genericRds,proto3,oneof"` } type GenericProxy_RouteConfig struct { // The route table for the generic proxy is static and is specified in this property. RouteConfig *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } func (*GenericProxy_GenericRds) isGenericProxy_RouteSpecifier() {} func (*GenericProxy_RouteConfig) isGenericProxy_RouteSpecifier() {} type GenericRds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for RDS. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the route configuration. This name will be passed to the RDS API. This allows an // Envoy configuration with multiple generic proxies to use different route configurations. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` } func (x *GenericRds) Reset() { *x = GenericRds{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericRds) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericRds) ProtoMessage() {} func (x *GenericRds) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericRds.ProtoReflect.Descriptor instead. func (*GenericRds) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescGZIP(), []int{1} } func (x *GenericRds) GetConfigSource() *v3.ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *GenericRds) GetRouteConfigName() string { if x != nil { return x.RouteConfigName } return "" } var File_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x45, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x04, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x52, 0x64, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x74, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x42, 0x16, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x52, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xd8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_goTypes = []interface{}{ (*GenericProxy)(nil), // 0: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy (*GenericRds)(nil), // 1: envoy.extensions.filters.network.generic_proxy.v3.GenericRds (*v3.TypedExtensionConfig)(nil), // 2: envoy.config.core.v3.TypedExtensionConfig (*RouteConfiguration)(nil), // 3: envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration (*v31.HttpConnectionManager_Tracing)(nil), // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing (*v32.AccessLog)(nil), // 5: envoy.config.accesslog.v3.AccessLog (*v3.ConfigSource)(nil), // 6: envoy.config.core.v3.ConfigSource } var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.codec_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 1, // 1: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.generic_rds:type_name -> envoy.extensions.filters.network.generic_proxy.v3.GenericRds 3, // 2: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.route_config:type_name -> envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration 2, // 3: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.filters:type_name -> envoy.config.core.v3.TypedExtensionConfig 4, // 4: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.tracing:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing 5, // 5: envoy.extensions.filters.network.generic_proxy.v3.GenericProxy.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 6, // 6: envoy.extensions.filters.network.generic_proxy.v3.GenericRds.config_source:type_name -> envoy.config.core.v3.ConfigSource 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto != nil { return } file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_init() if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericRds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GenericProxy_GenericRds)(nil), (*GenericProxy_RouteConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_v3_generic_proxy_proto_depIdxs = nil } generic_proxy.pb.validate.go000077500000000000000000000330061454502223200356400ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/v3/generic_proxy.proto package generic_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GenericProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GenericProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericProxy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GenericProxyMultiError, or // nil if none found. func (m *GenericProxy) ValidateAll() error { return m.validate(true) } func (m *GenericProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := GenericProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetCodecConfig() == nil { err := GenericProxyValidationError{ field: "CodecConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCodecConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "CodecConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "CodecConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCodecConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: "CodecConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *GenericProxy_GenericRds: if v == nil { err := GenericProxyValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetGenericRds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "GenericRds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "GenericRds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericRds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: "GenericRds", reason: "embedded message failed validation", cause: err, } } } case *GenericProxy_RouteConfig: if v == nil { err := GenericProxyValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRouteSpecifierPresent { err := GenericProxyValidationError{ field: "RouteSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GenericProxyMultiError(errors) } return nil } // GenericProxyMultiError is an error wrapping multiple validation errors // returned by GenericProxy.ValidateAll() if the designated constraints aren't met. type GenericProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericProxyMultiError) AllErrors() []error { return m } // GenericProxyValidationError is the validation error returned by // GenericProxy.Validate if the designated constraints aren't met. type GenericProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericProxyValidationError) ErrorName() string { return "GenericProxyValidationError" } // Error satisfies the builtin error interface func (e GenericProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericProxyValidationError{} // Validate checks the field values on GenericRds with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GenericRds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericRds with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GenericRdsMultiError, or // nil if none found. func (m *GenericRds) ValidateAll() error { return m.validate(true) } func (m *GenericRds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := GenericRdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericRdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericRdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericRdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetRouteConfigName()) < 1 { err := GenericRdsValidationError{ field: "RouteConfigName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GenericRdsMultiError(errors) } return nil } // GenericRdsMultiError is an error wrapping multiple validation errors // returned by GenericRds.ValidateAll() if the designated constraints aren't met. type GenericRdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericRdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericRdsMultiError) AllErrors() []error { return m } // GenericRdsValidationError is the validation error returned by // GenericRds.Validate if the designated constraints aren't met. type GenericRdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericRdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericRdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericRdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericRdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericRdsValidationError) ErrorName() string { return "GenericRdsValidationError" } // Error satisfies the builtin error interface func (e GenericRdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericRds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericRdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericRdsValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/v3/route.pb.go000077500000000000000000000407401454502223200324130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/generic_proxy/v3/route.proto package generic_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type VirtualHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the virtual host. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A list of hosts that will be matched to this virtual host. Wildcard hosts are supported in // the suffix or prefix form. // // Host search order: // 1. Exact names: “www.foo.com“. // 2. Suffix wildcards: “*.foo.com“ or “*-bar.foo.com“. // 3. Prefix wildcards: “foo.*“ or “foo-*“. // 4. Special wildcard “*“ matching any host and will be the default virtual host. // // .. note:: // // The wildcard will not match the empty string. // e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``. // The longest wildcards match first. // Only a single virtual host in the entire route configuration can match on ``*``. A domain // must be unique across all virtual hosts or the config will fail to load. Hosts []string `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"` // The match tree to use when resolving route actions for incoming requests. Routes *v3.Matcher `protobuf:"bytes,3,opt,name=routes,proto3" json:"routes,omitempty"` } func (x *VirtualHost) Reset() { *x = VirtualHost{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VirtualHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*VirtualHost) ProtoMessage() {} func (x *VirtualHost) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead. func (*VirtualHost) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescGZIP(), []int{0} } func (x *VirtualHost) GetName() string { if x != nil { return x.Name } return "" } func (x *VirtualHost) GetHosts() []string { if x != nil { return x.Hosts } return nil } func (x *VirtualHost) GetRoutes() *v3.Matcher { if x != nil { return x.Routes } return nil } // The generic proxy makes use of the xDS matching API for routing configurations. // // In the below example, we combine a top level tree matcher with a linear matcher to match // the incoming requests, and send the matching requests to v1 of the upstream service. // // .. code-block:: yaml // // name: example // routes: // matcher_tree: // input: // name: request-service // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput // exact_match_map: // map: // service_name_0: // matcher: // matcher_list: // matchers: // - predicate: // and_matcher: // predicate: // - single_predicate: // input: // name: request-properties // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput // property_name: version // value_match: // exact: v1 // - single_predicate: // input: // name: request-properties // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput // property_name: user // value_match: // exact: john // on_match: // action: // name: route // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.action.v3.routeAction // cluster: cluster_0 type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. For example, it might match route_config_name in // envoy.extensions.filters.network.generic_proxy.v3.Rds. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The match tree to use when resolving route actions for incoming requests. // If no any virtual host is configured in the “virtual_hosts“ field or no special wildcard // virtual host is configured, the “routes“ field will be used as the default route table. // If both the wildcard virtual host and “routes“ are configured, the configuration will fail // to load. Routes *v3.Matcher `protobuf:"bytes,2,opt,name=routes,proto3" json:"routes,omitempty"` // An array of virtual hosts that make up the route table. VirtualHosts []*VirtualHost `protobuf:"bytes,3,rep,name=virtual_hosts,json=virtualHosts,proto3" json:"virtual_hosts,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescGZIP(), []int{1} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetRoutes() *v3.Matcher { if x != nil { return x.Routes } return nil } func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost { if x != nil { return x.VirtualHosts } return nil } var File_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDesc = []byte{ 0x0a, 0x45, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x0d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x42, 0xd1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescData = file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_goTypes = []interface{}{ (*VirtualHost)(nil), // 0: envoy.extensions.filters.network.generic_proxy.v3.VirtualHost (*RouteConfiguration)(nil), // 1: envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration (*v3.Matcher)(nil), // 2: xds.type.matcher.v3.Matcher } var file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.generic_proxy.v3.VirtualHost.routes:type_name -> xds.type.matcher.v3.Matcher 2, // 1: envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration.routes:type_name -> xds.type.matcher.v3.Matcher 0, // 2: envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration.virtual_hosts:type_name -> envoy.extensions.filters.network.generic_proxy.v3.VirtualHost 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_init() } func file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_init() { if File_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VirtualHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto = out.File file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_generic_proxy_v3_route_proto_depIdxs = nil } route.pb.validate.go000077500000000000000000000225671454502223200341330ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/generic_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/generic_proxy/v3/route.proto package generic_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VirtualHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VirtualHostMultiError, or // nil if none found. func (m *VirtualHost) ValidateAll() error { return m.validate(true) } func (m *VirtualHost) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := VirtualHostValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetHosts()) < 1 { err := VirtualHostValidationError{ field: "Hosts", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if m.GetRoutes() == nil { err := VirtualHostValidationError{ field: "Routes", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VirtualHostMultiError(errors) } return nil } // VirtualHostMultiError is an error wrapping multiple validation errors // returned by VirtualHost.ValidateAll() if the designated constraints aren't met. type VirtualHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VirtualHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VirtualHostMultiError) AllErrors() []error { return m } // VirtualHostValidationError is the validation error returned by // VirtualHost.Validate if the designated constraints aren't met. type VirtualHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VirtualHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VirtualHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VirtualHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VirtualHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VirtualHostValidationError) ErrorName() string { return "VirtualHostValidationError" } // Error satisfies the builtin error interface func (e VirtualHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVirtualHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VirtualHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VirtualHostValidationError{} // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RouteConfigurationValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "Routes", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetVirtualHosts() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/golang/000077500000000000000000000000001454502223200263605ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/golang/v3alpha/000077500000000000000000000000001454502223200277165ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/golang/v3alpha/golang.pb.go000077500000000000000000000262731454502223200321310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/golang/v3alpha/golang.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Bool “true“ if this filter must be the last filter in a filter chain, “false“ otherwise. IsTerminalFilter bool `protobuf:"varint,1,opt,name=is_terminal_filter,json=isTerminalFilter,proto3" json:"is_terminal_filter,omitempty"` // Globally unique ID for a dynamic library file. LibraryId string `protobuf:"bytes,2,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty"` // Path to a dynamic library implementing the // :repo:`DownstreamFilter API ` // interface. // [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.] LibraryPath string `protobuf:"bytes,3,opt,name=library_path,json=libraryPath,proto3" json:"library_path,omitempty"` // Globally unique name of the Go plugin. // // This name **must** be consistent with the name registered in “network::RegisterNetworkFilterConfigFactory“ PluginName string `protobuf:"bytes,4,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` // Configuration for the Go plugin. // // .. note:: // // This configuration is only parsed in the go plugin, and is therefore not validated // by Envoy. // // See the :repo:`DownstreamFilter API ` // for more information about how the plugin's configuration data can be accessed. PluginConfig *any1.Any `protobuf:"bytes,5,opt,name=plugin_config,json=pluginConfig,proto3" json:"plugin_config,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0} } func (x *Config) GetIsTerminalFilter() bool { if x != nil { return x.IsTerminalFilter } return false } func (x *Config) GetLibraryId() string { if x != nil { return x.LibraryId } return "" } func (x *Config) GetLibraryPath() string { if x != nil { return x.LibraryPath } return "" } func (x *Config) GetPluginName() string { if x != nil { return x.PluginName } return "" } func (x *Config) GetPluginConfig() *any1.Any { if x != nil { return x.PluginConfig } return nil } var File_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDesc = []byte{ 0x0a, 0x44, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0c, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x47, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescData = file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.filters.network.golang.v3alpha.Config (*any1.Any)(nil), // 1: google.protobuf.Any } var file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.golang.v3alpha.Config.plugin_config:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_init() } func file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_init() { if File_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto = out.File file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_golang_v3alpha_golang_proto_depIdxs = nil } golang.pb.validate.go000077500000000000000000000111311454502223200336250ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/golang/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/golang/v3alpha/golang.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IsTerminalFilter if utf8.RuneCountInString(m.GetLibraryId()) < 1 { err := ConfigValidationError{ field: "LibraryId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetLibraryPath()) < 1 { err := ConfigValidationError{ field: "LibraryPath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetPluginName()) < 1 { err := ConfigValidationError{ field: "PluginName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPluginConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPluginConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "PluginConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_broker/000077500000000000000000000000001454502223200275325ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_broker/v3/000077500000000000000000000000001454502223200300625ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_broker/v3/kafka_broker.pb.go000077500000000000000000000455311454502223200334450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/kafka_broker/v3/kafka_broker.proto package kafka_brokerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type KafkaBroker struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Set to true if broker filter should attempt to serialize the received responses from the // upstream broker instead of passing received bytes as is. // Disabled by default. ForceResponseRewrite bool `protobuf:"varint,2,opt,name=force_response_rewrite,json=forceResponseRewrite,proto3" json:"force_response_rewrite,omitempty"` // Optional broker address rewrite specification. // Allows the broker filter to rewrite Kafka responses so that all connections established by // the Kafka clients point to Envoy. // This allows Kafka cluster not to configure its 'advertised.listeners' property // (as the necessary re-pointing will be done by this filter). // This collection of rules should cover all brokers in the cluster that is being proxied, // otherwise some nodes' addresses might leak to the downstream clients. // // Types that are assignable to BrokerAddressRewriteSpec: // // *KafkaBroker_IdBasedBrokerAddressRewriteSpec BrokerAddressRewriteSpec isKafkaBroker_BrokerAddressRewriteSpec `protobuf_oneof:"broker_address_rewrite_spec"` } func (x *KafkaBroker) Reset() { *x = KafkaBroker{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KafkaBroker) String() string { return protoimpl.X.MessageStringOf(x) } func (*KafkaBroker) ProtoMessage() {} func (x *KafkaBroker) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KafkaBroker.ProtoReflect.Descriptor instead. func (*KafkaBroker) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescGZIP(), []int{0} } func (x *KafkaBroker) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *KafkaBroker) GetForceResponseRewrite() bool { if x != nil { return x.ForceResponseRewrite } return false } func (m *KafkaBroker) GetBrokerAddressRewriteSpec() isKafkaBroker_BrokerAddressRewriteSpec { if m != nil { return m.BrokerAddressRewriteSpec } return nil } func (x *KafkaBroker) GetIdBasedBrokerAddressRewriteSpec() *IdBasedBrokerRewriteSpec { if x, ok := x.GetBrokerAddressRewriteSpec().(*KafkaBroker_IdBasedBrokerAddressRewriteSpec); ok { return x.IdBasedBrokerAddressRewriteSpec } return nil } type isKafkaBroker_BrokerAddressRewriteSpec interface { isKafkaBroker_BrokerAddressRewriteSpec() } type KafkaBroker_IdBasedBrokerAddressRewriteSpec struct { // Broker address rewrite rules that match by broker ID. IdBasedBrokerAddressRewriteSpec *IdBasedBrokerRewriteSpec `protobuf:"bytes,3,opt,name=id_based_broker_address_rewrite_spec,json=idBasedBrokerAddressRewriteSpec,proto3,oneof"` } func (*KafkaBroker_IdBasedBrokerAddressRewriteSpec) isKafkaBroker_BrokerAddressRewriteSpec() {} // Collection of rules matching by broker ID. type IdBasedBrokerRewriteSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rules []*IdBasedBrokerRewriteRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *IdBasedBrokerRewriteSpec) Reset() { *x = IdBasedBrokerRewriteSpec{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IdBasedBrokerRewriteSpec) String() string { return protoimpl.X.MessageStringOf(x) } func (*IdBasedBrokerRewriteSpec) ProtoMessage() {} func (x *IdBasedBrokerRewriteSpec) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IdBasedBrokerRewriteSpec.ProtoReflect.Descriptor instead. func (*IdBasedBrokerRewriteSpec) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescGZIP(), []int{1} } func (x *IdBasedBrokerRewriteSpec) GetRules() []*IdBasedBrokerRewriteRule { if x != nil { return x.Rules } return nil } // Defines a rule to rewrite broker address data. type IdBasedBrokerRewriteRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Broker ID to match. Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The host value to use (resembling the host part of Kafka's advertised.listeners). // The value should point to the Envoy (not Kafka) listener, so that all client traffic goes // through Envoy. Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` // The port value to use (resembling the port part of Kafka's advertised.listeners). // The value should point to the Envoy (not Kafka) listener, so that all client traffic goes // through Envoy. Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` } func (x *IdBasedBrokerRewriteRule) Reset() { *x = IdBasedBrokerRewriteRule{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IdBasedBrokerRewriteRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*IdBasedBrokerRewriteRule) ProtoMessage() {} func (x *IdBasedBrokerRewriteRule) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IdBasedBrokerRewriteRule.ProtoReflect.Descriptor instead. func (*IdBasedBrokerRewriteRule) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescGZIP(), []int{2} } func (x *IdBasedBrokerRewriteRule) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *IdBasedBrokerRewriteRule) GetHost() string { if x != nil { return x.Host } return "" } func (x *IdBasedBrokerRewriteRule) GetPort() uint32 { if x != nil { return x.Port } return 0 } var File_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x02, 0x0a, 0x0b, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x24, 0x69, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x1f, 0x69, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x42, 0x1d, 0x0a, 0x1b, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x7c, 0x0a, 0x18, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x18, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0xcc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescData = file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_goTypes = []interface{}{ (*KafkaBroker)(nil), // 0: envoy.extensions.filters.network.kafka_broker.v3.KafkaBroker (*IdBasedBrokerRewriteSpec)(nil), // 1: envoy.extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec (*IdBasedBrokerRewriteRule)(nil), // 2: envoy.extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteRule } var file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.kafka_broker.v3.KafkaBroker.id_based_broker_address_rewrite_spec:type_name -> envoy.extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec 2, // 1: envoy.extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec.rules:type_name -> envoy.extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteRule 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_init() } func file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_init() { if File_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KafkaBroker); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdBasedBrokerRewriteSpec); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdBasedBrokerRewriteRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes[0].OneofWrappers = []interface{}{ (*KafkaBroker_IdBasedBrokerAddressRewriteSpec)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto = out.File file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_kafka_broker_v3_kafka_broker_proto_depIdxs = nil } kafka_broker.pb.validate.go000077500000000000000000000303421454502223200351500ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_broker/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/kafka_broker/v3/kafka_broker.proto package kafka_brokerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KafkaBroker with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *KafkaBroker) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KafkaBroker with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in KafkaBrokerMultiError, or // nil if none found. func (m *KafkaBroker) ValidateAll() error { return m.validate(true) } func (m *KafkaBroker) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := KafkaBrokerValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for ForceResponseRewrite switch v := m.BrokerAddressRewriteSpec.(type) { case *KafkaBroker_IdBasedBrokerAddressRewriteSpec: if v == nil { err := KafkaBrokerValidationError{ field: "BrokerAddressRewriteSpec", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIdBasedBrokerAddressRewriteSpec()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdBasedBrokerAddressRewriteSpec()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return KafkaBrokerMultiError(errors) } return nil } // KafkaBrokerMultiError is an error wrapping multiple validation errors // returned by KafkaBroker.ValidateAll() if the designated constraints aren't met. type KafkaBrokerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KafkaBrokerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KafkaBrokerMultiError) AllErrors() []error { return m } // KafkaBrokerValidationError is the validation error returned by // KafkaBroker.Validate if the designated constraints aren't met. type KafkaBrokerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KafkaBrokerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KafkaBrokerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KafkaBrokerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KafkaBrokerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KafkaBrokerValidationError) ErrorName() string { return "KafkaBrokerValidationError" } // Error satisfies the builtin error interface func (e KafkaBrokerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKafkaBroker.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KafkaBrokerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KafkaBrokerValidationError{} // Validate checks the field values on IdBasedBrokerRewriteSpec with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *IdBasedBrokerRewriteSpec) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IdBasedBrokerRewriteSpec with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IdBasedBrokerRewriteSpecMultiError, or nil if none found. func (m *IdBasedBrokerRewriteSpec) ValidateAll() error { return m.validate(true) } func (m *IdBasedBrokerRewriteSpec) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IdBasedBrokerRewriteSpecMultiError(errors) } return nil } // IdBasedBrokerRewriteSpecMultiError is an error wrapping multiple validation // errors returned by IdBasedBrokerRewriteSpec.ValidateAll() if the designated // constraints aren't met. type IdBasedBrokerRewriteSpecMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IdBasedBrokerRewriteSpecMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IdBasedBrokerRewriteSpecMultiError) AllErrors() []error { return m } // IdBasedBrokerRewriteSpecValidationError is the validation error returned by // IdBasedBrokerRewriteSpec.Validate if the designated constraints aren't met. type IdBasedBrokerRewriteSpecValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IdBasedBrokerRewriteSpecValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IdBasedBrokerRewriteSpecValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IdBasedBrokerRewriteSpecValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IdBasedBrokerRewriteSpecValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IdBasedBrokerRewriteSpecValidationError) ErrorName() string { return "IdBasedBrokerRewriteSpecValidationError" } // Error satisfies the builtin error interface func (e IdBasedBrokerRewriteSpecValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIdBasedBrokerRewriteSpec.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IdBasedBrokerRewriteSpecValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IdBasedBrokerRewriteSpecValidationError{} // Validate checks the field values on IdBasedBrokerRewriteRule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *IdBasedBrokerRewriteRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IdBasedBrokerRewriteRule with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IdBasedBrokerRewriteRuleMultiError, or nil if none found. func (m *IdBasedBrokerRewriteRule) ValidateAll() error { return m.validate(true) } func (m *IdBasedBrokerRewriteRule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetId() < 0 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Id", reason: "value must be greater than or equal to 0", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetHost()) < 1 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Host", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetPort() > 65535 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Port", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return IdBasedBrokerRewriteRuleMultiError(errors) } return nil } // IdBasedBrokerRewriteRuleMultiError is an error wrapping multiple validation // errors returned by IdBasedBrokerRewriteRule.ValidateAll() if the designated // constraints aren't met. type IdBasedBrokerRewriteRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IdBasedBrokerRewriteRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IdBasedBrokerRewriteRuleMultiError) AllErrors() []error { return m } // IdBasedBrokerRewriteRuleValidationError is the validation error returned by // IdBasedBrokerRewriteRule.Validate if the designated constraints aren't met. type IdBasedBrokerRewriteRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IdBasedBrokerRewriteRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IdBasedBrokerRewriteRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IdBasedBrokerRewriteRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IdBasedBrokerRewriteRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IdBasedBrokerRewriteRuleValidationError) ErrorName() string { return "IdBasedBrokerRewriteRuleValidationError" } // Error satisfies the builtin error interface func (e IdBasedBrokerRewriteRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIdBasedBrokerRewriteRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IdBasedBrokerRewriteRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IdBasedBrokerRewriteRuleValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_mesh/000077500000000000000000000000001454502223200272025ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha/000077500000000000000000000000001454502223200305405ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha/kafka_mesh.pb.go000077500000000000000000000650471454502223200335770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha/kafka_mesh.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type KafkaMesh_ConsumerProxyMode int32 const ( // Records received are going to be distributed amongst downstream consumer connections. // In this mode Envoy uses librdkafka consumers pointing at upstream Kafka clusters, what means that these // consumers' position is meaningful and affects what records are received from upstream. // Users might want to take a look into these consumers' custom configuration to manage their auto-committing // capabilities, as it will impact Envoy's behaviour in case of restarts. KafkaMesh_StatefulConsumerProxy KafkaMesh_ConsumerProxyMode = 0 ) // Enum value maps for KafkaMesh_ConsumerProxyMode. var ( KafkaMesh_ConsumerProxyMode_name = map[int32]string{ 0: "StatefulConsumerProxy", } KafkaMesh_ConsumerProxyMode_value = map[string]int32{ "StatefulConsumerProxy": 0, } ) func (x KafkaMesh_ConsumerProxyMode) Enum() *KafkaMesh_ConsumerProxyMode { p := new(KafkaMesh_ConsumerProxyMode) *p = x return p } func (x KafkaMesh_ConsumerProxyMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (KafkaMesh_ConsumerProxyMode) Descriptor() protoreflect.EnumDescriptor { return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_enumTypes[0].Descriptor() } func (KafkaMesh_ConsumerProxyMode) Type() protoreflect.EnumType { return &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_enumTypes[0] } func (x KafkaMesh_ConsumerProxyMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use KafkaMesh_ConsumerProxyMode.Descriptor instead. func (KafkaMesh_ConsumerProxyMode) EnumDescriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 6] type KafkaMesh struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Envoy's host that's advertised to clients. // Has the same meaning as corresponding Kafka broker properties. // Usually equal to filter chain's listener config, but needs to be reachable by clients // (so 0.0.0.0 will not work). AdvertisedHost string `protobuf:"bytes,1,opt,name=advertised_host,json=advertisedHost,proto3" json:"advertised_host,omitempty"` // Envoy's port that's advertised to clients. AdvertisedPort int32 `protobuf:"varint,2,opt,name=advertised_port,json=advertisedPort,proto3" json:"advertised_port,omitempty"` // Upstream clusters this filter will connect to. UpstreamClusters []*KafkaClusterDefinition `protobuf:"bytes,3,rep,name=upstream_clusters,json=upstreamClusters,proto3" json:"upstream_clusters,omitempty"` // Rules that will decide which cluster gets which request. ForwardingRules []*ForwardingRule `protobuf:"bytes,4,rep,name=forwarding_rules,json=forwardingRules,proto3" json:"forwarding_rules,omitempty"` // How the consumer proxying should behave - this relates mostly to Fetch request handling. ConsumerProxyMode KafkaMesh_ConsumerProxyMode `protobuf:"varint,5,opt,name=consumer_proxy_mode,json=consumerProxyMode,proto3,enum=envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh_ConsumerProxyMode" json:"consumer_proxy_mode,omitempty"` } func (x *KafkaMesh) Reset() { *x = KafkaMesh{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KafkaMesh) String() string { return protoimpl.X.MessageStringOf(x) } func (*KafkaMesh) ProtoMessage() {} func (x *KafkaMesh) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KafkaMesh.ProtoReflect.Descriptor instead. func (*KafkaMesh) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescGZIP(), []int{0} } func (x *KafkaMesh) GetAdvertisedHost() string { if x != nil { return x.AdvertisedHost } return "" } func (x *KafkaMesh) GetAdvertisedPort() int32 { if x != nil { return x.AdvertisedPort } return 0 } func (x *KafkaMesh) GetUpstreamClusters() []*KafkaClusterDefinition { if x != nil { return x.UpstreamClusters } return nil } func (x *KafkaMesh) GetForwardingRules() []*ForwardingRule { if x != nil { return x.ForwardingRules } return nil } func (x *KafkaMesh) GetConsumerProxyMode() KafkaMesh_ConsumerProxyMode { if x != nil { return x.ConsumerProxyMode } return KafkaMesh_StatefulConsumerProxy } // [#next-free-field: 6] type KafkaClusterDefinition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Cluster name. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // Kafka cluster address. BootstrapServers string `protobuf:"bytes,2,opt,name=bootstrap_servers,json=bootstrapServers,proto3" json:"bootstrap_servers,omitempty"` // Default number of partitions present in this cluster. // This is especially important for clients that do not specify partition in their payloads and depend on this value for hashing. // The same number of partitions is going to be used by upstream-pointing Kafka consumers for consumer proxying scenarios. PartitionCount int32 `protobuf:"varint,3,opt,name=partition_count,json=partitionCount,proto3" json:"partition_count,omitempty"` // Custom configuration passed to Kafka producer. ProducerConfig map[string]string `protobuf:"bytes,4,rep,name=producer_config,json=producerConfig,proto3" json:"producer_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Custom configuration passed to Kafka consumer. ConsumerConfig map[string]string `protobuf:"bytes,5,rep,name=consumer_config,json=consumerConfig,proto3" json:"consumer_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *KafkaClusterDefinition) Reset() { *x = KafkaClusterDefinition{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KafkaClusterDefinition) String() string { return protoimpl.X.MessageStringOf(x) } func (*KafkaClusterDefinition) ProtoMessage() {} func (x *KafkaClusterDefinition) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KafkaClusterDefinition.ProtoReflect.Descriptor instead. func (*KafkaClusterDefinition) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescGZIP(), []int{1} } func (x *KafkaClusterDefinition) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *KafkaClusterDefinition) GetBootstrapServers() string { if x != nil { return x.BootstrapServers } return "" } func (x *KafkaClusterDefinition) GetPartitionCount() int32 { if x != nil { return x.PartitionCount } return 0 } func (x *KafkaClusterDefinition) GetProducerConfig() map[string]string { if x != nil { return x.ProducerConfig } return nil } func (x *KafkaClusterDefinition) GetConsumerConfig() map[string]string { if x != nil { return x.ConsumerConfig } return nil } type ForwardingRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Cluster name. TargetCluster string `protobuf:"bytes,1,opt,name=target_cluster,json=targetCluster,proto3" json:"target_cluster,omitempty"` // Types that are assignable to Trigger: // // *ForwardingRule_TopicPrefix Trigger isForwardingRule_Trigger `protobuf_oneof:"trigger"` } func (x *ForwardingRule) Reset() { *x = ForwardingRule{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForwardingRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForwardingRule) ProtoMessage() {} func (x *ForwardingRule) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ForwardingRule.ProtoReflect.Descriptor instead. func (*ForwardingRule) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescGZIP(), []int{2} } func (x *ForwardingRule) GetTargetCluster() string { if x != nil { return x.TargetCluster } return "" } func (m *ForwardingRule) GetTrigger() isForwardingRule_Trigger { if m != nil { return m.Trigger } return nil } func (x *ForwardingRule) GetTopicPrefix() string { if x, ok := x.GetTrigger().(*ForwardingRule_TopicPrefix); ok { return x.TopicPrefix } return "" } type isForwardingRule_Trigger interface { isForwardingRule_Trigger() } type ForwardingRule_TopicPrefix struct { // Intended place for future types of forwarding rules. TopicPrefix string `protobuf:"bytes,2,opt,name=topic_prefix,json=topicPrefix,proto3,oneof"` } func (*ForwardingRule_TopicPrefix) isForwardingRule_Trigger() {} var File_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDesc = []byte{ 0x0a, 0x4c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x04, 0x0a, 0x09, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x78, 0x0a, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6e, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4d, 0x65, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x2e, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x10, 0x00, 0x22, 0xc8, 0x04, 0x0a, 0x16, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x41, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x67, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0xc9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescData = file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_goTypes = []interface{}{ (KafkaMesh_ConsumerProxyMode)(0), // 0: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.ConsumerProxyMode (*KafkaMesh)(nil), // 1: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh (*KafkaClusterDefinition)(nil), // 2: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition (*ForwardingRule)(nil), // 3: envoy.extensions.filters.network.kafka_mesh.v3alpha.ForwardingRule nil, // 4: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.ProducerConfigEntry nil, // 5: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.ConsumerConfigEntry } var file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.upstream_clusters:type_name -> envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition 3, // 1: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.forwarding_rules:type_name -> envoy.extensions.filters.network.kafka_mesh.v3alpha.ForwardingRule 0, // 2: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.consumer_proxy_mode:type_name -> envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.ConsumerProxyMode 4, // 3: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.producer_config:type_name -> envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.ProducerConfigEntry 5, // 4: envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.consumer_config:type_name -> envoy.extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition.ConsumerConfigEntry 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_init() } func file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_init() { if File_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KafkaMesh); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KafkaClusterDefinition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ForwardingRule_TopicPrefix)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDesc, NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_depIdxs, EnumInfos: file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_enumTypes, MessageInfos: file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto = out.File file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_kafka_mesh_v3alpha_kafka_mesh_proto_depIdxs = nil } kafka_mesh.pb.validate.go000077500000000000000000000304311454502223200352750ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha/kafka_mesh.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KafkaMesh with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *KafkaMesh) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KafkaMesh with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in KafkaMeshMultiError, or nil // if none found. func (m *KafkaMesh) ValidateAll() error { return m.validate(true) } func (m *KafkaMesh) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetAdvertisedHost()) < 1 { err := KafkaMeshValidationError{ field: "AdvertisedHost", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetAdvertisedPort() <= 0 { err := KafkaMeshValidationError{ field: "AdvertisedPort", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetUpstreamClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KafkaMeshValidationError{ field: fmt.Sprintf("UpstreamClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KafkaMeshValidationError{ field: fmt.Sprintf("UpstreamClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KafkaMeshValidationError{ field: fmt.Sprintf("UpstreamClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetForwardingRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KafkaMeshValidationError{ field: fmt.Sprintf("ForwardingRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KafkaMeshValidationError{ field: fmt.Sprintf("ForwardingRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KafkaMeshValidationError{ field: fmt.Sprintf("ForwardingRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for ConsumerProxyMode if len(errors) > 0 { return KafkaMeshMultiError(errors) } return nil } // KafkaMeshMultiError is an error wrapping multiple validation errors returned // by KafkaMesh.ValidateAll() if the designated constraints aren't met. type KafkaMeshMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KafkaMeshMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KafkaMeshMultiError) AllErrors() []error { return m } // KafkaMeshValidationError is the validation error returned by // KafkaMesh.Validate if the designated constraints aren't met. type KafkaMeshValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KafkaMeshValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KafkaMeshValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KafkaMeshValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KafkaMeshValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KafkaMeshValidationError) ErrorName() string { return "KafkaMeshValidationError" } // Error satisfies the builtin error interface func (e KafkaMeshValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKafkaMesh.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KafkaMeshValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KafkaMeshValidationError{} // Validate checks the field values on KafkaClusterDefinition with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *KafkaClusterDefinition) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KafkaClusterDefinition with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // KafkaClusterDefinitionMultiError, or nil if none found. func (m *KafkaClusterDefinition) ValidateAll() error { return m.validate(true) } func (m *KafkaClusterDefinition) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := KafkaClusterDefinitionValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetBootstrapServers()) < 1 { err := KafkaClusterDefinitionValidationError{ field: "BootstrapServers", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetPartitionCount() <= 0 { err := KafkaClusterDefinitionValidationError{ field: "PartitionCount", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } // no validation rules for ProducerConfig // no validation rules for ConsumerConfig if len(errors) > 0 { return KafkaClusterDefinitionMultiError(errors) } return nil } // KafkaClusterDefinitionMultiError is an error wrapping multiple validation // errors returned by KafkaClusterDefinition.ValidateAll() if the designated // constraints aren't met. type KafkaClusterDefinitionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KafkaClusterDefinitionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KafkaClusterDefinitionMultiError) AllErrors() []error { return m } // KafkaClusterDefinitionValidationError is the validation error returned by // KafkaClusterDefinition.Validate if the designated constraints aren't met. type KafkaClusterDefinitionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KafkaClusterDefinitionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KafkaClusterDefinitionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KafkaClusterDefinitionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KafkaClusterDefinitionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KafkaClusterDefinitionValidationError) ErrorName() string { return "KafkaClusterDefinitionValidationError" } // Error satisfies the builtin error interface func (e KafkaClusterDefinitionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKafkaClusterDefinition.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KafkaClusterDefinitionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KafkaClusterDefinitionValidationError{} // Validate checks the field values on ForwardingRule with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ForwardingRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ForwardingRule with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ForwardingRuleMultiError, // or nil if none found. func (m *ForwardingRule) ValidateAll() error { return m.validate(true) } func (m *ForwardingRule) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TargetCluster switch v := m.Trigger.(type) { case *ForwardingRule_TopicPrefix: if v == nil { err := ForwardingRuleValidationError{ field: "Trigger", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for TopicPrefix default: _ = v // ensures v is used } if len(errors) > 0 { return ForwardingRuleMultiError(errors) } return nil } // ForwardingRuleMultiError is an error wrapping multiple validation errors // returned by ForwardingRule.ValidateAll() if the designated constraints // aren't met. type ForwardingRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ForwardingRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ForwardingRuleMultiError) AllErrors() []error { return m } // ForwardingRuleValidationError is the validation error returned by // ForwardingRule.Validate if the designated constraints aren't met. type ForwardingRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ForwardingRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ForwardingRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ForwardingRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ForwardingRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ForwardingRuleValidationError) ErrorName() string { return "ForwardingRuleValidationError" } // Error satisfies the builtin error interface func (e ForwardingRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sForwardingRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ForwardingRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ForwardingRuleValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/mysql_proxy/000077500000000000000000000000001454502223200275175ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/mysql_proxy/v3/000077500000000000000000000000001454502223200300475ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/mysql_proxy/v3/mysql_proxy.pb.go000077500000000000000000000224321454502223200334120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/mysql_proxy/v3/mysql_proxy.proto package mysql_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type MySQLProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // [#not-implemented-hide:] The optional path to use for writing MySQL access logs. // If the access log field is empty, access logs will not be written. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` } func (x *MySQLProxy) Reset() { *x = MySQLProxy{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MySQLProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*MySQLProxy) ProtoMessage() {} func (x *MySQLProxy) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MySQLProxy.ProtoReflect.Descriptor instead. func (*MySQLProxy) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescGZIP(), []int{0} } func (x *MySQLProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *MySQLProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } var File_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDesc = []byte{ 0x0a, 0x49, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x0a, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescData = file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_goTypes = []interface{}{ (*MySQLProxy)(nil), // 0: envoy.extensions.filters.network.mysql_proxy.v3.MySQLProxy } var file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_init() } func file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_init() { if File_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MySQLProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto = out.File file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_mysql_proxy_v3_mysql_proxy_proto_depIdxs = nil } mysql_proxy.pb.validate.go000077500000000000000000000067031454502223200351260ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/mysql_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/mysql_proxy/v3/mysql_proxy.proto package mysql_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MySQLProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MySQLProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MySQLProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MySQLProxyMultiError, or // nil if none found. func (m *MySQLProxy) ValidateAll() error { return m.validate(true) } func (m *MySQLProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := MySQLProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if len(errors) > 0 { return MySQLProxyMultiError(errors) } return nil } // MySQLProxyMultiError is an error wrapping multiple validation errors // returned by MySQLProxy.ValidateAll() if the designated constraints aren't met. type MySQLProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MySQLProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MySQLProxyMultiError) AllErrors() []error { return m } // MySQLProxyValidationError is the validation error returned by // MySQLProxy.Validate if the designated constraints aren't met. type MySQLProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MySQLProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MySQLProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MySQLProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MySQLProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MySQLProxyValidationError) ErrorName() string { return "MySQLProxyValidationError" } // Error satisfies the builtin error interface func (e MySQLProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMySQLProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MySQLProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MySQLProxyValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/postgres_proxy/000077500000000000000000000000001454502223200302205ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/postgres_proxy/v3alpha/000077500000000000000000000000001454502223200315565ustar00rootroot00000000000000postgres_proxy.pb.go000077500000000000000000000361721454502223200355510ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/postgres_proxy/v3alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/postgres_proxy/v3alpha/postgres_proxy.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Upstream SSL operational modes. type PostgresProxy_SSLMode int32 const ( // Do not encrypt upstream connection to the server. PostgresProxy_DISABLE PostgresProxy_SSLMode = 0 // Establish upstream SSL connection to the server. If the server does not // accept the request for SSL connection, the session is terminated. PostgresProxy_REQUIRE PostgresProxy_SSLMode = 1 ) // Enum value maps for PostgresProxy_SSLMode. var ( PostgresProxy_SSLMode_name = map[int32]string{ 0: "DISABLE", 1: "REQUIRE", } PostgresProxy_SSLMode_value = map[string]int32{ "DISABLE": 0, "REQUIRE": 1, } ) func (x PostgresProxy_SSLMode) Enum() *PostgresProxy_SSLMode { p := new(PostgresProxy_SSLMode) *p = x return p } func (x PostgresProxy_SSLMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PostgresProxy_SSLMode) Descriptor() protoreflect.EnumDescriptor { return file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_enumTypes[0].Descriptor() } func (PostgresProxy_SSLMode) Type() protoreflect.EnumType { return &file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_enumTypes[0] } func (x PostgresProxy_SSLMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PostgresProxy_SSLMode.Descriptor instead. func (PostgresProxy_SSLMode) EnumDescriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescGZIP(), []int{0, 0} } type PostgresProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Controls whether SQL statements received in Frontend Query messages // are parsed. Parsing is required to produce Postgres proxy filter // metadata. Defaults to true. EnableSqlParsing *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enable_sql_parsing,json=enableSqlParsing,proto3" json:"enable_sql_parsing,omitempty"` // Controls whether to terminate SSL session initiated by a client. // If the value is false, the Postgres proxy filter will not try to // terminate SSL session, but will pass all the packets to the upstream server. // If the value is true, the Postgres proxy filter will try to terminate SSL // session. In order to do that, the filter chain must use :ref:`starttls transport socket // `. // If the filter does not manage to terminate the SSL session, it will close the connection from the client. // Refer to official documentation for details // `SSL Session Encryption Message Flow `_. TerminateSsl bool `protobuf:"varint,3,opt,name=terminate_ssl,json=terminateSsl,proto3" json:"terminate_ssl,omitempty"` // Controls whether to establish upstream SSL connection to the server. // Envoy will try to establish upstream SSL connection to the server only when // Postgres filter is able to read Postgres payload in clear-text. It happens when // a client established a clear-text connection to Envoy or when a client established // SSL connection to Envoy and Postgres filter is configured to terminate SSL. // In order for upstream encryption to work, the corresponding cluster must be configured to use // :ref:`starttls transport socket `. // Defaults to “SSL_DISABLE“. UpstreamSsl PostgresProxy_SSLMode `protobuf:"varint,4,opt,name=upstream_ssl,json=upstreamSsl,proto3,enum=envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy_SSLMode" json:"upstream_ssl,omitempty"` } func (x *PostgresProxy) Reset() { *x = PostgresProxy{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PostgresProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*PostgresProxy) ProtoMessage() {} func (x *PostgresProxy) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PostgresProxy.ProtoReflect.Descriptor instead. func (*PostgresProxy) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescGZIP(), []int{0} } func (x *PostgresProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *PostgresProxy) GetEnableSqlParsing() *wrappers.BoolValue { if x != nil { return x.EnableSqlParsing } return nil } func (x *PostgresProxy) GetTerminateSsl() bool { if x != nil { return x.TerminateSsl } return false } func (x *PostgresProxy) GetUpstreamSsl() PostgresProxy_SSLMode { if x != nil { return x.UpstreamSsl } return PostgresProxy_DISABLE } var File_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDesc = []byte{ 0x0a, 0x54, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x02, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x48, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x71, 0x6c, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x73, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x12, 0x71, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x73, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x53, 0x53, 0x4c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x73, 0x6c, 0x22, 0x23, 0x0a, 0x07, 0x53, 0x53, 0x4c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x10, 0x01, 0x42, 0xcf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x12, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescData = file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_goTypes = []interface{}{ (PostgresProxy_SSLMode)(0), // 0: envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.SSLMode (*PostgresProxy)(nil), // 1: envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue } var file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.enable_sql_parsing:type_name -> google.protobuf.BoolValue 0, // 1: envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.upstream_ssl:type_name -> envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.SSLMode 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_init() } func file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_init() { if File_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PostgresProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_depIdxs, EnumInfos: file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_enumTypes, MessageInfos: file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto = out.File file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_postgres_proxy_v3alpha_postgres_proxy_proto_depIdxs = nil } postgres_proxy.pb.validate.go000077500000000000000000000106471454502223200373400ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/postgres_proxy/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/postgres_proxy/v3alpha/postgres_proxy.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PostgresProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PostgresProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PostgresProxy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PostgresProxyMultiError, or // nil if none found. func (m *PostgresProxy) ValidateAll() error { return m.validate(true) } func (m *PostgresProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := PostgresProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEnableSqlParsing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PostgresProxyValidationError{ field: "EnableSqlParsing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PostgresProxyValidationError{ field: "EnableSqlParsing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableSqlParsing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PostgresProxyValidationError{ field: "EnableSqlParsing", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TerminateSsl // no validation rules for UpstreamSsl if len(errors) > 0 { return PostgresProxyMultiError(errors) } return nil } // PostgresProxyMultiError is an error wrapping multiple validation errors // returned by PostgresProxy.ValidateAll() if the designated constraints // aren't met. type PostgresProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PostgresProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PostgresProxyMultiError) AllErrors() []error { return m } // PostgresProxyValidationError is the validation error returned by // PostgresProxy.Validate if the designated constraints aren't met. type PostgresProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PostgresProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PostgresProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PostgresProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PostgresProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PostgresProxyValidationError) ErrorName() string { return "PostgresProxyValidationError" } // Error satisfies the builtin error interface func (e PostgresProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPostgresProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PostgresProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PostgresProxyValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/000077500000000000000000000000001454502223200301775ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/000077500000000000000000000000001454502223200305275ustar00rootroot00000000000000rocketmq_proxy.pb.go000077500000000000000000000302101454502223200344640ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/rocketmq_proxy.proto package rocketmq_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RocketmqProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The route table for the connection manager is specified in this property. RouteConfig *RouteConfiguration `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // The largest duration transient object expected to live, more than 10s is recommended. TransientObjectLifeSpan *duration.Duration `protobuf:"bytes,3,opt,name=transient_object_life_span,json=transientObjectLifeSpan,proto3" json:"transient_object_life_span,omitempty"` // If develop_mode is enabled, this proxy plugin may work without dedicated traffic intercepting // facility without considering backward compatibility of exiting RocketMQ client SDK. DevelopMode bool `protobuf:"varint,4,opt,name=develop_mode,json=developMode,proto3" json:"develop_mode,omitempty"` } func (x *RocketmqProxy) Reset() { *x = RocketmqProxy{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RocketmqProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RocketmqProxy) ProtoMessage() {} func (x *RocketmqProxy) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RocketmqProxy.ProtoReflect.Descriptor instead. func (*RocketmqProxy) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescGZIP(), []int{0} } func (x *RocketmqProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RocketmqProxy) GetRouteConfig() *RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (x *RocketmqProxy) GetTransientObjectLifeSpan() *duration.Duration { if x != nil { return x.TransientObjectLifeSpan } return nil } func (x *RocketmqProxy) GetDevelopMode() bool { if x != nil { return x.DevelopMode } return false } var File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x46, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x69, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0xd4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescData = file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_goTypes = []interface{}{ (*RocketmqProxy)(nil), // 0: envoy.extensions.filters.network.rocketmq_proxy.v3.RocketmqProxy (*RouteConfiguration)(nil), // 1: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteConfiguration (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.rocketmq_proxy.v3.RocketmqProxy.route_config:type_name -> envoy.extensions.filters.network.rocketmq_proxy.v3.RouteConfiguration 2, // 1: envoy.extensions.filters.network.rocketmq_proxy.v3.RocketmqProxy.transient_object_life_span:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_init() } func file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_init() { if File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto != nil { return } file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_init() if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RocketmqProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto = out.File file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_rocketmq_proxy_proto_depIdxs = nil } rocketmq_proxy.pb.validate.go000077500000000000000000000123551454502223200362660ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/rocketmq_proxy.proto package rocketmq_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RocketmqProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RocketmqProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RocketmqProxy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RocketmqProxyMultiError, or // nil if none found. func (m *RocketmqProxy) ValidateAll() error { return m.validate(true) } func (m *RocketmqProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := RocketmqProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RocketmqProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RocketmqProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RocketmqProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransientObjectLifeSpan()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RocketmqProxyValidationError{ field: "TransientObjectLifeSpan", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RocketmqProxyValidationError{ field: "TransientObjectLifeSpan", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransientObjectLifeSpan()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RocketmqProxyValidationError{ field: "TransientObjectLifeSpan", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DevelopMode if len(errors) > 0 { return RocketmqProxyMultiError(errors) } return nil } // RocketmqProxyMultiError is an error wrapping multiple validation errors // returned by RocketmqProxy.ValidateAll() if the designated constraints // aren't met. type RocketmqProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RocketmqProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RocketmqProxyMultiError) AllErrors() []error { return m } // RocketmqProxyValidationError is the validation error returned by // RocketmqProxy.Validate if the designated constraints aren't met. type RocketmqProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RocketmqProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RocketmqProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RocketmqProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RocketmqProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RocketmqProxyValidationError) ErrorName() string { return "RocketmqProxyValidationError" } // Error satisfies the builtin error interface func (e RocketmqProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRocketmqProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RocketmqProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RocketmqProxyValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/route.pb.go000077500000000000000000000472121454502223200326250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/route.proto package rocketmq_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the topic. Topic *v3.StringMatcher `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` // Specifies a set of headers that the route should match on. The router will check the request’s // headers against all the specified headers in the route config. A match will happen if all the // headers in the route are present in the request with the same values (or based on presence if // the value field is not in the config). Headers []*v31.HeaderMatcher `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescGZIP(), []int{2} } func (x *RouteMatch) GetTopic() *v3.StringMatcher { if x != nil { return x.Topic } return nil } func (x *RouteMatch) GetHeaders() []*v31.HeaderMatcher { if x != nil { return x.Headers } return nil } type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. MetadataMatch *v32.Metadata `protobuf:"bytes,2,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescGZIP(), []int{3} } func (x *RouteAction) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RouteAction) GetMetadataMatch() *v32.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDesc = []byte{ 0x0a, 0x46, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5f, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x77, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0xcc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescData = file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteConfiguration (*Route)(nil), // 1: envoy.extensions.filters.network.rocketmq_proxy.v3.Route (*RouteMatch)(nil), // 2: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteMatch (*RouteAction)(nil), // 3: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteAction (*v3.StringMatcher)(nil), // 4: envoy.type.matcher.v3.StringMatcher (*v31.HeaderMatcher)(nil), // 5: envoy.config.route.v3.HeaderMatcher (*v32.Metadata)(nil), // 6: envoy.config.core.v3.Metadata } var file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteConfiguration.routes:type_name -> envoy.extensions.filters.network.rocketmq_proxy.v3.Route 2, // 1: envoy.extensions.filters.network.rocketmq_proxy.v3.Route.match:type_name -> envoy.extensions.filters.network.rocketmq_proxy.v3.RouteMatch 3, // 2: envoy.extensions.filters.network.rocketmq_proxy.v3.Route.route:type_name -> envoy.extensions.filters.network.rocketmq_proxy.v3.RouteAction 4, // 3: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteMatch.topic:type_name -> envoy.type.matcher.v3.StringMatcher 5, // 4: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 6, // 5: envoy.extensions.filters.network.rocketmq_proxy.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_init() } func file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_init() { if File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto = out.File file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_rocketmq_proxy_v3_route_proto_depIdxs = nil } route.pb.validate.go000077500000000000000000000414531454502223200343370ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/rocketmq_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/rocketmq_proxy/v3/route.proto package rocketmq_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTopic() == nil { err := RouteMatchValidationError{ field: "Topic", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTopic()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Topic", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Topic", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTopic()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "Topic", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/000077500000000000000000000000001454502223200271455ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/router/000077500000000000000000000000001454502223200304655ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha/000077500000000000000000000000001454502223200320235ustar00rootroot00000000000000router.pb.go000077500000000000000000000170341454502223200342230ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha/router.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x08, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x47, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescData = file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.extensions.filters.network.sip_proxy.router.v3alpha.Router } var file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_init() } func file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_init() { if File_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto = out.File file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_sip_proxy_router_v3alpha_router_proto_depIdxs = nil } router.pb.validate.go000077500000000000000000000061121454502223200360060ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha/router.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/tra/000077500000000000000000000000001454502223200277335ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha/000077500000000000000000000000001454502223200312715ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha/tra.pb.go000077500000000000000000002303241454502223200330150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha/tra.proto package v3alpha import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TraServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the gRPC service that hosts the rate limit service. The client // will connect to this cluster when it needs to make rate limit service // requests. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // API version for rate limit transport protocol. This describes the rate limit gRPC endpoint and // version of messages used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,2,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *TraServiceConfig) Reset() { *x = TraServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraServiceConfig) ProtoMessage() {} func (x *TraServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraServiceConfig.ProtoReflect.Descriptor instead. func (*TraServiceConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{0} } func (x *TraServiceConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *TraServiceConfig) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } func (x *TraServiceConfig) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } // [#next-free-field: 7] type TraServiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // Types that are assignable to Request: // // *TraServiceRequest_CreateRequest // *TraServiceRequest_UpdateRequest // *TraServiceRequest_RetrieveRequest // *TraServiceRequest_DeleteRequest // *TraServiceRequest_SubscribeRequest Request isTraServiceRequest_Request `protobuf_oneof:"request"` } func (x *TraServiceRequest) Reset() { *x = TraServiceRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraServiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraServiceRequest) ProtoMessage() {} func (x *TraServiceRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraServiceRequest.ProtoReflect.Descriptor instead. func (*TraServiceRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{1} } func (x *TraServiceRequest) GetType() string { if x != nil { return x.Type } return "" } func (m *TraServiceRequest) GetRequest() isTraServiceRequest_Request { if m != nil { return m.Request } return nil } func (x *TraServiceRequest) GetCreateRequest() *CreateRequest { if x, ok := x.GetRequest().(*TraServiceRequest_CreateRequest); ok { return x.CreateRequest } return nil } func (x *TraServiceRequest) GetUpdateRequest() *UpdateRequest { if x, ok := x.GetRequest().(*TraServiceRequest_UpdateRequest); ok { return x.UpdateRequest } return nil } func (x *TraServiceRequest) GetRetrieveRequest() *RetrieveRequest { if x, ok := x.GetRequest().(*TraServiceRequest_RetrieveRequest); ok { return x.RetrieveRequest } return nil } func (x *TraServiceRequest) GetDeleteRequest() *DeleteRequest { if x, ok := x.GetRequest().(*TraServiceRequest_DeleteRequest); ok { return x.DeleteRequest } return nil } func (x *TraServiceRequest) GetSubscribeRequest() *SubscribeRequest { if x, ok := x.GetRequest().(*TraServiceRequest_SubscribeRequest); ok { return x.SubscribeRequest } return nil } type isTraServiceRequest_Request interface { isTraServiceRequest_Request() } type TraServiceRequest_CreateRequest struct { CreateRequest *CreateRequest `protobuf:"bytes,2,opt,name=create_request,json=createRequest,proto3,oneof"` } type TraServiceRequest_UpdateRequest struct { UpdateRequest *UpdateRequest `protobuf:"bytes,3,opt,name=update_request,json=updateRequest,proto3,oneof"` } type TraServiceRequest_RetrieveRequest struct { RetrieveRequest *RetrieveRequest `protobuf:"bytes,4,opt,name=retrieve_request,json=retrieveRequest,proto3,oneof"` } type TraServiceRequest_DeleteRequest struct { DeleteRequest *DeleteRequest `protobuf:"bytes,5,opt,name=delete_request,json=deleteRequest,proto3,oneof"` } type TraServiceRequest_SubscribeRequest struct { SubscribeRequest *SubscribeRequest `protobuf:"bytes,6,opt,name=subscribe_request,json=subscribeRequest,proto3,oneof"` } func (*TraServiceRequest_CreateRequest) isTraServiceRequest_Request() {} func (*TraServiceRequest_UpdateRequest) isTraServiceRequest_Request() {} func (*TraServiceRequest_RetrieveRequest) isTraServiceRequest_Request() {} func (*TraServiceRequest_DeleteRequest) isTraServiceRequest_Request() {} func (*TraServiceRequest_SubscribeRequest) isTraServiceRequest_Request() {} // [#next-free-field: 9] type TraServiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` Ret int32 `protobuf:"varint,2,opt,name=ret,proto3" json:"ret,omitempty"` Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` // Types that are assignable to Response: // // *TraServiceResponse_CreateResponse // *TraServiceResponse_UpdateResponse // *TraServiceResponse_RetrieveResponse // *TraServiceResponse_DeleteResponse // *TraServiceResponse_SubscribeResponse Response isTraServiceResponse_Response `protobuf_oneof:"response"` } func (x *TraServiceResponse) Reset() { *x = TraServiceResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraServiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraServiceResponse) ProtoMessage() {} func (x *TraServiceResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraServiceResponse.ProtoReflect.Descriptor instead. func (*TraServiceResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{2} } func (x *TraServiceResponse) GetType() string { if x != nil { return x.Type } return "" } func (x *TraServiceResponse) GetRet() int32 { if x != nil { return x.Ret } return 0 } func (x *TraServiceResponse) GetReason() string { if x != nil { return x.Reason } return "" } func (m *TraServiceResponse) GetResponse() isTraServiceResponse_Response { if m != nil { return m.Response } return nil } func (x *TraServiceResponse) GetCreateResponse() *CreateResponse { if x, ok := x.GetResponse().(*TraServiceResponse_CreateResponse); ok { return x.CreateResponse } return nil } func (x *TraServiceResponse) GetUpdateResponse() *UpdateResponse { if x, ok := x.GetResponse().(*TraServiceResponse_UpdateResponse); ok { return x.UpdateResponse } return nil } func (x *TraServiceResponse) GetRetrieveResponse() *RetrieveResponse { if x, ok := x.GetResponse().(*TraServiceResponse_RetrieveResponse); ok { return x.RetrieveResponse } return nil } func (x *TraServiceResponse) GetDeleteResponse() *DeleteResponse { if x, ok := x.GetResponse().(*TraServiceResponse_DeleteResponse); ok { return x.DeleteResponse } return nil } func (x *TraServiceResponse) GetSubscribeResponse() *SubscribeResponse { if x, ok := x.GetResponse().(*TraServiceResponse_SubscribeResponse); ok { return x.SubscribeResponse } return nil } type isTraServiceResponse_Response interface { isTraServiceResponse_Response() } type TraServiceResponse_CreateResponse struct { CreateResponse *CreateResponse `protobuf:"bytes,4,opt,name=create_response,json=createResponse,proto3,oneof"` } type TraServiceResponse_UpdateResponse struct { UpdateResponse *UpdateResponse `protobuf:"bytes,5,opt,name=update_response,json=updateResponse,proto3,oneof"` } type TraServiceResponse_RetrieveResponse struct { RetrieveResponse *RetrieveResponse `protobuf:"bytes,6,opt,name=retrieve_response,json=retrieveResponse,proto3,oneof"` } type TraServiceResponse_DeleteResponse struct { DeleteResponse *DeleteResponse `protobuf:"bytes,7,opt,name=delete_response,json=deleteResponse,proto3,oneof"` } type TraServiceResponse_SubscribeResponse struct { SubscribeResponse *SubscribeResponse `protobuf:"bytes,8,opt,name=subscribe_response,json=subscribeResponse,proto3,oneof"` } func (*TraServiceResponse_CreateResponse) isTraServiceResponse_Response() {} func (*TraServiceResponse_UpdateResponse) isTraServiceResponse_Response() {} func (*TraServiceResponse_RetrieveResponse) isTraServiceResponse_Response() {} func (*TraServiceResponse_DeleteResponse) isTraServiceResponse_Response() {} func (*TraServiceResponse_SubscribeResponse) isTraServiceResponse_Response() {} type CreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data map[string]string `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Context map[string]string `protobuf:"bytes,2,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CreateRequest) Reset() { *x = CreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRequest) ProtoMessage() {} func (x *CreateRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead. func (*CreateRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{3} } func (x *CreateRequest) GetData() map[string]string { if x != nil { return x.Data } return nil } func (x *CreateRequest) GetContext() map[string]string { if x != nil { return x.Context } return nil } type CreateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateResponse) Reset() { *x = CreateResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateResponse) ProtoMessage() {} func (x *CreateResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead. func (*CreateResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{4} } type UpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data map[string]string `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Context map[string]string `protobuf:"bytes,2,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *UpdateRequest) Reset() { *x = UpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRequest) ProtoMessage() {} func (x *UpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead. func (*UpdateRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{5} } func (x *UpdateRequest) GetData() map[string]string { if x != nil { return x.Data } return nil } func (x *UpdateRequest) GetContext() map[string]string { if x != nil { return x.Context } return nil } type UpdateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpdateResponse) Reset() { *x = UpdateResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateResponse) ProtoMessage() {} func (x *UpdateResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead. func (*UpdateResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{6} } type RetrieveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Context map[string]string `protobuf:"bytes,2,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *RetrieveRequest) Reset() { *x = RetrieveRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetrieveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetrieveRequest) ProtoMessage() {} func (x *RetrieveRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetrieveRequest.ProtoReflect.Descriptor instead. func (*RetrieveRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{7} } func (x *RetrieveRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *RetrieveRequest) GetContext() map[string]string { if x != nil { return x.Context } return nil } type RetrieveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data map[string]string `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *RetrieveResponse) Reset() { *x = RetrieveResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetrieveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetrieveResponse) ProtoMessage() {} func (x *RetrieveResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetrieveResponse.ProtoReflect.Descriptor instead. func (*RetrieveResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{8} } func (x *RetrieveResponse) GetData() map[string]string { if x != nil { return x.Data } return nil } type DeleteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Context map[string]string `protobuf:"bytes,2,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *DeleteRequest) Reset() { *x = DeleteRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteRequest) ProtoMessage() {} func (x *DeleteRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. func (*DeleteRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{9} } func (x *DeleteRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *DeleteRequest) GetContext() map[string]string { if x != nil { return x.Context } return nil } type DeleteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DeleteResponse) Reset() { *x = DeleteResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteResponse) ProtoMessage() {} func (x *DeleteResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. func (*DeleteResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{10} } type SubscribeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SubscribeRequest) Reset() { *x = SubscribeRequest{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubscribeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubscribeRequest) ProtoMessage() {} func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. func (*SubscribeRequest) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{11} } type SubscribeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data map[string]string `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *SubscribeResponse) Reset() { *x = SubscribeResponse{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubscribeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubscribeResponse) ProtoMessage() {} func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. func (*SubscribeResponse) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP(), []int{12} } func (x *SubscribeResponse) GetData() map[string]string { if x != nil { return x.Data } return nil } var File_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDesc = []byte{ 0x0a, 0x48, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x74, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x72, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xf1, 0x04, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x6e, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x74, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xac, 0x05, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb3, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcb, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xc7, 0x06, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa1, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x12, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa1, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa6, 0x01, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xc1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x54, 0x72, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x74, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescData = file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_goTypes = []interface{}{ (*TraServiceConfig)(nil), // 0: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig (*TraServiceRequest)(nil), // 1: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest (*TraServiceResponse)(nil), // 2: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse (*CreateRequest)(nil), // 3: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest (*CreateResponse)(nil), // 4: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateResponse (*UpdateRequest)(nil), // 5: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest (*UpdateResponse)(nil), // 6: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateResponse (*RetrieveRequest)(nil), // 7: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveRequest (*RetrieveResponse)(nil), // 8: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveResponse (*DeleteRequest)(nil), // 9: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteRequest (*DeleteResponse)(nil), // 10: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteResponse (*SubscribeRequest)(nil), // 11: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeRequest (*SubscribeResponse)(nil), // 12: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeResponse nil, // 13: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.DataEntry nil, // 14: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.ContextEntry nil, // 15: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.DataEntry nil, // 16: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.ContextEntry nil, // 17: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveRequest.ContextEntry nil, // 18: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveResponse.DataEntry nil, // 19: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteRequest.ContextEntry nil, // 20: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeResponse.DataEntry (*v3.GrpcService)(nil), // 21: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 22: envoy.config.core.v3.ApiVersion (*duration.Duration)(nil), // 23: google.protobuf.Duration } var file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_depIdxs = []int32{ 21, // 0: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 22, // 1: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 23, // 2: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig.timeout:type_name -> google.protobuf.Duration 3, // 3: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest.create_request:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest 5, // 4: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest.update_request:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest 7, // 5: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest.retrieve_request:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveRequest 9, // 6: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest.delete_request:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteRequest 11, // 7: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest.subscribe_request:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeRequest 4, // 8: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse.create_response:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateResponse 6, // 9: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse.update_response:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateResponse 8, // 10: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse.retrieve_response:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveResponse 10, // 11: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse.delete_response:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteResponse 12, // 12: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse.subscribe_response:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeResponse 13, // 13: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.data:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.DataEntry 14, // 14: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.context:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.CreateRequest.ContextEntry 15, // 15: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.data:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.DataEntry 16, // 16: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.context:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.UpdateRequest.ContextEntry 17, // 17: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveRequest.context:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveRequest.ContextEntry 18, // 18: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveResponse.data:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.RetrieveResponse.DataEntry 19, // 19: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteRequest.context:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.DeleteRequest.ContextEntry 20, // 20: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeResponse.data:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.SubscribeResponse.DataEntry 1, // 21: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Create:input_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest 1, // 22: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Update:input_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest 1, // 23: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Retrieve:input_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest 1, // 24: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Delete:input_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest 1, // 25: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Subscribe:input_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceRequest 2, // 26: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Create:output_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse 2, // 27: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Update:output_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse 2, // 28: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Retrieve:output_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse 2, // 29: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Delete:output_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse 2, // 30: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService.Subscribe:output_type -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceResponse 26, // [26:31] is the sub-list for method output_type 21, // [21:26] is the sub-list for method input_type 21, // [21:21] is the sub-list for extension type_name 21, // [21:21] is the sub-list for extension extendee 0, // [0:21] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_init() } func file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_init() { if File_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraServiceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraServiceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetrieveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetrieveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[1].OneofWrappers = []interface{}{ (*TraServiceRequest_CreateRequest)(nil), (*TraServiceRequest_UpdateRequest)(nil), (*TraServiceRequest_RetrieveRequest)(nil), (*TraServiceRequest_DeleteRequest)(nil), (*TraServiceRequest_SubscribeRequest)(nil), } file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes[2].OneofWrappers = []interface{}{ (*TraServiceResponse_CreateResponse)(nil), (*TraServiceResponse_UpdateResponse)(nil), (*TraServiceResponse_RetrieveResponse)(nil), (*TraServiceResponse_DeleteResponse)(nil), (*TraServiceResponse_SubscribeResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDesc, NumEnums: 0, NumMessages: 21, NumExtensions: 0, NumServices: 1, }, GoTypes: file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto = out.File file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_sip_proxy_tra_v3alpha_tra_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // TraServiceClient is the client API for TraService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type TraServiceClient interface { Create(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) Update(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) Retrieve(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) Delete(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) Subscribe(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (TraService_SubscribeClient, error) } type traServiceClient struct { cc grpc.ClientConnInterface } func NewTraServiceClient(cc grpc.ClientConnInterface) TraServiceClient { return &traServiceClient{cc} } func (c *traServiceClient) Create(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) { out := new(TraServiceResponse) err := c.cc.Invoke(ctx, "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Create", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *traServiceClient) Update(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) { out := new(TraServiceResponse) err := c.cc.Invoke(ctx, "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Update", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *traServiceClient) Retrieve(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) { out := new(TraServiceResponse) err := c.cc.Invoke(ctx, "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Retrieve", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *traServiceClient) Delete(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (*TraServiceResponse, error) { out := new(TraServiceResponse) err := c.cc.Invoke(ctx, "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Delete", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *traServiceClient) Subscribe(ctx context.Context, in *TraServiceRequest, opts ...grpc.CallOption) (TraService_SubscribeClient, error) { stream, err := c.cc.NewStream(ctx, &_TraService_serviceDesc.Streams[0], "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Subscribe", opts...) if err != nil { return nil, err } x := &traServiceSubscribeClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type TraService_SubscribeClient interface { Recv() (*TraServiceResponse, error) grpc.ClientStream } type traServiceSubscribeClient struct { grpc.ClientStream } func (x *traServiceSubscribeClient) Recv() (*TraServiceResponse, error) { m := new(TraServiceResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // TraServiceServer is the server API for TraService service. type TraServiceServer interface { Create(context.Context, *TraServiceRequest) (*TraServiceResponse, error) Update(context.Context, *TraServiceRequest) (*TraServiceResponse, error) Retrieve(context.Context, *TraServiceRequest) (*TraServiceResponse, error) Delete(context.Context, *TraServiceRequest) (*TraServiceResponse, error) Subscribe(*TraServiceRequest, TraService_SubscribeServer) error } // UnimplementedTraServiceServer can be embedded to have forward compatible implementations. type UnimplementedTraServiceServer struct { } func (*UnimplementedTraServiceServer) Create(context.Context, *TraServiceRequest) (*TraServiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") } func (*UnimplementedTraServiceServer) Update(context.Context, *TraServiceRequest) (*TraServiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") } func (*UnimplementedTraServiceServer) Retrieve(context.Context, *TraServiceRequest) (*TraServiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Retrieve not implemented") } func (*UnimplementedTraServiceServer) Delete(context.Context, *TraServiceRequest) (*TraServiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } func (*UnimplementedTraServiceServer) Subscribe(*TraServiceRequest, TraService_SubscribeServer) error { return status.Errorf(codes.Unimplemented, "method Subscribe not implemented") } func RegisterTraServiceServer(s *grpc.Server, srv TraServiceServer) { s.RegisterService(&_TraService_serviceDesc, srv) } func _TraService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TraServiceRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(TraServiceServer).Create(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Create", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(TraServiceServer).Create(ctx, req.(*TraServiceRequest)) } return interceptor(ctx, in, info, handler) } func _TraService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TraServiceRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(TraServiceServer).Update(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Update", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(TraServiceServer).Update(ctx, req.(*TraServiceRequest)) } return interceptor(ctx, in, info, handler) } func _TraService_Retrieve_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TraServiceRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(TraServiceServer).Retrieve(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Retrieve", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(TraServiceServer).Retrieve(ctx, req.(*TraServiceRequest)) } return interceptor(ctx, in, info, handler) } func _TraService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TraServiceRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(TraServiceServer).Delete(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService/Delete", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(TraServiceServer).Delete(ctx, req.(*TraServiceRequest)) } return interceptor(ctx, in, info, handler) } func _TraService_Subscribe_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TraServiceRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(TraServiceServer).Subscribe(m, &traServiceSubscribeServer{stream}) } type TraService_SubscribeServer interface { Send(*TraServiceResponse) error grpc.ServerStream } type traServiceSubscribeServer struct { grpc.ServerStream } func (x *traServiceSubscribeServer) Send(m *TraServiceResponse) error { return x.ServerStream.SendMsg(m) } var _TraService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraService", HandlerType: (*TraServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Create", Handler: _TraService_Create_Handler, }, { MethodName: "Update", Handler: _TraService_Update_Handler, }, { MethodName: "Retrieve", Handler: _TraService_Retrieve_Handler, }, { MethodName: "Delete", Handler: _TraService_Delete_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Subscribe", Handler: _TraService_Subscribe_Handler, ServerStreams: true, }, }, Metadata: "contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha/tra.proto", } tra.pb.validate.go000077500000000000000000001433461454502223200345350ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha/tra.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on TraServiceConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TraServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraServiceConfigMultiError, or nil if none found. func (m *TraServiceConfig) ValidateAll() error { return m.validate(true) } func (m *TraServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := TraServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := TraServiceConfigValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceConfigValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceConfigValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceConfigValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TraServiceConfigMultiError(errors) } return nil } // TraServiceConfigMultiError is an error wrapping multiple validation errors // returned by TraServiceConfig.ValidateAll() if the designated constraints // aren't met. type TraServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraServiceConfigMultiError) AllErrors() []error { return m } // TraServiceConfigValidationError is the validation error returned by // TraServiceConfig.Validate if the designated constraints aren't met. type TraServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraServiceConfigValidationError) ErrorName() string { return "TraServiceConfigValidationError" } // Error satisfies the builtin error interface func (e TraServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraServiceConfigValidationError{} // Validate checks the field values on TraServiceRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TraServiceRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraServiceRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraServiceRequestMultiError, or nil if none found. func (m *TraServiceRequest) ValidateAll() error { return m.validate(true) } func (m *TraServiceRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type switch v := m.Request.(type) { case *TraServiceRequest_CreateRequest: if v == nil { err := TraServiceRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCreateRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "CreateRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "CreateRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCreateRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceRequestValidationError{ field: "CreateRequest", reason: "embedded message failed validation", cause: err, } } } case *TraServiceRequest_UpdateRequest: if v == nil { err := TraServiceRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUpdateRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "UpdateRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "UpdateRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpdateRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceRequestValidationError{ field: "UpdateRequest", reason: "embedded message failed validation", cause: err, } } } case *TraServiceRequest_RetrieveRequest: if v == nil { err := TraServiceRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRetrieveRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "RetrieveRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "RetrieveRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetrieveRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceRequestValidationError{ field: "RetrieveRequest", reason: "embedded message failed validation", cause: err, } } } case *TraServiceRequest_DeleteRequest: if v == nil { err := TraServiceRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDeleteRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "DeleteRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "DeleteRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeleteRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceRequestValidationError{ field: "DeleteRequest", reason: "embedded message failed validation", cause: err, } } } case *TraServiceRequest_SubscribeRequest: if v == nil { err := TraServiceRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSubscribeRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "SubscribeRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceRequestValidationError{ field: "SubscribeRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubscribeRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceRequestValidationError{ field: "SubscribeRequest", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return TraServiceRequestMultiError(errors) } return nil } // TraServiceRequestMultiError is an error wrapping multiple validation errors // returned by TraServiceRequest.ValidateAll() if the designated constraints // aren't met. type TraServiceRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraServiceRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraServiceRequestMultiError) AllErrors() []error { return m } // TraServiceRequestValidationError is the validation error returned by // TraServiceRequest.Validate if the designated constraints aren't met. type TraServiceRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraServiceRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraServiceRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraServiceRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraServiceRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraServiceRequestValidationError) ErrorName() string { return "TraServiceRequestValidationError" } // Error satisfies the builtin error interface func (e TraServiceRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraServiceRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraServiceRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraServiceRequestValidationError{} // Validate checks the field values on TraServiceResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TraServiceResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraServiceResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraServiceResponseMultiError, or nil if none found. func (m *TraServiceResponse) ValidateAll() error { return m.validate(true) } func (m *TraServiceResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type // no validation rules for Ret // no validation rules for Reason switch v := m.Response.(type) { case *TraServiceResponse_CreateResponse: if v == nil { err := TraServiceResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCreateResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "CreateResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "CreateResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCreateResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceResponseValidationError{ field: "CreateResponse", reason: "embedded message failed validation", cause: err, } } } case *TraServiceResponse_UpdateResponse: if v == nil { err := TraServiceResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUpdateResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "UpdateResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "UpdateResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpdateResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceResponseValidationError{ field: "UpdateResponse", reason: "embedded message failed validation", cause: err, } } } case *TraServiceResponse_RetrieveResponse: if v == nil { err := TraServiceResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRetrieveResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "RetrieveResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "RetrieveResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetrieveResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceResponseValidationError{ field: "RetrieveResponse", reason: "embedded message failed validation", cause: err, } } } case *TraServiceResponse_DeleteResponse: if v == nil { err := TraServiceResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDeleteResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "DeleteResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "DeleteResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeleteResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceResponseValidationError{ field: "DeleteResponse", reason: "embedded message failed validation", cause: err, } } } case *TraServiceResponse_SubscribeResponse: if v == nil { err := TraServiceResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSubscribeResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "SubscribeResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraServiceResponseValidationError{ field: "SubscribeResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubscribeResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraServiceResponseValidationError{ field: "SubscribeResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return TraServiceResponseMultiError(errors) } return nil } // TraServiceResponseMultiError is an error wrapping multiple validation errors // returned by TraServiceResponse.ValidateAll() if the designated constraints // aren't met. type TraServiceResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraServiceResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraServiceResponseMultiError) AllErrors() []error { return m } // TraServiceResponseValidationError is the validation error returned by // TraServiceResponse.Validate if the designated constraints aren't met. type TraServiceResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraServiceResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraServiceResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraServiceResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraServiceResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraServiceResponseValidationError) ErrorName() string { return "TraServiceResponseValidationError" } // Error satisfies the builtin error interface func (e TraServiceResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraServiceResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraServiceResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraServiceResponseValidationError{} // Validate checks the field values on CreateRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CreateRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CreateRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CreateRequestMultiError, or // nil if none found. func (m *CreateRequest) ValidateAll() error { return m.validate(true) } func (m *CreateRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Data // no validation rules for Context if len(errors) > 0 { return CreateRequestMultiError(errors) } return nil } // CreateRequestMultiError is an error wrapping multiple validation errors // returned by CreateRequest.ValidateAll() if the designated constraints // aren't met. type CreateRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CreateRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CreateRequestMultiError) AllErrors() []error { return m } // CreateRequestValidationError is the validation error returned by // CreateRequest.Validate if the designated constraints aren't met. type CreateRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CreateRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CreateRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CreateRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CreateRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CreateRequestValidationError) ErrorName() string { return "CreateRequestValidationError" } // Error satisfies the builtin error interface func (e CreateRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCreateRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CreateRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CreateRequestValidationError{} // Validate checks the field values on CreateResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CreateResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CreateResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CreateResponseMultiError, // or nil if none found. func (m *CreateResponse) ValidateAll() error { return m.validate(true) } func (m *CreateResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CreateResponseMultiError(errors) } return nil } // CreateResponseMultiError is an error wrapping multiple validation errors // returned by CreateResponse.ValidateAll() if the designated constraints // aren't met. type CreateResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CreateResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CreateResponseMultiError) AllErrors() []error { return m } // CreateResponseValidationError is the validation error returned by // CreateResponse.Validate if the designated constraints aren't met. type CreateResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CreateResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CreateResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CreateResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CreateResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CreateResponseValidationError) ErrorName() string { return "CreateResponseValidationError" } // Error satisfies the builtin error interface func (e CreateResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCreateResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CreateResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CreateResponseValidationError{} // Validate checks the field values on UpdateRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UpdateRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpdateRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UpdateRequestMultiError, or // nil if none found. func (m *UpdateRequest) ValidateAll() error { return m.validate(true) } func (m *UpdateRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Data // no validation rules for Context if len(errors) > 0 { return UpdateRequestMultiError(errors) } return nil } // UpdateRequestMultiError is an error wrapping multiple validation errors // returned by UpdateRequest.ValidateAll() if the designated constraints // aren't met. type UpdateRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpdateRequestMultiError) AllErrors() []error { return m } // UpdateRequestValidationError is the validation error returned by // UpdateRequest.Validate if the designated constraints aren't met. type UpdateRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpdateRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpdateRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpdateRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpdateRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpdateRequestValidationError) ErrorName() string { return "UpdateRequestValidationError" } // Error satisfies the builtin error interface func (e UpdateRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpdateRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpdateRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpdateRequestValidationError{} // Validate checks the field values on UpdateResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UpdateResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpdateResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UpdateResponseMultiError, // or nil if none found. func (m *UpdateResponse) ValidateAll() error { return m.validate(true) } func (m *UpdateResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UpdateResponseMultiError(errors) } return nil } // UpdateResponseMultiError is an error wrapping multiple validation errors // returned by UpdateResponse.ValidateAll() if the designated constraints // aren't met. type UpdateResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpdateResponseMultiError) AllErrors() []error { return m } // UpdateResponseValidationError is the validation error returned by // UpdateResponse.Validate if the designated constraints aren't met. type UpdateResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpdateResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpdateResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpdateResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpdateResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpdateResponseValidationError) ErrorName() string { return "UpdateResponseValidationError" } // Error satisfies the builtin error interface func (e UpdateResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpdateResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpdateResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpdateResponseValidationError{} // Validate checks the field values on RetrieveRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RetrieveRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetrieveRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetrieveRequestMultiError, or nil if none found. func (m *RetrieveRequest) ValidateAll() error { return m.validate(true) } func (m *RetrieveRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key // no validation rules for Context if len(errors) > 0 { return RetrieveRequestMultiError(errors) } return nil } // RetrieveRequestMultiError is an error wrapping multiple validation errors // returned by RetrieveRequest.ValidateAll() if the designated constraints // aren't met. type RetrieveRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetrieveRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetrieveRequestMultiError) AllErrors() []error { return m } // RetrieveRequestValidationError is the validation error returned by // RetrieveRequest.Validate if the designated constraints aren't met. type RetrieveRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetrieveRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetrieveRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetrieveRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetrieveRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetrieveRequestValidationError) ErrorName() string { return "RetrieveRequestValidationError" } // Error satisfies the builtin error interface func (e RetrieveRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetrieveRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetrieveRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetrieveRequestValidationError{} // Validate checks the field values on RetrieveResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RetrieveResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetrieveResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetrieveResponseMultiError, or nil if none found. func (m *RetrieveResponse) ValidateAll() error { return m.validate(true) } func (m *RetrieveResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Data if len(errors) > 0 { return RetrieveResponseMultiError(errors) } return nil } // RetrieveResponseMultiError is an error wrapping multiple validation errors // returned by RetrieveResponse.ValidateAll() if the designated constraints // aren't met. type RetrieveResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetrieveResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetrieveResponseMultiError) AllErrors() []error { return m } // RetrieveResponseValidationError is the validation error returned by // RetrieveResponse.Validate if the designated constraints aren't met. type RetrieveResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetrieveResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetrieveResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetrieveResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetrieveResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetrieveResponseValidationError) ErrorName() string { return "RetrieveResponseValidationError" } // Error satisfies the builtin error interface func (e RetrieveResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetrieveResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetrieveResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetrieveResponseValidationError{} // Validate checks the field values on DeleteRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DeleteRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeleteRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DeleteRequestMultiError, or // nil if none found. func (m *DeleteRequest) ValidateAll() error { return m.validate(true) } func (m *DeleteRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key // no validation rules for Context if len(errors) > 0 { return DeleteRequestMultiError(errors) } return nil } // DeleteRequestMultiError is an error wrapping multiple validation errors // returned by DeleteRequest.ValidateAll() if the designated constraints // aren't met. type DeleteRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeleteRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeleteRequestMultiError) AllErrors() []error { return m } // DeleteRequestValidationError is the validation error returned by // DeleteRequest.Validate if the designated constraints aren't met. type DeleteRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeleteRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeleteRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeleteRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeleteRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeleteRequestValidationError) ErrorName() string { return "DeleteRequestValidationError" } // Error satisfies the builtin error interface func (e DeleteRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeleteRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeleteRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeleteRequestValidationError{} // Validate checks the field values on DeleteResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DeleteResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeleteResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DeleteResponseMultiError, // or nil if none found. func (m *DeleteResponse) ValidateAll() error { return m.validate(true) } func (m *DeleteResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DeleteResponseMultiError(errors) } return nil } // DeleteResponseMultiError is an error wrapping multiple validation errors // returned by DeleteResponse.ValidateAll() if the designated constraints // aren't met. type DeleteResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeleteResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeleteResponseMultiError) AllErrors() []error { return m } // DeleteResponseValidationError is the validation error returned by // DeleteResponse.Validate if the designated constraints aren't met. type DeleteResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeleteResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeleteResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeleteResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeleteResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeleteResponseValidationError) ErrorName() string { return "DeleteResponseValidationError" } // Error satisfies the builtin error interface func (e DeleteResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeleteResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeleteResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeleteResponseValidationError{} // Validate checks the field values on SubscribeRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SubscribeRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubscribeRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubscribeRequestMultiError, or nil if none found. func (m *SubscribeRequest) ValidateAll() error { return m.validate(true) } func (m *SubscribeRequest) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SubscribeRequestMultiError(errors) } return nil } // SubscribeRequestMultiError is an error wrapping multiple validation errors // returned by SubscribeRequest.ValidateAll() if the designated constraints // aren't met. type SubscribeRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubscribeRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubscribeRequestMultiError) AllErrors() []error { return m } // SubscribeRequestValidationError is the validation error returned by // SubscribeRequest.Validate if the designated constraints aren't met. type SubscribeRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubscribeRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubscribeRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubscribeRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubscribeRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubscribeRequestValidationError) ErrorName() string { return "SubscribeRequestValidationError" } // Error satisfies the builtin error interface func (e SubscribeRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubscribeRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubscribeRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubscribeRequestValidationError{} // Validate checks the field values on SubscribeResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SubscribeResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubscribeResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubscribeResponseMultiError, or nil if none found. func (m *SubscribeResponse) ValidateAll() error { return m.validate(true) } func (m *SubscribeResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Data if len(errors) > 0 { return SubscribeResponseMultiError(errors) } return nil } // SubscribeResponseMultiError is an error wrapping multiple validation errors // returned by SubscribeResponse.ValidateAll() if the designated constraints // aren't met. type SubscribeResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubscribeResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubscribeResponseMultiError) AllErrors() []error { return m } // SubscribeResponseValidationError is the validation error returned by // SubscribeResponse.Validate if the designated constraints aren't met. type SubscribeResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubscribeResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubscribeResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubscribeResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubscribeResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubscribeResponseValidationError) ErrorName() string { return "SubscribeResponseValidationError" } // Error satisfies the builtin error interface func (e SubscribeResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubscribeResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubscribeResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubscribeResponseValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/000077500000000000000000000000001454502223200305035ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/route.pb.go000077500000000000000000000451421454502223200326010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/route.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. Reserved for future use in asynchronous route discovery. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchSpecifier: // // *RouteMatch_Domain MatchSpecifier isRouteMatch_MatchSpecifier `protobuf_oneof:"match_specifier"` // The header to get match parameter, default is "Route". Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` // The parameter to get domain, default is "host". Parameter string `protobuf:"bytes,3,opt,name=parameter,proto3" json:"parameter,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescGZIP(), []int{2} } func (m *RouteMatch) GetMatchSpecifier() isRouteMatch_MatchSpecifier { if m != nil { return m.MatchSpecifier } return nil } func (x *RouteMatch) GetDomain() string { if x, ok := x.GetMatchSpecifier().(*RouteMatch_Domain); ok { return x.Domain } return "" } func (x *RouteMatch) GetHeader() string { if x != nil { return x.Header } return "" } func (x *RouteMatch) GetParameter() string { if x != nil { return x.Parameter } return "" } type isRouteMatch_MatchSpecifier interface { isRouteMatch_MatchSpecifier() } type RouteMatch_Domain struct { // The domain from Request URI or Route Header. Domain string `protobuf:"bytes,1,opt,name=domain,proto3,oneof"` } func (*RouteMatch_Domain) isRouteMatch_MatchSpecifier() {} type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescGZIP(), []int{3} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates a single upstream cluster to which the request should be routed // to. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} var File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDesc = []byte{ 0x0a, 0x46, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5f, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x74, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x4c, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xbb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescData = file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration (*Route)(nil), // 1: envoy.extensions.filters.network.sip_proxy.v3alpha.Route (*RouteMatch)(nil), // 2: envoy.extensions.filters.network.sip_proxy.v3alpha.RouteMatch (*RouteAction)(nil), // 3: envoy.extensions.filters.network.sip_proxy.v3alpha.RouteAction } var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration.routes:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.Route 2, // 1: envoy.extensions.filters.network.sip_proxy.v3alpha.Route.match:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.RouteMatch 3, // 2: envoy.extensions.filters.network.sip_proxy.v3alpha.Route.route:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.RouteAction 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_init() } func file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_init() { if File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RouteMatch_Domain)(nil), } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto = out.File file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_depIdxs = nil } route.pb.validate.go000077500000000000000000000365431454502223200343170ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/route.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Header // no validation rules for Parameter oneofMatchSpecifierPresent := false switch v := m.MatchSpecifier.(type) { case *RouteMatch_Domain: if v == nil { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for Domain default: _ = v // ensures v is used } if !oneofMatchSpecifierPresent { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/sip_proxy.pb.go000077500000000000000000001274611454502223200335040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/sip_proxy.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v3alpha "github.com/envoyproxy/go-control-plane/contrib/envoy/extensions/filters/network/sip_proxy/tra/v3alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SipProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The route table for the connection manager is static and is specified in this property. RouteConfig *RouteConfiguration `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // A list of individual Sip filters that make up the filter chain for requests made to the // Sip proxy. Order matters as the filters are processed sequentially. For backwards // compatibility, if no sip_filters are specified, a default Sip router filter // (“envoy.filters.sip.router“) is used. // [#extension-category: envoy.sip_proxy.filters] SipFilters []*SipFilter `protobuf:"bytes,3,rep,name=sip_filters,json=sipFilters,proto3" json:"sip_filters,omitempty"` Settings *SipProxy_SipSettings `protobuf:"bytes,4,opt,name=settings,proto3" json:"settings,omitempty"` } func (x *SipProxy) Reset() { *x = SipProxy{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SipProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SipProxy) ProtoMessage() {} func (x *SipProxy) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SipProxy.ProtoReflect.Descriptor instead. func (*SipProxy) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{0} } func (x *SipProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *SipProxy) GetRouteConfig() *RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (x *SipProxy) GetSipFilters() []*SipFilter { if x != nil { return x.SipFilters } return nil } func (x *SipProxy) GetSettings() *SipProxy_SipSettings { if x != nil { return x.Settings } return nil } // SipFilter configures a Sip filter. type SipFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a supported // filter. The built-in filters are: Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being instantiated. See the supported // filters for further documentation. // // Types that are assignable to ConfigType: // // *SipFilter_TypedConfig ConfigType isSipFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *SipFilter) Reset() { *x = SipFilter{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SipFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*SipFilter) ProtoMessage() {} func (x *SipFilter) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SipFilter.ProtoReflect.Descriptor instead. func (*SipFilter) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{1} } func (x *SipFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *SipFilter) GetConfigType() isSipFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *SipFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*SipFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isSipFilter_ConfigType interface { isSipFilter_ConfigType() } type SipFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*SipFilter_TypedConfig) isSipFilter_ConfigType() {} // SipProtocolOptions specifies Sip upstream protocol options. This object is used in // :ref:`typed_extension_protocol_options`, // keyed by the name “envoy.filters.network.sip_proxy“. type SipProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All sip messages in one dialog should go to the same endpoint. SessionAffinity bool `protobuf:"varint,1,opt,name=session_affinity,json=sessionAffinity,proto3" json:"session_affinity,omitempty"` // The Register with Authorization header should go to the same endpoint which send out the 401 Unauthorized. RegistrationAffinity bool `protobuf:"varint,2,opt,name=registration_affinity,json=registrationAffinity,proto3" json:"registration_affinity,omitempty"` // Customized affinity CustomizedAffinity *CustomizedAffinity `protobuf:"bytes,3,opt,name=customized_affinity,json=customizedAffinity,proto3" json:"customized_affinity,omitempty"` } func (x *SipProtocolOptions) Reset() { *x = SipProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SipProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*SipProtocolOptions) ProtoMessage() {} func (x *SipProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SipProtocolOptions.ProtoReflect.Descriptor instead. func (*SipProtocolOptions) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{2} } func (x *SipProtocolOptions) GetSessionAffinity() bool { if x != nil { return x.SessionAffinity } return false } func (x *SipProtocolOptions) GetRegistrationAffinity() bool { if x != nil { return x.RegistrationAffinity } return false } func (x *SipProtocolOptions) GetCustomizedAffinity() *CustomizedAffinity { if x != nil { return x.CustomizedAffinity } return nil } // For affinity type CustomizedAffinity struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Affinity rules to conclude the upstream endpoint Entries []*CustomizedAffinityEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` // Configures whether load balance should be stopped or continued after affinity handling. StopLoadBalance bool `protobuf:"varint,2,opt,name=stop_load_balance,json=stopLoadBalance,proto3" json:"stop_load_balance,omitempty"` } func (x *CustomizedAffinity) Reset() { *x = CustomizedAffinity{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomizedAffinity) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomizedAffinity) ProtoMessage() {} func (x *CustomizedAffinity) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomizedAffinity.ProtoReflect.Descriptor instead. func (*CustomizedAffinity) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{3} } func (x *CustomizedAffinity) GetEntries() []*CustomizedAffinityEntry { if x != nil { return x.Entries } return nil } func (x *CustomizedAffinity) GetStopLoadBalance() bool { if x != nil { return x.StopLoadBalance } return false } // [#next-free-field: 6] type CustomizedAffinityEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header name to match, e.g. "From", if not specified, default is "Route" Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // Affinity key for TRA query/subscribe, e.g. "lskpmc", if key_name is "text" means use the header content as key. KeyName string `protobuf:"bytes,2,opt,name=key_name,json=keyName,proto3" json:"key_name,omitempty"` // Whether subscribe to TRA is required Subscribe bool `protobuf:"varint,3,opt,name=subscribe,proto3" json:"subscribe,omitempty"` // Whether query to TRA is required Query bool `protobuf:"varint,4,opt,name=query,proto3" json:"query,omitempty"` // Local cache Cache *Cache `protobuf:"bytes,5,opt,name=cache,proto3" json:"cache,omitempty"` } func (x *CustomizedAffinityEntry) Reset() { *x = CustomizedAffinityEntry{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomizedAffinityEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomizedAffinityEntry) ProtoMessage() {} func (x *CustomizedAffinityEntry) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomizedAffinityEntry.ProtoReflect.Descriptor instead. func (*CustomizedAffinityEntry) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{4} } func (x *CustomizedAffinityEntry) GetHeader() string { if x != nil { return x.Header } return "" } func (x *CustomizedAffinityEntry) GetKeyName() string { if x != nil { return x.KeyName } return "" } func (x *CustomizedAffinityEntry) GetSubscribe() bool { if x != nil { return x.Subscribe } return false } func (x *CustomizedAffinityEntry) GetQuery() bool { if x != nil { return x.Query } return false } func (x *CustomizedAffinityEntry) GetCache() *Cache { if x != nil { return x.Cache } return nil } type Cache struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Affinity local cache item max number MaxCacheItem int32 `protobuf:"varint,1,opt,name=max_cache_item,json=maxCacheItem,proto3" json:"max_cache_item,omitempty"` // Whether query result can be added to local cache AddQueryToCache bool `protobuf:"varint,2,opt,name=add_query_to_cache,json=addQueryToCache,proto3" json:"add_query_to_cache,omitempty"` } func (x *Cache) Reset() { *x = Cache{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cache) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cache) ProtoMessage() {} func (x *Cache) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cache.ProtoReflect.Descriptor instead. func (*Cache) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{5} } func (x *Cache) GetMaxCacheItem() int32 { if x != nil { return x.MaxCacheItem } return 0 } func (x *Cache) GetAddQueryToCache() bool { if x != nil { return x.AddQueryToCache } return false } // Local Service type LocalService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The domain need to matched Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // The parameter to get domain Parameter string `protobuf:"bytes,2,opt,name=parameter,proto3" json:"parameter,omitempty"` } func (x *LocalService) Reset() { *x = LocalService{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalService) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalService) ProtoMessage() {} func (x *LocalService) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalService.ProtoReflect.Descriptor instead. func (*LocalService) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{6} } func (x *LocalService) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *LocalService) GetParameter() string { if x != nil { return x.Parameter } return "" } type SipProxy_SipSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // transaction timeout timer [Timer B] unit is milliseconds, default value 64*T1. // // # Session Initiation Protocol (SIP) timer summary // // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer | Default value | Section | Meaning | // +=========+=========================+==========+==============================================================================+ // | T1 | 500 ms | 17.1.1.1 | Round-trip time (RTT) estimate | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | T2 | 4 sec | 17.1.2.2 | Maximum re-transmission interval for non-INVITE requests and INVITE responses| // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | T4 | 5 sec | 17.1.2.2 | Maximum duration that a message can remain in the network | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer A | initially T1 | 17.1.1.2 | INVITE request re-transmission interval, for UDP only | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer B | 64*T1 | 17.1.1.2 | INVITE transaction timeout timer | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer D | > 32 sec. for UDP | 17.1.1.2 | Wait time for response re-transmissions | // | | 0 sec. for TCP and SCTP | | | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer E | initially T1 | 17.1.2.2 | Non-INVITE request re-transmission interval, UDP only | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer F | 64*T1 | 17.1.2.2 | Non-INVITE transaction timeout timer | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer G | initially T1 | 17.2.1 | INVITE response re-transmission interval | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer H | 64*T1 | 17.2.1 | Wait time for ACK receipt | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer I | T4 for UDP | 17.2.1 | Wait time for ACK re-transmissions | // | | 0 sec. for TCP and SCTP | | | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer J | 64*T1 for UDP | 17.2.2 | Wait time for re-transmissions of non-INVITE requests | // | | 0 sec. for TCP and SCTP | | | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ // | Timer K | T4 for UDP | 17.1.2.2 | Wait time for response re-transmissions | // | | 0 sec. for TCP and SCTP | | | // +---------+-------------------------+----------+------------------------------------------------------------------------------+ TransactionTimeout *duration.Duration `protobuf:"bytes,1,opt,name=transaction_timeout,json=transactionTimeout,proto3" json:"transaction_timeout,omitempty"` // The service to match for ep insert LocalServices []*LocalService `protobuf:"bytes,2,rep,name=local_services,json=localServices,proto3" json:"local_services,omitempty"` TraServiceConfig *v3alpha.TraServiceConfig `protobuf:"bytes,3,opt,name=tra_service_config,json=traServiceConfig,proto3" json:"tra_service_config,omitempty"` // Whether via header is operated, including add via for request and pop via for response // False: sip service proxy // True: sip load balancer OperateVia bool `protobuf:"varint,4,opt,name=operate_via,json=operateVia,proto3" json:"operate_via,omitempty"` } func (x *SipProxy_SipSettings) Reset() { *x = SipProxy_SipSettings{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SipProxy_SipSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*SipProxy_SipSettings) ProtoMessage() {} func (x *SipProxy_SipSettings) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SipProxy_SipSettings.ProtoReflect.Descriptor instead. func (*SipProxy_SipSettings) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *SipProxy_SipSettings) GetTransactionTimeout() *duration.Duration { if x != nil { return x.TransactionTimeout } return nil } func (x *SipProxy_SipSettings) GetLocalServices() []*LocalService { if x != nil { return x.LocalServices } return nil } func (x *SipProxy_SipSettings) GetTraServiceConfig() *v3alpha.TraServiceConfig { if x != nil { return x.TraServiceConfig } return nil } func (x *SipProxy_SipSettings) GetOperateVia() bool { if x != nil { return x.OperateVia } return false } var File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x48, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x74, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x72, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x05, 0x0a, 0x08, 0x53, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x69, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x64, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x53, 0x69, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xdb, 0x02, 0x0a, 0x0b, 0x53, 0x69, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x72, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x56, 0x69, 0x61, 0x22, 0x72, 0x0a, 0x09, 0x53, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x77, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0xa7, 0x01, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x65, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x17, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4f, 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x22, 0x5a, 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x22, 0x44, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x53, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescData = file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDesc ) func file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescData) }) return file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDescData } var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_goTypes = []interface{}{ (*SipProxy)(nil), // 0: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy (*SipFilter)(nil), // 1: envoy.extensions.filters.network.sip_proxy.v3alpha.SipFilter (*SipProtocolOptions)(nil), // 2: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions (*CustomizedAffinity)(nil), // 3: envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity (*CustomizedAffinityEntry)(nil), // 4: envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry (*Cache)(nil), // 5: envoy.extensions.filters.network.sip_proxy.v3alpha.Cache (*LocalService)(nil), // 6: envoy.extensions.filters.network.sip_proxy.v3alpha.LocalService (*SipProxy_SipSettings)(nil), // 7: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings (*RouteConfiguration)(nil), // 8: envoy.extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration (*any1.Any)(nil), // 9: google.protobuf.Any (*duration.Duration)(nil), // 10: google.protobuf.Duration (*v3alpha.TraServiceConfig)(nil), // 11: envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig } var file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_depIdxs = []int32{ 8, // 0: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.route_config:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.RouteConfiguration 1, // 1: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.sip_filters:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.SipFilter 7, // 2: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.settings:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings 9, // 3: envoy.extensions.filters.network.sip_proxy.v3alpha.SipFilter.typed_config:type_name -> google.protobuf.Any 3, // 4: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProtocolOptions.customized_affinity:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity 4, // 5: envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinity.entries:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry 5, // 6: envoy.extensions.filters.network.sip_proxy.v3alpha.CustomizedAffinityEntry.cache:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.Cache 10, // 7: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.transaction_timeout:type_name -> google.protobuf.Duration 6, // 8: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.local_services:type_name -> envoy.extensions.filters.network.sip_proxy.v3alpha.LocalService 11, // 9: envoy.extensions.filters.network.sip_proxy.v3alpha.SipProxy.SipSettings.tra_service_config:type_name -> envoy.extensions.filters.network.sip_proxy.tra.v3alpha.TraServiceConfig 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_init() } func file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_init() { if File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto != nil { return } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_route_proto_init() if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SipProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SipFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SipProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomizedAffinity); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomizedAffinityEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cache); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SipProxy_SipSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*SipFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_msgTypes, }.Build() File_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto = out.File file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_rawDesc = nil file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_goTypes = nil file_contrib_envoy_extensions_filters_network_sip_proxy_v3alpha_sip_proxy_proto_depIdxs = nil } sip_proxy.pb.validate.go000077500000000000000000000777111454502223200352170ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/filters/network/sip_proxy/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/filters/network/sip_proxy/v3alpha/sip_proxy.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SipProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SipProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SipProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SipProxyMultiError, or nil // if none found. func (m *SipProxy) ValidateAll() error { return m.validate(true) } func (m *SipProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := SipProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSipFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxyValidationError{ field: fmt.Sprintf("SipFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxyValidationError{ field: fmt.Sprintf("SipFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxyValidationError{ field: fmt.Sprintf("SipFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SipProxyMultiError(errors) } return nil } // SipProxyMultiError is an error wrapping multiple validation errors returned // by SipProxy.ValidateAll() if the designated constraints aren't met. type SipProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SipProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SipProxyMultiError) AllErrors() []error { return m } // SipProxyValidationError is the validation error returned by // SipProxy.Validate if the designated constraints aren't met. type SipProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SipProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SipProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SipProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SipProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SipProxyValidationError) ErrorName() string { return "SipProxyValidationError" } // Error satisfies the builtin error interface func (e SipProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSipProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SipProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SipProxyValidationError{} // Validate checks the field values on SipFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SipFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SipFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SipFilterMultiError, or nil // if none found. func (m *SipFilter) ValidateAll() error { return m.validate(true) } func (m *SipFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := SipFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *SipFilter_TypedConfig: if v == nil { err := SipFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SipFilterMultiError(errors) } return nil } // SipFilterMultiError is an error wrapping multiple validation errors returned // by SipFilter.ValidateAll() if the designated constraints aren't met. type SipFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SipFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SipFilterMultiError) AllErrors() []error { return m } // SipFilterValidationError is the validation error returned by // SipFilter.Validate if the designated constraints aren't met. type SipFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SipFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SipFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SipFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SipFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SipFilterValidationError) ErrorName() string { return "SipFilterValidationError" } // Error satisfies the builtin error interface func (e SipFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSipFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SipFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SipFilterValidationError{} // Validate checks the field values on SipProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SipProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SipProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SipProtocolOptionsMultiError, or nil if none found. func (m *SipProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *SipProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SessionAffinity // no validation rules for RegistrationAffinity if all { switch v := interface{}(m.GetCustomizedAffinity()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProtocolOptionsValidationError{ field: "CustomizedAffinity", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProtocolOptionsValidationError{ field: "CustomizedAffinity", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomizedAffinity()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProtocolOptionsValidationError{ field: "CustomizedAffinity", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SipProtocolOptionsMultiError(errors) } return nil } // SipProtocolOptionsMultiError is an error wrapping multiple validation errors // returned by SipProtocolOptions.ValidateAll() if the designated constraints // aren't met. type SipProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SipProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SipProtocolOptionsMultiError) AllErrors() []error { return m } // SipProtocolOptionsValidationError is the validation error returned by // SipProtocolOptions.Validate if the designated constraints aren't met. type SipProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SipProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SipProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SipProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SipProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SipProtocolOptionsValidationError) ErrorName() string { return "SipProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e SipProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSipProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SipProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SipProtocolOptionsValidationError{} // Validate checks the field values on CustomizedAffinity with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomizedAffinity) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomizedAffinity with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomizedAffinityMultiError, or nil if none found. func (m *CustomizedAffinity) ValidateAll() error { return m.validate(true) } func (m *CustomizedAffinity) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomizedAffinityValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomizedAffinityValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomizedAffinityValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for StopLoadBalance if len(errors) > 0 { return CustomizedAffinityMultiError(errors) } return nil } // CustomizedAffinityMultiError is an error wrapping multiple validation errors // returned by CustomizedAffinity.ValidateAll() if the designated constraints // aren't met. type CustomizedAffinityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomizedAffinityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomizedAffinityMultiError) AllErrors() []error { return m } // CustomizedAffinityValidationError is the validation error returned by // CustomizedAffinity.Validate if the designated constraints aren't met. type CustomizedAffinityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomizedAffinityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomizedAffinityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomizedAffinityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomizedAffinityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomizedAffinityValidationError) ErrorName() string { return "CustomizedAffinityValidationError" } // Error satisfies the builtin error interface func (e CustomizedAffinityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomizedAffinity.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomizedAffinityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomizedAffinityValidationError{} // Validate checks the field values on CustomizedAffinityEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomizedAffinityEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomizedAffinityEntry with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomizedAffinityEntryMultiError, or nil if none found. func (m *CustomizedAffinityEntry) ValidateAll() error { return m.validate(true) } func (m *CustomizedAffinityEntry) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Header // no validation rules for KeyName // no validation rules for Subscribe // no validation rules for Query if all { switch v := interface{}(m.GetCache()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomizedAffinityEntryValidationError{ field: "Cache", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomizedAffinityEntryValidationError{ field: "Cache", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCache()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomizedAffinityEntryValidationError{ field: "Cache", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CustomizedAffinityEntryMultiError(errors) } return nil } // CustomizedAffinityEntryMultiError is an error wrapping multiple validation // errors returned by CustomizedAffinityEntry.ValidateAll() if the designated // constraints aren't met. type CustomizedAffinityEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomizedAffinityEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomizedAffinityEntryMultiError) AllErrors() []error { return m } // CustomizedAffinityEntryValidationError is the validation error returned by // CustomizedAffinityEntry.Validate if the designated constraints aren't met. type CustomizedAffinityEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomizedAffinityEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomizedAffinityEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomizedAffinityEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomizedAffinityEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomizedAffinityEntryValidationError) ErrorName() string { return "CustomizedAffinityEntryValidationError" } // Error satisfies the builtin error interface func (e CustomizedAffinityEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomizedAffinityEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomizedAffinityEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomizedAffinityEntryValidationError{} // Validate checks the field values on Cache with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cache) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cache with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in CacheMultiError, or nil if none found. func (m *Cache) ValidateAll() error { return m.validate(true) } func (m *Cache) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MaxCacheItem // no validation rules for AddQueryToCache if len(errors) > 0 { return CacheMultiError(errors) } return nil } // CacheMultiError is an error wrapping multiple validation errors returned by // Cache.ValidateAll() if the designated constraints aren't met. type CacheMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CacheMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CacheMultiError) AllErrors() []error { return m } // CacheValidationError is the validation error returned by Cache.Validate if // the designated constraints aren't met. type CacheValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CacheValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CacheValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CacheValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CacheValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CacheValidationError) ErrorName() string { return "CacheValidationError" } // Error satisfies the builtin error interface func (e CacheValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCache.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CacheValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CacheValidationError{} // Validate checks the field values on LocalService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalService with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalServiceMultiError, or // nil if none found. func (m *LocalService) ValidateAll() error { return m.validate(true) } func (m *LocalService) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Domain // no validation rules for Parameter if len(errors) > 0 { return LocalServiceMultiError(errors) } return nil } // LocalServiceMultiError is an error wrapping multiple validation errors // returned by LocalService.ValidateAll() if the designated constraints aren't met. type LocalServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalServiceMultiError) AllErrors() []error { return m } // LocalServiceValidationError is the validation error returned by // LocalService.Validate if the designated constraints aren't met. type LocalServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalServiceValidationError) ErrorName() string { return "LocalServiceValidationError" } // Error satisfies the builtin error interface func (e LocalServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalServiceValidationError{} // Validate checks the field values on SipProxy_SipSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SipProxy_SipSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SipProxy_SipSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SipProxy_SipSettingsMultiError, or nil if none found. func (m *SipProxy_SipSettings) ValidateAll() error { return m.validate(true) } func (m *SipProxy_SipSettings) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTransactionTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: "TransactionTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: "TransactionTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransactionTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxy_SipSettingsValidationError{ field: "TransactionTimeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetLocalServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: fmt.Sprintf("LocalServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: fmt.Sprintf("LocalServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxy_SipSettingsValidationError{ field: fmt.Sprintf("LocalServices[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTraServiceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: "TraServiceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SipProxy_SipSettingsValidationError{ field: "TraServiceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraServiceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SipProxy_SipSettingsValidationError{ field: "TraServiceConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for OperateVia if len(errors) > 0 { return SipProxy_SipSettingsMultiError(errors) } return nil } // SipProxy_SipSettingsMultiError is an error wrapping multiple validation // errors returned by SipProxy_SipSettings.ValidateAll() if the designated // constraints aren't met. type SipProxy_SipSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SipProxy_SipSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SipProxy_SipSettingsMultiError) AllErrors() []error { return m } // SipProxy_SipSettingsValidationError is the validation error returned by // SipProxy_SipSettings.Validate if the designated constraints aren't met. type SipProxy_SipSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SipProxy_SipSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SipProxy_SipSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SipProxy_SipSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SipProxy_SipSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SipProxy_SipSettingsValidationError) ErrorName() string { return "SipProxy_SipSettingsValidationError" } // Error satisfies the builtin error interface func (e SipProxy_SipSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSipProxy_SipSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SipProxy_SipSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SipProxy_SipSettingsValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/matching/000077500000000000000000000000001454502223200235425ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/matching/input_matchers/000077500000000000000000000000001454502223200265675ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/matching/input_matchers/hyperscan/000077500000000000000000000000001454502223200305635ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/matching/input_matchers/hyperscan/v3alpha/000077500000000000000000000000001454502223200321215ustar00rootroot00000000000000hyperscan.pb.go000077500000000000000000000400271454502223200347730ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/matching/input_matchers/hyperscan/v3alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/matching/input_matchers/hyperscan/v3alpha/hyperscan.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // `Hyperscan `_ regex matcher. The matcher uses the Hyperscan // engine which exploits x86 SIMD instructions to accelerate matching large numbers of regular // expressions simultaneously across streams of data. type Hyperscan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies a set of regex expressions that the input should match on. Regexes []*Hyperscan_Regex `protobuf:"bytes,1,rep,name=regexes,proto3" json:"regexes,omitempty"` } func (x *Hyperscan) Reset() { *x = Hyperscan{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Hyperscan) String() string { return protoimpl.X.MessageStringOf(x) } func (*Hyperscan) ProtoMessage() {} func (x *Hyperscan) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Hyperscan.ProtoReflect.Descriptor instead. func (*Hyperscan) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescGZIP(), []int{0} } func (x *Hyperscan) GetRegexes() []*Hyperscan_Regex { if x != nil { return x.Regexes } return nil } // [#next-free-field: 11] type Hyperscan_Regex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The regex expression. // // The expression must represent only the pattern to be matched, with no delimiters or flags. Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` // The ID of the regex expression. // // This option is designed to be used on the sub-expressions in logical combinations. Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` // Matching will be performed case-insensitively. // // The expression may still use PCRE tokens (notably “(?i)“ and “(?-i)“) to switch // case-insensitive matching on and off. Caseless bool `protobuf:"varint,3,opt,name=caseless,proto3" json:"caseless,omitempty"` // Matching a “.“ will not exclude newlines. DotAll bool `protobuf:"varint,4,opt,name=dot_all,json=dotAll,proto3" json:"dot_all,omitempty"` // “^“ and “$“ anchors match any newlines in data. Multiline bool `protobuf:"varint,5,opt,name=multiline,proto3" json:"multiline,omitempty"` // Allow expressions which can match against an empty string. // // This option instructs the compiler to allow expressions that can match against empty buffers, // such as “.?“, “.*“, “(a|)“. Since Hyperscan can return every possible match for an expression, // such expressions generally execute very slowly. AllowEmpty bool `protobuf:"varint,6,opt,name=allow_empty,json=allowEmpty,proto3" json:"allow_empty,omitempty"` // Treat the pattern as a sequence of UTF-8 characters. Utf8 bool `protobuf:"varint,7,opt,name=utf8,proto3" json:"utf8,omitempty"` // Use Unicode properties for character classes. // // This option instructs Hyperscan to use Unicode properties, rather than the default ASCII // interpretations, for character mnemonics like “\w“ and “\s“ as well as the POSIX character // classes. It is only meaningful in conjunction with “utf8“. Ucp bool `protobuf:"varint,8,opt,name=ucp,proto3" json:"ucp,omitempty"` // Logical combination. // // This option instructs Hyperscan to parse this expression as logical combination syntax. // Logical constraints consist of operands, operators and parentheses. The operands are // expression indices, and operators can be “!“, “&“ or “|“. Combination bool `protobuf:"varint,9,opt,name=combination,proto3" json:"combination,omitempty"` // Don’t do any match reporting. // // This option instructs Hyperscan to ignore match reporting for this expression. It is // designed to be used on the sub-expressions in logical combinations. Quiet bool `protobuf:"varint,10,opt,name=quiet,proto3" json:"quiet,omitempty"` } func (x *Hyperscan_Regex) Reset() { *x = Hyperscan_Regex{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Hyperscan_Regex) String() string { return protoimpl.X.MessageStringOf(x) } func (*Hyperscan_Regex) ProtoMessage() {} func (x *Hyperscan_Regex) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Hyperscan_Regex.ProtoReflect.Descriptor instead. func (*Hyperscan_Regex) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescGZIP(), []int{0, 0} } func (x *Hyperscan_Regex) GetRegex() string { if x != nil { return x.Regex } return "" } func (x *Hyperscan_Regex) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Hyperscan_Regex) GetCaseless() bool { if x != nil { return x.Caseless } return false } func (x *Hyperscan_Regex) GetDotAll() bool { if x != nil { return x.DotAll } return false } func (x *Hyperscan_Regex) GetMultiline() bool { if x != nil { return x.Multiline } return false } func (x *Hyperscan_Regex) GetAllowEmpty() bool { if x != nil { return x.AllowEmpty } return false } func (x *Hyperscan_Regex) GetUtf8() bool { if x != nil { return x.Utf8 } return false } func (x *Hyperscan_Regex) GetUcp() bool { if x != nil { return x.Ucp } return false } func (x *Hyperscan_Regex) GetCombination() bool { if x != nil { return x.Combination } return false } func (x *Hyperscan_Regex) GetQuiet() bool { if x != nil { return x.Quiet } return false } var File_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDesc = []byte{ 0x0a, 0x52, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x03, 0x0a, 0x09, 0x48, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x12, 0x6f, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x6f, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x74, 0x66, 0x38, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x74, 0x66, 0x38, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x63, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x75, 0x63, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x42, 0xcf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x48, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescData = file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDesc ) func file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescData) }) return file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDescData } var file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_goTypes = []interface{}{ (*Hyperscan)(nil), // 0: envoy.extensions.matching.input_matchers.hyperscan.v3alpha.Hyperscan (*Hyperscan_Regex)(nil), // 1: envoy.extensions.matching.input_matchers.hyperscan.v3alpha.Hyperscan.Regex } var file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.matching.input_matchers.hyperscan.v3alpha.Hyperscan.regexes:type_name -> envoy.extensions.matching.input_matchers.hyperscan.v3alpha.Hyperscan.Regex 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_init() } func file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_init() { if File_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hyperscan); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hyperscan_Regex); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_msgTypes, }.Build() File_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto = out.File file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_rawDesc = nil file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_goTypes = nil file_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto_depIdxs = nil } hyperscan.pb.validate.go000077500000000000000000000170261454502223200365660ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/matching/input_matchers/hyperscan/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/matching/input_matchers/hyperscan/v3alpha/hyperscan.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Hyperscan with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Hyperscan) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Hyperscan with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HyperscanMultiError, or nil // if none found. func (m *Hyperscan) ValidateAll() error { return m.validate(true) } func (m *Hyperscan) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRegexes()) < 1 { err := HyperscanValidationError{ field: "Regexes", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRegexes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HyperscanValidationError{ field: fmt.Sprintf("Regexes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HyperscanValidationError{ field: fmt.Sprintf("Regexes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HyperscanValidationError{ field: fmt.Sprintf("Regexes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HyperscanMultiError(errors) } return nil } // HyperscanMultiError is an error wrapping multiple validation errors returned // by Hyperscan.ValidateAll() if the designated constraints aren't met. type HyperscanMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HyperscanMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HyperscanMultiError) AllErrors() []error { return m } // HyperscanValidationError is the validation error returned by // Hyperscan.Validate if the designated constraints aren't met. type HyperscanValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HyperscanValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HyperscanValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HyperscanValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HyperscanValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HyperscanValidationError) ErrorName() string { return "HyperscanValidationError" } // Error satisfies the builtin error interface func (e HyperscanValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHyperscan.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HyperscanValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HyperscanValidationError{} // Validate checks the field values on Hyperscan_Regex with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *Hyperscan_Regex) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Hyperscan_Regex with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Hyperscan_RegexMultiError, or nil if none found. func (m *Hyperscan_Regex) ValidateAll() error { return m.validate(true) } func (m *Hyperscan_Regex) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetRegex()) < 1 { err := Hyperscan_RegexValidationError{ field: "Regex", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Id // no validation rules for Caseless // no validation rules for DotAll // no validation rules for Multiline // no validation rules for AllowEmpty // no validation rules for Utf8 // no validation rules for Ucp // no validation rules for Combination // no validation rules for Quiet if len(errors) > 0 { return Hyperscan_RegexMultiError(errors) } return nil } // Hyperscan_RegexMultiError is an error wrapping multiple validation errors // returned by Hyperscan_Regex.ValidateAll() if the designated constraints // aren't met. type Hyperscan_RegexMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Hyperscan_RegexMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Hyperscan_RegexMultiError) AllErrors() []error { return m } // Hyperscan_RegexValidationError is the validation error returned by // Hyperscan_Regex.Validate if the designated constraints aren't met. type Hyperscan_RegexValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Hyperscan_RegexValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Hyperscan_RegexValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Hyperscan_RegexValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Hyperscan_RegexValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Hyperscan_RegexValidationError) ErrorName() string { return "Hyperscan_RegexValidationError" } // Error satisfies the builtin error interface func (e Hyperscan_RegexValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHyperscan_Regex.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Hyperscan_RegexValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Hyperscan_RegexValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/network/000077500000000000000000000000001454502223200234415ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/network/connection_balance/000077500000000000000000000000001454502223200272455ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/network/connection_balance/dlb/000077500000000000000000000000001454502223200300065ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/network/connection_balance/dlb/v3alpha/000077500000000000000000000000001454502223200313445ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/network/connection_balance/dlb/v3alpha/dlb.pb.go000077500000000000000000000306011454502223200330370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/network/connection_balance/dlb/v3alpha/dlb.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The fallback policy if any error occurs. // The default policy is None. type Dlb_FallbackPolicy int32 const ( // No fallback policy. Dlb_None Dlb_FallbackPolicy = 0 // Fall back to Nop Connection Balance. Dlb_NopConnectionBalance Dlb_FallbackPolicy = 1 // Fall back to Exact Connection Balance. Dlb_ExactConnectionBalance Dlb_FallbackPolicy = 2 ) // Enum value maps for Dlb_FallbackPolicy. var ( Dlb_FallbackPolicy_name = map[int32]string{ 0: "None", 1: "NopConnectionBalance", 2: "ExactConnectionBalance", } Dlb_FallbackPolicy_value = map[string]int32{ "None": 0, "NopConnectionBalance": 1, "ExactConnectionBalance": 2, } ) func (x Dlb_FallbackPolicy) Enum() *Dlb_FallbackPolicy { p := new(Dlb_FallbackPolicy) *p = x return p } func (x Dlb_FallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Dlb_FallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_enumTypes[0].Descriptor() } func (Dlb_FallbackPolicy) Type() protoreflect.EnumType { return &file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_enumTypes[0] } func (x Dlb_FallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Dlb_FallbackPolicy.Descriptor instead. func (Dlb_FallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescGZIP(), []int{0, 0} } // The Dlb is a hardware managed system of queues and arbiters connecting producers and consumers. It is a PCIE device // in the CPU package. It interacts with software running on cores and potentially other devices. The Dlb implements the // following balancing features: // // - Lock-free multi-producer/multi-consumer operation. // - Multiple priorities for varying traffic types. // - Various distribution schemes. // // Dlb connection balancer uses Dlb hardware to balance connections, and can significantly reduce latency. // // As the Dlb connection balancer provides assistance from dedicated Dlb hardware, it can be used for a proxy with a large number of connections // (e.g., a gateway). type Dlb struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ID of the Dlb hardware, start from 0. // If not specified, use the first available device as default. Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Maximum number of retries when sending to DLB device fails. // No retry as default. MaxRetries uint32 `protobuf:"varint,2,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` FallbackPolicy Dlb_FallbackPolicy `protobuf:"varint,3,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb_FallbackPolicy" json:"fallback_policy,omitempty"` } func (x *Dlb) Reset() { *x = Dlb{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dlb) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dlb) ProtoMessage() {} func (x *Dlb) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dlb.ProtoReflect.Descriptor instead. func (*Dlb) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescGZIP(), []int{0} } func (x *Dlb) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Dlb) GetMaxRetries() uint32 { if x != nil { return x.MaxRetries } return 0 } func (x *Dlb) GetFallbackPolicy() Dlb_FallbackPolicy { if x != nil { return x.FallbackPolicy } return Dlb_None } var File_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDesc = []byte{ 0x0a, 0x49, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x64, 0x6c, 0x62, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x6c, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x64, 0x6c, 0x62, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, 0x0a, 0x03, 0x44, 0x6c, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x74, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x64, 0x6c, 0x62, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6c, 0x62, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x50, 0x0a, 0x0e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x78, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x02, 0x42, 0xc3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x64, 0x6c, 0x62, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x44, 0x6c, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x64, 0x6c, 0x62, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescData = file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDesc ) func file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescData) }) return file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDescData } var file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_goTypes = []interface{}{ (Dlb_FallbackPolicy)(0), // 0: envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb.FallbackPolicy (*Dlb)(nil), // 1: envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb } var file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb.fallback_policy:type_name -> envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb.FallbackPolicy 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_init() } func file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_init() { if File_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dlb); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_depIdxs, EnumInfos: file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_enumTypes, MessageInfos: file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_msgTypes, }.Build() File_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto = out.File file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_rawDesc = nil file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_goTypes = nil file_contrib_envoy_extensions_network_connection_balance_dlb_v3alpha_dlb_proto_depIdxs = nil } dlb.pb.validate.go000077500000000000000000000061561454502223200345600ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/network/connection_balance/dlb/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/network/connection_balance/dlb/v3alpha/dlb.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Dlb with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Dlb) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Dlb with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in DlbMultiError, or nil if none found. func (m *Dlb) ValidateAll() error { return m.validate(true) } func (m *Dlb) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id // no validation rules for MaxRetries // no validation rules for FallbackPolicy if len(errors) > 0 { return DlbMultiError(errors) } return nil } // DlbMultiError is an error wrapping multiple validation errors returned by // Dlb.ValidateAll() if the designated constraints aren't met. type DlbMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DlbMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DlbMultiError) AllErrors() []error { return m } // DlbValidationError is the validation error returned by Dlb.Validate if the // designated constraints aren't met. type DlbValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DlbValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DlbValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DlbValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DlbValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DlbValidationError) ErrorName() string { return "DlbValidationError" } // Error satisfies the builtin error interface func (e DlbValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDlb.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DlbValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DlbValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/000077500000000000000000000000001454502223200263675ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/cryptomb/000077500000000000000000000000001454502223200302265ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/cryptomb/v3alpha/000077500000000000000000000000001454502223200315645ustar00rootroot00000000000000cryptomb.pb.go000077500000000000000000000274211454502223200343040ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/cryptomb/v3alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A CryptoMbPrivateKeyMethodConfig message specifies how the CryptoMb private // key provider is configured. The private key provider provides “SIMD“ // processing for RSA sign and decrypt operations (ECDSA signing uses regular // BoringSSL functions). The provider works by gathering the operations into a // worker-thread specific queue, and processing the queue using “ipp-crypto“ // library when the queue is full or when a timer expires. // [#extension-category: envoy.tls.key_providers] type CryptoMbPrivateKeyMethodConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Private key to use in the private key provider. If set to inline_bytes or // inline_string, the value needs to be the private key in PEM format. PrivateKey *v3.DataSource `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // How long to wait until the per-thread processing queue should be // processed. If the processing queue gets full (eight sign or decrypt // requests are received) it is processed immediately. However, if the // queue is not filled before the delay has expired, the requests // already in the queue are processed, even if the queue is not full. // In effect, this value controls the balance between latency and // throughput. The duration needs to be set to a value greater than or equal to 1 millisecond. PollDelay *duration.Duration `protobuf:"bytes,2,opt,name=poll_delay,json=pollDelay,proto3" json:"poll_delay,omitempty"` } func (x *CryptoMbPrivateKeyMethodConfig) Reset() { *x = CryptoMbPrivateKeyMethodConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CryptoMbPrivateKeyMethodConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CryptoMbPrivateKeyMethodConfig) ProtoMessage() {} func (x *CryptoMbPrivateKeyMethodConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CryptoMbPrivateKeyMethodConfig.ProtoReflect.Descriptor instead. func (*CryptoMbPrivateKeyMethodConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescGZIP(), []int{0} } func (x *CryptoMbPrivateKeyMethodConfig) GetPrivateKey() *v3.DataSource { if x != nil { return x.PrivateKey } return nil } func (x *CryptoMbPrivateKeyMethodConfig) GetPollDelay() *duration.Duration { if x != nil { return x.PollDelay } return nil } var File_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescData = file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDesc ) func file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescData) }) return file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDescData } var file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_goTypes = []interface{}{ (*CryptoMbPrivateKeyMethodConfig)(nil), // 0: envoy.extensions.private_key_providers.cryptomb.v3alpha.CryptoMbPrivateKeyMethodConfig (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.private_key_providers.cryptomb.v3alpha.CryptoMbPrivateKeyMethodConfig.private_key:type_name -> envoy.config.core.v3.DataSource 2, // 1: envoy.extensions.private_key_providers.cryptomb.v3alpha.CryptoMbPrivateKeyMethodConfig.poll_delay:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_init() } func file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_init() { if File_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CryptoMbPrivateKeyMethodConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_msgTypes, }.Build() File_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto = out.File file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_rawDesc = nil file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_goTypes = nil file_contrib_envoy_extensions_private_key_providers_cryptomb_v3alpha_cryptomb_proto_depIdxs = nil } cryptomb.pb.validate.go000077500000000000000000000125701454502223200360730ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/cryptomb/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/private_key_providers/cryptomb/v3alpha/cryptomb.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CryptoMbPrivateKeyMethodConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CryptoMbPrivateKeyMethodConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CryptoMbPrivateKeyMethodConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // CryptoMbPrivateKeyMethodConfigMultiError, or nil if none found. func (m *CryptoMbPrivateKeyMethodConfig) ValidateAll() error { return m.validate(true) } func (m *CryptoMbPrivateKeyMethodConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CryptoMbPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CryptoMbPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CryptoMbPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if m.GetPollDelay() == nil { err := CryptoMbPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetPollDelay(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = CryptoMbPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := CryptoMbPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return CryptoMbPrivateKeyMethodConfigMultiError(errors) } return nil } // CryptoMbPrivateKeyMethodConfigMultiError is an error wrapping multiple // validation errors returned by CryptoMbPrivateKeyMethodConfig.ValidateAll() // if the designated constraints aren't met. type CryptoMbPrivateKeyMethodConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CryptoMbPrivateKeyMethodConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CryptoMbPrivateKeyMethodConfigMultiError) AllErrors() []error { return m } // CryptoMbPrivateKeyMethodConfigValidationError is the validation error // returned by CryptoMbPrivateKeyMethodConfig.Validate if the designated // constraints aren't met. type CryptoMbPrivateKeyMethodConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CryptoMbPrivateKeyMethodConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CryptoMbPrivateKeyMethodConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CryptoMbPrivateKeyMethodConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CryptoMbPrivateKeyMethodConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CryptoMbPrivateKeyMethodConfigValidationError) ErrorName() string { return "CryptoMbPrivateKeyMethodConfigValidationError" } // Error satisfies the builtin error interface func (e CryptoMbPrivateKeyMethodConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCryptoMbPrivateKeyMethodConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CryptoMbPrivateKeyMethodConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CryptoMbPrivateKeyMethodConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/qat/000077500000000000000000000000001454502223200271545ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/qat/v3alpha/000077500000000000000000000000001454502223200305125ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/qat/v3alpha/qat.pb.go000077500000000000000000000250221454502223200322320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/private_key_providers/qat/v3alpha/qat.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type QatPrivateKeyMethodConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Private key to use in the private key provider. If set to inline_bytes or // inline_string, the value needs to be the private key in PEM format. PrivateKey *v3.DataSource `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // How long to wait before polling the hardware accelerator after a // request has been submitted there. Having a small value leads to // quicker answers from the hardware but causes more polling loop // spins, leading to potentially larger CPU usage. The duration needs // to be set to a value greater than or equal to 1 millisecond. PollDelay *duration.Duration `protobuf:"bytes,2,opt,name=poll_delay,json=pollDelay,proto3" json:"poll_delay,omitempty"` } func (x *QatPrivateKeyMethodConfig) Reset() { *x = QatPrivateKeyMethodConfig{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QatPrivateKeyMethodConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*QatPrivateKeyMethodConfig) ProtoMessage() {} func (x *QatPrivateKeyMethodConfig) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QatPrivateKeyMethodConfig.ProtoReflect.Descriptor instead. func (*QatPrivateKeyMethodConfig) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescGZIP(), []int{0} } func (x *QatPrivateKeyMethodConfig) GetPrivateKey() *v3.DataSource { if x != nil { return x.PrivateKey } return nil } func (x *QatPrivateKeyMethodConfig) GetPollDelay() *duration.Duration { if x != nil { return x.PollDelay } return nil } var File_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDesc = []byte{ 0x0a, 0x44, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x71, 0x61, 0x74, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x71, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x71, 0x61, 0x74, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x19, 0x51, 0x61, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x71, 0x61, 0x74, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x51, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x71, 0x61, 0x74, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescData = file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDesc ) func file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescData) }) return file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDescData } var file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_goTypes = []interface{}{ (*QatPrivateKeyMethodConfig)(nil), // 0: envoy.extensions.private_key_providers.qat.v3alpha.QatPrivateKeyMethodConfig (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.private_key_providers.qat.v3alpha.QatPrivateKeyMethodConfig.private_key:type_name -> envoy.config.core.v3.DataSource 2, // 1: envoy.extensions.private_key_providers.qat.v3alpha.QatPrivateKeyMethodConfig.poll_delay:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_init() } func file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_init() { if File_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QatPrivateKeyMethodConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_msgTypes, }.Build() File_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto = out.File file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_rawDesc = nil file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_goTypes = nil file_contrib_envoy_extensions_private_key_providers_qat_v3alpha_qat_proto_depIdxs = nil } qat.pb.validate.go000077500000000000000000000123201454502223200337400ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/private_key_providers/qat/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/private_key_providers/qat/v3alpha/qat.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on QatPrivateKeyMethodConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QatPrivateKeyMethodConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QatPrivateKeyMethodConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QatPrivateKeyMethodConfigMultiError, or nil if none found. func (m *QatPrivateKeyMethodConfig) ValidateAll() error { return m.validate(true) } func (m *QatPrivateKeyMethodConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QatPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QatPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QatPrivateKeyMethodConfigValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if m.GetPollDelay() == nil { err := QatPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetPollDelay(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = QatPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := QatPrivateKeyMethodConfigValidationError{ field: "PollDelay", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return QatPrivateKeyMethodConfigMultiError(errors) } return nil } // QatPrivateKeyMethodConfigMultiError is an error wrapping multiple validation // errors returned by QatPrivateKeyMethodConfig.ValidateAll() if the // designated constraints aren't met. type QatPrivateKeyMethodConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QatPrivateKeyMethodConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QatPrivateKeyMethodConfigMultiError) AllErrors() []error { return m } // QatPrivateKeyMethodConfigValidationError is the validation error returned by // QatPrivateKeyMethodConfig.Validate if the designated constraints aren't met. type QatPrivateKeyMethodConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QatPrivateKeyMethodConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QatPrivateKeyMethodConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QatPrivateKeyMethodConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QatPrivateKeyMethodConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QatPrivateKeyMethodConfigValidationError) ErrorName() string { return "QatPrivateKeyMethodConfigValidationError" } // Error satisfies the builtin error interface func (e QatPrivateKeyMethodConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQatPrivateKeyMethodConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QatPrivateKeyMethodConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QatPrivateKeyMethodConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/regex_engines/000077500000000000000000000000001454502223200245725ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/regex_engines/hyperscan/000077500000000000000000000000001454502223200265665ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/000077500000000000000000000000001454502223200301245ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/hyperscan.pb.go000077500000000000000000000174551454502223200330660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/hyperscan.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // `Hyperscan `_ regex engine. The engine uses hybrid automata // techniques to allow simultaneous matching of large numbers of regular expressions across streams // of data. // // The engine follows PCRE pattern syntax, and the regex string must adhere to the documented // `pattern support `_. // The syntax is not compatible with the default RE2 regex engine. Depending on configured // expressions, swapping regex engine may cause match rules to no longer be valid. type Hyperscan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Hyperscan) Reset() { *x = Hyperscan{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Hyperscan) String() string { return protoimpl.X.MessageStringOf(x) } func (*Hyperscan) ProtoMessage() {} func (x *Hyperscan) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Hyperscan.ProtoReflect.Descriptor instead. func (*Hyperscan) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDesc = []byte{ 0x0a, 0x48, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x48, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x42, 0xbb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x73, 0x63, 0x61, 0x6e, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescData = file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDesc ) func file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescData) }) return file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDescData } var file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_goTypes = []interface{}{ (*Hyperscan)(nil), // 0: envoy.extensions.regex_engines.hyperscan.v3alpha.Hyperscan } var file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_init() } func file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_init() { if File_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hyperscan); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_msgTypes, }.Build() File_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto = out.File file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_rawDesc = nil file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_goTypes = nil file_contrib_envoy_extensions_regex_engines_hyperscan_v3alpha_hyperscan_proto_depIdxs = nil } hyperscan.pb.validate.go000077500000000000000000000062221454502223200345650ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/regex_engines/hyperscan/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/hyperscan.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Hyperscan with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Hyperscan) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Hyperscan with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HyperscanMultiError, or nil // if none found. func (m *Hyperscan) ValidateAll() error { return m.validate(true) } func (m *Hyperscan) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HyperscanMultiError(errors) } return nil } // HyperscanMultiError is an error wrapping multiple validation errors returned // by Hyperscan.ValidateAll() if the designated constraints aren't met. type HyperscanMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HyperscanMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HyperscanMultiError) AllErrors() []error { return m } // HyperscanValidationError is the validation error returned by // Hyperscan.Validate if the designated constraints aren't met. type HyperscanValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HyperscanValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HyperscanValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HyperscanValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HyperscanValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HyperscanValidationError) ErrorName() string { return "HyperscanValidationError" } // Error satisfies the builtin error interface func (e HyperscanValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHyperscan.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HyperscanValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HyperscanValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/router/000077500000000000000000000000001454502223200232705ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/router/cluster_specifier/000077500000000000000000000000001454502223200270025ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/router/cluster_specifier/golang/000077500000000000000000000000001454502223200302515ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha/000077500000000000000000000000001454502223200316075ustar00rootroot00000000000000golang.pb.go000077500000000000000000000261111454502223200337320ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha/golang.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension-category: envoy.router.cluster_specifier_plugin] type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Globally unique ID for a dynamic library file. LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty"` // Path to a dynamic library implementing the // :repo:`ClusterSpecifier API ` // interface. // [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.] LibraryPath string `protobuf:"bytes,2,opt,name=library_path,json=libraryPath,proto3" json:"library_path,omitempty"` // Default cluster. // // It will be used when the specifier interface return empty string or panic. DefaultCluster string `protobuf:"bytes,3,opt,name=default_cluster,json=defaultCluster,proto3" json:"default_cluster,omitempty"` // Configuration for the Go cluster specifier plugin. // // .. note:: // // This configuration is only parsed in the go cluster specifier, and is therefore not validated // by Envoy. // // See the :repo:`StreamFilter API ` // for more information about how the plugin's configuration data can be accessed. Config *any1.Any `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0} } func (x *Config) GetLibraryId() string { if x != nil { return x.LibraryId } return "" } func (x *Config) GetLibraryPath() string { if x != nil { return x.LibraryPath } return "" } func (x *Config) GetDefaultCluster() string { if x != nil { return x.DefaultCluster } return "" } func (x *Config) GetConfig() *any1.Any { if x != nil { return x.Config } return nil } var File_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0c, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x47, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescData = file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDesc ) func file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescData) }) return file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDescData } var file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.router.cluster_specifier.golang.v3alpha.Config (*any1.Any)(nil), // 1: google.protobuf.Any } var file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.router.cluster_specifier.golang.v3alpha.Config.config:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_init() } func file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_init() { if File_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_msgTypes, }.Build() File_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto = out.File file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_rawDesc = nil file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_goTypes = nil file_contrib_envoy_extensions_router_cluster_specifier_golang_v3alpha_golang_proto_depIdxs = nil } golang.pb.validate.go000077500000000000000000000110361454502223200355220ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/router/cluster_specifier/golang/v3alpha/golang.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetLibraryId()) < 1 { err := ConfigValidationError{ field: "LibraryId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetLibraryPath()) < 1 { err := ConfigValidationError{ field: "LibraryPath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetDefaultCluster()) < 1 { err := ConfigValidationError{ field: "DefaultCluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/contrib/envoy/extensions/vcl/000077500000000000000000000000001454502223200225345ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/vcl/v3alpha/000077500000000000000000000000001454502223200240725ustar00rootroot00000000000000go-control-plane-0.12.0/contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface.pb.go000077500000000000000000000155371454502223200312130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface.proto package v3alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for vcl socket interface that relies on “vpp“ “comms“ library (VCL) type VclSocketInterface struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VclSocketInterface) Reset() { *x = VclSocketInterface{} if protoimpl.UnsafeEnabled { mi := &file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VclSocketInterface) String() string { return protoimpl.X.MessageStringOf(x) } func (*VclSocketInterface) ProtoMessage() {} func (x *VclSocketInterface) ProtoReflect() protoreflect.Message { mi := &file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VclSocketInterface.ProtoReflect.Descriptor instead. func (*VclSocketInterface) Descriptor() ([]byte, []int) { return file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescGZIP(), []int{0} } var File_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto protoreflect.FileDescriptor var file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x63, 0x6c, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x76, 0x63, 0x6c, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x63, 0x6c, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x63, 0x6c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x9e, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x02, 0x0a, 0x2a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x63, 0x6c, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x17, 0x56, 0x63, 0x6c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x63, 0x6c, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescOnce sync.Once file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescData = file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDesc ) func file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescGZIP() []byte { file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescOnce.Do(func() { file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescData) }) return file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDescData } var file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_goTypes = []interface{}{ (*VclSocketInterface)(nil), // 0: envoy.extensions.vcl.v3alpha.VclSocketInterface } var file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_init() } func file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_init() { if File_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto != nil { return } if !protoimpl.UnsafeEnabled { file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VclSocketInterface); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_goTypes, DependencyIndexes: file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_depIdxs, MessageInfos: file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_msgTypes, }.Build() File_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto = out.File file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_rawDesc = nil file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_goTypes = nil file_contrib_envoy_extensions_vcl_v3alpha_vcl_socket_interface_proto_depIdxs = nil } go-control-plane-0.12.0/contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface.pb.validate.go000077500000000000000000000065561454502223200330040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface.proto package v3alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on VclSocketInterface with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *VclSocketInterface) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VclSocketInterface with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // VclSocketInterfaceMultiError, or nil if none found. func (m *VclSocketInterface) ValidateAll() error { return m.validate(true) } func (m *VclSocketInterface) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return VclSocketInterfaceMultiError(errors) } return nil } // VclSocketInterfaceMultiError is an error wrapping multiple validation errors // returned by VclSocketInterface.ValidateAll() if the designated constraints // aren't met. type VclSocketInterfaceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VclSocketInterfaceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VclSocketInterfaceMultiError) AllErrors() []error { return m } // VclSocketInterfaceValidationError is the validation error returned by // VclSocketInterface.Validate if the designated constraints aren't met. type VclSocketInterfaceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VclSocketInterfaceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VclSocketInterfaceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VclSocketInterfaceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VclSocketInterfaceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VclSocketInterfaceValidationError) ErrorName() string { return "VclSocketInterfaceValidationError" } // Error satisfies the builtin error interface func (e VclSocketInterfaceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVclSocketInterface.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VclSocketInterfaceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VclSocketInterfaceValidationError{} go-control-plane-0.12.0/docs/000077500000000000000000000000001454502223200157015ustar00rootroot00000000000000go-control-plane-0.12.0/docs/README.md000066400000000000000000000007461454502223200171670ustar00rootroot00000000000000# Knowledge Base Below lies a list of resources that may be helpful to those looking to understand the go-control-plane API. ## Implementations The following guides may be helpful on how to use go-control-plane's Snapshot Cache: - [cache.md](cache.md) - [server.md](server.md) ## Getting Started A fully functional server/cache example is provided inside `internal/example`. Head there to see how a basic control-plane is initialized with a go-control-plane backed cache and server.go-control-plane-0.12.0/docs/cache.md000066400000000000000000000062521454502223200172730ustar00rootroot00000000000000# SnapshotCache [SnapshotCache](https://github.com/envoyproxy/go-control-plane/blob/main/pkg/cache/v3/simple.go#L40) is a snapshot-based caching mechanism that maintains a versioned config snapshot per node. See the original README scope section for more detailed explanations on the individual cache systems. > *NOTE*: SnapshotCache can operate as a REST or bi-di streaming xDS server ## Create a Snapshot Cache To create a snapshot cache, we simply call the provided constructor: ```go // Create a cache cache := cache.NewSnapshotCache(false, cache.IDHash{}, nil) ``` This `cache` object holds a fully compliant [SnapshotCache](https://github.com/envoyproxy/go-control-plane/blob/main/pkg/cache/v3/simple.go#L40) with the necessary methods to manage a configuration cache lifecycle. > *NOTE*: The cache needs a high access level inside the management server as it's the source of truth for xDS resources. ## Snapshots Snapshots are groupings of resources at a given point in time for a node cluster. In other words Envoy's and consuming xDS clients registering as node `abc` all share a snapshot of config. This snapshot is the singular source of truth in the cache that represents config for any of those consumers. > *NOTE*: Snapshots can be partial, e.g., only including RDS or EDS resources. ```go snap, err := cache.NewSnapshot("v0", map[resource.Type][]types.Resource{ resource.EndpointType: endpoints, resource.ClusterType: clusters, resource.RouteType: routes, resource.ScopedRouteType: scopedRoutes, resource.ListenerType: listeners, resource.RuntimeType: runtimes, resource.SecretType: secrets, resource.ExtensionConfigType: extensions, }) ``` For a more in-depth example of how to genereate a snapshot, explore our example found [here](https://github.com/envoyproxy/go-control-plane/blob/main/internal/example/resource.go#L168). We recommend verifying that your new `snapshot` is consistent within itself meaning that the dependent resources are exactly listed in the snapshot: ```go if err := snapshot.Consistent(); err != nil { l.Errorf("snapshot inconsistency: %+v\n%+v", snapshot, err) os.Exit(1) } ``` - all EDS resources are listed by name in CDS resources - all SRDS/RDS resources are listed by name in LDS resources - all RDS resources are listed by name in SRDS resources > *NOTE*: Clusters and Listeners are requested without name references, so Envoy will accept the snapshot list of clusters as-is even if it does not match all references found in xDS. Setting a snapshot is as simple as: ```go // Add the snapshot to the cache if err := cache.SetSnapshot("envoy-node-id", snapshot); err != nil { l.Errorf("snapshot error %q for %+v", err, snapshot) os.Exit(1) } ``` This will trigger all open watches internal to the caching [config watchers](https://github.com/envoyproxy/go-control-plane/blob/main/pkg/cache/v3/cache.go#L45) and anything listening for changes will received updates and responses from the new snapshot. *Note*: that a node ID must be provided along with the snapshot object. Internally a mapping of the two is kept so each node can receive the latest version of its configuration. go-control-plane-0.12.0/docs/server.md000066400000000000000000000066471454502223200175460ustar00rootroot00000000000000# xDS Server Implementation go-control-plane ships with a full [streaming implementation](https://github.com/envoyproxy/go-control-plane/blob/main/pkg/server/v3/server.go#L175) of the xDS protocol. Current support for the servers lists as follows: - REST HTTP/1.1 *(This will soon be deprecated)* - gRPC Bi-Di - State of the World - Incremental ## Getting Started For a fully functional gRPC server, check out the provided example for what that looks like: - https://github.com/envoyproxy/go-control-plane/blob/main/internal/example/server.go ### Callbacks All go-control-plane xDS server implementations require `Callback` methods. Callbacks are executed at certain steps of the management server lifecycle. The interface to be implemented can be found [here](https://godoc.org/github.com/envoyproxy/go-control-plane/pkg/server/v2#Callbacks). An example implemention of the Callback interface can be found below: ```go import ( "context" "log" "sync" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" ) type Callbacks struct { Signal chan struct{} Debug bool Fetches int Requests int DeltaRequests int DeltaResponses int mu sync.Mutex } func (cb *Callbacks) Report() { cb.mu.Lock() defer cb.mu.Unlock() log.Printf("server callbacks fetches=%d requests=%d\n", cb.Fetches, cb.Requests) } func (cb *Callbacks) OnStreamOpen(_ context.Context, id int64, typ string) error { if cb.Debug { log.Printf("stream %d open for %s\n", id, typ) } return nil } func (cb *Callbacks) OnStreamClosed(id int64, node *core.Node) { if cb.Debug { log.Printf("stream %d of node %s closed\n", id, node.Id) } } func (cb *Callbacks) OnDeltaStreamOpen(_ context.Context, id int64, typ string) error { if cb.Debug { log.Printf("delta stream %d open for %s\n", id, typ) } return nil } func (cb *Callbacks) OnDeltaStreamClosed(id int64, node *core.Node) { if cb.Debug { log.Printf("delta stream %d of node %s closed\n", id, node.Id) } } func (cb *Callbacks) OnStreamRequest(int64, *discovery.DiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.Requests++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } return nil } func (cb *Callbacks) OnStreamResponse(context.Context, int64, *discovery.DiscoveryRequest, *discovery.DiscoveryResponse) { } func (cb *Callbacks) OnStreamDeltaResponse(id int64, req *discovery.DeltaDiscoveryRequest, res *discovery.DeltaDiscoveryResponse) { cb.mu.Lock() defer cb.mu.Unlock() cb.DeltaResponses++ } func (cb *Callbacks) OnStreamDeltaRequest(id int64, req *discovery.DeltaDiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.DeltaRequests++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } return nil } func (cb *Callbacks) OnFetchRequest(_ context.Context, req *discovery.DiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.Fetches++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } return nil } func (cb *Callbacks) OnFetchResponse(*discovery.DiscoveryRequest, *discovery.DiscoveryResponse) {} ``` ## Info The internal go-control-plane gRPC server implementations take care of managing watches with the [Config Watcher](https://github.com/envoyproxy/go-control-plane/blob/main/pkg/cache/v3/cache.go#L45) when new xDS clients register themselves. > *NOTE*: The server supports REST/JSON as well as gRPC bi-di streaming go-control-plane-0.12.0/envoy/000077500000000000000000000000001454502223200161115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/COMMIT000066400000000000000000000000511454502223200170200ustar00rootroot000000000000004adc79bcfb7db39ce28f8688e245be7768d90b6a go-control-plane-0.12.0/envoy/admin/000077500000000000000000000000001454502223200172015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/admin/v2alpha/000077500000000000000000000000001454502223200205365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/admin/v2alpha/certs.pb.go000077500000000000000000000451611454502223200226170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/certs.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of certificate details. Admin endpoint uses this wrapper for `/certs` to // display certificate information. See :ref:`/certs ` for more // information. type Certificates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of certificates known to an Envoy. Certificates []*Certificate `protobuf:"bytes,1,rep,name=certificates,proto3" json:"certificates,omitempty"` } func (x *Certificates) Reset() { *x = Certificates{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Certificates) String() string { return protoimpl.X.MessageStringOf(x) } func (*Certificates) ProtoMessage() {} func (x *Certificates) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Certificates.ProtoReflect.Descriptor instead. func (*Certificates) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_certs_proto_rawDescGZIP(), []int{0} } func (x *Certificates) GetCertificates() []*Certificate { if x != nil { return x.Certificates } return nil } type Certificate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Details of CA certificate. CaCert []*CertificateDetails `protobuf:"bytes,1,rep,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"` // Details of Certificate Chain CertChain []*CertificateDetails `protobuf:"bytes,2,rep,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"` } func (x *Certificate) Reset() { *x = Certificate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Certificate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Certificate) ProtoMessage() {} func (x *Certificate) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Certificate.ProtoReflect.Descriptor instead. func (*Certificate) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_certs_proto_rawDescGZIP(), []int{1} } func (x *Certificate) GetCaCert() []*CertificateDetails { if x != nil { return x.CaCert } return nil } func (x *Certificate) GetCertChain() []*CertificateDetails { if x != nil { return x.CertChain } return nil } // [#next-free-field: 7] type CertificateDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Path of the certificate. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // Certificate Serial Number. SerialNumber string `protobuf:"bytes,2,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"` // List of Subject Alternate names. SubjectAltNames []*SubjectAlternateName `protobuf:"bytes,3,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // Minimum of days until expiration of certificate and it's chain. DaysUntilExpiration uint64 `protobuf:"varint,4,opt,name=days_until_expiration,json=daysUntilExpiration,proto3" json:"days_until_expiration,omitempty"` // Indicates the time from which the certificate is valid. ValidFrom *timestamp.Timestamp `protobuf:"bytes,5,opt,name=valid_from,json=validFrom,proto3" json:"valid_from,omitempty"` // Indicates the time at which the certificate expires. ExpirationTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` } func (x *CertificateDetails) Reset() { *x = CertificateDetails{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateDetails) ProtoMessage() {} func (x *CertificateDetails) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateDetails.ProtoReflect.Descriptor instead. func (*CertificateDetails) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_certs_proto_rawDescGZIP(), []int{2} } func (x *CertificateDetails) GetPath() string { if x != nil { return x.Path } return "" } func (x *CertificateDetails) GetSerialNumber() string { if x != nil { return x.SerialNumber } return "" } func (x *CertificateDetails) GetSubjectAltNames() []*SubjectAlternateName { if x != nil { return x.SubjectAltNames } return nil } func (x *CertificateDetails) GetDaysUntilExpiration() uint64 { if x != nil { return x.DaysUntilExpiration } return 0 } func (x *CertificateDetails) GetValidFrom() *timestamp.Timestamp { if x != nil { return x.ValidFrom } return nil } func (x *CertificateDetails) GetExpirationTime() *timestamp.Timestamp { if x != nil { return x.ExpirationTime } return nil } type SubjectAlternateName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Subject Alternate Name. // // Types that are assignable to Name: // // *SubjectAlternateName_Dns // *SubjectAlternateName_Uri // *SubjectAlternateName_IpAddress Name isSubjectAlternateName_Name `protobuf_oneof:"name"` } func (x *SubjectAlternateName) Reset() { *x = SubjectAlternateName{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubjectAlternateName) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubjectAlternateName) ProtoMessage() {} func (x *SubjectAlternateName) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_certs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubjectAlternateName.ProtoReflect.Descriptor instead. func (*SubjectAlternateName) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_certs_proto_rawDescGZIP(), []int{3} } func (m *SubjectAlternateName) GetName() isSubjectAlternateName_Name { if m != nil { return m.Name } return nil } func (x *SubjectAlternateName) GetDns() string { if x, ok := x.GetName().(*SubjectAlternateName_Dns); ok { return x.Dns } return "" } func (x *SubjectAlternateName) GetUri() string { if x, ok := x.GetName().(*SubjectAlternateName_Uri); ok { return x.Uri } return "" } func (x *SubjectAlternateName) GetIpAddress() string { if x, ok := x.GetName().(*SubjectAlternateName_IpAddress); ok { return x.IpAddress } return "" } type isSubjectAlternateName_Name interface { isSubjectAlternateName_Name() } type SubjectAlternateName_Dns struct { Dns string `protobuf:"bytes,1,opt,name=dns,proto3,oneof"` } type SubjectAlternateName_Uri struct { Uri string `protobuf:"bytes,2,opt,name=uri,proto3,oneof"` } type SubjectAlternateName_IpAddress struct { IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3,oneof"` } func (*SubjectAlternateName_Dns) isSubjectAlternateName_Name() {} func (*SubjectAlternateName_Uri) isSubjectAlternateName_Name() {} func (*SubjectAlternateName_IpAddress) isSubjectAlternateName_Name() {} var File_envoy_admin_v2alpha_certs_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_certs_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xd8, 0x02, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x75, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0a, 0x43, 0x65, 0x72, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_certs_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_certs_proto_rawDescData = file_envoy_admin_v2alpha_certs_proto_rawDesc ) func file_envoy_admin_v2alpha_certs_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_certs_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_certs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_certs_proto_rawDescData) }) return file_envoy_admin_v2alpha_certs_proto_rawDescData } var file_envoy_admin_v2alpha_certs_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_admin_v2alpha_certs_proto_goTypes = []interface{}{ (*Certificates)(nil), // 0: envoy.admin.v2alpha.Certificates (*Certificate)(nil), // 1: envoy.admin.v2alpha.Certificate (*CertificateDetails)(nil), // 2: envoy.admin.v2alpha.CertificateDetails (*SubjectAlternateName)(nil), // 3: envoy.admin.v2alpha.SubjectAlternateName (*timestamp.Timestamp)(nil), // 4: google.protobuf.Timestamp } var file_envoy_admin_v2alpha_certs_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v2alpha.Certificates.certificates:type_name -> envoy.admin.v2alpha.Certificate 2, // 1: envoy.admin.v2alpha.Certificate.ca_cert:type_name -> envoy.admin.v2alpha.CertificateDetails 2, // 2: envoy.admin.v2alpha.Certificate.cert_chain:type_name -> envoy.admin.v2alpha.CertificateDetails 3, // 3: envoy.admin.v2alpha.CertificateDetails.subject_alt_names:type_name -> envoy.admin.v2alpha.SubjectAlternateName 4, // 4: envoy.admin.v2alpha.CertificateDetails.valid_from:type_name -> google.protobuf.Timestamp 4, // 5: envoy.admin.v2alpha.CertificateDetails.expiration_time:type_name -> google.protobuf.Timestamp 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_certs_proto_init() } func file_envoy_admin_v2alpha_certs_proto_init() { if File_envoy_admin_v2alpha_certs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_certs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Certificates); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_certs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Certificate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_certs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_certs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubjectAlternateName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_admin_v2alpha_certs_proto_msgTypes[3].OneofWrappers = []interface{}{ (*SubjectAlternateName_Dns)(nil), (*SubjectAlternateName_Uri)(nil), (*SubjectAlternateName_IpAddress)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_certs_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_certs_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_certs_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_certs_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_certs_proto = out.File file_envoy_admin_v2alpha_certs_proto_rawDesc = nil file_envoy_admin_v2alpha_certs_proto_goTypes = nil file_envoy_admin_v2alpha_certs_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/certs.pb.validate.go000077500000000000000000000435401454502223200244060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/certs.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Certificates with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Certificates) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Certificates with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CertificatesMultiError, or // nil if none found. func (m *Certificates) ValidateAll() error { return m.validate(true) } func (m *Certificates) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetCertificates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CertificatesMultiError(errors) } return nil } // CertificatesMultiError is an error wrapping multiple validation errors // returned by Certificates.ValidateAll() if the designated constraints aren't met. type CertificatesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificatesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificatesMultiError) AllErrors() []error { return m } // CertificatesValidationError is the validation error returned by // Certificates.Validate if the designated constraints aren't met. type CertificatesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificatesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificatesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificatesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificatesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificatesValidationError) ErrorName() string { return "CertificatesValidationError" } // Error satisfies the builtin error interface func (e CertificatesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificates.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificatesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificatesValidationError{} // Validate checks the field values on Certificate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Certificate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Certificate with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CertificateMultiError, or // nil if none found. func (m *Certificate) ValidateAll() error { return m.validate(true) } func (m *Certificate) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetCaCert() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetCertChain() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CertificateMultiError(errors) } return nil } // CertificateMultiError is an error wrapping multiple validation errors // returned by Certificate.ValidateAll() if the designated constraints aren't met. type CertificateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateMultiError) AllErrors() []error { return m } // CertificateValidationError is the validation error returned by // Certificate.Validate if the designated constraints aren't met. type CertificateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateValidationError) ErrorName() string { return "CertificateValidationError" } // Error satisfies the builtin error interface func (e CertificateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateValidationError{} // Validate checks the field values on CertificateDetails with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CertificateDetails) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateDetails with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CertificateDetailsMultiError, or nil if none found. func (m *CertificateDetails) ValidateAll() error { return m.validate(true) } func (m *CertificateDetails) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Path // no validation rules for SerialNumber for idx, item := range m.GetSubjectAltNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for DaysUntilExpiration if all { switch v := interface{}(m.GetValidFrom()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidFrom()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetExpirationTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpirationTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CertificateDetailsMultiError(errors) } return nil } // CertificateDetailsMultiError is an error wrapping multiple validation errors // returned by CertificateDetails.ValidateAll() if the designated constraints // aren't met. type CertificateDetailsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateDetailsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateDetailsMultiError) AllErrors() []error { return m } // CertificateDetailsValidationError is the validation error returned by // CertificateDetails.Validate if the designated constraints aren't met. type CertificateDetailsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateDetailsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateDetailsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateDetailsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateDetailsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateDetailsValidationError) ErrorName() string { return "CertificateDetailsValidationError" } // Error satisfies the builtin error interface func (e CertificateDetailsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateDetails.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateDetailsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateDetailsValidationError{} // Validate checks the field values on SubjectAlternateName with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SubjectAlternateName) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubjectAlternateName with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubjectAlternateNameMultiError, or nil if none found. func (m *SubjectAlternateName) ValidateAll() error { return m.validate(true) } func (m *SubjectAlternateName) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Name.(type) { case *SubjectAlternateName_Dns: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Dns case *SubjectAlternateName_Uri: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Uri case *SubjectAlternateName_IpAddress: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for IpAddress default: _ = v // ensures v is used } if len(errors) > 0 { return SubjectAlternateNameMultiError(errors) } return nil } // SubjectAlternateNameMultiError is an error wrapping multiple validation // errors returned by SubjectAlternateName.ValidateAll() if the designated // constraints aren't met. type SubjectAlternateNameMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubjectAlternateNameMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubjectAlternateNameMultiError) AllErrors() []error { return m } // SubjectAlternateNameValidationError is the validation error returned by // SubjectAlternateName.Validate if the designated constraints aren't met. type SubjectAlternateNameValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubjectAlternateNameValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubjectAlternateNameValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubjectAlternateNameValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubjectAlternateNameValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubjectAlternateNameValidationError) ErrorName() string { return "SubjectAlternateNameValidationError" } // Error satisfies the builtin error interface func (e SubjectAlternateNameValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubjectAlternateName.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubjectAlternateNameValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubjectAlternateNameValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/clusters.pb.go000077500000000000000000000732511454502223200233440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/clusters.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Admin endpoint uses this wrapper for `/clusters` to display cluster status information. // See :ref:`/clusters ` for more information. type Clusters struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Mapping from cluster name to each cluster's status. ClusterStatuses []*ClusterStatus `protobuf:"bytes,1,rep,name=cluster_statuses,json=clusterStatuses,proto3" json:"cluster_statuses,omitempty"` } func (x *Clusters) Reset() { *x = Clusters{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Clusters) String() string { return protoimpl.X.MessageStringOf(x) } func (*Clusters) ProtoMessage() {} func (x *Clusters) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Clusters.ProtoReflect.Descriptor instead. func (*Clusters) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{0} } func (x *Clusters) GetClusterStatuses() []*ClusterStatus { if x != nil { return x.ClusterStatuses } return nil } // Details an individual cluster's current status. // [#next-free-field: 6] type ClusterStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Denotes whether this cluster was added via API or configured statically. AddedViaApi bool `protobuf:"varint,2,opt,name=added_via_api,json=addedViaApi,proto3" json:"added_via_api,omitempty"` // The success rate threshold used in the last interval. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is *false*, all errors: externally and locally generated were used to calculate the threshold. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is *true*, only externally generated errors were used to calculate the threshold. // The threshold is used to eject hosts based on their success rate. See // :ref:`Cluster outlier detection ` documentation for details. // // Note: this field may be omitted in any of the three following cases: // // 1. There were not enough hosts with enough request volume to proceed with success rate based // outlier ejection. // 2. The threshold is computed to be < 0 because a negative value implies that there was no // threshold for that interval. // 3. Outlier detection is not enabled for this cluster. SuccessRateEjectionThreshold *_type.Percent `protobuf:"bytes,3,opt,name=success_rate_ejection_threshold,json=successRateEjectionThreshold,proto3" json:"success_rate_ejection_threshold,omitempty"` // Mapping from host address to the host's current status. HostStatuses []*HostStatus `protobuf:"bytes,4,rep,name=host_statuses,json=hostStatuses,proto3" json:"host_statuses,omitempty"` // The success rate threshold used in the last interval when only locally originated failures were // taken into account and externally originated errors were treated as success. // This field should be interpreted only when // :ref:`outlier_detection.split_external_local_origin_errors` // is *true*. The threshold is used to eject hosts based on their success rate. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: this field may be omitted in any of the three following cases: // // 1. There were not enough hosts with enough request volume to proceed with success rate based // outlier ejection. // 2. The threshold is computed to be < 0 because a negative value implies that there was no // threshold for that interval. // 3. Outlier detection is not enabled for this cluster. LocalOriginSuccessRateEjectionThreshold *_type.Percent `protobuf:"bytes,5,opt,name=local_origin_success_rate_ejection_threshold,json=localOriginSuccessRateEjectionThreshold,proto3" json:"local_origin_success_rate_ejection_threshold,omitempty"` } func (x *ClusterStatus) Reset() { *x = ClusterStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStatus) ProtoMessage() {} func (x *ClusterStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStatus.ProtoReflect.Descriptor instead. func (*ClusterStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{1} } func (x *ClusterStatus) GetName() string { if x != nil { return x.Name } return "" } func (x *ClusterStatus) GetAddedViaApi() bool { if x != nil { return x.AddedViaApi } return false } func (x *ClusterStatus) GetSuccessRateEjectionThreshold() *_type.Percent { if x != nil { return x.SuccessRateEjectionThreshold } return nil } func (x *ClusterStatus) GetHostStatuses() []*HostStatus { if x != nil { return x.HostStatuses } return nil } func (x *ClusterStatus) GetLocalOriginSuccessRateEjectionThreshold() *_type.Percent { if x != nil { return x.LocalOriginSuccessRateEjectionThreshold } return nil } // Current state of a particular host. // [#next-free-field: 10] type HostStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Address of this host. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // List of stats specific to this host. Stats []*SimpleMetric `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"` // The host's current health status. HealthStatus *HostHealthStatus `protobuf:"bytes,3,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"` // Request success rate for this host over the last calculated interval. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is *false*, all errors: externally and locally generated were used in success rate // calculation. If // :ref:`outlier_detection.split_external_local_origin_errors` // is *true*, only externally generated errors were used in success rate calculation. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: the message will not be present if host did not have enough request volume to calculate // success rate or the cluster did not have enough hosts to run through success rate outlier // ejection. SuccessRate *_type.Percent `protobuf:"bytes,4,opt,name=success_rate,json=successRate,proto3" json:"success_rate,omitempty"` // The host's weight. If not configured, the value defaults to 1. Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"` // The hostname of the host, if applicable. Hostname string `protobuf:"bytes,6,opt,name=hostname,proto3" json:"hostname,omitempty"` // The host's priority. If not configured, the value defaults to 0 (highest priority). Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"` // Request success rate for this host over the last calculated // interval when only locally originated errors are taken into account and externally originated // errors were treated as success. // This field should be interpreted only when // :ref:`outlier_detection.split_external_local_origin_errors` // is *true*. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: the message will not be present if host did not have enough request volume to calculate // success rate or the cluster did not have enough hosts to run through success rate outlier // ejection. LocalOriginSuccessRate *_type.Percent `protobuf:"bytes,8,opt,name=local_origin_success_rate,json=localOriginSuccessRate,proto3" json:"local_origin_success_rate,omitempty"` // locality of the host. Locality *core.Locality `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"` } func (x *HostStatus) Reset() { *x = HostStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HostStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostStatus) ProtoMessage() {} func (x *HostStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HostStatus.ProtoReflect.Descriptor instead. func (*HostStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{2} } func (x *HostStatus) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *HostStatus) GetStats() []*SimpleMetric { if x != nil { return x.Stats } return nil } func (x *HostStatus) GetHealthStatus() *HostHealthStatus { if x != nil { return x.HealthStatus } return nil } func (x *HostStatus) GetSuccessRate() *_type.Percent { if x != nil { return x.SuccessRate } return nil } func (x *HostStatus) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *HostStatus) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *HostStatus) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *HostStatus) GetLocalOriginSuccessRate() *_type.Percent { if x != nil { return x.LocalOriginSuccessRate } return nil } func (x *HostStatus) GetLocality() *core.Locality { if x != nil { return x.Locality } return nil } // Health status for a host. // [#next-free-field: 7] type HostHealthStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The host is currently failing active health checks. FailedActiveHealthCheck bool `protobuf:"varint,1,opt,name=failed_active_health_check,json=failedActiveHealthCheck,proto3" json:"failed_active_health_check,omitempty"` // The host is currently considered an outlier and has been ejected. FailedOutlierCheck bool `protobuf:"varint,2,opt,name=failed_outlier_check,json=failedOutlierCheck,proto3" json:"failed_outlier_check,omitempty"` // The host is currently being marked as degraded through active health checking. FailedActiveDegradedCheck bool `protobuf:"varint,4,opt,name=failed_active_degraded_check,json=failedActiveDegradedCheck,proto3" json:"failed_active_degraded_check,omitempty"` // The host has been removed from service discovery, but is being stabilized due to active // health checking. PendingDynamicRemoval bool `protobuf:"varint,5,opt,name=pending_dynamic_removal,json=pendingDynamicRemoval,proto3" json:"pending_dynamic_removal,omitempty"` // The host has not yet been health checked. PendingActiveHc bool `protobuf:"varint,6,opt,name=pending_active_hc,json=pendingActiveHc,proto3" json:"pending_active_hc,omitempty"` // Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported // here. // [#comment:TODO(mrice32): pipe through remaining EDS health status possibilities.] EdsHealthStatus core.HealthStatus `protobuf:"varint,3,opt,name=eds_health_status,json=edsHealthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"eds_health_status,omitempty"` } func (x *HostHealthStatus) Reset() { *x = HostHealthStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HostHealthStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostHealthStatus) ProtoMessage() {} func (x *HostHealthStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HostHealthStatus.ProtoReflect.Descriptor instead. func (*HostHealthStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{3} } func (x *HostHealthStatus) GetFailedActiveHealthCheck() bool { if x != nil { return x.FailedActiveHealthCheck } return false } func (x *HostHealthStatus) GetFailedOutlierCheck() bool { if x != nil { return x.FailedOutlierCheck } return false } func (x *HostHealthStatus) GetFailedActiveDegradedCheck() bool { if x != nil { return x.FailedActiveDegradedCheck } return false } func (x *HostHealthStatus) GetPendingDynamicRemoval() bool { if x != nil { return x.PendingDynamicRemoval } return false } func (x *HostHealthStatus) GetPendingActiveHc() bool { if x != nil { return x.PendingActiveHc } return false } func (x *HostHealthStatus) GetEdsHealthStatus() core.HealthStatus { if x != nil { return x.EdsHealthStatus } return core.HealthStatus(0) } var File_envoy_admin_v2alpha_clusters_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_clusters_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x08, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x65, 0x64, 0x56, 0x69, 0x61, 0x41, 0x70, 0x69, 0x12, 0x5a, 0x0a, 0x1f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x1c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xd8, 0x03, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xf3, 0x02, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x12, 0x4b, 0x0a, 0x11, 0x65, 0x64, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x65, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_clusters_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_clusters_proto_rawDescData = file_envoy_admin_v2alpha_clusters_proto_rawDesc ) func file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_clusters_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_clusters_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_clusters_proto_rawDescData) }) return file_envoy_admin_v2alpha_clusters_proto_rawDescData } var file_envoy_admin_v2alpha_clusters_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_admin_v2alpha_clusters_proto_goTypes = []interface{}{ (*Clusters)(nil), // 0: envoy.admin.v2alpha.Clusters (*ClusterStatus)(nil), // 1: envoy.admin.v2alpha.ClusterStatus (*HostStatus)(nil), // 2: envoy.admin.v2alpha.HostStatus (*HostHealthStatus)(nil), // 3: envoy.admin.v2alpha.HostHealthStatus (*_type.Percent)(nil), // 4: envoy.type.Percent (*core.Address)(nil), // 5: envoy.api.v2.core.Address (*SimpleMetric)(nil), // 6: envoy.admin.v2alpha.SimpleMetric (*core.Locality)(nil), // 7: envoy.api.v2.core.Locality (core.HealthStatus)(0), // 8: envoy.api.v2.core.HealthStatus } var file_envoy_admin_v2alpha_clusters_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v2alpha.Clusters.cluster_statuses:type_name -> envoy.admin.v2alpha.ClusterStatus 4, // 1: envoy.admin.v2alpha.ClusterStatus.success_rate_ejection_threshold:type_name -> envoy.type.Percent 2, // 2: envoy.admin.v2alpha.ClusterStatus.host_statuses:type_name -> envoy.admin.v2alpha.HostStatus 4, // 3: envoy.admin.v2alpha.ClusterStatus.local_origin_success_rate_ejection_threshold:type_name -> envoy.type.Percent 5, // 4: envoy.admin.v2alpha.HostStatus.address:type_name -> envoy.api.v2.core.Address 6, // 5: envoy.admin.v2alpha.HostStatus.stats:type_name -> envoy.admin.v2alpha.SimpleMetric 3, // 6: envoy.admin.v2alpha.HostStatus.health_status:type_name -> envoy.admin.v2alpha.HostHealthStatus 4, // 7: envoy.admin.v2alpha.HostStatus.success_rate:type_name -> envoy.type.Percent 4, // 8: envoy.admin.v2alpha.HostStatus.local_origin_success_rate:type_name -> envoy.type.Percent 7, // 9: envoy.admin.v2alpha.HostStatus.locality:type_name -> envoy.api.v2.core.Locality 8, // 10: envoy.admin.v2alpha.HostHealthStatus.eds_health_status:type_name -> envoy.api.v2.core.HealthStatus 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_clusters_proto_init() } func file_envoy_admin_v2alpha_clusters_proto_init() { if File_envoy_admin_v2alpha_clusters_proto != nil { return } file_envoy_admin_v2alpha_metrics_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_clusters_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Clusters); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_clusters_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_clusters_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_clusters_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostHealthStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_clusters_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_clusters_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_clusters_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_clusters_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_clusters_proto = out.File file_envoy_admin_v2alpha_clusters_proto_rawDesc = nil file_envoy_admin_v2alpha_clusters_proto_goTypes = nil file_envoy_admin_v2alpha_clusters_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/clusters.pb.validate.go000077500000000000000000000505661454502223200251400ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/clusters.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.HealthStatus(0) ) // Validate checks the field values on Clusters with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Clusters) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Clusters with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClustersMultiError, or nil // if none found. func (m *Clusters) ValidateAll() error { return m.validate(true) } func (m *Clusters) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetClusterStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClustersMultiError(errors) } return nil } // ClustersMultiError is an error wrapping multiple validation errors returned // by Clusters.ValidateAll() if the designated constraints aren't met. type ClustersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersMultiError) AllErrors() []error { return m } // ClustersValidationError is the validation error returned by // Clusters.Validate if the designated constraints aren't met. type ClustersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersValidationError) ErrorName() string { return "ClustersValidationError" } // Error satisfies the builtin error interface func (e ClustersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusters.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersValidationError{} // Validate checks the field values on ClusterStatus with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterStatusMultiError, or // nil if none found. func (m *ClusterStatus) ValidateAll() error { return m.validate(true) } func (m *ClusterStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for AddedViaApi if all { switch v := interface{}(m.GetSuccessRateEjectionThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateEjectionThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHostStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLocalOriginSuccessRateEjectionThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalOriginSuccessRateEjectionThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterStatusMultiError(errors) } return nil } // ClusterStatusMultiError is an error wrapping multiple validation errors // returned by ClusterStatus.ValidateAll() if the designated constraints // aren't met. type ClusterStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStatusMultiError) AllErrors() []error { return m } // ClusterStatusValidationError is the validation error returned by // ClusterStatus.Validate if the designated constraints aren't met. type ClusterStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStatusValidationError) ErrorName() string { return "ClusterStatusValidationError" } // Error satisfies the builtin error interface func (e ClusterStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStatusValidationError{} // Validate checks the field values on HostStatus with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HostStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HostStatus with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HostStatusMultiError, or // nil if none found. func (m *HostStatus) ValidateAll() error { return m.validate(true) } func (m *HostStatus) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetHealthStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Weight // no validation rules for Hostname // no validation rules for Priority if all { switch v := interface{}(m.GetLocalOriginSuccessRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalOriginSuccessRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HostStatusMultiError(errors) } return nil } // HostStatusMultiError is an error wrapping multiple validation errors // returned by HostStatus.ValidateAll() if the designated constraints aren't met. type HostStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HostStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HostStatusMultiError) AllErrors() []error { return m } // HostStatusValidationError is the validation error returned by // HostStatus.Validate if the designated constraints aren't met. type HostStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HostStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HostStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HostStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HostStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HostStatusValidationError) ErrorName() string { return "HostStatusValidationError" } // Error satisfies the builtin error interface func (e HostStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHostStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HostStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HostStatusValidationError{} // Validate checks the field values on HostHealthStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HostHealthStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HostHealthStatus with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HostHealthStatusMultiError, or nil if none found. func (m *HostHealthStatus) ValidateAll() error { return m.validate(true) } func (m *HostHealthStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FailedActiveHealthCheck // no validation rules for FailedOutlierCheck // no validation rules for FailedActiveDegradedCheck // no validation rules for PendingDynamicRemoval // no validation rules for PendingActiveHc // no validation rules for EdsHealthStatus if len(errors) > 0 { return HostHealthStatusMultiError(errors) } return nil } // HostHealthStatusMultiError is an error wrapping multiple validation errors // returned by HostHealthStatus.ValidateAll() if the designated constraints // aren't met. type HostHealthStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HostHealthStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HostHealthStatusMultiError) AllErrors() []error { return m } // HostHealthStatusValidationError is the validation error returned by // HostHealthStatus.Validate if the designated constraints aren't met. type HostHealthStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HostHealthStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HostHealthStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HostHealthStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HostHealthStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HostHealthStatusValidationError) ErrorName() string { return "HostHealthStatusValidationError" } // Error satisfies the builtin error interface func (e HostHealthStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHostHealthStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HostHealthStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HostHealthStatusValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/config_dump.pb.go000077500000000000000000002530031454502223200237650ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/config_dump.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v2" any1 "github.com/golang/protobuf/ptypes/any" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The :ref:`/config_dump ` admin endpoint uses this wrapper // message to maintain and serve arbitrary configuration information from any component in Envoy. type ConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This list is serialized and dumped in its entirety at the // :ref:`/config_dump ` endpoint. // // The following configurations are currently supported and will be dumped in the order given // below: // // * *bootstrap*: :ref:`BootstrapConfigDump ` // * *clusters*: :ref:`ClustersConfigDump ` // * *listeners*: :ref:`ListenersConfigDump ` // * *routes*: :ref:`RoutesConfigDump ` // // You can filter output with the resource and mask query parameters. // See :ref:`/config_dump?resource={} `, // :ref:`/config_dump?mask={} `, // or :ref:`/config_dump?resource={},mask={} // ` for more information. Configs []*any1.Any `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"` } func (x *ConfigDump) Reset() { *x = ConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigDump) ProtoMessage() {} func (x *ConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigDump.ProtoReflect.Descriptor instead. func (*ConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{0} } func (x *ConfigDump) GetConfigs() []*any1.Any { if x != nil { return x.Configs } return nil } type UpdateFailureState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // What the component configuration would have been if the update had succeeded. FailedConfiguration *any1.Any `protobuf:"bytes,1,opt,name=failed_configuration,json=failedConfiguration,proto3" json:"failed_configuration,omitempty"` // Time of the latest failed update attempt. LastUpdateAttempt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_update_attempt,json=lastUpdateAttempt,proto3" json:"last_update_attempt,omitempty"` // Details about the last failed update attempt. Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` } func (x *UpdateFailureState) Reset() { *x = UpdateFailureState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateFailureState) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateFailureState) ProtoMessage() {} func (x *UpdateFailureState) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateFailureState.ProtoReflect.Descriptor instead. func (*UpdateFailureState) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{1} } func (x *UpdateFailureState) GetFailedConfiguration() *any1.Any { if x != nil { return x.FailedConfiguration } return nil } func (x *UpdateFailureState) GetLastUpdateAttempt() *timestamp.Timestamp { if x != nil { return x.LastUpdateAttempt } return nil } func (x *UpdateFailureState) GetDetails() string { if x != nil { return x.Details } return "" } // This message describes the bootstrap configuration that Envoy was started with. This includes // any CLI overrides that were merged. Bootstrap configuration information can be used to recreate // the static portions of an Envoy configuration by reusing the output as the bootstrap // configuration for another Envoy. type BootstrapConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Bootstrap *v2.Bootstrap `protobuf:"bytes,1,opt,name=bootstrap,proto3" json:"bootstrap,omitempty"` // The timestamp when the BootstrapConfig was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *BootstrapConfigDump) Reset() { *x = BootstrapConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BootstrapConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*BootstrapConfigDump) ProtoMessage() {} func (x *BootstrapConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BootstrapConfigDump.ProtoReflect.Descriptor instead. func (*BootstrapConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{2} } func (x *BootstrapConfigDump) GetBootstrap() *v2.Bootstrap { if x != nil { return x.Bootstrap } return nil } func (x *BootstrapConfigDump) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Envoy's listener manager fills this message with all currently known listeners. Listener // configuration information can be used to recreate an Envoy configuration by populating all // listeners as static listeners or by returning them in a LDS response. type ListenersConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the :ref:`version_info ` in the // last processed LDS discovery response. If there are only static bootstrap listeners, this field // will be "". VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The statically loaded listener configs. StaticListeners []*ListenersConfigDump_StaticListener `protobuf:"bytes,2,rep,name=static_listeners,json=staticListeners,proto3" json:"static_listeners,omitempty"` // State for any warming, active, or draining listeners. DynamicListeners []*ListenersConfigDump_DynamicListener `protobuf:"bytes,3,rep,name=dynamic_listeners,json=dynamicListeners,proto3" json:"dynamic_listeners,omitempty"` } func (x *ListenersConfigDump) Reset() { *x = ListenersConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump) ProtoMessage() {} func (x *ListenersConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump.ProtoReflect.Descriptor instead. func (*ListenersConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{3} } func (x *ListenersConfigDump) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ListenersConfigDump) GetStaticListeners() []*ListenersConfigDump_StaticListener { if x != nil { return x.StaticListeners } return nil } func (x *ListenersConfigDump) GetDynamicListeners() []*ListenersConfigDump_DynamicListener { if x != nil { return x.DynamicListeners } return nil } // Envoy's cluster manager fills this message with all currently known clusters. Cluster // configuration information can be used to recreate an Envoy configuration by populating all // clusters as static clusters or by returning them in a CDS response. type ClustersConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the :ref:`version_info ` in the // last processed CDS discovery response. If there are only static bootstrap clusters, this field // will be "". VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The statically loaded cluster configs. StaticClusters []*ClustersConfigDump_StaticCluster `protobuf:"bytes,2,rep,name=static_clusters,json=staticClusters,proto3" json:"static_clusters,omitempty"` // The dynamically loaded active clusters. These are clusters that are available to service // data plane traffic. DynamicActiveClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,3,rep,name=dynamic_active_clusters,json=dynamicActiveClusters,proto3" json:"dynamic_active_clusters,omitempty"` // The dynamically loaded warming clusters. These are clusters that are currently undergoing // warming in preparation to service data plane traffic. Note that if attempting to recreate an // Envoy configuration from a configuration dump, the warming clusters should generally be // discarded. DynamicWarmingClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,4,rep,name=dynamic_warming_clusters,json=dynamicWarmingClusters,proto3" json:"dynamic_warming_clusters,omitempty"` } func (x *ClustersConfigDump) Reset() { *x = ClustersConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump) ProtoMessage() {} func (x *ClustersConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump.ProtoReflect.Descriptor instead. func (*ClustersConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{4} } func (x *ClustersConfigDump) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ClustersConfigDump) GetStaticClusters() []*ClustersConfigDump_StaticCluster { if x != nil { return x.StaticClusters } return nil } func (x *ClustersConfigDump) GetDynamicActiveClusters() []*ClustersConfigDump_DynamicCluster { if x != nil { return x.DynamicActiveClusters } return nil } func (x *ClustersConfigDump) GetDynamicWarmingClusters() []*ClustersConfigDump_DynamicCluster { if x != nil { return x.DynamicWarmingClusters } return nil } // Envoy's RDS implementation fills this message with all currently loaded routes, as described by // their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration // or defined inline while configuring listeners are separated from those configured dynamically via RDS. // Route configuration information can be used to recreate an Envoy configuration by populating all routes // as static routes or by returning them in RDS responses. type RoutesConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded route configs. StaticRouteConfigs []*RoutesConfigDump_StaticRouteConfig `protobuf:"bytes,2,rep,name=static_route_configs,json=staticRouteConfigs,proto3" json:"static_route_configs,omitempty"` // The dynamically loaded route configs. DynamicRouteConfigs []*RoutesConfigDump_DynamicRouteConfig `protobuf:"bytes,3,rep,name=dynamic_route_configs,json=dynamicRouteConfigs,proto3" json:"dynamic_route_configs,omitempty"` } func (x *RoutesConfigDump) Reset() { *x = RoutesConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump) ProtoMessage() {} func (x *RoutesConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump.ProtoReflect.Descriptor instead. func (*RoutesConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{5} } func (x *RoutesConfigDump) GetStaticRouteConfigs() []*RoutesConfigDump_StaticRouteConfig { if x != nil { return x.StaticRouteConfigs } return nil } func (x *RoutesConfigDump) GetDynamicRouteConfigs() []*RoutesConfigDump_DynamicRouteConfig { if x != nil { return x.DynamicRouteConfigs } return nil } // Envoy's scoped RDS implementation fills this message with all currently loaded route // configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both // the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the // dynamically obtained scopes via the SRDS API. type ScopedRoutesConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded scoped route configs. InlineScopedRouteConfigs []*ScopedRoutesConfigDump_InlineScopedRouteConfigs `protobuf:"bytes,1,rep,name=inline_scoped_route_configs,json=inlineScopedRouteConfigs,proto3" json:"inline_scoped_route_configs,omitempty"` // The dynamically loaded scoped route configs. DynamicScopedRouteConfigs []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs `protobuf:"bytes,2,rep,name=dynamic_scoped_route_configs,json=dynamicScopedRouteConfigs,proto3" json:"dynamic_scoped_route_configs,omitempty"` } func (x *ScopedRoutesConfigDump) Reset() { *x = ScopedRoutesConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump) ProtoMessage() {} func (x *ScopedRoutesConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{6} } func (x *ScopedRoutesConfigDump) GetInlineScopedRouteConfigs() []*ScopedRoutesConfigDump_InlineScopedRouteConfigs { if x != nil { return x.InlineScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump) GetDynamicScopedRouteConfigs() []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs { if x != nil { return x.DynamicScopedRouteConfigs } return nil } // Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS. type SecretsConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded secrets. StaticSecrets []*SecretsConfigDump_StaticSecret `protobuf:"bytes,1,rep,name=static_secrets,json=staticSecrets,proto3" json:"static_secrets,omitempty"` // The dynamically loaded active secrets. These are secrets that are available to service // clusters or listeners. DynamicActiveSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,2,rep,name=dynamic_active_secrets,json=dynamicActiveSecrets,proto3" json:"dynamic_active_secrets,omitempty"` // The dynamically loaded warming secrets. These are secrets that are currently undergoing // warming in preparation to service clusters or listeners. DynamicWarmingSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,3,rep,name=dynamic_warming_secrets,json=dynamicWarmingSecrets,proto3" json:"dynamic_warming_secrets,omitempty"` } func (x *SecretsConfigDump) Reset() { *x = SecretsConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump) ProtoMessage() {} func (x *SecretsConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump.ProtoReflect.Descriptor instead. func (*SecretsConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{7} } func (x *SecretsConfigDump) GetStaticSecrets() []*SecretsConfigDump_StaticSecret { if x != nil { return x.StaticSecrets } return nil } func (x *SecretsConfigDump) GetDynamicActiveSecrets() []*SecretsConfigDump_DynamicSecret { if x != nil { return x.DynamicActiveSecrets } return nil } func (x *SecretsConfigDump) GetDynamicWarmingSecrets() []*SecretsConfigDump_DynamicSecret { if x != nil { return x.DynamicWarmingSecrets } return nil } // Describes a statically loaded listener. type ListenersConfigDump_StaticListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The listener config. Listener *any1.Any `protobuf:"bytes,1,opt,name=listener,proto3" json:"listener,omitempty"` // The timestamp when the Listener was last successfully updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ListenersConfigDump_StaticListener) Reset() { *x = ListenersConfigDump_StaticListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_StaticListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_StaticListener) ProtoMessage() {} func (x *ListenersConfigDump_StaticListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_StaticListener.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_StaticListener) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{3, 0} } func (x *ListenersConfigDump_StaticListener) GetListener() *any1.Any { if x != nil { return x.Listener } return nil } func (x *ListenersConfigDump_StaticListener) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type ListenersConfigDump_DynamicListenerState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time // that the listener was loaded. In the future, discrete per-listener versions may be supported // by the API. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The listener config. Listener *any1.Any `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"` // The timestamp when the Listener was last successfully updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ListenersConfigDump_DynamicListenerState) Reset() { *x = ListenersConfigDump_DynamicListenerState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_DynamicListenerState) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_DynamicListenerState) ProtoMessage() {} func (x *ListenersConfigDump_DynamicListenerState) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_DynamicListenerState.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_DynamicListenerState) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{3, 1} } func (x *ListenersConfigDump_DynamicListenerState) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ListenersConfigDump_DynamicListenerState) GetListener() *any1.Any { if x != nil { return x.Listener } return nil } func (x *ListenersConfigDump_DynamicListenerState) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Describes a dynamically loaded listener via the LDS API. // [#next-free-field: 6] type ListenersConfigDump_DynamicListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name or unique id of this listener, pulled from the DynamicListenerState config. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The listener state for any active listener by this name. // These are listeners that are available to service data plane traffic. ActiveState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,2,opt,name=active_state,json=activeState,proto3" json:"active_state,omitempty"` // The listener state for any warming listener by this name. // These are listeners that are currently undergoing warming in preparation to service data // plane traffic. Note that if attempting to recreate an Envoy configuration from a // configuration dump, the warming listeners should generally be discarded. WarmingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,3,opt,name=warming_state,json=warmingState,proto3" json:"warming_state,omitempty"` // The listener state for any draining listener by this name. // These are listeners that are currently undergoing draining in preparation to stop servicing // data plane traffic. Note that if attempting to recreate an Envoy configuration from a // configuration dump, the draining listeners should generally be discarded. DrainingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,4,opt,name=draining_state,json=drainingState,proto3" json:"draining_state,omitempty"` // Set if the last update failed, cleared after the next successful update. ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` } func (x *ListenersConfigDump_DynamicListener) Reset() { *x = ListenersConfigDump_DynamicListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_DynamicListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_DynamicListener) ProtoMessage() {} func (x *ListenersConfigDump_DynamicListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_DynamicListener.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_DynamicListener) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{3, 2} } func (x *ListenersConfigDump_DynamicListener) GetName() string { if x != nil { return x.Name } return "" } func (x *ListenersConfigDump_DynamicListener) GetActiveState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.ActiveState } return nil } func (x *ListenersConfigDump_DynamicListener) GetWarmingState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.WarmingState } return nil } func (x *ListenersConfigDump_DynamicListener) GetDrainingState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.DrainingState } return nil } func (x *ListenersConfigDump_DynamicListener) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } // Describes a statically loaded cluster. type ClustersConfigDump_StaticCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster config. Cluster *any1.Any `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // The timestamp when the Cluster was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ClustersConfigDump_StaticCluster) Reset() { *x = ClustersConfigDump_StaticCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump_StaticCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump_StaticCluster) ProtoMessage() {} func (x *ClustersConfigDump_StaticCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump_StaticCluster.ProtoReflect.Descriptor instead. func (*ClustersConfigDump_StaticCluster) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{4, 0} } func (x *ClustersConfigDump_StaticCluster) GetCluster() *any1.Any { if x != nil { return x.Cluster } return nil } func (x *ClustersConfigDump_StaticCluster) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Describes a dynamically loaded cluster via the CDS API. type ClustersConfigDump_DynamicCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by // the API. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The cluster config. Cluster *any1.Any `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // The timestamp when the Cluster was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ClustersConfigDump_DynamicCluster) Reset() { *x = ClustersConfigDump_DynamicCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump_DynamicCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump_DynamicCluster) ProtoMessage() {} func (x *ClustersConfigDump_DynamicCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump_DynamicCluster.ProtoReflect.Descriptor instead. func (*ClustersConfigDump_DynamicCluster) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{4, 1} } func (x *ClustersConfigDump_DynamicCluster) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ClustersConfigDump_DynamicCluster) GetCluster() *any1.Any { if x != nil { return x.Cluster } return nil } func (x *ClustersConfigDump_DynamicCluster) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type RoutesConfigDump_StaticRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The route config. RouteConfig *any1.Any `protobuf:"bytes,1,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // The timestamp when the Route was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *RoutesConfigDump_StaticRouteConfig) Reset() { *x = RoutesConfigDump_StaticRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump_StaticRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump_StaticRouteConfig) ProtoMessage() {} func (x *RoutesConfigDump_StaticRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump_StaticRouteConfig.ProtoReflect.Descriptor instead. func (*RoutesConfigDump_StaticRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{5, 0} } func (x *RoutesConfigDump_StaticRouteConfig) GetRouteConfig() *any1.Any { if x != nil { return x.RouteConfig } return nil } func (x *RoutesConfigDump_StaticRouteConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type RoutesConfigDump_DynamicRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time that // the route configuration was loaded. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The route config. RouteConfig *any1.Any `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // The timestamp when the Route was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *RoutesConfigDump_DynamicRouteConfig) Reset() { *x = RoutesConfigDump_DynamicRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump_DynamicRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump_DynamicRouteConfig) ProtoMessage() {} func (x *RoutesConfigDump_DynamicRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump_DynamicRouteConfig.ProtoReflect.Descriptor instead. func (*RoutesConfigDump_DynamicRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{5, 1} } func (x *RoutesConfigDump_DynamicRouteConfig) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *RoutesConfigDump_DynamicRouteConfig) GetRouteConfig() *any1.Any { if x != nil { return x.RouteConfig } return nil } func (x *RoutesConfigDump_DynamicRouteConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type ScopedRoutesConfigDump_InlineScopedRouteConfigs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped route configurations. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The scoped route configurations. ScopedRouteConfigs []*any1.Any `protobuf:"bytes,2,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"` // The timestamp when the scoped route config set was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Reset() { *x = ScopedRoutesConfigDump_InlineScopedRouteConfigs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoMessage() {} func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump_InlineScopedRouteConfigs.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{6, 0} } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any { if x != nil { return x.ScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type ScopedRoutesConfigDump_DynamicScopedRouteConfigs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped route configurations. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time that // the scoped routes configuration was loaded. VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The scoped route configurations. ScopedRouteConfigs []*any1.Any `protobuf:"bytes,3,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"` // The timestamp when the scoped route config set was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Reset() { *x = ScopedRoutesConfigDump_DynamicScopedRouteConfigs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoMessage() {} func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{6, 1} } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any { if x != nil { return x.ScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // DynamicSecret contains secret information fetched via SDS. type SecretsConfigDump_DynamicSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the secret. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // This is the per-resource version information. VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The timestamp when the secret was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // The actual secret information. // Security sensitive information is redacted (replaced with "[redacted]") for // private keys and passwords in TLS certificates. Secret *any1.Any `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretsConfigDump_DynamicSecret) Reset() { *x = SecretsConfigDump_DynamicSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump_DynamicSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump_DynamicSecret) ProtoMessage() {} func (x *SecretsConfigDump_DynamicSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump_DynamicSecret.ProtoReflect.Descriptor instead. func (*SecretsConfigDump_DynamicSecret) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{7, 0} } func (x *SecretsConfigDump_DynamicSecret) GetName() string { if x != nil { return x.Name } return "" } func (x *SecretsConfigDump_DynamicSecret) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *SecretsConfigDump_DynamicSecret) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *SecretsConfigDump_DynamicSecret) GetSecret() *any1.Any { if x != nil { return x.Secret } return nil } // StaticSecret specifies statically loaded secret in bootstrap. type SecretsConfigDump_StaticSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the secret. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The timestamp when the secret was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // The actual secret information. // Security sensitive information is redacted (replaced with "[redacted]") for // private keys and passwords in TLS certificates. Secret *any1.Any `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretsConfigDump_StaticSecret) Reset() { *x = SecretsConfigDump_StaticSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump_StaticSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump_StaticSecret) ProtoMessage() {} func (x *SecretsConfigDump_StaticSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_config_dump_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump_StaticSecret.ProtoReflect.Descriptor instead. func (*SecretsConfigDump_StaticSecret) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP(), []int{7, 1} } func (x *SecretsConfigDump_StaticSecret) GetName() string { if x != nil { return x.Name } return "" } func (x *SecretsConfigDump_StaticSecret) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *SecretsConfigDump_StaticSecret) GetSecret() *any1.Any { if x != nil { return x.Secret } return nil } var File_envoy_admin_v2alpha_config_dump_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_config_dump_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xd2, 0x07, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x62, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x81, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xaa, 0x01, 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x9b, 0x03, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9e, 0x05, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x7e, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xa2, 0x01, 0x0a, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xab, 0x04, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x69, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xaf, 0x01, 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xbb, 0x05, 0x0a, 0x16, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x83, 0x01, 0x0a, 0x1b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x18, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x19, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xb5, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xd9, 0x01, 0x0a, 0x19, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x91, 0x05, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x5a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0xb3, 0x01, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_config_dump_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_config_dump_proto_rawDescData = file_envoy_admin_v2alpha_config_dump_proto_rawDesc ) func file_envoy_admin_v2alpha_config_dump_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_config_dump_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_config_dump_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_config_dump_proto_rawDescData) }) return file_envoy_admin_v2alpha_config_dump_proto_rawDescData } var file_envoy_admin_v2alpha_config_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_envoy_admin_v2alpha_config_dump_proto_goTypes = []interface{}{ (*ConfigDump)(nil), // 0: envoy.admin.v2alpha.ConfigDump (*UpdateFailureState)(nil), // 1: envoy.admin.v2alpha.UpdateFailureState (*BootstrapConfigDump)(nil), // 2: envoy.admin.v2alpha.BootstrapConfigDump (*ListenersConfigDump)(nil), // 3: envoy.admin.v2alpha.ListenersConfigDump (*ClustersConfigDump)(nil), // 4: envoy.admin.v2alpha.ClustersConfigDump (*RoutesConfigDump)(nil), // 5: envoy.admin.v2alpha.RoutesConfigDump (*ScopedRoutesConfigDump)(nil), // 6: envoy.admin.v2alpha.ScopedRoutesConfigDump (*SecretsConfigDump)(nil), // 7: envoy.admin.v2alpha.SecretsConfigDump (*ListenersConfigDump_StaticListener)(nil), // 8: envoy.admin.v2alpha.ListenersConfigDump.StaticListener (*ListenersConfigDump_DynamicListenerState)(nil), // 9: envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState (*ListenersConfigDump_DynamicListener)(nil), // 10: envoy.admin.v2alpha.ListenersConfigDump.DynamicListener (*ClustersConfigDump_StaticCluster)(nil), // 11: envoy.admin.v2alpha.ClustersConfigDump.StaticCluster (*ClustersConfigDump_DynamicCluster)(nil), // 12: envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster (*RoutesConfigDump_StaticRouteConfig)(nil), // 13: envoy.admin.v2alpha.RoutesConfigDump.StaticRouteConfig (*RoutesConfigDump_DynamicRouteConfig)(nil), // 14: envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig (*ScopedRoutesConfigDump_InlineScopedRouteConfigs)(nil), // 15: envoy.admin.v2alpha.ScopedRoutesConfigDump.InlineScopedRouteConfigs (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs)(nil), // 16: envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs (*SecretsConfigDump_DynamicSecret)(nil), // 17: envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret (*SecretsConfigDump_StaticSecret)(nil), // 18: envoy.admin.v2alpha.SecretsConfigDump.StaticSecret (*any1.Any)(nil), // 19: google.protobuf.Any (*timestamp.Timestamp)(nil), // 20: google.protobuf.Timestamp (*v2.Bootstrap)(nil), // 21: envoy.config.bootstrap.v2.Bootstrap } var file_envoy_admin_v2alpha_config_dump_proto_depIdxs = []int32{ 19, // 0: envoy.admin.v2alpha.ConfigDump.configs:type_name -> google.protobuf.Any 19, // 1: envoy.admin.v2alpha.UpdateFailureState.failed_configuration:type_name -> google.protobuf.Any 20, // 2: envoy.admin.v2alpha.UpdateFailureState.last_update_attempt:type_name -> google.protobuf.Timestamp 21, // 3: envoy.admin.v2alpha.BootstrapConfigDump.bootstrap:type_name -> envoy.config.bootstrap.v2.Bootstrap 20, // 4: envoy.admin.v2alpha.BootstrapConfigDump.last_updated:type_name -> google.protobuf.Timestamp 8, // 5: envoy.admin.v2alpha.ListenersConfigDump.static_listeners:type_name -> envoy.admin.v2alpha.ListenersConfigDump.StaticListener 10, // 6: envoy.admin.v2alpha.ListenersConfigDump.dynamic_listeners:type_name -> envoy.admin.v2alpha.ListenersConfigDump.DynamicListener 11, // 7: envoy.admin.v2alpha.ClustersConfigDump.static_clusters:type_name -> envoy.admin.v2alpha.ClustersConfigDump.StaticCluster 12, // 8: envoy.admin.v2alpha.ClustersConfigDump.dynamic_active_clusters:type_name -> envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster 12, // 9: envoy.admin.v2alpha.ClustersConfigDump.dynamic_warming_clusters:type_name -> envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster 13, // 10: envoy.admin.v2alpha.RoutesConfigDump.static_route_configs:type_name -> envoy.admin.v2alpha.RoutesConfigDump.StaticRouteConfig 14, // 11: envoy.admin.v2alpha.RoutesConfigDump.dynamic_route_configs:type_name -> envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig 15, // 12: envoy.admin.v2alpha.ScopedRoutesConfigDump.inline_scoped_route_configs:type_name -> envoy.admin.v2alpha.ScopedRoutesConfigDump.InlineScopedRouteConfigs 16, // 13: envoy.admin.v2alpha.ScopedRoutesConfigDump.dynamic_scoped_route_configs:type_name -> envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs 18, // 14: envoy.admin.v2alpha.SecretsConfigDump.static_secrets:type_name -> envoy.admin.v2alpha.SecretsConfigDump.StaticSecret 17, // 15: envoy.admin.v2alpha.SecretsConfigDump.dynamic_active_secrets:type_name -> envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret 17, // 16: envoy.admin.v2alpha.SecretsConfigDump.dynamic_warming_secrets:type_name -> envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret 19, // 17: envoy.admin.v2alpha.ListenersConfigDump.StaticListener.listener:type_name -> google.protobuf.Any 20, // 18: envoy.admin.v2alpha.ListenersConfigDump.StaticListener.last_updated:type_name -> google.protobuf.Timestamp 19, // 19: envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState.listener:type_name -> google.protobuf.Any 20, // 20: envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState.last_updated:type_name -> google.protobuf.Timestamp 9, // 21: envoy.admin.v2alpha.ListenersConfigDump.DynamicListener.active_state:type_name -> envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState 9, // 22: envoy.admin.v2alpha.ListenersConfigDump.DynamicListener.warming_state:type_name -> envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState 9, // 23: envoy.admin.v2alpha.ListenersConfigDump.DynamicListener.draining_state:type_name -> envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState 1, // 24: envoy.admin.v2alpha.ListenersConfigDump.DynamicListener.error_state:type_name -> envoy.admin.v2alpha.UpdateFailureState 19, // 25: envoy.admin.v2alpha.ClustersConfigDump.StaticCluster.cluster:type_name -> google.protobuf.Any 20, // 26: envoy.admin.v2alpha.ClustersConfigDump.StaticCluster.last_updated:type_name -> google.protobuf.Timestamp 19, // 27: envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster.cluster:type_name -> google.protobuf.Any 20, // 28: envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster.last_updated:type_name -> google.protobuf.Timestamp 19, // 29: envoy.admin.v2alpha.RoutesConfigDump.StaticRouteConfig.route_config:type_name -> google.protobuf.Any 20, // 30: envoy.admin.v2alpha.RoutesConfigDump.StaticRouteConfig.last_updated:type_name -> google.protobuf.Timestamp 19, // 31: envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig.route_config:type_name -> google.protobuf.Any 20, // 32: envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig.last_updated:type_name -> google.protobuf.Timestamp 19, // 33: envoy.admin.v2alpha.ScopedRoutesConfigDump.InlineScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any 20, // 34: envoy.admin.v2alpha.ScopedRoutesConfigDump.InlineScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp 19, // 35: envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any 20, // 36: envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp 20, // 37: envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret.last_updated:type_name -> google.protobuf.Timestamp 19, // 38: envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret.secret:type_name -> google.protobuf.Any 20, // 39: envoy.admin.v2alpha.SecretsConfigDump.StaticSecret.last_updated:type_name -> google.protobuf.Timestamp 19, // 40: envoy.admin.v2alpha.SecretsConfigDump.StaticSecret.secret:type_name -> google.protobuf.Any 41, // [41:41] is the sub-list for method output_type 41, // [41:41] is the sub-list for method input_type 41, // [41:41] is the sub-list for extension type_name 41, // [41:41] is the sub-list for extension extendee 0, // [0:41] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_config_dump_proto_init() } func file_envoy_admin_v2alpha_config_dump_proto_init() { if File_envoy_admin_v2alpha_config_dump_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_config_dump_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateFailureState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BootstrapConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_StaticListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_DynamicListenerState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_DynamicListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump_StaticCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump_DynamicCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump_StaticRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump_DynamicRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump_InlineScopedRouteConfigs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump_DynamicScopedRouteConfigs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump_DynamicSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_config_dump_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump_StaticSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_config_dump_proto_rawDesc, NumEnums: 0, NumMessages: 19, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_config_dump_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_config_dump_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_config_dump_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_config_dump_proto = out.File file_envoy_admin_v2alpha_config_dump_proto_rawDesc = nil file_envoy_admin_v2alpha_config_dump_proto_goTypes = nil file_envoy_admin_v2alpha_config_dump_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/config_dump.pb.validate.go000077500000000000000000003007201454502223200255540ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/config_dump.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ConfigDump with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConfigDump with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConfigDumpMultiError, or // nil if none found. func (m *ConfigDump) ValidateAll() error { return m.validate(true) } func (m *ConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigDumpMultiError(errors) } return nil } // ConfigDumpMultiError is an error wrapping multiple validation errors // returned by ConfigDump.ValidateAll() if the designated constraints aren't met. type ConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigDumpMultiError) AllErrors() []error { return m } // ConfigDumpValidationError is the validation error returned by // ConfigDump.Validate if the designated constraints aren't met. type ConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigDumpValidationError) ErrorName() string { return "ConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigDumpValidationError{} // Validate checks the field values on UpdateFailureState with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpdateFailureState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpdateFailureState with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpdateFailureStateMultiError, or nil if none found. func (m *UpdateFailureState) ValidateAll() error { return m.validate(true) } func (m *UpdateFailureState) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetFailedConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailedConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdateAttempt()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdateAttempt()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Details if len(errors) > 0 { return UpdateFailureStateMultiError(errors) } return nil } // UpdateFailureStateMultiError is an error wrapping multiple validation errors // returned by UpdateFailureState.ValidateAll() if the designated constraints // aren't met. type UpdateFailureStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateFailureStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpdateFailureStateMultiError) AllErrors() []error { return m } // UpdateFailureStateValidationError is the validation error returned by // UpdateFailureState.Validate if the designated constraints aren't met. type UpdateFailureStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpdateFailureStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpdateFailureStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpdateFailureStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpdateFailureStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpdateFailureStateValidationError) ErrorName() string { return "UpdateFailureStateValidationError" } // Error satisfies the builtin error interface func (e UpdateFailureStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpdateFailureState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpdateFailureStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpdateFailureStateValidationError{} // Validate checks the field values on BootstrapConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BootstrapConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BootstrapConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BootstrapConfigDumpMultiError, or nil if none found. func (m *BootstrapConfigDump) ValidateAll() error { return m.validate(true) } func (m *BootstrapConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBootstrap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBootstrap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BootstrapConfigDumpMultiError(errors) } return nil } // BootstrapConfigDumpMultiError is an error wrapping multiple validation // errors returned by BootstrapConfigDump.ValidateAll() if the designated // constraints aren't met. type BootstrapConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BootstrapConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BootstrapConfigDumpMultiError) AllErrors() []error { return m } // BootstrapConfigDumpValidationError is the validation error returned by // BootstrapConfigDump.Validate if the designated constraints aren't met. type BootstrapConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BootstrapConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BootstrapConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BootstrapConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BootstrapConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BootstrapConfigDumpValidationError) ErrorName() string { return "BootstrapConfigDumpValidationError" } // Error satisfies the builtin error interface func (e BootstrapConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrapConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BootstrapConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BootstrapConfigDumpValidationError{} // Validate checks the field values on ListenersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ListenersConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListenersConfigDumpMultiError, or nil if none found. func (m *ListenersConfigDump) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetStaticListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenersConfigDumpMultiError(errors) } return nil } // ListenersConfigDumpMultiError is an error wrapping multiple validation // errors returned by ListenersConfigDump.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDumpMultiError) AllErrors() []error { return m } // ListenersConfigDumpValidationError is the validation error returned by // ListenersConfigDump.Validate if the designated constraints aren't met. type ListenersConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDumpValidationError) ErrorName() string { return "ListenersConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDumpValidationError{} // Validate checks the field values on ClustersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClustersConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClustersConfigDumpMultiError, or nil if none found. func (m *ClustersConfigDump) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetStaticClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicActiveClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicWarmingClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClustersConfigDumpMultiError(errors) } return nil } // ClustersConfigDumpMultiError is an error wrapping multiple validation errors // returned by ClustersConfigDump.ValidateAll() if the designated constraints // aren't met. type ClustersConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDumpMultiError) AllErrors() []error { return m } // ClustersConfigDumpValidationError is the validation error returned by // ClustersConfigDump.Validate if the designated constraints aren't met. type ClustersConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDumpValidationError) ErrorName() string { return "ClustersConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDumpValidationError{} // Validate checks the field values on RoutesConfigDump with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RoutesConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RoutesConfigDumpMultiError, or nil if none found. func (m *RoutesConfigDump) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStaticRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RoutesConfigDumpMultiError(errors) } return nil } // RoutesConfigDumpMultiError is an error wrapping multiple validation errors // returned by RoutesConfigDump.ValidateAll() if the designated constraints // aren't met. type RoutesConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDumpMultiError) AllErrors() []error { return m } // RoutesConfigDumpValidationError is the validation error returned by // RoutesConfigDump.Validate if the designated constraints aren't met. type RoutesConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDumpValidationError) ErrorName() string { return "RoutesConfigDumpValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDumpValidationError{} // Validate checks the field values on ScopedRoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutesConfigDumpMultiError, or nil if none found. func (m *ScopedRoutesConfigDump) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetInlineScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRoutesConfigDumpMultiError(errors) } return nil } // ScopedRoutesConfigDumpMultiError is an error wrapping multiple validation // errors returned by ScopedRoutesConfigDump.ValidateAll() if the designated // constraints aren't met. type ScopedRoutesConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDumpMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDumpValidationError is the validation error returned by // ScopedRoutesConfigDump.Validate if the designated constraints aren't met. type ScopedRoutesConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDumpValidationError) ErrorName() string { return "ScopedRoutesConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDumpValidationError{} // Validate checks the field values on SecretsConfigDump with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SecretsConfigDumpMultiError, or nil if none found. func (m *SecretsConfigDump) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStaticSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicActiveSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicWarmingSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return SecretsConfigDumpMultiError(errors) } return nil } // SecretsConfigDumpMultiError is an error wrapping multiple validation errors // returned by SecretsConfigDump.ValidateAll() if the designated constraints // aren't met. type SecretsConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDumpMultiError) AllErrors() []error { return m } // SecretsConfigDumpValidationError is the validation error returned by // SecretsConfigDump.Validate if the designated constraints aren't met. type SecretsConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDumpValidationError) ErrorName() string { return "SecretsConfigDumpValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDumpValidationError{} // Validate checks the field values on ListenersConfigDump_StaticListener with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenersConfigDump_StaticListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump_StaticListener // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenersConfigDump_StaticListenerMultiError, or nil if none found. func (m *ListenersConfigDump_StaticListener) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_StaticListener) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenersConfigDump_StaticListenerMultiError(errors) } return nil } // ListenersConfigDump_StaticListenerMultiError is an error wrapping multiple // validation errors returned by // ListenersConfigDump_StaticListener.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_StaticListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_StaticListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_StaticListenerMultiError) AllErrors() []error { return m } // ListenersConfigDump_StaticListenerValidationError is the validation error // returned by ListenersConfigDump_StaticListener.Validate if the designated // constraints aren't met. type ListenersConfigDump_StaticListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_StaticListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_StaticListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_StaticListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_StaticListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_StaticListenerValidationError) ErrorName() string { return "ListenersConfigDump_StaticListenerValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_StaticListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_StaticListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_StaticListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_StaticListenerValidationError{} // Validate checks the field values on ListenersConfigDump_DynamicListenerState // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ListenersConfigDump_DynamicListenerState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ListenersConfigDump_DynamicListenerState with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ListenersConfigDump_DynamicListenerStateMultiError, or nil if none found. func (m *ListenersConfigDump_DynamicListenerState) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_DynamicListenerState) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenersConfigDump_DynamicListenerStateMultiError(errors) } return nil } // ListenersConfigDump_DynamicListenerStateMultiError is an error wrapping // multiple validation errors returned by // ListenersConfigDump_DynamicListenerState.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_DynamicListenerStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_DynamicListenerStateMultiError) AllErrors() []error { return m } // ListenersConfigDump_DynamicListenerStateValidationError is the validation // error returned by ListenersConfigDump_DynamicListenerState.Validate if the // designated constraints aren't met. type ListenersConfigDump_DynamicListenerStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_DynamicListenerStateValidationError) ErrorName() string { return "ListenersConfigDump_DynamicListenerStateValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_DynamicListenerStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_DynamicListenerState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_DynamicListenerStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_DynamicListenerStateValidationError{} // Validate checks the field values on ListenersConfigDump_DynamicListener with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenersConfigDump_DynamicListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump_DynamicListener // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenersConfigDump_DynamicListenerMultiError, or nil if none found. func (m *ListenersConfigDump_DynamicListener) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_DynamicListener) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetActiveState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetActiveState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWarmingState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWarmingState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDrainingState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainingState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenersConfigDump_DynamicListenerMultiError(errors) } return nil } // ListenersConfigDump_DynamicListenerMultiError is an error wrapping multiple // validation errors returned by // ListenersConfigDump_DynamicListener.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_DynamicListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_DynamicListenerMultiError) AllErrors() []error { return m } // ListenersConfigDump_DynamicListenerValidationError is the validation error // returned by ListenersConfigDump_DynamicListener.Validate if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_DynamicListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_DynamicListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_DynamicListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_DynamicListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_DynamicListenerValidationError) ErrorName() string { return "ListenersConfigDump_DynamicListenerValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_DynamicListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_DynamicListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_DynamicListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_DynamicListenerValidationError{} // Validate checks the field values on ClustersConfigDump_StaticCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ClustersConfigDump_StaticCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump_StaticCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ClustersConfigDump_StaticClusterMultiError, or nil if none found. func (m *ClustersConfigDump_StaticCluster) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump_StaticCluster) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClustersConfigDump_StaticClusterMultiError(errors) } return nil } // ClustersConfigDump_StaticClusterMultiError is an error wrapping multiple // validation errors returned by // ClustersConfigDump_StaticCluster.ValidateAll() if the designated // constraints aren't met. type ClustersConfigDump_StaticClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDump_StaticClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDump_StaticClusterMultiError) AllErrors() []error { return m } // ClustersConfigDump_StaticClusterValidationError is the validation error // returned by ClustersConfigDump_StaticCluster.Validate if the designated // constraints aren't met. type ClustersConfigDump_StaticClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDump_StaticClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDump_StaticClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDump_StaticClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDump_StaticClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDump_StaticClusterValidationError) ErrorName() string { return "ClustersConfigDump_StaticClusterValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDump_StaticClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump_StaticCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDump_StaticClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDump_StaticClusterValidationError{} // Validate checks the field values on ClustersConfigDump_DynamicCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ClustersConfigDump_DynamicCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump_DynamicCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ClustersConfigDump_DynamicClusterMultiError, or nil if none found. func (m *ClustersConfigDump_DynamicCluster) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump_DynamicCluster) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClustersConfigDump_DynamicClusterMultiError(errors) } return nil } // ClustersConfigDump_DynamicClusterMultiError is an error wrapping multiple // validation errors returned by // ClustersConfigDump_DynamicCluster.ValidateAll() if the designated // constraints aren't met. type ClustersConfigDump_DynamicClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDump_DynamicClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDump_DynamicClusterMultiError) AllErrors() []error { return m } // ClustersConfigDump_DynamicClusterValidationError is the validation error // returned by ClustersConfigDump_DynamicCluster.Validate if the designated // constraints aren't met. type ClustersConfigDump_DynamicClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDump_DynamicClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDump_DynamicClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDump_DynamicClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDump_DynamicClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDump_DynamicClusterValidationError) ErrorName() string { return "ClustersConfigDump_DynamicClusterValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDump_DynamicClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump_DynamicCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDump_DynamicClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDump_DynamicClusterValidationError{} // Validate checks the field values on RoutesConfigDump_StaticRouteConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RoutesConfigDump_StaticRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump_StaticRouteConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RoutesConfigDump_StaticRouteConfigMultiError, or nil if none found. func (m *RoutesConfigDump_StaticRouteConfig) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump_StaticRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RoutesConfigDump_StaticRouteConfigMultiError(errors) } return nil } // RoutesConfigDump_StaticRouteConfigMultiError is an error wrapping multiple // validation errors returned by // RoutesConfigDump_StaticRouteConfig.ValidateAll() if the designated // constraints aren't met. type RoutesConfigDump_StaticRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDump_StaticRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDump_StaticRouteConfigMultiError) AllErrors() []error { return m } // RoutesConfigDump_StaticRouteConfigValidationError is the validation error // returned by RoutesConfigDump_StaticRouteConfig.Validate if the designated // constraints aren't met. type RoutesConfigDump_StaticRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDump_StaticRouteConfigValidationError) ErrorName() string { return "RoutesConfigDump_StaticRouteConfigValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDump_StaticRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump_StaticRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDump_StaticRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDump_StaticRouteConfigValidationError{} // Validate checks the field values on RoutesConfigDump_DynamicRouteConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RoutesConfigDump_DynamicRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump_DynamicRouteConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RoutesConfigDump_DynamicRouteConfigMultiError, or nil if none found. func (m *RoutesConfigDump_DynamicRouteConfig) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump_DynamicRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RoutesConfigDump_DynamicRouteConfigMultiError(errors) } return nil } // RoutesConfigDump_DynamicRouteConfigMultiError is an error wrapping multiple // validation errors returned by // RoutesConfigDump_DynamicRouteConfig.ValidateAll() if the designated // constraints aren't met. type RoutesConfigDump_DynamicRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDump_DynamicRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDump_DynamicRouteConfigMultiError) AllErrors() []error { return m } // RoutesConfigDump_DynamicRouteConfigValidationError is the validation error // returned by RoutesConfigDump_DynamicRouteConfig.Validate if the designated // constraints aren't met. type RoutesConfigDump_DynamicRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDump_DynamicRouteConfigValidationError) ErrorName() string { return "RoutesConfigDump_DynamicRouteConfigValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDump_DynamicRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump_DynamicRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDump_DynamicRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDump_DynamicRouteConfigValidationError{} // Validate checks the field values on // ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError, or nil if none found. func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError(errors) } return nil } // ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError is an error // wrapping multiple validation errors returned by // ScopedRoutesConfigDump_InlineScopedRouteConfigs.ValidateAll() if the // designated constraints aren't met. type ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError is the // validation error returned by // ScopedRoutesConfigDump_InlineScopedRouteConfigs.Validate if the designated // constraints aren't met. type ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) ErrorName() string { return "ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump_InlineScopedRouteConfigs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{} // Validate checks the field values on // ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError, or nil if none found. func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for VersionInfo for idx, item := range m.GetScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError(errors) } return nil } // ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError is an error // wrapping multiple validation errors returned by // ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ValidateAll() if the // designated constraints aren't met. type ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError is the // validation error returned by // ScopedRoutesConfigDump_DynamicScopedRouteConfigs.Validate if the designated // constraints aren't met. type ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) ErrorName() string { return "ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump_DynamicScopedRouteConfigs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{} // Validate checks the field values on SecretsConfigDump_DynamicSecret with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump_DynamicSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump_DynamicSecret with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // SecretsConfigDump_DynamicSecretMultiError, or nil if none found. func (m *SecretsConfigDump_DynamicSecret) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump_DynamicSecret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for VersionInfo if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SecretsConfigDump_DynamicSecretMultiError(errors) } return nil } // SecretsConfigDump_DynamicSecretMultiError is an error wrapping multiple // validation errors returned by SecretsConfigDump_DynamicSecret.ValidateAll() // if the designated constraints aren't met. type SecretsConfigDump_DynamicSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDump_DynamicSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDump_DynamicSecretMultiError) AllErrors() []error { return m } // SecretsConfigDump_DynamicSecretValidationError is the validation error // returned by SecretsConfigDump_DynamicSecret.Validate if the designated // constraints aren't met. type SecretsConfigDump_DynamicSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDump_DynamicSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDump_DynamicSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDump_DynamicSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDump_DynamicSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDump_DynamicSecretValidationError) ErrorName() string { return "SecretsConfigDump_DynamicSecretValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDump_DynamicSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump_DynamicSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDump_DynamicSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDump_DynamicSecretValidationError{} // Validate checks the field values on SecretsConfigDump_StaticSecret with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump_StaticSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump_StaticSecret with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // SecretsConfigDump_StaticSecretMultiError, or nil if none found. func (m *SecretsConfigDump_StaticSecret) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump_StaticSecret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SecretsConfigDump_StaticSecretMultiError(errors) } return nil } // SecretsConfigDump_StaticSecretMultiError is an error wrapping multiple // validation errors returned by SecretsConfigDump_StaticSecret.ValidateAll() // if the designated constraints aren't met. type SecretsConfigDump_StaticSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDump_StaticSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDump_StaticSecretMultiError) AllErrors() []error { return m } // SecretsConfigDump_StaticSecretValidationError is the validation error // returned by SecretsConfigDump_StaticSecret.Validate if the designated // constraints aren't met. type SecretsConfigDump_StaticSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDump_StaticSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDump_StaticSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDump_StaticSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDump_StaticSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDump_StaticSecretValidationError) ErrorName() string { return "SecretsConfigDump_StaticSecretValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDump_StaticSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump_StaticSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDump_StaticSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDump_StaticSecretValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/listeners.pb.go000077500000000000000000000227221454502223200235050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/listeners.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Admin endpoint uses this wrapper for `/listeners` to display listener status information. // See :ref:`/listeners ` for more information. type Listeners struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of listener statuses. ListenerStatuses []*ListenerStatus `protobuf:"bytes,1,rep,name=listener_statuses,json=listenerStatuses,proto3" json:"listener_statuses,omitempty"` } func (x *Listeners) Reset() { *x = Listeners{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_listeners_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listeners) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listeners) ProtoMessage() {} func (x *Listeners) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_listeners_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listeners.ProtoReflect.Descriptor instead. func (*Listeners) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_listeners_proto_rawDescGZIP(), []int{0} } func (x *Listeners) GetListenerStatuses() []*ListenerStatus { if x != nil { return x.ListenerStatuses } return nil } // Details an individual listener's current status. type ListenerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the listener Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The actual local address that the listener is listening on. If a listener was configured // to listen on port 0, then this address has the port that was allocated by the OS. LocalAddress *core.Address `protobuf:"bytes,2,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` } func (x *ListenerStatus) Reset() { *x = ListenerStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_listeners_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerStatus) ProtoMessage() {} func (x *ListenerStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_listeners_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerStatus.ProtoReflect.Descriptor instead. func (*ListenerStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_listeners_proto_rawDescGZIP(), []int{1} } func (x *ListenerStatus) GetName() string { if x != nil { return x.Name } return "" } func (x *ListenerStatus) GetLocalAddress() *core.Address { if x != nil { return x.LocalAddress } return nil } var File_envoy_admin_v2alpha_listeners_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_listeners_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x79, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_listeners_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_listeners_proto_rawDescData = file_envoy_admin_v2alpha_listeners_proto_rawDesc ) func file_envoy_admin_v2alpha_listeners_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_listeners_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_listeners_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_listeners_proto_rawDescData) }) return file_envoy_admin_v2alpha_listeners_proto_rawDescData } var file_envoy_admin_v2alpha_listeners_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_admin_v2alpha_listeners_proto_goTypes = []interface{}{ (*Listeners)(nil), // 0: envoy.admin.v2alpha.Listeners (*ListenerStatus)(nil), // 1: envoy.admin.v2alpha.ListenerStatus (*core.Address)(nil), // 2: envoy.api.v2.core.Address } var file_envoy_admin_v2alpha_listeners_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v2alpha.Listeners.listener_statuses:type_name -> envoy.admin.v2alpha.ListenerStatus 2, // 1: envoy.admin.v2alpha.ListenerStatus.local_address:type_name -> envoy.api.v2.core.Address 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_listeners_proto_init() } func file_envoy_admin_v2alpha_listeners_proto_init() { if File_envoy_admin_v2alpha_listeners_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_listeners_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listeners); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_listeners_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_listeners_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_listeners_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_listeners_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_listeners_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_listeners_proto = out.File file_envoy_admin_v2alpha_listeners_proto_rawDesc = nil file_envoy_admin_v2alpha_listeners_proto_goTypes = nil file_envoy_admin_v2alpha_listeners_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/listeners.pb.validate.go000077500000000000000000000171501454502223200252740ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/listeners.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Listeners with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listeners) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listeners with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenersMultiError, or nil // if none found. func (m *Listeners) ValidateAll() error { return m.validate(true) } func (m *Listeners) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetListenerStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenersMultiError(errors) } return nil } // ListenersMultiError is an error wrapping multiple validation errors returned // by Listeners.ValidateAll() if the designated constraints aren't met. type ListenersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersMultiError) AllErrors() []error { return m } // ListenersValidationError is the validation error returned by // Listeners.Validate if the designated constraints aren't met. type ListenersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersValidationError) ErrorName() string { return "ListenersValidationError" } // Error satisfies the builtin error interface func (e ListenersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListeners.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersValidationError{} // Validate checks the field values on ListenerStatus with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerStatusMultiError, // or nil if none found. func (m *ListenerStatus) ValidateAll() error { return m.validate(true) } func (m *ListenerStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenerStatusMultiError(errors) } return nil } // ListenerStatusMultiError is an error wrapping multiple validation errors // returned by ListenerStatus.ValidateAll() if the designated constraints // aren't met. type ListenerStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerStatusMultiError) AllErrors() []error { return m } // ListenerStatusValidationError is the validation error returned by // ListenerStatus.Validate if the designated constraints aren't met. type ListenerStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerStatusValidationError) ErrorName() string { return "ListenerStatusValidationError" } // Error satisfies the builtin error interface func (e ListenerStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerStatusValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/memory.pb.go000077500000000000000000000224361454502223200230070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/memory.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of the internal memory consumption of an Envoy instance. These represent // values extracted from an internal TCMalloc instance. For more information, see the section of the // docs entitled ["Generic Tcmalloc Status"](https://gperftools.github.io/gperftools/tcmalloc.html). // [#next-free-field: 7] type Memory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of bytes allocated by the heap for Envoy. This is an alias for // `generic.current_allocated_bytes`. Allocated uint64 `protobuf:"varint,1,opt,name=allocated,proto3" json:"allocated,omitempty"` // The number of bytes reserved by the heap but not necessarily allocated. This is an alias for // `generic.heap_size`. HeapSize uint64 `protobuf:"varint,2,opt,name=heap_size,json=heapSize,proto3" json:"heap_size,omitempty"` // The number of bytes in free, unmapped pages in the page heap. These bytes always count towards // virtual memory usage, and depending on the OS, typically do not count towards physical memory // usage. This is an alias for `tcmalloc.pageheap_unmapped_bytes`. PageheapUnmapped uint64 `protobuf:"varint,3,opt,name=pageheap_unmapped,json=pageheapUnmapped,proto3" json:"pageheap_unmapped,omitempty"` // The number of bytes in free, mapped pages in the page heap. These bytes always count towards // virtual memory usage, and unless the underlying memory is swapped out by the OS, they also // count towards physical memory usage. This is an alias for `tcmalloc.pageheap_free_bytes`. PageheapFree uint64 `protobuf:"varint,4,opt,name=pageheap_free,json=pageheapFree,proto3" json:"pageheap_free,omitempty"` // The amount of memory used by the TCMalloc thread caches (for small objects). This is an alias // for `tcmalloc.current_total_thread_cache_bytes`. TotalThreadCache uint64 `protobuf:"varint,5,opt,name=total_thread_cache,json=totalThreadCache,proto3" json:"total_thread_cache,omitempty"` // The number of bytes of the physical memory usage by the allocator. This is an alias for // `generic.total_physical_bytes`. TotalPhysicalBytes uint64 `protobuf:"varint,6,opt,name=total_physical_bytes,json=totalPhysicalBytes,proto3" json:"total_physical_bytes,omitempty"` } func (x *Memory) Reset() { *x = Memory{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_memory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Memory) String() string { return protoimpl.X.MessageStringOf(x) } func (*Memory) ProtoMessage() {} func (x *Memory) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_memory_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Memory.ProtoReflect.Descriptor instead. func (*Memory) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_memory_proto_rawDescGZIP(), []int{0} } func (x *Memory) GetAllocated() uint64 { if x != nil { return x.Allocated } return 0 } func (x *Memory) GetHeapSize() uint64 { if x != nil { return x.HeapSize } return 0 } func (x *Memory) GetPageheapUnmapped() uint64 { if x != nil { return x.PageheapUnmapped } return 0 } func (x *Memory) GetPageheapFree() uint64 { if x != nil { return x.PageheapFree } return 0 } func (x *Memory) GetTotalThreadCache() uint64 { if x != nil { return x.TotalThreadCache } return 0 } func (x *Memory) GetTotalPhysicalBytes() uint64 { if x != nil { return x.TotalPhysicalBytes } return 0 } var File_envoy_admin_v2alpha_memory_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_memory_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x46, 0x72, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_memory_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_memory_proto_rawDescData = file_envoy_admin_v2alpha_memory_proto_rawDesc ) func file_envoy_admin_v2alpha_memory_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_memory_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_memory_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_memory_proto_rawDescData) }) return file_envoy_admin_v2alpha_memory_proto_rawDescData } var file_envoy_admin_v2alpha_memory_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v2alpha_memory_proto_goTypes = []interface{}{ (*Memory)(nil), // 0: envoy.admin.v2alpha.Memory } var file_envoy_admin_v2alpha_memory_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_memory_proto_init() } func file_envoy_admin_v2alpha_memory_proto_init() { if File_envoy_admin_v2alpha_memory_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_memory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Memory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_memory_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_memory_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_memory_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_memory_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_memory_proto = out.File file_envoy_admin_v2alpha_memory_proto_rawDesc = nil file_envoy_admin_v2alpha_memory_proto_goTypes = nil file_envoy_admin_v2alpha_memory_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/memory.pb.validate.go000077500000000000000000000064371454502223200246020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/memory.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Memory with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Memory) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Memory with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in MemoryMultiError, or nil if none found. func (m *Memory) ValidateAll() error { return m.validate(true) } func (m *Memory) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Allocated // no validation rules for HeapSize // no validation rules for PageheapUnmapped // no validation rules for PageheapFree // no validation rules for TotalThreadCache // no validation rules for TotalPhysicalBytes if len(errors) > 0 { return MemoryMultiError(errors) } return nil } // MemoryMultiError is an error wrapping multiple validation errors returned by // Memory.ValidateAll() if the designated constraints aren't met. type MemoryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MemoryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MemoryMultiError) AllErrors() []error { return m } // MemoryValidationError is the validation error returned by Memory.Validate if // the designated constraints aren't met. type MemoryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MemoryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MemoryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MemoryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MemoryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MemoryValidationError) ErrorName() string { return "MemoryValidationError" } // Error satisfies the builtin error interface func (e MemoryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMemory.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MemoryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MemoryValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/metrics.pb.go000077500000000000000000000204141454502223200231370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/metrics.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SimpleMetric_Type int32 const ( SimpleMetric_COUNTER SimpleMetric_Type = 0 SimpleMetric_GAUGE SimpleMetric_Type = 1 ) // Enum value maps for SimpleMetric_Type. var ( SimpleMetric_Type_name = map[int32]string{ 0: "COUNTER", 1: "GAUGE", } SimpleMetric_Type_value = map[string]int32{ "COUNTER": 0, "GAUGE": 1, } ) func (x SimpleMetric_Type) Enum() *SimpleMetric_Type { p := new(SimpleMetric_Type) *p = x return p } func (x SimpleMetric_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SimpleMetric_Type) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v2alpha_metrics_proto_enumTypes[0].Descriptor() } func (SimpleMetric_Type) Type() protoreflect.EnumType { return &file_envoy_admin_v2alpha_metrics_proto_enumTypes[0] } func (x SimpleMetric_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SimpleMetric_Type.Descriptor instead. func (SimpleMetric_Type) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_metrics_proto_rawDescGZIP(), []int{0, 0} } // Proto representation of an Envoy Counter or Gauge value. type SimpleMetric struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Type of the metric represented. Type SimpleMetric_Type `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.admin.v2alpha.SimpleMetric_Type" json:"type,omitempty"` // Current metric value. Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` // Name of the metric. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } func (x *SimpleMetric) Reset() { *x = SimpleMetric{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_metrics_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SimpleMetric) String() string { return protoimpl.X.MessageStringOf(x) } func (*SimpleMetric) ProtoMessage() {} func (x *SimpleMetric) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_metrics_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SimpleMetric.ProtoReflect.Descriptor instead. func (*SimpleMetric) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_metrics_proto_rawDescGZIP(), []int{0} } func (x *SimpleMetric) GetType() SimpleMetric_Type { if x != nil { return x.Type } return SimpleMetric_COUNTER } func (x *SimpleMetric) GetValue() uint64 { if x != nil { return x.Value } return 0 } func (x *SimpleMetric) GetName() string { if x != nil { return x.Name } return "" } var File_envoy_admin_v2alpha_metrics_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_metrics_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x01, 0x42, 0x77, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_metrics_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_metrics_proto_rawDescData = file_envoy_admin_v2alpha_metrics_proto_rawDesc ) func file_envoy_admin_v2alpha_metrics_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_metrics_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_metrics_proto_rawDescData) }) return file_envoy_admin_v2alpha_metrics_proto_rawDescData } var file_envoy_admin_v2alpha_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_admin_v2alpha_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v2alpha_metrics_proto_goTypes = []interface{}{ (SimpleMetric_Type)(0), // 0: envoy.admin.v2alpha.SimpleMetric.Type (*SimpleMetric)(nil), // 1: envoy.admin.v2alpha.SimpleMetric } var file_envoy_admin_v2alpha_metrics_proto_depIdxs = []int32{ 0, // 0: envoy.admin.v2alpha.SimpleMetric.type:type_name -> envoy.admin.v2alpha.SimpleMetric.Type 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_metrics_proto_init() } func file_envoy_admin_v2alpha_metrics_proto_init() { if File_envoy_admin_v2alpha_metrics_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimpleMetric); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_metrics_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_metrics_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_metrics_proto_depIdxs, EnumInfos: file_envoy_admin_v2alpha_metrics_proto_enumTypes, MessageInfos: file_envoy_admin_v2alpha_metrics_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_metrics_proto = out.File file_envoy_admin_v2alpha_metrics_proto_rawDesc = nil file_envoy_admin_v2alpha_metrics_proto_goTypes = nil file_envoy_admin_v2alpha_metrics_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/metrics.pb.validate.go000077500000000000000000000064351454502223200247360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/metrics.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SimpleMetric with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SimpleMetric) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SimpleMetric with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SimpleMetricMultiError, or // nil if none found. func (m *SimpleMetric) ValidateAll() error { return m.validate(true) } func (m *SimpleMetric) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type // no validation rules for Value // no validation rules for Name if len(errors) > 0 { return SimpleMetricMultiError(errors) } return nil } // SimpleMetricMultiError is an error wrapping multiple validation errors // returned by SimpleMetric.ValidateAll() if the designated constraints aren't met. type SimpleMetricMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SimpleMetricMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SimpleMetricMultiError) AllErrors() []error { return m } // SimpleMetricValidationError is the validation error returned by // SimpleMetric.Validate if the designated constraints aren't met. type SimpleMetricValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SimpleMetricValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SimpleMetricValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SimpleMetricValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SimpleMetricValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SimpleMetricValidationError) ErrorName() string { return "SimpleMetricValidationError" } // Error satisfies the builtin error interface func (e SimpleMetricValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSimpleMetric.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SimpleMetricValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SimpleMetricValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/mutex_stats.pb.go000077500000000000000000000173261454502223200240610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/mutex_stats.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of the statistics collected upon absl::Mutex contention, if Envoy is run // under :option:`--enable-mutex-tracing`. For more information, see the `absl::Mutex` // [docs](https://abseil.io/about/design/mutex#extra-features). // // *NB*: The wait cycles below are measured by `absl::base_internal::CycleClock`, and may not // correspond to core clock frequency. For more information, see the `CycleClock` // [docs](https://github.com/abseil/abseil-cpp/blob/master/absl/base/internal/cycleclock.h). type MutexStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of individual mutex contentions which have occurred since startup. NumContentions uint64 `protobuf:"varint,1,opt,name=num_contentions,json=numContentions,proto3" json:"num_contentions,omitempty"` // The length of the current contention wait cycle. CurrentWaitCycles uint64 `protobuf:"varint,2,opt,name=current_wait_cycles,json=currentWaitCycles,proto3" json:"current_wait_cycles,omitempty"` // The lifetime total of all contention wait cycles. LifetimeWaitCycles uint64 `protobuf:"varint,3,opt,name=lifetime_wait_cycles,json=lifetimeWaitCycles,proto3" json:"lifetime_wait_cycles,omitempty"` } func (x *MutexStats) Reset() { *x = MutexStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_mutex_stats_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MutexStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*MutexStats) ProtoMessage() {} func (x *MutexStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_mutex_stats_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MutexStats.ProtoReflect.Descriptor instead. func (*MutexStats) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_mutex_stats_proto_rawDescGZIP(), []int{0} } func (x *MutexStats) GetNumContentions() uint64 { if x != nil { return x.NumContentions } return 0 } func (x *MutexStats) GetCurrentWaitCycles() uint64 { if x != nil { return x.CurrentWaitCycles } return 0 } func (x *MutexStats) GetLifetimeWaitCycles() uint64 { if x != nil { return x.LifetimeWaitCycles } return 0 } var File_envoy_admin_v2alpha_mutex_stats_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_mutex_stats_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x0a, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x61, 0x69, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0f, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_mutex_stats_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_mutex_stats_proto_rawDescData = file_envoy_admin_v2alpha_mutex_stats_proto_rawDesc ) func file_envoy_admin_v2alpha_mutex_stats_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_mutex_stats_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_mutex_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_mutex_stats_proto_rawDescData) }) return file_envoy_admin_v2alpha_mutex_stats_proto_rawDescData } var file_envoy_admin_v2alpha_mutex_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v2alpha_mutex_stats_proto_goTypes = []interface{}{ (*MutexStats)(nil), // 0: envoy.admin.v2alpha.MutexStats } var file_envoy_admin_v2alpha_mutex_stats_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_mutex_stats_proto_init() } func file_envoy_admin_v2alpha_mutex_stats_proto_init() { if File_envoy_admin_v2alpha_mutex_stats_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_mutex_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MutexStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_mutex_stats_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_mutex_stats_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_mutex_stats_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_mutex_stats_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_mutex_stats_proto = out.File file_envoy_admin_v2alpha_mutex_stats_proto_rawDesc = nil file_envoy_admin_v2alpha_mutex_stats_proto_goTypes = nil file_envoy_admin_v2alpha_mutex_stats_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/mutex_stats.pb.validate.go000077500000000000000000000064231454502223200256450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/mutex_stats.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MutexStats with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MutexStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MutexStats with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MutexStatsMultiError, or // nil if none found. func (m *MutexStats) ValidateAll() error { return m.validate(true) } func (m *MutexStats) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for NumContentions // no validation rules for CurrentWaitCycles // no validation rules for LifetimeWaitCycles if len(errors) > 0 { return MutexStatsMultiError(errors) } return nil } // MutexStatsMultiError is an error wrapping multiple validation errors // returned by MutexStats.ValidateAll() if the designated constraints aren't met. type MutexStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MutexStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MutexStatsMultiError) AllErrors() []error { return m } // MutexStatsValidationError is the validation error returned by // MutexStats.Validate if the designated constraints aren't met. type MutexStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MutexStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MutexStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MutexStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MutexStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MutexStatsValidationError) ErrorName() string { return "MutexStatsValidationError" } // Error satisfies the builtin error interface func (e MutexStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMutexStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MutexStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MutexStatsValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/server_info.pb.go000077500000000000000000001042721454502223200240170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/server_info.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ServerInfo_State int32 const ( // Server is live and serving traffic. ServerInfo_LIVE ServerInfo_State = 0 // Server is draining listeners in response to external health checks failing. ServerInfo_DRAINING ServerInfo_State = 1 // Server has not yet completed cluster manager initialization. ServerInfo_PRE_INITIALIZING ServerInfo_State = 2 // Server is running the cluster manager initialization callbacks (e.g., RDS). ServerInfo_INITIALIZING ServerInfo_State = 3 ) // Enum value maps for ServerInfo_State. var ( ServerInfo_State_name = map[int32]string{ 0: "LIVE", 1: "DRAINING", 2: "PRE_INITIALIZING", 3: "INITIALIZING", } ServerInfo_State_value = map[string]int32{ "LIVE": 0, "DRAINING": 1, "PRE_INITIALIZING": 2, "INITIALIZING": 3, } ) func (x ServerInfo_State) Enum() *ServerInfo_State { p := new(ServerInfo_State) *p = x return p } func (x ServerInfo_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ServerInfo_State) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v2alpha_server_info_proto_enumTypes[0].Descriptor() } func (ServerInfo_State) Type() protoreflect.EnumType { return &file_envoy_admin_v2alpha_server_info_proto_enumTypes[0] } func (x ServerInfo_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ServerInfo_State.Descriptor instead. func (ServerInfo_State) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP(), []int{0, 0} } type CommandLineOptions_IpVersion int32 const ( CommandLineOptions_v4 CommandLineOptions_IpVersion = 0 CommandLineOptions_v6 CommandLineOptions_IpVersion = 1 ) // Enum value maps for CommandLineOptions_IpVersion. var ( CommandLineOptions_IpVersion_name = map[int32]string{ 0: "v4", 1: "v6", } CommandLineOptions_IpVersion_value = map[string]int32{ "v4": 0, "v6": 1, } ) func (x CommandLineOptions_IpVersion) Enum() *CommandLineOptions_IpVersion { p := new(CommandLineOptions_IpVersion) *p = x return p } func (x CommandLineOptions_IpVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommandLineOptions_IpVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v2alpha_server_info_proto_enumTypes[1].Descriptor() } func (CommandLineOptions_IpVersion) Type() protoreflect.EnumType { return &file_envoy_admin_v2alpha_server_info_proto_enumTypes[1] } func (x CommandLineOptions_IpVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommandLineOptions_IpVersion.Descriptor instead. func (CommandLineOptions_IpVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP(), []int{1, 0} } type CommandLineOptions_Mode int32 const ( // Validate configs and then serve traffic normally. CommandLineOptions_Serve CommandLineOptions_Mode = 0 // Validate configs and exit. CommandLineOptions_Validate CommandLineOptions_Mode = 1 // Completely load and initialize the config, and then exit without running the listener loop. CommandLineOptions_InitOnly CommandLineOptions_Mode = 2 ) // Enum value maps for CommandLineOptions_Mode. var ( CommandLineOptions_Mode_name = map[int32]string{ 0: "Serve", 1: "Validate", 2: "InitOnly", } CommandLineOptions_Mode_value = map[string]int32{ "Serve": 0, "Validate": 1, "InitOnly": 2, } ) func (x CommandLineOptions_Mode) Enum() *CommandLineOptions_Mode { p := new(CommandLineOptions_Mode) *p = x return p } func (x CommandLineOptions_Mode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommandLineOptions_Mode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v2alpha_server_info_proto_enumTypes[2].Descriptor() } func (CommandLineOptions_Mode) Type() protoreflect.EnumType { return &file_envoy_admin_v2alpha_server_info_proto_enumTypes[2] } func (x CommandLineOptions_Mode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommandLineOptions_Mode.Descriptor instead. func (CommandLineOptions_Mode) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP(), []int{1, 1} } // Proto representation of the value returned by /server_info, containing // server version/server status information. // [#next-free-field: 7] type ServerInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Server version. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // State of the server. State ServerInfo_State `protobuf:"varint,2,opt,name=state,proto3,enum=envoy.admin.v2alpha.ServerInfo_State" json:"state,omitempty"` // Uptime since current epoch was started. UptimeCurrentEpoch *duration.Duration `protobuf:"bytes,3,opt,name=uptime_current_epoch,json=uptimeCurrentEpoch,proto3" json:"uptime_current_epoch,omitempty"` // Uptime since the start of the first epoch. UptimeAllEpochs *duration.Duration `protobuf:"bytes,4,opt,name=uptime_all_epochs,json=uptimeAllEpochs,proto3" json:"uptime_all_epochs,omitempty"` // Hot restart version. HotRestartVersion string `protobuf:"bytes,5,opt,name=hot_restart_version,json=hotRestartVersion,proto3" json:"hot_restart_version,omitempty"` // Command line options the server is currently running with. CommandLineOptions *CommandLineOptions `protobuf:"bytes,6,opt,name=command_line_options,json=commandLineOptions,proto3" json:"command_line_options,omitempty"` } func (x *ServerInfo) Reset() { *x = ServerInfo{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_server_info_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerInfo) ProtoMessage() {} func (x *ServerInfo) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_server_info_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead. func (*ServerInfo) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP(), []int{0} } func (x *ServerInfo) GetVersion() string { if x != nil { return x.Version } return "" } func (x *ServerInfo) GetState() ServerInfo_State { if x != nil { return x.State } return ServerInfo_LIVE } func (x *ServerInfo) GetUptimeCurrentEpoch() *duration.Duration { if x != nil { return x.UptimeCurrentEpoch } return nil } func (x *ServerInfo) GetUptimeAllEpochs() *duration.Duration { if x != nil { return x.UptimeAllEpochs } return nil } func (x *ServerInfo) GetHotRestartVersion() string { if x != nil { return x.HotRestartVersion } return "" } func (x *ServerInfo) GetCommandLineOptions() *CommandLineOptions { if x != nil { return x.CommandLineOptions } return nil } // [#next-free-field: 29] type CommandLineOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // See :option:`--base-id` for details. BaseId uint64 `protobuf:"varint,1,opt,name=base_id,json=baseId,proto3" json:"base_id,omitempty"` // See :option:`--concurrency` for details. Concurrency uint32 `protobuf:"varint,2,opt,name=concurrency,proto3" json:"concurrency,omitempty"` // See :option:`--config-path` for details. ConfigPath string `protobuf:"bytes,3,opt,name=config_path,json=configPath,proto3" json:"config_path,omitempty"` // See :option:`--config-yaml` for details. ConfigYaml string `protobuf:"bytes,4,opt,name=config_yaml,json=configYaml,proto3" json:"config_yaml,omitempty"` // See :option:`--allow-unknown-static-fields` for details. AllowUnknownStaticFields bool `protobuf:"varint,5,opt,name=allow_unknown_static_fields,json=allowUnknownStaticFields,proto3" json:"allow_unknown_static_fields,omitempty"` // See :option:`--reject-unknown-dynamic-fields` for details. RejectUnknownDynamicFields bool `protobuf:"varint,26,opt,name=reject_unknown_dynamic_fields,json=rejectUnknownDynamicFields,proto3" json:"reject_unknown_dynamic_fields,omitempty"` // See :option:`--admin-address-path` for details. AdminAddressPath string `protobuf:"bytes,6,opt,name=admin_address_path,json=adminAddressPath,proto3" json:"admin_address_path,omitempty"` // See :option:`--local-address-ip-version` for details. LocalAddressIpVersion CommandLineOptions_IpVersion `protobuf:"varint,7,opt,name=local_address_ip_version,json=localAddressIpVersion,proto3,enum=envoy.admin.v2alpha.CommandLineOptions_IpVersion" json:"local_address_ip_version,omitempty"` // See :option:`--log-level` for details. LogLevel string `protobuf:"bytes,8,opt,name=log_level,json=logLevel,proto3" json:"log_level,omitempty"` // See :option:`--component-log-level` for details. ComponentLogLevel string `protobuf:"bytes,9,opt,name=component_log_level,json=componentLogLevel,proto3" json:"component_log_level,omitempty"` // See :option:`--log-format` for details. LogFormat string `protobuf:"bytes,10,opt,name=log_format,json=logFormat,proto3" json:"log_format,omitempty"` // See :option:`--log-format-escaped` for details. LogFormatEscaped bool `protobuf:"varint,27,opt,name=log_format_escaped,json=logFormatEscaped,proto3" json:"log_format_escaped,omitempty"` // See :option:`--log-path` for details. LogPath string `protobuf:"bytes,11,opt,name=log_path,json=logPath,proto3" json:"log_path,omitempty"` // See :option:`--service-cluster` for details. ServiceCluster string `protobuf:"bytes,13,opt,name=service_cluster,json=serviceCluster,proto3" json:"service_cluster,omitempty"` // See :option:`--service-node` for details. ServiceNode string `protobuf:"bytes,14,opt,name=service_node,json=serviceNode,proto3" json:"service_node,omitempty"` // See :option:`--service-zone` for details. ServiceZone string `protobuf:"bytes,15,opt,name=service_zone,json=serviceZone,proto3" json:"service_zone,omitempty"` // See :option:`--file-flush-interval-msec` for details. FileFlushInterval *duration.Duration `protobuf:"bytes,16,opt,name=file_flush_interval,json=fileFlushInterval,proto3" json:"file_flush_interval,omitempty"` // See :option:`--drain-time-s` for details. DrainTime *duration.Duration `protobuf:"bytes,17,opt,name=drain_time,json=drainTime,proto3" json:"drain_time,omitempty"` // See :option:`--parent-shutdown-time-s` for details. ParentShutdownTime *duration.Duration `protobuf:"bytes,18,opt,name=parent_shutdown_time,json=parentShutdownTime,proto3" json:"parent_shutdown_time,omitempty"` // See :option:`--mode` for details. Mode CommandLineOptions_Mode `protobuf:"varint,19,opt,name=mode,proto3,enum=envoy.admin.v2alpha.CommandLineOptions_Mode" json:"mode,omitempty"` // max_stats and max_obj_name_len are now unused and have no effect. // // Deprecated: Marked as deprecated in envoy/admin/v2alpha/server_info.proto. MaxStats uint64 `protobuf:"varint,20,opt,name=max_stats,json=maxStats,proto3" json:"max_stats,omitempty"` // Deprecated: Marked as deprecated in envoy/admin/v2alpha/server_info.proto. MaxObjNameLen uint64 `protobuf:"varint,21,opt,name=max_obj_name_len,json=maxObjNameLen,proto3" json:"max_obj_name_len,omitempty"` // See :option:`--disable-hot-restart` for details. DisableHotRestart bool `protobuf:"varint,22,opt,name=disable_hot_restart,json=disableHotRestart,proto3" json:"disable_hot_restart,omitempty"` // See :option:`--enable-mutex-tracing` for details. EnableMutexTracing bool `protobuf:"varint,23,opt,name=enable_mutex_tracing,json=enableMutexTracing,proto3" json:"enable_mutex_tracing,omitempty"` // See :option:`--restart-epoch` for details. RestartEpoch uint32 `protobuf:"varint,24,opt,name=restart_epoch,json=restartEpoch,proto3" json:"restart_epoch,omitempty"` // See :option:`--cpuset-threads` for details. CpusetThreads bool `protobuf:"varint,25,opt,name=cpuset_threads,json=cpusetThreads,proto3" json:"cpuset_threads,omitempty"` // See :option:`--disable-extensions` for details. DisabledExtensions []string `protobuf:"bytes,28,rep,name=disabled_extensions,json=disabledExtensions,proto3" json:"disabled_extensions,omitempty"` } func (x *CommandLineOptions) Reset() { *x = CommandLineOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_server_info_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommandLineOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommandLineOptions) ProtoMessage() {} func (x *CommandLineOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_server_info_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommandLineOptions.ProtoReflect.Descriptor instead. func (*CommandLineOptions) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP(), []int{1} } func (x *CommandLineOptions) GetBaseId() uint64 { if x != nil { return x.BaseId } return 0 } func (x *CommandLineOptions) GetConcurrency() uint32 { if x != nil { return x.Concurrency } return 0 } func (x *CommandLineOptions) GetConfigPath() string { if x != nil { return x.ConfigPath } return "" } func (x *CommandLineOptions) GetConfigYaml() string { if x != nil { return x.ConfigYaml } return "" } func (x *CommandLineOptions) GetAllowUnknownStaticFields() bool { if x != nil { return x.AllowUnknownStaticFields } return false } func (x *CommandLineOptions) GetRejectUnknownDynamicFields() bool { if x != nil { return x.RejectUnknownDynamicFields } return false } func (x *CommandLineOptions) GetAdminAddressPath() string { if x != nil { return x.AdminAddressPath } return "" } func (x *CommandLineOptions) GetLocalAddressIpVersion() CommandLineOptions_IpVersion { if x != nil { return x.LocalAddressIpVersion } return CommandLineOptions_v4 } func (x *CommandLineOptions) GetLogLevel() string { if x != nil { return x.LogLevel } return "" } func (x *CommandLineOptions) GetComponentLogLevel() string { if x != nil { return x.ComponentLogLevel } return "" } func (x *CommandLineOptions) GetLogFormat() string { if x != nil { return x.LogFormat } return "" } func (x *CommandLineOptions) GetLogFormatEscaped() bool { if x != nil { return x.LogFormatEscaped } return false } func (x *CommandLineOptions) GetLogPath() string { if x != nil { return x.LogPath } return "" } func (x *CommandLineOptions) GetServiceCluster() string { if x != nil { return x.ServiceCluster } return "" } func (x *CommandLineOptions) GetServiceNode() string { if x != nil { return x.ServiceNode } return "" } func (x *CommandLineOptions) GetServiceZone() string { if x != nil { return x.ServiceZone } return "" } func (x *CommandLineOptions) GetFileFlushInterval() *duration.Duration { if x != nil { return x.FileFlushInterval } return nil } func (x *CommandLineOptions) GetDrainTime() *duration.Duration { if x != nil { return x.DrainTime } return nil } func (x *CommandLineOptions) GetParentShutdownTime() *duration.Duration { if x != nil { return x.ParentShutdownTime } return nil } func (x *CommandLineOptions) GetMode() CommandLineOptions_Mode { if x != nil { return x.Mode } return CommandLineOptions_Serve } // Deprecated: Marked as deprecated in envoy/admin/v2alpha/server_info.proto. func (x *CommandLineOptions) GetMaxStats() uint64 { if x != nil { return x.MaxStats } return 0 } // Deprecated: Marked as deprecated in envoy/admin/v2alpha/server_info.proto. func (x *CommandLineOptions) GetMaxObjNameLen() uint64 { if x != nil { return x.MaxObjNameLen } return 0 } func (x *CommandLineOptions) GetDisableHotRestart() bool { if x != nil { return x.DisableHotRestart } return false } func (x *CommandLineOptions) GetEnableMutexTracing() bool { if x != nil { return x.EnableMutexTracing } return false } func (x *CommandLineOptions) GetRestartEpoch() uint32 { if x != nil { return x.RestartEpoch } return 0 } func (x *CommandLineOptions) GetCpusetThreads() bool { if x != nil { return x.CpusetThreads } return false } func (x *CommandLineOptions) GetDisabledExtensions() []string { if x != nil { return x.DisabledExtensions } return nil } var File_envoy_admin_v2alpha_server_info_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_server_info_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x03, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x45, 0x0a, 0x11, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x47, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0xf0, 0x0a, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x6a, 0x0a, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x62, 0x6a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x62, 0x6a, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x70, 0x75, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x73, 0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1b, 0x0a, 0x09, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x34, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x36, 0x10, 0x01, 0x22, 0x2d, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x65, 0x72, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_server_info_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_server_info_proto_rawDescData = file_envoy_admin_v2alpha_server_info_proto_rawDesc ) func file_envoy_admin_v2alpha_server_info_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_server_info_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_server_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_server_info_proto_rawDescData) }) return file_envoy_admin_v2alpha_server_info_proto_rawDescData } var file_envoy_admin_v2alpha_server_info_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_envoy_admin_v2alpha_server_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_admin_v2alpha_server_info_proto_goTypes = []interface{}{ (ServerInfo_State)(0), // 0: envoy.admin.v2alpha.ServerInfo.State (CommandLineOptions_IpVersion)(0), // 1: envoy.admin.v2alpha.CommandLineOptions.IpVersion (CommandLineOptions_Mode)(0), // 2: envoy.admin.v2alpha.CommandLineOptions.Mode (*ServerInfo)(nil), // 3: envoy.admin.v2alpha.ServerInfo (*CommandLineOptions)(nil), // 4: envoy.admin.v2alpha.CommandLineOptions (*duration.Duration)(nil), // 5: google.protobuf.Duration } var file_envoy_admin_v2alpha_server_info_proto_depIdxs = []int32{ 0, // 0: envoy.admin.v2alpha.ServerInfo.state:type_name -> envoy.admin.v2alpha.ServerInfo.State 5, // 1: envoy.admin.v2alpha.ServerInfo.uptime_current_epoch:type_name -> google.protobuf.Duration 5, // 2: envoy.admin.v2alpha.ServerInfo.uptime_all_epochs:type_name -> google.protobuf.Duration 4, // 3: envoy.admin.v2alpha.ServerInfo.command_line_options:type_name -> envoy.admin.v2alpha.CommandLineOptions 1, // 4: envoy.admin.v2alpha.CommandLineOptions.local_address_ip_version:type_name -> envoy.admin.v2alpha.CommandLineOptions.IpVersion 5, // 5: envoy.admin.v2alpha.CommandLineOptions.file_flush_interval:type_name -> google.protobuf.Duration 5, // 6: envoy.admin.v2alpha.CommandLineOptions.drain_time:type_name -> google.protobuf.Duration 5, // 7: envoy.admin.v2alpha.CommandLineOptions.parent_shutdown_time:type_name -> google.protobuf.Duration 2, // 8: envoy.admin.v2alpha.CommandLineOptions.mode:type_name -> envoy.admin.v2alpha.CommandLineOptions.Mode 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_server_info_proto_init() } func file_envoy_admin_v2alpha_server_info_proto_init() { if File_envoy_admin_v2alpha_server_info_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_server_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v2alpha_server_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommandLineOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_server_info_proto_rawDesc, NumEnums: 3, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_server_info_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_server_info_proto_depIdxs, EnumInfos: file_envoy_admin_v2alpha_server_info_proto_enumTypes, MessageInfos: file_envoy_admin_v2alpha_server_info_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_server_info_proto = out.File file_envoy_admin_v2alpha_server_info_proto_rawDesc = nil file_envoy_admin_v2alpha_server_info_proto_goTypes = nil file_envoy_admin_v2alpha_server_info_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/server_info.pb.validate.go000077500000000000000000000301151454502223200256010ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/server_info.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ServerInfo with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ServerInfo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ServerInfo with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ServerInfoMultiError, or // nil if none found. func (m *ServerInfo) ValidateAll() error { return m.validate(true) } func (m *ServerInfo) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Version // no validation rules for State if all { switch v := interface{}(m.GetUptimeCurrentEpoch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUptimeCurrentEpoch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUptimeAllEpochs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUptimeAllEpochs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HotRestartVersion if all { switch v := interface{}(m.GetCommandLineOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommandLineOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ServerInfoMultiError(errors) } return nil } // ServerInfoMultiError is an error wrapping multiple validation errors // returned by ServerInfo.ValidateAll() if the designated constraints aren't met. type ServerInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ServerInfoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ServerInfoMultiError) AllErrors() []error { return m } // ServerInfoValidationError is the validation error returned by // ServerInfo.Validate if the designated constraints aren't met. type ServerInfoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ServerInfoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ServerInfoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ServerInfoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ServerInfoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ServerInfoValidationError) ErrorName() string { return "ServerInfoValidationError" } // Error satisfies the builtin error interface func (e ServerInfoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sServerInfo.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ServerInfoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ServerInfoValidationError{} // Validate checks the field values on CommandLineOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommandLineOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommandLineOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommandLineOptionsMultiError, or nil if none found. func (m *CommandLineOptions) ValidateAll() error { return m.validate(true) } func (m *CommandLineOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BaseId // no validation rules for Concurrency // no validation rules for ConfigPath // no validation rules for ConfigYaml // no validation rules for AllowUnknownStaticFields // no validation rules for RejectUnknownDynamicFields // no validation rules for AdminAddressPath // no validation rules for LocalAddressIpVersion // no validation rules for LogLevel // no validation rules for ComponentLogLevel // no validation rules for LogFormat // no validation rules for LogFormatEscaped // no validation rules for LogPath // no validation rules for ServiceCluster // no validation rules for ServiceNode // no validation rules for ServiceZone if all { switch v := interface{}(m.GetFileFlushInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFileFlushInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDrainTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetParentShutdownTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetParentShutdownTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Mode // no validation rules for MaxStats // no validation rules for MaxObjNameLen // no validation rules for DisableHotRestart // no validation rules for EnableMutexTracing // no validation rules for RestartEpoch // no validation rules for CpusetThreads if len(errors) > 0 { return CommandLineOptionsMultiError(errors) } return nil } // CommandLineOptionsMultiError is an error wrapping multiple validation errors // returned by CommandLineOptions.ValidateAll() if the designated constraints // aren't met. type CommandLineOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommandLineOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommandLineOptionsMultiError) AllErrors() []error { return m } // CommandLineOptionsValidationError is the validation error returned by // CommandLineOptions.Validate if the designated constraints aren't met. type CommandLineOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommandLineOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommandLineOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommandLineOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommandLineOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommandLineOptionsValidationError) ErrorName() string { return "CommandLineOptionsValidationError" } // Error satisfies the builtin error interface func (e CommandLineOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommandLineOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommandLineOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommandLineOptionsValidationError{} go-control-plane-0.12.0/envoy/admin/v2alpha/tap.pb.go000077500000000000000000000163311454502223200222600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v2alpha/tap.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/service/tap/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The /tap admin request body that is used to configure an active tap session. type TapRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The opaque configuration ID used to match the configuration to a loaded extension. // A tap extension configures a similar opaque ID that is used to match. ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` // The tap configuration to load. TapConfig *v2alpha.TapConfig `protobuf:"bytes,2,opt,name=tap_config,json=tapConfig,proto3" json:"tap_config,omitempty"` } func (x *TapRequest) Reset() { *x = TapRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v2alpha_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TapRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapRequest) ProtoMessage() {} func (x *TapRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v2alpha_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TapRequest.ProtoReflect.Descriptor instead. func (*TapRequest) Descriptor() ([]byte, []int) { return file_envoy_admin_v2alpha_tap_proto_rawDescGZIP(), []int{0} } func (x *TapRequest) GetConfigId() string { if x != nil { return x.ConfigId } return "" } func (x *TapRequest) GetTapConfig() *v2alpha.TapConfig { if x != nil { return x.TapConfig } return nil } var File_envoy_admin_v2alpha_tap_proto protoreflect.FileDescriptor var file_envoy_admin_v2alpha_tap_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0a, 0x54, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x74, 0x61, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x73, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v2alpha_tap_proto_rawDescOnce sync.Once file_envoy_admin_v2alpha_tap_proto_rawDescData = file_envoy_admin_v2alpha_tap_proto_rawDesc ) func file_envoy_admin_v2alpha_tap_proto_rawDescGZIP() []byte { file_envoy_admin_v2alpha_tap_proto_rawDescOnce.Do(func() { file_envoy_admin_v2alpha_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_tap_proto_rawDescData) }) return file_envoy_admin_v2alpha_tap_proto_rawDescData } var file_envoy_admin_v2alpha_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v2alpha_tap_proto_goTypes = []interface{}{ (*TapRequest)(nil), // 0: envoy.admin.v2alpha.TapRequest (*v2alpha.TapConfig)(nil), // 1: envoy.service.tap.v2alpha.TapConfig } var file_envoy_admin_v2alpha_tap_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v2alpha.TapRequest.tap_config:type_name -> envoy.service.tap.v2alpha.TapConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_admin_v2alpha_tap_proto_init() } func file_envoy_admin_v2alpha_tap_proto_init() { if File_envoy_admin_v2alpha_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v2alpha_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TapRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v2alpha_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v2alpha_tap_proto_goTypes, DependencyIndexes: file_envoy_admin_v2alpha_tap_proto_depIdxs, MessageInfos: file_envoy_admin_v2alpha_tap_proto_msgTypes, }.Build() File_envoy_admin_v2alpha_tap_proto = out.File file_envoy_admin_v2alpha_tap_proto_rawDesc = nil file_envoy_admin_v2alpha_tap_proto_goTypes = nil file_envoy_admin_v2alpha_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v2alpha/tap.pb.validate.go000077500000000000000000000105101454502223200240410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v2alpha/tap.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TapRequest with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TapRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TapRequest with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TapRequestMultiError, or // nil if none found. func (m *TapRequest) ValidateAll() error { return m.validate(true) } func (m *TapRequest) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetConfigId()) < 1 { err := TapRequestValidationError{ field: "ConfigId", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetTapConfig() == nil { err := TapRequestValidationError{ field: "TapConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTapConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTapConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapRequestMultiError(errors) } return nil } // TapRequestMultiError is an error wrapping multiple validation errors // returned by TapRequest.ValidateAll() if the designated constraints aren't met. type TapRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapRequestMultiError) AllErrors() []error { return m } // TapRequestValidationError is the validation error returned by // TapRequest.Validate if the designated constraints aren't met. type TapRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapRequestValidationError) ErrorName() string { return "TapRequestValidationError" } // Error satisfies the builtin error interface func (e TapRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTapRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapRequestValidationError{} go-control-plane-0.12.0/envoy/admin/v3/000077500000000000000000000000001454502223200175315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/admin/v3/certs.pb.go000077500000000000000000000570331454502223200216130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/certs.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of certificate details. Admin endpoint uses this wrapper for “/certs“ to // display certificate information. See :ref:`/certs ` for more // information. type Certificates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of certificates known to an Envoy. Certificates []*Certificate `protobuf:"bytes,1,rep,name=certificates,proto3" json:"certificates,omitempty"` } func (x *Certificates) Reset() { *x = Certificates{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_certs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Certificates) String() string { return protoimpl.X.MessageStringOf(x) } func (*Certificates) ProtoMessage() {} func (x *Certificates) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_certs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Certificates.ProtoReflect.Descriptor instead. func (*Certificates) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_certs_proto_rawDescGZIP(), []int{0} } func (x *Certificates) GetCertificates() []*Certificate { if x != nil { return x.Certificates } return nil } type Certificate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Details of CA certificate. CaCert []*CertificateDetails `protobuf:"bytes,1,rep,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"` // Details of Certificate Chain CertChain []*CertificateDetails `protobuf:"bytes,2,rep,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"` } func (x *Certificate) Reset() { *x = Certificate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_certs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Certificate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Certificate) ProtoMessage() {} func (x *Certificate) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_certs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Certificate.ProtoReflect.Descriptor instead. func (*Certificate) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_certs_proto_rawDescGZIP(), []int{1} } func (x *Certificate) GetCaCert() []*CertificateDetails { if x != nil { return x.CaCert } return nil } func (x *Certificate) GetCertChain() []*CertificateDetails { if x != nil { return x.CertChain } return nil } // [#next-free-field: 8] type CertificateDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Path of the certificate. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // Certificate Serial Number. SerialNumber string `protobuf:"bytes,2,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"` // List of Subject Alternate names. SubjectAltNames []*SubjectAlternateName `protobuf:"bytes,3,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` // Minimum of days until expiration of certificate and it's chain. DaysUntilExpiration uint64 `protobuf:"varint,4,opt,name=days_until_expiration,json=daysUntilExpiration,proto3" json:"days_until_expiration,omitempty"` // Indicates the time from which the certificate is valid. ValidFrom *timestamp.Timestamp `protobuf:"bytes,5,opt,name=valid_from,json=validFrom,proto3" json:"valid_from,omitempty"` // Indicates the time at which the certificate expires. ExpirationTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` // Details related to the OCSP response associated with this certificate, if any. OcspDetails *CertificateDetails_OcspDetails `protobuf:"bytes,7,opt,name=ocsp_details,json=ocspDetails,proto3" json:"ocsp_details,omitempty"` } func (x *CertificateDetails) Reset() { *x = CertificateDetails{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_certs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateDetails) ProtoMessage() {} func (x *CertificateDetails) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_certs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateDetails.ProtoReflect.Descriptor instead. func (*CertificateDetails) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_certs_proto_rawDescGZIP(), []int{2} } func (x *CertificateDetails) GetPath() string { if x != nil { return x.Path } return "" } func (x *CertificateDetails) GetSerialNumber() string { if x != nil { return x.SerialNumber } return "" } func (x *CertificateDetails) GetSubjectAltNames() []*SubjectAlternateName { if x != nil { return x.SubjectAltNames } return nil } func (x *CertificateDetails) GetDaysUntilExpiration() uint64 { if x != nil { return x.DaysUntilExpiration } return 0 } func (x *CertificateDetails) GetValidFrom() *timestamp.Timestamp { if x != nil { return x.ValidFrom } return nil } func (x *CertificateDetails) GetExpirationTime() *timestamp.Timestamp { if x != nil { return x.ExpirationTime } return nil } func (x *CertificateDetails) GetOcspDetails() *CertificateDetails_OcspDetails { if x != nil { return x.OcspDetails } return nil } type SubjectAlternateName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Subject Alternate Name. // // Types that are assignable to Name: // // *SubjectAlternateName_Dns // *SubjectAlternateName_Uri // *SubjectAlternateName_IpAddress Name isSubjectAlternateName_Name `protobuf_oneof:"name"` } func (x *SubjectAlternateName) Reset() { *x = SubjectAlternateName{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_certs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubjectAlternateName) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubjectAlternateName) ProtoMessage() {} func (x *SubjectAlternateName) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_certs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubjectAlternateName.ProtoReflect.Descriptor instead. func (*SubjectAlternateName) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_certs_proto_rawDescGZIP(), []int{3} } func (m *SubjectAlternateName) GetName() isSubjectAlternateName_Name { if m != nil { return m.Name } return nil } func (x *SubjectAlternateName) GetDns() string { if x, ok := x.GetName().(*SubjectAlternateName_Dns); ok { return x.Dns } return "" } func (x *SubjectAlternateName) GetUri() string { if x, ok := x.GetName().(*SubjectAlternateName_Uri); ok { return x.Uri } return "" } func (x *SubjectAlternateName) GetIpAddress() string { if x, ok := x.GetName().(*SubjectAlternateName_IpAddress); ok { return x.IpAddress } return "" } type isSubjectAlternateName_Name interface { isSubjectAlternateName_Name() } type SubjectAlternateName_Dns struct { Dns string `protobuf:"bytes,1,opt,name=dns,proto3,oneof"` } type SubjectAlternateName_Uri struct { Uri string `protobuf:"bytes,2,opt,name=uri,proto3,oneof"` } type SubjectAlternateName_IpAddress struct { IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3,oneof"` } func (*SubjectAlternateName_Dns) isSubjectAlternateName_Name() {} func (*SubjectAlternateName_Uri) isSubjectAlternateName_Name() {} func (*SubjectAlternateName_IpAddress) isSubjectAlternateName_Name() {} type CertificateDetails_OcspDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates the time from which the OCSP response is valid. ValidFrom *timestamp.Timestamp `protobuf:"bytes,1,opt,name=valid_from,json=validFrom,proto3" json:"valid_from,omitempty"` // Indicates the time at which the OCSP response expires. Expiration *timestamp.Timestamp `protobuf:"bytes,2,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *CertificateDetails_OcspDetails) Reset() { *x = CertificateDetails_OcspDetails{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_certs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateDetails_OcspDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateDetails_OcspDetails) ProtoMessage() {} func (x *CertificateDetails_OcspDetails) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_certs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateDetails_OcspDetails.ProtoReflect.Descriptor instead. func (*CertificateDetails_OcspDetails) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_certs_proto_rawDescGZIP(), []int{2, 0} } func (x *CertificateDetails_OcspDetails) GetValidFrom() *timestamp.Timestamp { if x != nil { return x.ValidFrom } return nil } func (x *CertificateDetails_OcspDetails) GetExpiration() *timestamp.Timestamp { if x != nil { return x.Expiration } return nil } var File_envoy_admin_v3_certs_proto protoreflect.FileDescriptor var file_envoy_admin_v3_certs_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x0c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xdc, 0x04, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4f, 0x63, 0x73, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x6f, 0x63, 0x73, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0b, 0x4f, 0x63, 0x73, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x73, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x43, 0x65, 0x72, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_certs_proto_rawDescOnce sync.Once file_envoy_admin_v3_certs_proto_rawDescData = file_envoy_admin_v3_certs_proto_rawDesc ) func file_envoy_admin_v3_certs_proto_rawDescGZIP() []byte { file_envoy_admin_v3_certs_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_certs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_certs_proto_rawDescData) }) return file_envoy_admin_v3_certs_proto_rawDescData } var file_envoy_admin_v3_certs_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_admin_v3_certs_proto_goTypes = []interface{}{ (*Certificates)(nil), // 0: envoy.admin.v3.Certificates (*Certificate)(nil), // 1: envoy.admin.v3.Certificate (*CertificateDetails)(nil), // 2: envoy.admin.v3.CertificateDetails (*SubjectAlternateName)(nil), // 3: envoy.admin.v3.SubjectAlternateName (*CertificateDetails_OcspDetails)(nil), // 4: envoy.admin.v3.CertificateDetails.OcspDetails (*timestamp.Timestamp)(nil), // 5: google.protobuf.Timestamp } var file_envoy_admin_v3_certs_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v3.Certificates.certificates:type_name -> envoy.admin.v3.Certificate 2, // 1: envoy.admin.v3.Certificate.ca_cert:type_name -> envoy.admin.v3.CertificateDetails 2, // 2: envoy.admin.v3.Certificate.cert_chain:type_name -> envoy.admin.v3.CertificateDetails 3, // 3: envoy.admin.v3.CertificateDetails.subject_alt_names:type_name -> envoy.admin.v3.SubjectAlternateName 5, // 4: envoy.admin.v3.CertificateDetails.valid_from:type_name -> google.protobuf.Timestamp 5, // 5: envoy.admin.v3.CertificateDetails.expiration_time:type_name -> google.protobuf.Timestamp 4, // 6: envoy.admin.v3.CertificateDetails.ocsp_details:type_name -> envoy.admin.v3.CertificateDetails.OcspDetails 5, // 7: envoy.admin.v3.CertificateDetails.OcspDetails.valid_from:type_name -> google.protobuf.Timestamp 5, // 8: envoy.admin.v3.CertificateDetails.OcspDetails.expiration:type_name -> google.protobuf.Timestamp 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_admin_v3_certs_proto_init() } func file_envoy_admin_v3_certs_proto_init() { if File_envoy_admin_v3_certs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_certs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Certificates); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_certs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Certificate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_certs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_certs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubjectAlternateName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_certs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateDetails_OcspDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_admin_v3_certs_proto_msgTypes[3].OneofWrappers = []interface{}{ (*SubjectAlternateName_Dns)(nil), (*SubjectAlternateName_Uri)(nil), (*SubjectAlternateName_IpAddress)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_certs_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_certs_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_certs_proto_depIdxs, MessageInfos: file_envoy_admin_v3_certs_proto_msgTypes, }.Build() File_envoy_admin_v3_certs_proto = out.File file_envoy_admin_v3_certs_proto_rawDesc = nil file_envoy_admin_v3_certs_proto_goTypes = nil file_envoy_admin_v3_certs_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/certs.pb.validate.go000077500000000000000000000567401454502223200234070ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/certs.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Certificates with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Certificates) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Certificates with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CertificatesMultiError, or // nil if none found. func (m *Certificates) ValidateAll() error { return m.validate(true) } func (m *Certificates) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetCertificates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificatesValidationError{ field: fmt.Sprintf("Certificates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CertificatesMultiError(errors) } return nil } // CertificatesMultiError is an error wrapping multiple validation errors // returned by Certificates.ValidateAll() if the designated constraints aren't met. type CertificatesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificatesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificatesMultiError) AllErrors() []error { return m } // CertificatesValidationError is the validation error returned by // Certificates.Validate if the designated constraints aren't met. type CertificatesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificatesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificatesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificatesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificatesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificatesValidationError) ErrorName() string { return "CertificatesValidationError" } // Error satisfies the builtin error interface func (e CertificatesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificates.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificatesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificatesValidationError{} // Validate checks the field values on Certificate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Certificate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Certificate with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CertificateMultiError, or // nil if none found. func (m *Certificate) ValidateAll() error { return m.validate(true) } func (m *Certificate) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetCaCert() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationError{ field: fmt.Sprintf("CaCert[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetCertChain() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationError{ field: fmt.Sprintf("CertChain[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CertificateMultiError(errors) } return nil } // CertificateMultiError is an error wrapping multiple validation errors // returned by Certificate.ValidateAll() if the designated constraints aren't met. type CertificateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateMultiError) AllErrors() []error { return m } // CertificateValidationError is the validation error returned by // Certificate.Validate if the designated constraints aren't met. type CertificateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateValidationError) ErrorName() string { return "CertificateValidationError" } // Error satisfies the builtin error interface func (e CertificateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateValidationError{} // Validate checks the field values on CertificateDetails with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CertificateDetails) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateDetails with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CertificateDetailsMultiError, or nil if none found. func (m *CertificateDetails) ValidateAll() error { return m.validate(true) } func (m *CertificateDetails) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Path // no validation rules for SerialNumber for idx, item := range m.GetSubjectAltNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: fmt.Sprintf("SubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for DaysUntilExpiration if all { switch v := interface{}(m.GetValidFrom()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidFrom()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetExpirationTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpirationTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: "ExpirationTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOcspDetails()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "OcspDetails", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetailsValidationError{ field: "OcspDetails", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOcspDetails()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetailsValidationError{ field: "OcspDetails", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CertificateDetailsMultiError(errors) } return nil } // CertificateDetailsMultiError is an error wrapping multiple validation errors // returned by CertificateDetails.ValidateAll() if the designated constraints // aren't met. type CertificateDetailsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateDetailsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateDetailsMultiError) AllErrors() []error { return m } // CertificateDetailsValidationError is the validation error returned by // CertificateDetails.Validate if the designated constraints aren't met. type CertificateDetailsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateDetailsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateDetailsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateDetailsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateDetailsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateDetailsValidationError) ErrorName() string { return "CertificateDetailsValidationError" } // Error satisfies the builtin error interface func (e CertificateDetailsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateDetails.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateDetailsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateDetailsValidationError{} // Validate checks the field values on SubjectAlternateName with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SubjectAlternateName) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubjectAlternateName with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubjectAlternateNameMultiError, or nil if none found. func (m *SubjectAlternateName) ValidateAll() error { return m.validate(true) } func (m *SubjectAlternateName) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Name.(type) { case *SubjectAlternateName_Dns: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Dns case *SubjectAlternateName_Uri: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Uri case *SubjectAlternateName_IpAddress: if v == nil { err := SubjectAlternateNameValidationError{ field: "Name", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for IpAddress default: _ = v // ensures v is used } if len(errors) > 0 { return SubjectAlternateNameMultiError(errors) } return nil } // SubjectAlternateNameMultiError is an error wrapping multiple validation // errors returned by SubjectAlternateName.ValidateAll() if the designated // constraints aren't met. type SubjectAlternateNameMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubjectAlternateNameMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubjectAlternateNameMultiError) AllErrors() []error { return m } // SubjectAlternateNameValidationError is the validation error returned by // SubjectAlternateName.Validate if the designated constraints aren't met. type SubjectAlternateNameValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubjectAlternateNameValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubjectAlternateNameValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubjectAlternateNameValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubjectAlternateNameValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubjectAlternateNameValidationError) ErrorName() string { return "SubjectAlternateNameValidationError" } // Error satisfies the builtin error interface func (e SubjectAlternateNameValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubjectAlternateName.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubjectAlternateNameValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubjectAlternateNameValidationError{} // Validate checks the field values on CertificateDetails_OcspDetails with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CertificateDetails_OcspDetails) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateDetails_OcspDetails with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // CertificateDetails_OcspDetailsMultiError, or nil if none found. func (m *CertificateDetails_OcspDetails) ValidateAll() error { return m.validate(true) } func (m *CertificateDetails_OcspDetails) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetValidFrom()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetails_OcspDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetails_OcspDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidFrom()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetails_OcspDetailsValidationError{ field: "ValidFrom", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetExpiration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateDetails_OcspDetailsValidationError{ field: "Expiration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateDetails_OcspDetailsValidationError{ field: "Expiration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpiration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateDetails_OcspDetailsValidationError{ field: "Expiration", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CertificateDetails_OcspDetailsMultiError(errors) } return nil } // CertificateDetails_OcspDetailsMultiError is an error wrapping multiple // validation errors returned by CertificateDetails_OcspDetails.ValidateAll() // if the designated constraints aren't met. type CertificateDetails_OcspDetailsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateDetails_OcspDetailsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateDetails_OcspDetailsMultiError) AllErrors() []error { return m } // CertificateDetails_OcspDetailsValidationError is the validation error // returned by CertificateDetails_OcspDetails.Validate if the designated // constraints aren't met. type CertificateDetails_OcspDetailsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateDetails_OcspDetailsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateDetails_OcspDetailsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateDetails_OcspDetailsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateDetails_OcspDetailsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateDetails_OcspDetailsValidationError) ErrorName() string { return "CertificateDetails_OcspDetailsValidationError" } // Error satisfies the builtin error interface func (e CertificateDetails_OcspDetailsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateDetails_OcspDetails.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateDetails_OcspDetailsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateDetails_OcspDetailsValidationError{} go-control-plane-0.12.0/envoy/admin/v3/clusters.pb.go000077500000000000000000001052501454502223200223320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/clusters.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Admin endpoint uses this wrapper for “/clusters“ to display cluster status information. // See :ref:`/clusters ` for more information. type Clusters struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Mapping from cluster name to each cluster's status. ClusterStatuses []*ClusterStatus `protobuf:"bytes,1,rep,name=cluster_statuses,json=clusterStatuses,proto3" json:"cluster_statuses,omitempty"` } func (x *Clusters) Reset() { *x = Clusters{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Clusters) String() string { return protoimpl.X.MessageStringOf(x) } func (*Clusters) ProtoMessage() {} func (x *Clusters) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Clusters.ProtoReflect.Descriptor instead. func (*Clusters) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_clusters_proto_rawDescGZIP(), []int{0} } func (x *Clusters) GetClusterStatuses() []*ClusterStatus { if x != nil { return x.ClusterStatuses } return nil } // Details an individual cluster's current status. // [#next-free-field: 9] type ClusterStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Denotes whether this cluster was added via API or configured statically. AddedViaApi bool `protobuf:"varint,2,opt,name=added_via_api,json=addedViaApi,proto3" json:"added_via_api,omitempty"` // The success rate threshold used in the last interval. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is “false“, all errors: externally and locally generated were used to calculate the threshold. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is “true“, only externally generated errors were used to calculate the threshold. // The threshold is used to eject hosts based on their success rate. See // :ref:`Cluster outlier detection ` documentation for details. // // Note: this field may be omitted in any of the three following cases: // // 1. There were not enough hosts with enough request volume to proceed with success rate based // outlier ejection. // 2. The threshold is computed to be < 0 because a negative value implies that there was no // threshold for that interval. // 3. Outlier detection is not enabled for this cluster. SuccessRateEjectionThreshold *v3.Percent `protobuf:"bytes,3,opt,name=success_rate_ejection_threshold,json=successRateEjectionThreshold,proto3" json:"success_rate_ejection_threshold,omitempty"` // Mapping from host address to the host's current status. HostStatuses []*HostStatus `protobuf:"bytes,4,rep,name=host_statuses,json=hostStatuses,proto3" json:"host_statuses,omitempty"` // The success rate threshold used in the last interval when only locally originated failures were // taken into account and externally originated errors were treated as success. // This field should be interpreted only when // :ref:`outlier_detection.split_external_local_origin_errors` // is “true“. The threshold is used to eject hosts based on their success rate. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: this field may be omitted in any of the three following cases: // // 1. There were not enough hosts with enough request volume to proceed with success rate based // outlier ejection. // 2. The threshold is computed to be < 0 because a negative value implies that there was no // threshold for that interval. // 3. Outlier detection is not enabled for this cluster. LocalOriginSuccessRateEjectionThreshold *v3.Percent `protobuf:"bytes,5,opt,name=local_origin_success_rate_ejection_threshold,json=localOriginSuccessRateEjectionThreshold,proto3" json:"local_origin_success_rate_ejection_threshold,omitempty"` // :ref:`Circuit breaking ` settings of the cluster. CircuitBreakers *v31.CircuitBreakers `protobuf:"bytes,6,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` // Observability name of the cluster. ObservabilityName string `protobuf:"bytes,7,opt,name=observability_name,json=observabilityName,proto3" json:"observability_name,omitempty"` // The :ref:`EDS service name ` if the cluster is an EDS cluster. EdsServiceName string `protobuf:"bytes,8,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"` } func (x *ClusterStatus) Reset() { *x = ClusterStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStatus) ProtoMessage() {} func (x *ClusterStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStatus.ProtoReflect.Descriptor instead. func (*ClusterStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_clusters_proto_rawDescGZIP(), []int{1} } func (x *ClusterStatus) GetName() string { if x != nil { return x.Name } return "" } func (x *ClusterStatus) GetAddedViaApi() bool { if x != nil { return x.AddedViaApi } return false } func (x *ClusterStatus) GetSuccessRateEjectionThreshold() *v3.Percent { if x != nil { return x.SuccessRateEjectionThreshold } return nil } func (x *ClusterStatus) GetHostStatuses() []*HostStatus { if x != nil { return x.HostStatuses } return nil } func (x *ClusterStatus) GetLocalOriginSuccessRateEjectionThreshold() *v3.Percent { if x != nil { return x.LocalOriginSuccessRateEjectionThreshold } return nil } func (x *ClusterStatus) GetCircuitBreakers() *v31.CircuitBreakers { if x != nil { return x.CircuitBreakers } return nil } func (x *ClusterStatus) GetObservabilityName() string { if x != nil { return x.ObservabilityName } return "" } func (x *ClusterStatus) GetEdsServiceName() string { if x != nil { return x.EdsServiceName } return "" } // Current state of a particular host. // [#next-free-field: 10] type HostStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Address of this host. Address *v32.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // List of stats specific to this host. Stats []*SimpleMetric `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"` // The host's current health status. HealthStatus *HostHealthStatus `protobuf:"bytes,3,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"` // Request success rate for this host over the last calculated interval. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is “false“, all errors: externally and locally generated were used in success rate // calculation. If // :ref:`outlier_detection.split_external_local_origin_errors` // is “true“, only externally generated errors were used in success rate calculation. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: the message will not be present if host did not have enough request volume to calculate // success rate or the cluster did not have enough hosts to run through success rate outlier // ejection. SuccessRate *v3.Percent `protobuf:"bytes,4,opt,name=success_rate,json=successRate,proto3" json:"success_rate,omitempty"` // The host's weight. If not configured, the value defaults to 1. Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"` // The hostname of the host, if applicable. Hostname string `protobuf:"bytes,6,opt,name=hostname,proto3" json:"hostname,omitempty"` // The host's priority. If not configured, the value defaults to 0 (highest priority). Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"` // Request success rate for this host over the last calculated // interval when only locally originated errors are taken into account and externally originated // errors were treated as success. // This field should be interpreted only when // :ref:`outlier_detection.split_external_local_origin_errors` // is “true“. // See :ref:`Cluster outlier detection ` documentation for // details. // // Note: the message will not be present if host did not have enough request volume to calculate // success rate or the cluster did not have enough hosts to run through success rate outlier // ejection. LocalOriginSuccessRate *v3.Percent `protobuf:"bytes,8,opt,name=local_origin_success_rate,json=localOriginSuccessRate,proto3" json:"local_origin_success_rate,omitempty"` // locality of the host. Locality *v32.Locality `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"` } func (x *HostStatus) Reset() { *x = HostStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HostStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostStatus) ProtoMessage() {} func (x *HostStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HostStatus.ProtoReflect.Descriptor instead. func (*HostStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_clusters_proto_rawDescGZIP(), []int{2} } func (x *HostStatus) GetAddress() *v32.Address { if x != nil { return x.Address } return nil } func (x *HostStatus) GetStats() []*SimpleMetric { if x != nil { return x.Stats } return nil } func (x *HostStatus) GetHealthStatus() *HostHealthStatus { if x != nil { return x.HealthStatus } return nil } func (x *HostStatus) GetSuccessRate() *v3.Percent { if x != nil { return x.SuccessRate } return nil } func (x *HostStatus) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *HostStatus) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *HostStatus) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *HostStatus) GetLocalOriginSuccessRate() *v3.Percent { if x != nil { return x.LocalOriginSuccessRate } return nil } func (x *HostStatus) GetLocality() *v32.Locality { if x != nil { return x.Locality } return nil } // Health status for a host. // [#next-free-field: 9] type HostHealthStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The host is currently failing active health checks. FailedActiveHealthCheck bool `protobuf:"varint,1,opt,name=failed_active_health_check,json=failedActiveHealthCheck,proto3" json:"failed_active_health_check,omitempty"` // The host is currently considered an outlier and has been ejected. FailedOutlierCheck bool `protobuf:"varint,2,opt,name=failed_outlier_check,json=failedOutlierCheck,proto3" json:"failed_outlier_check,omitempty"` // The host is currently being marked as degraded through active health checking. FailedActiveDegradedCheck bool `protobuf:"varint,4,opt,name=failed_active_degraded_check,json=failedActiveDegradedCheck,proto3" json:"failed_active_degraded_check,omitempty"` // The host has been removed from service discovery, but is being stabilized due to active // health checking. PendingDynamicRemoval bool `protobuf:"varint,5,opt,name=pending_dynamic_removal,json=pendingDynamicRemoval,proto3" json:"pending_dynamic_removal,omitempty"` // The host has not yet been health checked. PendingActiveHc bool `protobuf:"varint,6,opt,name=pending_active_hc,json=pendingActiveHc,proto3" json:"pending_active_hc,omitempty"` // The host should be excluded from panic, spillover, etc. calculations because it was explicitly // taken out of rotation via protocol signal and is not meant to be routed to. ExcludedViaImmediateHcFail bool `protobuf:"varint,7,opt,name=excluded_via_immediate_hc_fail,json=excludedViaImmediateHcFail,proto3" json:"excluded_via_immediate_hc_fail,omitempty"` // The host failed active HC due to timeout. ActiveHcTimeout bool `protobuf:"varint,8,opt,name=active_hc_timeout,json=activeHcTimeout,proto3" json:"active_hc_timeout,omitempty"` // Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported // here. // [#comment:TODO(mrice32): pipe through remaining EDS health status possibilities.] EdsHealthStatus v32.HealthStatus `protobuf:"varint,3,opt,name=eds_health_status,json=edsHealthStatus,proto3,enum=envoy.config.core.v3.HealthStatus" json:"eds_health_status,omitempty"` } func (x *HostHealthStatus) Reset() { *x = HostHealthStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HostHealthStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostHealthStatus) ProtoMessage() {} func (x *HostHealthStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_clusters_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HostHealthStatus.ProtoReflect.Descriptor instead. func (*HostHealthStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_clusters_proto_rawDescGZIP(), []int{3} } func (x *HostHealthStatus) GetFailedActiveHealthCheck() bool { if x != nil { return x.FailedActiveHealthCheck } return false } func (x *HostHealthStatus) GetFailedOutlierCheck() bool { if x != nil { return x.FailedOutlierCheck } return false } func (x *HostHealthStatus) GetFailedActiveDegradedCheck() bool { if x != nil { return x.FailedActiveDegradedCheck } return false } func (x *HostHealthStatus) GetPendingDynamicRemoval() bool { if x != nil { return x.PendingDynamicRemoval } return false } func (x *HostHealthStatus) GetPendingActiveHc() bool { if x != nil { return x.PendingActiveHc } return false } func (x *HostHealthStatus) GetExcludedViaImmediateHcFail() bool { if x != nil { return x.ExcludedViaImmediateHcFail } return false } func (x *HostHealthStatus) GetActiveHcTimeout() bool { if x != nil { return x.ActiveHcTimeout } return false } func (x *HostHealthStatus) GetEdsHealthStatus() v32.HealthStatus { if x != nil { return x.EdsHealthStatus } return v32.HealthStatus(0) } var File_envoy_admin_v3_clusters_proto protoreflect.FileDescriptor var file_envoy_admin_v3_clusters_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x08, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0xb6, 0x04, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x65, 0x64, 0x56, 0x69, 0x61, 0x41, 0x70, 0x69, 0x12, 0x5d, 0x0a, 0x1f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x1c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x64, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x81, 0x04, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x51, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x93, 0x04, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x12, 0x42, 0x0a, 0x1e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x63, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x56, 0x69, 0x61, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x48, 0x63, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x65, 0x64, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x65, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_clusters_proto_rawDescOnce sync.Once file_envoy_admin_v3_clusters_proto_rawDescData = file_envoy_admin_v3_clusters_proto_rawDesc ) func file_envoy_admin_v3_clusters_proto_rawDescGZIP() []byte { file_envoy_admin_v3_clusters_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_clusters_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_clusters_proto_rawDescData) }) return file_envoy_admin_v3_clusters_proto_rawDescData } var file_envoy_admin_v3_clusters_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_admin_v3_clusters_proto_goTypes = []interface{}{ (*Clusters)(nil), // 0: envoy.admin.v3.Clusters (*ClusterStatus)(nil), // 1: envoy.admin.v3.ClusterStatus (*HostStatus)(nil), // 2: envoy.admin.v3.HostStatus (*HostHealthStatus)(nil), // 3: envoy.admin.v3.HostHealthStatus (*v3.Percent)(nil), // 4: envoy.type.v3.Percent (*v31.CircuitBreakers)(nil), // 5: envoy.config.cluster.v3.CircuitBreakers (*v32.Address)(nil), // 6: envoy.config.core.v3.Address (*SimpleMetric)(nil), // 7: envoy.admin.v3.SimpleMetric (*v32.Locality)(nil), // 8: envoy.config.core.v3.Locality (v32.HealthStatus)(0), // 9: envoy.config.core.v3.HealthStatus } var file_envoy_admin_v3_clusters_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v3.Clusters.cluster_statuses:type_name -> envoy.admin.v3.ClusterStatus 4, // 1: envoy.admin.v3.ClusterStatus.success_rate_ejection_threshold:type_name -> envoy.type.v3.Percent 2, // 2: envoy.admin.v3.ClusterStatus.host_statuses:type_name -> envoy.admin.v3.HostStatus 4, // 3: envoy.admin.v3.ClusterStatus.local_origin_success_rate_ejection_threshold:type_name -> envoy.type.v3.Percent 5, // 4: envoy.admin.v3.ClusterStatus.circuit_breakers:type_name -> envoy.config.cluster.v3.CircuitBreakers 6, // 5: envoy.admin.v3.HostStatus.address:type_name -> envoy.config.core.v3.Address 7, // 6: envoy.admin.v3.HostStatus.stats:type_name -> envoy.admin.v3.SimpleMetric 3, // 7: envoy.admin.v3.HostStatus.health_status:type_name -> envoy.admin.v3.HostHealthStatus 4, // 8: envoy.admin.v3.HostStatus.success_rate:type_name -> envoy.type.v3.Percent 4, // 9: envoy.admin.v3.HostStatus.local_origin_success_rate:type_name -> envoy.type.v3.Percent 8, // 10: envoy.admin.v3.HostStatus.locality:type_name -> envoy.config.core.v3.Locality 9, // 11: envoy.admin.v3.HostHealthStatus.eds_health_status:type_name -> envoy.config.core.v3.HealthStatus 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_admin_v3_clusters_proto_init() } func file_envoy_admin_v3_clusters_proto_init() { if File_envoy_admin_v3_clusters_proto != nil { return } file_envoy_admin_v3_metrics_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_clusters_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Clusters); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_clusters_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_clusters_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_clusters_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostHealthStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_clusters_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_clusters_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_clusters_proto_depIdxs, MessageInfos: file_envoy_admin_v3_clusters_proto_msgTypes, }.Build() File_envoy_admin_v3_clusters_proto = out.File file_envoy_admin_v3_clusters_proto_rawDesc = nil file_envoy_admin_v3_clusters_proto_goTypes = nil file_envoy_admin_v3_clusters_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/clusters.pb.validate.go000077500000000000000000000526151454502223200241300ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/clusters.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.HealthStatus(0) ) // Validate checks the field values on Clusters with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Clusters) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Clusters with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClustersMultiError, or nil // if none found. func (m *Clusters) ValidateAll() error { return m.validate(true) } func (m *Clusters) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetClusterStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersValidationError{ field: fmt.Sprintf("ClusterStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClustersMultiError(errors) } return nil } // ClustersMultiError is an error wrapping multiple validation errors returned // by Clusters.ValidateAll() if the designated constraints aren't met. type ClustersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersMultiError) AllErrors() []error { return m } // ClustersValidationError is the validation error returned by // Clusters.Validate if the designated constraints aren't met. type ClustersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersValidationError) ErrorName() string { return "ClustersValidationError" } // Error satisfies the builtin error interface func (e ClustersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusters.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersValidationError{} // Validate checks the field values on ClusterStatus with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterStatusMultiError, or // nil if none found. func (m *ClusterStatus) ValidateAll() error { return m.validate(true) } func (m *ClusterStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for AddedViaApi if all { switch v := interface{}(m.GetSuccessRateEjectionThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateEjectionThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: "SuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHostStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: fmt.Sprintf("HostStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLocalOriginSuccessRateEjectionThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalOriginSuccessRateEjectionThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: "LocalOriginSuccessRateEjectionThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCircuitBreakers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatusValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCircuitBreakers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatusValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ObservabilityName // no validation rules for EdsServiceName if len(errors) > 0 { return ClusterStatusMultiError(errors) } return nil } // ClusterStatusMultiError is an error wrapping multiple validation errors // returned by ClusterStatus.ValidateAll() if the designated constraints // aren't met. type ClusterStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStatusMultiError) AllErrors() []error { return m } // ClusterStatusValidationError is the validation error returned by // ClusterStatus.Validate if the designated constraints aren't met. type ClusterStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStatusValidationError) ErrorName() string { return "ClusterStatusValidationError" } // Error satisfies the builtin error interface func (e ClusterStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStatusValidationError{} // Validate checks the field values on HostStatus with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HostStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HostStatus with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HostStatusMultiError, or // nil if none found. func (m *HostStatus) ValidateAll() error { return m.validate(true) } func (m *HostStatus) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: fmt.Sprintf("Stats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetHealthStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "HealthStatus", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "SuccessRate", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Weight // no validation rules for Hostname // no validation rules for Priority if all { switch v := interface{}(m.GetLocalOriginSuccessRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalOriginSuccessRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "LocalOriginSuccessRate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HostStatusValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HostStatusMultiError(errors) } return nil } // HostStatusMultiError is an error wrapping multiple validation errors // returned by HostStatus.ValidateAll() if the designated constraints aren't met. type HostStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HostStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HostStatusMultiError) AllErrors() []error { return m } // HostStatusValidationError is the validation error returned by // HostStatus.Validate if the designated constraints aren't met. type HostStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HostStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HostStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HostStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HostStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HostStatusValidationError) ErrorName() string { return "HostStatusValidationError" } // Error satisfies the builtin error interface func (e HostStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHostStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HostStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HostStatusValidationError{} // Validate checks the field values on HostHealthStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HostHealthStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HostHealthStatus with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HostHealthStatusMultiError, or nil if none found. func (m *HostHealthStatus) ValidateAll() error { return m.validate(true) } func (m *HostHealthStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FailedActiveHealthCheck // no validation rules for FailedOutlierCheck // no validation rules for FailedActiveDegradedCheck // no validation rules for PendingDynamicRemoval // no validation rules for PendingActiveHc // no validation rules for ExcludedViaImmediateHcFail // no validation rules for ActiveHcTimeout // no validation rules for EdsHealthStatus if len(errors) > 0 { return HostHealthStatusMultiError(errors) } return nil } // HostHealthStatusMultiError is an error wrapping multiple validation errors // returned by HostHealthStatus.ValidateAll() if the designated constraints // aren't met. type HostHealthStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HostHealthStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HostHealthStatusMultiError) AllErrors() []error { return m } // HostHealthStatusValidationError is the validation error returned by // HostHealthStatus.Validate if the designated constraints aren't met. type HostHealthStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HostHealthStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HostHealthStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HostHealthStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HostHealthStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HostHealthStatusValidationError) ErrorName() string { return "HostHealthStatusValidationError" } // Error satisfies the builtin error interface func (e HostHealthStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHostHealthStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HostHealthStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HostHealthStatusValidationError{} go-control-plane-0.12.0/envoy/admin/v3/config_dump.pb.go000077500000000000000000000717731454502223200227740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/config_dump.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3" any1 "github.com/golang/protobuf/ptypes/any" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The :ref:`/config_dump ` admin endpoint uses this wrapper // message to maintain and serve arbitrary configuration information from any component in Envoy. type ConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This list is serialized and dumped in its entirety at the // :ref:`/config_dump ` endpoint. // // The following configurations are currently supported and will be dumped in the order given // below: // // * “bootstrap“: :ref:`BootstrapConfigDump ` // * “clusters“: :ref:`ClustersConfigDump ` // * “ecds_filter_http“: :ref:`EcdsConfigDump ` // * “ecds_filter_quic_listener“: :ref:`EcdsConfigDump ` // * “ecds_filter_tcp_listener“: :ref:`EcdsConfigDump ` // * “endpoints“: :ref:`EndpointsConfigDump ` // * “listeners“: :ref:`ListenersConfigDump ` // * “scoped_routes“: :ref:`ScopedRoutesConfigDump ` // * “routes“: :ref:`RoutesConfigDump ` // * “secrets“: :ref:`SecretsConfigDump ` // // EDS Configuration will only be dumped by using parameter “?include_eds“ // // Currently ECDS is supported in HTTP and listener filters. Note, ECDS configuration for // either HTTP or listener filter will only be dumped if it is actually configured. // // You can filter output with the resource and mask query parameters. // See :ref:`/config_dump?resource={} `, // :ref:`/config_dump?mask={} `, // or :ref:`/config_dump?resource={},mask={} // ` for more information. Configs []*any1.Any `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"` } func (x *ConfigDump) Reset() { *x = ConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigDump) ProtoMessage() {} func (x *ConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigDump.ProtoReflect.Descriptor instead. func (*ConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{0} } func (x *ConfigDump) GetConfigs() []*any1.Any { if x != nil { return x.Configs } return nil } // This message describes the bootstrap configuration that Envoy was started with. This includes // any CLI overrides that were merged. Bootstrap configuration information can be used to recreate // the static portions of an Envoy configuration by reusing the output as the bootstrap // configuration for another Envoy. type BootstrapConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Bootstrap *v3.Bootstrap `protobuf:"bytes,1,opt,name=bootstrap,proto3" json:"bootstrap,omitempty"` // The timestamp when the BootstrapConfig was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *BootstrapConfigDump) Reset() { *x = BootstrapConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BootstrapConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*BootstrapConfigDump) ProtoMessage() {} func (x *BootstrapConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BootstrapConfigDump.ProtoReflect.Descriptor instead. func (*BootstrapConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{1} } func (x *BootstrapConfigDump) GetBootstrap() *v3.Bootstrap { if x != nil { return x.Bootstrap } return nil } func (x *BootstrapConfigDump) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS. type SecretsConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded secrets. StaticSecrets []*SecretsConfigDump_StaticSecret `protobuf:"bytes,1,rep,name=static_secrets,json=staticSecrets,proto3" json:"static_secrets,omitempty"` // The dynamically loaded active secrets. These are secrets that are available to service // clusters or listeners. DynamicActiveSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,2,rep,name=dynamic_active_secrets,json=dynamicActiveSecrets,proto3" json:"dynamic_active_secrets,omitempty"` // The dynamically loaded warming secrets. These are secrets that are currently undergoing // warming in preparation to service clusters or listeners. DynamicWarmingSecrets []*SecretsConfigDump_DynamicSecret `protobuf:"bytes,3,rep,name=dynamic_warming_secrets,json=dynamicWarmingSecrets,proto3" json:"dynamic_warming_secrets,omitempty"` } func (x *SecretsConfigDump) Reset() { *x = SecretsConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump) ProtoMessage() {} func (x *SecretsConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump.ProtoReflect.Descriptor instead. func (*SecretsConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2} } func (x *SecretsConfigDump) GetStaticSecrets() []*SecretsConfigDump_StaticSecret { if x != nil { return x.StaticSecrets } return nil } func (x *SecretsConfigDump) GetDynamicActiveSecrets() []*SecretsConfigDump_DynamicSecret { if x != nil { return x.DynamicActiveSecrets } return nil } func (x *SecretsConfigDump) GetDynamicWarmingSecrets() []*SecretsConfigDump_DynamicSecret { if x != nil { return x.DynamicWarmingSecrets } return nil } // DynamicSecret contains secret information fetched via SDS. // [#next-free-field: 7] type SecretsConfigDump_DynamicSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the secret. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // This is the per-resource version information. VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The timestamp when the secret was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // The actual secret information. // Security sensitive information is redacted (replaced with "[redacted]") for // private keys and passwords in TLS certificates. Secret *any1.Any `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` // Set if the last update failed, cleared after the next successful update. // The *error_state* field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *SecretsConfigDump_DynamicSecret) Reset() { *x = SecretsConfigDump_DynamicSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump_DynamicSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump_DynamicSecret) ProtoMessage() {} func (x *SecretsConfigDump_DynamicSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump_DynamicSecret.ProtoReflect.Descriptor instead. func (*SecretsConfigDump_DynamicSecret) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2, 0} } func (x *SecretsConfigDump_DynamicSecret) GetName() string { if x != nil { return x.Name } return "" } func (x *SecretsConfigDump_DynamicSecret) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *SecretsConfigDump_DynamicSecret) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *SecretsConfigDump_DynamicSecret) GetSecret() *any1.Any { if x != nil { return x.Secret } return nil } func (x *SecretsConfigDump_DynamicSecret) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *SecretsConfigDump_DynamicSecret) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } // StaticSecret specifies statically loaded secret in bootstrap. type SecretsConfigDump_StaticSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the secret. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The timestamp when the secret was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // The actual secret information. // Security sensitive information is redacted (replaced with "[redacted]") for // private keys and passwords in TLS certificates. Secret *any1.Any `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *SecretsConfigDump_StaticSecret) Reset() { *x = SecretsConfigDump_StaticSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecretsConfigDump_StaticSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecretsConfigDump_StaticSecret) ProtoMessage() {} func (x *SecretsConfigDump_StaticSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecretsConfigDump_StaticSecret.ProtoReflect.Descriptor instead. func (*SecretsConfigDump_StaticSecret) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_proto_rawDescGZIP(), []int{2, 1} } func (x *SecretsConfigDump_StaticSecret) GetName() string { if x != nil { return x.Name } return "" } func (x *SecretsConfigDump_StaticSecret) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *SecretsConfigDump_StaticSecret) GetSecret() *any1.Any { if x != nil { return x.Secret } return nil } var File_envoy_admin_v3_config_dump_proto protoreflect.FileDescriptor var file_envoy_admin_v3_config_dump_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xb7, 0x07, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x65, 0x0a, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0xff, 0x02, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0xca, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_config_dump_proto_rawDescOnce sync.Once file_envoy_admin_v3_config_dump_proto_rawDescData = file_envoy_admin_v3_config_dump_proto_rawDesc ) func file_envoy_admin_v3_config_dump_proto_rawDescGZIP() []byte { file_envoy_admin_v3_config_dump_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_config_dump_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_config_dump_proto_rawDescData) }) return file_envoy_admin_v3_config_dump_proto_rawDescData } var file_envoy_admin_v3_config_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_admin_v3_config_dump_proto_goTypes = []interface{}{ (*ConfigDump)(nil), // 0: envoy.admin.v3.ConfigDump (*BootstrapConfigDump)(nil), // 1: envoy.admin.v3.BootstrapConfigDump (*SecretsConfigDump)(nil), // 2: envoy.admin.v3.SecretsConfigDump (*SecretsConfigDump_DynamicSecret)(nil), // 3: envoy.admin.v3.SecretsConfigDump.DynamicSecret (*SecretsConfigDump_StaticSecret)(nil), // 4: envoy.admin.v3.SecretsConfigDump.StaticSecret (*any1.Any)(nil), // 5: google.protobuf.Any (*v3.Bootstrap)(nil), // 6: envoy.config.bootstrap.v3.Bootstrap (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp (*UpdateFailureState)(nil), // 8: envoy.admin.v3.UpdateFailureState (ClientResourceStatus)(0), // 9: envoy.admin.v3.ClientResourceStatus } var file_envoy_admin_v3_config_dump_proto_depIdxs = []int32{ 5, // 0: envoy.admin.v3.ConfigDump.configs:type_name -> google.protobuf.Any 6, // 1: envoy.admin.v3.BootstrapConfigDump.bootstrap:type_name -> envoy.config.bootstrap.v3.Bootstrap 7, // 2: envoy.admin.v3.BootstrapConfigDump.last_updated:type_name -> google.protobuf.Timestamp 4, // 3: envoy.admin.v3.SecretsConfigDump.static_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.StaticSecret 3, // 4: envoy.admin.v3.SecretsConfigDump.dynamic_active_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret 3, // 5: envoy.admin.v3.SecretsConfigDump.dynamic_warming_secrets:type_name -> envoy.admin.v3.SecretsConfigDump.DynamicSecret 7, // 6: envoy.admin.v3.SecretsConfigDump.DynamicSecret.last_updated:type_name -> google.protobuf.Timestamp 5, // 7: envoy.admin.v3.SecretsConfigDump.DynamicSecret.secret:type_name -> google.protobuf.Any 8, // 8: envoy.admin.v3.SecretsConfigDump.DynamicSecret.error_state:type_name -> envoy.admin.v3.UpdateFailureState 9, // 9: envoy.admin.v3.SecretsConfigDump.DynamicSecret.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 7, // 10: envoy.admin.v3.SecretsConfigDump.StaticSecret.last_updated:type_name -> google.protobuf.Timestamp 5, // 11: envoy.admin.v3.SecretsConfigDump.StaticSecret.secret:type_name -> google.protobuf.Any 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_admin_v3_config_dump_proto_init() } func file_envoy_admin_v3_config_dump_proto_init() { if File_envoy_admin_v3_config_dump_proto != nil { return } file_envoy_admin_v3_config_dump_shared_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_config_dump_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BootstrapConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump_DynamicSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretsConfigDump_StaticSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_config_dump_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_config_dump_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_config_dump_proto_depIdxs, MessageInfos: file_envoy_admin_v3_config_dump_proto_msgTypes, }.Build() File_envoy_admin_v3_config_dump_proto = out.File file_envoy_admin_v3_config_dump_proto_rawDesc = nil file_envoy_admin_v3_config_dump_proto_goTypes = nil file_envoy_admin_v3_config_dump_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/config_dump.pb.validate.go000077500000000000000000000615561454502223200245620ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/config_dump.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ConfigDump with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConfigDump with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConfigDumpMultiError, or // nil if none found. func (m *ConfigDump) ValidateAll() error { return m.validate(true) } func (m *ConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigDumpValidationError{ field: fmt.Sprintf("Configs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigDumpMultiError(errors) } return nil } // ConfigDumpMultiError is an error wrapping multiple validation errors // returned by ConfigDump.ValidateAll() if the designated constraints aren't met. type ConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigDumpMultiError) AllErrors() []error { return m } // ConfigDumpValidationError is the validation error returned by // ConfigDump.Validate if the designated constraints aren't met. type ConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigDumpValidationError) ErrorName() string { return "ConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigDumpValidationError{} // Validate checks the field values on BootstrapConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BootstrapConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BootstrapConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BootstrapConfigDumpMultiError, or nil if none found. func (m *BootstrapConfigDump) ValidateAll() error { return m.validate(true) } func (m *BootstrapConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBootstrap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBootstrap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapConfigDumpValidationError{ field: "Bootstrap", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapConfigDumpValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BootstrapConfigDumpMultiError(errors) } return nil } // BootstrapConfigDumpMultiError is an error wrapping multiple validation // errors returned by BootstrapConfigDump.ValidateAll() if the designated // constraints aren't met. type BootstrapConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BootstrapConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BootstrapConfigDumpMultiError) AllErrors() []error { return m } // BootstrapConfigDumpValidationError is the validation error returned by // BootstrapConfigDump.Validate if the designated constraints aren't met. type BootstrapConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BootstrapConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BootstrapConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BootstrapConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BootstrapConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BootstrapConfigDumpValidationError) ErrorName() string { return "BootstrapConfigDumpValidationError" } // Error satisfies the builtin error interface func (e BootstrapConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrapConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BootstrapConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BootstrapConfigDumpValidationError{} // Validate checks the field values on SecretsConfigDump with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SecretsConfigDumpMultiError, or nil if none found. func (m *SecretsConfigDump) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStaticSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("StaticSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicActiveSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicWarmingSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingSecrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return SecretsConfigDumpMultiError(errors) } return nil } // SecretsConfigDumpMultiError is an error wrapping multiple validation errors // returned by SecretsConfigDump.ValidateAll() if the designated constraints // aren't met. type SecretsConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDumpMultiError) AllErrors() []error { return m } // SecretsConfigDumpValidationError is the validation error returned by // SecretsConfigDump.Validate if the designated constraints aren't met. type SecretsConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDumpValidationError) ErrorName() string { return "SecretsConfigDumpValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDumpValidationError{} // Validate checks the field values on SecretsConfigDump_DynamicSecret with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump_DynamicSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump_DynamicSecret with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // SecretsConfigDump_DynamicSecretMultiError, or nil if none found. func (m *SecretsConfigDump_DynamicSecret) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump_DynamicSecret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for VersionInfo if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_DynamicSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_DynamicSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_DynamicSecretValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_DynamicSecretValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return SecretsConfigDump_DynamicSecretMultiError(errors) } return nil } // SecretsConfigDump_DynamicSecretMultiError is an error wrapping multiple // validation errors returned by SecretsConfigDump_DynamicSecret.ValidateAll() // if the designated constraints aren't met. type SecretsConfigDump_DynamicSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDump_DynamicSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDump_DynamicSecretMultiError) AllErrors() []error { return m } // SecretsConfigDump_DynamicSecretValidationError is the validation error // returned by SecretsConfigDump_DynamicSecret.Validate if the designated // constraints aren't met. type SecretsConfigDump_DynamicSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDump_DynamicSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDump_DynamicSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDump_DynamicSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDump_DynamicSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDump_DynamicSecretValidationError) ErrorName() string { return "SecretsConfigDump_DynamicSecretValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDump_DynamicSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump_DynamicSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDump_DynamicSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDump_DynamicSecretValidationError{} // Validate checks the field values on SecretsConfigDump_StaticSecret with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SecretsConfigDump_StaticSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SecretsConfigDump_StaticSecret with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // SecretsConfigDump_StaticSecretMultiError, or nil if none found. func (m *SecretsConfigDump_StaticSecret) ValidateAll() error { return m.validate(true) } func (m *SecretsConfigDump_StaticSecret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_StaticSecretValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretsConfigDump_StaticSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SecretsConfigDump_StaticSecretMultiError(errors) } return nil } // SecretsConfigDump_StaticSecretMultiError is an error wrapping multiple // validation errors returned by SecretsConfigDump_StaticSecret.ValidateAll() // if the designated constraints aren't met. type SecretsConfigDump_StaticSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretsConfigDump_StaticSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretsConfigDump_StaticSecretMultiError) AllErrors() []error { return m } // SecretsConfigDump_StaticSecretValidationError is the validation error // returned by SecretsConfigDump_StaticSecret.Validate if the designated // constraints aren't met. type SecretsConfigDump_StaticSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretsConfigDump_StaticSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretsConfigDump_StaticSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretsConfigDump_StaticSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretsConfigDump_StaticSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretsConfigDump_StaticSecretValidationError) ErrorName() string { return "SecretsConfigDump_StaticSecretValidationError" } // Error satisfies the builtin error interface func (e SecretsConfigDump_StaticSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecretsConfigDump_StaticSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretsConfigDump_StaticSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretsConfigDump_StaticSecretValidationError{} go-control-plane-0.12.0/envoy/admin/v3/config_dump_shared.pb.go000077500000000000000000003217341454502223200243150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/config_dump_shared.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" any1 "github.com/golang/protobuf/ptypes/any" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Resource status from the view of a xDS client, which tells the synchronization // status between the xDS client and the xDS server. type ClientResourceStatus int32 const ( // Resource status is not available/unknown. ClientResourceStatus_UNKNOWN ClientResourceStatus = 0 // Client requested this resource but hasn't received any update from management // server. The client will not fail requests, but will queue them until update // arrives or the client times out waiting for the resource. ClientResourceStatus_REQUESTED ClientResourceStatus = 1 // This resource has been requested by the client but has either not been // delivered by the server or was previously delivered by the server and then // subsequently removed from resources provided by the server. For more // information, please refer to the :ref:`"Knowing When a Requested Resource // Does Not Exist" ` section. ClientResourceStatus_DOES_NOT_EXIST ClientResourceStatus = 2 // Client received this resource and replied with ACK. ClientResourceStatus_ACKED ClientResourceStatus = 3 // Client received this resource and replied with NACK. ClientResourceStatus_NACKED ClientResourceStatus = 4 ) // Enum value maps for ClientResourceStatus. var ( ClientResourceStatus_name = map[int32]string{ 0: "UNKNOWN", 1: "REQUESTED", 2: "DOES_NOT_EXIST", 3: "ACKED", 4: "NACKED", } ClientResourceStatus_value = map[string]int32{ "UNKNOWN": 0, "REQUESTED": 1, "DOES_NOT_EXIST": 2, "ACKED": 3, "NACKED": 4, } ) func (x ClientResourceStatus) Enum() *ClientResourceStatus { p := new(ClientResourceStatus) *p = x return p } func (x ClientResourceStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ClientResourceStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_config_dump_shared_proto_enumTypes[0].Descriptor() } func (ClientResourceStatus) Type() protoreflect.EnumType { return &file_envoy_admin_v3_config_dump_shared_proto_enumTypes[0] } func (x ClientResourceStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ClientResourceStatus.Descriptor instead. func (ClientResourceStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{0} } type UpdateFailureState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // What the component configuration would have been if the update had succeeded. // This field may not be populated by xDS clients due to storage overhead. FailedConfiguration *any1.Any `protobuf:"bytes,1,opt,name=failed_configuration,json=failedConfiguration,proto3" json:"failed_configuration,omitempty"` // Time of the latest failed update attempt. LastUpdateAttempt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_update_attempt,json=lastUpdateAttempt,proto3" json:"last_update_attempt,omitempty"` // Details about the last failed update attempt. Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` // This is the version of the rejected resource. // [#not-implemented-hide:] VersionInfo string `protobuf:"bytes,4,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` } func (x *UpdateFailureState) Reset() { *x = UpdateFailureState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateFailureState) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateFailureState) ProtoMessage() {} func (x *UpdateFailureState) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateFailureState.ProtoReflect.Descriptor instead. func (*UpdateFailureState) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{0} } func (x *UpdateFailureState) GetFailedConfiguration() *any1.Any { if x != nil { return x.FailedConfiguration } return nil } func (x *UpdateFailureState) GetLastUpdateAttempt() *timestamp.Timestamp { if x != nil { return x.LastUpdateAttempt } return nil } func (x *UpdateFailureState) GetDetails() string { if x != nil { return x.Details } return "" } func (x *UpdateFailureState) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } // Envoy's listener manager fills this message with all currently known listeners. Listener // configuration information can be used to recreate an Envoy configuration by populating all // listeners as static listeners or by returning them in a LDS response. type ListenersConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the :ref:`version_info ` in the // last processed LDS discovery response. If there are only static bootstrap listeners, this field // will be "". VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The statically loaded listener configs. StaticListeners []*ListenersConfigDump_StaticListener `protobuf:"bytes,2,rep,name=static_listeners,json=staticListeners,proto3" json:"static_listeners,omitempty"` // State for any warming, active, or draining listeners. DynamicListeners []*ListenersConfigDump_DynamicListener `protobuf:"bytes,3,rep,name=dynamic_listeners,json=dynamicListeners,proto3" json:"dynamic_listeners,omitempty"` } func (x *ListenersConfigDump) Reset() { *x = ListenersConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump) ProtoMessage() {} func (x *ListenersConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump.ProtoReflect.Descriptor instead. func (*ListenersConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1} } func (x *ListenersConfigDump) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ListenersConfigDump) GetStaticListeners() []*ListenersConfigDump_StaticListener { if x != nil { return x.StaticListeners } return nil } func (x *ListenersConfigDump) GetDynamicListeners() []*ListenersConfigDump_DynamicListener { if x != nil { return x.DynamicListeners } return nil } // Envoy's cluster manager fills this message with all currently known clusters. Cluster // configuration information can be used to recreate an Envoy configuration by populating all // clusters as static clusters or by returning them in a CDS response. type ClustersConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the :ref:`version_info ` in the // last processed CDS discovery response. If there are only static bootstrap clusters, this field // will be "". VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The statically loaded cluster configs. StaticClusters []*ClustersConfigDump_StaticCluster `protobuf:"bytes,2,rep,name=static_clusters,json=staticClusters,proto3" json:"static_clusters,omitempty"` // The dynamically loaded active clusters. These are clusters that are available to service // data plane traffic. DynamicActiveClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,3,rep,name=dynamic_active_clusters,json=dynamicActiveClusters,proto3" json:"dynamic_active_clusters,omitempty"` // The dynamically loaded warming clusters. These are clusters that are currently undergoing // warming in preparation to service data plane traffic. Note that if attempting to recreate an // Envoy configuration from a configuration dump, the warming clusters should generally be // discarded. DynamicWarmingClusters []*ClustersConfigDump_DynamicCluster `protobuf:"bytes,4,rep,name=dynamic_warming_clusters,json=dynamicWarmingClusters,proto3" json:"dynamic_warming_clusters,omitempty"` } func (x *ClustersConfigDump) Reset() { *x = ClustersConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump) ProtoMessage() {} func (x *ClustersConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump.ProtoReflect.Descriptor instead. func (*ClustersConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2} } func (x *ClustersConfigDump) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ClustersConfigDump) GetStaticClusters() []*ClustersConfigDump_StaticCluster { if x != nil { return x.StaticClusters } return nil } func (x *ClustersConfigDump) GetDynamicActiveClusters() []*ClustersConfigDump_DynamicCluster { if x != nil { return x.DynamicActiveClusters } return nil } func (x *ClustersConfigDump) GetDynamicWarmingClusters() []*ClustersConfigDump_DynamicCluster { if x != nil { return x.DynamicWarmingClusters } return nil } // Envoy's RDS implementation fills this message with all currently loaded routes, as described by // their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration // or defined inline while configuring listeners are separated from those configured dynamically via RDS. // Route configuration information can be used to recreate an Envoy configuration by populating all routes // as static routes or by returning them in RDS responses. type RoutesConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded route configs. StaticRouteConfigs []*RoutesConfigDump_StaticRouteConfig `protobuf:"bytes,2,rep,name=static_route_configs,json=staticRouteConfigs,proto3" json:"static_route_configs,omitempty"` // The dynamically loaded route configs. DynamicRouteConfigs []*RoutesConfigDump_DynamicRouteConfig `protobuf:"bytes,3,rep,name=dynamic_route_configs,json=dynamicRouteConfigs,proto3" json:"dynamic_route_configs,omitempty"` } func (x *RoutesConfigDump) Reset() { *x = RoutesConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump) ProtoMessage() {} func (x *RoutesConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump.ProtoReflect.Descriptor instead. func (*RoutesConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3} } func (x *RoutesConfigDump) GetStaticRouteConfigs() []*RoutesConfigDump_StaticRouteConfig { if x != nil { return x.StaticRouteConfigs } return nil } func (x *RoutesConfigDump) GetDynamicRouteConfigs() []*RoutesConfigDump_DynamicRouteConfig { if x != nil { return x.DynamicRouteConfigs } return nil } // Envoy's scoped RDS implementation fills this message with all currently loaded route // configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both // the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the // dynamically obtained scopes via the SRDS API. type ScopedRoutesConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded scoped route configs. InlineScopedRouteConfigs []*ScopedRoutesConfigDump_InlineScopedRouteConfigs `protobuf:"bytes,1,rep,name=inline_scoped_route_configs,json=inlineScopedRouteConfigs,proto3" json:"inline_scoped_route_configs,omitempty"` // The dynamically loaded scoped route configs. DynamicScopedRouteConfigs []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs `protobuf:"bytes,2,rep,name=dynamic_scoped_route_configs,json=dynamicScopedRouteConfigs,proto3" json:"dynamic_scoped_route_configs,omitempty"` } func (x *ScopedRoutesConfigDump) Reset() { *x = ScopedRoutesConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump) ProtoMessage() {} func (x *ScopedRoutesConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4} } func (x *ScopedRoutesConfigDump) GetInlineScopedRouteConfigs() []*ScopedRoutesConfigDump_InlineScopedRouteConfigs { if x != nil { return x.InlineScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump) GetDynamicScopedRouteConfigs() []*ScopedRoutesConfigDump_DynamicScopedRouteConfigs { if x != nil { return x.DynamicScopedRouteConfigs } return nil } // Envoy's admin fill this message with all currently known endpoints. Endpoint // configuration information can be used to recreate an Envoy configuration by populating all // endpoints as static endpoints or by returning them in an EDS response. type EndpointsConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The statically loaded endpoint configs. StaticEndpointConfigs []*EndpointsConfigDump_StaticEndpointConfig `protobuf:"bytes,2,rep,name=static_endpoint_configs,json=staticEndpointConfigs,proto3" json:"static_endpoint_configs,omitempty"` // The dynamically loaded endpoint configs. DynamicEndpointConfigs []*EndpointsConfigDump_DynamicEndpointConfig `protobuf:"bytes,3,rep,name=dynamic_endpoint_configs,json=dynamicEndpointConfigs,proto3" json:"dynamic_endpoint_configs,omitempty"` } func (x *EndpointsConfigDump) Reset() { *x = EndpointsConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointsConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointsConfigDump) ProtoMessage() {} func (x *EndpointsConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointsConfigDump.ProtoReflect.Descriptor instead. func (*EndpointsConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5} } func (x *EndpointsConfigDump) GetStaticEndpointConfigs() []*EndpointsConfigDump_StaticEndpointConfig { if x != nil { return x.StaticEndpointConfigs } return nil } func (x *EndpointsConfigDump) GetDynamicEndpointConfigs() []*EndpointsConfigDump_DynamicEndpointConfig { if x != nil { return x.DynamicEndpointConfigs } return nil } // Envoy's ECDS service fills this message with all currently extension // configuration. Extension configuration information can be used to recreate // an Envoy ECDS listener and HTTP filters as static filters or by returning // them in ECDS response. type EcdsConfigDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ECDS filter configs. EcdsFilters []*EcdsConfigDump_EcdsFilterConfig `protobuf:"bytes,1,rep,name=ecds_filters,json=ecdsFilters,proto3" json:"ecds_filters,omitempty"` } func (x *EcdsConfigDump) Reset() { *x = EcdsConfigDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EcdsConfigDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*EcdsConfigDump) ProtoMessage() {} func (x *EcdsConfigDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EcdsConfigDump.ProtoReflect.Descriptor instead. func (*EcdsConfigDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{6} } func (x *EcdsConfigDump) GetEcdsFilters() []*EcdsConfigDump_EcdsFilterConfig { if x != nil { return x.EcdsFilters } return nil } // Describes a statically loaded listener. type ListenersConfigDump_StaticListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The listener config. Listener *any1.Any `protobuf:"bytes,1,opt,name=listener,proto3" json:"listener,omitempty"` // The timestamp when the Listener was last successfully updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ListenersConfigDump_StaticListener) Reset() { *x = ListenersConfigDump_StaticListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_StaticListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_StaticListener) ProtoMessage() {} func (x *ListenersConfigDump_StaticListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_StaticListener.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_StaticListener) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 0} } func (x *ListenersConfigDump_StaticListener) GetListener() *any1.Any { if x != nil { return x.Listener } return nil } func (x *ListenersConfigDump_StaticListener) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } type ListenersConfigDump_DynamicListenerState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time // that the listener was loaded. In the future, discrete per-listener versions may be supported // by the API. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The listener config. Listener *any1.Any `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"` // The timestamp when the Listener was last successfully updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ListenersConfigDump_DynamicListenerState) Reset() { *x = ListenersConfigDump_DynamicListenerState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_DynamicListenerState) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_DynamicListenerState) ProtoMessage() {} func (x *ListenersConfigDump_DynamicListenerState) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_DynamicListenerState.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_DynamicListenerState) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 1} } func (x *ListenersConfigDump_DynamicListenerState) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ListenersConfigDump_DynamicListenerState) GetListener() *any1.Any { if x != nil { return x.Listener } return nil } func (x *ListenersConfigDump_DynamicListenerState) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Describes a dynamically loaded listener via the LDS API. // [#next-free-field: 7] type ListenersConfigDump_DynamicListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name or unique id of this listener, pulled from the DynamicListenerState config. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The listener state for any active listener by this name. // These are listeners that are available to service data plane traffic. ActiveState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,2,opt,name=active_state,json=activeState,proto3" json:"active_state,omitempty"` // The listener state for any warming listener by this name. // These are listeners that are currently undergoing warming in preparation to service data // plane traffic. Note that if attempting to recreate an Envoy configuration from a // configuration dump, the warming listeners should generally be discarded. WarmingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,3,opt,name=warming_state,json=warmingState,proto3" json:"warming_state,omitempty"` // The listener state for any draining listener by this name. // These are listeners that are currently undergoing draining in preparation to stop servicing // data plane traffic. Note that if attempting to recreate an Envoy configuration from a // configuration dump, the draining listeners should generally be discarded. DrainingState *ListenersConfigDump_DynamicListenerState `protobuf:"bytes,4,opt,name=draining_state,json=drainingState,proto3" json:"draining_state,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *ListenersConfigDump_DynamicListener) Reset() { *x = ListenersConfigDump_DynamicListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenersConfigDump_DynamicListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenersConfigDump_DynamicListener) ProtoMessage() {} func (x *ListenersConfigDump_DynamicListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenersConfigDump_DynamicListener.ProtoReflect.Descriptor instead. func (*ListenersConfigDump_DynamicListener) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{1, 2} } func (x *ListenersConfigDump_DynamicListener) GetName() string { if x != nil { return x.Name } return "" } func (x *ListenersConfigDump_DynamicListener) GetActiveState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.ActiveState } return nil } func (x *ListenersConfigDump_DynamicListener) GetWarmingState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.WarmingState } return nil } func (x *ListenersConfigDump_DynamicListener) GetDrainingState() *ListenersConfigDump_DynamicListenerState { if x != nil { return x.DrainingState } return nil } func (x *ListenersConfigDump_DynamicListener) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *ListenersConfigDump_DynamicListener) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } // Describes a statically loaded cluster. type ClustersConfigDump_StaticCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster config. Cluster *any1.Any `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // The timestamp when the Cluster was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ClustersConfigDump_StaticCluster) Reset() { *x = ClustersConfigDump_StaticCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump_StaticCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump_StaticCluster) ProtoMessage() {} func (x *ClustersConfigDump_StaticCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump_StaticCluster.ProtoReflect.Descriptor instead. func (*ClustersConfigDump_StaticCluster) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2, 0} } func (x *ClustersConfigDump_StaticCluster) GetCluster() *any1.Any { if x != nil { return x.Cluster } return nil } func (x *ClustersConfigDump_StaticCluster) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // Describes a dynamically loaded cluster via the CDS API. // [#next-free-field: 6] type ClustersConfigDump_DynamicCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by // the API. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The cluster config. Cluster *any1.Any `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // The timestamp when the Cluster was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *ClustersConfigDump_DynamicCluster) Reset() { *x = ClustersConfigDump_DynamicCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClustersConfigDump_DynamicCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClustersConfigDump_DynamicCluster) ProtoMessage() {} func (x *ClustersConfigDump_DynamicCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClustersConfigDump_DynamicCluster.ProtoReflect.Descriptor instead. func (*ClustersConfigDump_DynamicCluster) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{2, 1} } func (x *ClustersConfigDump_DynamicCluster) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ClustersConfigDump_DynamicCluster) GetCluster() *any1.Any { if x != nil { return x.Cluster } return nil } func (x *ClustersConfigDump_DynamicCluster) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *ClustersConfigDump_DynamicCluster) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *ClustersConfigDump_DynamicCluster) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } type RoutesConfigDump_StaticRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The route config. RouteConfig *any1.Any `protobuf:"bytes,1,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // The timestamp when the Route was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *RoutesConfigDump_StaticRouteConfig) Reset() { *x = RoutesConfigDump_StaticRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump_StaticRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump_StaticRouteConfig) ProtoMessage() {} func (x *RoutesConfigDump_StaticRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump_StaticRouteConfig.ProtoReflect.Descriptor instead. func (*RoutesConfigDump_StaticRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3, 0} } func (x *RoutesConfigDump_StaticRouteConfig) GetRouteConfig() *any1.Any { if x != nil { return x.RouteConfig } return nil } func (x *RoutesConfigDump_StaticRouteConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // [#next-free-field: 6] type RoutesConfigDump_DynamicRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time that // the route configuration was loaded. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The route config. RouteConfig *any1.Any `protobuf:"bytes,2,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // The timestamp when the Route was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *RoutesConfigDump_DynamicRouteConfig) Reset() { *x = RoutesConfigDump_DynamicRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoutesConfigDump_DynamicRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoutesConfigDump_DynamicRouteConfig) ProtoMessage() {} func (x *RoutesConfigDump_DynamicRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoutesConfigDump_DynamicRouteConfig.ProtoReflect.Descriptor instead. func (*RoutesConfigDump_DynamicRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{3, 1} } func (x *RoutesConfigDump_DynamicRouteConfig) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *RoutesConfigDump_DynamicRouteConfig) GetRouteConfig() *any1.Any { if x != nil { return x.RouteConfig } return nil } func (x *RoutesConfigDump_DynamicRouteConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *RoutesConfigDump_DynamicRouteConfig) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *RoutesConfigDump_DynamicRouteConfig) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } type ScopedRoutesConfigDump_InlineScopedRouteConfigs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped route configurations. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The scoped route configurations. ScopedRouteConfigs []*any1.Any `protobuf:"bytes,2,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"` // The timestamp when the scoped route config set was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Reset() { *x = ScopedRoutesConfigDump_InlineScopedRouteConfigs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoMessage() {} func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump_InlineScopedRouteConfigs.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump_InlineScopedRouteConfigs) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4, 0} } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any { if x != nil { return x.ScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump_InlineScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // [#next-free-field: 7] type ScopedRoutesConfigDump_DynamicScopedRouteConfigs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped route configurations. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time that // the scoped routes configuration was loaded. VersionInfo string `protobuf:"bytes,2,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The scoped route configurations. ScopedRouteConfigs []*any1.Any `protobuf:"bytes,3,rep,name=scoped_route_configs,json=scopedRouteConfigs,proto3" json:"scoped_route_configs,omitempty"` // The timestamp when the scoped route config set was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,5,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,6,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Reset() { *x = ScopedRoutesConfigDump_DynamicScopedRouteConfigs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoMessage() {} func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ProtoReflect.Descriptor instead. func (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{4, 1} } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetScopedRouteConfigs() []*any1.Any { if x != nil { return x.ScopedRouteConfigs } return nil } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } type EndpointsConfigDump_StaticEndpointConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The endpoint config. EndpointConfig *any1.Any `protobuf:"bytes,1,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"` // [#not-implemented-hide:] The timestamp when the Endpoint was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` } func (x *EndpointsConfigDump_StaticEndpointConfig) Reset() { *x = EndpointsConfigDump_StaticEndpointConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointsConfigDump_StaticEndpointConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointsConfigDump_StaticEndpointConfig) ProtoMessage() {} func (x *EndpointsConfigDump_StaticEndpointConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointsConfigDump_StaticEndpointConfig.ProtoReflect.Descriptor instead. func (*EndpointsConfigDump_StaticEndpointConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5, 0} } func (x *EndpointsConfigDump_StaticEndpointConfig) GetEndpointConfig() *any1.Any { if x != nil { return x.EndpointConfig } return nil } func (x *EndpointsConfigDump_StaticEndpointConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } // [#next-free-field: 6] type EndpointsConfigDump_DynamicEndpointConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the // :ref:`version_info ` field at the time that // the endpoint configuration was loaded. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The endpoint config. EndpointConfig *any1.Any `protobuf:"bytes,2,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"` // [#not-implemented-hide:] The timestamp when the Endpoint was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this particular // resource along with the reason and timestamp. For successfully updated or // acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *EndpointsConfigDump_DynamicEndpointConfig) Reset() { *x = EndpointsConfigDump_DynamicEndpointConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointsConfigDump_DynamicEndpointConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointsConfigDump_DynamicEndpointConfig) ProtoMessage() {} func (x *EndpointsConfigDump_DynamicEndpointConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointsConfigDump_DynamicEndpointConfig.ProtoReflect.Descriptor instead. func (*EndpointsConfigDump_DynamicEndpointConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{5, 1} } func (x *EndpointsConfigDump_DynamicEndpointConfig) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *EndpointsConfigDump_DynamicEndpointConfig) GetEndpointConfig() *any1.Any { if x != nil { return x.EndpointConfig } return nil } func (x *EndpointsConfigDump_DynamicEndpointConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *EndpointsConfigDump_DynamicEndpointConfig) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *EndpointsConfigDump_DynamicEndpointConfig) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } // [#next-free-field: 6] type EcdsConfigDump_EcdsFilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the per-resource version information. This version is currently // taken from the :ref:`version_info // ` // field at the time that the ECDS filter was loaded. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The ECDS filter config. EcdsFilter *any1.Any `protobuf:"bytes,2,opt,name=ecds_filter,json=ecdsFilter,proto3" json:"ecds_filter,omitempty"` // The timestamp when the ECDS filter was last updated. LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Set if the last update failed, cleared after the next successful update. // The “error_state“ field contains the rejected version of this // particular resource along with the reason and timestamp. For successfully // updated or acknowledged resource, this field should be empty. // [#not-implemented-hide:] ErrorState *UpdateFailureState `protobuf:"bytes,4,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // The client status of this resource. // [#not-implemented-hide:] ClientStatus ClientResourceStatus `protobuf:"varint,5,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` } func (x *EcdsConfigDump_EcdsFilterConfig) Reset() { *x = EcdsConfigDump_EcdsFilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EcdsConfigDump_EcdsFilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EcdsConfigDump_EcdsFilterConfig) ProtoMessage() {} func (x *EcdsConfigDump_EcdsFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EcdsConfigDump_EcdsFilterConfig.ProtoReflect.Descriptor instead. func (*EcdsConfigDump_EcdsFilterConfig) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP(), []int{6, 0} } func (x *EcdsConfigDump_EcdsFilterConfig) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *EcdsConfigDump_EcdsFilterConfig) GetEcdsFilter() *any1.Any { if x != nil { return x.EcdsFilter } return nil } func (x *EcdsConfigDump_EcdsFilterConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *EcdsConfigDump_EcdsFilterConfig) GetErrorState() *UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *EcdsConfigDump_EcdsFilterConfig) GetClientStatus() ClientResourceStatus { if x != nil { return x.ClientStatus } return ClientResourceStatus_UNKNOWN } var File_envoy_admin_v3_config_dump_shared_proto protoreflect.FileDescriptor var file_envoy_admin_v3_config_dump_shared_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xf3, 0x09, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0xc0, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0xef, 0x01, 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x92, 0x04, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xca, 0x07, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0xf0, 0x02, 0x0a, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xdd, 0x06, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x64, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xff, 0x02, 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0x8c, 0x08, 0x0a, 0x16, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x7e, 0x0a, 0x1b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x18, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x19, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x81, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xb6, 0x03, 0x0a, 0x19, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x14, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x4b, 0x9a, 0xc5, 0x88, 0x1e, 0x46, 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xde, 0x05, 0x0a, 0x13, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x70, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x73, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x94, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xc8, 0x02, 0x0a, 0x15, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x89, 0x04, 0x0a, 0x0e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x63, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x65, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xf7, 0x02, 0x0a, 0x10, 0x45, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x0b, 0x65, 0x63, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x65, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x2a, 0x5d, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x42, 0x7e, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_config_dump_shared_proto_rawDescOnce sync.Once file_envoy_admin_v3_config_dump_shared_proto_rawDescData = file_envoy_admin_v3_config_dump_shared_proto_rawDesc ) func file_envoy_admin_v3_config_dump_shared_proto_rawDescGZIP() []byte { file_envoy_admin_v3_config_dump_shared_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_config_dump_shared_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_config_dump_shared_proto_rawDescData) }) return file_envoy_admin_v3_config_dump_shared_proto_rawDescData } var file_envoy_admin_v3_config_dump_shared_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_admin_v3_config_dump_shared_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_envoy_admin_v3_config_dump_shared_proto_goTypes = []interface{}{ (ClientResourceStatus)(0), // 0: envoy.admin.v3.ClientResourceStatus (*UpdateFailureState)(nil), // 1: envoy.admin.v3.UpdateFailureState (*ListenersConfigDump)(nil), // 2: envoy.admin.v3.ListenersConfigDump (*ClustersConfigDump)(nil), // 3: envoy.admin.v3.ClustersConfigDump (*RoutesConfigDump)(nil), // 4: envoy.admin.v3.RoutesConfigDump (*ScopedRoutesConfigDump)(nil), // 5: envoy.admin.v3.ScopedRoutesConfigDump (*EndpointsConfigDump)(nil), // 6: envoy.admin.v3.EndpointsConfigDump (*EcdsConfigDump)(nil), // 7: envoy.admin.v3.EcdsConfigDump (*ListenersConfigDump_StaticListener)(nil), // 8: envoy.admin.v3.ListenersConfigDump.StaticListener (*ListenersConfigDump_DynamicListenerState)(nil), // 9: envoy.admin.v3.ListenersConfigDump.DynamicListenerState (*ListenersConfigDump_DynamicListener)(nil), // 10: envoy.admin.v3.ListenersConfigDump.DynamicListener (*ClustersConfigDump_StaticCluster)(nil), // 11: envoy.admin.v3.ClustersConfigDump.StaticCluster (*ClustersConfigDump_DynamicCluster)(nil), // 12: envoy.admin.v3.ClustersConfigDump.DynamicCluster (*RoutesConfigDump_StaticRouteConfig)(nil), // 13: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig (*RoutesConfigDump_DynamicRouteConfig)(nil), // 14: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig (*ScopedRoutesConfigDump_InlineScopedRouteConfigs)(nil), // 15: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs (*ScopedRoutesConfigDump_DynamicScopedRouteConfigs)(nil), // 16: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs (*EndpointsConfigDump_StaticEndpointConfig)(nil), // 17: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig (*EndpointsConfigDump_DynamicEndpointConfig)(nil), // 18: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig (*EcdsConfigDump_EcdsFilterConfig)(nil), // 19: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig (*any1.Any)(nil), // 20: google.protobuf.Any (*timestamp.Timestamp)(nil), // 21: google.protobuf.Timestamp } var file_envoy_admin_v3_config_dump_shared_proto_depIdxs = []int32{ 20, // 0: envoy.admin.v3.UpdateFailureState.failed_configuration:type_name -> google.protobuf.Any 21, // 1: envoy.admin.v3.UpdateFailureState.last_update_attempt:type_name -> google.protobuf.Timestamp 8, // 2: envoy.admin.v3.ListenersConfigDump.static_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.StaticListener 10, // 3: envoy.admin.v3.ListenersConfigDump.dynamic_listeners:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListener 11, // 4: envoy.admin.v3.ClustersConfigDump.static_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.StaticCluster 12, // 5: envoy.admin.v3.ClustersConfigDump.dynamic_active_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster 12, // 6: envoy.admin.v3.ClustersConfigDump.dynamic_warming_clusters:type_name -> envoy.admin.v3.ClustersConfigDump.DynamicCluster 13, // 7: envoy.admin.v3.RoutesConfigDump.static_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.StaticRouteConfig 14, // 8: envoy.admin.v3.RoutesConfigDump.dynamic_route_configs:type_name -> envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig 15, // 9: envoy.admin.v3.ScopedRoutesConfigDump.inline_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs 16, // 10: envoy.admin.v3.ScopedRoutesConfigDump.dynamic_scoped_route_configs:type_name -> envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs 17, // 11: envoy.admin.v3.EndpointsConfigDump.static_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig 18, // 12: envoy.admin.v3.EndpointsConfigDump.dynamic_endpoint_configs:type_name -> envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig 19, // 13: envoy.admin.v3.EcdsConfigDump.ecds_filters:type_name -> envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig 20, // 14: envoy.admin.v3.ListenersConfigDump.StaticListener.listener:type_name -> google.protobuf.Any 21, // 15: envoy.admin.v3.ListenersConfigDump.StaticListener.last_updated:type_name -> google.protobuf.Timestamp 20, // 16: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.listener:type_name -> google.protobuf.Any 21, // 17: envoy.admin.v3.ListenersConfigDump.DynamicListenerState.last_updated:type_name -> google.protobuf.Timestamp 9, // 18: envoy.admin.v3.ListenersConfigDump.DynamicListener.active_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState 9, // 19: envoy.admin.v3.ListenersConfigDump.DynamicListener.warming_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState 9, // 20: envoy.admin.v3.ListenersConfigDump.DynamicListener.draining_state:type_name -> envoy.admin.v3.ListenersConfigDump.DynamicListenerState 1, // 21: envoy.admin.v3.ListenersConfigDump.DynamicListener.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 22: envoy.admin.v3.ListenersConfigDump.DynamicListener.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 20, // 23: envoy.admin.v3.ClustersConfigDump.StaticCluster.cluster:type_name -> google.protobuf.Any 21, // 24: envoy.admin.v3.ClustersConfigDump.StaticCluster.last_updated:type_name -> google.protobuf.Timestamp 20, // 25: envoy.admin.v3.ClustersConfigDump.DynamicCluster.cluster:type_name -> google.protobuf.Any 21, // 26: envoy.admin.v3.ClustersConfigDump.DynamicCluster.last_updated:type_name -> google.protobuf.Timestamp 1, // 27: envoy.admin.v3.ClustersConfigDump.DynamicCluster.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 28: envoy.admin.v3.ClustersConfigDump.DynamicCluster.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 20, // 29: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.route_config:type_name -> google.protobuf.Any 21, // 30: envoy.admin.v3.RoutesConfigDump.StaticRouteConfig.last_updated:type_name -> google.protobuf.Timestamp 20, // 31: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.route_config:type_name -> google.protobuf.Any 21, // 32: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.last_updated:type_name -> google.protobuf.Timestamp 1, // 33: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 34: envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 20, // 35: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any 21, // 36: envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp 20, // 37: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.scoped_route_configs:type_name -> google.protobuf.Any 21, // 38: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.last_updated:type_name -> google.protobuf.Timestamp 1, // 39: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 40: envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 20, // 41: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.endpoint_config:type_name -> google.protobuf.Any 21, // 42: envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp 20, // 43: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.endpoint_config:type_name -> google.protobuf.Any 21, // 44: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.last_updated:type_name -> google.protobuf.Timestamp 1, // 45: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 46: envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 20, // 47: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.ecds_filter:type_name -> google.protobuf.Any 21, // 48: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.last_updated:type_name -> google.protobuf.Timestamp 1, // 49: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState 0, // 50: envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 51, // [51:51] is the sub-list for method output_type 51, // [51:51] is the sub-list for method input_type 51, // [51:51] is the sub-list for extension type_name 51, // [51:51] is the sub-list for extension extendee 0, // [0:51] is the sub-list for field type_name } func init() { file_envoy_admin_v3_config_dump_shared_proto_init() } func file_envoy_admin_v3_config_dump_shared_proto_init() { if File_envoy_admin_v3_config_dump_shared_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_config_dump_shared_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateFailureState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointsConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EcdsConfigDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_StaticListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_DynamicListenerState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenersConfigDump_DynamicListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump_StaticCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClustersConfigDump_DynamicCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump_StaticRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutesConfigDump_DynamicRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump_InlineScopedRouteConfigs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutesConfigDump_DynamicScopedRouteConfigs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointsConfigDump_StaticEndpointConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointsConfigDump_DynamicEndpointConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_config_dump_shared_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EcdsConfigDump_EcdsFilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_config_dump_shared_proto_rawDesc, NumEnums: 1, NumMessages: 19, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_config_dump_shared_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_config_dump_shared_proto_depIdxs, EnumInfos: file_envoy_admin_v3_config_dump_shared_proto_enumTypes, MessageInfos: file_envoy_admin_v3_config_dump_shared_proto_msgTypes, }.Build() File_envoy_admin_v3_config_dump_shared_proto = out.File file_envoy_admin_v3_config_dump_shared_proto_rawDesc = nil file_envoy_admin_v3_config_dump_shared_proto_goTypes = nil file_envoy_admin_v3_config_dump_shared_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/config_dump_shared.pb.validate.go000077500000000000000000003127201454502223200261000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/config_dump_shared.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpdateFailureState with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpdateFailureState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpdateFailureState with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpdateFailureStateMultiError, or nil if none found. func (m *UpdateFailureState) ValidateAll() error { return m.validate(true) } func (m *UpdateFailureState) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetFailedConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailedConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpdateFailureStateValidationError{ field: "FailedConfiguration", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdateAttempt()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdateAttempt()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpdateFailureStateValidationError{ field: "LastUpdateAttempt", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Details // no validation rules for VersionInfo if len(errors) > 0 { return UpdateFailureStateMultiError(errors) } return nil } // UpdateFailureStateMultiError is an error wrapping multiple validation errors // returned by UpdateFailureState.ValidateAll() if the designated constraints // aren't met. type UpdateFailureStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpdateFailureStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpdateFailureStateMultiError) AllErrors() []error { return m } // UpdateFailureStateValidationError is the validation error returned by // UpdateFailureState.Validate if the designated constraints aren't met. type UpdateFailureStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpdateFailureStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpdateFailureStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpdateFailureStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpdateFailureStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpdateFailureStateValidationError) ErrorName() string { return "UpdateFailureStateValidationError" } // Error satisfies the builtin error interface func (e UpdateFailureStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpdateFailureState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpdateFailureStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpdateFailureStateValidationError{} // Validate checks the field values on ListenersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ListenersConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListenersConfigDumpMultiError, or nil if none found. func (m *ListenersConfigDump) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetStaticListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDumpValidationError{ field: fmt.Sprintf("StaticListeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDumpValidationError{ field: fmt.Sprintf("DynamicListeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenersConfigDumpMultiError(errors) } return nil } // ListenersConfigDumpMultiError is an error wrapping multiple validation // errors returned by ListenersConfigDump.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDumpMultiError) AllErrors() []error { return m } // ListenersConfigDumpValidationError is the validation error returned by // ListenersConfigDump.Validate if the designated constraints aren't met. type ListenersConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDumpValidationError) ErrorName() string { return "ListenersConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDumpValidationError{} // Validate checks the field values on ClustersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClustersConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClustersConfigDumpMultiError, or nil if none found. func (m *ClustersConfigDump) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetStaticClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("StaticClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicActiveClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicActiveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicWarmingClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDumpValidationError{ field: fmt.Sprintf("DynamicWarmingClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClustersConfigDumpMultiError(errors) } return nil } // ClustersConfigDumpMultiError is an error wrapping multiple validation errors // returned by ClustersConfigDump.ValidateAll() if the designated constraints // aren't met. type ClustersConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDumpMultiError) AllErrors() []error { return m } // ClustersConfigDumpValidationError is the validation error returned by // ClustersConfigDump.Validate if the designated constraints aren't met. type ClustersConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDumpValidationError) ErrorName() string { return "ClustersConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDumpValidationError{} // Validate checks the field values on RoutesConfigDump with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RoutesConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RoutesConfigDumpMultiError, or nil if none found. func (m *RoutesConfigDump) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStaticRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDumpValidationError{ field: fmt.Sprintf("StaticRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RoutesConfigDumpMultiError(errors) } return nil } // RoutesConfigDumpMultiError is an error wrapping multiple validation errors // returned by RoutesConfigDump.ValidateAll() if the designated constraints // aren't met. type RoutesConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDumpMultiError) AllErrors() []error { return m } // RoutesConfigDumpValidationError is the validation error returned by // RoutesConfigDump.Validate if the designated constraints aren't met. type RoutesConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDumpValidationError) ErrorName() string { return "RoutesConfigDumpValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDumpValidationError{} // Validate checks the field values on ScopedRoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutesConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutesConfigDumpMultiError, or nil if none found. func (m *ScopedRoutesConfigDump) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetInlineScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("InlineScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDumpValidationError{ field: fmt.Sprintf("DynamicScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRoutesConfigDumpMultiError(errors) } return nil } // ScopedRoutesConfigDumpMultiError is an error wrapping multiple validation // errors returned by ScopedRoutesConfigDump.ValidateAll() if the designated // constraints aren't met. type ScopedRoutesConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDumpMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDumpValidationError is the validation error returned by // ScopedRoutesConfigDump.Validate if the designated constraints aren't met. type ScopedRoutesConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDumpValidationError) ErrorName() string { return "ScopedRoutesConfigDumpValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDumpValidationError{} // Validate checks the field values on EndpointsConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EndpointsConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointsConfigDump with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EndpointsConfigDumpMultiError, or nil if none found. func (m *EndpointsConfigDump) ValidateAll() error { return m.validate(true) } func (m *EndpointsConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStaticEndpointConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDumpValidationError{ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDumpValidationError{ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDumpValidationError{ field: fmt.Sprintf("StaticEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDynamicEndpointConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDumpValidationError{ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDumpValidationError{ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDumpValidationError{ field: fmt.Sprintf("DynamicEndpointConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return EndpointsConfigDumpMultiError(errors) } return nil } // EndpointsConfigDumpMultiError is an error wrapping multiple validation // errors returned by EndpointsConfigDump.ValidateAll() if the designated // constraints aren't met. type EndpointsConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointsConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointsConfigDumpMultiError) AllErrors() []error { return m } // EndpointsConfigDumpValidationError is the validation error returned by // EndpointsConfigDump.Validate if the designated constraints aren't met. type EndpointsConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointsConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointsConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointsConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointsConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointsConfigDumpValidationError) ErrorName() string { return "EndpointsConfigDumpValidationError" } // Error satisfies the builtin error interface func (e EndpointsConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointsConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointsConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointsConfigDumpValidationError{} // Validate checks the field values on EcdsConfigDump with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EcdsConfigDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EcdsConfigDump with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EcdsConfigDumpMultiError, // or nil if none found. func (m *EcdsConfigDump) ValidateAll() error { return m.validate(true) } func (m *EcdsConfigDump) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetEcdsFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EcdsConfigDumpValidationError{ field: fmt.Sprintf("EcdsFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EcdsConfigDumpValidationError{ field: fmt.Sprintf("EcdsFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EcdsConfigDumpValidationError{ field: fmt.Sprintf("EcdsFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return EcdsConfigDumpMultiError(errors) } return nil } // EcdsConfigDumpMultiError is an error wrapping multiple validation errors // returned by EcdsConfigDump.ValidateAll() if the designated constraints // aren't met. type EcdsConfigDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EcdsConfigDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EcdsConfigDumpMultiError) AllErrors() []error { return m } // EcdsConfigDumpValidationError is the validation error returned by // EcdsConfigDump.Validate if the designated constraints aren't met. type EcdsConfigDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EcdsConfigDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EcdsConfigDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EcdsConfigDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EcdsConfigDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EcdsConfigDumpValidationError) ErrorName() string { return "EcdsConfigDumpValidationError" } // Error satisfies the builtin error interface func (e EcdsConfigDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEcdsConfigDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EcdsConfigDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EcdsConfigDumpValidationError{} // Validate checks the field values on ListenersConfigDump_StaticListener with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenersConfigDump_StaticListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump_StaticListener // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenersConfigDump_StaticListenerMultiError, or nil if none found. func (m *ListenersConfigDump_StaticListener) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_StaticListener) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_StaticListenerValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_StaticListenerValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenersConfigDump_StaticListenerMultiError(errors) } return nil } // ListenersConfigDump_StaticListenerMultiError is an error wrapping multiple // validation errors returned by // ListenersConfigDump_StaticListener.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_StaticListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_StaticListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_StaticListenerMultiError) AllErrors() []error { return m } // ListenersConfigDump_StaticListenerValidationError is the validation error // returned by ListenersConfigDump_StaticListener.Validate if the designated // constraints aren't met. type ListenersConfigDump_StaticListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_StaticListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_StaticListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_StaticListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_StaticListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_StaticListenerValidationError) ErrorName() string { return "ListenersConfigDump_StaticListenerValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_StaticListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_StaticListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_StaticListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_StaticListenerValidationError{} // Validate checks the field values on ListenersConfigDump_DynamicListenerState // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ListenersConfigDump_DynamicListenerState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ListenersConfigDump_DynamicListenerState with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ListenersConfigDump_DynamicListenerStateMultiError, or nil if none found. func (m *ListenersConfigDump_DynamicListenerState) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_DynamicListenerState) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerStateValidationError{ field: "Listener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerStateValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ListenersConfigDump_DynamicListenerStateMultiError(errors) } return nil } // ListenersConfigDump_DynamicListenerStateMultiError is an error wrapping // multiple validation errors returned by // ListenersConfigDump_DynamicListenerState.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_DynamicListenerStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_DynamicListenerStateMultiError) AllErrors() []error { return m } // ListenersConfigDump_DynamicListenerStateValidationError is the validation // error returned by ListenersConfigDump_DynamicListenerState.Validate if the // designated constraints aren't met. type ListenersConfigDump_DynamicListenerStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_DynamicListenerStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_DynamicListenerStateValidationError) ErrorName() string { return "ListenersConfigDump_DynamicListenerStateValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_DynamicListenerStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_DynamicListenerState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_DynamicListenerStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_DynamicListenerStateValidationError{} // Validate checks the field values on ListenersConfigDump_DynamicListener with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenersConfigDump_DynamicListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenersConfigDump_DynamicListener // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenersConfigDump_DynamicListenerMultiError, or nil if none found. func (m *ListenersConfigDump_DynamicListener) ValidateAll() error { return m.validate(true) } func (m *ListenersConfigDump_DynamicListener) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetActiveState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetActiveState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "ActiveState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWarmingState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWarmingState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "WarmingState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDrainingState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainingState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "DrainingState", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersConfigDump_DynamicListenerValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return ListenersConfigDump_DynamicListenerMultiError(errors) } return nil } // ListenersConfigDump_DynamicListenerMultiError is an error wrapping multiple // validation errors returned by // ListenersConfigDump_DynamicListener.ValidateAll() if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersConfigDump_DynamicListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersConfigDump_DynamicListenerMultiError) AllErrors() []error { return m } // ListenersConfigDump_DynamicListenerValidationError is the validation error // returned by ListenersConfigDump_DynamicListener.Validate if the designated // constraints aren't met. type ListenersConfigDump_DynamicListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersConfigDump_DynamicListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersConfigDump_DynamicListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersConfigDump_DynamicListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersConfigDump_DynamicListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersConfigDump_DynamicListenerValidationError) ErrorName() string { return "ListenersConfigDump_DynamicListenerValidationError" } // Error satisfies the builtin error interface func (e ListenersConfigDump_DynamicListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenersConfigDump_DynamicListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersConfigDump_DynamicListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersConfigDump_DynamicListenerValidationError{} // Validate checks the field values on ClustersConfigDump_StaticCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ClustersConfigDump_StaticCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump_StaticCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ClustersConfigDump_StaticClusterMultiError, or nil if none found. func (m *ClustersConfigDump_StaticCluster) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump_StaticCluster) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_StaticClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_StaticClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClustersConfigDump_StaticClusterMultiError(errors) } return nil } // ClustersConfigDump_StaticClusterMultiError is an error wrapping multiple // validation errors returned by // ClustersConfigDump_StaticCluster.ValidateAll() if the designated // constraints aren't met. type ClustersConfigDump_StaticClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDump_StaticClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDump_StaticClusterMultiError) AllErrors() []error { return m } // ClustersConfigDump_StaticClusterValidationError is the validation error // returned by ClustersConfigDump_StaticCluster.Validate if the designated // constraints aren't met. type ClustersConfigDump_StaticClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDump_StaticClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDump_StaticClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDump_StaticClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDump_StaticClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDump_StaticClusterValidationError) ErrorName() string { return "ClustersConfigDump_StaticClusterValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDump_StaticClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump_StaticCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDump_StaticClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDump_StaticClusterValidationError{} // Validate checks the field values on ClustersConfigDump_DynamicCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ClustersConfigDump_DynamicCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClustersConfigDump_DynamicCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ClustersConfigDump_DynamicClusterMultiError, or nil if none found. func (m *ClustersConfigDump_DynamicCluster) ValidateAll() error { return m.validate(true) } func (m *ClustersConfigDump_DynamicCluster) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_DynamicClusterValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_DynamicClusterValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClustersConfigDump_DynamicClusterValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClustersConfigDump_DynamicClusterValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return ClustersConfigDump_DynamicClusterMultiError(errors) } return nil } // ClustersConfigDump_DynamicClusterMultiError is an error wrapping multiple // validation errors returned by // ClustersConfigDump_DynamicCluster.ValidateAll() if the designated // constraints aren't met. type ClustersConfigDump_DynamicClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClustersConfigDump_DynamicClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClustersConfigDump_DynamicClusterMultiError) AllErrors() []error { return m } // ClustersConfigDump_DynamicClusterValidationError is the validation error // returned by ClustersConfigDump_DynamicCluster.Validate if the designated // constraints aren't met. type ClustersConfigDump_DynamicClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClustersConfigDump_DynamicClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClustersConfigDump_DynamicClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClustersConfigDump_DynamicClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClustersConfigDump_DynamicClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClustersConfigDump_DynamicClusterValidationError) ErrorName() string { return "ClustersConfigDump_DynamicClusterValidationError" } // Error satisfies the builtin error interface func (e ClustersConfigDump_DynamicClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClustersConfigDump_DynamicCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClustersConfigDump_DynamicClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClustersConfigDump_DynamicClusterValidationError{} // Validate checks the field values on RoutesConfigDump_StaticRouteConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RoutesConfigDump_StaticRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump_StaticRouteConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RoutesConfigDump_StaticRouteConfigMultiError, or nil if none found. func (m *RoutesConfigDump_StaticRouteConfig) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump_StaticRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_StaticRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_StaticRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RoutesConfigDump_StaticRouteConfigMultiError(errors) } return nil } // RoutesConfigDump_StaticRouteConfigMultiError is an error wrapping multiple // validation errors returned by // RoutesConfigDump_StaticRouteConfig.ValidateAll() if the designated // constraints aren't met. type RoutesConfigDump_StaticRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDump_StaticRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDump_StaticRouteConfigMultiError) AllErrors() []error { return m } // RoutesConfigDump_StaticRouteConfigValidationError is the validation error // returned by RoutesConfigDump_StaticRouteConfig.Validate if the designated // constraints aren't met. type RoutesConfigDump_StaticRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDump_StaticRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDump_StaticRouteConfigValidationError) ErrorName() string { return "RoutesConfigDump_StaticRouteConfigValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDump_StaticRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump_StaticRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDump_StaticRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDump_StaticRouteConfigValidationError{} // Validate checks the field values on RoutesConfigDump_DynamicRouteConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RoutesConfigDump_DynamicRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoutesConfigDump_DynamicRouteConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RoutesConfigDump_DynamicRouteConfigMultiError, or nil if none found. func (m *RoutesConfigDump_DynamicRouteConfig) ValidateAll() error { return m.validate(true) } func (m *RoutesConfigDump_DynamicRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_DynamicRouteConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_DynamicRouteConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoutesConfigDump_DynamicRouteConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoutesConfigDump_DynamicRouteConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return RoutesConfigDump_DynamicRouteConfigMultiError(errors) } return nil } // RoutesConfigDump_DynamicRouteConfigMultiError is an error wrapping multiple // validation errors returned by // RoutesConfigDump_DynamicRouteConfig.ValidateAll() if the designated // constraints aren't met. type RoutesConfigDump_DynamicRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoutesConfigDump_DynamicRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoutesConfigDump_DynamicRouteConfigMultiError) AllErrors() []error { return m } // RoutesConfigDump_DynamicRouteConfigValidationError is the validation error // returned by RoutesConfigDump_DynamicRouteConfig.Validate if the designated // constraints aren't met. type RoutesConfigDump_DynamicRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoutesConfigDump_DynamicRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoutesConfigDump_DynamicRouteConfigValidationError) ErrorName() string { return "RoutesConfigDump_DynamicRouteConfigValidationError" } // Error satisfies the builtin error interface func (e RoutesConfigDump_DynamicRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoutesConfigDump_DynamicRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoutesConfigDump_DynamicRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoutesConfigDump_DynamicRouteConfigValidationError{} // Validate checks the field values on // ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutesConfigDump_InlineScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError, or nil if none found. func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump_InlineScopedRouteConfigs) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError(errors) } return nil } // ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError is an error // wrapping multiple validation errors returned by // ScopedRoutesConfigDump_InlineScopedRouteConfigs.ValidateAll() if the // designated constraints aren't met. type ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDump_InlineScopedRouteConfigsMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError is the // validation error returned by // ScopedRoutesConfigDump_InlineScopedRouteConfigs.Validate if the designated // constraints aren't met. type ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) ErrorName() string { return "ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump_InlineScopedRouteConfigs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDump_InlineScopedRouteConfigsValidationError{} // Validate checks the field values on // ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutesConfigDump_DynamicScopedRouteConfigs with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError, or nil if none found. func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutesConfigDump_DynamicScopedRouteConfigs) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for VersionInfo for idx, item := range m.GetScopedRouteConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: fmt.Sprintf("ScopedRouteConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError(errors) } return nil } // ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError is an error // wrapping multiple validation errors returned by // ScopedRoutesConfigDump_DynamicScopedRouteConfigs.ValidateAll() if the // designated constraints aren't met. type ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesConfigDump_DynamicScopedRouteConfigsMultiError) AllErrors() []error { return m } // ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError is the // validation error returned by // ScopedRoutesConfigDump_DynamicScopedRouteConfigs.Validate if the designated // constraints aren't met. type ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) ErrorName() string { return "ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutesConfigDump_DynamicScopedRouteConfigs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesConfigDump_DynamicScopedRouteConfigsValidationError{} // Validate checks the field values on EndpointsConfigDump_StaticEndpointConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *EndpointsConfigDump_StaticEndpointConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // EndpointsConfigDump_StaticEndpointConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // EndpointsConfigDump_StaticEndpointConfigMultiError, or nil if none found. func (m *EndpointsConfigDump_StaticEndpointConfig) ValidateAll() error { return m.validate(true) } func (m *EndpointsConfigDump_StaticEndpointConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEndpointConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDump_StaticEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return EndpointsConfigDump_StaticEndpointConfigMultiError(errors) } return nil } // EndpointsConfigDump_StaticEndpointConfigMultiError is an error wrapping // multiple validation errors returned by // EndpointsConfigDump_StaticEndpointConfig.ValidateAll() if the designated // constraints aren't met. type EndpointsConfigDump_StaticEndpointConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointsConfigDump_StaticEndpointConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointsConfigDump_StaticEndpointConfigMultiError) AllErrors() []error { return m } // EndpointsConfigDump_StaticEndpointConfigValidationError is the validation // error returned by EndpointsConfigDump_StaticEndpointConfig.Validate if the // designated constraints aren't met. type EndpointsConfigDump_StaticEndpointConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointsConfigDump_StaticEndpointConfigValidationError) ErrorName() string { return "EndpointsConfigDump_StaticEndpointConfigValidationError" } // Error satisfies the builtin error interface func (e EndpointsConfigDump_StaticEndpointConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointsConfigDump_StaticEndpointConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointsConfigDump_StaticEndpointConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointsConfigDump_StaticEndpointConfigValidationError{} // Validate checks the field values on // EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EndpointsConfigDump_DynamicEndpointConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // EndpointsConfigDump_DynamicEndpointConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // EndpointsConfigDump_DynamicEndpointConfigMultiError, or nil if none found. func (m *EndpointsConfigDump_DynamicEndpointConfig) ValidateAll() error { return m.validate(true) } func (m *EndpointsConfigDump_DynamicEndpointConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetEndpointConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointsConfigDump_DynamicEndpointConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return EndpointsConfigDump_DynamicEndpointConfigMultiError(errors) } return nil } // EndpointsConfigDump_DynamicEndpointConfigMultiError is an error wrapping // multiple validation errors returned by // EndpointsConfigDump_DynamicEndpointConfig.ValidateAll() if the designated // constraints aren't met. type EndpointsConfigDump_DynamicEndpointConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointsConfigDump_DynamicEndpointConfigMultiError) AllErrors() []error { return m } // EndpointsConfigDump_DynamicEndpointConfigValidationError is the validation // error returned by EndpointsConfigDump_DynamicEndpointConfig.Validate if the // designated constraints aren't met. type EndpointsConfigDump_DynamicEndpointConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) ErrorName() string { return "EndpointsConfigDump_DynamicEndpointConfigValidationError" } // Error satisfies the builtin error interface func (e EndpointsConfigDump_DynamicEndpointConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointsConfigDump_DynamicEndpointConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointsConfigDump_DynamicEndpointConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointsConfigDump_DynamicEndpointConfigValidationError{} // Validate checks the field values on EcdsConfigDump_EcdsFilterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EcdsConfigDump_EcdsFilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EcdsConfigDump_EcdsFilterConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // EcdsConfigDump_EcdsFilterConfigMultiError, or nil if none found. func (m *EcdsConfigDump_EcdsFilterConfig) ValidateAll() error { return m.validate(true) } func (m *EcdsConfigDump_EcdsFilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetEcdsFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "EcdsFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "EcdsFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEcdsFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EcdsConfigDump_EcdsFilterConfigValidationError{ field: "EcdsFilter", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EcdsConfigDump_EcdsFilterConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EcdsConfigDump_EcdsFilterConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EcdsConfigDump_EcdsFilterConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClientStatus if len(errors) > 0 { return EcdsConfigDump_EcdsFilterConfigMultiError(errors) } return nil } // EcdsConfigDump_EcdsFilterConfigMultiError is an error wrapping multiple // validation errors returned by EcdsConfigDump_EcdsFilterConfig.ValidateAll() // if the designated constraints aren't met. type EcdsConfigDump_EcdsFilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EcdsConfigDump_EcdsFilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EcdsConfigDump_EcdsFilterConfigMultiError) AllErrors() []error { return m } // EcdsConfigDump_EcdsFilterConfigValidationError is the validation error // returned by EcdsConfigDump_EcdsFilterConfig.Validate if the designated // constraints aren't met. type EcdsConfigDump_EcdsFilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EcdsConfigDump_EcdsFilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EcdsConfigDump_EcdsFilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EcdsConfigDump_EcdsFilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EcdsConfigDump_EcdsFilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EcdsConfigDump_EcdsFilterConfigValidationError) ErrorName() string { return "EcdsConfigDump_EcdsFilterConfigValidationError" } // Error satisfies the builtin error interface func (e EcdsConfigDump_EcdsFilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEcdsConfigDump_EcdsFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EcdsConfigDump_EcdsFilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EcdsConfigDump_EcdsFilterConfigValidationError{} go-control-plane-0.12.0/envoy/admin/v3/init_dump.pb.go000077500000000000000000000231721454502223200224600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/init_dump.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Dumps of unready targets of envoy init managers. Envoy's admin fills this message with init managers, // which provides the information of their unready targets. // The :ref:`/init_dump ` will dump all unready targets information. type UnreadyTargetsDumps struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // You can choose specific component to dump unready targets with mask query parameter. // See :ref:`/init_dump?mask={} ` for more information. // The dumps of unready targets of all init managers. UnreadyTargetsDumps []*UnreadyTargetsDumps_UnreadyTargetsDump `protobuf:"bytes,1,rep,name=unready_targets_dumps,json=unreadyTargetsDumps,proto3" json:"unready_targets_dumps,omitempty"` } func (x *UnreadyTargetsDumps) Reset() { *x = UnreadyTargetsDumps{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_init_dump_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnreadyTargetsDumps) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnreadyTargetsDumps) ProtoMessage() {} func (x *UnreadyTargetsDumps) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_init_dump_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UnreadyTargetsDumps.ProtoReflect.Descriptor instead. func (*UnreadyTargetsDumps) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_init_dump_proto_rawDescGZIP(), []int{0} } func (x *UnreadyTargetsDumps) GetUnreadyTargetsDumps() []*UnreadyTargetsDumps_UnreadyTargetsDump { if x != nil { return x.UnreadyTargetsDumps } return nil } // Message of unready targets information of an init manager. type UnreadyTargetsDumps_UnreadyTargetsDump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the init manager. Example: "init_manager_xxx". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Names of unready targets of the init manager. Example: "target_xxx". TargetNames []string `protobuf:"bytes,2,rep,name=target_names,json=targetNames,proto3" json:"target_names,omitempty"` } func (x *UnreadyTargetsDumps_UnreadyTargetsDump) Reset() { *x = UnreadyTargetsDumps_UnreadyTargetsDump{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_init_dump_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnreadyTargetsDumps_UnreadyTargetsDump) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnreadyTargetsDumps_UnreadyTargetsDump) ProtoMessage() {} func (x *UnreadyTargetsDumps_UnreadyTargetsDump) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_init_dump_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UnreadyTargetsDumps_UnreadyTargetsDump.ProtoReflect.Descriptor instead. func (*UnreadyTargetsDumps_UnreadyTargetsDump) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_init_dump_proto_rawDescGZIP(), []int{0, 0} } func (x *UnreadyTargetsDumps_UnreadyTargetsDump) GetName() string { if x != nil { return x.Name } return "" } func (x *UnreadyTargetsDumps_UnreadyTargetsDump) GetTargetNames() []string { if x != nil { return x.TargetNames } return nil } var File_envoy_admin_v3_init_dump_proto protoreflect.FileDescriptor var file_envoy_admin_v3_init_dump_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x73, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x13, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x73, 0x1a, 0x4b, 0x0a, 0x12, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x49, 0x6e, 0x69, 0x74, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_init_dump_proto_rawDescOnce sync.Once file_envoy_admin_v3_init_dump_proto_rawDescData = file_envoy_admin_v3_init_dump_proto_rawDesc ) func file_envoy_admin_v3_init_dump_proto_rawDescGZIP() []byte { file_envoy_admin_v3_init_dump_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_init_dump_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_init_dump_proto_rawDescData) }) return file_envoy_admin_v3_init_dump_proto_rawDescData } var file_envoy_admin_v3_init_dump_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_admin_v3_init_dump_proto_goTypes = []interface{}{ (*UnreadyTargetsDumps)(nil), // 0: envoy.admin.v3.UnreadyTargetsDumps (*UnreadyTargetsDumps_UnreadyTargetsDump)(nil), // 1: envoy.admin.v3.UnreadyTargetsDumps.UnreadyTargetsDump } var file_envoy_admin_v3_init_dump_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v3.UnreadyTargetsDumps.unready_targets_dumps:type_name -> envoy.admin.v3.UnreadyTargetsDumps.UnreadyTargetsDump 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_admin_v3_init_dump_proto_init() } func file_envoy_admin_v3_init_dump_proto_init() { if File_envoy_admin_v3_init_dump_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_init_dump_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnreadyTargetsDumps); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_init_dump_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnreadyTargetsDumps_UnreadyTargetsDump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_init_dump_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_init_dump_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_init_dump_proto_depIdxs, MessageInfos: file_envoy_admin_v3_init_dump_proto_msgTypes, }.Build() File_envoy_admin_v3_init_dump_proto = out.File file_envoy_admin_v3_init_dump_proto_rawDesc = nil file_envoy_admin_v3_init_dump_proto_goTypes = nil file_envoy_admin_v3_init_dump_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/init_dump.pb.validate.go000077500000000000000000000172371454502223200242550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/init_dump.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UnreadyTargetsDumps with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UnreadyTargetsDumps) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UnreadyTargetsDumps with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UnreadyTargetsDumpsMultiError, or nil if none found. func (m *UnreadyTargetsDumps) ValidateAll() error { return m.validate(true) } func (m *UnreadyTargetsDumps) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetUnreadyTargetsDumps() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UnreadyTargetsDumpsValidationError{ field: fmt.Sprintf("UnreadyTargetsDumps[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UnreadyTargetsDumpsValidationError{ field: fmt.Sprintf("UnreadyTargetsDumps[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UnreadyTargetsDumpsValidationError{ field: fmt.Sprintf("UnreadyTargetsDumps[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return UnreadyTargetsDumpsMultiError(errors) } return nil } // UnreadyTargetsDumpsMultiError is an error wrapping multiple validation // errors returned by UnreadyTargetsDumps.ValidateAll() if the designated // constraints aren't met. type UnreadyTargetsDumpsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UnreadyTargetsDumpsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UnreadyTargetsDumpsMultiError) AllErrors() []error { return m } // UnreadyTargetsDumpsValidationError is the validation error returned by // UnreadyTargetsDumps.Validate if the designated constraints aren't met. type UnreadyTargetsDumpsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UnreadyTargetsDumpsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UnreadyTargetsDumpsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UnreadyTargetsDumpsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UnreadyTargetsDumpsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UnreadyTargetsDumpsValidationError) ErrorName() string { return "UnreadyTargetsDumpsValidationError" } // Error satisfies the builtin error interface func (e UnreadyTargetsDumpsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUnreadyTargetsDumps.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UnreadyTargetsDumpsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UnreadyTargetsDumpsValidationError{} // Validate checks the field values on UnreadyTargetsDumps_UnreadyTargetsDump // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *UnreadyTargetsDumps_UnreadyTargetsDump) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // UnreadyTargetsDumps_UnreadyTargetsDump with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // UnreadyTargetsDumps_UnreadyTargetsDumpMultiError, or nil if none found. func (m *UnreadyTargetsDumps_UnreadyTargetsDump) ValidateAll() error { return m.validate(true) } func (m *UnreadyTargetsDumps_UnreadyTargetsDump) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if len(errors) > 0 { return UnreadyTargetsDumps_UnreadyTargetsDumpMultiError(errors) } return nil } // UnreadyTargetsDumps_UnreadyTargetsDumpMultiError is an error wrapping // multiple validation errors returned by // UnreadyTargetsDumps_UnreadyTargetsDump.ValidateAll() if the designated // constraints aren't met. type UnreadyTargetsDumps_UnreadyTargetsDumpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UnreadyTargetsDumps_UnreadyTargetsDumpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UnreadyTargetsDumps_UnreadyTargetsDumpMultiError) AllErrors() []error { return m } // UnreadyTargetsDumps_UnreadyTargetsDumpValidationError is the validation // error returned by UnreadyTargetsDumps_UnreadyTargetsDump.Validate if the // designated constraints aren't met. type UnreadyTargetsDumps_UnreadyTargetsDumpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) ErrorName() string { return "UnreadyTargetsDumps_UnreadyTargetsDumpValidationError" } // Error satisfies the builtin error interface func (e UnreadyTargetsDumps_UnreadyTargetsDumpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUnreadyTargetsDumps_UnreadyTargetsDump.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UnreadyTargetsDumps_UnreadyTargetsDumpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UnreadyTargetsDumps_UnreadyTargetsDumpValidationError{} go-control-plane-0.12.0/envoy/admin/v3/listeners.pb.go000077500000000000000000000261001454502223200224720ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/listeners.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Admin endpoint uses this wrapper for “/listeners“ to display listener status information. // See :ref:`/listeners ` for more information. type Listeners struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of listener statuses. ListenerStatuses []*ListenerStatus `protobuf:"bytes,1,rep,name=listener_statuses,json=listenerStatuses,proto3" json:"listener_statuses,omitempty"` } func (x *Listeners) Reset() { *x = Listeners{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_listeners_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listeners) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listeners) ProtoMessage() {} func (x *Listeners) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_listeners_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listeners.ProtoReflect.Descriptor instead. func (*Listeners) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_listeners_proto_rawDescGZIP(), []int{0} } func (x *Listeners) GetListenerStatuses() []*ListenerStatus { if x != nil { return x.ListenerStatuses } return nil } // Details an individual listener's current status. type ListenerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the listener Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The actual local address that the listener is listening on. If a listener was configured // to listen on port 0, then this address has the port that was allocated by the OS. LocalAddress *v3.Address `protobuf:"bytes,2,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` // The additional addresses the listener is listening on as specified via the :ref:`additional_addresses ` // configuration. AdditionalLocalAddresses []*v3.Address `protobuf:"bytes,3,rep,name=additional_local_addresses,json=additionalLocalAddresses,proto3" json:"additional_local_addresses,omitempty"` } func (x *ListenerStatus) Reset() { *x = ListenerStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_listeners_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerStatus) ProtoMessage() {} func (x *ListenerStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_listeners_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerStatus.ProtoReflect.Descriptor instead. func (*ListenerStatus) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_listeners_proto_rawDescGZIP(), []int{1} } func (x *ListenerStatus) GetName() string { if x != nil { return x.Name } return "" } func (x *ListenerStatus) GetLocalAddress() *v3.Address { if x != nil { return x.LocalAddress } return nil } func (x *ListenerStatus) GetAdditionalLocalAddresses() []*v3.Address { if x != nil { return x.AdditionalLocalAddresses } return nil } var File_envoy_admin_v3_listeners_proto protoreflect.FileDescriptor var file_envoy_admin_v3_listeners_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x77, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_listeners_proto_rawDescOnce sync.Once file_envoy_admin_v3_listeners_proto_rawDescData = file_envoy_admin_v3_listeners_proto_rawDesc ) func file_envoy_admin_v3_listeners_proto_rawDescGZIP() []byte { file_envoy_admin_v3_listeners_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_listeners_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_listeners_proto_rawDescData) }) return file_envoy_admin_v3_listeners_proto_rawDescData } var file_envoy_admin_v3_listeners_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_admin_v3_listeners_proto_goTypes = []interface{}{ (*Listeners)(nil), // 0: envoy.admin.v3.Listeners (*ListenerStatus)(nil), // 1: envoy.admin.v3.ListenerStatus (*v3.Address)(nil), // 2: envoy.config.core.v3.Address } var file_envoy_admin_v3_listeners_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v3.Listeners.listener_statuses:type_name -> envoy.admin.v3.ListenerStatus 2, // 1: envoy.admin.v3.ListenerStatus.local_address:type_name -> envoy.config.core.v3.Address 2, // 2: envoy.admin.v3.ListenerStatus.additional_local_addresses:type_name -> envoy.config.core.v3.Address 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_admin_v3_listeners_proto_init() } func file_envoy_admin_v3_listeners_proto_init() { if File_envoy_admin_v3_listeners_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_listeners_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listeners); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_listeners_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_listeners_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_listeners_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_listeners_proto_depIdxs, MessageInfos: file_envoy_admin_v3_listeners_proto_msgTypes, }.Build() File_envoy_admin_v3_listeners_proto = out.File file_envoy_admin_v3_listeners_proto_rawDesc = nil file_envoy_admin_v3_listeners_proto_goTypes = nil file_envoy_admin_v3_listeners_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/listeners.pb.validate.go000077500000000000000000000211521454502223200242640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/listeners.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Listeners with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listeners) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listeners with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenersMultiError, or nil // if none found. func (m *Listeners) ValidateAll() error { return m.validate(true) } func (m *Listeners) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetListenerStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenersValidationError{ field: fmt.Sprintf("ListenerStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenersMultiError(errors) } return nil } // ListenersMultiError is an error wrapping multiple validation errors returned // by Listeners.ValidateAll() if the designated constraints aren't met. type ListenersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenersMultiError) AllErrors() []error { return m } // ListenersValidationError is the validation error returned by // Listeners.Validate if the designated constraints aren't met. type ListenersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenersValidationError) ErrorName() string { return "ListenersValidationError" } // Error satisfies the builtin error interface func (e ListenersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListeners.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenersValidationError{} // Validate checks the field values on ListenerStatus with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerStatus with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerStatusMultiError, // or nil if none found. func (m *ListenerStatus) ValidateAll() error { return m.validate(true) } func (m *ListenerStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerStatusValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAdditionalLocalAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: fmt.Sprintf("AdditionalLocalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerStatusValidationError{ field: fmt.Sprintf("AdditionalLocalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerStatusValidationError{ field: fmt.Sprintf("AdditionalLocalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenerStatusMultiError(errors) } return nil } // ListenerStatusMultiError is an error wrapping multiple validation errors // returned by ListenerStatus.ValidateAll() if the designated constraints // aren't met. type ListenerStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerStatusMultiError) AllErrors() []error { return m } // ListenerStatusValidationError is the validation error returned by // ListenerStatus.Validate if the designated constraints aren't met. type ListenerStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerStatusValidationError) ErrorName() string { return "ListenerStatusValidationError" } // Error satisfies the builtin error interface func (e ListenerStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerStatusValidationError{} go-control-plane-0.12.0/envoy/admin/v3/memory.pb.go000077500000000000000000000230001454502223200217660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/memory.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of the internal memory consumption of an Envoy instance. These represent // values extracted from an internal TCMalloc instance. For more information, see the section of the // docs entitled ["Generic Tcmalloc Status"](https://gperftools.github.io/gperftools/tcmalloc.html). // [#next-free-field: 7] type Memory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of bytes allocated by the heap for Envoy. This is an alias for // “generic.current_allocated_bytes“. Allocated uint64 `protobuf:"varint,1,opt,name=allocated,proto3" json:"allocated,omitempty"` // The number of bytes reserved by the heap but not necessarily allocated. This is an alias for // “generic.heap_size“. HeapSize uint64 `protobuf:"varint,2,opt,name=heap_size,json=heapSize,proto3" json:"heap_size,omitempty"` // The number of bytes in free, unmapped pages in the page heap. These bytes always count towards // virtual memory usage, and depending on the OS, typically do not count towards physical memory // usage. This is an alias for “tcmalloc.pageheap_unmapped_bytes“. PageheapUnmapped uint64 `protobuf:"varint,3,opt,name=pageheap_unmapped,json=pageheapUnmapped,proto3" json:"pageheap_unmapped,omitempty"` // The number of bytes in free, mapped pages in the page heap. These bytes always count towards // virtual memory usage, and unless the underlying memory is swapped out by the OS, they also // count towards physical memory usage. This is an alias for “tcmalloc.pageheap_free_bytes“. PageheapFree uint64 `protobuf:"varint,4,opt,name=pageheap_free,json=pageheapFree,proto3" json:"pageheap_free,omitempty"` // The amount of memory used by the TCMalloc thread caches (for small objects). This is an alias // for “tcmalloc.current_total_thread_cache_bytes“. TotalThreadCache uint64 `protobuf:"varint,5,opt,name=total_thread_cache,json=totalThreadCache,proto3" json:"total_thread_cache,omitempty"` // The number of bytes of the physical memory usage by the allocator. This is an alias for // “generic.total_physical_bytes“. TotalPhysicalBytes uint64 `protobuf:"varint,6,opt,name=total_physical_bytes,json=totalPhysicalBytes,proto3" json:"total_physical_bytes,omitempty"` } func (x *Memory) Reset() { *x = Memory{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_memory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Memory) String() string { return protoimpl.X.MessageStringOf(x) } func (*Memory) ProtoMessage() {} func (x *Memory) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_memory_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Memory.ProtoReflect.Descriptor instead. func (*Memory) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_memory_proto_rawDescGZIP(), []int{0} } func (x *Memory) GetAllocated() uint64 { if x != nil { return x.Allocated } return 0 } func (x *Memory) GetHeapSize() uint64 { if x != nil { return x.HeapSize } return 0 } func (x *Memory) GetPageheapUnmapped() uint64 { if x != nil { return x.PageheapUnmapped } return 0 } func (x *Memory) GetPageheapFree() uint64 { if x != nil { return x.PageheapFree } return 0 } func (x *Memory) GetTotalThreadCache() uint64 { if x != nil { return x.TotalThreadCache } return 0 } func (x *Memory) GetTotalPhysicalBytes() uint64 { if x != nil { return x.TotalPhysicalBytes } return 0 } var File_envoy_admin_v3_memory_proto protoreflect.FileDescriptor var file_envoy_admin_v3_memory_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x67, 0x65, 0x68, 0x65, 0x61, 0x70, 0x46, 0x72, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x21, 0x9a, 0xc5, 0x88, 0x1e, 0x1c, 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x74, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_memory_proto_rawDescOnce sync.Once file_envoy_admin_v3_memory_proto_rawDescData = file_envoy_admin_v3_memory_proto_rawDesc ) func file_envoy_admin_v3_memory_proto_rawDescGZIP() []byte { file_envoy_admin_v3_memory_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_memory_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_memory_proto_rawDescData) }) return file_envoy_admin_v3_memory_proto_rawDescData } var file_envoy_admin_v3_memory_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v3_memory_proto_goTypes = []interface{}{ (*Memory)(nil), // 0: envoy.admin.v3.Memory } var file_envoy_admin_v3_memory_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_admin_v3_memory_proto_init() } func file_envoy_admin_v3_memory_proto_init() { if File_envoy_admin_v3_memory_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_memory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Memory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_memory_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_memory_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_memory_proto_depIdxs, MessageInfos: file_envoy_admin_v3_memory_proto_msgTypes, }.Build() File_envoy_admin_v3_memory_proto = out.File file_envoy_admin_v3_memory_proto_rawDesc = nil file_envoy_admin_v3_memory_proto_goTypes = nil file_envoy_admin_v3_memory_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/memory.pb.validate.go000077500000000000000000000064321454502223200235700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/memory.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Memory with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Memory) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Memory with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in MemoryMultiError, or nil if none found. func (m *Memory) ValidateAll() error { return m.validate(true) } func (m *Memory) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Allocated // no validation rules for HeapSize // no validation rules for PageheapUnmapped // no validation rules for PageheapFree // no validation rules for TotalThreadCache // no validation rules for TotalPhysicalBytes if len(errors) > 0 { return MemoryMultiError(errors) } return nil } // MemoryMultiError is an error wrapping multiple validation errors returned by // Memory.ValidateAll() if the designated constraints aren't met. type MemoryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MemoryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MemoryMultiError) AllErrors() []error { return m } // MemoryValidationError is the validation error returned by Memory.Validate if // the designated constraints aren't met. type MemoryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MemoryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MemoryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MemoryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MemoryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MemoryValidationError) ErrorName() string { return "MemoryValidationError" } // Error satisfies the builtin error interface func (e MemoryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMemory.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MemoryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MemoryValidationError{} go-control-plane-0.12.0/envoy/admin/v3/metrics.pb.go000077500000000000000000000206571454502223200221430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/metrics.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SimpleMetric_Type int32 const ( SimpleMetric_COUNTER SimpleMetric_Type = 0 SimpleMetric_GAUGE SimpleMetric_Type = 1 ) // Enum value maps for SimpleMetric_Type. var ( SimpleMetric_Type_name = map[int32]string{ 0: "COUNTER", 1: "GAUGE", } SimpleMetric_Type_value = map[string]int32{ "COUNTER": 0, "GAUGE": 1, } ) func (x SimpleMetric_Type) Enum() *SimpleMetric_Type { p := new(SimpleMetric_Type) *p = x return p } func (x SimpleMetric_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SimpleMetric_Type) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_metrics_proto_enumTypes[0].Descriptor() } func (SimpleMetric_Type) Type() protoreflect.EnumType { return &file_envoy_admin_v3_metrics_proto_enumTypes[0] } func (x SimpleMetric_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SimpleMetric_Type.Descriptor instead. func (SimpleMetric_Type) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_metrics_proto_rawDescGZIP(), []int{0, 0} } // Proto representation of an Envoy Counter or Gauge value. type SimpleMetric struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Type of the metric represented. Type SimpleMetric_Type `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.admin.v3.SimpleMetric_Type" json:"type,omitempty"` // Current metric value. Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` // Name of the metric. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } func (x *SimpleMetric) Reset() { *x = SimpleMetric{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_metrics_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SimpleMetric) String() string { return protoimpl.X.MessageStringOf(x) } func (*SimpleMetric) ProtoMessage() {} func (x *SimpleMetric) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_metrics_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SimpleMetric.ProtoReflect.Descriptor instead. func (*SimpleMetric) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_metrics_proto_rawDescGZIP(), []int{0} } func (x *SimpleMetric) GetType() SimpleMetric_Type { if x != nil { return x.Type } return SimpleMetric_COUNTER } func (x *SimpleMetric) GetValue() uint64 { if x != nil { return x.Value } return 0 } func (x *SimpleMetric) GetName() string { if x != nil { return x.Name } return "" } var File_envoy_admin_v3_metrics_proto protoreflect.FileDescriptor var file_envoy_admin_v3_metrics_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x01, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x75, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_metrics_proto_rawDescOnce sync.Once file_envoy_admin_v3_metrics_proto_rawDescData = file_envoy_admin_v3_metrics_proto_rawDesc ) func file_envoy_admin_v3_metrics_proto_rawDescGZIP() []byte { file_envoy_admin_v3_metrics_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_metrics_proto_rawDescData) }) return file_envoy_admin_v3_metrics_proto_rawDescData } var file_envoy_admin_v3_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_admin_v3_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v3_metrics_proto_goTypes = []interface{}{ (SimpleMetric_Type)(0), // 0: envoy.admin.v3.SimpleMetric.Type (*SimpleMetric)(nil), // 1: envoy.admin.v3.SimpleMetric } var file_envoy_admin_v3_metrics_proto_depIdxs = []int32{ 0, // 0: envoy.admin.v3.SimpleMetric.type:type_name -> envoy.admin.v3.SimpleMetric.Type 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_admin_v3_metrics_proto_init() } func file_envoy_admin_v3_metrics_proto_init() { if File_envoy_admin_v3_metrics_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimpleMetric); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_metrics_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_metrics_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_metrics_proto_depIdxs, EnumInfos: file_envoy_admin_v3_metrics_proto_enumTypes, MessageInfos: file_envoy_admin_v3_metrics_proto_msgTypes, }.Build() File_envoy_admin_v3_metrics_proto = out.File file_envoy_admin_v3_metrics_proto_rawDesc = nil file_envoy_admin_v3_metrics_proto_goTypes = nil file_envoy_admin_v3_metrics_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/metrics.pb.validate.go000077500000000000000000000064301454502223200237240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/metrics.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SimpleMetric with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SimpleMetric) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SimpleMetric with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SimpleMetricMultiError, or // nil if none found. func (m *SimpleMetric) ValidateAll() error { return m.validate(true) } func (m *SimpleMetric) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type // no validation rules for Value // no validation rules for Name if len(errors) > 0 { return SimpleMetricMultiError(errors) } return nil } // SimpleMetricMultiError is an error wrapping multiple validation errors // returned by SimpleMetric.ValidateAll() if the designated constraints aren't met. type SimpleMetricMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SimpleMetricMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SimpleMetricMultiError) AllErrors() []error { return m } // SimpleMetricValidationError is the validation error returned by // SimpleMetric.Validate if the designated constraints aren't met. type SimpleMetricValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SimpleMetricValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SimpleMetricValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SimpleMetricValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SimpleMetricValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SimpleMetricValidationError) ErrorName() string { return "SimpleMetricValidationError" } // Error satisfies the builtin error interface func (e SimpleMetricValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSimpleMetric.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SimpleMetricValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SimpleMetricValidationError{} go-control-plane-0.12.0/envoy/admin/v3/mutex_stats.pb.go000077500000000000000000000177041454502223200230540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/mutex_stats.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Proto representation of the statistics collected upon absl::Mutex contention, if Envoy is run // under :option:`--enable-mutex-tracing`. For more information, see the “absl::Mutex“ // [docs](https://abseil.io/about/design/mutex#extra-features). // // *NB*: The wait cycles below are measured by “absl::base_internal::CycleClock“, and may not // correspond to core clock frequency. For more information, see the “CycleClock“ // [docs](https://github.com/abseil/abseil-cpp/blob/master/absl/base/internal/cycleclock.h). type MutexStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of individual mutex contentions which have occurred since startup. NumContentions uint64 `protobuf:"varint,1,opt,name=num_contentions,json=numContentions,proto3" json:"num_contentions,omitempty"` // The length of the current contention wait cycle. CurrentWaitCycles uint64 `protobuf:"varint,2,opt,name=current_wait_cycles,json=currentWaitCycles,proto3" json:"current_wait_cycles,omitempty"` // The lifetime total of all contention wait cycles. LifetimeWaitCycles uint64 `protobuf:"varint,3,opt,name=lifetime_wait_cycles,json=lifetimeWaitCycles,proto3" json:"lifetime_wait_cycles,omitempty"` } func (x *MutexStats) Reset() { *x = MutexStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_mutex_stats_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MutexStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*MutexStats) ProtoMessage() {} func (x *MutexStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_mutex_stats_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MutexStats.ProtoReflect.Descriptor instead. func (*MutexStats) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_mutex_stats_proto_rawDescGZIP(), []int{0} } func (x *MutexStats) GetNumContentions() uint64 { if x != nil { return x.NumContentions } return 0 } func (x *MutexStats) GetCurrentWaitCycles() uint64 { if x != nil { return x.CurrentWaitCycles } return 0 } func (x *MutexStats) GetLifetimeWaitCycles() uint64 { if x != nil { return x.LifetimeWaitCycles } return 0 } var File_envoy_admin_v3_mutex_stats_proto protoreflect.FileDescriptor var file_envoy_admin_v3_mutex_stats_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x0a, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x69, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x61, 0x69, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_mutex_stats_proto_rawDescOnce sync.Once file_envoy_admin_v3_mutex_stats_proto_rawDescData = file_envoy_admin_v3_mutex_stats_proto_rawDesc ) func file_envoy_admin_v3_mutex_stats_proto_rawDescGZIP() []byte { file_envoy_admin_v3_mutex_stats_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_mutex_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_mutex_stats_proto_rawDescData) }) return file_envoy_admin_v3_mutex_stats_proto_rawDescData } var file_envoy_admin_v3_mutex_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v3_mutex_stats_proto_goTypes = []interface{}{ (*MutexStats)(nil), // 0: envoy.admin.v3.MutexStats } var file_envoy_admin_v3_mutex_stats_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_admin_v3_mutex_stats_proto_init() } func file_envoy_admin_v3_mutex_stats_proto_init() { if File_envoy_admin_v3_mutex_stats_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_mutex_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MutexStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_mutex_stats_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_mutex_stats_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_mutex_stats_proto_depIdxs, MessageInfos: file_envoy_admin_v3_mutex_stats_proto_msgTypes, }.Build() File_envoy_admin_v3_mutex_stats_proto = out.File file_envoy_admin_v3_mutex_stats_proto_rawDesc = nil file_envoy_admin_v3_mutex_stats_proto_goTypes = nil file_envoy_admin_v3_mutex_stats_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/mutex_stats.pb.validate.go000077500000000000000000000064161454502223200246420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/mutex_stats.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MutexStats with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MutexStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MutexStats with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MutexStatsMultiError, or // nil if none found. func (m *MutexStats) ValidateAll() error { return m.validate(true) } func (m *MutexStats) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for NumContentions // no validation rules for CurrentWaitCycles // no validation rules for LifetimeWaitCycles if len(errors) > 0 { return MutexStatsMultiError(errors) } return nil } // MutexStatsMultiError is an error wrapping multiple validation errors // returned by MutexStats.ValidateAll() if the designated constraints aren't met. type MutexStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MutexStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MutexStatsMultiError) AllErrors() []error { return m } // MutexStatsValidationError is the validation error returned by // MutexStats.Validate if the designated constraints aren't met. type MutexStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MutexStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MutexStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MutexStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MutexStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MutexStatsValidationError) ErrorName() string { return "MutexStatsValidationError" } // Error satisfies the builtin error interface func (e MutexStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMutexStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MutexStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MutexStatsValidationError{} go-control-plane-0.12.0/envoy/admin/v3/server_info.pb.go000077500000000000000000001226101454502223200230060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/server_info.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ServerInfo_State int32 const ( // Server is live and serving traffic. ServerInfo_LIVE ServerInfo_State = 0 // Server is draining listeners in response to external health checks failing. ServerInfo_DRAINING ServerInfo_State = 1 // Server has not yet completed cluster manager initialization. ServerInfo_PRE_INITIALIZING ServerInfo_State = 2 // Server is running the cluster manager initialization callbacks (e.g., RDS). ServerInfo_INITIALIZING ServerInfo_State = 3 ) // Enum value maps for ServerInfo_State. var ( ServerInfo_State_name = map[int32]string{ 0: "LIVE", 1: "DRAINING", 2: "PRE_INITIALIZING", 3: "INITIALIZING", } ServerInfo_State_value = map[string]int32{ "LIVE": 0, "DRAINING": 1, "PRE_INITIALIZING": 2, "INITIALIZING": 3, } ) func (x ServerInfo_State) Enum() *ServerInfo_State { p := new(ServerInfo_State) *p = x return p } func (x ServerInfo_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ServerInfo_State) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_server_info_proto_enumTypes[0].Descriptor() } func (ServerInfo_State) Type() protoreflect.EnumType { return &file_envoy_admin_v3_server_info_proto_enumTypes[0] } func (x ServerInfo_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ServerInfo_State.Descriptor instead. func (ServerInfo_State) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{0, 0} } type CommandLineOptions_IpVersion int32 const ( CommandLineOptions_v4 CommandLineOptions_IpVersion = 0 CommandLineOptions_v6 CommandLineOptions_IpVersion = 1 ) // Enum value maps for CommandLineOptions_IpVersion. var ( CommandLineOptions_IpVersion_name = map[int32]string{ 0: "v4", 1: "v6", } CommandLineOptions_IpVersion_value = map[string]int32{ "v4": 0, "v6": 1, } ) func (x CommandLineOptions_IpVersion) Enum() *CommandLineOptions_IpVersion { p := new(CommandLineOptions_IpVersion) *p = x return p } func (x CommandLineOptions_IpVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommandLineOptions_IpVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_server_info_proto_enumTypes[1].Descriptor() } func (CommandLineOptions_IpVersion) Type() protoreflect.EnumType { return &file_envoy_admin_v3_server_info_proto_enumTypes[1] } func (x CommandLineOptions_IpVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommandLineOptions_IpVersion.Descriptor instead. func (CommandLineOptions_IpVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{1, 0} } type CommandLineOptions_Mode int32 const ( // Validate configs and then serve traffic normally. CommandLineOptions_Serve CommandLineOptions_Mode = 0 // Validate configs and exit. CommandLineOptions_Validate CommandLineOptions_Mode = 1 // Completely load and initialize the config, and then exit without running the listener loop. CommandLineOptions_InitOnly CommandLineOptions_Mode = 2 ) // Enum value maps for CommandLineOptions_Mode. var ( CommandLineOptions_Mode_name = map[int32]string{ 0: "Serve", 1: "Validate", 2: "InitOnly", } CommandLineOptions_Mode_value = map[string]int32{ "Serve": 0, "Validate": 1, "InitOnly": 2, } ) func (x CommandLineOptions_Mode) Enum() *CommandLineOptions_Mode { p := new(CommandLineOptions_Mode) *p = x return p } func (x CommandLineOptions_Mode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommandLineOptions_Mode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_server_info_proto_enumTypes[2].Descriptor() } func (CommandLineOptions_Mode) Type() protoreflect.EnumType { return &file_envoy_admin_v3_server_info_proto_enumTypes[2] } func (x CommandLineOptions_Mode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommandLineOptions_Mode.Descriptor instead. func (CommandLineOptions_Mode) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{1, 1} } type CommandLineOptions_DrainStrategy int32 const ( // Gradually discourage connections over the course of the drain period. CommandLineOptions_Gradual CommandLineOptions_DrainStrategy = 0 // Discourage all connections for the duration of the drain sequence. CommandLineOptions_Immediate CommandLineOptions_DrainStrategy = 1 ) // Enum value maps for CommandLineOptions_DrainStrategy. var ( CommandLineOptions_DrainStrategy_name = map[int32]string{ 0: "Gradual", 1: "Immediate", } CommandLineOptions_DrainStrategy_value = map[string]int32{ "Gradual": 0, "Immediate": 1, } ) func (x CommandLineOptions_DrainStrategy) Enum() *CommandLineOptions_DrainStrategy { p := new(CommandLineOptions_DrainStrategy) *p = x return p } func (x CommandLineOptions_DrainStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommandLineOptions_DrainStrategy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_admin_v3_server_info_proto_enumTypes[3].Descriptor() } func (CommandLineOptions_DrainStrategy) Type() protoreflect.EnumType { return &file_envoy_admin_v3_server_info_proto_enumTypes[3] } func (x CommandLineOptions_DrainStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommandLineOptions_DrainStrategy.Descriptor instead. func (CommandLineOptions_DrainStrategy) EnumDescriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{1, 2} } // Proto representation of the value returned by /server_info, containing // server version/server status information. // [#next-free-field: 8] type ServerInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Server version. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // State of the server. State ServerInfo_State `protobuf:"varint,2,opt,name=state,proto3,enum=envoy.admin.v3.ServerInfo_State" json:"state,omitempty"` // Uptime since current epoch was started. UptimeCurrentEpoch *duration.Duration `protobuf:"bytes,3,opt,name=uptime_current_epoch,json=uptimeCurrentEpoch,proto3" json:"uptime_current_epoch,omitempty"` // Uptime since the start of the first epoch. UptimeAllEpochs *duration.Duration `protobuf:"bytes,4,opt,name=uptime_all_epochs,json=uptimeAllEpochs,proto3" json:"uptime_all_epochs,omitempty"` // Hot restart version. HotRestartVersion string `protobuf:"bytes,5,opt,name=hot_restart_version,json=hotRestartVersion,proto3" json:"hot_restart_version,omitempty"` // Command line options the server is currently running with. CommandLineOptions *CommandLineOptions `protobuf:"bytes,6,opt,name=command_line_options,json=commandLineOptions,proto3" json:"command_line_options,omitempty"` // Populated node identity of this server. Node *v3.Node `protobuf:"bytes,7,opt,name=node,proto3" json:"node,omitempty"` } func (x *ServerInfo) Reset() { *x = ServerInfo{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_server_info_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerInfo) ProtoMessage() {} func (x *ServerInfo) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_server_info_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead. func (*ServerInfo) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{0} } func (x *ServerInfo) GetVersion() string { if x != nil { return x.Version } return "" } func (x *ServerInfo) GetState() ServerInfo_State { if x != nil { return x.State } return ServerInfo_LIVE } func (x *ServerInfo) GetUptimeCurrentEpoch() *duration.Duration { if x != nil { return x.UptimeCurrentEpoch } return nil } func (x *ServerInfo) GetUptimeAllEpochs() *duration.Duration { if x != nil { return x.UptimeAllEpochs } return nil } func (x *ServerInfo) GetHotRestartVersion() string { if x != nil { return x.HotRestartVersion } return "" } func (x *ServerInfo) GetCommandLineOptions() *CommandLineOptions { if x != nil { return x.CommandLineOptions } return nil } func (x *ServerInfo) GetNode() *v3.Node { if x != nil { return x.Node } return nil } // [#next-free-field: 39] type CommandLineOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // See :option:`--base-id` for details. BaseId uint64 `protobuf:"varint,1,opt,name=base_id,json=baseId,proto3" json:"base_id,omitempty"` // See :option:`--use-dynamic-base-id` for details. UseDynamicBaseId bool `protobuf:"varint,31,opt,name=use_dynamic_base_id,json=useDynamicBaseId,proto3" json:"use_dynamic_base_id,omitempty"` // See :option:`--base-id-path` for details. BaseIdPath string `protobuf:"bytes,32,opt,name=base_id_path,json=baseIdPath,proto3" json:"base_id_path,omitempty"` // See :option:`--concurrency` for details. Concurrency uint32 `protobuf:"varint,2,opt,name=concurrency,proto3" json:"concurrency,omitempty"` // See :option:`--config-path` for details. ConfigPath string `protobuf:"bytes,3,opt,name=config_path,json=configPath,proto3" json:"config_path,omitempty"` // See :option:`--config-yaml` for details. ConfigYaml string `protobuf:"bytes,4,opt,name=config_yaml,json=configYaml,proto3" json:"config_yaml,omitempty"` // See :option:`--allow-unknown-static-fields` for details. AllowUnknownStaticFields bool `protobuf:"varint,5,opt,name=allow_unknown_static_fields,json=allowUnknownStaticFields,proto3" json:"allow_unknown_static_fields,omitempty"` // See :option:`--reject-unknown-dynamic-fields` for details. RejectUnknownDynamicFields bool `protobuf:"varint,26,opt,name=reject_unknown_dynamic_fields,json=rejectUnknownDynamicFields,proto3" json:"reject_unknown_dynamic_fields,omitempty"` // See :option:`--ignore-unknown-dynamic-fields` for details. IgnoreUnknownDynamicFields bool `protobuf:"varint,30,opt,name=ignore_unknown_dynamic_fields,json=ignoreUnknownDynamicFields,proto3" json:"ignore_unknown_dynamic_fields,omitempty"` // See :option:`--admin-address-path` for details. AdminAddressPath string `protobuf:"bytes,6,opt,name=admin_address_path,json=adminAddressPath,proto3" json:"admin_address_path,omitempty"` // See :option:`--local-address-ip-version` for details. LocalAddressIpVersion CommandLineOptions_IpVersion `protobuf:"varint,7,opt,name=local_address_ip_version,json=localAddressIpVersion,proto3,enum=envoy.admin.v3.CommandLineOptions_IpVersion" json:"local_address_ip_version,omitempty"` // See :option:`--log-level` for details. LogLevel string `protobuf:"bytes,8,opt,name=log_level,json=logLevel,proto3" json:"log_level,omitempty"` // See :option:`--component-log-level` for details. ComponentLogLevel string `protobuf:"bytes,9,opt,name=component_log_level,json=componentLogLevel,proto3" json:"component_log_level,omitempty"` // See :option:`--log-format` for details. LogFormat string `protobuf:"bytes,10,opt,name=log_format,json=logFormat,proto3" json:"log_format,omitempty"` // See :option:`--log-format-escaped` for details. LogFormatEscaped bool `protobuf:"varint,27,opt,name=log_format_escaped,json=logFormatEscaped,proto3" json:"log_format_escaped,omitempty"` // See :option:`--log-path` for details. LogPath string `protobuf:"bytes,11,opt,name=log_path,json=logPath,proto3" json:"log_path,omitempty"` // See :option:`--service-cluster` for details. ServiceCluster string `protobuf:"bytes,13,opt,name=service_cluster,json=serviceCluster,proto3" json:"service_cluster,omitempty"` // See :option:`--service-node` for details. ServiceNode string `protobuf:"bytes,14,opt,name=service_node,json=serviceNode,proto3" json:"service_node,omitempty"` // See :option:`--service-zone` for details. ServiceZone string `protobuf:"bytes,15,opt,name=service_zone,json=serviceZone,proto3" json:"service_zone,omitempty"` // See :option:`--file-flush-interval-msec` for details. FileFlushInterval *duration.Duration `protobuf:"bytes,16,opt,name=file_flush_interval,json=fileFlushInterval,proto3" json:"file_flush_interval,omitempty"` // See :option:`--drain-time-s` for details. DrainTime *duration.Duration `protobuf:"bytes,17,opt,name=drain_time,json=drainTime,proto3" json:"drain_time,omitempty"` // See :option:`--drain-strategy` for details. DrainStrategy CommandLineOptions_DrainStrategy `protobuf:"varint,33,opt,name=drain_strategy,json=drainStrategy,proto3,enum=envoy.admin.v3.CommandLineOptions_DrainStrategy" json:"drain_strategy,omitempty"` // See :option:`--parent-shutdown-time-s` for details. ParentShutdownTime *duration.Duration `protobuf:"bytes,18,opt,name=parent_shutdown_time,json=parentShutdownTime,proto3" json:"parent_shutdown_time,omitempty"` // See :option:`--mode` for details. Mode CommandLineOptions_Mode `protobuf:"varint,19,opt,name=mode,proto3,enum=envoy.admin.v3.CommandLineOptions_Mode" json:"mode,omitempty"` // See :option:`--disable-hot-restart` for details. DisableHotRestart bool `protobuf:"varint,22,opt,name=disable_hot_restart,json=disableHotRestart,proto3" json:"disable_hot_restart,omitempty"` // See :option:`--enable-mutex-tracing` for details. EnableMutexTracing bool `protobuf:"varint,23,opt,name=enable_mutex_tracing,json=enableMutexTracing,proto3" json:"enable_mutex_tracing,omitempty"` // See :option:`--restart-epoch` for details. RestartEpoch uint32 `protobuf:"varint,24,opt,name=restart_epoch,json=restartEpoch,proto3" json:"restart_epoch,omitempty"` // See :option:`--cpuset-threads` for details. CpusetThreads bool `protobuf:"varint,25,opt,name=cpuset_threads,json=cpusetThreads,proto3" json:"cpuset_threads,omitempty"` // See :option:`--disable-extensions` for details. DisabledExtensions []string `protobuf:"bytes,28,rep,name=disabled_extensions,json=disabledExtensions,proto3" json:"disabled_extensions,omitempty"` // See :option:`--enable-fine-grain-logging` for details. EnableFineGrainLogging bool `protobuf:"varint,34,opt,name=enable_fine_grain_logging,json=enableFineGrainLogging,proto3" json:"enable_fine_grain_logging,omitempty"` // See :option:`--socket-path` for details. SocketPath string `protobuf:"bytes,35,opt,name=socket_path,json=socketPath,proto3" json:"socket_path,omitempty"` // See :option:`--socket-mode` for details. SocketMode uint32 `protobuf:"varint,36,opt,name=socket_mode,json=socketMode,proto3" json:"socket_mode,omitempty"` // See :option:`--enable-core-dump` for details. EnableCoreDump bool `protobuf:"varint,37,opt,name=enable_core_dump,json=enableCoreDump,proto3" json:"enable_core_dump,omitempty"` // See :option:`--stats-tag` for details. StatsTag []string `protobuf:"bytes,38,rep,name=stats_tag,json=statsTag,proto3" json:"stats_tag,omitempty"` } func (x *CommandLineOptions) Reset() { *x = CommandLineOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_server_info_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommandLineOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommandLineOptions) ProtoMessage() {} func (x *CommandLineOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_server_info_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommandLineOptions.ProtoReflect.Descriptor instead. func (*CommandLineOptions) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_server_info_proto_rawDescGZIP(), []int{1} } func (x *CommandLineOptions) GetBaseId() uint64 { if x != nil { return x.BaseId } return 0 } func (x *CommandLineOptions) GetUseDynamicBaseId() bool { if x != nil { return x.UseDynamicBaseId } return false } func (x *CommandLineOptions) GetBaseIdPath() string { if x != nil { return x.BaseIdPath } return "" } func (x *CommandLineOptions) GetConcurrency() uint32 { if x != nil { return x.Concurrency } return 0 } func (x *CommandLineOptions) GetConfigPath() string { if x != nil { return x.ConfigPath } return "" } func (x *CommandLineOptions) GetConfigYaml() string { if x != nil { return x.ConfigYaml } return "" } func (x *CommandLineOptions) GetAllowUnknownStaticFields() bool { if x != nil { return x.AllowUnknownStaticFields } return false } func (x *CommandLineOptions) GetRejectUnknownDynamicFields() bool { if x != nil { return x.RejectUnknownDynamicFields } return false } func (x *CommandLineOptions) GetIgnoreUnknownDynamicFields() bool { if x != nil { return x.IgnoreUnknownDynamicFields } return false } func (x *CommandLineOptions) GetAdminAddressPath() string { if x != nil { return x.AdminAddressPath } return "" } func (x *CommandLineOptions) GetLocalAddressIpVersion() CommandLineOptions_IpVersion { if x != nil { return x.LocalAddressIpVersion } return CommandLineOptions_v4 } func (x *CommandLineOptions) GetLogLevel() string { if x != nil { return x.LogLevel } return "" } func (x *CommandLineOptions) GetComponentLogLevel() string { if x != nil { return x.ComponentLogLevel } return "" } func (x *CommandLineOptions) GetLogFormat() string { if x != nil { return x.LogFormat } return "" } func (x *CommandLineOptions) GetLogFormatEscaped() bool { if x != nil { return x.LogFormatEscaped } return false } func (x *CommandLineOptions) GetLogPath() string { if x != nil { return x.LogPath } return "" } func (x *CommandLineOptions) GetServiceCluster() string { if x != nil { return x.ServiceCluster } return "" } func (x *CommandLineOptions) GetServiceNode() string { if x != nil { return x.ServiceNode } return "" } func (x *CommandLineOptions) GetServiceZone() string { if x != nil { return x.ServiceZone } return "" } func (x *CommandLineOptions) GetFileFlushInterval() *duration.Duration { if x != nil { return x.FileFlushInterval } return nil } func (x *CommandLineOptions) GetDrainTime() *duration.Duration { if x != nil { return x.DrainTime } return nil } func (x *CommandLineOptions) GetDrainStrategy() CommandLineOptions_DrainStrategy { if x != nil { return x.DrainStrategy } return CommandLineOptions_Gradual } func (x *CommandLineOptions) GetParentShutdownTime() *duration.Duration { if x != nil { return x.ParentShutdownTime } return nil } func (x *CommandLineOptions) GetMode() CommandLineOptions_Mode { if x != nil { return x.Mode } return CommandLineOptions_Serve } func (x *CommandLineOptions) GetDisableHotRestart() bool { if x != nil { return x.DisableHotRestart } return false } func (x *CommandLineOptions) GetEnableMutexTracing() bool { if x != nil { return x.EnableMutexTracing } return false } func (x *CommandLineOptions) GetRestartEpoch() uint32 { if x != nil { return x.RestartEpoch } return 0 } func (x *CommandLineOptions) GetCpusetThreads() bool { if x != nil { return x.CpusetThreads } return false } func (x *CommandLineOptions) GetDisabledExtensions() []string { if x != nil { return x.DisabledExtensions } return nil } func (x *CommandLineOptions) GetEnableFineGrainLogging() bool { if x != nil { return x.EnableFineGrainLogging } return false } func (x *CommandLineOptions) GetSocketPath() string { if x != nil { return x.SocketPath } return "" } func (x *CommandLineOptions) GetSocketMode() uint32 { if x != nil { return x.SocketMode } return 0 } func (x *CommandLineOptions) GetEnableCoreDump() bool { if x != nil { return x.EnableCoreDump } return false } func (x *CommandLineOptions) GetStatsTag() []string { if x != nil { return x.StatsTag } return nil } var File_envoy_admin_v3_server_info_proto protoreflect.FileDescriptor var file_envoy_admin_v3_server_info_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x04, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x45, 0x0a, 0x11, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x47, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdb, 0x0e, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x65, 0x0a, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x4b, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x70, 0x75, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x73, 0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x26, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x22, 0x1b, 0x0a, 0x09, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x34, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x76, 0x36, 0x10, 0x01, 0x22, 0x2d, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x65, 0x72, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x10, 0x02, 0x22, 0x2b, 0x0a, 0x0d, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x72, 0x61, 0x64, 0x75, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x10, 0x01, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x15, 0x10, 0x16, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x62, 0x6a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x52, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_server_info_proto_rawDescOnce sync.Once file_envoy_admin_v3_server_info_proto_rawDescData = file_envoy_admin_v3_server_info_proto_rawDesc ) func file_envoy_admin_v3_server_info_proto_rawDescGZIP() []byte { file_envoy_admin_v3_server_info_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_server_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_server_info_proto_rawDescData) }) return file_envoy_admin_v3_server_info_proto_rawDescData } var file_envoy_admin_v3_server_info_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_admin_v3_server_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_admin_v3_server_info_proto_goTypes = []interface{}{ (ServerInfo_State)(0), // 0: envoy.admin.v3.ServerInfo.State (CommandLineOptions_IpVersion)(0), // 1: envoy.admin.v3.CommandLineOptions.IpVersion (CommandLineOptions_Mode)(0), // 2: envoy.admin.v3.CommandLineOptions.Mode (CommandLineOptions_DrainStrategy)(0), // 3: envoy.admin.v3.CommandLineOptions.DrainStrategy (*ServerInfo)(nil), // 4: envoy.admin.v3.ServerInfo (*CommandLineOptions)(nil), // 5: envoy.admin.v3.CommandLineOptions (*duration.Duration)(nil), // 6: google.protobuf.Duration (*v3.Node)(nil), // 7: envoy.config.core.v3.Node } var file_envoy_admin_v3_server_info_proto_depIdxs = []int32{ 0, // 0: envoy.admin.v3.ServerInfo.state:type_name -> envoy.admin.v3.ServerInfo.State 6, // 1: envoy.admin.v3.ServerInfo.uptime_current_epoch:type_name -> google.protobuf.Duration 6, // 2: envoy.admin.v3.ServerInfo.uptime_all_epochs:type_name -> google.protobuf.Duration 5, // 3: envoy.admin.v3.ServerInfo.command_line_options:type_name -> envoy.admin.v3.CommandLineOptions 7, // 4: envoy.admin.v3.ServerInfo.node:type_name -> envoy.config.core.v3.Node 1, // 5: envoy.admin.v3.CommandLineOptions.local_address_ip_version:type_name -> envoy.admin.v3.CommandLineOptions.IpVersion 6, // 6: envoy.admin.v3.CommandLineOptions.file_flush_interval:type_name -> google.protobuf.Duration 6, // 7: envoy.admin.v3.CommandLineOptions.drain_time:type_name -> google.protobuf.Duration 3, // 8: envoy.admin.v3.CommandLineOptions.drain_strategy:type_name -> envoy.admin.v3.CommandLineOptions.DrainStrategy 6, // 9: envoy.admin.v3.CommandLineOptions.parent_shutdown_time:type_name -> google.protobuf.Duration 2, // 10: envoy.admin.v3.CommandLineOptions.mode:type_name -> envoy.admin.v3.CommandLineOptions.Mode 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_admin_v3_server_info_proto_init() } func file_envoy_admin_v3_server_info_proto_init() { if File_envoy_admin_v3_server_info_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_server_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_admin_v3_server_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommandLineOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_server_info_proto_rawDesc, NumEnums: 4, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_server_info_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_server_info_proto_depIdxs, EnumInfos: file_envoy_admin_v3_server_info_proto_enumTypes, MessageInfos: file_envoy_admin_v3_server_info_proto_msgTypes, }.Build() File_envoy_admin_v3_server_info_proto = out.File file_envoy_admin_v3_server_info_proto_rawDesc = nil file_envoy_admin_v3_server_info_proto_goTypes = nil file_envoy_admin_v3_server_info_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/server_info.pb.validate.go000077500000000000000000000321751454502223200246040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/server_info.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ServerInfo with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ServerInfo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ServerInfo with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ServerInfoMultiError, or // nil if none found. func (m *ServerInfo) ValidateAll() error { return m.validate(true) } func (m *ServerInfo) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Version // no validation rules for State if all { switch v := interface{}(m.GetUptimeCurrentEpoch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUptimeCurrentEpoch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "UptimeCurrentEpoch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUptimeAllEpochs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUptimeAllEpochs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "UptimeAllEpochs", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HotRestartVersion if all { switch v := interface{}(m.GetCommandLineOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommandLineOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "CommandLineOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ServerInfoValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ServerInfoValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ServerInfoMultiError(errors) } return nil } // ServerInfoMultiError is an error wrapping multiple validation errors // returned by ServerInfo.ValidateAll() if the designated constraints aren't met. type ServerInfoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ServerInfoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ServerInfoMultiError) AllErrors() []error { return m } // ServerInfoValidationError is the validation error returned by // ServerInfo.Validate if the designated constraints aren't met. type ServerInfoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ServerInfoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ServerInfoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ServerInfoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ServerInfoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ServerInfoValidationError) ErrorName() string { return "ServerInfoValidationError" } // Error satisfies the builtin error interface func (e ServerInfoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sServerInfo.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ServerInfoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ServerInfoValidationError{} // Validate checks the field values on CommandLineOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommandLineOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommandLineOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommandLineOptionsMultiError, or nil if none found. func (m *CommandLineOptions) ValidateAll() error { return m.validate(true) } func (m *CommandLineOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BaseId // no validation rules for UseDynamicBaseId // no validation rules for BaseIdPath // no validation rules for Concurrency // no validation rules for ConfigPath // no validation rules for ConfigYaml // no validation rules for AllowUnknownStaticFields // no validation rules for RejectUnknownDynamicFields // no validation rules for IgnoreUnknownDynamicFields // no validation rules for AdminAddressPath // no validation rules for LocalAddressIpVersion // no validation rules for LogLevel // no validation rules for ComponentLogLevel // no validation rules for LogFormat // no validation rules for LogFormatEscaped // no validation rules for LogPath // no validation rules for ServiceCluster // no validation rules for ServiceNode // no validation rules for ServiceZone if all { switch v := interface{}(m.GetFileFlushInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFileFlushInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "FileFlushInterval", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDrainTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "DrainTime", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DrainStrategy if all { switch v := interface{}(m.GetParentShutdownTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetParentShutdownTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommandLineOptionsValidationError{ field: "ParentShutdownTime", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Mode // no validation rules for DisableHotRestart // no validation rules for EnableMutexTracing // no validation rules for RestartEpoch // no validation rules for CpusetThreads // no validation rules for EnableFineGrainLogging // no validation rules for SocketPath // no validation rules for SocketMode // no validation rules for EnableCoreDump if len(errors) > 0 { return CommandLineOptionsMultiError(errors) } return nil } // CommandLineOptionsMultiError is an error wrapping multiple validation errors // returned by CommandLineOptions.ValidateAll() if the designated constraints // aren't met. type CommandLineOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommandLineOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommandLineOptionsMultiError) AllErrors() []error { return m } // CommandLineOptionsValidationError is the validation error returned by // CommandLineOptions.Validate if the designated constraints aren't met. type CommandLineOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommandLineOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommandLineOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommandLineOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommandLineOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommandLineOptionsValidationError) ErrorName() string { return "CommandLineOptionsValidationError" } // Error satisfies the builtin error interface func (e CommandLineOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommandLineOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommandLineOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommandLineOptionsValidationError{} go-control-plane-0.12.0/envoy/admin/v3/tap.pb.go000077500000000000000000000165021454502223200212530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/admin/v3/tap.proto package adminv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/tap/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The /tap admin request body that is used to configure an active tap session. type TapRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The opaque configuration ID used to match the configuration to a loaded extension. // A tap extension configures a similar opaque ID that is used to match. ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` // The tap configuration to load. TapConfig *v3.TapConfig `protobuf:"bytes,2,opt,name=tap_config,json=tapConfig,proto3" json:"tap_config,omitempty"` } func (x *TapRequest) Reset() { *x = TapRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_admin_v3_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TapRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapRequest) ProtoMessage() {} func (x *TapRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_admin_v3_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TapRequest.ProtoReflect.Descriptor instead. func (*TapRequest) Descriptor() ([]byte, []int) { return file_envoy_admin_v3_tap_proto_rawDescGZIP(), []int{0} } func (x *TapRequest) GetConfigId() string { if x != nil { return x.ConfigId } return "" } func (x *TapRequest) GetTapConfig() *v3.TapConfig { if x != nil { return x.TapConfig } return nil } var File_envoy_admin_v3_tap_proto protoreflect.FileDescriptor var file_envoy_admin_v3_tap_proto_rawDesc = []byte{ 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x0a, 0x54, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0a, 0x74, 0x61, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x71, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_admin_v3_tap_proto_rawDescOnce sync.Once file_envoy_admin_v3_tap_proto_rawDescData = file_envoy_admin_v3_tap_proto_rawDesc ) func file_envoy_admin_v3_tap_proto_rawDescGZIP() []byte { file_envoy_admin_v3_tap_proto_rawDescOnce.Do(func() { file_envoy_admin_v3_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v3_tap_proto_rawDescData) }) return file_envoy_admin_v3_tap_proto_rawDescData } var file_envoy_admin_v3_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_admin_v3_tap_proto_goTypes = []interface{}{ (*TapRequest)(nil), // 0: envoy.admin.v3.TapRequest (*v3.TapConfig)(nil), // 1: envoy.config.tap.v3.TapConfig } var file_envoy_admin_v3_tap_proto_depIdxs = []int32{ 1, // 0: envoy.admin.v3.TapRequest.tap_config:type_name -> envoy.config.tap.v3.TapConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_admin_v3_tap_proto_init() } func file_envoy_admin_v3_tap_proto_init() { if File_envoy_admin_v3_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_admin_v3_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TapRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_admin_v3_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_admin_v3_tap_proto_goTypes, DependencyIndexes: file_envoy_admin_v3_tap_proto_depIdxs, MessageInfos: file_envoy_admin_v3_tap_proto_msgTypes, }.Build() File_envoy_admin_v3_tap_proto = out.File file_envoy_admin_v3_tap_proto_rawDesc = nil file_envoy_admin_v3_tap_proto_goTypes = nil file_envoy_admin_v3_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/admin/v3/tap.pb.validate.go000077500000000000000000000105261454502223200230430ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/admin/v3/tap.proto package adminv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TapRequest with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TapRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TapRequest with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TapRequestMultiError, or // nil if none found. func (m *TapRequest) ValidateAll() error { return m.validate(true) } func (m *TapRequest) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetConfigId()) < 1 { err := TapRequestValidationError{ field: "ConfigId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTapConfig() == nil { err := TapRequestValidationError{ field: "TapConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTapConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTapConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapRequestValidationError{ field: "TapConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapRequestMultiError(errors) } return nil } // TapRequestMultiError is an error wrapping multiple validation errors // returned by TapRequest.ValidateAll() if the designated constraints aren't met. type TapRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapRequestMultiError) AllErrors() []error { return m } // TapRequestValidationError is the validation error returned by // TapRequest.Validate if the designated constraints aren't met. type TapRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapRequestValidationError) ErrorName() string { return "TapRequestValidationError" } // Error satisfies the builtin error interface func (e TapRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTapRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapRequestValidationError{} go-control-plane-0.12.0/envoy/annotations/000077500000000000000000000000001454502223200204465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/annotations/deprecation.pb.go000077500000000000000000000201501454502223200236730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/annotations/deprecation.proto package annotations import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" descriptorpb "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var file_envoy_annotations_deprecation_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 189503207, Name: "envoy.annotations.disallowed_by_default", Tag: "varint,189503207,opt,name=disallowed_by_default", Filename: "envoy/annotations/deprecation.proto", }, { ExtendedType: (*descriptorpb.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 157299826, Name: "envoy.annotations.deprecated_at_minor_version", Tag: "bytes,157299826,opt,name=deprecated_at_minor_version", Filename: "envoy/annotations/deprecation.proto", }, { ExtendedType: (*descriptorpb.EnumValueOptions)(nil), ExtensionType: (*bool)(nil), Field: 70100853, Name: "envoy.annotations.disallowed_by_default_enum", Tag: "varint,70100853,opt,name=disallowed_by_default_enum", Filename: "envoy/annotations/deprecation.proto", }, { ExtendedType: (*descriptorpb.EnumValueOptions)(nil), ExtensionType: (*string)(nil), Field: 181198657, Name: "envoy.annotations.deprecated_at_minor_version_enum", Tag: "bytes,181198657,opt,name=deprecated_at_minor_version_enum", Filename: "envoy/annotations/deprecation.proto", }, } // Extension fields to descriptorpb.FieldOptions. var ( // optional bool disallowed_by_default = 189503207; E_DisallowedByDefault = &file_envoy_annotations_deprecation_proto_extTypes[0] // The API major and minor version on which the field was deprecated // (e.g., "3.5" for major version 3 and minor version 5). // // optional string deprecated_at_minor_version = 157299826; E_DeprecatedAtMinorVersion = &file_envoy_annotations_deprecation_proto_extTypes[1] ) // Extension fields to descriptorpb.EnumValueOptions. var ( // optional bool disallowed_by_default_enum = 70100853; E_DisallowedByDefaultEnum = &file_envoy_annotations_deprecation_proto_extTypes[2] // The API major and minor version on which the enum value was deprecated // (e.g., "3.5" for major version 3 and minor version 5). // // optional string deprecated_at_minor_version_enum = 181198657; E_DeprecatedAtMinorVersionEnum = &file_envoy_annotations_deprecation_proto_extTypes[3] ) var File_envoy_annotations_deprecation_proto protoreflect.FileDescriptor var file_envoy_annotations_deprecation_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x54, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe7, 0xad, 0xae, 0x5a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x5f, 0x0a, 0x1b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf2, 0xe8, 0x80, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf5, 0xce, 0xb6, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x6c, 0x0a, 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc1, 0xbe, 0xb3, 0x56, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_annotations_deprecation_proto_goTypes = []interface{}{ (*descriptorpb.FieldOptions)(nil), // 0: google.protobuf.FieldOptions (*descriptorpb.EnumValueOptions)(nil), // 1: google.protobuf.EnumValueOptions } var file_envoy_annotations_deprecation_proto_depIdxs = []int32{ 0, // 0: envoy.annotations.disallowed_by_default:extendee -> google.protobuf.FieldOptions 0, // 1: envoy.annotations.deprecated_at_minor_version:extendee -> google.protobuf.FieldOptions 1, // 2: envoy.annotations.disallowed_by_default_enum:extendee -> google.protobuf.EnumValueOptions 1, // 3: envoy.annotations.deprecated_at_minor_version_enum:extendee -> google.protobuf.EnumValueOptions 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 0, // [0:4] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_annotations_deprecation_proto_init() } func file_envoy_annotations_deprecation_proto_init() { if File_envoy_annotations_deprecation_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_annotations_deprecation_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 4, NumServices: 0, }, GoTypes: file_envoy_annotations_deprecation_proto_goTypes, DependencyIndexes: file_envoy_annotations_deprecation_proto_depIdxs, ExtensionInfos: file_envoy_annotations_deprecation_proto_extTypes, }.Build() File_envoy_annotations_deprecation_proto = out.File file_envoy_annotations_deprecation_proto_rawDesc = nil file_envoy_annotations_deprecation_proto_goTypes = nil file_envoy_annotations_deprecation_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/annotations/deprecation.pb.validate.go000077500000000000000000000011011454502223200254560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/annotations/deprecation.proto package annotations import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/annotations/resource.pb.go000077500000000000000000000156651454502223200232440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/annotations/resource.proto package annotations import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" descriptorpb "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ResourceAnnotation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Annotation for xDS services that indicates the fully-qualified Protobuf type for the resource // type. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` } func (x *ResourceAnnotation) Reset() { *x = ResourceAnnotation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_annotations_resource_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResourceAnnotation) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResourceAnnotation) ProtoMessage() {} func (x *ResourceAnnotation) ProtoReflect() protoreflect.Message { mi := &file_envoy_annotations_resource_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResourceAnnotation.ProtoReflect.Descriptor instead. func (*ResourceAnnotation) Descriptor() ([]byte, []int) { return file_envoy_annotations_resource_proto_rawDescGZIP(), []int{0} } func (x *ResourceAnnotation) GetType() string { if x != nil { return x.Type } return "" } var file_envoy_annotations_resource_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.ServiceOptions)(nil), ExtensionType: (*ResourceAnnotation)(nil), Field: 265073217, Name: "envoy.annotations.resource", Tag: "bytes,265073217,opt,name=resource", Filename: "envoy/annotations/resource.proto", }, } // Extension fields to descriptorpb.ServiceOptions. var ( // optional envoy.annotations.ResourceAnnotation resource = 265073217; E_Resource = &file_envoy_annotations_resource_proto_extTypes[0] ) var File_envoy_annotations_resource_proto protoreflect.FileDescriptor var file_envoy_annotations_resource_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x65, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc1, 0xe4, 0xb2, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_annotations_resource_proto_rawDescOnce sync.Once file_envoy_annotations_resource_proto_rawDescData = file_envoy_annotations_resource_proto_rawDesc ) func file_envoy_annotations_resource_proto_rawDescGZIP() []byte { file_envoy_annotations_resource_proto_rawDescOnce.Do(func() { file_envoy_annotations_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_annotations_resource_proto_rawDescData) }) return file_envoy_annotations_resource_proto_rawDescData } var file_envoy_annotations_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_annotations_resource_proto_goTypes = []interface{}{ (*ResourceAnnotation)(nil), // 0: envoy.annotations.ResourceAnnotation (*descriptorpb.ServiceOptions)(nil), // 1: google.protobuf.ServiceOptions } var file_envoy_annotations_resource_proto_depIdxs = []int32{ 1, // 0: envoy.annotations.resource:extendee -> google.protobuf.ServiceOptions 0, // 1: envoy.annotations.resource:type_name -> envoy.annotations.ResourceAnnotation 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 1, // [1:2] is the sub-list for extension type_name 0, // [0:1] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_annotations_resource_proto_init() } func file_envoy_annotations_resource_proto_init() { if File_envoy_annotations_resource_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_annotations_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceAnnotation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_annotations_resource_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 1, NumServices: 0, }, GoTypes: file_envoy_annotations_resource_proto_goTypes, DependencyIndexes: file_envoy_annotations_resource_proto_depIdxs, MessageInfos: file_envoy_annotations_resource_proto_msgTypes, ExtensionInfos: file_envoy_annotations_resource_proto_extTypes, }.Build() File_envoy_annotations_resource_proto = out.File file_envoy_annotations_resource_proto_rawDesc = nil file_envoy_annotations_resource_proto_goTypes = nil file_envoy_annotations_resource_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/annotations/resource.pb.validate.go000077500000000000000000000065651454502223200250330ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/annotations/resource.proto package annotations import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ResourceAnnotation with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResourceAnnotation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResourceAnnotation with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResourceAnnotationMultiError, or nil if none found. func (m *ResourceAnnotation) ValidateAll() error { return m.validate(true) } func (m *ResourceAnnotation) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type if len(errors) > 0 { return ResourceAnnotationMultiError(errors) } return nil } // ResourceAnnotationMultiError is an error wrapping multiple validation errors // returned by ResourceAnnotation.ValidateAll() if the designated constraints // aren't met. type ResourceAnnotationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceAnnotationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceAnnotationMultiError) AllErrors() []error { return m } // ResourceAnnotationValidationError is the validation error returned by // ResourceAnnotation.Validate if the designated constraints aren't met. type ResourceAnnotationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceAnnotationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceAnnotationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceAnnotationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceAnnotationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceAnnotationValidationError) ErrorName() string { return "ResourceAnnotationValidationError" } // Error satisfies the builtin error interface func (e ResourceAnnotationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResourceAnnotation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceAnnotationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceAnnotationValidationError{} go-control-plane-0.12.0/envoy/api/000077500000000000000000000000001454502223200166625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/000077500000000000000000000000001454502223200172115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/auth/000077500000000000000000000000001454502223200201525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/auth/cert.pb.go000077500000000000000000000100241454502223200220360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/auth/cert.proto package auth import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_api_v2_auth_cert_proto protoreflect.FileDescriptor var file_envoy_api_v2_auth_cert_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x99, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x42, 0x09, 0x43, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x01, 0x50, 0x02, 0x50, 0x03, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_api_v2_auth_cert_proto_goTypes = []interface{}{} var file_envoy_api_v2_auth_cert_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_auth_cert_proto_init() } func file_envoy_api_v2_auth_cert_proto_init() { if File_envoy_api_v2_auth_cert_proto != nil { return } file_envoy_api_v2_auth_common_proto_init() file_envoy_api_v2_auth_secret_proto_init() file_envoy_api_v2_auth_tls_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_auth_cert_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_auth_cert_proto_goTypes, DependencyIndexes: file_envoy_api_v2_auth_cert_proto_depIdxs, }.Build() File_envoy_api_v2_auth_cert_proto = out.File file_envoy_api_v2_auth_cert_proto_rawDesc = nil file_envoy_api_v2_auth_cert_proto_goTypes = nil file_envoy_api_v2_auth_cert_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/auth/cert.pb.validate.go000077500000000000000000000010631454502223200236310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/auth/cert.proto package auth import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/api/v2/auth/common.pb.go000077500000000000000000001427151454502223200224060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/auth/common.proto package auth import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TlsParameters_TlsProtocol int32 const ( // Envoy will choose the optimal TLS version. TlsParameters_TLS_AUTO TlsParameters_TlsProtocol = 0 // TLS 1.0 TlsParameters_TLSv1_0 TlsParameters_TlsProtocol = 1 // TLS 1.1 TlsParameters_TLSv1_1 TlsParameters_TlsProtocol = 2 // TLS 1.2 TlsParameters_TLSv1_2 TlsParameters_TlsProtocol = 3 // TLS 1.3 TlsParameters_TLSv1_3 TlsParameters_TlsProtocol = 4 ) // Enum value maps for TlsParameters_TlsProtocol. var ( TlsParameters_TlsProtocol_name = map[int32]string{ 0: "TLS_AUTO", 1: "TLSv1_0", 2: "TLSv1_1", 3: "TLSv1_2", 4: "TLSv1_3", } TlsParameters_TlsProtocol_value = map[string]int32{ "TLS_AUTO": 0, "TLSv1_0": 1, "TLSv1_1": 2, "TLSv1_2": 3, "TLSv1_3": 4, } ) func (x TlsParameters_TlsProtocol) Enum() *TlsParameters_TlsProtocol { p := new(TlsParameters_TlsProtocol) *p = x return p } func (x TlsParameters_TlsProtocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TlsParameters_TlsProtocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_auth_common_proto_enumTypes[0].Descriptor() } func (TlsParameters_TlsProtocol) Type() protoreflect.EnumType { return &file_envoy_api_v2_auth_common_proto_enumTypes[0] } func (x TlsParameters_TlsProtocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TlsParameters_TlsProtocol.Descriptor instead. func (TlsParameters_TlsProtocol) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{0, 0} } // Peer certificate verification mode. type CertificateValidationContext_TrustChainVerification int32 const ( // Perform default certificate verification (e.g., against CA / verification lists) CertificateValidationContext_VERIFY_TRUST_CHAIN CertificateValidationContext_TrustChainVerification = 0 // Connections where the certificate fails verification will be permitted. // For HTTP connections, the result of certificate verification can be used in route matching. ( // see :ref:`validated ` ). CertificateValidationContext_ACCEPT_UNTRUSTED CertificateValidationContext_TrustChainVerification = 1 ) // Enum value maps for CertificateValidationContext_TrustChainVerification. var ( CertificateValidationContext_TrustChainVerification_name = map[int32]string{ 0: "VERIFY_TRUST_CHAIN", 1: "ACCEPT_UNTRUSTED", } CertificateValidationContext_TrustChainVerification_value = map[string]int32{ "VERIFY_TRUST_CHAIN": 0, "ACCEPT_UNTRUSTED": 1, } ) func (x CertificateValidationContext_TrustChainVerification) Enum() *CertificateValidationContext_TrustChainVerification { p := new(CertificateValidationContext_TrustChainVerification) *p = x return p } func (x CertificateValidationContext_TrustChainVerification) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CertificateValidationContext_TrustChainVerification) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_auth_common_proto_enumTypes[1].Descriptor() } func (CertificateValidationContext_TrustChainVerification) Type() protoreflect.EnumType { return &file_envoy_api_v2_auth_common_proto_enumTypes[1] } func (x CertificateValidationContext_TrustChainVerification) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CertificateValidationContext_TrustChainVerification.Descriptor instead. func (CertificateValidationContext_TrustChainVerification) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{4, 0} } type TlsParameters struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum TLS protocol version. By default, it's “TLSv1_2“ for both clients and servers. TlsMinimumProtocolVersion TlsParameters_TlsProtocol `protobuf:"varint,1,opt,name=tls_minimum_protocol_version,json=tlsMinimumProtocolVersion,proto3,enum=envoy.api.v2.auth.TlsParameters_TlsProtocol" json:"tls_minimum_protocol_version,omitempty"` // Maximum TLS protocol version. By default, it's “TLSv1_2“ for clients and “TLSv1_3“ for // servers. TlsMaximumProtocolVersion TlsParameters_TlsProtocol `protobuf:"varint,2,opt,name=tls_maximum_protocol_version,json=tlsMaximumProtocolVersion,proto3,enum=envoy.api.v2.auth.TlsParameters_TlsProtocol" json:"tls_maximum_protocol_version,omitempty"` // If specified, the TLS listener will only support the specified `cipher list // `_ // when negotiating TLS 1.0-1.2 (this setting has no effect when negotiating TLS 1.3). If not // specified, the default list will be used. // // In non-FIPS builds, the default cipher list is: // // .. code-block:: none // // [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305] // [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] // ECDHE-ECDSA-AES128-SHA // ECDHE-RSA-AES128-SHA // AES128-GCM-SHA256 // AES128-SHA // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 // ECDHE-ECDSA-AES256-SHA // ECDHE-RSA-AES256-SHA // AES256-GCM-SHA384 // AES256-SHA // // In builds using :ref:`BoringSSL FIPS `, the default cipher list is: // // .. code-block:: none // // ECDHE-ECDSA-AES128-GCM-SHA256 // ECDHE-RSA-AES128-GCM-SHA256 // ECDHE-ECDSA-AES128-SHA // ECDHE-RSA-AES128-SHA // AES128-GCM-SHA256 // AES128-SHA // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 // ECDHE-ECDSA-AES256-SHA // ECDHE-RSA-AES256-SHA // AES256-GCM-SHA384 // AES256-SHA CipherSuites []string `protobuf:"bytes,3,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` // If specified, the TLS connection will only support the specified ECDH // curves. If not specified, the default curves will be used. // // In non-FIPS builds, the default curves are: // // .. code-block:: none // // X25519 // P-256 // // In builds using :ref:`BoringSSL FIPS `, the default curve is: // // .. code-block:: none // // P-256 EcdhCurves []string `protobuf:"bytes,4,rep,name=ecdh_curves,json=ecdhCurves,proto3" json:"ecdh_curves,omitempty"` } func (x *TlsParameters) Reset() { *x = TlsParameters{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsParameters) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsParameters) ProtoMessage() {} func (x *TlsParameters) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsParameters.ProtoReflect.Descriptor instead. func (*TlsParameters) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{0} } func (x *TlsParameters) GetTlsMinimumProtocolVersion() TlsParameters_TlsProtocol { if x != nil { return x.TlsMinimumProtocolVersion } return TlsParameters_TLS_AUTO } func (x *TlsParameters) GetTlsMaximumProtocolVersion() TlsParameters_TlsProtocol { if x != nil { return x.TlsMaximumProtocolVersion } return TlsParameters_TLS_AUTO } func (x *TlsParameters) GetCipherSuites() []string { if x != nil { return x.CipherSuites } return nil } func (x *TlsParameters) GetEcdhCurves() []string { if x != nil { return x.EcdhCurves } return nil } // BoringSSL private key method configuration. The private key methods are used for external // (potentially asynchronous) signing and decryption operations. Some use cases for private key // methods would be TPM support and TLS acceleration. type PrivateKeyProvider struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Private key method provider name. The name must match a // supported private key method provider type. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"` // Private key method provider specific configuration. // // Types that are assignable to ConfigType: // // *PrivateKeyProvider_Config // *PrivateKeyProvider_TypedConfig ConfigType isPrivateKeyProvider_ConfigType `protobuf_oneof:"config_type"` } func (x *PrivateKeyProvider) Reset() { *x = PrivateKeyProvider{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PrivateKeyProvider) String() string { return protoimpl.X.MessageStringOf(x) } func (*PrivateKeyProvider) ProtoMessage() {} func (x *PrivateKeyProvider) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PrivateKeyProvider.ProtoReflect.Descriptor instead. func (*PrivateKeyProvider) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{1} } func (x *PrivateKeyProvider) GetProviderName() string { if x != nil { return x.ProviderName } return "" } func (m *PrivateKeyProvider) GetConfigType() isPrivateKeyProvider_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/auth/common.proto. func (x *PrivateKeyProvider) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*PrivateKeyProvider_Config); ok { return x.Config } return nil } func (x *PrivateKeyProvider) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*PrivateKeyProvider_TypedConfig); ok { return x.TypedConfig } return nil } type isPrivateKeyProvider_ConfigType interface { isPrivateKeyProvider_ConfigType() } type PrivateKeyProvider_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/auth/common.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type PrivateKeyProvider_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*PrivateKeyProvider_Config) isPrivateKeyProvider_ConfigType() {} func (*PrivateKeyProvider_TypedConfig) isPrivateKeyProvider_ConfigType() {} // [#next-free-field: 7] type TlsCertificate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The TLS certificate chain. CertificateChain *core.DataSource `protobuf:"bytes,1,opt,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"` // The TLS private key. PrivateKey *core.DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // BoringSSL private key method provider. This is an alternative to :ref:`private_key // ` field. This can't be // marked as “oneof“ due to API compatibility reasons. Setting both :ref:`private_key // ` and // :ref:`private_key_provider // ` fields will result in an // error. PrivateKeyProvider *PrivateKeyProvider `protobuf:"bytes,6,opt,name=private_key_provider,json=privateKeyProvider,proto3" json:"private_key_provider,omitempty"` // The password to decrypt the TLS private key. If this field is not set, it is assumed that the // TLS private key is not password encrypted. Password *core.DataSource `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // [#not-implemented-hide:] OcspStaple *core.DataSource `protobuf:"bytes,4,opt,name=ocsp_staple,json=ocspStaple,proto3" json:"ocsp_staple,omitempty"` // [#not-implemented-hide:] SignedCertificateTimestamp []*core.DataSource `protobuf:"bytes,5,rep,name=signed_certificate_timestamp,json=signedCertificateTimestamp,proto3" json:"signed_certificate_timestamp,omitempty"` } func (x *TlsCertificate) Reset() { *x = TlsCertificate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsCertificate) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsCertificate) ProtoMessage() {} func (x *TlsCertificate) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsCertificate.ProtoReflect.Descriptor instead. func (*TlsCertificate) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{2} } func (x *TlsCertificate) GetCertificateChain() *core.DataSource { if x != nil { return x.CertificateChain } return nil } func (x *TlsCertificate) GetPrivateKey() *core.DataSource { if x != nil { return x.PrivateKey } return nil } func (x *TlsCertificate) GetPrivateKeyProvider() *PrivateKeyProvider { if x != nil { return x.PrivateKeyProvider } return nil } func (x *TlsCertificate) GetPassword() *core.DataSource { if x != nil { return x.Password } return nil } func (x *TlsCertificate) GetOcspStaple() *core.DataSource { if x != nil { return x.OcspStaple } return nil } func (x *TlsCertificate) GetSignedCertificateTimestamp() []*core.DataSource { if x != nil { return x.SignedCertificateTimestamp } return nil } type TlsSessionTicketKeys struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Keys for encrypting and decrypting TLS session tickets. The // first key in the array contains the key to encrypt all new sessions created by this context. // All keys are candidates for decrypting received tickets. This allows for easy rotation of keys // by, for example, putting the new key first, and the previous key second. // // If :ref:`session_ticket_keys ` // is not specified, the TLS library will still support resuming sessions via tickets, but it will // use an internally-generated and managed key, so sessions cannot be resumed across hot restarts // or on different hosts. // // Each key must contain exactly 80 bytes of cryptographically-secure random data. For // example, the output of “openssl rand 80“. // // .. attention:: // // Using this feature has serious security considerations and risks. Improper handling of keys // may result in loss of secrecy in connections, even if ciphers supporting perfect forward // secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some // discussion. To minimize the risk, you must: // // * Keep the session ticket keys at least as secure as your TLS certificate private keys // * Rotate session ticket keys at least daily, and preferably hourly // * Always generate keys using a cryptographically-secure random data source Keys []*core.DataSource `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` } func (x *TlsSessionTicketKeys) Reset() { *x = TlsSessionTicketKeys{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsSessionTicketKeys) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsSessionTicketKeys) ProtoMessage() {} func (x *TlsSessionTicketKeys) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsSessionTicketKeys.ProtoReflect.Descriptor instead. func (*TlsSessionTicketKeys) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{3} } func (x *TlsSessionTicketKeys) GetKeys() []*core.DataSource { if x != nil { return x.Keys } return nil } // [#next-free-field: 11] type CertificateValidationContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // TLS certificate data containing certificate authority certificates to use in verifying // a presented peer certificate (e.g. server certificate for clusters or client certificate // for listeners). If not specified and a peer certificate is presented it will not be // verified. By default, a client certificate is optional, unless one of the additional // options (:ref:`require_client_certificate // `, // :ref:`verify_certificate_spki // `, // :ref:`verify_certificate_hash // `, or // :ref:`match_subject_alt_names // `) is also // specified. // // It can optionally contain certificate revocation lists, in which case Envoy will verify // that the presented peer certificate has not been revoked by one of the included CRLs. // // See :ref:`the TLS overview ` for a list of common // system CA locations. TrustedCa *core.DataSource `protobuf:"bytes,1,opt,name=trusted_ca,json=trustedCa,proto3" json:"trusted_ca,omitempty"` // An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the // SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate // matches one of the specified values. // // A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate // can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -noout -pubkey // | openssl pkey -pubin -outform DER // | openssl dgst -sha256 -binary // | openssl enc -base64 // NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A= // // This is the format used in HTTP Public Key Pinning. // // When both: // :ref:`verify_certificate_hash // ` and // :ref:`verify_certificate_spki // ` are specified, // a hash matching value from either of the lists will result in the certificate being accepted. // // .. attention:: // // This option is preferred over :ref:`verify_certificate_hash // `, // because SPKI is tied to a private key, so it doesn't change when the certificate // is renewed using the same private key. VerifyCertificateSpki []string `protobuf:"bytes,3,rep,name=verify_certificate_spki,json=verifyCertificateSpki,proto3" json:"verify_certificate_spki,omitempty"` // An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that // the SHA-256 of the DER-encoded presented certificate matches one of the specified values. // // A hex-encoded SHA-256 of the certificate can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2 // df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a // // A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate // can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2 // DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A // // Both of those formats are acceptable. // // When both: // :ref:`verify_certificate_hash // ` and // :ref:`verify_certificate_spki // ` are specified, // a hash matching value from either of the lists will result in the certificate being accepted. VerifyCertificateHash []string `protobuf:"bytes,2,rep,name=verify_certificate_hash,json=verifyCertificateHash,proto3" json:"verify_certificate_hash,omitempty"` // An optional list of Subject Alternative Names. If specified, Envoy will verify that the // Subject Alternative Name of the presented certificate matches one of the specified values. // // .. attention:: // // Subject Alternative Names are easily spoofable and verifying only them is insecure, // therefore this option must be used together with :ref:`trusted_ca // `. // // Deprecated: Marked as deprecated in envoy/api/v2/auth/common.proto. VerifySubjectAltName []string `protobuf:"bytes,4,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"` // An optional list of Subject Alternative name matchers. Envoy will verify that the // Subject Alternative Name of the presented certificate matches one of the specified matches. // // When a certificate has wildcard DNS SAN entries, to match a specific client, it should be // configured with exact match type in the :ref:`string matcher `. // For example if the certificate has "\*.example.com" as DNS SAN entry, to allow only "api.example.com", // it should be configured as shown below. // // .. code-block:: yaml // // match_subject_alt_names: // exact: "api.example.com" // // .. attention:: // // Subject Alternative Names are easily spoofable and verifying only them is insecure, // therefore this option must be used together with :ref:`trusted_ca // `. MatchSubjectAltNames []*matcher.StringMatcher `protobuf:"bytes,9,rep,name=match_subject_alt_names,json=matchSubjectAltNames,proto3" json:"match_subject_alt_names,omitempty"` // [#not-implemented-hide:] Must present a signed time-stamped OCSP response. RequireOcspStaple *wrappers.BoolValue `protobuf:"bytes,5,opt,name=require_ocsp_staple,json=requireOcspStaple,proto3" json:"require_ocsp_staple,omitempty"` // [#not-implemented-hide:] Must present signed certificate time-stamp. RequireSignedCertificateTimestamp *wrappers.BoolValue `protobuf:"bytes,6,opt,name=require_signed_certificate_timestamp,json=requireSignedCertificateTimestamp,proto3" json:"require_signed_certificate_timestamp,omitempty"` // An optional `certificate revocation list // `_ // (in PEM format). If specified, Envoy will verify that the presented peer // certificate has not been revoked by this CRL. If this DataSource contains // multiple CRLs, all of them will be used. Crl *core.DataSource `protobuf:"bytes,7,opt,name=crl,proto3" json:"crl,omitempty"` // If specified, Envoy will not reject expired certificates. AllowExpiredCertificate bool `protobuf:"varint,8,opt,name=allow_expired_certificate,json=allowExpiredCertificate,proto3" json:"allow_expired_certificate,omitempty"` // Certificate trust chain verification mode. TrustChainVerification CertificateValidationContext_TrustChainVerification `protobuf:"varint,10,opt,name=trust_chain_verification,json=trustChainVerification,proto3,enum=envoy.api.v2.auth.CertificateValidationContext_TrustChainVerification" json:"trust_chain_verification,omitempty"` } func (x *CertificateValidationContext) Reset() { *x = CertificateValidationContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateValidationContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateValidationContext) ProtoMessage() {} func (x *CertificateValidationContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateValidationContext.ProtoReflect.Descriptor instead. func (*CertificateValidationContext) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_common_proto_rawDescGZIP(), []int{4} } func (x *CertificateValidationContext) GetTrustedCa() *core.DataSource { if x != nil { return x.TrustedCa } return nil } func (x *CertificateValidationContext) GetVerifyCertificateSpki() []string { if x != nil { return x.VerifyCertificateSpki } return nil } func (x *CertificateValidationContext) GetVerifyCertificateHash() []string { if x != nil { return x.VerifyCertificateHash } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/auth/common.proto. func (x *CertificateValidationContext) GetVerifySubjectAltName() []string { if x != nil { return x.VerifySubjectAltName } return nil } func (x *CertificateValidationContext) GetMatchSubjectAltNames() []*matcher.StringMatcher { if x != nil { return x.MatchSubjectAltNames } return nil } func (x *CertificateValidationContext) GetRequireOcspStaple() *wrappers.BoolValue { if x != nil { return x.RequireOcspStaple } return nil } func (x *CertificateValidationContext) GetRequireSignedCertificateTimestamp() *wrappers.BoolValue { if x != nil { return x.RequireSignedCertificateTimestamp } return nil } func (x *CertificateValidationContext) GetCrl() *core.DataSource { if x != nil { return x.Crl } return nil } func (x *CertificateValidationContext) GetAllowExpiredCertificate() bool { if x != nil { return x.AllowExpiredCertificate } return false } func (x *CertificateValidationContext) GetTrustChainVerification() CertificateValidationContext_TrustChainVerification { if x != nil { return x.TrustChainVerification } return CertificateValidationContext_VERIFY_TRUST_CHAIN } var File_envoy_api_v2_auth_common_proto protoreflect.FileDescriptor var file_envoy_api_v2_auth_common_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x03, 0x0a, 0x0d, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x77, 0x0a, 0x1c, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x19, 0x74, 0x6c, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x77, 0x0a, 0x1c, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x19, 0x74, 0x6c, 0x73, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x63, 0x64, 0x68, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x63, 0x64, 0x68, 0x43, 0x75, 0x72, 0x76, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x0b, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x30, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x08, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe1, 0x03, 0x0a, 0x0e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x12, 0x5f, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x1a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x59, 0x0a, 0x14, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xfc, 0x06, 0x0a, 0x1c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x12, 0x46, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x6b, 0x69, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, 0x72, 0x04, 0x20, 0x2c, 0x28, 0x2c, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x70, 0x6b, 0x69, 0x12, 0x46, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, 0x72, 0x04, 0x20, 0x40, 0x28, 0x5f, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x12, 0x6b, 0x0a, 0x24, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x03, 0x63, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x03, 0x63, 0x72, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x74, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x16, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x54, 0x52, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, 0xa3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_auth_common_proto_rawDescOnce sync.Once file_envoy_api_v2_auth_common_proto_rawDescData = file_envoy_api_v2_auth_common_proto_rawDesc ) func file_envoy_api_v2_auth_common_proto_rawDescGZIP() []byte { file_envoy_api_v2_auth_common_proto_rawDescOnce.Do(func() { file_envoy_api_v2_auth_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_auth_common_proto_rawDescData) }) return file_envoy_api_v2_auth_common_proto_rawDescData } var file_envoy_api_v2_auth_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_api_v2_auth_common_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_api_v2_auth_common_proto_goTypes = []interface{}{ (TlsParameters_TlsProtocol)(0), // 0: envoy.api.v2.auth.TlsParameters.TlsProtocol (CertificateValidationContext_TrustChainVerification)(0), // 1: envoy.api.v2.auth.CertificateValidationContext.TrustChainVerification (*TlsParameters)(nil), // 2: envoy.api.v2.auth.TlsParameters (*PrivateKeyProvider)(nil), // 3: envoy.api.v2.auth.PrivateKeyProvider (*TlsCertificate)(nil), // 4: envoy.api.v2.auth.TlsCertificate (*TlsSessionTicketKeys)(nil), // 5: envoy.api.v2.auth.TlsSessionTicketKeys (*CertificateValidationContext)(nil), // 6: envoy.api.v2.auth.CertificateValidationContext (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*any1.Any)(nil), // 8: google.protobuf.Any (*core.DataSource)(nil), // 9: envoy.api.v2.core.DataSource (*matcher.StringMatcher)(nil), // 10: envoy.type.matcher.StringMatcher (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue } var file_envoy_api_v2_auth_common_proto_depIdxs = []int32{ 0, // 0: envoy.api.v2.auth.TlsParameters.tls_minimum_protocol_version:type_name -> envoy.api.v2.auth.TlsParameters.TlsProtocol 0, // 1: envoy.api.v2.auth.TlsParameters.tls_maximum_protocol_version:type_name -> envoy.api.v2.auth.TlsParameters.TlsProtocol 7, // 2: envoy.api.v2.auth.PrivateKeyProvider.config:type_name -> google.protobuf.Struct 8, // 3: envoy.api.v2.auth.PrivateKeyProvider.typed_config:type_name -> google.protobuf.Any 9, // 4: envoy.api.v2.auth.TlsCertificate.certificate_chain:type_name -> envoy.api.v2.core.DataSource 9, // 5: envoy.api.v2.auth.TlsCertificate.private_key:type_name -> envoy.api.v2.core.DataSource 3, // 6: envoy.api.v2.auth.TlsCertificate.private_key_provider:type_name -> envoy.api.v2.auth.PrivateKeyProvider 9, // 7: envoy.api.v2.auth.TlsCertificate.password:type_name -> envoy.api.v2.core.DataSource 9, // 8: envoy.api.v2.auth.TlsCertificate.ocsp_staple:type_name -> envoy.api.v2.core.DataSource 9, // 9: envoy.api.v2.auth.TlsCertificate.signed_certificate_timestamp:type_name -> envoy.api.v2.core.DataSource 9, // 10: envoy.api.v2.auth.TlsSessionTicketKeys.keys:type_name -> envoy.api.v2.core.DataSource 9, // 11: envoy.api.v2.auth.CertificateValidationContext.trusted_ca:type_name -> envoy.api.v2.core.DataSource 10, // 12: envoy.api.v2.auth.CertificateValidationContext.match_subject_alt_names:type_name -> envoy.type.matcher.StringMatcher 11, // 13: envoy.api.v2.auth.CertificateValidationContext.require_ocsp_staple:type_name -> google.protobuf.BoolValue 11, // 14: envoy.api.v2.auth.CertificateValidationContext.require_signed_certificate_timestamp:type_name -> google.protobuf.BoolValue 9, // 15: envoy.api.v2.auth.CertificateValidationContext.crl:type_name -> envoy.api.v2.core.DataSource 1, // 16: envoy.api.v2.auth.CertificateValidationContext.trust_chain_verification:type_name -> envoy.api.v2.auth.CertificateValidationContext.TrustChainVerification 17, // [17:17] is the sub-list for method output_type 17, // [17:17] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_envoy_api_v2_auth_common_proto_init() } func file_envoy_api_v2_auth_common_proto_init() { if File_envoy_api_v2_auth_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_auth_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsParameters); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrivateKeyProvider); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsCertificate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsSessionTicketKeys); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateValidationContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_auth_common_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PrivateKeyProvider_Config)(nil), (*PrivateKeyProvider_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_auth_common_proto_rawDesc, NumEnums: 2, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_auth_common_proto_goTypes, DependencyIndexes: file_envoy_api_v2_auth_common_proto_depIdxs, EnumInfos: file_envoy_api_v2_auth_common_proto_enumTypes, MessageInfos: file_envoy_api_v2_auth_common_proto_msgTypes, }.Build() File_envoy_api_v2_auth_common_proto = out.File file_envoy_api_v2_auth_common_proto_rawDesc = nil file_envoy_api_v2_auth_common_proto_goTypes = nil file_envoy_api_v2_auth_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/auth/common.pb.validate.go000077500000000000000000000730341454502223200241730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/auth/common.proto package auth import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TlsParameters with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsParameters) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsParameters with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsParametersMultiError, or // nil if none found. func (m *TlsParameters) ValidateAll() error { return m.validate(true) } func (m *TlsParameters) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TlsParameters_TlsProtocol_name[int32(m.GetTlsMinimumProtocolVersion())]; !ok { err := TlsParametersValidationError{ field: "TlsMinimumProtocolVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := TlsParameters_TlsProtocol_name[int32(m.GetTlsMaximumProtocolVersion())]; !ok { err := TlsParametersValidationError{ field: "TlsMaximumProtocolVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TlsParametersMultiError(errors) } return nil } // TlsParametersMultiError is an error wrapping multiple validation errors // returned by TlsParameters.ValidateAll() if the designated constraints // aren't met. type TlsParametersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsParametersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsParametersMultiError) AllErrors() []error { return m } // TlsParametersValidationError is the validation error returned by // TlsParameters.Validate if the designated constraints aren't met. type TlsParametersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsParametersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsParametersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsParametersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsParametersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsParametersValidationError) ErrorName() string { return "TlsParametersValidationError" } // Error satisfies the builtin error interface func (e TlsParametersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsParameters.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsParametersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsParametersValidationError{} // Validate checks the field values on PrivateKeyProvider with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PrivateKeyProvider) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PrivateKeyProvider with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PrivateKeyProviderMultiError, or nil if none found. func (m *PrivateKeyProvider) ValidateAll() error { return m.validate(true) } func (m *PrivateKeyProvider) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetProviderName()) < 1 { err := PrivateKeyProviderValidationError{ field: "ProviderName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *PrivateKeyProvider_Config: if v == nil { err := PrivateKeyProviderValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrivateKeyProviderValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *PrivateKeyProvider_TypedConfig: if v == nil { err := PrivateKeyProviderValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PrivateKeyProviderMultiError(errors) } return nil } // PrivateKeyProviderMultiError is an error wrapping multiple validation errors // returned by PrivateKeyProvider.ValidateAll() if the designated constraints // aren't met. type PrivateKeyProviderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PrivateKeyProviderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PrivateKeyProviderMultiError) AllErrors() []error { return m } // PrivateKeyProviderValidationError is the validation error returned by // PrivateKeyProvider.Validate if the designated constraints aren't met. type PrivateKeyProviderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PrivateKeyProviderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PrivateKeyProviderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PrivateKeyProviderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PrivateKeyProviderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PrivateKeyProviderValidationError) ErrorName() string { return "PrivateKeyProviderValidationError" } // Error satisfies the builtin error interface func (e PrivateKeyProviderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrivateKeyProvider.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PrivateKeyProviderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PrivateKeyProviderValidationError{} // Validate checks the field values on TlsCertificate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsCertificate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsCertificate with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsCertificateMultiError, // or nil if none found. func (m *TlsCertificate) ValidateAll() error { return m.validate(true) } func (m *TlsCertificate) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCertificateChain()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCertificateChain()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKeyProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKeyProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOcspStaple()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOcspStaple()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSignedCertificateTimestamp() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TlsCertificateMultiError(errors) } return nil } // TlsCertificateMultiError is an error wrapping multiple validation errors // returned by TlsCertificate.ValidateAll() if the designated constraints // aren't met. type TlsCertificateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsCertificateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsCertificateMultiError) AllErrors() []error { return m } // TlsCertificateValidationError is the validation error returned by // TlsCertificate.Validate if the designated constraints aren't met. type TlsCertificateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsCertificateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsCertificateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsCertificateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsCertificateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsCertificateValidationError) ErrorName() string { return "TlsCertificateValidationError" } // Error satisfies the builtin error interface func (e TlsCertificateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsCertificate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsCertificateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsCertificateValidationError{} // Validate checks the field values on TlsSessionTicketKeys with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TlsSessionTicketKeys) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsSessionTicketKeys with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TlsSessionTicketKeysMultiError, or nil if none found. func (m *TlsSessionTicketKeys) ValidateAll() error { return m.validate(true) } func (m *TlsSessionTicketKeys) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetKeys()) < 1 { err := TlsSessionTicketKeysValidationError{ field: "Keys", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetKeys() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TlsSessionTicketKeysMultiError(errors) } return nil } // TlsSessionTicketKeysMultiError is an error wrapping multiple validation // errors returned by TlsSessionTicketKeys.ValidateAll() if the designated // constraints aren't met. type TlsSessionTicketKeysMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsSessionTicketKeysMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsSessionTicketKeysMultiError) AllErrors() []error { return m } // TlsSessionTicketKeysValidationError is the validation error returned by // TlsSessionTicketKeys.Validate if the designated constraints aren't met. type TlsSessionTicketKeysValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsSessionTicketKeysValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsSessionTicketKeysValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsSessionTicketKeysValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsSessionTicketKeysValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsSessionTicketKeysValidationError) ErrorName() string { return "TlsSessionTicketKeysValidationError" } // Error satisfies the builtin error interface func (e TlsSessionTicketKeysValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsSessionTicketKeys.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsSessionTicketKeysValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsSessionTicketKeysValidationError{} // Validate checks the field values on CertificateValidationContext with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CertificateValidationContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateValidationContext with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CertificateValidationContextMultiError, or nil if none found. func (m *CertificateValidationContext) ValidateAll() error { return m.validate(true) } func (m *CertificateValidationContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTrustedCa()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrustedCa()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetVerifyCertificateSpki() { _, _ = idx, item if len(item) != 44 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateSpki[%v]", idx), reason: "value length must be 44 bytes", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetVerifyCertificateHash() { _, _ = idx, item if l := len(item); l < 64 || l > 95 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateHash[%v]", idx), reason: "value length must be between 64 and 95 bytes, inclusive", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetMatchSubjectAltNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetRequireOcspStaple()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireOcspStaple", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireOcspStaple", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireOcspStaple()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "RequireOcspStaple", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequireSignedCertificateTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireSignedCertificateTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCrl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCrl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowExpiredCertificate if _, ok := CertificateValidationContext_TrustChainVerification_name[int32(m.GetTrustChainVerification())]; !ok { err := CertificateValidationContextValidationError{ field: "TrustChainVerification", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CertificateValidationContextMultiError(errors) } return nil } // CertificateValidationContextMultiError is an error wrapping multiple // validation errors returned by CertificateValidationContext.ValidateAll() if // the designated constraints aren't met. type CertificateValidationContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateValidationContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateValidationContextMultiError) AllErrors() []error { return m } // CertificateValidationContextValidationError is the validation error returned // by CertificateValidationContext.Validate if the designated constraints // aren't met. type CertificateValidationContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateValidationContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateValidationContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateValidationContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateValidationContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateValidationContextValidationError) ErrorName() string { return "CertificateValidationContextValidationError" } // Error satisfies the builtin error interface func (e CertificateValidationContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateValidationContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateValidationContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateValidationContextValidationError{} go-control-plane-0.12.0/envoy/api/v2/auth/secret.pb.go000077500000000000000000000412571454502223200224020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/auth/secret.proto package auth import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GenericSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Secret of generic type and is available to filters. Secret *core.DataSource `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *GenericSecret) Reset() { *x = GenericSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericSecret) ProtoMessage() {} func (x *GenericSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericSecret.ProtoReflect.Descriptor instead. func (*GenericSecret) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_secret_proto_rawDescGZIP(), []int{0} } func (x *GenericSecret) GetSecret() *core.DataSource { if x != nil { return x.Secret } return nil } type SdsSecretConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to. // When both name and config are specified, then secret can be fetched and/or reloaded via // SDS. When only name is specified, then secret will be loaded from static resources. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` SdsConfig *core.ConfigSource `protobuf:"bytes,2,opt,name=sds_config,json=sdsConfig,proto3" json:"sds_config,omitempty"` } func (x *SdsSecretConfig) Reset() { *x = SdsSecretConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SdsSecretConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SdsSecretConfig) ProtoMessage() {} func (x *SdsSecretConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SdsSecretConfig.ProtoReflect.Descriptor instead. func (*SdsSecretConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_secret_proto_rawDescGZIP(), []int{1} } func (x *SdsSecretConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *SdsSecretConfig) GetSdsConfig() *core.ConfigSource { if x != nil { return x.SdsConfig } return nil } // [#next-free-field: 6] type Secret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Type: // // *Secret_TlsCertificate // *Secret_SessionTicketKeys // *Secret_ValidationContext // *Secret_GenericSecret Type isSecret_Type `protobuf_oneof:"type"` } func (x *Secret) Reset() { *x = Secret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Secret) String() string { return protoimpl.X.MessageStringOf(x) } func (*Secret) ProtoMessage() {} func (x *Secret) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_secret_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Secret.ProtoReflect.Descriptor instead. func (*Secret) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_secret_proto_rawDescGZIP(), []int{2} } func (x *Secret) GetName() string { if x != nil { return x.Name } return "" } func (m *Secret) GetType() isSecret_Type { if m != nil { return m.Type } return nil } func (x *Secret) GetTlsCertificate() *TlsCertificate { if x, ok := x.GetType().(*Secret_TlsCertificate); ok { return x.TlsCertificate } return nil } func (x *Secret) GetSessionTicketKeys() *TlsSessionTicketKeys { if x, ok := x.GetType().(*Secret_SessionTicketKeys); ok { return x.SessionTicketKeys } return nil } func (x *Secret) GetValidationContext() *CertificateValidationContext { if x, ok := x.GetType().(*Secret_ValidationContext); ok { return x.ValidationContext } return nil } func (x *Secret) GetGenericSecret() *GenericSecret { if x, ok := x.GetType().(*Secret_GenericSecret); ok { return x.GenericSecret } return nil } type isSecret_Type interface { isSecret_Type() } type Secret_TlsCertificate struct { TlsCertificate *TlsCertificate `protobuf:"bytes,2,opt,name=tls_certificate,json=tlsCertificate,proto3,oneof"` } type Secret_SessionTicketKeys struct { SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,3,opt,name=session_ticket_keys,json=sessionTicketKeys,proto3,oneof"` } type Secret_ValidationContext struct { ValidationContext *CertificateValidationContext `protobuf:"bytes,4,opt,name=validation_context,json=validationContext,proto3,oneof"` } type Secret_GenericSecret struct { GenericSecret *GenericSecret `protobuf:"bytes,5,opt,name=generic_secret,json=genericSecret,proto3,oneof"` } func (*Secret_TlsCertificate) isSecret_Type() {} func (*Secret_SessionTicketKeys) isSecret_Type() {} func (*Secret_ValidationContext) isSecret_Type() {} func (*Secret_GenericSecret) isSecret_Type() {} var File_envoy_api_v2_auth_secret_proto protoreflect.FileDescriptor var file_envoy_api_v2_auth_secret_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x65, 0x0a, 0x0f, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x73, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfa, 0x02, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0xa3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x42, 0x0b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_auth_secret_proto_rawDescOnce sync.Once file_envoy_api_v2_auth_secret_proto_rawDescData = file_envoy_api_v2_auth_secret_proto_rawDesc ) func file_envoy_api_v2_auth_secret_proto_rawDescGZIP() []byte { file_envoy_api_v2_auth_secret_proto_rawDescOnce.Do(func() { file_envoy_api_v2_auth_secret_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_auth_secret_proto_rawDescData) }) return file_envoy_api_v2_auth_secret_proto_rawDescData } var file_envoy_api_v2_auth_secret_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_api_v2_auth_secret_proto_goTypes = []interface{}{ (*GenericSecret)(nil), // 0: envoy.api.v2.auth.GenericSecret (*SdsSecretConfig)(nil), // 1: envoy.api.v2.auth.SdsSecretConfig (*Secret)(nil), // 2: envoy.api.v2.auth.Secret (*core.DataSource)(nil), // 3: envoy.api.v2.core.DataSource (*core.ConfigSource)(nil), // 4: envoy.api.v2.core.ConfigSource (*TlsCertificate)(nil), // 5: envoy.api.v2.auth.TlsCertificate (*TlsSessionTicketKeys)(nil), // 6: envoy.api.v2.auth.TlsSessionTicketKeys (*CertificateValidationContext)(nil), // 7: envoy.api.v2.auth.CertificateValidationContext } var file_envoy_api_v2_auth_secret_proto_depIdxs = []int32{ 3, // 0: envoy.api.v2.auth.GenericSecret.secret:type_name -> envoy.api.v2.core.DataSource 4, // 1: envoy.api.v2.auth.SdsSecretConfig.sds_config:type_name -> envoy.api.v2.core.ConfigSource 5, // 2: envoy.api.v2.auth.Secret.tls_certificate:type_name -> envoy.api.v2.auth.TlsCertificate 6, // 3: envoy.api.v2.auth.Secret.session_ticket_keys:type_name -> envoy.api.v2.auth.TlsSessionTicketKeys 7, // 4: envoy.api.v2.auth.Secret.validation_context:type_name -> envoy.api.v2.auth.CertificateValidationContext 0, // 5: envoy.api.v2.auth.Secret.generic_secret:type_name -> envoy.api.v2.auth.GenericSecret 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_api_v2_auth_secret_proto_init() } func file_envoy_api_v2_auth_secret_proto_init() { if File_envoy_api_v2_auth_secret_proto != nil { return } file_envoy_api_v2_auth_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_auth_secret_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_secret_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SdsSecretConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_secret_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Secret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_auth_secret_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Secret_TlsCertificate)(nil), (*Secret_SessionTicketKeys)(nil), (*Secret_ValidationContext)(nil), (*Secret_GenericSecret)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_auth_secret_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_auth_secret_proto_goTypes, DependencyIndexes: file_envoy_api_v2_auth_secret_proto_depIdxs, MessageInfos: file_envoy_api_v2_auth_secret_proto_msgTypes, }.Build() File_envoy_api_v2_auth_secret_proto = out.File file_envoy_api_v2_auth_secret_proto_rawDesc = nil file_envoy_api_v2_auth_secret_proto_goTypes = nil file_envoy_api_v2_auth_secret_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/auth/secret.pb.validate.go000077500000000000000000000346161454502223200241730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/auth/secret.proto package auth import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GenericSecret with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GenericSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericSecret with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GenericSecretMultiError, or // nil if none found. func (m *GenericSecret) ValidateAll() error { return m.validate(true) } func (m *GenericSecret) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GenericSecretMultiError(errors) } return nil } // GenericSecretMultiError is an error wrapping multiple validation errors // returned by GenericSecret.ValidateAll() if the designated constraints // aren't met. type GenericSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericSecretMultiError) AllErrors() []error { return m } // GenericSecretValidationError is the validation error returned by // GenericSecret.Validate if the designated constraints aren't met. type GenericSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericSecretValidationError) ErrorName() string { return "GenericSecretValidationError" } // Error satisfies the builtin error interface func (e GenericSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericSecretValidationError{} // Validate checks the field values on SdsSecretConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SdsSecretConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SdsSecretConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SdsSecretConfigMultiError, or nil if none found. func (m *SdsSecretConfig) ValidateAll() error { return m.validate(true) } func (m *SdsSecretConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetSdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SdsSecretConfigMultiError(errors) } return nil } // SdsSecretConfigMultiError is an error wrapping multiple validation errors // returned by SdsSecretConfig.ValidateAll() if the designated constraints // aren't met. type SdsSecretConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SdsSecretConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SdsSecretConfigMultiError) AllErrors() []error { return m } // SdsSecretConfigValidationError is the validation error returned by // SdsSecretConfig.Validate if the designated constraints aren't met. type SdsSecretConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SdsSecretConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SdsSecretConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SdsSecretConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SdsSecretConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SdsSecretConfigValidationError) ErrorName() string { return "SdsSecretConfigValidationError" } // Error satisfies the builtin error interface func (e SdsSecretConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSdsSecretConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SdsSecretConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SdsSecretConfigValidationError{} // Validate checks the field values on Secret with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Secret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Secret with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SecretMultiError, or nil if none found. func (m *Secret) ValidateAll() error { return m.validate(true) } func (m *Secret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.Type.(type) { case *Secret_TlsCertificate: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTlsCertificate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCertificate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, } } } case *Secret_SessionTicketKeys: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, } } } case *Secret_ValidationContext: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, } } } case *Secret_GenericSecret: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGenericSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SecretMultiError(errors) } return nil } // SecretMultiError is an error wrapping multiple validation errors returned by // Secret.ValidateAll() if the designated constraints aren't met. type SecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretMultiError) AllErrors() []error { return m } // SecretValidationError is the validation error returned by Secret.Validate if // the designated constraints aren't met. type SecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretValidationError) ErrorName() string { return "SecretValidationError" } // Error satisfies the builtin error interface func (e SecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretValidationError{} go-control-plane-0.12.0/envoy/api/v2/auth/tls.pb.go000077500000000000000000001147371454502223200217230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/auth/tls.proto package auth import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type UpstreamTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common TLS context settings. // // .. attention:: // // Server certificate verification is not enabled by default. Configure // :ref:`trusted_ca` to enable // verification. CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext,proto3" json:"common_tls_context,omitempty"` // SNI string to use when creating TLS backend connections. Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"` // If true, server-initiated TLS renegotiation will be allowed. // // .. attention:: // // TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary. AllowRenegotiation bool `protobuf:"varint,3,opt,name=allow_renegotiation,json=allowRenegotiation,proto3" json:"allow_renegotiation,omitempty"` // Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets // for TLSv1.2 and older) to store for the purpose of session resumption. // // Defaults to 1, setting this to 0 disables session resumption. MaxSessionKeys *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_session_keys,json=maxSessionKeys,proto3" json:"max_session_keys,omitempty"` } func (x *UpstreamTlsContext) Reset() { *x = UpstreamTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamTlsContext) ProtoMessage() {} func (x *UpstreamTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamTlsContext.ProtoReflect.Descriptor instead. func (*UpstreamTlsContext) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_tls_proto_rawDescGZIP(), []int{0} } func (x *UpstreamTlsContext) GetCommonTlsContext() *CommonTlsContext { if x != nil { return x.CommonTlsContext } return nil } func (x *UpstreamTlsContext) GetSni() string { if x != nil { return x.Sni } return "" } func (x *UpstreamTlsContext) GetAllowRenegotiation() bool { if x != nil { return x.AllowRenegotiation } return false } func (x *UpstreamTlsContext) GetMaxSessionKeys() *wrappers.UInt32Value { if x != nil { return x.MaxSessionKeys } return nil } // [#next-free-field: 8] type DownstreamTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common TLS context settings. CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext,proto3" json:"common_tls_context,omitempty"` // If specified, Envoy will reject connections without a valid client // certificate. RequireClientCertificate *wrappers.BoolValue `protobuf:"bytes,2,opt,name=require_client_certificate,json=requireClientCertificate,proto3" json:"require_client_certificate,omitempty"` // If specified, Envoy will reject connections without a valid and matching SNI. // [#not-implemented-hide:] RequireSni *wrappers.BoolValue `protobuf:"bytes,3,opt,name=require_sni,json=requireSni,proto3" json:"require_sni,omitempty"` // Types that are assignable to SessionTicketKeysType: // // *DownstreamTlsContext_SessionTicketKeys // *DownstreamTlsContext_SessionTicketKeysSdsSecretConfig // *DownstreamTlsContext_DisableStatelessSessionResumption SessionTicketKeysType isDownstreamTlsContext_SessionTicketKeysType `protobuf_oneof:"session_ticket_keys_type"` // If specified, “session_timeout“ will change the maximum lifetime (in seconds) of the TLS session. // Currently this value is used as a hint for the `TLS session ticket lifetime (for TLSv1.2) `_. // Only seconds can be specified (fractional seconds are ignored). SessionTimeout *duration.Duration `protobuf:"bytes,6,opt,name=session_timeout,json=sessionTimeout,proto3" json:"session_timeout,omitempty"` } func (x *DownstreamTlsContext) Reset() { *x = DownstreamTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DownstreamTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*DownstreamTlsContext) ProtoMessage() {} func (x *DownstreamTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DownstreamTlsContext.ProtoReflect.Descriptor instead. func (*DownstreamTlsContext) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_tls_proto_rawDescGZIP(), []int{1} } func (x *DownstreamTlsContext) GetCommonTlsContext() *CommonTlsContext { if x != nil { return x.CommonTlsContext } return nil } func (x *DownstreamTlsContext) GetRequireClientCertificate() *wrappers.BoolValue { if x != nil { return x.RequireClientCertificate } return nil } func (x *DownstreamTlsContext) GetRequireSni() *wrappers.BoolValue { if x != nil { return x.RequireSni } return nil } func (m *DownstreamTlsContext) GetSessionTicketKeysType() isDownstreamTlsContext_SessionTicketKeysType { if m != nil { return m.SessionTicketKeysType } return nil } func (x *DownstreamTlsContext) GetSessionTicketKeys() *TlsSessionTicketKeys { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_SessionTicketKeys); ok { return x.SessionTicketKeys } return nil } func (x *DownstreamTlsContext) GetSessionTicketKeysSdsSecretConfig() *SdsSecretConfig { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig); ok { return x.SessionTicketKeysSdsSecretConfig } return nil } func (x *DownstreamTlsContext) GetDisableStatelessSessionResumption() bool { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_DisableStatelessSessionResumption); ok { return x.DisableStatelessSessionResumption } return false } func (x *DownstreamTlsContext) GetSessionTimeout() *duration.Duration { if x != nil { return x.SessionTimeout } return nil } type isDownstreamTlsContext_SessionTicketKeysType interface { isDownstreamTlsContext_SessionTicketKeysType() } type DownstreamTlsContext_SessionTicketKeys struct { // TLS session ticket key settings. SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,4,opt,name=session_ticket_keys,json=sessionTicketKeys,proto3,oneof"` } type DownstreamTlsContext_SessionTicketKeysSdsSecretConfig struct { // Config for fetching TLS session ticket keys via SDS API. SessionTicketKeysSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,5,opt,name=session_ticket_keys_sds_secret_config,json=sessionTicketKeysSdsSecretConfig,proto3,oneof"` } type DownstreamTlsContext_DisableStatelessSessionResumption struct { // Config for controlling stateless TLS session resumption: setting this to true will cause the TLS // server to not issue TLS session tickets for the purposes of stateless TLS session resumption. // If set to false, the TLS server will issue TLS session tickets and encrypt/decrypt them using // the keys specified through either :ref:`session_ticket_keys ` // or :ref:`session_ticket_keys_sds_secret_config `. // If this config is set to false and no keys are explicitly configured, the TLS server will issue // TLS session tickets and encrypt/decrypt them using an internally-generated and managed key, with the // implication that sessions cannot be resumed across hot restarts or on different hosts. DisableStatelessSessionResumption bool `protobuf:"varint,7,opt,name=disable_stateless_session_resumption,json=disableStatelessSessionResumption,proto3,oneof"` } func (*DownstreamTlsContext_SessionTicketKeys) isDownstreamTlsContext_SessionTicketKeysType() {} func (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig) isDownstreamTlsContext_SessionTicketKeysType() { } func (*DownstreamTlsContext_DisableStatelessSessionResumption) isDownstreamTlsContext_SessionTicketKeysType() { } // TLS context shared by both client and server TLS contexts. // [#next-free-field: 9] type CommonTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // TLS protocol versions, cipher suites etc. TlsParams *TlsParameters `protobuf:"bytes,1,opt,name=tls_params,json=tlsParams,proto3" json:"tls_params,omitempty"` // :ref:`Multiple TLS certificates ` can be associated with the // same context to allow both RSA and ECDSA certificates. // // Only a single TLS certificate is supported in client contexts. In server contexts, the first // RSA certificate is used for clients that only support RSA and the first ECDSA certificate is // used for clients that support ECDSA. TlsCertificates []*TlsCertificate `protobuf:"bytes,2,rep,name=tls_certificates,json=tlsCertificates,proto3" json:"tls_certificates,omitempty"` // Configs for fetching TLS certificates via SDS API. TlsCertificateSdsSecretConfigs []*SdsSecretConfig `protobuf:"bytes,6,rep,name=tls_certificate_sds_secret_configs,json=tlsCertificateSdsSecretConfigs,proto3" json:"tls_certificate_sds_secret_configs,omitempty"` // Types that are assignable to ValidationContextType: // // *CommonTlsContext_ValidationContext // *CommonTlsContext_ValidationContextSdsSecretConfig // *CommonTlsContext_CombinedValidationContext ValidationContextType isCommonTlsContext_ValidationContextType `protobuf_oneof:"validation_context_type"` // Supplies the list of ALPN protocols that the listener should expose. In // practice this is likely to be set to one of two values (see the // :ref:`codec_type // ` // parameter in the HTTP connection manager for more information): // // * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1. // * "http/1.1" If the listener is only going to support HTTP/1.1. // // There is no default for this parameter. If empty, Envoy will not expose ALPN. AlpnProtocols []string `protobuf:"bytes,4,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"` } func (x *CommonTlsContext) Reset() { *x = CommonTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext) ProtoMessage() {} func (x *CommonTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext.ProtoReflect.Descriptor instead. func (*CommonTlsContext) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_tls_proto_rawDescGZIP(), []int{2} } func (x *CommonTlsContext) GetTlsParams() *TlsParameters { if x != nil { return x.TlsParams } return nil } func (x *CommonTlsContext) GetTlsCertificates() []*TlsCertificate { if x != nil { return x.TlsCertificates } return nil } func (x *CommonTlsContext) GetTlsCertificateSdsSecretConfigs() []*SdsSecretConfig { if x != nil { return x.TlsCertificateSdsSecretConfigs } return nil } func (m *CommonTlsContext) GetValidationContextType() isCommonTlsContext_ValidationContextType { if m != nil { return m.ValidationContextType } return nil } func (x *CommonTlsContext) GetValidationContext() *CertificateValidationContext { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContext); ok { return x.ValidationContext } return nil } func (x *CommonTlsContext) GetValidationContextSdsSecretConfig() *SdsSecretConfig { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContextSdsSecretConfig); ok { return x.ValidationContextSdsSecretConfig } return nil } func (x *CommonTlsContext) GetCombinedValidationContext() *CommonTlsContext_CombinedCertificateValidationContext { if x, ok := x.GetValidationContextType().(*CommonTlsContext_CombinedValidationContext); ok { return x.CombinedValidationContext } return nil } func (x *CommonTlsContext) GetAlpnProtocols() []string { if x != nil { return x.AlpnProtocols } return nil } type isCommonTlsContext_ValidationContextType interface { isCommonTlsContext_ValidationContextType() } type CommonTlsContext_ValidationContext struct { // How to validate peer certificates. ValidationContext *CertificateValidationContext `protobuf:"bytes,3,opt,name=validation_context,json=validationContext,proto3,oneof"` } type CommonTlsContext_ValidationContextSdsSecretConfig struct { // Config for fetching validation context via SDS API. ValidationContextSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,7,opt,name=validation_context_sds_secret_config,json=validationContextSdsSecretConfig,proto3,oneof"` } type CommonTlsContext_CombinedValidationContext struct { // Combined certificate validation context holds a default CertificateValidationContext // and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic // and default CertificateValidationContext are merged into a new CertificateValidationContext // for validation. This merge is done by Message::MergeFrom(), so dynamic // CertificateValidationContext overwrites singular fields in default // CertificateValidationContext, and concatenates repeated fields to default // CertificateValidationContext, and logical OR is applied to boolean fields. CombinedValidationContext *CommonTlsContext_CombinedCertificateValidationContext `protobuf:"bytes,8,opt,name=combined_validation_context,json=combinedValidationContext,proto3,oneof"` } func (*CommonTlsContext_ValidationContext) isCommonTlsContext_ValidationContextType() {} func (*CommonTlsContext_ValidationContextSdsSecretConfig) isCommonTlsContext_ValidationContextType() { } func (*CommonTlsContext_CombinedValidationContext) isCommonTlsContext_ValidationContextType() {} type CommonTlsContext_CombinedCertificateValidationContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How to validate peer certificates. DefaultValidationContext *CertificateValidationContext `protobuf:"bytes,1,opt,name=default_validation_context,json=defaultValidationContext,proto3" json:"default_validation_context,omitempty"` // Config for fetching validation context via SDS API. ValidationContextSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,2,opt,name=validation_context_sds_secret_config,json=validationContextSdsSecretConfig,proto3" json:"validation_context_sds_secret_config,omitempty"` } func (x *CommonTlsContext_CombinedCertificateValidationContext) Reset() { *x = CommonTlsContext_CombinedCertificateValidationContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext_CombinedCertificateValidationContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext_CombinedCertificateValidationContext) ProtoMessage() {} func (x *CommonTlsContext_CombinedCertificateValidationContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_auth_tls_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext_CombinedCertificateValidationContext.ProtoReflect.Descriptor instead. func (*CommonTlsContext_CombinedCertificateValidationContext) Descriptor() ([]byte, []int) { return file_envoy_api_v2_auth_tls_proto_rawDescGZIP(), []int{2, 0} } func (x *CommonTlsContext_CombinedCertificateValidationContext) GetDefaultValidationContext() *CertificateValidationContext { if x != nil { return x.DefaultValidationContext } return nil } func (x *CommonTlsContext_CombinedCertificateValidationContext) GetValidationContextSdsSecretConfig() *SdsSecretConfig { if x != nil { return x.ValidationContextSdsSecretConfig } return nil } var File_envoy_api_v2_auth_tls_proto protoreflect.FileDescriptor var file_envoy_api_v2_auth_tls_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0xff, 0x01, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x97, 0x05, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x6e, 0x69, 0x12, 0x59, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x75, 0x0a, 0x25, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x24, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x21, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0xaa, 0x01, 0x0a, 0x1a, 0x06, 0x08, 0x80, 0x80, 0x80, 0x80, 0x10, 0x32, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe8, 0x07, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x22, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x74, 0x0a, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x24, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x77, 0x0a, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x7c, 0x0a, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x19, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x42, 0xa0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x42, 0x08, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_auth_tls_proto_rawDescOnce sync.Once file_envoy_api_v2_auth_tls_proto_rawDescData = file_envoy_api_v2_auth_tls_proto_rawDesc ) func file_envoy_api_v2_auth_tls_proto_rawDescGZIP() []byte { file_envoy_api_v2_auth_tls_proto_rawDescOnce.Do(func() { file_envoy_api_v2_auth_tls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_auth_tls_proto_rawDescData) }) return file_envoy_api_v2_auth_tls_proto_rawDescData } var file_envoy_api_v2_auth_tls_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_api_v2_auth_tls_proto_goTypes = []interface{}{ (*UpstreamTlsContext)(nil), // 0: envoy.api.v2.auth.UpstreamTlsContext (*DownstreamTlsContext)(nil), // 1: envoy.api.v2.auth.DownstreamTlsContext (*CommonTlsContext)(nil), // 2: envoy.api.v2.auth.CommonTlsContext (*CommonTlsContext_CombinedCertificateValidationContext)(nil), // 3: envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 5: google.protobuf.BoolValue (*TlsSessionTicketKeys)(nil), // 6: envoy.api.v2.auth.TlsSessionTicketKeys (*SdsSecretConfig)(nil), // 7: envoy.api.v2.auth.SdsSecretConfig (*duration.Duration)(nil), // 8: google.protobuf.Duration (*TlsParameters)(nil), // 9: envoy.api.v2.auth.TlsParameters (*TlsCertificate)(nil), // 10: envoy.api.v2.auth.TlsCertificate (*CertificateValidationContext)(nil), // 11: envoy.api.v2.auth.CertificateValidationContext } var file_envoy_api_v2_auth_tls_proto_depIdxs = []int32{ 2, // 0: envoy.api.v2.auth.UpstreamTlsContext.common_tls_context:type_name -> envoy.api.v2.auth.CommonTlsContext 4, // 1: envoy.api.v2.auth.UpstreamTlsContext.max_session_keys:type_name -> google.protobuf.UInt32Value 2, // 2: envoy.api.v2.auth.DownstreamTlsContext.common_tls_context:type_name -> envoy.api.v2.auth.CommonTlsContext 5, // 3: envoy.api.v2.auth.DownstreamTlsContext.require_client_certificate:type_name -> google.protobuf.BoolValue 5, // 4: envoy.api.v2.auth.DownstreamTlsContext.require_sni:type_name -> google.protobuf.BoolValue 6, // 5: envoy.api.v2.auth.DownstreamTlsContext.session_ticket_keys:type_name -> envoy.api.v2.auth.TlsSessionTicketKeys 7, // 6: envoy.api.v2.auth.DownstreamTlsContext.session_ticket_keys_sds_secret_config:type_name -> envoy.api.v2.auth.SdsSecretConfig 8, // 7: envoy.api.v2.auth.DownstreamTlsContext.session_timeout:type_name -> google.protobuf.Duration 9, // 8: envoy.api.v2.auth.CommonTlsContext.tls_params:type_name -> envoy.api.v2.auth.TlsParameters 10, // 9: envoy.api.v2.auth.CommonTlsContext.tls_certificates:type_name -> envoy.api.v2.auth.TlsCertificate 7, // 10: envoy.api.v2.auth.CommonTlsContext.tls_certificate_sds_secret_configs:type_name -> envoy.api.v2.auth.SdsSecretConfig 11, // 11: envoy.api.v2.auth.CommonTlsContext.validation_context:type_name -> envoy.api.v2.auth.CertificateValidationContext 7, // 12: envoy.api.v2.auth.CommonTlsContext.validation_context_sds_secret_config:type_name -> envoy.api.v2.auth.SdsSecretConfig 3, // 13: envoy.api.v2.auth.CommonTlsContext.combined_validation_context:type_name -> envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext 11, // 14: envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.default_validation_context:type_name -> envoy.api.v2.auth.CertificateValidationContext 7, // 15: envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.validation_context_sds_secret_config:type_name -> envoy.api.v2.auth.SdsSecretConfig 16, // [16:16] is the sub-list for method output_type 16, // [16:16] is the sub-list for method input_type 16, // [16:16] is the sub-list for extension type_name 16, // [16:16] is the sub-list for extension extendee 0, // [0:16] is the sub-list for field type_name } func init() { file_envoy_api_v2_auth_tls_proto_init() } func file_envoy_api_v2_auth_tls_proto_init() { if File_envoy_api_v2_auth_tls_proto != nil { return } file_envoy_api_v2_auth_common_proto_init() file_envoy_api_v2_auth_secret_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_auth_tls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_tls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DownstreamTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_tls_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_auth_tls_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext_CombinedCertificateValidationContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_auth_tls_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DownstreamTlsContext_SessionTicketKeys)(nil), (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig)(nil), (*DownstreamTlsContext_DisableStatelessSessionResumption)(nil), } file_envoy_api_v2_auth_tls_proto_msgTypes[2].OneofWrappers = []interface{}{ (*CommonTlsContext_ValidationContext)(nil), (*CommonTlsContext_ValidationContextSdsSecretConfig)(nil), (*CommonTlsContext_CombinedValidationContext)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_auth_tls_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_auth_tls_proto_goTypes, DependencyIndexes: file_envoy_api_v2_auth_tls_proto_depIdxs, MessageInfos: file_envoy_api_v2_auth_tls_proto_msgTypes, }.Build() File_envoy_api_v2_auth_tls_proto = out.File file_envoy_api_v2_auth_tls_proto_rawDesc = nil file_envoy_api_v2_auth_tls_proto_goTypes = nil file_envoy_api_v2_auth_tls_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/auth/tls.pb.validate.go000077500000000000000000000737031454502223200235100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/auth/tls.proto package auth import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamTlsContextMultiError, or nil if none found. func (m *UpstreamTlsContext) ValidateAll() error { return m.validate(true) } func (m *UpstreamTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, } } } if len(m.GetSni()) > 255 { err := UpstreamTlsContextValidationError{ field: "Sni", reason: "value length must be at most 255 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowRenegotiation if all { switch v := interface{}(m.GetMaxSessionKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxSessionKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamTlsContextMultiError(errors) } return nil } // UpstreamTlsContextMultiError is an error wrapping multiple validation errors // returned by UpstreamTlsContext.ValidateAll() if the designated constraints // aren't met. type UpstreamTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamTlsContextMultiError) AllErrors() []error { return m } // UpstreamTlsContextValidationError is the validation error returned by // UpstreamTlsContext.Validate if the designated constraints aren't met. type UpstreamTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamTlsContextValidationError) ErrorName() string { return "UpstreamTlsContextValidationError" } // Error satisfies the builtin error interface func (e UpstreamTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamTlsContextValidationError{} // Validate checks the field values on DownstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DownstreamTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DownstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DownstreamTlsContextMultiError, or nil if none found. func (m *DownstreamTlsContext) ValidateAll() error { return m.validate(true) } func (m *DownstreamTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequireClientCertificate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireClientCertificate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequireSni()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireSni()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, } } } if d := m.GetSessionTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DownstreamTlsContextValidationError{ field: "SessionTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(4294967296*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte || dur >= lt { err := DownstreamTlsContextValidationError{ field: "SessionTimeout", reason: "value must be inside range [0s, 1193046h28m16s)", } if !all { return err } errors = append(errors, err) } } } switch v := m.SessionTicketKeysType.(type) { case *DownstreamTlsContext_SessionTicketKeys: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, } } } case *DownstreamTlsContext_SessionTicketKeysSdsSecretConfig: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeysSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeysSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } case *DownstreamTlsContext_DisableStatelessSessionResumption: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for DisableStatelessSessionResumption default: _ = v // ensures v is used } if len(errors) > 0 { return DownstreamTlsContextMultiError(errors) } return nil } // DownstreamTlsContextMultiError is an error wrapping multiple validation // errors returned by DownstreamTlsContext.ValidateAll() if the designated // constraints aren't met. type DownstreamTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DownstreamTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DownstreamTlsContextMultiError) AllErrors() []error { return m } // DownstreamTlsContextValidationError is the validation error returned by // DownstreamTlsContext.Validate if the designated constraints aren't met. type DownstreamTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DownstreamTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DownstreamTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DownstreamTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DownstreamTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DownstreamTlsContextValidationError) ErrorName() string { return "DownstreamTlsContextValidationError" } // Error satisfies the builtin error interface func (e DownstreamTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDownstreamTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DownstreamTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DownstreamTlsContextValidationError{} // Validate checks the field values on CommonTlsContext with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CommonTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonTlsContextMultiError, or nil if none found. func (m *CommonTlsContext) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTlsParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetTlsCertificates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetTlsCertificateSdsSecretConfigs()) > 1 { err := CommonTlsContextValidationError{ field: "TlsCertificateSdsSecretConfigs", reason: "value must contain no more than 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTlsCertificateSdsSecretConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } switch v := m.ValidationContextType.(type) { case *CommonTlsContext_ValidationContext: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_ValidationContextSdsSecretConfig: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_CombinedValidationContext: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCombinedValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCombinedValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CommonTlsContextMultiError(errors) } return nil } // CommonTlsContextMultiError is an error wrapping multiple validation errors // returned by CommonTlsContext.ValidateAll() if the designated constraints // aren't met. type CommonTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContextMultiError) AllErrors() []error { return m } // CommonTlsContextValidationError is the validation error returned by // CommonTlsContext.Validate if the designated constraints aren't met. type CommonTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContextValidationError) ErrorName() string { return "CommonTlsContextValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContextValidationError{} // Validate checks the field values on // CommonTlsContext_CombinedCertificateValidationContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonTlsContext_CombinedCertificateValidationContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CommonTlsContext_CombinedCertificateValidationContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonTlsContext_CombinedCertificateValidationContextMultiError, or nil if // none found. func (m *CommonTlsContext_CombinedCertificateValidationContext) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext_CombinedCertificateValidationContext) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValidationContext() == nil { err := CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, } } } if m.GetValidationContextSdsSecretConfig() == nil { err := CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CommonTlsContext_CombinedCertificateValidationContextMultiError(errors) } return nil } // CommonTlsContext_CombinedCertificateValidationContextMultiError is an error // wrapping multiple validation errors returned by // CommonTlsContext_CombinedCertificateValidationContext.ValidateAll() if the // designated constraints aren't met. type CommonTlsContext_CombinedCertificateValidationContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContext_CombinedCertificateValidationContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContext_CombinedCertificateValidationContextMultiError) AllErrors() []error { return m } // CommonTlsContext_CombinedCertificateValidationContextValidationError is the // validation error returned by // CommonTlsContext_CombinedCertificateValidationContext.Validate if the // designated constraints aren't met. type CommonTlsContext_CombinedCertificateValidationContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) ErrorName() string { return "CommonTlsContext_CombinedCertificateValidationContextValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext_CombinedCertificateValidationContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContext_CombinedCertificateValidationContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContext_CombinedCertificateValidationContextValidationError{} go-control-plane-0.12.0/envoy/api/v2/cds.pb.go000077500000000000000000000420771454502223200207260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/cds.proto package apiv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type CdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CdsDummy) Reset() { *x = CdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CdsDummy) ProtoMessage() {} func (x *CdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CdsDummy.ProtoReflect.Descriptor instead. func (*CdsDummy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cds_proto_rawDescGZIP(), []int{0} } var File_envoy_api_v2_cds_proto protoreflect.FileDescriptor var file_envoy_api_v2_cds_proto_rawDesc = []byte{ 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x43, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xe7, 0x02, 0x0a, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x73, 0x0a, 0x0d, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x1c, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x16, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x8b, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x43, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x50, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_cds_proto_rawDescOnce sync.Once file_envoy_api_v2_cds_proto_rawDescData = file_envoy_api_v2_cds_proto_rawDesc ) func file_envoy_api_v2_cds_proto_rawDescGZIP() []byte { file_envoy_api_v2_cds_proto_rawDescOnce.Do(func() { file_envoy_api_v2_cds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_cds_proto_rawDescData) }) return file_envoy_api_v2_cds_proto_rawDescData } var file_envoy_api_v2_cds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_cds_proto_goTypes = []interface{}{ (*CdsDummy)(nil), // 0: envoy.api.v2.CdsDummy (*DiscoveryRequest)(nil), // 1: envoy.api.v2.DiscoveryRequest (*DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.api.v2.DiscoveryResponse (*DeltaDiscoveryResponse)(nil), // 4: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_api_v2_cds_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.ClusterDiscoveryService.StreamClusters:input_type -> envoy.api.v2.DiscoveryRequest 2, // 1: envoy.api.v2.ClusterDiscoveryService.DeltaClusters:input_type -> envoy.api.v2.DeltaDiscoveryRequest 1, // 2: envoy.api.v2.ClusterDiscoveryService.FetchClusters:input_type -> envoy.api.v2.DiscoveryRequest 3, // 3: envoy.api.v2.ClusterDiscoveryService.StreamClusters:output_type -> envoy.api.v2.DiscoveryResponse 4, // 4: envoy.api.v2.ClusterDiscoveryService.DeltaClusters:output_type -> envoy.api.v2.DeltaDiscoveryResponse 3, // 5: envoy.api.v2.ClusterDiscoveryService.FetchClusters:output_type -> envoy.api.v2.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_cds_proto_init() } func file_envoy_api_v2_cds_proto_init() { if File_envoy_api_v2_cds_proto != nil { return } file_envoy_api_v2_discovery_proto_init() file_envoy_api_v2_cluster_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_cds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_cds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_api_v2_cds_proto_goTypes, DependencyIndexes: file_envoy_api_v2_cds_proto_depIdxs, MessageInfos: file_envoy_api_v2_cds_proto_msgTypes, }.Build() File_envoy_api_v2_cds_proto = out.File file_envoy_api_v2_cds_proto_rawDesc = nil file_envoy_api_v2_cds_proto_goTypes = nil file_envoy_api_v2_cds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ClusterDiscoveryServiceClient is the client API for ClusterDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ClusterDiscoveryServiceClient interface { StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) DeltaClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_DeltaClustersClient, error) FetchClusters(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) } type clusterDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewClusterDiscoveryServiceClient(cc grpc.ClientConnInterface) ClusterDiscoveryServiceClient { return &clusterDiscoveryServiceClient{cc} } func (c *clusterDiscoveryServiceClient) StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) { stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.ClusterDiscoveryService/StreamClusters", opts...) if err != nil { return nil, err } x := &clusterDiscoveryServiceStreamClustersClient{stream} return x, nil } type ClusterDiscoveryService_StreamClustersClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type clusterDiscoveryServiceStreamClustersClient struct { grpc.ClientStream } func (x *clusterDiscoveryServiceStreamClustersClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *clusterDiscoveryServiceStreamClustersClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clusterDiscoveryServiceClient) DeltaClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_DeltaClustersClient, error) { stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.ClusterDiscoveryService/DeltaClusters", opts...) if err != nil { return nil, err } x := &clusterDiscoveryServiceDeltaClustersClient{stream} return x, nil } type ClusterDiscoveryService_DeltaClustersClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type clusterDiscoveryServiceDeltaClustersClient struct { grpc.ClientStream } func (x *clusterDiscoveryServiceDeltaClustersClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *clusterDiscoveryServiceDeltaClustersClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clusterDiscoveryServiceClient) FetchClusters(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { out := new(DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.api.v2.ClusterDiscoveryService/FetchClusters", in, out, opts...) if err != nil { return nil, err } return out, nil } // ClusterDiscoveryServiceServer is the server API for ClusterDiscoveryService service. type ClusterDiscoveryServiceServer interface { StreamClusters(ClusterDiscoveryService_StreamClustersServer) error DeltaClusters(ClusterDiscoveryService_DeltaClustersServer) error FetchClusters(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) } // UnimplementedClusterDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedClusterDiscoveryServiceServer struct { } func (*UnimplementedClusterDiscoveryServiceServer) StreamClusters(ClusterDiscoveryService_StreamClustersServer) error { return status.Errorf(codes.Unimplemented, "method StreamClusters not implemented") } func (*UnimplementedClusterDiscoveryServiceServer) DeltaClusters(ClusterDiscoveryService_DeltaClustersServer) error { return status.Errorf(codes.Unimplemented, "method DeltaClusters not implemented") } func (*UnimplementedClusterDiscoveryServiceServer) FetchClusters(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchClusters not implemented") } func RegisterClusterDiscoveryServiceServer(s *grpc.Server, srv ClusterDiscoveryServiceServer) { s.RegisterService(&_ClusterDiscoveryService_serviceDesc, srv) } func _ClusterDiscoveryService_StreamClusters_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClusterDiscoveryServiceServer).StreamClusters(&clusterDiscoveryServiceStreamClustersServer{stream}) } type ClusterDiscoveryService_StreamClustersServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type clusterDiscoveryServiceStreamClustersServer struct { grpc.ServerStream } func (x *clusterDiscoveryServiceStreamClustersServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *clusterDiscoveryServiceStreamClustersServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClusterDiscoveryService_DeltaClusters_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClusterDiscoveryServiceServer).DeltaClusters(&clusterDiscoveryServiceDeltaClustersServer{stream}) } type ClusterDiscoveryService_DeltaClustersServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type clusterDiscoveryServiceDeltaClustersServer struct { grpc.ServerStream } func (x *clusterDiscoveryServiceDeltaClustersServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *clusterDiscoveryServiceDeltaClustersServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClusterDiscoveryService_FetchClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.api.v2.ClusterDiscoveryService/FetchClusters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, req.(*DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ClusterDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.ClusterDiscoveryService", HandlerType: (*ClusterDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchClusters", Handler: _ClusterDiscoveryService_FetchClusters_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamClusters", Handler: _ClusterDiscoveryService_StreamClusters_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaClusters", Handler: _ClusterDiscoveryService_DeltaClusters_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/cds.proto", } go-control-plane-0.12.0/envoy/api/v2/cds.pb.validate.go000077500000000000000000000061051454502223200225060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/cds.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CdsDummyMultiError, or nil // if none found. func (m *CdsDummy) ValidateAll() error { return m.validate(true) } func (m *CdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CdsDummyMultiError(errors) } return nil } // CdsDummyMultiError is an error wrapping multiple validation errors returned // by CdsDummy.ValidateAll() if the designated constraints aren't met. type CdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CdsDummyMultiError) AllErrors() []error { return m } // CdsDummyValidationError is the validation error returned by // CdsDummy.Validate if the designated constraints aren't met. type CdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CdsDummyValidationError) ErrorName() string { return "CdsDummyValidationError" } // Error satisfies the builtin error interface func (e CdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CdsDummyValidationError{} go-control-plane-0.12.0/envoy/api/v2/cluster.pb.go000077500000000000000000005065301454502223200216350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/cluster.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth" cluster "github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Refer to :ref:`service discovery type ` // for an explanation on each type. type Cluster_DiscoveryType int32 const ( // Refer to the :ref:`static discovery type` // for an explanation. Cluster_STATIC Cluster_DiscoveryType = 0 // Refer to the :ref:`strict DNS discovery // type` // for an explanation. Cluster_STRICT_DNS Cluster_DiscoveryType = 1 // Refer to the :ref:`logical DNS discovery // type` // for an explanation. Cluster_LOGICAL_DNS Cluster_DiscoveryType = 2 // Refer to the :ref:`service discovery type` // for an explanation. Cluster_EDS Cluster_DiscoveryType = 3 // Refer to the :ref:`original destination discovery // type` // for an explanation. Cluster_ORIGINAL_DST Cluster_DiscoveryType = 4 ) // Enum value maps for Cluster_DiscoveryType. var ( Cluster_DiscoveryType_name = map[int32]string{ 0: "STATIC", 1: "STRICT_DNS", 2: "LOGICAL_DNS", 3: "EDS", 4: "ORIGINAL_DST", } Cluster_DiscoveryType_value = map[string]int32{ "STATIC": 0, "STRICT_DNS": 1, "LOGICAL_DNS": 2, "EDS": 3, "ORIGINAL_DST": 4, } ) func (x Cluster_DiscoveryType) Enum() *Cluster_DiscoveryType { p := new(Cluster_DiscoveryType) *p = x return p } func (x Cluster_DiscoveryType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_DiscoveryType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[0].Descriptor() } func (Cluster_DiscoveryType) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[0] } func (x Cluster_DiscoveryType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_DiscoveryType.Descriptor instead. func (Cluster_DiscoveryType) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 0} } // Refer to :ref:`load balancer type ` architecture // overview section for information on each type. type Cluster_LbPolicy int32 const ( // Refer to the :ref:`round robin load balancing // policy` // for an explanation. Cluster_ROUND_ROBIN Cluster_LbPolicy = 0 // Refer to the :ref:`least request load balancing // policy` // for an explanation. Cluster_LEAST_REQUEST Cluster_LbPolicy = 1 // Refer to the :ref:`ring hash load balancing // policy` // for an explanation. Cluster_RING_HASH Cluster_LbPolicy = 2 // Refer to the :ref:`random load balancing // policy` // for an explanation. Cluster_RANDOM Cluster_LbPolicy = 3 // Refer to the :ref:`original destination load balancing // policy` // for an explanation. // // .. attention:: // // **This load balancing policy is deprecated**. Use CLUSTER_PROVIDED instead. // // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. Cluster_ORIGINAL_DST_LB Cluster_LbPolicy = 4 // Refer to the :ref:`Maglev load balancing policy` // for an explanation. Cluster_MAGLEV Cluster_LbPolicy = 5 // This load balancer type must be specified if the configured cluster provides a cluster // specific load balancer. Consult the configured cluster's documentation for whether to set // this option or not. Cluster_CLUSTER_PROVIDED Cluster_LbPolicy = 6 // [#not-implemented-hide:] Use the new :ref:`load_balancing_policy // ` field to determine the LB policy. // [#next-major-version: In the v3 API, we should consider deprecating the lb_policy field // and instead using the new load_balancing_policy field as the one and only mechanism for // configuring this.] Cluster_LOAD_BALANCING_POLICY_CONFIG Cluster_LbPolicy = 7 ) // Enum value maps for Cluster_LbPolicy. var ( Cluster_LbPolicy_name = map[int32]string{ 0: "ROUND_ROBIN", 1: "LEAST_REQUEST", 2: "RING_HASH", 3: "RANDOM", 4: "ORIGINAL_DST_LB", 5: "MAGLEV", 6: "CLUSTER_PROVIDED", 7: "LOAD_BALANCING_POLICY_CONFIG", } Cluster_LbPolicy_value = map[string]int32{ "ROUND_ROBIN": 0, "LEAST_REQUEST": 1, "RING_HASH": 2, "RANDOM": 3, "ORIGINAL_DST_LB": 4, "MAGLEV": 5, "CLUSTER_PROVIDED": 6, "LOAD_BALANCING_POLICY_CONFIG": 7, } ) func (x Cluster_LbPolicy) Enum() *Cluster_LbPolicy { p := new(Cluster_LbPolicy) *p = x return p } func (x Cluster_LbPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[1].Descriptor() } func (Cluster_LbPolicy) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[1] } func (x Cluster_LbPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbPolicy.Descriptor instead. func (Cluster_LbPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 1} } // When V4_ONLY is selected, the DNS resolver will only perform a lookup for // addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will // only perform a lookup for addresses in the IPv6 family. If AUTO is // specified, the DNS resolver will first perform a lookup for addresses in // the IPv6 family and fallback to a lookup for addresses in the IPv4 family. // For cluster types other than // :ref:`STRICT_DNS` and // :ref:`LOGICAL_DNS`, // this setting is // ignored. type Cluster_DnsLookupFamily int32 const ( Cluster_AUTO Cluster_DnsLookupFamily = 0 Cluster_V4_ONLY Cluster_DnsLookupFamily = 1 Cluster_V6_ONLY Cluster_DnsLookupFamily = 2 ) // Enum value maps for Cluster_DnsLookupFamily. var ( Cluster_DnsLookupFamily_name = map[int32]string{ 0: "AUTO", 1: "V4_ONLY", 2: "V6_ONLY", } Cluster_DnsLookupFamily_value = map[string]int32{ "AUTO": 0, "V4_ONLY": 1, "V6_ONLY": 2, } ) func (x Cluster_DnsLookupFamily) Enum() *Cluster_DnsLookupFamily { p := new(Cluster_DnsLookupFamily) *p = x return p } func (x Cluster_DnsLookupFamily) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_DnsLookupFamily) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[2].Descriptor() } func (Cluster_DnsLookupFamily) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[2] } func (x Cluster_DnsLookupFamily) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_DnsLookupFamily.Descriptor instead. func (Cluster_DnsLookupFamily) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 2} } type Cluster_ClusterProtocolSelection int32 const ( // Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2). // If :ref:`http2_protocol_options ` are // present, HTTP2 will be used, otherwise HTTP1.1 will be used. Cluster_USE_CONFIGURED_PROTOCOL Cluster_ClusterProtocolSelection = 0 // Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection. Cluster_USE_DOWNSTREAM_PROTOCOL Cluster_ClusterProtocolSelection = 1 ) // Enum value maps for Cluster_ClusterProtocolSelection. var ( Cluster_ClusterProtocolSelection_name = map[int32]string{ 0: "USE_CONFIGURED_PROTOCOL", 1: "USE_DOWNSTREAM_PROTOCOL", } Cluster_ClusterProtocolSelection_value = map[string]int32{ "USE_CONFIGURED_PROTOCOL": 0, "USE_DOWNSTREAM_PROTOCOL": 1, } ) func (x Cluster_ClusterProtocolSelection) Enum() *Cluster_ClusterProtocolSelection { p := new(Cluster_ClusterProtocolSelection) *p = x return p } func (x Cluster_ClusterProtocolSelection) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_ClusterProtocolSelection) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[3].Descriptor() } func (Cluster_ClusterProtocolSelection) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[3] } func (x Cluster_ClusterProtocolSelection) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_ClusterProtocolSelection.Descriptor instead. func (Cluster_ClusterProtocolSelection) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 3} } // If NO_FALLBACK is selected, a result // equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected, // any cluster endpoint may be returned (subject to policy, health checks, // etc). If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy int32 const ( Cluster_LbSubsetConfig_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 0 Cluster_LbSubsetConfig_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 1 Cluster_LbSubsetConfig_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 2 ) // Enum value maps for Cluster_LbSubsetConfig_LbSubsetFallbackPolicy. var ( Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{ 0: "NO_FALLBACK", 1: "ANY_ENDPOINT", 2: "DEFAULT_SUBSET", } Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{ "NO_FALLBACK": 0, "ANY_ENDPOINT": 1, "DEFAULT_SUBSET": 2, } ) func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetFallbackPolicy { p := new(Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) *p = x return p } func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[4].Descriptor() } func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[4] } func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetFallbackPolicy.Descriptor instead. func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 3, 0} } // Allows to override top level fallback policy per selector. type Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy int32 const ( // If NOT_DEFINED top level config fallback policy is used instead. Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 0 // If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported. Cluster_LbSubsetConfig_LbSubsetSelector_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 1 // If ANY_ENDPOINT is selected, any cluster endpoint may be returned // (subject to policy, health checks, etc). Cluster_LbSubsetConfig_LbSubsetSelector_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 2 // If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. Cluster_LbSubsetConfig_LbSubsetSelector_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 3 // If KEYS_SUBSET is selected, subset selector matching is performed again with metadata // keys reduced to // :ref:`fallback_keys_subset`. // It allows for a fallback to a different, less specific selector if some of the keys of // the selector are considered optional. Cluster_LbSubsetConfig_LbSubsetSelector_KEYS_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 4 ) // Enum value maps for Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy. var ( Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name = map[int32]string{ 0: "NOT_DEFINED", 1: "NO_FALLBACK", 2: "ANY_ENDPOINT", 3: "DEFAULT_SUBSET", 4: "KEYS_SUBSET", } Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_value = map[string]int32{ "NOT_DEFINED": 0, "NO_FALLBACK": 1, "ANY_ENDPOINT": 2, "DEFAULT_SUBSET": 3, "KEYS_SUBSET": 4, } ) func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { p := new(Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) *p = x return p } func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[5].Descriptor() } func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[5] } func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy.Descriptor instead. func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 3, 0, 0} } // The hash function used to hash hosts onto the ketama ring. type Cluster_RingHashLbConfig_HashFunction int32 const ( // Use `xxHash `_, this is the default hash function. Cluster_RingHashLbConfig_XX_HASH Cluster_RingHashLbConfig_HashFunction = 0 // Use `MurmurHash2 `_, this is compatible with // std:hash in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled // on Linux and not macOS. Cluster_RingHashLbConfig_MURMUR_HASH_2 Cluster_RingHashLbConfig_HashFunction = 1 ) // Enum value maps for Cluster_RingHashLbConfig_HashFunction. var ( Cluster_RingHashLbConfig_HashFunction_name = map[int32]string{ 0: "XX_HASH", 1: "MURMUR_HASH_2", } Cluster_RingHashLbConfig_HashFunction_value = map[string]int32{ "XX_HASH": 0, "MURMUR_HASH_2": 1, } ) func (x Cluster_RingHashLbConfig_HashFunction) Enum() *Cluster_RingHashLbConfig_HashFunction { p := new(Cluster_RingHashLbConfig_HashFunction) *p = x return p } func (x Cluster_RingHashLbConfig_HashFunction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_RingHashLbConfig_HashFunction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_cluster_proto_enumTypes[6].Descriptor() } func (Cluster_RingHashLbConfig_HashFunction) Type() protoreflect.EnumType { return &file_envoy_api_v2_cluster_proto_enumTypes[6] } func (x Cluster_RingHashLbConfig_HashFunction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_RingHashLbConfig_HashFunction.Descriptor instead. func (Cluster_RingHashLbConfig_HashFunction) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 5, 0} } // Configuration for a single upstream cluster. // [#next-free-field: 48] type Cluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration to use different transport sockets for different endpoints. // The entry of *envoy.transport_socket_match* in the // :ref:`LbEndpoint.Metadata ` // is used to match against the transport sockets as they appear in the list. The first // :ref:`match ` is used. // For example, with the following match // // .. code-block:: yaml // // transport_socket_matches: // - name: "enableMTLS" // match: // acceptMTLS: true // transport_socket: // name: envoy.transport_sockets.tls // config: { ... } # tls socket configuration // - name: "defaultToPlaintext" // match: {} // transport_socket: // name: envoy.transport_sockets.raw_buffer // // Connections to the endpoints whose metadata value under *envoy.transport_socket_match* // having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration. // // If a :ref:`socket match ` with empty match // criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext" // socket match in case above. // // If an endpoint metadata's value under *envoy.transport_socket_match* does not match any // *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or // *transport_socket* specified in this cluster. // // This field allows gradual and flexible transport socket configuration changes. // // The metadata of endpoints in EDS can indicate transport socket capabilities. For example, // an endpoint's metadata can have two key value pairs as "acceptMTLS": "true", // "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic // has "acceptPlaintext": "true" metadata information. // // Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS // traffic for endpoints with "acceptMTLS": "true", by adding a corresponding // *TransportSocketMatch* in this field. Other client Envoys receive CDS without // *transport_socket_match* set, and still send plain text traffic to the same cluster. // // [#comment:TODO(incfly): add a detailed architecture doc on intended usage.] TransportSocketMatches []*Cluster_TransportSocketMatch `protobuf:"bytes,43,rep,name=transport_socket_matches,json=transportSocketMatches,proto3" json:"transport_socket_matches,omitempty"` // Supplies the name of the cluster which must be unique across all clusters. // The cluster name is used when emitting // :ref:`statistics ` if :ref:`alt_stat_name // ` is not provided. // Any “:“ in the cluster name will be converted to “_“ when emitting statistics. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An optional alternative to the cluster name to be used while emitting stats. // Any “:“ in the name will be converted to “_“ when emitting statistics. This should not be // confused with :ref:`Router Filter Header // `. AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"` // Types that are assignable to ClusterDiscoveryType: // // *Cluster_Type // *Cluster_ClusterType ClusterDiscoveryType isCluster_ClusterDiscoveryType `protobuf_oneof:"cluster_discovery_type"` // Configuration to use for EDS updates for the Cluster. EdsClusterConfig *Cluster_EdsClusterConfig `protobuf:"bytes,3,opt,name=eds_cluster_config,json=edsClusterConfig,proto3" json:"eds_cluster_config,omitempty"` // The timeout for new network connections to hosts in the cluster. ConnectTimeout *duration.Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // Soft limit on size of the cluster’s connections read and write buffers. If // unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` // The :ref:`load balancer type ` to use // when picking a host in the cluster. LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.api.v2.Cluster_LbPolicy" json:"lb_policy,omitempty"` // If the service discovery type is // :ref:`STATIC`, // :ref:`STRICT_DNS` // or :ref:`LOGICAL_DNS`, // then hosts is required. // // .. attention:: // // **This field is deprecated**. Set the // :ref:`load_assignment` field instead. // // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. Hosts []*core.Address `protobuf:"bytes,7,rep,name=hosts,proto3" json:"hosts,omitempty"` // Setting this is required for specifying members of // :ref:`STATIC`, // :ref:`STRICT_DNS` // or :ref:`LOGICAL_DNS` clusters. // This field supersedes the *hosts* field in the v2 API. // // .. attention:: // // Setting this allows non-EDS cluster types to contain embedded EDS equivalent // :ref:`endpoint assignments`. LoadAssignment *ClusterLoadAssignment `protobuf:"bytes,33,opt,name=load_assignment,json=loadAssignment,proto3" json:"load_assignment,omitempty"` // Optional :ref:`active health checking ` // configuration for the cluster. If no // configuration is specified no health checking will be done and all cluster // members will be considered healthy at all times. HealthChecks []*core.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` // Optional maximum requests for a single upstream connection. This parameter // is respected by both the HTTP/1.1 and HTTP/2 connection pool // implementations. If not specified, there is no limit. Setting this // parameter to 1 will effectively disable keep alive. MaxRequestsPerConnection *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Optional :ref:`circuit breaking ` for the cluster. CircuitBreakers *cluster.CircuitBreakers `protobuf:"bytes,10,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` // The TLS configuration for connections to the upstream cluster. // // .. attention:: // // **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are // set, `transport_socket` takes priority. // // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. TlsContext *auth.UpstreamTlsContext `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"` // HTTP protocol options that are applied only to upstream HTTP connections. // These options apply to all HTTP versions. UpstreamHttpProtocolOptions *core.UpstreamHttpProtocolOptions `protobuf:"bytes,46,opt,name=upstream_http_protocol_options,json=upstreamHttpProtocolOptions,proto3" json:"upstream_http_protocol_options,omitempty"` // Additional options when handling HTTP requests upstream. These options will be applicable to // both HTTP1 and HTTP2 requests. CommonHttpProtocolOptions *core.HttpProtocolOptions `protobuf:"bytes,29,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` // Additional options when handling HTTP1 requests. HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` // Even if default HTTP2 protocol options are desired, this field must be // set so that Envoy will assume that the upstream supports HTTP/2 when // making new HTTP connection pool connections. Currently, Envoy only // supports prior knowledge for upstream connections. Even if TLS is used // with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2 // connections to happen over plain text. Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // The extension_protocol_options field is used to provide extension-specific protocol options // for upstream connections. The key should match the extension filter name, such as // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on // specific options. // // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. ExtensionProtocolOptions map[string]*_struct.Struct `protobuf:"bytes,35,rep,name=extension_protocol_options,json=extensionProtocolOptions,proto3" json:"extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The extension_protocol_options field is used to provide extension-specific protocol options // for upstream connections. The key should match the extension filter name, such as // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on // specific options. TypedExtensionProtocolOptions map[string]*any1.Any `protobuf:"bytes,36,rep,name=typed_extension_protocol_options,json=typedExtensionProtocolOptions,proto3" json:"typed_extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // If the DNS refresh rate is specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this value is used as the cluster’s DNS refresh // rate. The value configured must be at least 1ms. If this setting is not specified, the // value defaults to 5000ms. For cluster types other than // :ref:`STRICT_DNS` // and :ref:`LOGICAL_DNS` // this setting is ignored. DnsRefreshRate *duration.Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"` // If the DNS failure refresh rate is specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is // not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types // other than :ref:`STRICT_DNS` and // :ref:`LOGICAL_DNS` this setting is // ignored. DnsFailureRefreshRate *Cluster_RefreshRate `protobuf:"bytes,44,opt,name=dns_failure_refresh_rate,json=dnsFailureRefreshRate,proto3" json:"dns_failure_refresh_rate,omitempty"` // Optional configuration for setting cluster's DNS refresh rate. If the value is set to true, // cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS // resolution. RespectDnsTtl bool `protobuf:"varint,39,opt,name=respect_dns_ttl,json=respectDnsTtl,proto3" json:"respect_dns_ttl,omitempty"` // The DNS IP address resolution policy. If this setting is not specified, the // value defaults to // :ref:`AUTO`. DnsLookupFamily Cluster_DnsLookupFamily `protobuf:"varint,17,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.api.v2.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"` // If DNS resolvers are specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this value is used to specify the cluster’s dns resolvers. // If this setting is not specified, the value defaults to the default // resolver, which uses /etc/resolv.conf for configuration. For cluster types // other than // :ref:`STRICT_DNS` // and :ref:`LOGICAL_DNS` // this setting is ignored. // Setting this value causes failure if the // “envoy.restart_features.use_apple_api_for_dns_lookups“ runtime value is true during // server startup. Apple's API only allows overriding DNS resolvers via system settings. DnsResolvers []*core.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers,proto3" json:"dns_resolvers,omitempty"` // [#next-major-version: Reconcile DNS options in a single message.] // Always use TCP queries instead of UDP queries for DNS lookups. // Setting this value causes failure if the // “envoy.restart_features.use_apple_api_for_dns_lookups“ runtime value is true during // server startup. Apple' API only uses UDP for DNS resolution. UseTcpForDnsLookups bool `protobuf:"varint,45,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` // If specified, outlier detection will be enabled for this upstream cluster. // Each of the configuration values can be overridden via // :ref:`runtime values `. OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,19,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // The interval for removing stale hosts from a cluster type // :ref:`ORIGINAL_DST`. // Hosts are considered stale if they have not been used // as upstream destinations during this interval. New hosts are added // to original destination clusters on demand as new connections are // redirected to Envoy, causing the number of hosts in the cluster to // grow over time. Hosts that are not stale (they are actively used as // destinations) are kept in the cluster, which allows connections to // them remain open, saving the latency that would otherwise be spent // on opening new connections. If this setting is not specified, the // value defaults to 5000ms. For cluster types other than // :ref:`ORIGINAL_DST` // this setting is ignored. CleanupInterval *duration.Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,proto3" json:"cleanup_interval,omitempty"` // Optional configuration used to bind newly established upstream connections. // This overrides any bind_config specified in the bootstrap proto. // If the address and port are empty, no bind will be performed. UpstreamBindConfig *core.BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"` // Configuration for load balancing subsetting. LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig,proto3" json:"lb_subset_config,omitempty"` // Optional configuration for the load balancing algorithm selected by // LbPolicy. Currently only // :ref:`RING_HASH` and // :ref:`LEAST_REQUEST` // has additional configuration options. // Specifying ring_hash_lb_config or least_request_lb_config without setting the corresponding // LbPolicy will generate an error at runtime. // // Types that are assignable to LbConfig: // // *Cluster_RingHashLbConfig_ // *Cluster_OriginalDstLbConfig_ // *Cluster_LeastRequestLbConfig_ LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"` // Common configuration for all load balancer implementations. CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig,proto3" json:"common_lb_config,omitempty"` // Optional custom transport socket implementation to use for upstream connections. // To setup TLS, set a transport socket with name `tls` and // :ref:`UpstreamTlsContexts ` in the `typed_config`. // If no transport socket configuration is specified, new connections // will be set up with plaintext. TransportSocket *core.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` // The Metadata field can be used to provide additional information about the // cluster. It can be used for stats, logging, and varying filter behavior. // Fields should use reverse DNS notation to denote which entity within Envoy // will need the information. For instance, if the metadata is intended for // the Router filter, the filter name should be specified as *envoy.filters.http.router*. Metadata *core.Metadata `protobuf:"bytes,25,opt,name=metadata,proto3" json:"metadata,omitempty"` // Determines how Envoy selects the protocol used to speak to upstream hosts. ProtocolSelection Cluster_ClusterProtocolSelection `protobuf:"varint,26,opt,name=protocol_selection,json=protocolSelection,proto3,enum=envoy.api.v2.Cluster_ClusterProtocolSelection" json:"protocol_selection,omitempty"` // Optional options for upstream connections. UpstreamConnectionOptions *UpstreamConnectionOptions `protobuf:"bytes,30,opt,name=upstream_connection_options,json=upstreamConnectionOptions,proto3" json:"upstream_connection_options,omitempty"` // If an upstream host becomes unhealthy (as determined by the configured health checks // or outlier detection), immediately close all connections to the failed host. // // .. note:: // // This is currently only supported for connections created by tcp_proxy. // // .. note:: // // The current implementation of this feature closes all connections immediately when // the unhealthy status is detected. If there are a large number of connections open // to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of // time exclusively closing these connections, and not processing any other traffic. CloseConnectionsOnHostHealthFailure bool `protobuf:"varint,31,opt,name=close_connections_on_host_health_failure,json=closeConnectionsOnHostHealthFailure,proto3" json:"close_connections_on_host_health_failure,omitempty"` // If set to true, Envoy will ignore the health value of a host when processing its removal // from service discovery. This means that if active health checking is used, Envoy will *not* // wait for the endpoint to go unhealthy before removing it. DrainConnectionsOnHostRemoval bool `protobuf:"varint,32,opt,name=drain_connections_on_host_removal,json=drainConnectionsOnHostRemoval,proto3" json:"drain_connections_on_host_removal,omitempty"` // An (optional) network filter chain, listed in the order the filters should be applied. // The chain will be applied to all outgoing connections that Envoy makes to the upstream // servers of this cluster. Filters []*cluster.Filter `protobuf:"bytes,40,rep,name=filters,proto3" json:"filters,omitempty"` // [#not-implemented-hide:] New mechanism for LB policy configuration. Used only if the // :ref:`lb_policy` field has the value // :ref:`LOAD_BALANCING_POLICY_CONFIG`. LoadBalancingPolicy *LoadBalancingPolicy `protobuf:"bytes,41,opt,name=load_balancing_policy,json=loadBalancingPolicy,proto3" json:"load_balancing_policy,omitempty"` // [#not-implemented-hide:] // If present, tells the client where to send load reports via LRS. If not present, the // client will fall back to a client-side default, which may be either (a) don't send any // load reports or (b) send load reports for all clusters to a single default server // (which may be configured in the bootstrap file). // // Note that if multiple clusters point to the same LRS server, the client may choose to // create a separate stream for each cluster or it may choose to coalesce the data for // multiple clusters onto a single stream. Either way, the client must make sure to send // the data for any given cluster on no more than one stream. // // [#next-major-version: In the v3 API, we should consider restructuring this somehow, // maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation // from the LRS stream here.] LrsServer *core.ConfigSource `protobuf:"bytes,42,opt,name=lrs_server,json=lrsServer,proto3" json:"lrs_server,omitempty"` // If track_timeout_budgets is true, the :ref:`timeout budget histograms // ` will be published for each // request. These show what percentage of a request's per try and global timeout was used. A value // of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value // of 100 would indicate that the request took the entirety of the timeout given to it. TrackTimeoutBudgets bool `protobuf:"varint,47,opt,name=track_timeout_budgets,json=trackTimeoutBudgets,proto3" json:"track_timeout_budgets,omitempty"` } func (x *Cluster) Reset() { *x = Cluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster) ProtoMessage() {} func (x *Cluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster.ProtoReflect.Descriptor instead. func (*Cluster) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0} } func (x *Cluster) GetTransportSocketMatches() []*Cluster_TransportSocketMatch { if x != nil { return x.TransportSocketMatches } return nil } func (x *Cluster) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster) GetAltStatName() string { if x != nil { return x.AltStatName } return "" } func (m *Cluster) GetClusterDiscoveryType() isCluster_ClusterDiscoveryType { if m != nil { return m.ClusterDiscoveryType } return nil } func (x *Cluster) GetType() Cluster_DiscoveryType { if x, ok := x.GetClusterDiscoveryType().(*Cluster_Type); ok { return x.Type } return Cluster_STATIC } func (x *Cluster) GetClusterType() *Cluster_CustomClusterType { if x, ok := x.GetClusterDiscoveryType().(*Cluster_ClusterType); ok { return x.ClusterType } return nil } func (x *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig { if x != nil { return x.EdsClusterConfig } return nil } func (x *Cluster) GetConnectTimeout() *duration.Duration { if x != nil { return x.ConnectTimeout } return nil } func (x *Cluster) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerConnectionBufferLimitBytes } return nil } func (x *Cluster) GetLbPolicy() Cluster_LbPolicy { if x != nil { return x.LbPolicy } return Cluster_ROUND_ROBIN } // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. func (x *Cluster) GetHosts() []*core.Address { if x != nil { return x.Hosts } return nil } func (x *Cluster) GetLoadAssignment() *ClusterLoadAssignment { if x != nil { return x.LoadAssignment } return nil } func (x *Cluster) GetHealthChecks() []*core.HealthCheck { if x != nil { return x.HealthChecks } return nil } func (x *Cluster) GetMaxRequestsPerConnection() *wrappers.UInt32Value { if x != nil { return x.MaxRequestsPerConnection } return nil } func (x *Cluster) GetCircuitBreakers() *cluster.CircuitBreakers { if x != nil { return x.CircuitBreakers } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. func (x *Cluster) GetTlsContext() *auth.UpstreamTlsContext { if x != nil { return x.TlsContext } return nil } func (x *Cluster) GetUpstreamHttpProtocolOptions() *core.UpstreamHttpProtocolOptions { if x != nil { return x.UpstreamHttpProtocolOptions } return nil } func (x *Cluster) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions { if x != nil { return x.CommonHttpProtocolOptions } return nil } func (x *Cluster) GetHttpProtocolOptions() *core.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } func (x *Cluster) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. func (x *Cluster) GetExtensionProtocolOptions() map[string]*_struct.Struct { if x != nil { return x.ExtensionProtocolOptions } return nil } func (x *Cluster) GetTypedExtensionProtocolOptions() map[string]*any1.Any { if x != nil { return x.TypedExtensionProtocolOptions } return nil } func (x *Cluster) GetDnsRefreshRate() *duration.Duration { if x != nil { return x.DnsRefreshRate } return nil } func (x *Cluster) GetDnsFailureRefreshRate() *Cluster_RefreshRate { if x != nil { return x.DnsFailureRefreshRate } return nil } func (x *Cluster) GetRespectDnsTtl() bool { if x != nil { return x.RespectDnsTtl } return false } func (x *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily { if x != nil { return x.DnsLookupFamily } return Cluster_AUTO } func (x *Cluster) GetDnsResolvers() []*core.Address { if x != nil { return x.DnsResolvers } return nil } func (x *Cluster) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } func (x *Cluster) GetOutlierDetection() *cluster.OutlierDetection { if x != nil { return x.OutlierDetection } return nil } func (x *Cluster) GetCleanupInterval() *duration.Duration { if x != nil { return x.CleanupInterval } return nil } func (x *Cluster) GetUpstreamBindConfig() *core.BindConfig { if x != nil { return x.UpstreamBindConfig } return nil } func (x *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig { if x != nil { return x.LbSubsetConfig } return nil } func (m *Cluster) GetLbConfig() isCluster_LbConfig { if m != nil { return m.LbConfig } return nil } func (x *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig { if x, ok := x.GetLbConfig().(*Cluster_RingHashLbConfig_); ok { return x.RingHashLbConfig } return nil } func (x *Cluster) GetOriginalDstLbConfig() *Cluster_OriginalDstLbConfig { if x, ok := x.GetLbConfig().(*Cluster_OriginalDstLbConfig_); ok { return x.OriginalDstLbConfig } return nil } func (x *Cluster) GetLeastRequestLbConfig() *Cluster_LeastRequestLbConfig { if x, ok := x.GetLbConfig().(*Cluster_LeastRequestLbConfig_); ok { return x.LeastRequestLbConfig } return nil } func (x *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig { if x != nil { return x.CommonLbConfig } return nil } func (x *Cluster) GetTransportSocket() *core.TransportSocket { if x != nil { return x.TransportSocket } return nil } func (x *Cluster) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection { if x != nil { return x.ProtocolSelection } return Cluster_USE_CONFIGURED_PROTOCOL } func (x *Cluster) GetUpstreamConnectionOptions() *UpstreamConnectionOptions { if x != nil { return x.UpstreamConnectionOptions } return nil } func (x *Cluster) GetCloseConnectionsOnHostHealthFailure() bool { if x != nil { return x.CloseConnectionsOnHostHealthFailure } return false } func (x *Cluster) GetDrainConnectionsOnHostRemoval() bool { if x != nil { return x.DrainConnectionsOnHostRemoval } return false } func (x *Cluster) GetFilters() []*cluster.Filter { if x != nil { return x.Filters } return nil } func (x *Cluster) GetLoadBalancingPolicy() *LoadBalancingPolicy { if x != nil { return x.LoadBalancingPolicy } return nil } func (x *Cluster) GetLrsServer() *core.ConfigSource { if x != nil { return x.LrsServer } return nil } func (x *Cluster) GetTrackTimeoutBudgets() bool { if x != nil { return x.TrackTimeoutBudgets } return false } type isCluster_ClusterDiscoveryType interface { isCluster_ClusterDiscoveryType() } type Cluster_Type struct { // The :ref:`service discovery type ` // to use for resolving the cluster. Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=envoy.api.v2.Cluster_DiscoveryType,oneof"` } type Cluster_ClusterType struct { // The custom cluster type. ClusterType *Cluster_CustomClusterType `protobuf:"bytes,38,opt,name=cluster_type,json=clusterType,proto3,oneof"` } func (*Cluster_Type) isCluster_ClusterDiscoveryType() {} func (*Cluster_ClusterType) isCluster_ClusterDiscoveryType() {} type isCluster_LbConfig interface { isCluster_LbConfig() } type Cluster_RingHashLbConfig_ struct { // Optional configuration for the Ring Hash load balancing policy. RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,proto3,oneof"` } type Cluster_OriginalDstLbConfig_ struct { // Optional configuration for the Original Destination load balancing policy. OriginalDstLbConfig *Cluster_OriginalDstLbConfig `protobuf:"bytes,34,opt,name=original_dst_lb_config,json=originalDstLbConfig,proto3,oneof"` } type Cluster_LeastRequestLbConfig_ struct { // Optional configuration for the LeastRequest load balancing policy. LeastRequestLbConfig *Cluster_LeastRequestLbConfig `protobuf:"bytes,37,opt,name=least_request_lb_config,json=leastRequestLbConfig,proto3,oneof"` } func (*Cluster_RingHashLbConfig_) isCluster_LbConfig() {} func (*Cluster_OriginalDstLbConfig_) isCluster_LbConfig() {} func (*Cluster_LeastRequestLbConfig_) isCluster_LbConfig() {} // [#not-implemented-hide:] Extensible load balancing policy configuration. // // Every LB policy defined via this mechanism will be identified via a unique name using reverse // DNS notation. If the policy needs configuration parameters, it must define a message for its // own configuration, which will be stored in the config field. The name of the policy will tell // clients which type of message they should expect to see in the config field. // // Note that there are cases where it is useful to be able to independently select LB policies // for choosing a locality and for choosing an endpoint within that locality. For example, a // given deployment may always use the same policy to choose the locality, but for choosing the // endpoint within the locality, some clusters may use weighted-round-robin, while others may // use some sort of session-based balancing. // // This can be accomplished via hierarchical LB policies, where the parent LB policy creates a // child LB policy for each locality. For each request, the parent chooses the locality and then // delegates to the child policy for that locality to choose the endpoint within the locality. // // To facilitate this, the config message for the top-level LB policy may include a field of // type LoadBalancingPolicy that specifies the child policy. type LoadBalancingPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Each client will iterate over the list in order and stop at the first policy that it // supports. This provides a mechanism for starting to use new LB policies that are not yet // supported by all clients. Policies []*LoadBalancingPolicy_Policy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` } func (x *LoadBalancingPolicy) Reset() { *x = LoadBalancingPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadBalancingPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadBalancingPolicy) ProtoMessage() {} func (x *LoadBalancingPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadBalancingPolicy.ProtoReflect.Descriptor instead. func (*LoadBalancingPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{1} } func (x *LoadBalancingPolicy) GetPolicies() []*LoadBalancingPolicy_Policy { if x != nil { return x.Policies } return nil } // An extensible structure containing the address Envoy should bind to when // establishing upstream connections. type UpstreamBindConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address Envoy should bind to when establishing upstream connections. SourceAddress *core.Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"` } func (x *UpstreamBindConfig) Reset() { *x = UpstreamBindConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamBindConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamBindConfig) ProtoMessage() {} func (x *UpstreamBindConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamBindConfig.ProtoReflect.Descriptor instead. func (*UpstreamBindConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{2} } func (x *UpstreamBindConfig) GetSourceAddress() *core.Address { if x != nil { return x.SourceAddress } return nil } type UpstreamConnectionOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. TcpKeepalive *core.TcpKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` } func (x *UpstreamConnectionOptions) Reset() { *x = UpstreamConnectionOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamConnectionOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamConnectionOptions) ProtoMessage() {} func (x *UpstreamConnectionOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamConnectionOptions.ProtoReflect.Descriptor instead. func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{3} } func (x *UpstreamConnectionOptions) GetTcpKeepalive() *core.TcpKeepalive { if x != nil { return x.TcpKeepalive } return nil } // TransportSocketMatch specifies what transport socket config will be used // when the match conditions are satisfied. type Cluster_TransportSocketMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the match, used in stats generation. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional endpoint metadata match criteria. // The connection to the endpoint with metadata matching what is set in this field // will use the transport socket configuration specified here. // The endpoint's metadata entry in *envoy.transport_socket_match* is used to match // against the values specified in this field. Match *_struct.Struct `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"` // The configuration of the transport socket. TransportSocket *core.TransportSocket `protobuf:"bytes,3,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *Cluster_TransportSocketMatch) Reset() { *x = Cluster_TransportSocketMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_TransportSocketMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_TransportSocketMatch) ProtoMessage() {} func (x *Cluster_TransportSocketMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_TransportSocketMatch.ProtoReflect.Descriptor instead. func (*Cluster_TransportSocketMatch) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 0} } func (x *Cluster_TransportSocketMatch) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster_TransportSocketMatch) GetMatch() *_struct.Struct { if x != nil { return x.Match } return nil } func (x *Cluster_TransportSocketMatch) GetTransportSocket() *core.TransportSocket { if x != nil { return x.TransportSocket } return nil } // Extended cluster type. type Cluster_CustomClusterType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of the cluster to instantiate. The name must match a supported cluster type. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Cluster specific configuration which depends on the cluster being instantiated. // See the supported cluster for further documentation. TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *Cluster_CustomClusterType) Reset() { *x = Cluster_CustomClusterType{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CustomClusterType) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CustomClusterType) ProtoMessage() {} func (x *Cluster_CustomClusterType) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CustomClusterType.ProtoReflect.Descriptor instead. func (*Cluster_CustomClusterType) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 1} } func (x *Cluster_CustomClusterType) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster_CustomClusterType) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } // Only valid when discovery type is EDS. type Cluster_EdsClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for the source of EDS updates for this Cluster. EdsConfig *core.ConfigSource `protobuf:"bytes,1,opt,name=eds_config,json=edsConfig,proto3" json:"eds_config,omitempty"` // Optional alternative to cluster name to present to EDS. This does not // have the same restrictions as cluster name, i.e. it may be arbitrary // length. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` } func (x *Cluster_EdsClusterConfig) Reset() { *x = Cluster_EdsClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_EdsClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_EdsClusterConfig) ProtoMessage() {} func (x *Cluster_EdsClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_EdsClusterConfig.ProtoReflect.Descriptor instead. func (*Cluster_EdsClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 2} } func (x *Cluster_EdsClusterConfig) GetEdsConfig() *core.ConfigSource { if x != nil { return x.EdsConfig } return nil } func (x *Cluster_EdsClusterConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } // Optionally divide the endpoints in this cluster into subsets defined by // endpoint metadata and selected by route and weighted cluster metadata. // [#next-free-field: 8] type Cluster_LbSubsetConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The behavior used when no endpoint subset matches the selected route's // metadata. The value defaults to // :ref:`NO_FALLBACK`. FallbackPolicy Cluster_LbSubsetConfig_LbSubsetFallbackPolicy `protobuf:"varint,1,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy" json:"fallback_policy,omitempty"` // Specifies the default subset of endpoints used during fallback if // fallback_policy is // :ref:`DEFAULT_SUBSET`. // Each field in default_subset is // compared to the matching LbEndpoint.Metadata under the *envoy.lb* // namespace. It is valid for no hosts to match, in which case the behavior // is the same as a fallback_policy of // :ref:`NO_FALLBACK`. DefaultSubset *_struct.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" json:"default_subset,omitempty"` // For each entry, LbEndpoint.Metadata's // *envoy.lb* namespace is traversed and a subset is created for each unique // combination of key and value. For example: // // .. code-block:: json // // { "subset_selectors": [ // { "keys": [ "version" ] }, // { "keys": [ "stage", "hardware_type" ] } // ]} // // A subset is matched when the metadata from the selected route and // weighted cluster contains the same keys and values as the subset's // metadata. The same host may appear in multiple subsets. SubsetSelectors []*Cluster_LbSubsetConfig_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors,proto3" json:"subset_selectors,omitempty"` // If true, routing to subsets will take into account the localities and locality weights of the // endpoints when making the routing decision. // // There are some potential pitfalls associated with enabling this feature, as the resulting // traffic split after applying both a subset match and locality weights might be undesirable. // // Consider for example a situation in which you have 50/50 split across two localities X/Y // which have 100 hosts each without subsetting. If the subset LB results in X having only 1 // host selected but Y having 100, then a lot more load is being dumped on the single host in X // than originally anticipated in the load balancing assignment delivered via EDS. LocalityWeightAware bool `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"` // When used with locality_weight_aware, scales the weight of each locality by the ratio // of hosts in the subset vs hosts in the original subset. This aims to even out the load // going to an individual locality if said locality is disproportionately affected by the // subset predicate. ScaleLocalityWeight bool `protobuf:"varint,5,opt,name=scale_locality_weight,json=scaleLocalityWeight,proto3" json:"scale_locality_weight,omitempty"` // If true, when a fallback policy is configured and its corresponding subset fails to find // a host this will cause any host to be selected instead. // // This is useful when using the default subset as the fallback policy, given the default // subset might become empty. With this option enabled, if that happens the LB will attempt // to select a host from the entire cluster. PanicModeAny bool `protobuf:"varint,6,opt,name=panic_mode_any,json=panicModeAny,proto3" json:"panic_mode_any,omitempty"` // If true, metadata specified for a metadata key will be matched against the corresponding // endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value // and any of the elements in the list matches the criteria. ListAsAny bool `protobuf:"varint,7,opt,name=list_as_any,json=listAsAny,proto3" json:"list_as_any,omitempty"` } func (x *Cluster_LbSubsetConfig) Reset() { *x = Cluster_LbSubsetConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LbSubsetConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LbSubsetConfig) ProtoMessage() {} func (x *Cluster_LbSubsetConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LbSubsetConfig.ProtoReflect.Descriptor instead. func (*Cluster_LbSubsetConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 3} } func (x *Cluster_LbSubsetConfig) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetFallbackPolicy { if x != nil { return x.FallbackPolicy } return Cluster_LbSubsetConfig_NO_FALLBACK } func (x *Cluster_LbSubsetConfig) GetDefaultSubset() *_struct.Struct { if x != nil { return x.DefaultSubset } return nil } func (x *Cluster_LbSubsetConfig) GetSubsetSelectors() []*Cluster_LbSubsetConfig_LbSubsetSelector { if x != nil { return x.SubsetSelectors } return nil } func (x *Cluster_LbSubsetConfig) GetLocalityWeightAware() bool { if x != nil { return x.LocalityWeightAware } return false } func (x *Cluster_LbSubsetConfig) GetScaleLocalityWeight() bool { if x != nil { return x.ScaleLocalityWeight } return false } func (x *Cluster_LbSubsetConfig) GetPanicModeAny() bool { if x != nil { return x.PanicModeAny } return false } func (x *Cluster_LbSubsetConfig) GetListAsAny() bool { if x != nil { return x.ListAsAny } return false } // Specific configuration for the LeastRequest load balancing policy. type Cluster_LeastRequestLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of random healthy hosts from which the host with the fewest active requests will // be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set. ChoiceCount *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"` } func (x *Cluster_LeastRequestLbConfig) Reset() { *x = Cluster_LeastRequestLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LeastRequestLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LeastRequestLbConfig) ProtoMessage() {} func (x *Cluster_LeastRequestLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LeastRequestLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_LeastRequestLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 4} } func (x *Cluster_LeastRequestLbConfig) GetChoiceCount() *wrappers.UInt32Value { if x != nil { return x.ChoiceCount } return nil } // Specific configuration for the :ref:`RingHash` // load balancing policy. type Cluster_RingHashLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each // provided host) the better the request distribution will reflect the desired weights. Defaults // to 1024 entries, and limited to 8M entries. See also // :ref:`maximum_ring_size`. MinimumRingSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` // The hash function used to hash hosts onto the ketama ring. The value defaults to // :ref:`XX_HASH`. HashFunction Cluster_RingHashLbConfig_HashFunction `protobuf:"varint,3,opt,name=hash_function,json=hashFunction,proto3,enum=envoy.api.v2.Cluster_RingHashLbConfig_HashFunction" json:"hash_function,omitempty"` // Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered // to further constrain resource use. See also // :ref:`minimum_ring_size`. MaximumRingSize *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"` } func (x *Cluster_RingHashLbConfig) Reset() { *x = Cluster_RingHashLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_RingHashLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_RingHashLbConfig) ProtoMessage() {} func (x *Cluster_RingHashLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_RingHashLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_RingHashLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 5} } func (x *Cluster_RingHashLbConfig) GetMinimumRingSize() *wrappers.UInt64Value { if x != nil { return x.MinimumRingSize } return nil } func (x *Cluster_RingHashLbConfig) GetHashFunction() Cluster_RingHashLbConfig_HashFunction { if x != nil { return x.HashFunction } return Cluster_RingHashLbConfig_XX_HASH } func (x *Cluster_RingHashLbConfig) GetMaximumRingSize() *wrappers.UInt64Value { if x != nil { return x.MaximumRingSize } return nil } // Specific configuration for the // :ref:`Original Destination ` // load balancing policy. type Cluster_OriginalDstLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When true, :ref:`x-envoy-original-dst-host // ` can be used to override destination // address. // // .. attention:: // // This header isn't sanitized by default, so enabling this feature allows HTTP clients to // route traffic to arbitrary hosts and/or ports, which may have serious security // consequences. // // .. note:: // // If the header appears multiple times only the first value is used. UseHttpHeader bool `protobuf:"varint,1,opt,name=use_http_header,json=useHttpHeader,proto3" json:"use_http_header,omitempty"` } func (x *Cluster_OriginalDstLbConfig) Reset() { *x = Cluster_OriginalDstLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_OriginalDstLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_OriginalDstLbConfig) ProtoMessage() {} func (x *Cluster_OriginalDstLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_OriginalDstLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_OriginalDstLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 6} } func (x *Cluster_OriginalDstLbConfig) GetUseHttpHeader() bool { if x != nil { return x.UseHttpHeader } return false } // Common configuration for all load balancer implementations. // [#next-free-field: 8] type Cluster_CommonLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures the :ref:`healthy panic threshold `. // If not specified, the default is 50%. // To disable panic mode, set to 0%. // // .. note:: // // The specified percent will be truncated to the nearest 1%. HealthyPanicThreshold *_type.Percent `protobuf:"bytes,1,opt,name=healthy_panic_threshold,json=healthyPanicThreshold,proto3" json:"healthy_panic_threshold,omitempty"` // Types that are assignable to LocalityConfigSpecifier: // // *Cluster_CommonLbConfig_ZoneAwareLbConfig_ // *Cluster_CommonLbConfig_LocalityWeightedLbConfig_ LocalityConfigSpecifier isCluster_CommonLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"` // If set, all health check/weight/metadata updates that happen within this duration will be // merged and delivered in one shot when the duration expires. The start of the duration is when // the first update happens. This is useful for big clusters, with potentially noisy deploys // that might trigger excessive CPU usage due to a constant stream of healthcheck state changes // or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new // cluster). Please always keep in mind that the use of sandbox technologies may change this // behavior. // // If this is not set, we default to a merge window of 1000ms. To disable it, set the merge // window to 0. // // Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is // because merging those updates isn't currently safe. See // https://github.com/envoyproxy/envoy/pull/3941. UpdateMergeWindow *duration.Duration `protobuf:"bytes,4,opt,name=update_merge_window,json=updateMergeWindow,proto3" json:"update_merge_window,omitempty"` // If set to true, Envoy will not consider new hosts when computing load balancing weights until // they have been health checked for the first time. This will have no effect unless // active health checking is also configured. // // Ignoring a host means that for any load balancing calculations that adjust weights based // on the ratio of eligible hosts and total hosts (priority spillover, locality weighting and // panic mode) Envoy will exclude these hosts in the denominator. // // For example, with hosts in two priorities P0 and P1, where P0 looks like // {healthy, unhealthy (new), unhealthy (new)} // and where P1 looks like // {healthy, healthy} // all traffic will still hit P0, as 1 / (3 - 2) = 1. // // Enabling this will allow scaling up the number of hosts for a given cluster without entering // panic mode or triggering priority spillover, assuming the hosts pass the first health check. // // If panic mode is triggered, new hosts are still eligible for traffic; they simply do not // contribute to the calculation when deciding whether panic mode is enabled or not. IgnoreNewHostsUntilFirstHc bool `protobuf:"varint,5,opt,name=ignore_new_hosts_until_first_hc,json=ignoreNewHostsUntilFirstHc,proto3" json:"ignore_new_hosts_until_first_hc,omitempty"` // If set to `true`, the cluster manager will drain all existing // connections to upstream hosts whenever hosts are added or removed from the cluster. CloseConnectionsOnHostSetChange bool `protobuf:"varint,6,opt,name=close_connections_on_host_set_change,json=closeConnectionsOnHostSetChange,proto3" json:"close_connections_on_host_set_change,omitempty"` // Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.) ConsistentHashingLbConfig *Cluster_CommonLbConfig_ConsistentHashingLbConfig `protobuf:"bytes,7,opt,name=consistent_hashing_lb_config,json=consistentHashingLbConfig,proto3" json:"consistent_hashing_lb_config,omitempty"` } func (x *Cluster_CommonLbConfig) Reset() { *x = Cluster_CommonLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 7} } func (x *Cluster_CommonLbConfig) GetHealthyPanicThreshold() *_type.Percent { if x != nil { return x.HealthyPanicThreshold } return nil } func (m *Cluster_CommonLbConfig) GetLocalityConfigSpecifier() isCluster_CommonLbConfig_LocalityConfigSpecifier { if m != nil { return m.LocalityConfigSpecifier } return nil } func (x *Cluster_CommonLbConfig) GetZoneAwareLbConfig() *Cluster_CommonLbConfig_ZoneAwareLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_ZoneAwareLbConfig_); ok { return x.ZoneAwareLbConfig } return nil } func (x *Cluster_CommonLbConfig) GetLocalityWeightedLbConfig() *Cluster_CommonLbConfig_LocalityWeightedLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_); ok { return x.LocalityWeightedLbConfig } return nil } func (x *Cluster_CommonLbConfig) GetUpdateMergeWindow() *duration.Duration { if x != nil { return x.UpdateMergeWindow } return nil } func (x *Cluster_CommonLbConfig) GetIgnoreNewHostsUntilFirstHc() bool { if x != nil { return x.IgnoreNewHostsUntilFirstHc } return false } func (x *Cluster_CommonLbConfig) GetCloseConnectionsOnHostSetChange() bool { if x != nil { return x.CloseConnectionsOnHostSetChange } return false } func (x *Cluster_CommonLbConfig) GetConsistentHashingLbConfig() *Cluster_CommonLbConfig_ConsistentHashingLbConfig { if x != nil { return x.ConsistentHashingLbConfig } return nil } type isCluster_CommonLbConfig_LocalityConfigSpecifier interface { isCluster_CommonLbConfig_LocalityConfigSpecifier() } type Cluster_CommonLbConfig_ZoneAwareLbConfig_ struct { ZoneAwareLbConfig *Cluster_CommonLbConfig_ZoneAwareLbConfig `protobuf:"bytes,2,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,proto3,oneof"` } type Cluster_CommonLbConfig_LocalityWeightedLbConfig_ struct { LocalityWeightedLbConfig *Cluster_CommonLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"` } func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() { } func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() { } type Cluster_RefreshRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the base interval between refreshes. This parameter is required and must be greater // than zero and less than // :ref:`max_interval `. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between refreshes. This parameter is optional, but must be // greater than or equal to the // :ref:`base_interval ` if set. The default // is 10 times the :ref:`base_interval `. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *Cluster_RefreshRate) Reset() { *x = Cluster_RefreshRate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_RefreshRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_RefreshRate) ProtoMessage() {} func (x *Cluster_RefreshRate) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_RefreshRate.ProtoReflect.Descriptor instead. func (*Cluster_RefreshRate) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 8} } func (x *Cluster_RefreshRate) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *Cluster_RefreshRate) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } // Specifications for subsets. type Cluster_LbSubsetConfig_LbSubsetSelector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of keys to match with the weighted cluster metadata. Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // The behavior used when no endpoint subset matches the selected route's // metadata. FallbackPolicy Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy `protobuf:"varint,2,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy" json:"fallback_policy,omitempty"` // Subset of // :ref:`keys` used by // :ref:`KEYS_SUBSET` // fallback policy. // It has to be a non empty list if KEYS_SUBSET fallback policy is selected. // For any other fallback policy the parameter is not used and should not be set. // Only values also present in // :ref:`keys` are allowed, but // `fallback_keys_subset` cannot be equal to `keys`. FallbackKeysSubset []string `protobuf:"bytes,3,rep,name=fallback_keys_subset,json=fallbackKeysSubset,proto3" json:"fallback_keys_subset,omitempty"` } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) Reset() { *x = Cluster_LbSubsetConfig_LbSubsetSelector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage() {} func (x *Cluster_LbSubsetConfig_LbSubsetSelector) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetSelector.ProtoReflect.Descriptor instead. func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 3, 0} } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys() []string { if x != nil { return x.Keys } return nil } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { if x != nil { return x.FallbackPolicy } return Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackKeysSubset() []string { if x != nil { return x.FallbackKeysSubset } return nil } // Configuration for :ref:`zone aware routing // `. type Cluster_CommonLbConfig_ZoneAwareLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures percentage of requests that will be considered for zone aware routing // if zone aware routing is configured. If not specified, the default is 100%. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. RoutingEnabled *_type.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled,proto3" json:"routing_enabled,omitempty"` // Configures minimum upstream cluster size required for zone aware routing // If upstream cluster size is less than specified, zone aware routing is not performed // even if zone aware routing is configured. If not specified, the default is 6. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. MinClusterSize *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize,proto3" json:"min_cluster_size,omitempty"` // If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic // mode`. Instead, the cluster will fail all // requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a // failing service. FailTrafficOnPanic bool `protobuf:"varint,3,opt,name=fail_traffic_on_panic,json=failTrafficOnPanic,proto3" json:"fail_traffic_on_panic,omitempty"` } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset() { *x = Cluster_CommonLbConfig_ZoneAwareLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_ZoneAwareLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 7, 0} } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *_type.Percent { if x != nil { return x.RoutingEnabled } return nil } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrappers.UInt64Value { if x != nil { return x.MinClusterSize } return nil } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool { if x != nil { return x.FailTrafficOnPanic } return false } // Configuration for :ref:`locality weighted load balancing // ` type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset() { *x = Cluster_CommonLbConfig_LocalityWeightedLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_LocalityWeightedLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 7, 1} } // Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.) type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to `true`, the cluster will use hostname instead of the resolved // address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address. UseHostnameForHashing bool `protobuf:"varint,1,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"` } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Reset() { *x = Cluster_CommonLbConfig_ConsistentHashingLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_ConsistentHashingLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{0, 7, 2} } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) GetUseHostnameForHashing() bool { if x != nil { return x.UseHostnameForHashing } return false } type LoadBalancingPolicy_Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The name of the LB policy. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional config for the LB policy. // No more than one of these two fields may be populated. // // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *LoadBalancingPolicy_Policy) Reset() { *x = LoadBalancingPolicy_Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadBalancingPolicy_Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadBalancingPolicy_Policy) ProtoMessage() {} func (x *LoadBalancingPolicy_Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadBalancingPolicy_Policy.ProtoReflect.Descriptor instead. func (*LoadBalancingPolicy_Policy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_proto_rawDescGZIP(), []int{1, 0} } func (x *LoadBalancingPolicy_Policy) GetName() string { if x != nil { return x.Name } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/cluster.proto. func (x *LoadBalancingPolicy_Policy) GetConfig() *_struct.Struct { if x != nil { return x.Config } return nil } func (x *LoadBalancingPolicy_Policy) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } var File_envoy_api_v2_cluster_proto protoreflect.FileDescriptor var file_envoy_api_v2_cluster_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x39, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x12, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x66, 0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x5b, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x10, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x73, 0x0a, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x67, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7b, 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x18, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x74, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x52, 0x15, 0x64, 0x6e, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6e, 0x73, 0x54, 0x74, 0x6c, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x53, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x10, 0x6c, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x13, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x17, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x14, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x6f, 0x0a, 0x21, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x42, 0x25, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1f, 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x1d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x6c, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4d, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x69, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x75, 0x0a, 0x10, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x81, 0x07, 0x0a, 0x0e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x60, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x41, 0x6e, 0x79, 0x1a, 0xdd, 0x02, 0x0a, 0x10, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x22, 0x79, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x4f, 0x0a, 0x16, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x02, 0x1a, 0x60, 0x0a, 0x14, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xd8, 0x02, 0x0a, 0x10, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x2e, 0x0a, 0x0c, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x58, 0x58, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x52, 0x4d, 0x55, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x32, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0x3d, 0x0a, 0x13, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x86, 0x08, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x69, 0x0a, 0x14, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x1f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x77, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x63, 0x12, 0x4d, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x7f, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xcc, 0x01, 0x0a, 0x11, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x6e, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x1a, 0x1a, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x54, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xa9, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x64, 0x0a, 0x1d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x22, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x10, 0x04, 0x22, 0xac, 0x01, 0x0a, 0x08, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x0f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x4c, 0x42, 0x10, 0x04, 0x1a, 0x08, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x22, 0x35, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x36, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x8a, 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x57, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x61, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x8e, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_cluster_proto_rawDescOnce sync.Once file_envoy_api_v2_cluster_proto_rawDescData = file_envoy_api_v2_cluster_proto_rawDesc ) func file_envoy_api_v2_cluster_proto_rawDescGZIP() []byte { file_envoy_api_v2_cluster_proto_rawDescOnce.Do(func() { file_envoy_api_v2_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_cluster_proto_rawDescData) }) return file_envoy_api_v2_cluster_proto_rawDescData } var file_envoy_api_v2_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 7) var file_envoy_api_v2_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_envoy_api_v2_cluster_proto_goTypes = []interface{}{ (Cluster_DiscoveryType)(0), // 0: envoy.api.v2.Cluster.DiscoveryType (Cluster_LbPolicy)(0), // 1: envoy.api.v2.Cluster.LbPolicy (Cluster_DnsLookupFamily)(0), // 2: envoy.api.v2.Cluster.DnsLookupFamily (Cluster_ClusterProtocolSelection)(0), // 3: envoy.api.v2.Cluster.ClusterProtocolSelection (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy)(0), // 4: envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)(0), // 5: envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy (Cluster_RingHashLbConfig_HashFunction)(0), // 6: envoy.api.v2.Cluster.RingHashLbConfig.HashFunction (*Cluster)(nil), // 7: envoy.api.v2.Cluster (*LoadBalancingPolicy)(nil), // 8: envoy.api.v2.LoadBalancingPolicy (*UpstreamBindConfig)(nil), // 9: envoy.api.v2.UpstreamBindConfig (*UpstreamConnectionOptions)(nil), // 10: envoy.api.v2.UpstreamConnectionOptions (*Cluster_TransportSocketMatch)(nil), // 11: envoy.api.v2.Cluster.TransportSocketMatch (*Cluster_CustomClusterType)(nil), // 12: envoy.api.v2.Cluster.CustomClusterType (*Cluster_EdsClusterConfig)(nil), // 13: envoy.api.v2.Cluster.EdsClusterConfig (*Cluster_LbSubsetConfig)(nil), // 14: envoy.api.v2.Cluster.LbSubsetConfig (*Cluster_LeastRequestLbConfig)(nil), // 15: envoy.api.v2.Cluster.LeastRequestLbConfig (*Cluster_RingHashLbConfig)(nil), // 16: envoy.api.v2.Cluster.RingHashLbConfig (*Cluster_OriginalDstLbConfig)(nil), // 17: envoy.api.v2.Cluster.OriginalDstLbConfig (*Cluster_CommonLbConfig)(nil), // 18: envoy.api.v2.Cluster.CommonLbConfig (*Cluster_RefreshRate)(nil), // 19: envoy.api.v2.Cluster.RefreshRate nil, // 20: envoy.api.v2.Cluster.ExtensionProtocolOptionsEntry nil, // 21: envoy.api.v2.Cluster.TypedExtensionProtocolOptionsEntry (*Cluster_LbSubsetConfig_LbSubsetSelector)(nil), // 22: envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector (*Cluster_CommonLbConfig_ZoneAwareLbConfig)(nil), // 23: envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig (*Cluster_CommonLbConfig_LocalityWeightedLbConfig)(nil), // 24: envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig (*Cluster_CommonLbConfig_ConsistentHashingLbConfig)(nil), // 25: envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig (*LoadBalancingPolicy_Policy)(nil), // 26: envoy.api.v2.LoadBalancingPolicy.Policy (*duration.Duration)(nil), // 27: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 28: google.protobuf.UInt32Value (*core.Address)(nil), // 29: envoy.api.v2.core.Address (*ClusterLoadAssignment)(nil), // 30: envoy.api.v2.ClusterLoadAssignment (*core.HealthCheck)(nil), // 31: envoy.api.v2.core.HealthCheck (*cluster.CircuitBreakers)(nil), // 32: envoy.api.v2.cluster.CircuitBreakers (*auth.UpstreamTlsContext)(nil), // 33: envoy.api.v2.auth.UpstreamTlsContext (*core.UpstreamHttpProtocolOptions)(nil), // 34: envoy.api.v2.core.UpstreamHttpProtocolOptions (*core.HttpProtocolOptions)(nil), // 35: envoy.api.v2.core.HttpProtocolOptions (*core.Http1ProtocolOptions)(nil), // 36: envoy.api.v2.core.Http1ProtocolOptions (*core.Http2ProtocolOptions)(nil), // 37: envoy.api.v2.core.Http2ProtocolOptions (*cluster.OutlierDetection)(nil), // 38: envoy.api.v2.cluster.OutlierDetection (*core.BindConfig)(nil), // 39: envoy.api.v2.core.BindConfig (*core.TransportSocket)(nil), // 40: envoy.api.v2.core.TransportSocket (*core.Metadata)(nil), // 41: envoy.api.v2.core.Metadata (*cluster.Filter)(nil), // 42: envoy.api.v2.cluster.Filter (*core.ConfigSource)(nil), // 43: envoy.api.v2.core.ConfigSource (*core.TcpKeepalive)(nil), // 44: envoy.api.v2.core.TcpKeepalive (*_struct.Struct)(nil), // 45: google.protobuf.Struct (*any1.Any)(nil), // 46: google.protobuf.Any (*wrappers.UInt64Value)(nil), // 47: google.protobuf.UInt64Value (*_type.Percent)(nil), // 48: envoy.type.Percent } var file_envoy_api_v2_cluster_proto_depIdxs = []int32{ 11, // 0: envoy.api.v2.Cluster.transport_socket_matches:type_name -> envoy.api.v2.Cluster.TransportSocketMatch 0, // 1: envoy.api.v2.Cluster.type:type_name -> envoy.api.v2.Cluster.DiscoveryType 12, // 2: envoy.api.v2.Cluster.cluster_type:type_name -> envoy.api.v2.Cluster.CustomClusterType 13, // 3: envoy.api.v2.Cluster.eds_cluster_config:type_name -> envoy.api.v2.Cluster.EdsClusterConfig 27, // 4: envoy.api.v2.Cluster.connect_timeout:type_name -> google.protobuf.Duration 28, // 5: envoy.api.v2.Cluster.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 1, // 6: envoy.api.v2.Cluster.lb_policy:type_name -> envoy.api.v2.Cluster.LbPolicy 29, // 7: envoy.api.v2.Cluster.hosts:type_name -> envoy.api.v2.core.Address 30, // 8: envoy.api.v2.Cluster.load_assignment:type_name -> envoy.api.v2.ClusterLoadAssignment 31, // 9: envoy.api.v2.Cluster.health_checks:type_name -> envoy.api.v2.core.HealthCheck 28, // 10: envoy.api.v2.Cluster.max_requests_per_connection:type_name -> google.protobuf.UInt32Value 32, // 11: envoy.api.v2.Cluster.circuit_breakers:type_name -> envoy.api.v2.cluster.CircuitBreakers 33, // 12: envoy.api.v2.Cluster.tls_context:type_name -> envoy.api.v2.auth.UpstreamTlsContext 34, // 13: envoy.api.v2.Cluster.upstream_http_protocol_options:type_name -> envoy.api.v2.core.UpstreamHttpProtocolOptions 35, // 14: envoy.api.v2.Cluster.common_http_protocol_options:type_name -> envoy.api.v2.core.HttpProtocolOptions 36, // 15: envoy.api.v2.Cluster.http_protocol_options:type_name -> envoy.api.v2.core.Http1ProtocolOptions 37, // 16: envoy.api.v2.Cluster.http2_protocol_options:type_name -> envoy.api.v2.core.Http2ProtocolOptions 20, // 17: envoy.api.v2.Cluster.extension_protocol_options:type_name -> envoy.api.v2.Cluster.ExtensionProtocolOptionsEntry 21, // 18: envoy.api.v2.Cluster.typed_extension_protocol_options:type_name -> envoy.api.v2.Cluster.TypedExtensionProtocolOptionsEntry 27, // 19: envoy.api.v2.Cluster.dns_refresh_rate:type_name -> google.protobuf.Duration 19, // 20: envoy.api.v2.Cluster.dns_failure_refresh_rate:type_name -> envoy.api.v2.Cluster.RefreshRate 2, // 21: envoy.api.v2.Cluster.dns_lookup_family:type_name -> envoy.api.v2.Cluster.DnsLookupFamily 29, // 22: envoy.api.v2.Cluster.dns_resolvers:type_name -> envoy.api.v2.core.Address 38, // 23: envoy.api.v2.Cluster.outlier_detection:type_name -> envoy.api.v2.cluster.OutlierDetection 27, // 24: envoy.api.v2.Cluster.cleanup_interval:type_name -> google.protobuf.Duration 39, // 25: envoy.api.v2.Cluster.upstream_bind_config:type_name -> envoy.api.v2.core.BindConfig 14, // 26: envoy.api.v2.Cluster.lb_subset_config:type_name -> envoy.api.v2.Cluster.LbSubsetConfig 16, // 27: envoy.api.v2.Cluster.ring_hash_lb_config:type_name -> envoy.api.v2.Cluster.RingHashLbConfig 17, // 28: envoy.api.v2.Cluster.original_dst_lb_config:type_name -> envoy.api.v2.Cluster.OriginalDstLbConfig 15, // 29: envoy.api.v2.Cluster.least_request_lb_config:type_name -> envoy.api.v2.Cluster.LeastRequestLbConfig 18, // 30: envoy.api.v2.Cluster.common_lb_config:type_name -> envoy.api.v2.Cluster.CommonLbConfig 40, // 31: envoy.api.v2.Cluster.transport_socket:type_name -> envoy.api.v2.core.TransportSocket 41, // 32: envoy.api.v2.Cluster.metadata:type_name -> envoy.api.v2.core.Metadata 3, // 33: envoy.api.v2.Cluster.protocol_selection:type_name -> envoy.api.v2.Cluster.ClusterProtocolSelection 10, // 34: envoy.api.v2.Cluster.upstream_connection_options:type_name -> envoy.api.v2.UpstreamConnectionOptions 42, // 35: envoy.api.v2.Cluster.filters:type_name -> envoy.api.v2.cluster.Filter 8, // 36: envoy.api.v2.Cluster.load_balancing_policy:type_name -> envoy.api.v2.LoadBalancingPolicy 43, // 37: envoy.api.v2.Cluster.lrs_server:type_name -> envoy.api.v2.core.ConfigSource 26, // 38: envoy.api.v2.LoadBalancingPolicy.policies:type_name -> envoy.api.v2.LoadBalancingPolicy.Policy 29, // 39: envoy.api.v2.UpstreamBindConfig.source_address:type_name -> envoy.api.v2.core.Address 44, // 40: envoy.api.v2.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.api.v2.core.TcpKeepalive 45, // 41: envoy.api.v2.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct 40, // 42: envoy.api.v2.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.api.v2.core.TransportSocket 46, // 43: envoy.api.v2.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any 43, // 44: envoy.api.v2.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.api.v2.core.ConfigSource 4, // 45: envoy.api.v2.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy 45, // 46: envoy.api.v2.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct 22, // 47: envoy.api.v2.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector 28, // 48: envoy.api.v2.Cluster.LeastRequestLbConfig.choice_count:type_name -> google.protobuf.UInt32Value 47, // 49: envoy.api.v2.Cluster.RingHashLbConfig.minimum_ring_size:type_name -> google.protobuf.UInt64Value 6, // 50: envoy.api.v2.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.api.v2.Cluster.RingHashLbConfig.HashFunction 47, // 51: envoy.api.v2.Cluster.RingHashLbConfig.maximum_ring_size:type_name -> google.protobuf.UInt64Value 48, // 52: envoy.api.v2.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.Percent 23, // 53: envoy.api.v2.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig 24, // 54: envoy.api.v2.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig 27, // 55: envoy.api.v2.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration 25, // 56: envoy.api.v2.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig 27, // 57: envoy.api.v2.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration 27, // 58: envoy.api.v2.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration 45, // 59: envoy.api.v2.Cluster.ExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Struct 46, // 60: envoy.api.v2.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any 5, // 61: envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy 48, // 62: envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.Percent 47, // 63: envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value 45, // 64: envoy.api.v2.LoadBalancingPolicy.Policy.config:type_name -> google.protobuf.Struct 46, // 65: envoy.api.v2.LoadBalancingPolicy.Policy.typed_config:type_name -> google.protobuf.Any 66, // [66:66] is the sub-list for method output_type 66, // [66:66] is the sub-list for method input_type 66, // [66:66] is the sub-list for extension type_name 66, // [66:66] is the sub-list for extension extendee 0, // [0:66] is the sub-list for field type_name } func init() { file_envoy_api_v2_cluster_proto_init() } func file_envoy_api_v2_cluster_proto_init() { if File_envoy_api_v2_cluster_proto != nil { return } file_envoy_api_v2_endpoint_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadBalancingPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamBindConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamConnectionOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_TransportSocketMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CustomClusterType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_EdsClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LbSubsetConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LeastRequestLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_RingHashLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_OriginalDstLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_RefreshRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LbSubsetConfig_LbSubsetSelector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_ZoneAwareLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_LocalityWeightedLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_ConsistentHashingLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadBalancingPolicy_Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_cluster_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Cluster_Type)(nil), (*Cluster_ClusterType)(nil), (*Cluster_RingHashLbConfig_)(nil), (*Cluster_OriginalDstLbConfig_)(nil), (*Cluster_LeastRequestLbConfig_)(nil), } file_envoy_api_v2_cluster_proto_msgTypes[11].OneofWrappers = []interface{}{ (*Cluster_CommonLbConfig_ZoneAwareLbConfig_)(nil), (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_cluster_proto_rawDesc, NumEnums: 7, NumMessages: 20, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_cluster_proto_goTypes, DependencyIndexes: file_envoy_api_v2_cluster_proto_depIdxs, EnumInfos: file_envoy_api_v2_cluster_proto_enumTypes, MessageInfos: file_envoy_api_v2_cluster_proto_msgTypes, }.Build() File_envoy_api_v2_cluster_proto = out.File file_envoy_api_v2_cluster_proto_rawDesc = nil file_envoy_api_v2_cluster_proto_goTypes = nil file_envoy_api_v2_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/cluster.pb.validate.go000077500000000000000000003263631454502223200234310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/cluster.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Cluster with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ClusterMultiError, or nil if none found. func (m *Cluster) ValidateAll() error { return m.validate(true) } func (m *Cluster) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetTransportSocketMatches() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetName()) < 1 { err := ClusterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AltStatName if all { switch v := interface{}(m.GetEdsClusterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEdsClusterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, } } } if d := m.GetConnectTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "ConnectTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "ConnectTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetPerConnectionBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if _, ok := Cluster_LbPolicy_name[int32(m.GetLbPolicy())]; !ok { err := ClusterValidationError{ field: "LbPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHosts() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Hosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Hosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("Hosts[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLoadAssignment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadAssignment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxRequestsPerConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequestsPerConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCircuitBreakers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCircuitBreakers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetExtensionProtocolOptions())) i := 0 for key := range m.GetExtensionProtocolOptions() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetExtensionProtocolOptions()[key] _ = val // no validation rules for ExtensionProtocolOptions[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("ExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("ExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("ExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } { sorted_keys := make([]string, len(m.GetTypedExtensionProtocolOptions())) i := 0 for key := range m.GetTypedExtensionProtocolOptions() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedExtensionProtocolOptions()[key] _ = val // no validation rules for TypedExtensionProtocolOptions[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if d := m.GetDnsRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "DnsRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "DnsRefreshRate", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetDnsFailureRefreshRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsFailureRefreshRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RespectDnsTtl if _, ok := Cluster_DnsLookupFamily_name[int32(m.GetDnsLookupFamily())]; !ok { err := ClusterValidationError{ field: "DnsLookupFamily", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDnsResolvers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for UseTcpForDnsLookups if all { switch v := interface{}(m.GetOutlierDetection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutlierDetection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, } } } if d := m.GetCleanupInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "CleanupInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "CleanupInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetUpstreamBindConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamBindConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLbSubsetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLbSubsetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ProtocolSelection if all { switch v := interface{}(m.GetUpstreamConnectionOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamConnectionOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CloseConnectionsOnHostHealthFailure // no validation rules for DrainConnectionsOnHostRemoval for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLoadBalancingPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadBalancingPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLrsServer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLrsServer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrackTimeoutBudgets switch v := m.ClusterDiscoveryType.(type) { case *Cluster_Type: if v == nil { err := ClusterValidationError{ field: "ClusterDiscoveryType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if _, ok := Cluster_DiscoveryType_name[int32(m.GetType())]; !ok { err := ClusterValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } case *Cluster_ClusterType: if v == nil { err := ClusterValidationError{ field: "ClusterDiscoveryType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClusterType()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterType()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } switch v := m.LbConfig.(type) { case *Cluster_RingHashLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRingHashLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRingHashLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_OriginalDstLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOriginalDstLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOriginalDstLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_LeastRequestLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLeastRequestLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLeastRequestLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ClusterMultiError(errors) } return nil } // ClusterMultiError is an error wrapping multiple validation errors returned // by Cluster.ValidateAll() if the designated constraints aren't met. type ClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterMultiError) AllErrors() []error { return m } // ClusterValidationError is the validation error returned by Cluster.Validate // if the designated constraints aren't met. type ClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterValidationError) ErrorName() string { return "ClusterValidationError" } // Error satisfies the builtin error interface func (e ClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterValidationError{} // Validate checks the field values on LoadBalancingPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LoadBalancingPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadBalancingPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadBalancingPolicyMultiError, or nil if none found. func (m *LoadBalancingPolicy) ValidateAll() error { return m.validate(true) } func (m *LoadBalancingPolicy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LoadBalancingPolicyMultiError(errors) } return nil } // LoadBalancingPolicyMultiError is an error wrapping multiple validation // errors returned by LoadBalancingPolicy.ValidateAll() if the designated // constraints aren't met. type LoadBalancingPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadBalancingPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadBalancingPolicyMultiError) AllErrors() []error { return m } // LoadBalancingPolicyValidationError is the validation error returned by // LoadBalancingPolicy.Validate if the designated constraints aren't met. type LoadBalancingPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadBalancingPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadBalancingPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadBalancingPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadBalancingPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadBalancingPolicyValidationError) ErrorName() string { return "LoadBalancingPolicyValidationError" } // Error satisfies the builtin error interface func (e LoadBalancingPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadBalancingPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadBalancingPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadBalancingPolicyValidationError{} // Validate checks the field values on UpstreamBindConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamBindConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamBindConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamBindConfigMultiError, or nil if none found. func (m *UpstreamBindConfig) ValidateAll() error { return m.validate(true) } func (m *UpstreamBindConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSourceAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamBindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamBindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamBindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamBindConfigMultiError(errors) } return nil } // UpstreamBindConfigMultiError is an error wrapping multiple validation errors // returned by UpstreamBindConfig.ValidateAll() if the designated constraints // aren't met. type UpstreamBindConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamBindConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamBindConfigMultiError) AllErrors() []error { return m } // UpstreamBindConfigValidationError is the validation error returned by // UpstreamBindConfig.Validate if the designated constraints aren't met. type UpstreamBindConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamBindConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamBindConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamBindConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamBindConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamBindConfigValidationError) ErrorName() string { return "UpstreamBindConfigValidationError" } // Error satisfies the builtin error interface func (e UpstreamBindConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamBindConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamBindConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamBindConfigValidationError{} // Validate checks the field values on UpstreamConnectionOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamConnectionOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamConnectionOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamConnectionOptionsMultiError, or nil if none found. func (m *UpstreamConnectionOptions) ValidateAll() error { return m.validate(true) } func (m *UpstreamConnectionOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTcpKeepalive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpKeepalive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamConnectionOptionsMultiError(errors) } return nil } // UpstreamConnectionOptionsMultiError is an error wrapping multiple validation // errors returned by UpstreamConnectionOptions.ValidateAll() if the // designated constraints aren't met. type UpstreamConnectionOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamConnectionOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamConnectionOptionsMultiError) AllErrors() []error { return m } // UpstreamConnectionOptionsValidationError is the validation error returned by // UpstreamConnectionOptions.Validate if the designated constraints aren't met. type UpstreamConnectionOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamConnectionOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamConnectionOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamConnectionOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamConnectionOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamConnectionOptionsValidationError) ErrorName() string { return "UpstreamConnectionOptionsValidationError" } // Error satisfies the builtin error interface func (e UpstreamConnectionOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamConnectionOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamConnectionOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamConnectionOptionsValidationError{} // Validate checks the field values on Cluster_TransportSocketMatch with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_TransportSocketMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_TransportSocketMatch with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_TransportSocketMatchMultiError, or nil if none found. func (m *Cluster_TransportSocketMatch) ValidateAll() error { return m.validate(true) } func (m *Cluster_TransportSocketMatch) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := Cluster_TransportSocketMatchValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_TransportSocketMatchMultiError(errors) } return nil } // Cluster_TransportSocketMatchMultiError is an error wrapping multiple // validation errors returned by Cluster_TransportSocketMatch.ValidateAll() if // the designated constraints aren't met. type Cluster_TransportSocketMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_TransportSocketMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_TransportSocketMatchMultiError) AllErrors() []error { return m } // Cluster_TransportSocketMatchValidationError is the validation error returned // by Cluster_TransportSocketMatch.Validate if the designated constraints // aren't met. type Cluster_TransportSocketMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_TransportSocketMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_TransportSocketMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_TransportSocketMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_TransportSocketMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_TransportSocketMatchValidationError) ErrorName() string { return "Cluster_TransportSocketMatchValidationError" } // Error satisfies the builtin error interface func (e Cluster_TransportSocketMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_TransportSocketMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_TransportSocketMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_TransportSocketMatchValidationError{} // Validate checks the field values on Cluster_CustomClusterType with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_CustomClusterType) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_CustomClusterType with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_CustomClusterTypeMultiError, or nil if none found. func (m *Cluster_CustomClusterType) ValidateAll() error { return m.validate(true) } func (m *Cluster_CustomClusterType) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := Cluster_CustomClusterTypeValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_CustomClusterTypeMultiError(errors) } return nil } // Cluster_CustomClusterTypeMultiError is an error wrapping multiple validation // errors returned by Cluster_CustomClusterType.ValidateAll() if the // designated constraints aren't met. type Cluster_CustomClusterTypeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CustomClusterTypeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CustomClusterTypeMultiError) AllErrors() []error { return m } // Cluster_CustomClusterTypeValidationError is the validation error returned by // Cluster_CustomClusterType.Validate if the designated constraints aren't met. type Cluster_CustomClusterTypeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CustomClusterTypeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CustomClusterTypeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CustomClusterTypeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CustomClusterTypeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CustomClusterTypeValidationError) ErrorName() string { return "Cluster_CustomClusterTypeValidationError" } // Error satisfies the builtin error interface func (e Cluster_CustomClusterTypeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CustomClusterType.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CustomClusterTypeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CustomClusterTypeValidationError{} // Validate checks the field values on Cluster_EdsClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_EdsClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_EdsClusterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_EdsClusterConfigMultiError, or nil if none found. func (m *Cluster_EdsClusterConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_EdsClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ServiceName if len(errors) > 0 { return Cluster_EdsClusterConfigMultiError(errors) } return nil } // Cluster_EdsClusterConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_EdsClusterConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_EdsClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_EdsClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_EdsClusterConfigMultiError) AllErrors() []error { return m } // Cluster_EdsClusterConfigValidationError is the validation error returned by // Cluster_EdsClusterConfig.Validate if the designated constraints aren't met. type Cluster_EdsClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_EdsClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_EdsClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_EdsClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_EdsClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_EdsClusterConfigValidationError) ErrorName() string { return "Cluster_EdsClusterConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_EdsClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_EdsClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_EdsClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_EdsClusterConfigValidationError{} // Validate checks the field values on Cluster_LbSubsetConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_LbSubsetConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_LbSubsetConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_LbSubsetConfigMultiError, or nil if none found. func (m *Cluster_LbSubsetConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_LbSubsetConfig) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := Cluster_LbSubsetConfigValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultSubset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultSubset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSubsetSelectors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for LocalityWeightAware // no validation rules for ScaleLocalityWeight // no validation rules for PanicModeAny // no validation rules for ListAsAny if len(errors) > 0 { return Cluster_LbSubsetConfigMultiError(errors) } return nil } // Cluster_LbSubsetConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_LbSubsetConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_LbSubsetConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LbSubsetConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LbSubsetConfigMultiError) AllErrors() []error { return m } // Cluster_LbSubsetConfigValidationError is the validation error returned by // Cluster_LbSubsetConfig.Validate if the designated constraints aren't met. type Cluster_LbSubsetConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LbSubsetConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LbSubsetConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LbSubsetConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LbSubsetConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LbSubsetConfigValidationError) ErrorName() string { return "Cluster_LbSubsetConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_LbSubsetConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LbSubsetConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LbSubsetConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LbSubsetConfigValidationError{} // Validate checks the field values on Cluster_LeastRequestLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_LeastRequestLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_LeastRequestLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_LeastRequestLbConfigMultiError, or nil if none found. func (m *Cluster_LeastRequestLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_LeastRequestLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetChoiceCount(); wrapper != nil { if wrapper.GetValue() < 2 { err := Cluster_LeastRequestLbConfigValidationError{ field: "ChoiceCount", reason: "value must be greater than or equal to 2", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_LeastRequestLbConfigMultiError(errors) } return nil } // Cluster_LeastRequestLbConfigMultiError is an error wrapping multiple // validation errors returned by Cluster_LeastRequestLbConfig.ValidateAll() if // the designated constraints aren't met. type Cluster_LeastRequestLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LeastRequestLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LeastRequestLbConfigMultiError) AllErrors() []error { return m } // Cluster_LeastRequestLbConfigValidationError is the validation error returned // by Cluster_LeastRequestLbConfig.Validate if the designated constraints // aren't met. type Cluster_LeastRequestLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LeastRequestLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LeastRequestLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LeastRequestLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LeastRequestLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LeastRequestLbConfigValidationError) ErrorName() string { return "Cluster_LeastRequestLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_LeastRequestLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LeastRequestLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LeastRequestLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LeastRequestLbConfigValidationError{} // Validate checks the field values on Cluster_RingHashLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_RingHashLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_RingHashLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_RingHashLbConfigMultiError, or nil if none found. func (m *Cluster_RingHashLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_RingHashLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMinimumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := Cluster_RingHashLbConfigValidationError{ field: "MinimumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } if _, ok := Cluster_RingHashLbConfig_HashFunction_name[int32(m.GetHashFunction())]; !ok { err := Cluster_RingHashLbConfigValidationError{ field: "HashFunction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaximumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := Cluster_RingHashLbConfigValidationError{ field: "MaximumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_RingHashLbConfigMultiError(errors) } return nil } // Cluster_RingHashLbConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_RingHashLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_RingHashLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_RingHashLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_RingHashLbConfigMultiError) AllErrors() []error { return m } // Cluster_RingHashLbConfigValidationError is the validation error returned by // Cluster_RingHashLbConfig.Validate if the designated constraints aren't met. type Cluster_RingHashLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_RingHashLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_RingHashLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_RingHashLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_RingHashLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_RingHashLbConfigValidationError) ErrorName() string { return "Cluster_RingHashLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_RingHashLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_RingHashLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_RingHashLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_RingHashLbConfigValidationError{} // Validate checks the field values on Cluster_OriginalDstLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_OriginalDstLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_OriginalDstLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_OriginalDstLbConfigMultiError, or nil if none found. func (m *Cluster_OriginalDstLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_OriginalDstLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseHttpHeader if len(errors) > 0 { return Cluster_OriginalDstLbConfigMultiError(errors) } return nil } // Cluster_OriginalDstLbConfigMultiError is an error wrapping multiple // validation errors returned by Cluster_OriginalDstLbConfig.ValidateAll() if // the designated constraints aren't met. type Cluster_OriginalDstLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_OriginalDstLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_OriginalDstLbConfigMultiError) AllErrors() []error { return m } // Cluster_OriginalDstLbConfigValidationError is the validation error returned // by Cluster_OriginalDstLbConfig.Validate if the designated constraints // aren't met. type Cluster_OriginalDstLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_OriginalDstLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_OriginalDstLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_OriginalDstLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_OriginalDstLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_OriginalDstLbConfigValidationError) ErrorName() string { return "Cluster_OriginalDstLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_OriginalDstLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_OriginalDstLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_OriginalDstLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_OriginalDstLbConfigValidationError{} // Validate checks the field values on Cluster_CommonLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_CommonLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_CommonLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHealthyPanicThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthyPanicThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpdateMergeWindow()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpdateMergeWindow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IgnoreNewHostsUntilFirstHc // no validation rules for CloseConnectionsOnHostSetChange if all { switch v := interface{}(m.GetConsistentHashingLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsistentHashingLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, } } } switch v := m.LocalityConfigSpecifier.(type) { case *Cluster_CommonLbConfig_ZoneAwareLbConfig_: if v == nil { err := Cluster_CommonLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetZoneAwareLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetZoneAwareLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_CommonLbConfig_LocalityWeightedLbConfig_: if v == nil { err := Cluster_CommonLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityWeightedLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return Cluster_CommonLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_CommonLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_CommonLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfigValidationError is the validation error returned by // Cluster_CommonLbConfig.Validate if the designated constraints aren't met. type Cluster_CommonLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfigValidationError{} // Validate checks the field values on Cluster_RefreshRate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_RefreshRate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_RefreshRate with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_RefreshRateMultiError, or nil if none found. func (m *Cluster_RefreshRate) ValidateAll() error { return m.validate(true) } func (m *Cluster_RefreshRate) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Cluster_RefreshRateValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := Cluster_RefreshRateValidationError{ field: "MaxInterval", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return Cluster_RefreshRateMultiError(errors) } return nil } // Cluster_RefreshRateMultiError is an error wrapping multiple validation // errors returned by Cluster_RefreshRate.ValidateAll() if the designated // constraints aren't met. type Cluster_RefreshRateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_RefreshRateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_RefreshRateMultiError) AllErrors() []error { return m } // Cluster_RefreshRateValidationError is the validation error returned by // Cluster_RefreshRate.Validate if the designated constraints aren't met. type Cluster_RefreshRateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_RefreshRateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_RefreshRateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_RefreshRateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_RefreshRateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_RefreshRateValidationError) ErrorName() string { return "Cluster_RefreshRateValidationError" } // Error satisfies the builtin error interface func (e Cluster_RefreshRateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_RefreshRate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_RefreshRateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_RefreshRateValidationError{} // Validate checks the field values on Cluster_LbSubsetConfig_LbSubsetSelector // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_LbSubsetConfig_LbSubsetSelector with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // Cluster_LbSubsetConfig_LbSubsetSelectorMultiError, or nil if none found. func (m *Cluster_LbSubsetConfig_LbSubsetSelector) ValidateAll() error { return m.validate(true) } func (m *Cluster_LbSubsetConfig_LbSubsetSelector) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Cluster_LbSubsetConfig_LbSubsetSelectorMultiError(errors) } return nil } // Cluster_LbSubsetConfig_LbSubsetSelectorMultiError is an error wrapping // multiple validation errors returned by // Cluster_LbSubsetConfig_LbSubsetSelector.ValidateAll() if the designated // constraints aren't met. type Cluster_LbSubsetConfig_LbSubsetSelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LbSubsetConfig_LbSubsetSelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LbSubsetConfig_LbSubsetSelectorMultiError) AllErrors() []error { return m } // Cluster_LbSubsetConfig_LbSubsetSelectorValidationError is the validation // error returned by Cluster_LbSubsetConfig_LbSubsetSelector.Validate if the // designated constraints aren't met. type Cluster_LbSubsetConfig_LbSubsetSelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) ErrorName() string { return "Cluster_LbSubsetConfig_LbSubsetSelectorValidationError" } // Error satisfies the builtin error interface func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LbSubsetConfig_LbSubsetSelector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{} // Validate checks the field values on Cluster_CommonLbConfig_ZoneAwareLbConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_ZoneAwareLbConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRoutingEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoutingEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinClusterSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinClusterSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailTrafficOnPanic if len(errors) > 0 { return Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError is an error wrapping // multiple validation errors returned by // Cluster_CommonLbConfig_ZoneAwareLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError is the validation // error returned by Cluster_CommonLbConfig_ZoneAwareLbConfig.Validate if the // designated constraints aren't met. type Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_ZoneAwareLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{} // Validate checks the field values on // Cluster_CommonLbConfig_LocalityWeightedLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_LocalityWeightedLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError is an error // wrapping multiple validation errors returned by // Cluster_CommonLbConfig_LocalityWeightedLbConfig.ValidateAll() if the // designated constraints aren't met. type Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError is the // validation error returned by // Cluster_CommonLbConfig_LocalityWeightedLbConfig.Validate if the designated // constraints aren't met. type Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_LocalityWeightedLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError{} // Validate checks the field values on // Cluster_CommonLbConfig_ConsistentHashingLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_ConsistentHashingLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseHostnameForHashing if len(errors) > 0 { return Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError is an error // wrapping multiple validation errors returned by // Cluster_CommonLbConfig_ConsistentHashingLbConfig.ValidateAll() if the // designated constraints aren't met. type Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError is the // validation error returned by // Cluster_CommonLbConfig_ConsistentHashingLbConfig.Validate if the designated // constraints aren't met. type Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_ConsistentHashingLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError{} // Validate checks the field values on LoadBalancingPolicy_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LoadBalancingPolicy_Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadBalancingPolicy_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadBalancingPolicy_PolicyMultiError, or nil if none found. func (m *LoadBalancingPolicy_Policy) ValidateAll() error { return m.validate(true) } func (m *LoadBalancingPolicy_Policy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadBalancingPolicy_PolicyValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadBalancingPolicy_PolicyValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LoadBalancingPolicy_PolicyMultiError(errors) } return nil } // LoadBalancingPolicy_PolicyMultiError is an error wrapping multiple // validation errors returned by LoadBalancingPolicy_Policy.ValidateAll() if // the designated constraints aren't met. type LoadBalancingPolicy_PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadBalancingPolicy_PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadBalancingPolicy_PolicyMultiError) AllErrors() []error { return m } // LoadBalancingPolicy_PolicyValidationError is the validation error returned // by LoadBalancingPolicy_Policy.Validate if the designated constraints aren't met. type LoadBalancingPolicy_PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadBalancingPolicy_PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadBalancingPolicy_PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadBalancingPolicy_PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadBalancingPolicy_PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadBalancingPolicy_PolicyValidationError) ErrorName() string { return "LoadBalancingPolicy_PolicyValidationError" } // Error satisfies the builtin error interface func (e LoadBalancingPolicy_PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadBalancingPolicy_Policy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadBalancingPolicy_PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadBalancingPolicy_PolicyValidationError{} go-control-plane-0.12.0/envoy/api/v2/cluster/000077500000000000000000000000001454502223200206725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/cluster/circuit_breaker.pb.go000077500000000000000000000551031454502223200247650ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/cluster/circuit_breaker.proto package cluster import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // :ref:`Circuit breaking` settings can be // specified individually for each defined priority. type CircuitBreakers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If multiple :ref:`Thresholds` // are defined with the same :ref:`RoutingPriority`, // the first one in the list is used. If no Thresholds is defined for a given // :ref:`RoutingPriority`, the default values // are used. Thresholds []*CircuitBreakers_Thresholds `protobuf:"bytes,1,rep,name=thresholds,proto3" json:"thresholds,omitempty"` } func (x *CircuitBreakers) Reset() { *x = CircuitBreakers{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers) ProtoMessage() {} func (x *CircuitBreakers) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers.ProtoReflect.Descriptor instead. func (*CircuitBreakers) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescGZIP(), []int{0} } func (x *CircuitBreakers) GetThresholds() []*CircuitBreakers_Thresholds { if x != nil { return x.Thresholds } return nil } // A Thresholds defines CircuitBreaker settings for a // :ref:`RoutingPriority`. // [#next-free-field: 9] type CircuitBreakers_Thresholds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`RoutingPriority` // the specified CircuitBreaker settings apply to. Priority core.RoutingPriority `protobuf:"varint,1,opt,name=priority,proto3,enum=envoy.api.v2.core.RoutingPriority" json:"priority,omitempty"` // The maximum number of connections that Envoy will make to the upstream // cluster. If not specified, the default is 1024. MaxConnections *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // The maximum number of pending requests that Envoy will allow to the // upstream cluster. If not specified, the default is 1024. MaxPendingRequests *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"` // The maximum number of parallel requests that Envoy will make to the // upstream cluster. If not specified, the default is 1024. MaxRequests *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"` // The maximum number of parallel retries that Envoy will allow to the // upstream cluster. If not specified, the default is 3. MaxRetries *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` // Specifies a limit on concurrent retries in relation to the number of active requests. This // parameter is optional. // // .. note:: // // If this field is set, the retry budget will override any configured retry circuit // breaker. RetryBudget *CircuitBreakers_Thresholds_RetryBudget `protobuf:"bytes,8,opt,name=retry_budget,json=retryBudget,proto3" json:"retry_budget,omitempty"` // If track_remaining is true, then stats will be published that expose // the number of resources remaining until the circuit breakers open. If // not specified, the default is false. // // .. note:: // // If a retry budget is used in lieu of the max_retries circuit breaker, // the remaining retry resources remaining will not be tracked. TrackRemaining bool `protobuf:"varint,6,opt,name=track_remaining,json=trackRemaining,proto3" json:"track_remaining,omitempty"` // The maximum number of connection pools per cluster that Envoy will concurrently support at // once. If not specified, the default is unlimited. Set this for clusters which create a // large number of connection pools. See // :ref:`Circuit Breaking ` for // more details. MaxConnectionPools *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_connection_pools,json=maxConnectionPools,proto3" json:"max_connection_pools,omitempty"` } func (x *CircuitBreakers_Thresholds) Reset() { *x = CircuitBreakers_Thresholds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers_Thresholds) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers_Thresholds) ProtoMessage() {} func (x *CircuitBreakers_Thresholds) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers_Thresholds.ProtoReflect.Descriptor instead. func (*CircuitBreakers_Thresholds) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescGZIP(), []int{0, 0} } func (x *CircuitBreakers_Thresholds) GetPriority() core.RoutingPriority { if x != nil { return x.Priority } return core.RoutingPriority(0) } func (x *CircuitBreakers_Thresholds) GetMaxConnections() *wrappers.UInt32Value { if x != nil { return x.MaxConnections } return nil } func (x *CircuitBreakers_Thresholds) GetMaxPendingRequests() *wrappers.UInt32Value { if x != nil { return x.MaxPendingRequests } return nil } func (x *CircuitBreakers_Thresholds) GetMaxRequests() *wrappers.UInt32Value { if x != nil { return x.MaxRequests } return nil } func (x *CircuitBreakers_Thresholds) GetMaxRetries() *wrappers.UInt32Value { if x != nil { return x.MaxRetries } return nil } func (x *CircuitBreakers_Thresholds) GetRetryBudget() *CircuitBreakers_Thresholds_RetryBudget { if x != nil { return x.RetryBudget } return nil } func (x *CircuitBreakers_Thresholds) GetTrackRemaining() bool { if x != nil { return x.TrackRemaining } return false } func (x *CircuitBreakers_Thresholds) GetMaxConnectionPools() *wrappers.UInt32Value { if x != nil { return x.MaxConnectionPools } return nil } type CircuitBreakers_Thresholds_RetryBudget struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the limit on concurrent retries as a percentage of the sum of active requests and // active pending requests. For example, if there are 100 active requests and the // budget_percent is set to 25, there may be 25 active retries. // // This parameter is optional. Defaults to 20%. BudgetPercent *_type.Percent `protobuf:"bytes,1,opt,name=budget_percent,json=budgetPercent,proto3" json:"budget_percent,omitempty"` // Specifies the minimum retry concurrency allowed for the retry budget. The limit on the // number of active retries may never go below this number. // // This parameter is optional. Defaults to 3. MinRetryConcurrency *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=min_retry_concurrency,json=minRetryConcurrency,proto3" json:"min_retry_concurrency,omitempty"` } func (x *CircuitBreakers_Thresholds_RetryBudget) Reset() { *x = CircuitBreakers_Thresholds_RetryBudget{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers_Thresholds_RetryBudget) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers_Thresholds_RetryBudget) ProtoMessage() {} func (x *CircuitBreakers_Thresholds_RetryBudget) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers_Thresholds_RetryBudget.ProtoReflect.Descriptor instead. func (*CircuitBreakers_Thresholds_RetryBudget) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *CircuitBreakers_Thresholds_RetryBudget) GetBudgetPercent() *_type.Percent { if x != nil { return x.BudgetPercent } return nil } func (x *CircuitBreakers_Thresholds_RetryBudget) GetMinRetryConcurrency() *wrappers.UInt32Value { if x != nil { return x.MinRetryConcurrency } return nil } var File_envoy_api_v2_cluster_circuit_breaker_proto protoreflect.FileDescriptor var file_envoy_api_v2_cluster_circuit_breaker_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x06, 0x0a, 0x0f, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x1a, 0xe5, 0x05, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x1a, 0x9b, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x0e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, 0xd4, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x13, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x16, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x19, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescOnce sync.Once file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescData = file_envoy_api_v2_cluster_circuit_breaker_proto_rawDesc ) func file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescGZIP() []byte { file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescOnce.Do(func() { file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescData) }) return file_envoy_api_v2_cluster_circuit_breaker_proto_rawDescData } var file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_api_v2_cluster_circuit_breaker_proto_goTypes = []interface{}{ (*CircuitBreakers)(nil), // 0: envoy.api.v2.cluster.CircuitBreakers (*CircuitBreakers_Thresholds)(nil), // 1: envoy.api.v2.cluster.CircuitBreakers.Thresholds (*CircuitBreakers_Thresholds_RetryBudget)(nil), // 2: envoy.api.v2.cluster.CircuitBreakers.Thresholds.RetryBudget (core.RoutingPriority)(0), // 3: envoy.api.v2.core.RoutingPriority (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*_type.Percent)(nil), // 5: envoy.type.Percent } var file_envoy_api_v2_cluster_circuit_breaker_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.cluster.CircuitBreakers.thresholds:type_name -> envoy.api.v2.cluster.CircuitBreakers.Thresholds 3, // 1: envoy.api.v2.cluster.CircuitBreakers.Thresholds.priority:type_name -> envoy.api.v2.core.RoutingPriority 4, // 2: envoy.api.v2.cluster.CircuitBreakers.Thresholds.max_connections:type_name -> google.protobuf.UInt32Value 4, // 3: envoy.api.v2.cluster.CircuitBreakers.Thresholds.max_pending_requests:type_name -> google.protobuf.UInt32Value 4, // 4: envoy.api.v2.cluster.CircuitBreakers.Thresholds.max_requests:type_name -> google.protobuf.UInt32Value 4, // 5: envoy.api.v2.cluster.CircuitBreakers.Thresholds.max_retries:type_name -> google.protobuf.UInt32Value 2, // 6: envoy.api.v2.cluster.CircuitBreakers.Thresholds.retry_budget:type_name -> envoy.api.v2.cluster.CircuitBreakers.Thresholds.RetryBudget 4, // 7: envoy.api.v2.cluster.CircuitBreakers.Thresholds.max_connection_pools:type_name -> google.protobuf.UInt32Value 5, // 8: envoy.api.v2.cluster.CircuitBreakers.Thresholds.RetryBudget.budget_percent:type_name -> envoy.type.Percent 4, // 9: envoy.api.v2.cluster.CircuitBreakers.Thresholds.RetryBudget.min_retry_concurrency:type_name -> google.protobuf.UInt32Value 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_api_v2_cluster_circuit_breaker_proto_init() } func file_envoy_api_v2_cluster_circuit_breaker_proto_init() { if File_envoy_api_v2_cluster_circuit_breaker_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers_Thresholds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers_Thresholds_RetryBudget); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_cluster_circuit_breaker_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_cluster_circuit_breaker_proto_goTypes, DependencyIndexes: file_envoy_api_v2_cluster_circuit_breaker_proto_depIdxs, MessageInfos: file_envoy_api_v2_cluster_circuit_breaker_proto_msgTypes, }.Build() File_envoy_api_v2_cluster_circuit_breaker_proto = out.File file_envoy_api_v2_cluster_circuit_breaker_proto_rawDesc = nil file_envoy_api_v2_cluster_circuit_breaker_proto_goTypes = nil file_envoy_api_v2_cluster_circuit_breaker_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/cluster/circuit_breaker.pb.validate.go000077500000000000000000000436701454502223200265630ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/cluster/circuit_breaker.proto package cluster import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.RoutingPriority(0) ) // Validate checks the field values on CircuitBreakers with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CircuitBreakers) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CircuitBreakers with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CircuitBreakersMultiError, or nil if none found. func (m *CircuitBreakers) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetThresholds() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CircuitBreakersMultiError(errors) } return nil } // CircuitBreakersMultiError is an error wrapping multiple validation errors // returned by CircuitBreakers.ValidateAll() if the designated constraints // aren't met. type CircuitBreakersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakersMultiError) AllErrors() []error { return m } // CircuitBreakersValidationError is the validation error returned by // CircuitBreakers.Validate if the designated constraints aren't met. type CircuitBreakersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakersValidationError) ErrorName() string { return "CircuitBreakersValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakersValidationError{} // Validate checks the field values on CircuitBreakers_Thresholds with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CircuitBreakers_Thresholds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CircuitBreakers_Thresholds with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CircuitBreakers_ThresholdsMultiError, or nil if none found. func (m *CircuitBreakers_Thresholds) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers_Thresholds) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := core.RoutingPriority_name[int32(m.GetPriority())]; !ok { err := CircuitBreakers_ThresholdsValidationError{ field: "Priority", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMaxConnections()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnections()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxPendingRequests()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPendingRequests()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxRequests()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequests()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryBudget()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBudget()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrackRemaining if all { switch v := interface{}(m.GetMaxConnectionPools()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnectionPools()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CircuitBreakers_ThresholdsMultiError(errors) } return nil } // CircuitBreakers_ThresholdsMultiError is an error wrapping multiple // validation errors returned by CircuitBreakers_Thresholds.ValidateAll() if // the designated constraints aren't met. type CircuitBreakers_ThresholdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakers_ThresholdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakers_ThresholdsMultiError) AllErrors() []error { return m } // CircuitBreakers_ThresholdsValidationError is the validation error returned // by CircuitBreakers_Thresholds.Validate if the designated constraints aren't met. type CircuitBreakers_ThresholdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakers_ThresholdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakers_ThresholdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakers_ThresholdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakers_ThresholdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakers_ThresholdsValidationError) ErrorName() string { return "CircuitBreakers_ThresholdsValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakers_ThresholdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers_Thresholds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakers_ThresholdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakers_ThresholdsValidationError{} // Validate checks the field values on CircuitBreakers_Thresholds_RetryBudget // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *CircuitBreakers_Thresholds_RetryBudget) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CircuitBreakers_Thresholds_RetryBudget with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // CircuitBreakers_Thresholds_RetryBudgetMultiError, or nil if none found. func (m *CircuitBreakers_Thresholds_RetryBudget) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers_Thresholds_RetryBudget) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBudgetPercent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBudgetPercent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinRetryConcurrency()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinRetryConcurrency()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CircuitBreakers_Thresholds_RetryBudgetMultiError(errors) } return nil } // CircuitBreakers_Thresholds_RetryBudgetMultiError is an error wrapping // multiple validation errors returned by // CircuitBreakers_Thresholds_RetryBudget.ValidateAll() if the designated // constraints aren't met. type CircuitBreakers_Thresholds_RetryBudgetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakers_Thresholds_RetryBudgetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakers_Thresholds_RetryBudgetMultiError) AllErrors() []error { return m } // CircuitBreakers_Thresholds_RetryBudgetValidationError is the validation // error returned by CircuitBreakers_Thresholds_RetryBudget.Validate if the // designated constraints aren't met. type CircuitBreakers_Thresholds_RetryBudgetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) ErrorName() string { return "CircuitBreakers_Thresholds_RetryBudgetValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers_Thresholds_RetryBudget.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakers_Thresholds_RetryBudgetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakers_Thresholds_RetryBudgetValidationError{} go-control-plane-0.12.0/envoy/api/v2/cluster/filter.pb.go000077500000000000000000000171521454502223200231170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/cluster/filter.proto package cluster import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a // :ref:`supported filter `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *Filter) Reset() { *x = Filter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_filter_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Filter) ProtoMessage() {} func (x *Filter) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_filter_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Filter.ProtoReflect.Descriptor instead. func (*Filter) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_filter_proto_rawDescGZIP(), []int{0} } func (x *Filter) GetName() string { if x != nil { return x.Name } return "" } func (x *Filter) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } var File_envoy_api_v2_cluster_filter_proto protoreflect.FileDescriptor var file_envoy_api_v2_cluster_filter_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xcc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x16, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x19, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_cluster_filter_proto_rawDescOnce sync.Once file_envoy_api_v2_cluster_filter_proto_rawDescData = file_envoy_api_v2_cluster_filter_proto_rawDesc ) func file_envoy_api_v2_cluster_filter_proto_rawDescGZIP() []byte { file_envoy_api_v2_cluster_filter_proto_rawDescOnce.Do(func() { file_envoy_api_v2_cluster_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_cluster_filter_proto_rawDescData) }) return file_envoy_api_v2_cluster_filter_proto_rawDescData } var file_envoy_api_v2_cluster_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_cluster_filter_proto_goTypes = []interface{}{ (*Filter)(nil), // 0: envoy.api.v2.cluster.Filter (*any1.Any)(nil), // 1: google.protobuf.Any } var file_envoy_api_v2_cluster_filter_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.cluster.Filter.typed_config:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_cluster_filter_proto_init() } func file_envoy_api_v2_cluster_filter_proto_init() { if File_envoy_api_v2_cluster_filter_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_cluster_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_cluster_filter_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_cluster_filter_proto_goTypes, DependencyIndexes: file_envoy_api_v2_cluster_filter_proto_depIdxs, MessageInfos: file_envoy_api_v2_cluster_filter_proto_msgTypes, }.Build() File_envoy_api_v2_cluster_filter_proto = out.File file_envoy_api_v2_cluster_filter_proto_rawDesc = nil file_envoy_api_v2_cluster_filter_proto_goTypes = nil file_envoy_api_v2_cluster_filter_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/cluster/filter.pb.validate.go000077500000000000000000000100301454502223200246730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/cluster/filter.proto package cluster import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Filter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in FilterMultiError, or nil if none found. func (m *Filter) ValidateAll() error { return m.validate(true) } func (m *Filter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := FilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterMultiError(errors) } return nil } // FilterMultiError is an error wrapping multiple validation errors returned by // Filter.ValidateAll() if the designated constraints aren't met. type FilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterMultiError) AllErrors() []error { return m } // FilterValidationError is the validation error returned by Filter.Validate if // the designated constraints aren't met. type FilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterValidationError) ErrorName() string { return "FilterValidationError" } // Error satisfies the builtin error interface func (e FilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterValidationError{} go-control-plane-0.12.0/envoy/api/v2/cluster/outlier_detection.pb.go000077500000000000000000001031321454502223200253450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/cluster/outlier_detection.proto package cluster import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // See the :ref:`architecture overview ` for // more information on outlier detection. // [#next-free-field: 21] type OutlierDetection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of consecutive server-side error responses (for HTTP traffic, // 5xx responses; for TCP traffic, connection failures; for Redis, failure to // respond PONG; etc.) before a consecutive 5xx ejection occurs. Defaults to 5. Consecutive_5Xx *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"` // The time interval between ejection analysis sweeps. This can result in // both new ejections as well as hosts being returned to service. Defaults // to 10000ms or 10s. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // The base time that a host is ejected for. The real time is equal to the // base time multiplied by the number of times the host has been ejected. // Defaults to 30000ms or 30s. BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` // The maximum % of an upstream cluster that can be ejected due to outlier // detection. Defaults to 10% but will eject at least one host regardless of the value. MaxEjectionPercent *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive 5xx. This setting can be used to disable // ejection or to ramp it up slowly. Defaults to 100. EnforcingConsecutive_5Xx *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=enforcing_consecutive_5xx,json=enforcingConsecutive5xx,proto3" json:"enforcing_consecutive_5xx,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through success rate statistics. This setting can be used to // disable ejection or to ramp it up slowly. Defaults to 100. EnforcingSuccessRate *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate,proto3" json:"enforcing_success_rate,omitempty"` // The number of hosts in a cluster that must have enough request volume to // detect success rate outliers. If the number of hosts is less than this // setting, outlier detection via success rate statistics is not performed // for any host in the cluster. Defaults to 5. SuccessRateMinimumHosts *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=success_rate_minimum_hosts,json=successRateMinimumHosts,proto3" json:"success_rate_minimum_hosts,omitempty"` // The minimum number of total requests that must be collected in one // interval (as defined by the interval duration above) to include this host // in success rate based outlier detection. If the volume is lower than this // setting, outlier detection via success rate statistics is not performed // for that host. Defaults to 100. SuccessRateRequestVolume *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=success_rate_request_volume,json=successRateRequestVolume,proto3" json:"success_rate_request_volume,omitempty"` // This factor is used to determine the ejection threshold for success rate // outlier ejection. The ejection threshold is the difference between the // mean success rate, and the product of this factor and the standard // deviation of the mean success rate: mean - (stdev * // success_rate_stdev_factor). This factor is divided by a thousand to get a // double. That is, if the desired factor is 1.9, the runtime value should // be 1900. Defaults to 1900. SuccessRateStdevFactor *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=success_rate_stdev_factor,json=successRateStdevFactor,proto3" json:"success_rate_stdev_factor,omitempty"` // The number of consecutive gateway failures (502, 503, 504 status codes) // before a consecutive gateway failure ejection occurs. Defaults to 5. ConsecutiveGatewayFailure *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=consecutive_gateway_failure,json=consecutiveGatewayFailure,proto3" json:"consecutive_gateway_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive gateway failures. This setting can be // used to disable ejection or to ramp it up slowly. Defaults to 0. EnforcingConsecutiveGatewayFailure *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=enforcing_consecutive_gateway_failure,json=enforcingConsecutiveGatewayFailure,proto3" json:"enforcing_consecutive_gateway_failure,omitempty"` // Determines whether to distinguish local origin failures from external errors. If set to true // the following configuration parameters are taken into account: // :ref:`consecutive_local_origin_failure`, // :ref:`enforcing_consecutive_local_origin_failure` // and // :ref:`enforcing_local_origin_success_rate`. // Defaults to false. SplitExternalLocalOriginErrors bool `protobuf:"varint,12,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"` // The number of consecutive locally originated failures before ejection // occurs. Defaults to 5. Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. ConsecutiveLocalOriginFailure *wrappers.UInt32Value `protobuf:"bytes,13,opt,name=consecutive_local_origin_failure,json=consecutiveLocalOriginFailure,proto3" json:"consecutive_local_origin_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive locally originated failures. This setting can be // used to disable ejection or to ramp it up slowly. Defaults to 100. // Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. EnforcingConsecutiveLocalOriginFailure *wrappers.UInt32Value `protobuf:"bytes,14,opt,name=enforcing_consecutive_local_origin_failure,json=enforcingConsecutiveLocalOriginFailure,proto3" json:"enforcing_consecutive_local_origin_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through success rate statistics for locally originated errors. // This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. // Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. EnforcingLocalOriginSuccessRate *wrappers.UInt32Value `protobuf:"bytes,15,opt,name=enforcing_local_origin_success_rate,json=enforcingLocalOriginSuccessRate,proto3" json:"enforcing_local_origin_success_rate,omitempty"` // The failure percentage to use when determining failure percentage-based outlier detection. If // the failure percentage of a given host is greater than or equal to this value, it will be // ejected. Defaults to 85. FailurePercentageThreshold *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=failure_percentage_threshold,json=failurePercentageThreshold,proto3" json:"failure_percentage_threshold,omitempty"` // The % chance that a host will be actually ejected when an outlier status is detected through // failure percentage statistics. This setting can be used to disable ejection or to ramp it up // slowly. Defaults to 0. // // [#next-major-version: setting this without setting failure_percentage_threshold should be // invalid in v4.] EnforcingFailurePercentage *wrappers.UInt32Value `protobuf:"bytes,17,opt,name=enforcing_failure_percentage,json=enforcingFailurePercentage,proto3" json:"enforcing_failure_percentage,omitempty"` // The % chance that a host will be actually ejected when an outlier status is detected through // local-origin failure percentage statistics. This setting can be used to disable ejection or to // ramp it up slowly. Defaults to 0. EnforcingFailurePercentageLocalOrigin *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=enforcing_failure_percentage_local_origin,json=enforcingFailurePercentageLocalOrigin,proto3" json:"enforcing_failure_percentage_local_origin,omitempty"` // The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. // If the total number of hosts in the cluster is less than this value, failure percentage-based // ejection will not be performed. Defaults to 5. FailurePercentageMinimumHosts *wrappers.UInt32Value `protobuf:"bytes,19,opt,name=failure_percentage_minimum_hosts,json=failurePercentageMinimumHosts,proto3" json:"failure_percentage_minimum_hosts,omitempty"` // The minimum number of total requests that must be collected in one interval (as defined by the // interval duration above) to perform failure percentage-based ejection for this host. If the // volume is lower than this setting, failure percentage-based ejection will not be performed for // this host. Defaults to 50. FailurePercentageRequestVolume *wrappers.UInt32Value `protobuf:"bytes,20,opt,name=failure_percentage_request_volume,json=failurePercentageRequestVolume,proto3" json:"failure_percentage_request_volume,omitempty"` } func (x *OutlierDetection) Reset() { *x = OutlierDetection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_cluster_outlier_detection_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierDetection) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierDetection) ProtoMessage() {} func (x *OutlierDetection) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_cluster_outlier_detection_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead. func (*OutlierDetection) Descriptor() ([]byte, []int) { return file_envoy_api_v2_cluster_outlier_detection_proto_rawDescGZIP(), []int{0} } func (x *OutlierDetection) GetConsecutive_5Xx() *wrappers.UInt32Value { if x != nil { return x.Consecutive_5Xx } return nil } func (x *OutlierDetection) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *OutlierDetection) GetBaseEjectionTime() *duration.Duration { if x != nil { return x.BaseEjectionTime } return nil } func (x *OutlierDetection) GetMaxEjectionPercent() *wrappers.UInt32Value { if x != nil { return x.MaxEjectionPercent } return nil } func (x *OutlierDetection) GetEnforcingConsecutive_5Xx() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutive_5Xx } return nil } func (x *OutlierDetection) GetEnforcingSuccessRate() *wrappers.UInt32Value { if x != nil { return x.EnforcingSuccessRate } return nil } func (x *OutlierDetection) GetSuccessRateMinimumHosts() *wrappers.UInt32Value { if x != nil { return x.SuccessRateMinimumHosts } return nil } func (x *OutlierDetection) GetSuccessRateRequestVolume() *wrappers.UInt32Value { if x != nil { return x.SuccessRateRequestVolume } return nil } func (x *OutlierDetection) GetSuccessRateStdevFactor() *wrappers.UInt32Value { if x != nil { return x.SuccessRateStdevFactor } return nil } func (x *OutlierDetection) GetConsecutiveGatewayFailure() *wrappers.UInt32Value { if x != nil { return x.ConsecutiveGatewayFailure } return nil } func (x *OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutiveGatewayFailure } return nil } func (x *OutlierDetection) GetSplitExternalLocalOriginErrors() bool { if x != nil { return x.SplitExternalLocalOriginErrors } return false } func (x *OutlierDetection) GetConsecutiveLocalOriginFailure() *wrappers.UInt32Value { if x != nil { return x.ConsecutiveLocalOriginFailure } return nil } func (x *OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutiveLocalOriginFailure } return nil } func (x *OutlierDetection) GetEnforcingLocalOriginSuccessRate() *wrappers.UInt32Value { if x != nil { return x.EnforcingLocalOriginSuccessRate } return nil } func (x *OutlierDetection) GetFailurePercentageThreshold() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageThreshold } return nil } func (x *OutlierDetection) GetEnforcingFailurePercentage() *wrappers.UInt32Value { if x != nil { return x.EnforcingFailurePercentage } return nil } func (x *OutlierDetection) GetEnforcingFailurePercentageLocalOrigin() *wrappers.UInt32Value { if x != nil { return x.EnforcingFailurePercentageLocalOrigin } return nil } func (x *OutlierDetection) GetFailurePercentageMinimumHosts() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageMinimumHosts } return nil } func (x *OutlierDetection) GetFailurePercentageRequestVolume() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageRequestVolume } return nil } var File_envoy_api_v2_cluster_outlier_detection_proto protoreflect.FileDescriptor var file_envoy_api_v2_cluster_outlier_detection_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x0f, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x35, 0x78, 0x78, 0x12, 0x3f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x51, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x19, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x17, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x35, 0x78, 0x78, 0x12, 0x5b, 0x0a, 0x16, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x14, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x1a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x65, 0x76, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x64, 0x65, 0x76, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5c, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x78, 0x0a, 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x22, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x2a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x26, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x73, 0x0a, 0x23, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x67, 0x0a, 0x1c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x7f, 0x0a, 0x29, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x65, 0x0a, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x21, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0xd6, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x15, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x16, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x19, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_cluster_outlier_detection_proto_rawDescOnce sync.Once file_envoy_api_v2_cluster_outlier_detection_proto_rawDescData = file_envoy_api_v2_cluster_outlier_detection_proto_rawDesc ) func file_envoy_api_v2_cluster_outlier_detection_proto_rawDescGZIP() []byte { file_envoy_api_v2_cluster_outlier_detection_proto_rawDescOnce.Do(func() { file_envoy_api_v2_cluster_outlier_detection_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_cluster_outlier_detection_proto_rawDescData) }) return file_envoy_api_v2_cluster_outlier_detection_proto_rawDescData } var file_envoy_api_v2_cluster_outlier_detection_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_cluster_outlier_detection_proto_goTypes = []interface{}{ (*OutlierDetection)(nil), // 0: envoy.api.v2.cluster.OutlierDetection (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_api_v2_cluster_outlier_detection_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.cluster.OutlierDetection.consecutive_5xx:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.api.v2.cluster.OutlierDetection.interval:type_name -> google.protobuf.Duration 2, // 2: envoy.api.v2.cluster.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration 1, // 3: envoy.api.v2.cluster.OutlierDetection.max_ejection_percent:type_name -> google.protobuf.UInt32Value 1, // 4: envoy.api.v2.cluster.OutlierDetection.enforcing_consecutive_5xx:type_name -> google.protobuf.UInt32Value 1, // 5: envoy.api.v2.cluster.OutlierDetection.enforcing_success_rate:type_name -> google.protobuf.UInt32Value 1, // 6: envoy.api.v2.cluster.OutlierDetection.success_rate_minimum_hosts:type_name -> google.protobuf.UInt32Value 1, // 7: envoy.api.v2.cluster.OutlierDetection.success_rate_request_volume:type_name -> google.protobuf.UInt32Value 1, // 8: envoy.api.v2.cluster.OutlierDetection.success_rate_stdev_factor:type_name -> google.protobuf.UInt32Value 1, // 9: envoy.api.v2.cluster.OutlierDetection.consecutive_gateway_failure:type_name -> google.protobuf.UInt32Value 1, // 10: envoy.api.v2.cluster.OutlierDetection.enforcing_consecutive_gateway_failure:type_name -> google.protobuf.UInt32Value 1, // 11: envoy.api.v2.cluster.OutlierDetection.consecutive_local_origin_failure:type_name -> google.protobuf.UInt32Value 1, // 12: envoy.api.v2.cluster.OutlierDetection.enforcing_consecutive_local_origin_failure:type_name -> google.protobuf.UInt32Value 1, // 13: envoy.api.v2.cluster.OutlierDetection.enforcing_local_origin_success_rate:type_name -> google.protobuf.UInt32Value 1, // 14: envoy.api.v2.cluster.OutlierDetection.failure_percentage_threshold:type_name -> google.protobuf.UInt32Value 1, // 15: envoy.api.v2.cluster.OutlierDetection.enforcing_failure_percentage:type_name -> google.protobuf.UInt32Value 1, // 16: envoy.api.v2.cluster.OutlierDetection.enforcing_failure_percentage_local_origin:type_name -> google.protobuf.UInt32Value 1, // 17: envoy.api.v2.cluster.OutlierDetection.failure_percentage_minimum_hosts:type_name -> google.protobuf.UInt32Value 1, // 18: envoy.api.v2.cluster.OutlierDetection.failure_percentage_request_volume:type_name -> google.protobuf.UInt32Value 19, // [19:19] is the sub-list for method output_type 19, // [19:19] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name } func init() { file_envoy_api_v2_cluster_outlier_detection_proto_init() } func file_envoy_api_v2_cluster_outlier_detection_proto_init() { if File_envoy_api_v2_cluster_outlier_detection_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_cluster_outlier_detection_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierDetection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_cluster_outlier_detection_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_cluster_outlier_detection_proto_goTypes, DependencyIndexes: file_envoy_api_v2_cluster_outlier_detection_proto_depIdxs, MessageInfos: file_envoy_api_v2_cluster_outlier_detection_proto_msgTypes, }.Build() File_envoy_api_v2_cluster_outlier_detection_proto = out.File file_envoy_api_v2_cluster_outlier_detection_proto_rawDesc = nil file_envoy_api_v2_cluster_outlier_detection_proto_goTypes = nil file_envoy_api_v2_cluster_outlier_detection_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/cluster/outlier_detection.pb.validate.go000077500000000000000000000350521454502223200271420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/cluster/outlier_detection.proto package cluster import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OutlierDetection with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OutlierDetection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierDetection with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierDetectionMultiError, or nil if none found. func (m *OutlierDetection) ValidateAll() error { return m.validate(true) } func (m *OutlierDetection) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConsecutive_5Xx()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutive_5Xx()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, } } } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = OutlierDetectionValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := OutlierDetectionValidationError{ field: "Interval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetBaseEjectionTime(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = OutlierDetectionValidationError{ field: "BaseEjectionTime", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := OutlierDetectionValidationError{ field: "BaseEjectionTime", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetMaxEjectionPercent(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "MaxEjectionPercent", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingConsecutive_5Xx(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutive_5Xx", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingSuccessRate(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetSuccessRateMinimumHosts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateMinimumHosts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRateRequestVolume()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateRequestVolume()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRateStdevFactor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateStdevFactor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConsecutiveGatewayFailure()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutiveGatewayFailure()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetEnforcingConsecutiveGatewayFailure(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutiveGatewayFailure", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } // no validation rules for SplitExternalLocalOriginErrors if all { switch v := interface{}(m.GetConsecutiveLocalOriginFailure()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutiveLocalOriginFailure()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetEnforcingConsecutiveLocalOriginFailure(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutiveLocalOriginFailure", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingLocalOriginSuccessRate(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingLocalOriginSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetFailurePercentageThreshold(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "FailurePercentageThreshold", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingFailurePercentage(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingFailurePercentage", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingFailurePercentageLocalOrigin(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingFailurePercentageLocalOrigin", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetFailurePercentageMinimumHosts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailurePercentageMinimumHosts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFailurePercentageRequestVolume()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailurePercentageRequestVolume()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OutlierDetectionMultiError(errors) } return nil } // OutlierDetectionMultiError is an error wrapping multiple validation errors // returned by OutlierDetection.ValidateAll() if the designated constraints // aren't met. type OutlierDetectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierDetectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierDetectionMultiError) AllErrors() []error { return m } // OutlierDetectionValidationError is the validation error returned by // OutlierDetection.Validate if the designated constraints aren't met. type OutlierDetectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierDetectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierDetectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierDetectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierDetectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierDetectionValidationError) ErrorName() string { return "OutlierDetectionValidationError" } // Error satisfies the builtin error interface func (e OutlierDetectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierDetection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierDetectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierDetectionValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/000077500000000000000000000000001454502223200201415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/core/address.pb.go000077500000000000000000000760721454502223200225340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/address.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SocketAddress_Protocol int32 const ( SocketAddress_TCP SocketAddress_Protocol = 0 SocketAddress_UDP SocketAddress_Protocol = 1 ) // Enum value maps for SocketAddress_Protocol. var ( SocketAddress_Protocol_name = map[int32]string{ 0: "TCP", 1: "UDP", } SocketAddress_Protocol_value = map[string]int32{ "TCP": 0, "UDP": 1, } ) func (x SocketAddress_Protocol) Enum() *SocketAddress_Protocol { p := new(SocketAddress_Protocol) *p = x return p } func (x SocketAddress_Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SocketAddress_Protocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_address_proto_enumTypes[0].Descriptor() } func (SocketAddress_Protocol) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_address_proto_enumTypes[0] } func (x SocketAddress_Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SocketAddress_Protocol.Descriptor instead. func (SocketAddress_Protocol) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{1, 0} } type Pipe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unix Domain Socket path. On Linux, paths starting with '@' will use the // abstract namespace. The starting '@' is replaced by a null byte by Envoy. // Paths starting with '@' will result in an error in environments other than // Linux. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The mode for the Pipe. Not applicable for abstract sockets. Mode uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` } func (x *Pipe) Reset() { *x = Pipe{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Pipe) String() string { return protoimpl.X.MessageStringOf(x) } func (*Pipe) ProtoMessage() {} func (x *Pipe) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Pipe.ProtoReflect.Descriptor instead. func (*Pipe) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{0} } func (x *Pipe) GetPath() string { if x != nil { return x.Path } return "" } func (x *Pipe) GetMode() uint32 { if x != nil { return x.Mode } return 0 } // [#next-free-field: 7] type SocketAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=envoy.api.v2.core.SocketAddress_Protocol" json:"protocol,omitempty"` // The address for this socket. :ref:`Listeners ` will bind // to the address. An empty address is not allowed. Specify “0.0.0.0“ or “::“ // to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: // It is possible to distinguish a Listener address via the prefix/suffix matching // in :ref:`FilterChainMatch `.] When used // within an upstream :ref:`BindConfig `, the address // controls the source address of outbound connections. For :ref:`clusters // `, the cluster type determines whether the // address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS // (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized // via :ref:`resolver_name `. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Types that are assignable to PortSpecifier: // // *SocketAddress_PortValue // *SocketAddress_NamedPort PortSpecifier isSocketAddress_PortSpecifier `protobuf_oneof:"port_specifier"` // The name of the custom resolver. This must have been registered with Envoy. If // this is empty, a context dependent default applies. If the address is a concrete // IP address, no resolution will occur. If address is a hostname this // should be set for resolution other than DNS. Specifying a custom resolver with // *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime. ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"` // When binding to an IPv6 address above, this enables `IPv4 compatibility // `_. Binding to “::“ will // allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into // IPv6 space as “::FFFF:“. Ipv4Compat bool `protobuf:"varint,6,opt,name=ipv4_compat,json=ipv4Compat,proto3" json:"ipv4_compat,omitempty"` } func (x *SocketAddress) Reset() { *x = SocketAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketAddress) ProtoMessage() {} func (x *SocketAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketAddress.ProtoReflect.Descriptor instead. func (*SocketAddress) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{1} } func (x *SocketAddress) GetProtocol() SocketAddress_Protocol { if x != nil { return x.Protocol } return SocketAddress_TCP } func (x *SocketAddress) GetAddress() string { if x != nil { return x.Address } return "" } func (m *SocketAddress) GetPortSpecifier() isSocketAddress_PortSpecifier { if m != nil { return m.PortSpecifier } return nil } func (x *SocketAddress) GetPortValue() uint32 { if x, ok := x.GetPortSpecifier().(*SocketAddress_PortValue); ok { return x.PortValue } return 0 } func (x *SocketAddress) GetNamedPort() string { if x, ok := x.GetPortSpecifier().(*SocketAddress_NamedPort); ok { return x.NamedPort } return "" } func (x *SocketAddress) GetResolverName() string { if x != nil { return x.ResolverName } return "" } func (x *SocketAddress) GetIpv4Compat() bool { if x != nil { return x.Ipv4Compat } return false } type isSocketAddress_PortSpecifier interface { isSocketAddress_PortSpecifier() } type SocketAddress_PortValue struct { PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"` } type SocketAddress_NamedPort struct { // This is only valid if :ref:`resolver_name // ` is specified below and the // named resolver is capable of named port resolution. NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"` } func (*SocketAddress_PortValue) isSocketAddress_PortSpecifier() {} func (*SocketAddress_NamedPort) isSocketAddress_PortSpecifier() {} type TcpKeepalive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of keepalive probes to send without response before deciding // the connection is dead. Default is to use the OS level configuration (unless // overridden, Linux defaults to 9.) KeepaliveProbes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=keepalive_probes,json=keepaliveProbes,proto3" json:"keepalive_probes,omitempty"` // The number of seconds a connection needs to be idle before keep-alive probes // start being sent. Default is to use the OS level configuration (unless // overridden, Linux defaults to 7200s (i.e., 2 hours.) KeepaliveTime *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=keepalive_time,json=keepaliveTime,proto3" json:"keepalive_time,omitempty"` // The number of seconds between keep-alive probes. Default is to use the OS // level configuration (unless overridden, Linux defaults to 75s.) KeepaliveInterval *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` } func (x *TcpKeepalive) Reset() { *x = TcpKeepalive{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpKeepalive) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpKeepalive) ProtoMessage() {} func (x *TcpKeepalive) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpKeepalive.ProtoReflect.Descriptor instead. func (*TcpKeepalive) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{2} } func (x *TcpKeepalive) GetKeepaliveProbes() *wrappers.UInt32Value { if x != nil { return x.KeepaliveProbes } return nil } func (x *TcpKeepalive) GetKeepaliveTime() *wrappers.UInt32Value { if x != nil { return x.KeepaliveTime } return nil } func (x *TcpKeepalive) GetKeepaliveInterval() *wrappers.UInt32Value { if x != nil { return x.KeepaliveInterval } return nil } type BindConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address to bind to when creating a socket. SourceAddress *SocketAddress `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"` // Whether to set the *IP_FREEBIND* option when creating the socket. When this // flag is set to true, allows the :ref:`source_address // ` to be an IP address // that is not configured on the system running Envoy. When this flag is set // to false, the option *IP_FREEBIND* is disabled on the socket. When this // flag is not set (default), the socket is not modified, i.e. the option is // neither enabled nor disabled. Freebind *wrappers.BoolValue `protobuf:"bytes,2,opt,name=freebind,proto3" json:"freebind,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` } func (x *BindConfig) Reset() { *x = BindConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BindConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*BindConfig) ProtoMessage() {} func (x *BindConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BindConfig.ProtoReflect.Descriptor instead. func (*BindConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{3} } func (x *BindConfig) GetSourceAddress() *SocketAddress { if x != nil { return x.SourceAddress } return nil } func (x *BindConfig) GetFreebind() *wrappers.BoolValue { if x != nil { return x.Freebind } return nil } func (x *BindConfig) GetSocketOptions() []*SocketOption { if x != nil { return x.SocketOptions } return nil } // Addresses specify either a logical or physical address and port, which are // used to tell Envoy where to bind/listen, connect to upstream and find // management servers. type Address struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Address: // // *Address_SocketAddress // *Address_Pipe Address isAddress_Address `protobuf_oneof:"address"` } func (x *Address) Reset() { *x = Address{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Address) String() string { return protoimpl.X.MessageStringOf(x) } func (*Address) ProtoMessage() {} func (x *Address) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Address.ProtoReflect.Descriptor instead. func (*Address) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{4} } func (m *Address) GetAddress() isAddress_Address { if m != nil { return m.Address } return nil } func (x *Address) GetSocketAddress() *SocketAddress { if x, ok := x.GetAddress().(*Address_SocketAddress); ok { return x.SocketAddress } return nil } func (x *Address) GetPipe() *Pipe { if x, ok := x.GetAddress().(*Address_Pipe); ok { return x.Pipe } return nil } type isAddress_Address interface { isAddress_Address() } type Address_SocketAddress struct { SocketAddress *SocketAddress `protobuf:"bytes,1,opt,name=socket_address,json=socketAddress,proto3,oneof"` } type Address_Pipe struct { Pipe *Pipe `protobuf:"bytes,2,opt,name=pipe,proto3,oneof"` } func (*Address_SocketAddress) isAddress_Address() {} func (*Address_Pipe) isAddress_Address() {} // CidrRange specifies an IP Address and a prefix length to construct // the subnet mask for a `CIDR `_ range. type CidrRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // IPv4 or IPv6 address, e.g. “192.0.0.0“ or “2001:db8::“. AddressPrefix string `protobuf:"bytes,1,opt,name=address_prefix,json=addressPrefix,proto3" json:"address_prefix,omitempty"` // Length of prefix, e.g. 0, 32. Defaults to 0 when unset. PrefixLen *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` } func (x *CidrRange) Reset() { *x = CidrRange{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_address_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CidrRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*CidrRange) ProtoMessage() {} func (x *CidrRange) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_address_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CidrRange.ProtoReflect.Descriptor instead. func (*CidrRange) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_address_proto_rawDescGZIP(), []int{5} } func (x *CidrRange) GetAddressPrefix() string { if x != nil { return x.AddressPrefix } return "" } func (x *CidrRange) GetPrefixLen() *wrappers.UInt32Value { if x != nil { return x.PrefixLen } return nil } var File_envoy_api_v2_core_address_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_address_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x04, 0x50, 0x69, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0xff, 0x03, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x22, 0x1c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x42, 0x15, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xe9, 0x01, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x70, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x42, 0x8f, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_address_proto_rawDescOnce sync.Once file_envoy_api_v2_core_address_proto_rawDescData = file_envoy_api_v2_core_address_proto_rawDesc ) func file_envoy_api_v2_core_address_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_address_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_address_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_address_proto_rawDescData) }) return file_envoy_api_v2_core_address_proto_rawDescData } var file_envoy_api_v2_core_address_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_core_address_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_api_v2_core_address_proto_goTypes = []interface{}{ (SocketAddress_Protocol)(0), // 0: envoy.api.v2.core.SocketAddress.Protocol (*Pipe)(nil), // 1: envoy.api.v2.core.Pipe (*SocketAddress)(nil), // 2: envoy.api.v2.core.SocketAddress (*TcpKeepalive)(nil), // 3: envoy.api.v2.core.TcpKeepalive (*BindConfig)(nil), // 4: envoy.api.v2.core.BindConfig (*Address)(nil), // 5: envoy.api.v2.core.Address (*CidrRange)(nil), // 6: envoy.api.v2.core.CidrRange (*wrappers.UInt32Value)(nil), // 7: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 8: google.protobuf.BoolValue (*SocketOption)(nil), // 9: envoy.api.v2.core.SocketOption } var file_envoy_api_v2_core_address_proto_depIdxs = []int32{ 0, // 0: envoy.api.v2.core.SocketAddress.protocol:type_name -> envoy.api.v2.core.SocketAddress.Protocol 7, // 1: envoy.api.v2.core.TcpKeepalive.keepalive_probes:type_name -> google.protobuf.UInt32Value 7, // 2: envoy.api.v2.core.TcpKeepalive.keepalive_time:type_name -> google.protobuf.UInt32Value 7, // 3: envoy.api.v2.core.TcpKeepalive.keepalive_interval:type_name -> google.protobuf.UInt32Value 2, // 4: envoy.api.v2.core.BindConfig.source_address:type_name -> envoy.api.v2.core.SocketAddress 8, // 5: envoy.api.v2.core.BindConfig.freebind:type_name -> google.protobuf.BoolValue 9, // 6: envoy.api.v2.core.BindConfig.socket_options:type_name -> envoy.api.v2.core.SocketOption 2, // 7: envoy.api.v2.core.Address.socket_address:type_name -> envoy.api.v2.core.SocketAddress 1, // 8: envoy.api.v2.core.Address.pipe:type_name -> envoy.api.v2.core.Pipe 7, // 9: envoy.api.v2.core.CidrRange.prefix_len:type_name -> google.protobuf.UInt32Value 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_address_proto_init() } func file_envoy_api_v2_core_address_proto_init() { if File_envoy_api_v2_core_address_proto != nil { return } file_envoy_api_v2_core_socket_option_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_address_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipe); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_address_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_address_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpKeepalive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_address_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BindConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_address_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Address); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_address_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CidrRange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_address_proto_msgTypes[1].OneofWrappers = []interface{}{ (*SocketAddress_PortValue)(nil), (*SocketAddress_NamedPort)(nil), } file_envoy_api_v2_core_address_proto_msgTypes[4].OneofWrappers = []interface{}{ (*Address_SocketAddress)(nil), (*Address_Pipe)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_address_proto_rawDesc, NumEnums: 1, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_address_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_address_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_address_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_address_proto_msgTypes, }.Build() File_envoy_api_v2_core_address_proto = out.File file_envoy_api_v2_core_address_proto_rawDesc = nil file_envoy_api_v2_core_address_proto_goTypes = nil file_envoy_api_v2_core_address_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/address.pb.validate.go000077500000000000000000000641051454502223200243160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/address.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Pipe with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Pipe) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Pipe with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PipeMultiError, or nil if none found. func (m *Pipe) ValidateAll() error { return m.validate(true) } func (m *Pipe) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPath()) < 1 { err := PipeValidationError{ field: "Path", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetMode() > 511 { err := PipeValidationError{ field: "Mode", reason: "value must be less than or equal to 511", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PipeMultiError(errors) } return nil } // PipeMultiError is an error wrapping multiple validation errors returned by // Pipe.ValidateAll() if the designated constraints aren't met. type PipeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PipeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PipeMultiError) AllErrors() []error { return m } // PipeValidationError is the validation error returned by Pipe.Validate if the // designated constraints aren't met. type PipeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PipeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PipeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PipeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PipeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PipeValidationError) ErrorName() string { return "PipeValidationError" } // Error satisfies the builtin error interface func (e PipeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPipe.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PipeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PipeValidationError{} // Validate checks the field values on SocketAddress with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketAddress with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketAddressMultiError, or // nil if none found. func (m *SocketAddress) ValidateAll() error { return m.validate(true) } func (m *SocketAddress) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := SocketAddress_Protocol_name[int32(m.GetProtocol())]; !ok { err := SocketAddressValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(m.GetAddress()) < 1 { err := SocketAddressValidationError{ field: "Address", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ResolverName // no validation rules for Ipv4Compat oneofPortSpecifierPresent := false switch v := m.PortSpecifier.(type) { case *SocketAddress_PortValue: if v == nil { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPortSpecifierPresent = true if m.GetPortValue() > 65535 { err := SocketAddressValidationError{ field: "PortValue", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } case *SocketAddress_NamedPort: if v == nil { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPortSpecifierPresent = true // no validation rules for NamedPort default: _ = v // ensures v is used } if !oneofPortSpecifierPresent { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SocketAddressMultiError(errors) } return nil } // SocketAddressMultiError is an error wrapping multiple validation errors // returned by SocketAddress.ValidateAll() if the designated constraints // aren't met. type SocketAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketAddressMultiError) AllErrors() []error { return m } // SocketAddressValidationError is the validation error returned by // SocketAddress.Validate if the designated constraints aren't met. type SocketAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketAddressValidationError) ErrorName() string { return "SocketAddressValidationError" } // Error satisfies the builtin error interface func (e SocketAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketAddressValidationError{} // Validate checks the field values on TcpKeepalive with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TcpKeepalive) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpKeepalive with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TcpKeepaliveMultiError, or // nil if none found. func (m *TcpKeepalive) ValidateAll() error { return m.validate(true) } func (m *TcpKeepalive) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetKeepaliveProbes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveProbes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKeepaliveTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKeepaliveInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpKeepaliveMultiError(errors) } return nil } // TcpKeepaliveMultiError is an error wrapping multiple validation errors // returned by TcpKeepalive.ValidateAll() if the designated constraints aren't met. type TcpKeepaliveMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpKeepaliveMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpKeepaliveMultiError) AllErrors() []error { return m } // TcpKeepaliveValidationError is the validation error returned by // TcpKeepalive.Validate if the designated constraints aren't met. type TcpKeepaliveValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpKeepaliveValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpKeepaliveValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpKeepaliveValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpKeepaliveValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpKeepaliveValidationError) ErrorName() string { return "TcpKeepaliveValidationError" } // Error satisfies the builtin error interface func (e TcpKeepaliveValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpKeepalive.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpKeepaliveValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpKeepaliveValidationError{} // Validate checks the field values on BindConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BindConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BindConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BindConfigMultiError, or // nil if none found. func (m *BindConfig) ValidateAll() error { return m.validate(true) } func (m *BindConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetSourceAddress() == nil { err := BindConfigValidationError{ field: "SourceAddress", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSourceAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFreebind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return BindConfigMultiError(errors) } return nil } // BindConfigMultiError is an error wrapping multiple validation errors // returned by BindConfig.ValidateAll() if the designated constraints aren't met. type BindConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BindConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BindConfigMultiError) AllErrors() []error { return m } // BindConfigValidationError is the validation error returned by // BindConfig.Validate if the designated constraints aren't met. type BindConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BindConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BindConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BindConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BindConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BindConfigValidationError) ErrorName() string { return "BindConfigValidationError" } // Error satisfies the builtin error interface func (e BindConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBindConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BindConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BindConfigValidationError{} // Validate checks the field values on Address with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Address) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Address with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AddressMultiError, or nil if none found. func (m *Address) ValidateAll() error { return m.validate(true) } func (m *Address) validate(all bool) error { if m == nil { return nil } var errors []error oneofAddressPresent := false switch v := m.Address.(type) { case *Address_SocketAddress: if v == nil { err := AddressValidationError{ field: "Address", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressPresent = true if all { switch v := interface{}(m.GetSocketAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, } } } case *Address_Pipe: if v == nil { err := AddressValidationError{ field: "Address", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressPresent = true if all { switch v := interface{}(m.GetPipe()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPipe()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofAddressPresent { err := AddressValidationError{ field: "Address", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AddressMultiError(errors) } return nil } // AddressMultiError is an error wrapping multiple validation errors returned // by Address.ValidateAll() if the designated constraints aren't met. type AddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AddressMultiError) AllErrors() []error { return m } // AddressValidationError is the validation error returned by Address.Validate // if the designated constraints aren't met. type AddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AddressValidationError) ErrorName() string { return "AddressValidationError" } // Error satisfies the builtin error interface func (e AddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AddressValidationError{} // Validate checks the field values on CidrRange with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CidrRange) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CidrRange with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CidrRangeMultiError, or nil // if none found. func (m *CidrRange) ValidateAll() error { return m.validate(true) } func (m *CidrRange) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetAddressPrefix()) < 1 { err := CidrRangeValidationError{ field: "AddressPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetPrefixLen(); wrapper != nil { if wrapper.GetValue() > 128 { err := CidrRangeValidationError{ field: "PrefixLen", reason: "value must be less than or equal to 128", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return CidrRangeMultiError(errors) } return nil } // CidrRangeMultiError is an error wrapping multiple validation errors returned // by CidrRange.ValidateAll() if the designated constraints aren't met. type CidrRangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CidrRangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CidrRangeMultiError) AllErrors() []error { return m } // CidrRangeValidationError is the validation error returned by // CidrRange.Validate if the designated constraints aren't met. type CidrRangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CidrRangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CidrRangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CidrRangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CidrRangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CidrRangeValidationError) ErrorName() string { return "CidrRangeValidationError" } // Error satisfies the builtin error interface func (e CidrRangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCidrRange.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CidrRangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CidrRangeValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/backoff.pb.go000077500000000000000000000204651454502223200224750ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/backoff.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration defining a jittered exponential back off strategy. type BackoffStrategy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The base interval to be used for the next back off computation. It should // be greater than zero and less than or equal to :ref:`max_interval // `. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between retries. This parameter is optional, // but must be greater than or equal to the :ref:`base_interval // ` if set. The default // is 10 times the :ref:`base_interval // `. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *BackoffStrategy) Reset() { *x = BackoffStrategy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_backoff_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackoffStrategy) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackoffStrategy) ProtoMessage() {} func (x *BackoffStrategy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_backoff_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BackoffStrategy.ProtoReflect.Descriptor instead. func (*BackoffStrategy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_backoff_proto_rawDescGZIP(), []int{0} } func (x *BackoffStrategy) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *BackoffStrategy) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } var File_envoy_api_v2_core_backoff_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_backoff_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x8f, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_backoff_proto_rawDescOnce sync.Once file_envoy_api_v2_core_backoff_proto_rawDescData = file_envoy_api_v2_core_backoff_proto_rawDesc ) func file_envoy_api_v2_core_backoff_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_backoff_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_backoff_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_backoff_proto_rawDescData) }) return file_envoy_api_v2_core_backoff_proto_rawDescData } var file_envoy_api_v2_core_backoff_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_core_backoff_proto_goTypes = []interface{}{ (*BackoffStrategy)(nil), // 0: envoy.api.v2.core.BackoffStrategy (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_api_v2_core_backoff_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.BackoffStrategy.base_interval:type_name -> google.protobuf.Duration 1, // 1: envoy.api.v2.core.BackoffStrategy.max_interval:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_backoff_proto_init() } func file_envoy_api_v2_core_backoff_proto_init() { if File_envoy_api_v2_core_backoff_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_backoff_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackoffStrategy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_backoff_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_backoff_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_backoff_proto_depIdxs, MessageInfos: file_envoy_api_v2_core_backoff_proto_msgTypes, }.Build() File_envoy_api_v2_core_backoff_proto = out.File file_envoy_api_v2_core_backoff_proto_rawDesc = nil file_envoy_api_v2_core_backoff_proto_goTypes = nil file_envoy_api_v2_core_backoff_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/backoff.pb.validate.go000077500000000000000000000112141454502223200242550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/backoff.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on BackoffStrategy with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *BackoffStrategy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BackoffStrategy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BackoffStrategyMultiError, or nil if none found. func (m *BackoffStrategy) ValidateAll() error { return m.validate(true) } func (m *BackoffStrategy) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := BackoffStrategyValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BackoffStrategyValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := BackoffStrategyValidationError{ field: "BaseInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BackoffStrategyValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := BackoffStrategyValidationError{ field: "MaxInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return BackoffStrategyMultiError(errors) } return nil } // BackoffStrategyMultiError is an error wrapping multiple validation errors // returned by BackoffStrategy.ValidateAll() if the designated constraints // aren't met. type BackoffStrategyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BackoffStrategyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BackoffStrategyMultiError) AllErrors() []error { return m } // BackoffStrategyValidationError is the validation error returned by // BackoffStrategy.Validate if the designated constraints aren't met. type BackoffStrategyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BackoffStrategyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BackoffStrategyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BackoffStrategyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BackoffStrategyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BackoffStrategyValidationError) ErrorName() string { return "BackoffStrategyValidationError" } // Error satisfies the builtin error interface func (e BackoffStrategyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBackoffStrategy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BackoffStrategyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BackoffStrategyValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/base.pb.go000077500000000000000000002402671454502223200220200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/base.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy supports :ref:`upstream priority routing // ` both at the route and the virtual // cluster level. The current priority implementation uses different connection // pool and circuit breaking settings for each priority level. This means that // even for HTTP/2 requests, two physical connections will be used to an // upstream host. In the future Envoy will likely support true HTTP/2 priority // over a single upstream connection. type RoutingPriority int32 const ( RoutingPriority_DEFAULT RoutingPriority = 0 RoutingPriority_HIGH RoutingPriority = 1 ) // Enum value maps for RoutingPriority. var ( RoutingPriority_name = map[int32]string{ 0: "DEFAULT", 1: "HIGH", } RoutingPriority_value = map[string]int32{ "DEFAULT": 0, "HIGH": 1, } ) func (x RoutingPriority) Enum() *RoutingPriority { p := new(RoutingPriority) *p = x return p } func (x RoutingPriority) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RoutingPriority) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_base_proto_enumTypes[0].Descriptor() } func (RoutingPriority) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_base_proto_enumTypes[0] } func (x RoutingPriority) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RoutingPriority.Descriptor instead. func (RoutingPriority) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{0} } // HTTP request method. type RequestMethod int32 const ( RequestMethod_METHOD_UNSPECIFIED RequestMethod = 0 RequestMethod_GET RequestMethod = 1 RequestMethod_HEAD RequestMethod = 2 RequestMethod_POST RequestMethod = 3 RequestMethod_PUT RequestMethod = 4 RequestMethod_DELETE RequestMethod = 5 RequestMethod_CONNECT RequestMethod = 6 RequestMethod_OPTIONS RequestMethod = 7 RequestMethod_TRACE RequestMethod = 8 RequestMethod_PATCH RequestMethod = 9 ) // Enum value maps for RequestMethod. var ( RequestMethod_name = map[int32]string{ 0: "METHOD_UNSPECIFIED", 1: "GET", 2: "HEAD", 3: "POST", 4: "PUT", 5: "DELETE", 6: "CONNECT", 7: "OPTIONS", 8: "TRACE", 9: "PATCH", } RequestMethod_value = map[string]int32{ "METHOD_UNSPECIFIED": 0, "GET": 1, "HEAD": 2, "POST": 3, "PUT": 4, "DELETE": 5, "CONNECT": 6, "OPTIONS": 7, "TRACE": 8, "PATCH": 9, } ) func (x RequestMethod) Enum() *RequestMethod { p := new(RequestMethod) *p = x return p } func (x RequestMethod) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RequestMethod) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_base_proto_enumTypes[1].Descriptor() } func (RequestMethod) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_base_proto_enumTypes[1] } func (x RequestMethod) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RequestMethod.Descriptor instead. func (RequestMethod) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{1} } // Identifies the direction of the traffic relative to the local Envoy. type TrafficDirection int32 const ( // Default option is unspecified. TrafficDirection_UNSPECIFIED TrafficDirection = 0 // The transport is used for incoming traffic. TrafficDirection_INBOUND TrafficDirection = 1 // The transport is used for outgoing traffic. TrafficDirection_OUTBOUND TrafficDirection = 2 ) // Enum value maps for TrafficDirection. var ( TrafficDirection_name = map[int32]string{ 0: "UNSPECIFIED", 1: "INBOUND", 2: "OUTBOUND", } TrafficDirection_value = map[string]int32{ "UNSPECIFIED": 0, "INBOUND": 1, "OUTBOUND": 2, } ) func (x TrafficDirection) Enum() *TrafficDirection { p := new(TrafficDirection) *p = x return p } func (x TrafficDirection) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TrafficDirection) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_base_proto_enumTypes[2].Descriptor() } func (TrafficDirection) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_base_proto_enumTypes[2] } func (x TrafficDirection) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TrafficDirection.Descriptor instead. func (TrafficDirection) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{2} } // Identifies location of where either Envoy runs or where upstream hosts run. type Locality struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Region this :ref:`zone ` belongs to. Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` // Defines the local service zone where Envoy is running. Though optional, it // should be set if discovery service routing is used and the discovery // service exposes :ref:`zone data `, // either in this message or via :option:`--service-zone`. The meaning of zone // is context dependent, e.g. `Availability Zone (AZ) // `_ // on AWS, `Zone `_ on // GCP, etc. Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // When used for locality of upstream hosts, this field further splits zone // into smaller chunks of sub-zones so they can be load balanced // independently. SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` } func (x *Locality) Reset() { *x = Locality{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Locality) String() string { return protoimpl.X.MessageStringOf(x) } func (*Locality) ProtoMessage() {} func (x *Locality) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Locality.ProtoReflect.Descriptor instead. func (*Locality) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{0} } func (x *Locality) GetRegion() string { if x != nil { return x.Region } return "" } func (x *Locality) GetZone() string { if x != nil { return x.Zone } return "" } func (x *Locality) GetSubZone() string { if x != nil { return x.SubZone } return "" } // BuildVersion combines SemVer version of extension with free-form build information // (i.e. 'alpha', 'private-build') as a set of strings. type BuildVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SemVer version of extension. Version *_type.SemanticVersion `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Free-form build information. // Envoy defines several well known keys in the source/common/version/version.h file Metadata *_struct.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *BuildVersion) Reset() { *x = BuildVersion{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BuildVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*BuildVersion) ProtoMessage() {} func (x *BuildVersion) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BuildVersion.ProtoReflect.Descriptor instead. func (*BuildVersion) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{1} } func (x *BuildVersion) GetVersion() *_type.SemanticVersion { if x != nil { return x.Version } return nil } func (x *BuildVersion) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } // Version and identification for an Envoy extension. // [#next-free-field: 6] type Extension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the name of the Envoy filter as specified in the Envoy // configuration, e.g. envoy.filters.http.router, com.acme.widget. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Category of the extension. // Extension category names use reverse DNS notation. For instance "envoy.filters.listener" // for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from // acme.com vendor. // [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.] Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // [#not-implemented-hide:] Type descriptor of extension configuration proto. // [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.] // [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.] TypeDescriptor string `protobuf:"bytes,3,opt,name=type_descriptor,json=typeDescriptor,proto3" json:"type_descriptor,omitempty"` // The version is a property of the extension and maintained independently // of other extensions and the Envoy API. // This field is not set when extension did not provide version information. Version *BuildVersion `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // Indicates that the extension is present but was disabled via dynamic configuration. Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` } func (x *Extension) Reset() { *x = Extension{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Extension) String() string { return protoimpl.X.MessageStringOf(x) } func (*Extension) ProtoMessage() {} func (x *Extension) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Extension.ProtoReflect.Descriptor instead. func (*Extension) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{2} } func (x *Extension) GetName() string { if x != nil { return x.Name } return "" } func (x *Extension) GetCategory() string { if x != nil { return x.Category } return "" } func (x *Extension) GetTypeDescriptor() string { if x != nil { return x.TypeDescriptor } return "" } func (x *Extension) GetVersion() *BuildVersion { if x != nil { return x.Version } return nil } func (x *Extension) GetDisabled() bool { if x != nil { return x.Disabled } return false } // Identifies a specific Envoy instance. The node identifier is presented to the // management server, which may use this identifier to distinguish per Envoy // configuration for serving. // [#next-free-field: 12] type Node struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An opaque node identifier for the Envoy node. This also provides the local // service node name. It should be set if any of the following features are // used: :ref:`statsd `, :ref:`CDS // `, and :ref:`HTTP tracing // `, either in this message or via // :option:`--service-node`. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Defines the local service cluster name where Envoy is running. Though // optional, it should be set if any of the following features are used: // :ref:`statsd `, :ref:`health check cluster // verification // `, // :ref:`runtime override directory `, // :ref:`user agent addition // `, // :ref:`HTTP global rate limiting `, // :ref:`CDS `, and :ref:`HTTP tracing // `, either in this message or via // :option:`--service-cluster`. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // Opaque metadata extending the node identifier. Envoy will pass this // directly to the management server. Metadata *_struct.Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // Locality specifying where the Envoy instance is running. Locality *Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` // This is motivated by informing a management server during canary which // version of Envoy is being tested in a heterogeneous fleet. This will be set // by Envoy in management server RPCs. // This field is deprecated in favor of the user_agent_name and user_agent_version values. // // Deprecated: Marked as deprecated in envoy/api/v2/core/base.proto. BuildVersion string `protobuf:"bytes,5,opt,name=build_version,json=buildVersion,proto3" json:"build_version,omitempty"` // Free-form string that identifies the entity requesting config. // E.g. "envoy" or "grpc" UserAgentName string `protobuf:"bytes,6,opt,name=user_agent_name,json=userAgentName,proto3" json:"user_agent_name,omitempty"` // Types that are assignable to UserAgentVersionType: // // *Node_UserAgentVersion // *Node_UserAgentBuildVersion UserAgentVersionType isNode_UserAgentVersionType `protobuf_oneof:"user_agent_version_type"` // List of extensions and their versions supported by the node. Extensions []*Extension `protobuf:"bytes,9,rep,name=extensions,proto3" json:"extensions,omitempty"` // Client feature support list. These are well known features described // in the Envoy API repository for a given major version of an API. Client features // use reverse DNS naming scheme, for example `com.acme.feature`. // See :ref:`the list of features ` that xDS client may // support. ClientFeatures []string `protobuf:"bytes,10,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"` // Known listening ports on the node as a generic hint to the management server // for filtering :ref:`listeners ` to be returned. For example, // if there is a listener bound to port 80, the list can optionally contain the // SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint. ListeningAddresses []*Address `protobuf:"bytes,11,rep,name=listening_addresses,json=listeningAddresses,proto3" json:"listening_addresses,omitempty"` } func (x *Node) Reset() { *x = Node{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Node) String() string { return protoimpl.X.MessageStringOf(x) } func (*Node) ProtoMessage() {} func (x *Node) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Node.ProtoReflect.Descriptor instead. func (*Node) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{3} } func (x *Node) GetId() string { if x != nil { return x.Id } return "" } func (x *Node) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *Node) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } func (x *Node) GetLocality() *Locality { if x != nil { return x.Locality } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/base.proto. func (x *Node) GetBuildVersion() string { if x != nil { return x.BuildVersion } return "" } func (x *Node) GetUserAgentName() string { if x != nil { return x.UserAgentName } return "" } func (m *Node) GetUserAgentVersionType() isNode_UserAgentVersionType { if m != nil { return m.UserAgentVersionType } return nil } func (x *Node) GetUserAgentVersion() string { if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentVersion); ok { return x.UserAgentVersion } return "" } func (x *Node) GetUserAgentBuildVersion() *BuildVersion { if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentBuildVersion); ok { return x.UserAgentBuildVersion } return nil } func (x *Node) GetExtensions() []*Extension { if x != nil { return x.Extensions } return nil } func (x *Node) GetClientFeatures() []string { if x != nil { return x.ClientFeatures } return nil } func (x *Node) GetListeningAddresses() []*Address { if x != nil { return x.ListeningAddresses } return nil } type isNode_UserAgentVersionType interface { isNode_UserAgentVersionType() } type Node_UserAgentVersion struct { // Free-form string that identifies the version of the entity requesting config. // E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild" UserAgentVersion string `protobuf:"bytes,7,opt,name=user_agent_version,json=userAgentVersion,proto3,oneof"` } type Node_UserAgentBuildVersion struct { // Structured version of the entity requesting config. UserAgentBuildVersion *BuildVersion `protobuf:"bytes,8,opt,name=user_agent_build_version,json=userAgentBuildVersion,proto3,oneof"` } func (*Node_UserAgentVersion) isNode_UserAgentVersionType() {} func (*Node_UserAgentBuildVersion) isNode_UserAgentVersionType() {} // Metadata provides additional inputs to filters based on matched listeners, // filter chains, routes and endpoints. It is structured as a map, usually from // filter name (in reverse DNS format) to metadata specific to the filter. Metadata // key-values for a filter are merged as connection and request handling occurs, // with later values for the same key overriding earlier values. // // An example use of metadata is providing additional values to // http_connection_manager in the envoy.http_connection_manager.access_log // namespace. // // Another example use of metadata is to per service config info in cluster metadata, which may get // consumed by multiple filters. // // For load balancing, Metadata provides a means to subset cluster endpoints. // Endpoints have a Metadata object associated and routes contain a Metadata // object to match against. There are some well defined metadata used today for // this purpose: // // - “{"envoy.lb": {"canary": }}“ This indicates the canary status of an // endpoint and is also used during header processing // (x-envoy-upstream-canary) and for stats purposes. // // [#next-major-version: move to type/metadata/v2] type Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* // namespace is reserved for Envoy's built-in filters. FilterMetadata map[string]*_struct.Struct `protobuf:"bytes,1,rep,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{4} } func (x *Metadata) GetFilterMetadata() map[string]*_struct.Struct { if x != nil { return x.FilterMetadata } return nil } // Runtime derived uint32 with a default when not specified. type RuntimeUInt32 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue uint32 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. RuntimeKey string `protobuf:"bytes,3,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeUInt32) Reset() { *x = RuntimeUInt32{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeUInt32) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeUInt32) ProtoMessage() {} func (x *RuntimeUInt32) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeUInt32.ProtoReflect.Descriptor instead. func (*RuntimeUInt32) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{5} } func (x *RuntimeUInt32) GetDefaultValue() uint32 { if x != nil { return x.DefaultValue } return 0 } func (x *RuntimeUInt32) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Runtime derived double with a default when not specified. type RuntimeDouble struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue float64 `protobuf:"fixed64,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeDouble) Reset() { *x = RuntimeDouble{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeDouble) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeDouble) ProtoMessage() {} func (x *RuntimeDouble) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeDouble.ProtoReflect.Descriptor instead. func (*RuntimeDouble) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{6} } func (x *RuntimeDouble) GetDefaultValue() float64 { if x != nil { return x.DefaultValue } return 0 } func (x *RuntimeDouble) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Runtime derived bool with a default when not specified. type RuntimeFeatureFlag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue *wrappers.BoolValue `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. The boolean value must // be represented via its // `canonical JSON encoding `_. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeFeatureFlag) Reset() { *x = RuntimeFeatureFlag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFeatureFlag) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFeatureFlag) ProtoMessage() {} func (x *RuntimeFeatureFlag) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFeatureFlag.ProtoReflect.Descriptor instead. func (*RuntimeFeatureFlag) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{7} } func (x *RuntimeFeatureFlag) GetDefaultValue() *wrappers.BoolValue { if x != nil { return x.DefaultValue } return nil } func (x *RuntimeFeatureFlag) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Header name/value pair. type HeaderValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Header value. // // The same :ref:`format specifier ` as used for // :ref:`HTTP access logging ` applies here, however // unknown header values are replaced with the empty string instead of `-`. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *HeaderValue) Reset() { *x = HeaderValue{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValue) ProtoMessage() {} func (x *HeaderValue) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValue.ProtoReflect.Descriptor instead. func (*HeaderValue) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{8} } func (x *HeaderValue) GetKey() string { if x != nil { return x.Key } return "" } func (x *HeaderValue) GetValue() string { if x != nil { return x.Value } return "" } // Header name/value pair plus option to control append behavior. type HeaderValueOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name/value pair that this option applies to. Header *HeaderValue `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // Should the value be appended? If true (default), the value is appended to // existing values. Append *wrappers.BoolValue `protobuf:"bytes,2,opt,name=append,proto3" json:"append,omitempty"` } func (x *HeaderValueOption) Reset() { *x = HeaderValueOption{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValueOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValueOption) ProtoMessage() {} func (x *HeaderValueOption) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValueOption.ProtoReflect.Descriptor instead. func (*HeaderValueOption) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{9} } func (x *HeaderValueOption) GetHeader() *HeaderValue { if x != nil { return x.Header } return nil } func (x *HeaderValueOption) GetAppend() *wrappers.BoolValue { if x != nil { return x.Append } return nil } // Wrapper for a set of headers. type HeaderMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Headers []*HeaderValue `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HeaderMap) Reset() { *x = HeaderMap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMap) ProtoMessage() {} func (x *HeaderMap) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMap.ProtoReflect.Descriptor instead. func (*HeaderMap) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{10} } func (x *HeaderMap) GetHeaders() []*HeaderValue { if x != nil { return x.Headers } return nil } // Data source consisting of either a file or an inline value. type DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Specifier: // // *DataSource_Filename // *DataSource_InlineBytes // *DataSource_InlineString Specifier isDataSource_Specifier `protobuf_oneof:"specifier"` } func (x *DataSource) Reset() { *x = DataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*DataSource) ProtoMessage() {} func (x *DataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DataSource.ProtoReflect.Descriptor instead. func (*DataSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{11} } func (m *DataSource) GetSpecifier() isDataSource_Specifier { if m != nil { return m.Specifier } return nil } func (x *DataSource) GetFilename() string { if x, ok := x.GetSpecifier().(*DataSource_Filename); ok { return x.Filename } return "" } func (x *DataSource) GetInlineBytes() []byte { if x, ok := x.GetSpecifier().(*DataSource_InlineBytes); ok { return x.InlineBytes } return nil } func (x *DataSource) GetInlineString() string { if x, ok := x.GetSpecifier().(*DataSource_InlineString); ok { return x.InlineString } return "" } type isDataSource_Specifier interface { isDataSource_Specifier() } type DataSource_Filename struct { // Local filesystem data source. Filename string `protobuf:"bytes,1,opt,name=filename,proto3,oneof"` } type DataSource_InlineBytes struct { // Bytes inlined in the configuration. InlineBytes []byte `protobuf:"bytes,2,opt,name=inline_bytes,json=inlineBytes,proto3,oneof"` } type DataSource_InlineString struct { // String inlined in the configuration. InlineString string `protobuf:"bytes,3,opt,name=inline_string,json=inlineString,proto3,oneof"` } func (*DataSource_Filename) isDataSource_Specifier() {} func (*DataSource_InlineBytes) isDataSource_Specifier() {} func (*DataSource_InlineString) isDataSource_Specifier() {} // The message specifies the retry policy of remote data source when fetching fails. type RetryPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies parameters that control :ref:`retry backoff strategy `. // This parameter is optional, in which case the default base interval is 1000 milliseconds. The // default maximum interval is 10 times the base interval. RetryBackOff *BackoffStrategy `protobuf:"bytes,1,opt,name=retry_back_off,json=retryBackOff,proto3" json:"retry_back_off,omitempty"` // Specifies the allowed number of retries. This parameter is optional and // defaults to 1. NumRetries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"` } func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{12} } func (x *RetryPolicy) GetRetryBackOff() *BackoffStrategy { if x != nil { return x.RetryBackOff } return nil } func (x *RetryPolicy) GetNumRetries() *wrappers.UInt32Value { if x != nil { return x.NumRetries } return nil } // The message specifies how to fetch data from remote and how to verify it. type RemoteDataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP URI to fetch the remote data. HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // SHA256 string for verifying data. Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"` // Retry policy for fetching remote data. RetryPolicy *RetryPolicy `protobuf:"bytes,3,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` } func (x *RemoteDataSource) Reset() { *x = RemoteDataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteDataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteDataSource) ProtoMessage() {} func (x *RemoteDataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemoteDataSource.ProtoReflect.Descriptor instead. func (*RemoteDataSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{13} } func (x *RemoteDataSource) GetHttpUri() *HttpUri { if x != nil { return x.HttpUri } return nil } func (x *RemoteDataSource) GetSha256() string { if x != nil { return x.Sha256 } return "" } func (x *RemoteDataSource) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } // Async data source which support async data fetch. type AsyncDataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Specifier: // // *AsyncDataSource_Local // *AsyncDataSource_Remote Specifier isAsyncDataSource_Specifier `protobuf_oneof:"specifier"` } func (x *AsyncDataSource) Reset() { *x = AsyncDataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AsyncDataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*AsyncDataSource) ProtoMessage() {} func (x *AsyncDataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsyncDataSource.ProtoReflect.Descriptor instead. func (*AsyncDataSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{14} } func (m *AsyncDataSource) GetSpecifier() isAsyncDataSource_Specifier { if m != nil { return m.Specifier } return nil } func (x *AsyncDataSource) GetLocal() *DataSource { if x, ok := x.GetSpecifier().(*AsyncDataSource_Local); ok { return x.Local } return nil } func (x *AsyncDataSource) GetRemote() *RemoteDataSource { if x, ok := x.GetSpecifier().(*AsyncDataSource_Remote); ok { return x.Remote } return nil } type isAsyncDataSource_Specifier interface { isAsyncDataSource_Specifier() } type AsyncDataSource_Local struct { // Local async data source. Local *DataSource `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } type AsyncDataSource_Remote struct { // Remote async data source. Remote *RemoteDataSource `protobuf:"bytes,2,opt,name=remote,proto3,oneof"` } func (*AsyncDataSource_Local) isAsyncDataSource_Specifier() {} func (*AsyncDataSource_Remote) isAsyncDataSource_Specifier() {} // Configuration for transport socket in :ref:`listeners ` and // :ref:`clusters `. If the configuration is // empty, a default transport socket implementation and configuration will be // chosen based on the platform and existence of tls_context. type TransportSocket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the transport socket to instantiate. The name must match a supported transport // socket implementation. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Implementation specific configuration which depends on the implementation being instantiated. // See the supported transport socket implementations for further documentation. // // Types that are assignable to ConfigType: // // *TransportSocket_Config // *TransportSocket_TypedConfig ConfigType isTransportSocket_ConfigType `protobuf_oneof:"config_type"` } func (x *TransportSocket) Reset() { *x = TransportSocket{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransportSocket) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransportSocket) ProtoMessage() {} func (x *TransportSocket) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TransportSocket.ProtoReflect.Descriptor instead. func (*TransportSocket) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{15} } func (x *TransportSocket) GetName() string { if x != nil { return x.Name } return "" } func (m *TransportSocket) GetConfigType() isTransportSocket_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/base.proto. func (x *TransportSocket) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*TransportSocket_Config); ok { return x.Config } return nil } func (x *TransportSocket) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*TransportSocket_TypedConfig); ok { return x.TypedConfig } return nil } type isTransportSocket_ConfigType interface { isTransportSocket_ConfigType() } type TransportSocket_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/core/base.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type TransportSocket_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*TransportSocket_Config) isTransportSocket_ConfigType() {} func (*TransportSocket_TypedConfig) isTransportSocket_ConfigType() {} // Runtime derived FractionalPercent with defaults for when the numerator or denominator is not // specified via a runtime key. // // .. note:: // // Parsing of the runtime key's data is implemented such that it may be represented as a // :ref:`FractionalPercent ` proto represented as JSON/YAML // and may also be represented as an integer with the assumption that the value is an integral // percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse // as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED. type RuntimeFractionalPercent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if the runtime value's for the numerator/denominator keys are not available. DefaultValue *_type.FractionalPercent `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key for a YAML representation of a FractionalPercent. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeFractionalPercent) Reset() { *x = RuntimeFractionalPercent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFractionalPercent) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFractionalPercent) ProtoMessage() {} func (x *RuntimeFractionalPercent) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFractionalPercent.ProtoReflect.Descriptor instead. func (*RuntimeFractionalPercent) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{16} } func (x *RuntimeFractionalPercent) GetDefaultValue() *_type.FractionalPercent { if x != nil { return x.DefaultValue } return nil } func (x *RuntimeFractionalPercent) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Identifies a specific ControlPlane instance that Envoy is connected to. type ControlPlane struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An opaque control plane identifier that uniquely identifies an instance // of control plane. This can be used to identify which control plane instance, // the Envoy is connected to. Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` } func (x *ControlPlane) Reset() { *x = ControlPlane{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_base_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ControlPlane) String() string { return protoimpl.X.MessageStringOf(x) } func (*ControlPlane) ProtoMessage() {} func (x *ControlPlane) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_base_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ControlPlane.ProtoReflect.Descriptor instead. func (*ControlPlane) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_base_proto_rawDescGZIP(), []int{17} } func (x *ControlPlane) GetIdentifier() string { if x != nil { return x.Identifier } return "" } var File_envoy_api_v2_core_base_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_base_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0x7a, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xca, 0x04, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x58, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5a, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x5e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x59, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x20, 0x01, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x72, 0x0a, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x22, 0x45, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x38, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xaf, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x18, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x2e, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2a, 0x28, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x2a, 0x89, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x2a, 0x3e, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x8c, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x09, 0x42, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x0b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_base_proto_rawDescOnce sync.Once file_envoy_api_v2_core_base_proto_rawDescData = file_envoy_api_v2_core_base_proto_rawDesc ) func file_envoy_api_v2_core_base_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_base_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_base_proto_rawDescData) }) return file_envoy_api_v2_core_base_proto_rawDescData } var file_envoy_api_v2_core_base_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_envoy_api_v2_core_base_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_envoy_api_v2_core_base_proto_goTypes = []interface{}{ (RoutingPriority)(0), // 0: envoy.api.v2.core.RoutingPriority (RequestMethod)(0), // 1: envoy.api.v2.core.RequestMethod (TrafficDirection)(0), // 2: envoy.api.v2.core.TrafficDirection (*Locality)(nil), // 3: envoy.api.v2.core.Locality (*BuildVersion)(nil), // 4: envoy.api.v2.core.BuildVersion (*Extension)(nil), // 5: envoy.api.v2.core.Extension (*Node)(nil), // 6: envoy.api.v2.core.Node (*Metadata)(nil), // 7: envoy.api.v2.core.Metadata (*RuntimeUInt32)(nil), // 8: envoy.api.v2.core.RuntimeUInt32 (*RuntimeDouble)(nil), // 9: envoy.api.v2.core.RuntimeDouble (*RuntimeFeatureFlag)(nil), // 10: envoy.api.v2.core.RuntimeFeatureFlag (*HeaderValue)(nil), // 11: envoy.api.v2.core.HeaderValue (*HeaderValueOption)(nil), // 12: envoy.api.v2.core.HeaderValueOption (*HeaderMap)(nil), // 13: envoy.api.v2.core.HeaderMap (*DataSource)(nil), // 14: envoy.api.v2.core.DataSource (*RetryPolicy)(nil), // 15: envoy.api.v2.core.RetryPolicy (*RemoteDataSource)(nil), // 16: envoy.api.v2.core.RemoteDataSource (*AsyncDataSource)(nil), // 17: envoy.api.v2.core.AsyncDataSource (*TransportSocket)(nil), // 18: envoy.api.v2.core.TransportSocket (*RuntimeFractionalPercent)(nil), // 19: envoy.api.v2.core.RuntimeFractionalPercent (*ControlPlane)(nil), // 20: envoy.api.v2.core.ControlPlane nil, // 21: envoy.api.v2.core.Metadata.FilterMetadataEntry (*_type.SemanticVersion)(nil), // 22: envoy.type.SemanticVersion (*_struct.Struct)(nil), // 23: google.protobuf.Struct (*Address)(nil), // 24: envoy.api.v2.core.Address (*wrappers.BoolValue)(nil), // 25: google.protobuf.BoolValue (*BackoffStrategy)(nil), // 26: envoy.api.v2.core.BackoffStrategy (*wrappers.UInt32Value)(nil), // 27: google.protobuf.UInt32Value (*HttpUri)(nil), // 28: envoy.api.v2.core.HttpUri (*any1.Any)(nil), // 29: google.protobuf.Any (*_type.FractionalPercent)(nil), // 30: envoy.type.FractionalPercent } var file_envoy_api_v2_core_base_proto_depIdxs = []int32{ 22, // 0: envoy.api.v2.core.BuildVersion.version:type_name -> envoy.type.SemanticVersion 23, // 1: envoy.api.v2.core.BuildVersion.metadata:type_name -> google.protobuf.Struct 4, // 2: envoy.api.v2.core.Extension.version:type_name -> envoy.api.v2.core.BuildVersion 23, // 3: envoy.api.v2.core.Node.metadata:type_name -> google.protobuf.Struct 3, // 4: envoy.api.v2.core.Node.locality:type_name -> envoy.api.v2.core.Locality 4, // 5: envoy.api.v2.core.Node.user_agent_build_version:type_name -> envoy.api.v2.core.BuildVersion 5, // 6: envoy.api.v2.core.Node.extensions:type_name -> envoy.api.v2.core.Extension 24, // 7: envoy.api.v2.core.Node.listening_addresses:type_name -> envoy.api.v2.core.Address 21, // 8: envoy.api.v2.core.Metadata.filter_metadata:type_name -> envoy.api.v2.core.Metadata.FilterMetadataEntry 25, // 9: envoy.api.v2.core.RuntimeFeatureFlag.default_value:type_name -> google.protobuf.BoolValue 11, // 10: envoy.api.v2.core.HeaderValueOption.header:type_name -> envoy.api.v2.core.HeaderValue 25, // 11: envoy.api.v2.core.HeaderValueOption.append:type_name -> google.protobuf.BoolValue 11, // 12: envoy.api.v2.core.HeaderMap.headers:type_name -> envoy.api.v2.core.HeaderValue 26, // 13: envoy.api.v2.core.RetryPolicy.retry_back_off:type_name -> envoy.api.v2.core.BackoffStrategy 27, // 14: envoy.api.v2.core.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value 28, // 15: envoy.api.v2.core.RemoteDataSource.http_uri:type_name -> envoy.api.v2.core.HttpUri 15, // 16: envoy.api.v2.core.RemoteDataSource.retry_policy:type_name -> envoy.api.v2.core.RetryPolicy 14, // 17: envoy.api.v2.core.AsyncDataSource.local:type_name -> envoy.api.v2.core.DataSource 16, // 18: envoy.api.v2.core.AsyncDataSource.remote:type_name -> envoy.api.v2.core.RemoteDataSource 23, // 19: envoy.api.v2.core.TransportSocket.config:type_name -> google.protobuf.Struct 29, // 20: envoy.api.v2.core.TransportSocket.typed_config:type_name -> google.protobuf.Any 30, // 21: envoy.api.v2.core.RuntimeFractionalPercent.default_value:type_name -> envoy.type.FractionalPercent 23, // 22: envoy.api.v2.core.Metadata.FilterMetadataEntry.value:type_name -> google.protobuf.Struct 23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension extendee 0, // [0:23] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_base_proto_init() } func file_envoy_api_v2_core_base_proto_init() { if File_envoy_api_v2_core_base_proto != nil { return } file_envoy_api_v2_core_address_proto_init() file_envoy_api_v2_core_backoff_proto_init() file_envoy_api_v2_core_http_uri_proto_init() file_envoy_api_v2_core_socket_option_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Locality); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BuildVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Extension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Node); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeUInt32); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeDouble); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFeatureFlag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValueOption); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteDataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AsyncDataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransportSocket); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFractionalPercent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_base_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ControlPlane); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_base_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Node_UserAgentVersion)(nil), (*Node_UserAgentBuildVersion)(nil), } file_envoy_api_v2_core_base_proto_msgTypes[11].OneofWrappers = []interface{}{ (*DataSource_Filename)(nil), (*DataSource_InlineBytes)(nil), (*DataSource_InlineString)(nil), } file_envoy_api_v2_core_base_proto_msgTypes[14].OneofWrappers = []interface{}{ (*AsyncDataSource_Local)(nil), (*AsyncDataSource_Remote)(nil), } file_envoy_api_v2_core_base_proto_msgTypes[15].OneofWrappers = []interface{}{ (*TransportSocket_Config)(nil), (*TransportSocket_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_base_proto_rawDesc, NumEnums: 3, NumMessages: 19, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_base_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_base_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_base_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_base_proto_msgTypes, }.Build() File_envoy_api_v2_core_base_proto = out.File file_envoy_api_v2_core_base_proto_rawDesc = nil file_envoy_api_v2_core_base_proto_goTypes = nil file_envoy_api_v2_core_base_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/base.pb.validate.go000077500000000000000000002237271454502223200236120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/base.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Locality with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Locality) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Locality with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalityMultiError, or nil // if none found. func (m *Locality) ValidateAll() error { return m.validate(true) } func (m *Locality) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Region // no validation rules for Zone // no validation rules for SubZone if len(errors) > 0 { return LocalityMultiError(errors) } return nil } // LocalityMultiError is an error wrapping multiple validation errors returned // by Locality.ValidateAll() if the designated constraints aren't met. type LocalityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityMultiError) AllErrors() []error { return m } // LocalityValidationError is the validation error returned by // Locality.Validate if the designated constraints aren't met. type LocalityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityValidationError) ErrorName() string { return "LocalityValidationError" } // Error satisfies the builtin error interface func (e LocalityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocality.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityValidationError{} // Validate checks the field values on BuildVersion with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BuildVersion) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BuildVersion with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BuildVersionMultiError, or // nil if none found. func (m *BuildVersion) ValidateAll() error { return m.validate(true) } func (m *BuildVersion) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BuildVersionMultiError(errors) } return nil } // BuildVersionMultiError is an error wrapping multiple validation errors // returned by BuildVersion.ValidateAll() if the designated constraints aren't met. type BuildVersionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BuildVersionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BuildVersionMultiError) AllErrors() []error { return m } // BuildVersionValidationError is the validation error returned by // BuildVersion.Validate if the designated constraints aren't met. type BuildVersionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BuildVersionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BuildVersionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BuildVersionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BuildVersionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BuildVersionValidationError) ErrorName() string { return "BuildVersionValidationError" } // Error satisfies the builtin error interface func (e BuildVersionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBuildVersion.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BuildVersionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BuildVersionValidationError{} // Validate checks the field values on Extension with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Extension) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Extension with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtensionMultiError, or nil // if none found. func (m *Extension) ValidateAll() error { return m.validate(true) } func (m *Extension) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for Category // no validation rules for TypeDescriptor if all { switch v := interface{}(m.GetVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Disabled if len(errors) > 0 { return ExtensionMultiError(errors) } return nil } // ExtensionMultiError is an error wrapping multiple validation errors returned // by Extension.ValidateAll() if the designated constraints aren't met. type ExtensionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionMultiError) AllErrors() []error { return m } // ExtensionValidationError is the validation error returned by // Extension.Validate if the designated constraints aren't met. type ExtensionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionValidationError) ErrorName() string { return "ExtensionValidationError" } // Error satisfies the builtin error interface func (e ExtensionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtension.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionValidationError{} // Validate checks the field values on Node with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Node) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Node with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in NodeMultiError, or nil if none found. func (m *Node) ValidateAll() error { return m.validate(true) } func (m *Node) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id // no validation rules for Cluster if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } // no validation rules for BuildVersion // no validation rules for UserAgentName for idx, item := range m.GetExtensions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetListeningAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } switch v := m.UserAgentVersionType.(type) { case *Node_UserAgentVersion: if v == nil { err := NodeValidationError{ field: "UserAgentVersionType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for UserAgentVersion case *Node_UserAgentBuildVersion: if v == nil { err := NodeValidationError{ field: "UserAgentVersionType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUserAgentBuildVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUserAgentBuildVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return NodeMultiError(errors) } return nil } // NodeMultiError is an error wrapping multiple validation errors returned by // Node.ValidateAll() if the designated constraints aren't met. type NodeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NodeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NodeMultiError) AllErrors() []error { return m } // NodeValidationError is the validation error returned by Node.Validate if the // designated constraints aren't met. type NodeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NodeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NodeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NodeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NodeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NodeValidationError) ErrorName() string { return "NodeValidationError" } // Error satisfies the builtin error interface func (e NodeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNode.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NodeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NodeValidationError{} // Validate checks the field values on Metadata with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Metadata with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataMultiError, or nil // if none found. func (m *Metadata) ValidateAll() error { return m.validate(true) } func (m *Metadata) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetFilterMetadata())) i := 0 for key := range m.GetFilterMetadata() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetFilterMetadata()[key] _ = val // no validation rules for FilterMetadata[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return MetadataMultiError(errors) } return nil } // MetadataMultiError is an error wrapping multiple validation errors returned // by Metadata.ValidateAll() if the designated constraints aren't met. type MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMultiError) AllErrors() []error { return m } // MetadataValidationError is the validation error returned by // Metadata.Validate if the designated constraints aren't met. type MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataValidationError) ErrorName() string { return "MetadataValidationError" } // Error satisfies the builtin error interface func (e MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataValidationError{} // Validate checks the field values on RuntimeUInt32 with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeUInt32) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeUInt32 with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeUInt32MultiError, or // nil if none found. func (m *RuntimeUInt32) ValidateAll() error { return m.validate(true) } func (m *RuntimeUInt32) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DefaultValue if len(m.GetRuntimeKey()) < 1 { err := RuntimeUInt32ValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeUInt32MultiError(errors) } return nil } // RuntimeUInt32MultiError is an error wrapping multiple validation errors // returned by RuntimeUInt32.ValidateAll() if the designated constraints // aren't met. type RuntimeUInt32MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeUInt32MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeUInt32MultiError) AllErrors() []error { return m } // RuntimeUInt32ValidationError is the validation error returned by // RuntimeUInt32.Validate if the designated constraints aren't met. type RuntimeUInt32ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeUInt32ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeUInt32ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeUInt32ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeUInt32ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeUInt32ValidationError) ErrorName() string { return "RuntimeUInt32ValidationError" } // Error satisfies the builtin error interface func (e RuntimeUInt32ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeUInt32.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeUInt32ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeUInt32ValidationError{} // Validate checks the field values on RuntimeDouble with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeDouble) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeDouble with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeDoubleMultiError, or // nil if none found. func (m *RuntimeDouble) ValidateAll() error { return m.validate(true) } func (m *RuntimeDouble) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DefaultValue if len(m.GetRuntimeKey()) < 1 { err := RuntimeDoubleValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeDoubleMultiError(errors) } return nil } // RuntimeDoubleMultiError is an error wrapping multiple validation errors // returned by RuntimeDouble.ValidateAll() if the designated constraints // aren't met. type RuntimeDoubleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeDoubleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeDoubleMultiError) AllErrors() []error { return m } // RuntimeDoubleValidationError is the validation error returned by // RuntimeDouble.Validate if the designated constraints aren't met. type RuntimeDoubleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeDoubleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeDoubleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeDoubleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeDoubleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeDoubleValidationError) ErrorName() string { return "RuntimeDoubleValidationError" } // Error satisfies the builtin error interface func (e RuntimeDoubleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeDouble.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeDoubleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeDoubleValidationError{} // Validate checks the field values on RuntimeFeatureFlag with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeFeatureFlag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFeatureFlag with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeFeatureFlagMultiError, or nil if none found. func (m *RuntimeFeatureFlag) ValidateAll() error { return m.validate(true) } func (m *RuntimeFeatureFlag) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValue() == nil { err := RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRuntimeKey()) < 1 { err := RuntimeFeatureFlagValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeFeatureFlagMultiError(errors) } return nil } // RuntimeFeatureFlagMultiError is an error wrapping multiple validation errors // returned by RuntimeFeatureFlag.ValidateAll() if the designated constraints // aren't met. type RuntimeFeatureFlagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFeatureFlagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFeatureFlagMultiError) AllErrors() []error { return m } // RuntimeFeatureFlagValidationError is the validation error returned by // RuntimeFeatureFlag.Validate if the designated constraints aren't met. type RuntimeFeatureFlagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFeatureFlagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFeatureFlagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFeatureFlagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFeatureFlagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFeatureFlagValidationError) ErrorName() string { return "RuntimeFeatureFlagValidationError" } // Error satisfies the builtin error interface func (e RuntimeFeatureFlagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFeatureFlag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFeatureFlagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFeatureFlagValidationError{} // Validate checks the field values on HeaderValue with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderValue) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderValue with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderValueMultiError, or // nil if none found. func (m *HeaderValue) ValidateAll() error { return m.validate(true) } func (m *HeaderValue) validate(all bool) error { if m == nil { return nil } var errors []error if l := len(m.GetKey()); l < 1 || l > 16384 { err := HeaderValueValidationError{ field: "Key", reason: "value length must be between 1 and 16384 bytes, inclusive", } if !all { return err } errors = append(errors, err) } if !_HeaderValue_Key_Pattern.MatchString(m.GetKey()) { err := HeaderValueValidationError{ field: "Key", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(m.GetValue()) > 16384 { err := HeaderValueValidationError{ field: "Value", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_HeaderValue_Value_Pattern.MatchString(m.GetValue()) { err := HeaderValueValidationError{ field: "Value", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HeaderValueMultiError(errors) } return nil } // HeaderValueMultiError is an error wrapping multiple validation errors // returned by HeaderValue.ValidateAll() if the designated constraints aren't met. type HeaderValueMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValueMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValueMultiError) AllErrors() []error { return m } // HeaderValueValidationError is the validation error returned by // HeaderValue.Validate if the designated constraints aren't met. type HeaderValueValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValueValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValueValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValueValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValueValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValueValidationError) ErrorName() string { return "HeaderValueValidationError" } // Error satisfies the builtin error interface func (e HeaderValueValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValue.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValueValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValueValidationError{} var _HeaderValue_Key_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HeaderValue_Value_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HeaderValueOption with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HeaderValueOption) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderValueOption with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderValueOptionMultiError, or nil if none found. func (m *HeaderValueOption) ValidateAll() error { return m.validate(true) } func (m *HeaderValueOption) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHeader() == nil { err := HeaderValueOptionValidationError{ field: "Header", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAppend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAppend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderValueOptionMultiError(errors) } return nil } // HeaderValueOptionMultiError is an error wrapping multiple validation errors // returned by HeaderValueOption.ValidateAll() if the designated constraints // aren't met. type HeaderValueOptionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValueOptionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValueOptionMultiError) AllErrors() []error { return m } // HeaderValueOptionValidationError is the validation error returned by // HeaderValueOption.Validate if the designated constraints aren't met. type HeaderValueOptionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValueOptionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValueOptionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValueOptionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValueOptionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValueOptionValidationError) ErrorName() string { return "HeaderValueOptionValidationError" } // Error satisfies the builtin error interface func (e HeaderValueOptionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValueOption.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValueOptionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValueOptionValidationError{} // Validate checks the field values on HeaderMap with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMap with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMapMultiError, or nil // if none found. func (m *HeaderMap) ValidateAll() error { return m.validate(true) } func (m *HeaderMap) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HeaderMapMultiError(errors) } return nil } // HeaderMapMultiError is an error wrapping multiple validation errors returned // by HeaderMap.ValidateAll() if the designated constraints aren't met. type HeaderMapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMapMultiError) AllErrors() []error { return m } // HeaderMapValidationError is the validation error returned by // HeaderMap.Validate if the designated constraints aren't met. type HeaderMapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMapValidationError) ErrorName() string { return "HeaderMapValidationError" } // Error satisfies the builtin error interface func (e HeaderMapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMapValidationError{} // Validate checks the field values on DataSource with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DataSource with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DataSourceMultiError, or // nil if none found. func (m *DataSource) ValidateAll() error { return m.validate(true) } func (m *DataSource) validate(all bool) error { if m == nil { return nil } var errors []error oneofSpecifierPresent := false switch v := m.Specifier.(type) { case *DataSource_Filename: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if len(m.GetFilename()) < 1 { err := DataSourceValidationError{ field: "Filename", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *DataSource_InlineBytes: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if len(m.GetInlineBytes()) < 1 { err := DataSourceValidationError{ field: "InlineBytes", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *DataSource_InlineString: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if len(m.GetInlineString()) < 1 { err := DataSourceValidationError{ field: "InlineString", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSpecifierPresent { err := DataSourceValidationError{ field: "Specifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DataSourceMultiError(errors) } return nil } // DataSourceMultiError is an error wrapping multiple validation errors // returned by DataSource.ValidateAll() if the designated constraints aren't met. type DataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DataSourceMultiError) AllErrors() []error { return m } // DataSourceValidationError is the validation error returned by // DataSource.Validate if the designated constraints aren't met. type DataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DataSourceValidationError) ErrorName() string { return "DataSourceValidationError" } // Error satisfies the builtin error interface func (e DataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DataSourceValidationError{} // Validate checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RetryPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RetryPolicyMultiError, or // nil if none found. func (m *RetryPolicy) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRetryBackOff()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBackOff()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetNumRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNumRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RetryPolicyMultiError(errors) } return nil } // RetryPolicyMultiError is an error wrapping multiple validation errors // returned by RetryPolicy.ValidateAll() if the designated constraints aren't met. type RetryPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicyMultiError) AllErrors() []error { return m } // RetryPolicyValidationError is the validation error returned by // RetryPolicy.Validate if the designated constraints aren't met. type RetryPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicyValidationError) ErrorName() string { return "RetryPolicyValidationError" } // Error satisfies the builtin error interface func (e RetryPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicyValidationError{} // Validate checks the field values on RemoteDataSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RemoteDataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RemoteDataSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RemoteDataSourceMultiError, or nil if none found. func (m *RemoteDataSource) ValidateAll() error { return m.validate(true) } func (m *RemoteDataSource) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHttpUri() == nil { err := RemoteDataSourceValidationError{ field: "HttpUri", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if len(m.GetSha256()) < 1 { err := RemoteDataSourceValidationError{ field: "Sha256", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RemoteDataSourceMultiError(errors) } return nil } // RemoteDataSourceMultiError is an error wrapping multiple validation errors // returned by RemoteDataSource.ValidateAll() if the designated constraints // aren't met. type RemoteDataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RemoteDataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RemoteDataSourceMultiError) AllErrors() []error { return m } // RemoteDataSourceValidationError is the validation error returned by // RemoteDataSource.Validate if the designated constraints aren't met. type RemoteDataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RemoteDataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RemoteDataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RemoteDataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RemoteDataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RemoteDataSourceValidationError) ErrorName() string { return "RemoteDataSourceValidationError" } // Error satisfies the builtin error interface func (e RemoteDataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRemoteDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RemoteDataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RemoteDataSourceValidationError{} // Validate checks the field values on AsyncDataSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AsyncDataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AsyncDataSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AsyncDataSourceMultiError, or nil if none found. func (m *AsyncDataSource) ValidateAll() error { return m.validate(true) } func (m *AsyncDataSource) validate(all bool) error { if m == nil { return nil } var errors []error oneofSpecifierPresent := false switch v := m.Specifier.(type) { case *AsyncDataSource_Local: if v == nil { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if all { switch v := interface{}(m.GetLocal()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocal()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, } } } case *AsyncDataSource_Remote: if v == nil { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if all { switch v := interface{}(m.GetRemote()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemote()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofSpecifierPresent { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AsyncDataSourceMultiError(errors) } return nil } // AsyncDataSourceMultiError is an error wrapping multiple validation errors // returned by AsyncDataSource.ValidateAll() if the designated constraints // aren't met. type AsyncDataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AsyncDataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AsyncDataSourceMultiError) AllErrors() []error { return m } // AsyncDataSourceValidationError is the validation error returned by // AsyncDataSource.Validate if the designated constraints aren't met. type AsyncDataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AsyncDataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AsyncDataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AsyncDataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AsyncDataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AsyncDataSourceValidationError) ErrorName() string { return "AsyncDataSourceValidationError" } // Error satisfies the builtin error interface func (e AsyncDataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAsyncDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AsyncDataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AsyncDataSourceValidationError{} // Validate checks the field values on TransportSocket with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TransportSocket) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TransportSocket with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TransportSocketMultiError, or nil if none found. func (m *TransportSocket) ValidateAll() error { return m.validate(true) } func (m *TransportSocket) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := TransportSocketValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *TransportSocket_Config: if v == nil { err := TransportSocketValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TransportSocketValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *TransportSocket_TypedConfig: if v == nil { err := TransportSocketValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return TransportSocketMultiError(errors) } return nil } // TransportSocketMultiError is an error wrapping multiple validation errors // returned by TransportSocket.ValidateAll() if the designated constraints // aren't met. type TransportSocketMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TransportSocketMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TransportSocketMultiError) AllErrors() []error { return m } // TransportSocketValidationError is the validation error returned by // TransportSocket.Validate if the designated constraints aren't met. type TransportSocketValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TransportSocketValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TransportSocketValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TransportSocketValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TransportSocketValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TransportSocketValidationError) ErrorName() string { return "TransportSocketValidationError" } // Error satisfies the builtin error interface func (e TransportSocketValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTransportSocket.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TransportSocketValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TransportSocketValidationError{} // Validate checks the field values on RuntimeFractionalPercent with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeFractionalPercent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFractionalPercent with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeFractionalPercentMultiError, or nil if none found. func (m *RuntimeFractionalPercent) ValidateAll() error { return m.validate(true) } func (m *RuntimeFractionalPercent) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValue() == nil { err := RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RuntimeKey if len(errors) > 0 { return RuntimeFractionalPercentMultiError(errors) } return nil } // RuntimeFractionalPercentMultiError is an error wrapping multiple validation // errors returned by RuntimeFractionalPercent.ValidateAll() if the designated // constraints aren't met. type RuntimeFractionalPercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFractionalPercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFractionalPercentMultiError) AllErrors() []error { return m } // RuntimeFractionalPercentValidationError is the validation error returned by // RuntimeFractionalPercent.Validate if the designated constraints aren't met. type RuntimeFractionalPercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFractionalPercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFractionalPercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFractionalPercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFractionalPercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFractionalPercentValidationError) ErrorName() string { return "RuntimeFractionalPercentValidationError" } // Error satisfies the builtin error interface func (e RuntimeFractionalPercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFractionalPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFractionalPercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFractionalPercentValidationError{} // Validate checks the field values on ControlPlane with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ControlPlane) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ControlPlane with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ControlPlaneMultiError, or // nil if none found. func (m *ControlPlane) ValidateAll() error { return m.validate(true) } func (m *ControlPlane) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Identifier if len(errors) > 0 { return ControlPlaneMultiError(errors) } return nil } // ControlPlaneMultiError is an error wrapping multiple validation errors // returned by ControlPlane.ValidateAll() if the designated constraints aren't met. type ControlPlaneMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ControlPlaneMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ControlPlaneMultiError) AllErrors() []error { return m } // ControlPlaneValidationError is the validation error returned by // ControlPlane.Validate if the designated constraints aren't met. type ControlPlaneValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ControlPlaneValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ControlPlaneValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ControlPlaneValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ControlPlaneValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ControlPlaneValidationError) ErrorName() string { return "ControlPlaneValidationError" } // Error satisfies the builtin error interface func (e ControlPlaneValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sControlPlane.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ControlPlaneValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ControlPlaneValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/config_source.pb.go000077500000000000000000001125621454502223200237270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/config_source.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // xDS API version. This is used to describe both resource and transport // protocol versions (in distinct configuration fields). type ApiVersion int32 const ( // When not specified, we assume v2, to ease migration to Envoy's stable API // versioning. If a client does not support v2 (e.g. due to deprecation), this // is an invalid value. // // Deprecated: Marked as deprecated in envoy/api/v2/core/config_source.proto. ApiVersion_AUTO ApiVersion = 0 // Use xDS v2 API. // // Deprecated: Marked as deprecated in envoy/api/v2/core/config_source.proto. ApiVersion_V2 ApiVersion = 1 // Use xDS v3 API. ApiVersion_V3 ApiVersion = 2 ) // Enum value maps for ApiVersion. var ( ApiVersion_name = map[int32]string{ 0: "AUTO", 1: "V2", 2: "V3", } ApiVersion_value = map[string]int32{ "AUTO": 0, "V2": 1, "V3": 2, } ) func (x ApiVersion) Enum() *ApiVersion { p := new(ApiVersion) *p = x return p } func (x ApiVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ApiVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_config_source_proto_enumTypes[0].Descriptor() } func (ApiVersion) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_config_source_proto_enumTypes[0] } func (x ApiVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ApiVersion.Descriptor instead. func (ApiVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0} } // APIs may be fetched via either REST or gRPC. type ApiConfigSource_ApiType int32 const ( // Ideally this would be 'reserved 0' but one can't reserve the default // value. Instead we throw an exception if this is ever used. // // Deprecated: Marked as deprecated in envoy/api/v2/core/config_source.proto. ApiConfigSource_UNSUPPORTED_REST_LEGACY ApiConfigSource_ApiType = 0 // REST-JSON v2 API. The `canonical JSON encoding // `_ for // the v2 protos is used. ApiConfigSource_REST ApiConfigSource_ApiType = 1 // gRPC v2 API. ApiConfigSource_GRPC ApiConfigSource_ApiType = 2 // Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response} // rather than Discovery{Request,Response}. Rather than sending Envoy the entire state // with every update, the xDS server only sends what has changed since the last update. ApiConfigSource_DELTA_GRPC ApiConfigSource_ApiType = 3 ) // Enum value maps for ApiConfigSource_ApiType. var ( ApiConfigSource_ApiType_name = map[int32]string{ 0: "UNSUPPORTED_REST_LEGACY", 1: "REST", 2: "GRPC", 3: "DELTA_GRPC", } ApiConfigSource_ApiType_value = map[string]int32{ "UNSUPPORTED_REST_LEGACY": 0, "REST": 1, "GRPC": 2, "DELTA_GRPC": 3, } ) func (x ApiConfigSource_ApiType) Enum() *ApiConfigSource_ApiType { p := new(ApiConfigSource_ApiType) *p = x return p } func (x ApiConfigSource_ApiType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ApiConfigSource_ApiType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_config_source_proto_enumTypes[1].Descriptor() } func (ApiConfigSource_ApiType) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_config_source_proto_enumTypes[1] } func (x ApiConfigSource_ApiType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ApiConfigSource_ApiType.Descriptor instead. func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0, 0} } // API configuration source. This identifies the API type and cluster that Envoy // will use to fetch an xDS API. // [#next-free-field: 9] type ApiConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // API type (gRPC, REST, delta gRPC) ApiType ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.api.v2.core.ApiConfigSource_ApiType" json:"api_type,omitempty"` // API version for xDS transport protocol. This describes the xDS gRPC/REST // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire. TransportApiVersion ApiVersion `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"` // Cluster names should be used only with REST. If > 1 // cluster is defined, clusters will be cycled through if any kind of failure // occurs. // // .. note:: // // The cluster with name ``cluster_name`` must be statically defined and its // type must not be ``EDS``. ClusterNames []string `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"` // Multiple gRPC services be provided for GRPC. If > 1 cluster is defined, // services will be cycled through if any kind of failure occurs. GrpcServices []*GrpcService `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"` // For REST APIs, the delay between successive polls. RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"` // For REST APIs, the request timeout. If not set, a default value of 1s will be used. RequestTimeout *duration.Duration `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be // rate limited. RateLimitSettings *RateLimitSettings `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"` // Skip the node identifier in subsequent discovery requests for streaming gRPC config types. SetNodeOnFirstMessageOnly bool `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"` } func (x *ApiConfigSource) Reset() { *x = ApiConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApiConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApiConfigSource) ProtoMessage() {} func (x *ApiConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApiConfigSource.ProtoReflect.Descriptor instead. func (*ApiConfigSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{0} } func (x *ApiConfigSource) GetApiType() ApiConfigSource_ApiType { if x != nil { return x.ApiType } return ApiConfigSource_UNSUPPORTED_REST_LEGACY } func (x *ApiConfigSource) GetTransportApiVersion() ApiVersion { if x != nil { return x.TransportApiVersion } return ApiVersion_AUTO } func (x *ApiConfigSource) GetClusterNames() []string { if x != nil { return x.ClusterNames } return nil } func (x *ApiConfigSource) GetGrpcServices() []*GrpcService { if x != nil { return x.GrpcServices } return nil } func (x *ApiConfigSource) GetRefreshDelay() *duration.Duration { if x != nil { return x.RefreshDelay } return nil } func (x *ApiConfigSource) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings { if x != nil { return x.RateLimitSettings } return nil } func (x *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool { if x != nil { return x.SetNodeOnFirstMessageOnly } return false } // Aggregated Discovery Service (ADS) options. This is currently empty, but when // set in :ref:`ConfigSource ` can be used to // specify that ADS is to be used. type AggregatedConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AggregatedConfigSource) Reset() { *x = AggregatedConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AggregatedConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*AggregatedConfigSource) ProtoMessage() {} func (x *AggregatedConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AggregatedConfigSource.ProtoReflect.Descriptor instead. func (*AggregatedConfigSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{1} } // [#not-implemented-hide:] // Self-referencing config source options. This is currently empty, but when // set in :ref:`ConfigSource ` can be used to // specify that other data can be obtained from the same server. type SelfConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // API version for xDS transport protocol. This describes the xDS gRPC/REST // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire. TransportApiVersion ApiVersion `protobuf:"varint,1,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"transport_api_version,omitempty"` } func (x *SelfConfigSource) Reset() { *x = SelfConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelfConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelfConfigSource) ProtoMessage() {} func (x *SelfConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SelfConfigSource.ProtoReflect.Descriptor instead. func (*SelfConfigSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{2} } func (x *SelfConfigSource) GetTransportApiVersion() ApiVersion { if x != nil { return x.TransportApiVersion } return ApiVersion_AUTO } // Rate Limit settings to be applied for discovery requests made by Envoy. type RateLimitSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of tokens to be used for rate limiting discovery request calls. If not set, a // default value of 100 will be used. MaxTokens *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"` // Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens // per second will be used. FillRate *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"` } func (x *RateLimitSettings) Reset() { *x = RateLimitSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitSettings) ProtoMessage() {} func (x *RateLimitSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitSettings.ProtoReflect.Descriptor instead. func (*RateLimitSettings) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{3} } func (x *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value { if x != nil { return x.MaxTokens } return nil } func (x *RateLimitSettings) GetFillRate() *wrappers.DoubleValue { if x != nil { return x.FillRate } return nil } // Configuration for :ref:`listeners `, :ref:`clusters // `, :ref:`routes // `, :ref:`endpoints // ` etc. may either be sourced from the // filesystem or from an xDS API source. Filesystem configs are watched with // inotify for updates. // [#next-free-field: 7] type ConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigSourceSpecifier: // // *ConfigSource_Path // *ConfigSource_ApiConfigSource // *ConfigSource_Ads // *ConfigSource_Self ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"` // When this timeout is specified, Envoy will wait no longer than the specified time for first // config response on this xDS subscription during the :ref:`initialization process // `. After reaching the timeout, Envoy will move to the next // initialization phase, even if the first config is not delivered yet. The timer is activated // when the xDS API subscription starts, and is disarmed on first config update or on error. 0 // means no timeout - Envoy will wait indefinitely for the first xDS config (unless another // timeout applies). The default is 15s. InitialFetchTimeout *duration.Duration `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"` // API version for xDS resources. This implies the type URLs that the client // will request for resources and the resource type that the client will in // turn expect to be delivered. ResourceApiVersion ApiVersion `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.api.v2.core.ApiVersion" json:"resource_api_version,omitempty"` } func (x *ConfigSource) Reset() { *x = ConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSource) ProtoMessage() {} func (x *ConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_config_source_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead. func (*ConfigSource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_config_source_proto_rawDescGZIP(), []int{4} } func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier { if m != nil { return m.ConfigSourceSpecifier } return nil } func (x *ConfigSource) GetPath() string { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Path); ok { return x.Path } return "" } func (x *ConfigSource) GetApiConfigSource() *ApiConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok { return x.ApiConfigSource } return nil } func (x *ConfigSource) GetAds() *AggregatedConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok { return x.Ads } return nil } func (x *ConfigSource) GetSelf() *SelfConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Self); ok { return x.Self } return nil } func (x *ConfigSource) GetInitialFetchTimeout() *duration.Duration { if x != nil { return x.InitialFetchTimeout } return nil } func (x *ConfigSource) GetResourceApiVersion() ApiVersion { if x != nil { return x.ResourceApiVersion } return ApiVersion_AUTO } type isConfigSource_ConfigSourceSpecifier interface { isConfigSource_ConfigSourceSpecifier() } type ConfigSource_Path struct { // Path on the filesystem to source and watch for configuration updates. // When sourcing configuration for :ref:`secret `, // the certificate and key files are also watched for updates. // // .. note:: // // The path to the source must exist at config load time. // // .. note:: // // Envoy will only watch the file path for *moves.* This is because in general only moves // are atomic. The same method of swapping files as is demonstrated in the // :ref:`runtime documentation ` can be used here also. Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"` } type ConfigSource_ApiConfigSource struct { // API configuration source. ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"` } type ConfigSource_Ads struct { // When set, ADS will be used to fetch resources. The ADS API configuration // source in the bootstrap configuration is used. Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"` } type ConfigSource_Self struct { // [#not-implemented-hide:] // When set, the client will access the resources from the same server it got the // ConfigSource from, although not necessarily from the same stream. This is similar to the // :ref:`ads` field, except that the client may use a // different stream to the same server. As a result, this field can be used for things // like LRS that cannot be sent on an ADS stream. It can also be used to link from (e.g.) // LDS to RDS on the same server without requiring the management server to know its name // or required credentials. // [#next-major-version: In xDS v3, consider replacing the ads field with this one, since // this field can implicitly mean to use the same stream in the case where the ConfigSource // is provided via ADS and the specified data can also be obtained via ADS.] Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"` } func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {} var File_envoy_api_v2_core_config_source_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_config_source_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x05, 0x0a, 0x0f, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x13, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x11, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x1e, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x54, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x17, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x1a, 0x08, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01, 0x08, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x11, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x03, 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x03, 0x61, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x4d, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x2a, 0x2e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0a, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x02, 0x42, 0x94, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_config_source_proto_rawDescOnce sync.Once file_envoy_api_v2_core_config_source_proto_rawDescData = file_envoy_api_v2_core_config_source_proto_rawDesc ) func file_envoy_api_v2_core_config_source_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_config_source_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_config_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_config_source_proto_rawDescData) }) return file_envoy_api_v2_core_config_source_proto_rawDescData } var file_envoy_api_v2_core_config_source_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_api_v2_core_config_source_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_api_v2_core_config_source_proto_goTypes = []interface{}{ (ApiVersion)(0), // 0: envoy.api.v2.core.ApiVersion (ApiConfigSource_ApiType)(0), // 1: envoy.api.v2.core.ApiConfigSource.ApiType (*ApiConfigSource)(nil), // 2: envoy.api.v2.core.ApiConfigSource (*AggregatedConfigSource)(nil), // 3: envoy.api.v2.core.AggregatedConfigSource (*SelfConfigSource)(nil), // 4: envoy.api.v2.core.SelfConfigSource (*RateLimitSettings)(nil), // 5: envoy.api.v2.core.RateLimitSettings (*ConfigSource)(nil), // 6: envoy.api.v2.core.ConfigSource (*GrpcService)(nil), // 7: envoy.api.v2.core.GrpcService (*duration.Duration)(nil), // 8: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*wrappers.DoubleValue)(nil), // 10: google.protobuf.DoubleValue } var file_envoy_api_v2_core_config_source_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.ApiConfigSource.api_type:type_name -> envoy.api.v2.core.ApiConfigSource.ApiType 0, // 1: envoy.api.v2.core.ApiConfigSource.transport_api_version:type_name -> envoy.api.v2.core.ApiVersion 7, // 2: envoy.api.v2.core.ApiConfigSource.grpc_services:type_name -> envoy.api.v2.core.GrpcService 8, // 3: envoy.api.v2.core.ApiConfigSource.refresh_delay:type_name -> google.protobuf.Duration 8, // 4: envoy.api.v2.core.ApiConfigSource.request_timeout:type_name -> google.protobuf.Duration 5, // 5: envoy.api.v2.core.ApiConfigSource.rate_limit_settings:type_name -> envoy.api.v2.core.RateLimitSettings 0, // 6: envoy.api.v2.core.SelfConfigSource.transport_api_version:type_name -> envoy.api.v2.core.ApiVersion 9, // 7: envoy.api.v2.core.RateLimitSettings.max_tokens:type_name -> google.protobuf.UInt32Value 10, // 8: envoy.api.v2.core.RateLimitSettings.fill_rate:type_name -> google.protobuf.DoubleValue 2, // 9: envoy.api.v2.core.ConfigSource.api_config_source:type_name -> envoy.api.v2.core.ApiConfigSource 3, // 10: envoy.api.v2.core.ConfigSource.ads:type_name -> envoy.api.v2.core.AggregatedConfigSource 4, // 11: envoy.api.v2.core.ConfigSource.self:type_name -> envoy.api.v2.core.SelfConfigSource 8, // 12: envoy.api.v2.core.ConfigSource.initial_fetch_timeout:type_name -> google.protobuf.Duration 0, // 13: envoy.api.v2.core.ConfigSource.resource_api_version:type_name -> envoy.api.v2.core.ApiVersion 14, // [14:14] is the sub-list for method output_type 14, // [14:14] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_config_source_proto_init() } func file_envoy_api_v2_core_config_source_proto_init() { if File_envoy_api_v2_core_config_source_proto != nil { return } file_envoy_api_v2_core_grpc_service_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_config_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApiConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_config_source_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AggregatedConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_config_source_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelfConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_config_source_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_config_source_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_config_source_proto_msgTypes[4].OneofWrappers = []interface{}{ (*ConfigSource_Path)(nil), (*ConfigSource_ApiConfigSource)(nil), (*ConfigSource_Ads)(nil), (*ConfigSource_Self)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_config_source_proto_rawDesc, NumEnums: 2, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_config_source_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_config_source_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_config_source_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_config_source_proto_msgTypes, }.Build() File_envoy_api_v2_core_config_source_proto = out.File file_envoy_api_v2_core_config_source_proto_rawDesc = nil file_envoy_api_v2_core_config_source_proto_goTypes = nil file_envoy_api_v2_core_config_source_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/config_source.pb.validate.go000077500000000000000000000607641454502223200255250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/config_source.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ApiConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ApiConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApiConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ApiConfigSourceMultiError, or nil if none found. func (m *ApiConfigSource) ValidateAll() error { return m.validate(true) } func (m *ApiConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ApiConfigSource_ApiType_name[int32(m.GetApiType())]; !ok { err := ApiConfigSourceValidationError{ field: "ApiType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := ApiConfigSourceValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetGrpcServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetRefreshDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, } } } if d := m.GetRequestTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ApiConfigSourceValidationError{ field: "RequestTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ApiConfigSourceValidationError{ field: "RequestTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRateLimitSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SetNodeOnFirstMessageOnly if len(errors) > 0 { return ApiConfigSourceMultiError(errors) } return nil } // ApiConfigSourceMultiError is an error wrapping multiple validation errors // returned by ApiConfigSource.ValidateAll() if the designated constraints // aren't met. type ApiConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApiConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApiConfigSourceMultiError) AllErrors() []error { return m } // ApiConfigSourceValidationError is the validation error returned by // ApiConfigSource.Validate if the designated constraints aren't met. type ApiConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApiConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApiConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApiConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApiConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApiConfigSourceValidationError) ErrorName() string { return "ApiConfigSourceValidationError" } // Error satisfies the builtin error interface func (e ApiConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApiConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApiConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApiConfigSourceValidationError{} // Validate checks the field values on AggregatedConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AggregatedConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AggregatedConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AggregatedConfigSourceMultiError, or nil if none found. func (m *AggregatedConfigSource) ValidateAll() error { return m.validate(true) } func (m *AggregatedConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return AggregatedConfigSourceMultiError(errors) } return nil } // AggregatedConfigSourceMultiError is an error wrapping multiple validation // errors returned by AggregatedConfigSource.ValidateAll() if the designated // constraints aren't met. type AggregatedConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AggregatedConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AggregatedConfigSourceMultiError) AllErrors() []error { return m } // AggregatedConfigSourceValidationError is the validation error returned by // AggregatedConfigSource.Validate if the designated constraints aren't met. type AggregatedConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AggregatedConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AggregatedConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AggregatedConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AggregatedConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AggregatedConfigSourceValidationError) ErrorName() string { return "AggregatedConfigSourceValidationError" } // Error satisfies the builtin error interface func (e AggregatedConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAggregatedConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AggregatedConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AggregatedConfigSourceValidationError{} // Validate checks the field values on SelfConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SelfConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SelfConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SelfConfigSourceMultiError, or nil if none found. func (m *SelfConfigSource) ValidateAll() error { return m.validate(true) } func (m *SelfConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := SelfConfigSourceValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SelfConfigSourceMultiError(errors) } return nil } // SelfConfigSourceMultiError is an error wrapping multiple validation errors // returned by SelfConfigSource.ValidateAll() if the designated constraints // aren't met. type SelfConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SelfConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SelfConfigSourceMultiError) AllErrors() []error { return m } // SelfConfigSourceValidationError is the validation error returned by // SelfConfigSource.Validate if the designated constraints aren't met. type SelfConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SelfConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SelfConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SelfConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SelfConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SelfConfigSourceValidationError) ErrorName() string { return "SelfConfigSourceValidationError" } // Error satisfies the builtin error interface func (e SelfConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSelfConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SelfConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SelfConfigSourceValidationError{} // Validate checks the field values on RateLimitSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitSettingsMultiError, or nil if none found. func (m *RateLimitSettings) ValidateAll() error { return m.validate(true) } func (m *RateLimitSettings) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxTokens()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxTokens()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetFillRate(); wrapper != nil { if wrapper.GetValue() <= 0 { err := RateLimitSettingsValidationError{ field: "FillRate", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return RateLimitSettingsMultiError(errors) } return nil } // RateLimitSettingsMultiError is an error wrapping multiple validation errors // returned by RateLimitSettings.ValidateAll() if the designated constraints // aren't met. type RateLimitSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitSettingsMultiError) AllErrors() []error { return m } // RateLimitSettingsValidationError is the validation error returned by // RateLimitSettings.Validate if the designated constraints aren't met. type RateLimitSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitSettingsValidationError) ErrorName() string { return "RateLimitSettingsValidationError" } // Error satisfies the builtin error interface func (e RateLimitSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitSettingsValidationError{} // Validate checks the field values on ConfigSource with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConfigSourceMultiError, or // nil if none found. func (m *ConfigSource) ValidateAll() error { return m.validate(true) } func (m *ConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetInitialFetchTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInitialFetchTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, } } } if _, ok := ApiVersion_name[int32(m.GetResourceApiVersion())]; !ok { err := ConfigSourceValidationError{ field: "ResourceApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent := false switch v := m.ConfigSourceSpecifier.(type) { case *ConfigSource_Path: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true // no validation rules for Path case *ConfigSource_ApiConfigSource: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetApiConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, } } } case *ConfigSource_Ads: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetAds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, } } } case *ConfigSource_Self: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetSelf()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSelf()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSourceSpecifierPresent { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigSourceMultiError(errors) } return nil } // ConfigSourceMultiError is an error wrapping multiple validation errors // returned by ConfigSource.ValidateAll() if the designated constraints aren't met. type ConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigSourceMultiError) AllErrors() []error { return m } // ConfigSourceValidationError is the validation error returned by // ConfigSource.Validate if the designated constraints aren't met. type ConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigSourceValidationError) ErrorName() string { return "ConfigSourceValidationError" } // Error satisfies the builtin error interface func (e ConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigSourceValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/event_service_config.pb.go000077500000000000000000000211421454502223200252610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/event_service_config.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] // Configuration of the event reporting service endpoint. type EventServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigSourceSpecifier: // // *EventServiceConfig_GrpcService ConfigSourceSpecifier isEventServiceConfig_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"` } func (x *EventServiceConfig) Reset() { *x = EventServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_event_service_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EventServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EventServiceConfig) ProtoMessage() {} func (x *EventServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_event_service_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EventServiceConfig.ProtoReflect.Descriptor instead. func (*EventServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_event_service_config_proto_rawDescGZIP(), []int{0} } func (m *EventServiceConfig) GetConfigSourceSpecifier() isEventServiceConfig_ConfigSourceSpecifier { if m != nil { return m.ConfigSourceSpecifier } return nil } func (x *EventServiceConfig) GetGrpcService() *GrpcService { if x, ok := x.GetConfigSourceSpecifier().(*EventServiceConfig_GrpcService); ok { return x.GrpcService } return nil } type isEventServiceConfig_ConfigSourceSpecifier interface { isEventServiceConfig_ConfigSourceSpecifier() } type EventServiceConfig_GrpcService struct { // Specifies the gRPC service that hosts the event reporting service. GrpcService *GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"` } func (*EventServiceConfig_GrpcService) isEventServiceConfig_ConfigSourceSpecifier() {} var File_envoy_api_v2_core_event_service_config_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_event_service_config_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x9a, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_event_service_config_proto_rawDescOnce sync.Once file_envoy_api_v2_core_event_service_config_proto_rawDescData = file_envoy_api_v2_core_event_service_config_proto_rawDesc ) func file_envoy_api_v2_core_event_service_config_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_event_service_config_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_event_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_event_service_config_proto_rawDescData) }) return file_envoy_api_v2_core_event_service_config_proto_rawDescData } var file_envoy_api_v2_core_event_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_core_event_service_config_proto_goTypes = []interface{}{ (*EventServiceConfig)(nil), // 0: envoy.api.v2.core.EventServiceConfig (*GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService } var file_envoy_api_v2_core_event_service_config_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.EventServiceConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_event_service_config_proto_init() } func file_envoy_api_v2_core_event_service_config_proto_init() { if File_envoy_api_v2_core_event_service_config_proto != nil { return } file_envoy_api_v2_core_grpc_service_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_event_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_event_service_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*EventServiceConfig_GrpcService)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_event_service_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_event_service_config_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_event_service_config_proto_depIdxs, MessageInfos: file_envoy_api_v2_core_event_service_config_proto_msgTypes, }.Build() File_envoy_api_v2_core_event_service_config_proto = out.File file_envoy_api_v2_core_event_service_config_proto_rawDesc = nil file_envoy_api_v2_core_event_service_config_proto_goTypes = nil file_envoy_api_v2_core_event_service_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/event_service_config.pb.validate.go000077500000000000000000000115361454502223200270570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/event_service_config.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EventServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EventServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EventServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EventServiceConfigMultiError, or nil if none found. func (m *EventServiceConfig) ValidateAll() error { return m.validate(true) } func (m *EventServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofConfigSourceSpecifierPresent := false switch v := m.ConfigSourceSpecifier.(type) { case *EventServiceConfig_GrpcService: if v == nil { err := EventServiceConfigValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSourceSpecifierPresent { err := EventServiceConfigValidationError{ field: "ConfigSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return EventServiceConfigMultiError(errors) } return nil } // EventServiceConfigMultiError is an error wrapping multiple validation errors // returned by EventServiceConfig.ValidateAll() if the designated constraints // aren't met. type EventServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EventServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EventServiceConfigMultiError) AllErrors() []error { return m } // EventServiceConfigValidationError is the validation error returned by // EventServiceConfig.Validate if the designated constraints aren't met. type EventServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EventServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EventServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EventServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EventServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EventServiceConfigValidationError) ErrorName() string { return "EventServiceConfigValidationError" } // Error satisfies the builtin error interface func (e EventServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEventServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EventServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EventServiceConfigValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/grpc_method_list.pb.go000077500000000000000000000227211454502223200244250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/grpc_method_list.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A list of gRPC methods which can be used as an allowlist, for example. type GrpcMethodList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Services []*GrpcMethodList_Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` } func (x *GrpcMethodList) Reset() { *x = GrpcMethodList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcMethodList) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcMethodList) ProtoMessage() {} func (x *GrpcMethodList) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcMethodList.ProtoReflect.Descriptor instead. func (*GrpcMethodList) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP(), []int{0} } func (x *GrpcMethodList) GetServices() []*GrpcMethodList_Service { if x != nil { return x.Services } return nil } type GrpcMethodList_Service struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the gRPC service. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The names of the gRPC methods in this service. MethodNames []string `protobuf:"bytes,2,rep,name=method_names,json=methodNames,proto3" json:"method_names,omitempty"` } func (x *GrpcMethodList_Service) Reset() { *x = GrpcMethodList_Service{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcMethodList_Service) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcMethodList_Service) ProtoMessage() {} func (x *GrpcMethodList_Service) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcMethodList_Service.ProtoReflect.Descriptor instead. func (*GrpcMethodList_Service) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcMethodList_Service) GetName() string { if x != nil { return x.Name } return "" } func (x *GrpcMethodList_Service) GetMethodNames() []string { if x != nil { return x.MethodNames } return nil } var File_envoy_api_v2_core_grpc_method_list_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_grpc_method_list_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x53, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x96, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x13, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_grpc_method_list_proto_rawDescOnce sync.Once file_envoy_api_v2_core_grpc_method_list_proto_rawDescData = file_envoy_api_v2_core_grpc_method_list_proto_rawDesc ) func file_envoy_api_v2_core_grpc_method_list_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_grpc_method_list_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_grpc_method_list_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_grpc_method_list_proto_rawDescData) }) return file_envoy_api_v2_core_grpc_method_list_proto_rawDescData } var file_envoy_api_v2_core_grpc_method_list_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_api_v2_core_grpc_method_list_proto_goTypes = []interface{}{ (*GrpcMethodList)(nil), // 0: envoy.api.v2.core.GrpcMethodList (*GrpcMethodList_Service)(nil), // 1: envoy.api.v2.core.GrpcMethodList.Service } var file_envoy_api_v2_core_grpc_method_list_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.GrpcMethodList.services:type_name -> envoy.api.v2.core.GrpcMethodList.Service 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_grpc_method_list_proto_init() } func file_envoy_api_v2_core_grpc_method_list_proto_init() { if File_envoy_api_v2_core_grpc_method_list_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcMethodList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_method_list_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcMethodList_Service); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_grpc_method_list_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_grpc_method_list_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_grpc_method_list_proto_depIdxs, MessageInfos: file_envoy_api_v2_core_grpc_method_list_proto_msgTypes, }.Build() File_envoy_api_v2_core_grpc_method_list_proto = out.File file_envoy_api_v2_core_grpc_method_list_proto_rawDesc = nil file_envoy_api_v2_core_grpc_method_list_proto_goTypes = nil file_envoy_api_v2_core_grpc_method_list_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/grpc_method_list.pb.validate.go000077500000000000000000000167531454502223200262250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/grpc_method_list.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcMethodList with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcMethodList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcMethodList with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GrpcMethodListMultiError, // or nil if none found. func (m *GrpcMethodList) ValidateAll() error { return m.validate(true) } func (m *GrpcMethodList) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return GrpcMethodListMultiError(errors) } return nil } // GrpcMethodListMultiError is an error wrapping multiple validation errors // returned by GrpcMethodList.ValidateAll() if the designated constraints // aren't met. type GrpcMethodListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcMethodListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcMethodListMultiError) AllErrors() []error { return m } // GrpcMethodListValidationError is the validation error returned by // GrpcMethodList.Validate if the designated constraints aren't met. type GrpcMethodListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcMethodListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcMethodListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcMethodListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcMethodListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcMethodListValidationError) ErrorName() string { return "GrpcMethodListValidationError" } // Error satisfies the builtin error interface func (e GrpcMethodListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcMethodList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcMethodListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcMethodListValidationError{} // Validate checks the field values on GrpcMethodList_Service with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcMethodList_Service) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcMethodList_Service with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcMethodList_ServiceMultiError, or nil if none found. func (m *GrpcMethodList_Service) ValidateAll() error { return m.validate(true) } func (m *GrpcMethodList_Service) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := GrpcMethodList_ServiceValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetMethodNames()) < 1 { err := GrpcMethodList_ServiceValidationError{ field: "MethodNames", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcMethodList_ServiceMultiError(errors) } return nil } // GrpcMethodList_ServiceMultiError is an error wrapping multiple validation // errors returned by GrpcMethodList_Service.ValidateAll() if the designated // constraints aren't met. type GrpcMethodList_ServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcMethodList_ServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcMethodList_ServiceMultiError) AllErrors() []error { return m } // GrpcMethodList_ServiceValidationError is the validation error returned by // GrpcMethodList_Service.Validate if the designated constraints aren't met. type GrpcMethodList_ServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcMethodList_ServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcMethodList_ServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcMethodList_ServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcMethodList_ServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcMethodList_ServiceValidationError) ErrorName() string { return "GrpcMethodList_ServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcMethodList_ServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcMethodList_Service.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcMethodList_ServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcMethodList_ServiceValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/grpc_service.pb.go000077500000000000000000002113611454502223200235520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/grpc_service.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC service configuration. This is used by :ref:`ApiConfigSource // ` and filter configurations. // [#next-free-field: 6] type GrpcService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to TargetSpecifier: // // *GrpcService_EnvoyGrpc_ // *GrpcService_GoogleGrpc_ TargetSpecifier isGrpcService_TargetSpecifier `protobuf_oneof:"target_specifier"` // The timeout for the gRPC request. This is the timeout for a specific // request. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // Additional metadata to include in streams initiated to the GrpcService. // This can be used for scenarios in which additional ad hoc authorization // headers (e.g. “x-foo-bar: baz-key“) are to be injected. InitialMetadata []*HeaderValue `protobuf:"bytes,5,rep,name=initial_metadata,json=initialMetadata,proto3" json:"initial_metadata,omitempty"` } func (x *GrpcService) Reset() { *x = GrpcService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService) ProtoMessage() {} func (x *GrpcService) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService.ProtoReflect.Descriptor instead. func (*GrpcService) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0} } func (m *GrpcService) GetTargetSpecifier() isGrpcService_TargetSpecifier { if m != nil { return m.TargetSpecifier } return nil } func (x *GrpcService) GetEnvoyGrpc() *GrpcService_EnvoyGrpc { if x, ok := x.GetTargetSpecifier().(*GrpcService_EnvoyGrpc_); ok { return x.EnvoyGrpc } return nil } func (x *GrpcService) GetGoogleGrpc() *GrpcService_GoogleGrpc { if x, ok := x.GetTargetSpecifier().(*GrpcService_GoogleGrpc_); ok { return x.GoogleGrpc } return nil } func (x *GrpcService) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *GrpcService) GetInitialMetadata() []*HeaderValue { if x != nil { return x.InitialMetadata } return nil } type isGrpcService_TargetSpecifier interface { isGrpcService_TargetSpecifier() } type GrpcService_EnvoyGrpc_ struct { // Envoy's in-built gRPC client. // See the :ref:`gRPC services overview ` // documentation for discussion on gRPC client selection. EnvoyGrpc *GrpcService_EnvoyGrpc `protobuf:"bytes,1,opt,name=envoy_grpc,json=envoyGrpc,proto3,oneof"` } type GrpcService_GoogleGrpc_ struct { // `Google C++ gRPC client `_ // See the :ref:`gRPC services overview ` // documentation for discussion on gRPC client selection. GoogleGrpc *GrpcService_GoogleGrpc `protobuf:"bytes,2,opt,name=google_grpc,json=googleGrpc,proto3,oneof"` } func (*GrpcService_EnvoyGrpc_) isGrpcService_TargetSpecifier() {} func (*GrpcService_GoogleGrpc_) isGrpcService_TargetSpecifier() {} type GrpcService_EnvoyGrpc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the upstream gRPC cluster. SSL credentials will be supplied // in the :ref:`Cluster ` :ref:`transport_socket // `. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` } func (x *GrpcService_EnvoyGrpc) Reset() { *x = GrpcService_EnvoyGrpc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_EnvoyGrpc) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_EnvoyGrpc) ProtoMessage() {} func (x *GrpcService_EnvoyGrpc) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_EnvoyGrpc.ProtoReflect.Descriptor instead. func (*GrpcService_EnvoyGrpc) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcService_EnvoyGrpc) GetClusterName() string { if x != nil { return x.ClusterName } return "" } // [#next-free-field: 7] type GrpcService_GoogleGrpc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The target URI when using the `Google C++ gRPC client // `_. SSL credentials will be supplied in // :ref:`channel_credentials `. TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"` ChannelCredentials *GrpcService_GoogleGrpc_ChannelCredentials `protobuf:"bytes,2,opt,name=channel_credentials,json=channelCredentials,proto3" json:"channel_credentials,omitempty"` // A set of call credentials that can be composed with `channel credentials // `_. CallCredentials []*GrpcService_GoogleGrpc_CallCredentials `protobuf:"bytes,3,rep,name=call_credentials,json=callCredentials,proto3" json:"call_credentials,omitempty"` // The human readable prefix to use when emitting statistics for the gRPC // service. // // .. csv-table:: // // :header: Name, Type, Description // :widths: 1, 1, 2 // // streams_total, Counter, Total number of streams opened // streams_closed_, Counter, Total streams closed with StatPrefix string `protobuf:"bytes,4,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The name of the Google gRPC credentials factory to use. This must have been registered with // Envoy. If this is empty, a default credentials factory will be used that sets up channel // credentials based on other configuration parameters. CredentialsFactoryName string `protobuf:"bytes,5,opt,name=credentials_factory_name,json=credentialsFactoryName,proto3" json:"credentials_factory_name,omitempty"` // Additional configuration for site-specific customizations of the Google // gRPC library. Config *_struct.Struct `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` } func (x *GrpcService_GoogleGrpc) Reset() { *x = GrpcService_GoogleGrpc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc) ProtoMessage() {} func (x *GrpcService_GoogleGrpc) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1} } func (x *GrpcService_GoogleGrpc) GetTargetUri() string { if x != nil { return x.TargetUri } return "" } func (x *GrpcService_GoogleGrpc) GetChannelCredentials() *GrpcService_GoogleGrpc_ChannelCredentials { if x != nil { return x.ChannelCredentials } return nil } func (x *GrpcService_GoogleGrpc) GetCallCredentials() []*GrpcService_GoogleGrpc_CallCredentials { if x != nil { return x.CallCredentials } return nil } func (x *GrpcService_GoogleGrpc) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *GrpcService_GoogleGrpc) GetCredentialsFactoryName() string { if x != nil { return x.CredentialsFactoryName } return "" } func (x *GrpcService_GoogleGrpc) GetConfig() *_struct.Struct { if x != nil { return x.Config } return nil } // See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html. type GrpcService_GoogleGrpc_SslCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // PEM encoded server root certificates. RootCerts *DataSource `protobuf:"bytes,1,opt,name=root_certs,json=rootCerts,proto3" json:"root_certs,omitempty"` // PEM encoded client private key. PrivateKey *DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // PEM encoded client certificate chain. CertChain *DataSource `protobuf:"bytes,3,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"` } func (x *GrpcService_GoogleGrpc_SslCredentials) Reset() { *x = GrpcService_GoogleGrpc_SslCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_SslCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_SslCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_SslCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_SslCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_SslCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 0} } func (x *GrpcService_GoogleGrpc_SslCredentials) GetRootCerts() *DataSource { if x != nil { return x.RootCerts } return nil } func (x *GrpcService_GoogleGrpc_SslCredentials) GetPrivateKey() *DataSource { if x != nil { return x.PrivateKey } return nil } func (x *GrpcService_GoogleGrpc_SslCredentials) GetCertChain() *DataSource { if x != nil { return x.CertChain } return nil } // Local channel credentials. Only UDS is supported for now. // See https://github.com/grpc/grpc/pull/15909. type GrpcService_GoogleGrpc_GoogleLocalCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) Reset() { *x = GrpcService_GoogleGrpc_GoogleLocalCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_GoogleLocalCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 1} } // See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call // credential types. type GrpcService_GoogleGrpc_ChannelCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to CredentialSpecifier: // // *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials // *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault // *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials CredentialSpecifier isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"` } func (x *GrpcService_GoogleGrpc_ChannelCredentials) Reset() { *x = GrpcService_GoogleGrpc_ChannelCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_ChannelCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_ChannelCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_ChannelCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_ChannelCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_ChannelCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 2} } func (m *GrpcService_GoogleGrpc_ChannelCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier { if m != nil { return m.CredentialSpecifier } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetSslCredentials() *GrpcService_GoogleGrpc_SslCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials); ok { return x.SslCredentials } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetGoogleDefault() *emptypb.Empty { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault); ok { return x.GoogleDefault } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetLocalCredentials() *GrpcService_GoogleGrpc_GoogleLocalCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials); ok { return x.LocalCredentials } return nil } type isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier interface { isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() } type GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials struct { SslCredentials *GrpcService_GoogleGrpc_SslCredentials `protobuf:"bytes,1,opt,name=ssl_credentials,json=sslCredentials,proto3,oneof"` } type GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault struct { // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61 GoogleDefault *emptypb.Empty `protobuf:"bytes,2,opt,name=google_default,json=googleDefault,proto3,oneof"` } type GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials struct { LocalCredentials *GrpcService_GoogleGrpc_GoogleLocalCredentials `protobuf:"bytes,3,opt,name=local_credentials,json=localCredentials,proto3,oneof"` } func (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } // [#next-free-field: 8] type GrpcService_GoogleGrpc_CallCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to CredentialSpecifier: // // *GrpcService_GoogleGrpc_CallCredentials_AccessToken // *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine // *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken // *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess // *GrpcService_GoogleGrpc_CallCredentials_GoogleIam // *GrpcService_GoogleGrpc_CallCredentials_FromPlugin // *GrpcService_GoogleGrpc_CallCredentials_StsService_ CredentialSpecifier isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"` } func (x *GrpcService_GoogleGrpc_CallCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3} } func (m *GrpcService_GoogleGrpc_CallCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier { if m != nil { return m.CredentialSpecifier } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetAccessToken() string { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_AccessToken); ok { return x.AccessToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleComputeEngine() *emptypb.Empty { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine); ok { return x.GoogleComputeEngine } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleRefreshToken() string { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken); ok { return x.GoogleRefreshToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials) GetServiceAccountJwtAccess() *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess); ok { return x.ServiceAccountJwtAccess } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleIam() *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleIam); ok { return x.GoogleIam } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetFromPlugin() *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_FromPlugin); ok { return x.FromPlugin } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetStsService() *GrpcService_GoogleGrpc_CallCredentials_StsService { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_StsService_); ok { return x.StsService } return nil } type isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier interface { isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() } type GrpcService_GoogleGrpc_CallCredentials_AccessToken struct { // Access token credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d. AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine struct { // Google Compute Engine credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61 GoogleComputeEngine *emptypb.Empty `protobuf:"bytes,2,opt,name=google_compute_engine,json=googleComputeEngine,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken struct { // Google refresh token credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c. GoogleRefreshToken string `protobuf:"bytes,3,opt,name=google_refresh_token,json=googleRefreshToken,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess struct { // Service Account JWT Access credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa. ServiceAccountJwtAccess *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials `protobuf:"bytes,4,opt,name=service_account_jwt_access,json=serviceAccountJwtAccess,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleIam struct { // Google IAM credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0. GoogleIam *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials `protobuf:"bytes,5,opt,name=google_iam,json=googleIam,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_FromPlugin struct { // Custom authenticator credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07. // https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms. FromPlugin *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin `protobuf:"bytes,6,opt,name=from_plugin,json=fromPlugin,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_StsService_ struct { // Custom security token service which implements OAuth 2.0 token exchange. // https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 // See https://github.com/grpc/grpc/pull/19587. StsService *GrpcService_GoogleGrpc_CallCredentials_StsService `protobuf:"bytes,7,opt,name=sts_service,json=stsService,proto3,oneof"` } func (*GrpcService_GoogleGrpc_CallCredentials_AccessToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_StsService_) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JsonKey string `protobuf:"bytes,1,opt,name=json_key,json=jsonKey,proto3" json:"json_key,omitempty"` TokenLifetimeSeconds uint64 `protobuf:"varint,2,opt,name=token_lifetime_seconds,json=tokenLifetimeSeconds,proto3" json:"token_lifetime_seconds,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 0} } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetJsonKey() string { if x != nil { return x.JsonKey } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetTokenLifetimeSeconds() uint64 { if x != nil { return x.TokenLifetimeSeconds } return 0 } type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AuthorizationToken string `protobuf:"bytes,1,opt,name=authorization_token,json=authorizationToken,proto3" json:"authorization_token,omitempty"` AuthoritySelector string `protobuf:"bytes,2,opt,name=authority_selector,json=authoritySelector,proto3" json:"authority_selector,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 1} } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthorizationToken() string { if x != nil { return x.AuthorizationToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthoritySelector() string { if x != nil { return x.AuthoritySelector } return "" } type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config // *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig ConfigType isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType `protobuf_oneof:"config_type"` } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 2} } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetName() string { if x != nil { return x.Name } return "" } func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetConfigType() isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/grpc_service.proto. func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config); ok { return x.Config } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig); ok { return x.TypedConfig } return nil } type isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType interface { isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() } type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/core/grpc_service.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() { } func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() { } // Security token service configuration that allows Google gRPC to // fetch security token from an OAuth 2.0 authorization server. // See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 and // https://github.com/grpc/grpc/pull/19587. // [#next-free-field: 10] type GrpcService_GoogleGrpc_CallCredentials_StsService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // URI of the token exchange service that handles token exchange requests. // [#comment:TODO(asraa): Add URI validation when implemented. Tracked by // https://github.com/bufbuild/protoc-gen-validate/issues/303] TokenExchangeServiceUri string `protobuf:"bytes,1,opt,name=token_exchange_service_uri,json=tokenExchangeServiceUri,proto3" json:"token_exchange_service_uri,omitempty"` // Location of the target service or resource where the client // intends to use the requested security token. Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` // Logical name of the target service where the client intends to // use the requested security token. Audience string `protobuf:"bytes,3,opt,name=audience,proto3" json:"audience,omitempty"` // The desired scope of the requested security token in the // context of the service or resource where the token will be used. Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` // Type of the requested security token. RequestedTokenType string `protobuf:"bytes,5,opt,name=requested_token_type,json=requestedTokenType,proto3" json:"requested_token_type,omitempty"` // The path of subject token, a security token that represents the // identity of the party on behalf of whom the request is being made. SubjectTokenPath string `protobuf:"bytes,6,opt,name=subject_token_path,json=subjectTokenPath,proto3" json:"subject_token_path,omitempty"` // Type of the subject token. SubjectTokenType string `protobuf:"bytes,7,opt,name=subject_token_type,json=subjectTokenType,proto3" json:"subject_token_type,omitempty"` // The path of actor token, a security token that represents the identity // of the acting party. The acting party is authorized to use the // requested security token and act on behalf of the subject. ActorTokenPath string `protobuf:"bytes,8,opt,name=actor_token_path,json=actorTokenPath,proto3" json:"actor_token_path,omitempty"` // Type of the actor token. ActorTokenType string `protobuf:"bytes,9,opt,name=actor_token_type,json=actorTokenType,proto3" json:"actor_token_type,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_StsService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_grpc_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_StsService.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_StsService) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 3} } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetTokenExchangeServiceUri() string { if x != nil { return x.TokenExchangeServiceUri } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetResource() string { if x != nil { return x.Resource } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetAudience() string { if x != nil { return x.Audience } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetScope() string { if x != nil { return x.Scope } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetRequestedTokenType() string { if x != nil { return x.RequestedTokenType } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenPath() string { if x != nil { return x.SubjectTokenPath } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenType() string { if x != nil { return x.SubjectTokenType } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenPath() string { if x != nil { return x.ActorTokenPath } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenType() string { if x != nil { return x.ActorTokenType } return "" } var File_envoy_api_v2_core_grpc_service_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_grpc_service_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x16, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x12, 0x4c, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xda, 0x13, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x26, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12, 0x6d, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd4, 0x01, 0x0a, 0x0e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x18, 0x0a, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xc8, 0x02, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x6f, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xfd, 0x0b, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x77, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x61, 0x6d, 0x12, 0x7a, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x67, 0x0a, 0x0b, 0x73, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x75, 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x76, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xb4, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x8b, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x17, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x42, 0x93, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_grpc_service_proto_rawDescOnce sync.Once file_envoy_api_v2_core_grpc_service_proto_rawDescData = file_envoy_api_v2_core_grpc_service_proto_rawDesc ) func file_envoy_api_v2_core_grpc_service_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_grpc_service_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_grpc_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_grpc_service_proto_rawDescData) }) return file_envoy_api_v2_core_grpc_service_proto_rawDescData } var file_envoy_api_v2_core_grpc_service_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_envoy_api_v2_core_grpc_service_proto_goTypes = []interface{}{ (*GrpcService)(nil), // 0: envoy.api.v2.core.GrpcService (*GrpcService_EnvoyGrpc)(nil), // 1: envoy.api.v2.core.GrpcService.EnvoyGrpc (*GrpcService_GoogleGrpc)(nil), // 2: envoy.api.v2.core.GrpcService.GoogleGrpc (*GrpcService_GoogleGrpc_SslCredentials)(nil), // 3: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials (*GrpcService_GoogleGrpc_GoogleLocalCredentials)(nil), // 4: envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials (*GrpcService_GoogleGrpc_ChannelCredentials)(nil), // 5: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials (*GrpcService_GoogleGrpc_CallCredentials)(nil), // 6: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials)(nil), // 7: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials)(nil), // 8: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin)(nil), // 9: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin (*GrpcService_GoogleGrpc_CallCredentials_StsService)(nil), // 10: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.StsService (*duration.Duration)(nil), // 11: google.protobuf.Duration (*HeaderValue)(nil), // 12: envoy.api.v2.core.HeaderValue (*_struct.Struct)(nil), // 13: google.protobuf.Struct (*DataSource)(nil), // 14: envoy.api.v2.core.DataSource (*emptypb.Empty)(nil), // 15: google.protobuf.Empty (*any1.Any)(nil), // 16: google.protobuf.Any } var file_envoy_api_v2_core_grpc_service_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.GrpcService.envoy_grpc:type_name -> envoy.api.v2.core.GrpcService.EnvoyGrpc 2, // 1: envoy.api.v2.core.GrpcService.google_grpc:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc 11, // 2: envoy.api.v2.core.GrpcService.timeout:type_name -> google.protobuf.Duration 12, // 3: envoy.api.v2.core.GrpcService.initial_metadata:type_name -> envoy.api.v2.core.HeaderValue 5, // 4: envoy.api.v2.core.GrpcService.GoogleGrpc.channel_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials 6, // 5: envoy.api.v2.core.GrpcService.GoogleGrpc.call_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials 13, // 6: envoy.api.v2.core.GrpcService.GoogleGrpc.config:type_name -> google.protobuf.Struct 14, // 7: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.root_certs:type_name -> envoy.api.v2.core.DataSource 14, // 8: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.private_key:type_name -> envoy.api.v2.core.DataSource 14, // 9: envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.cert_chain:type_name -> envoy.api.v2.core.DataSource 3, // 10: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.ssl_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials 15, // 11: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.google_default:type_name -> google.protobuf.Empty 4, // 12: envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.local_credentials:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials 15, // 13: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.google_compute_engine:type_name -> google.protobuf.Empty 7, // 14: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.service_account_jwt_access:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials 8, // 15: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.google_iam:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials 9, // 16: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.from_plugin:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin 10, // 17: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.sts_service:type_name -> envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.StsService 13, // 18: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.config:type_name -> google.protobuf.Struct 16, // 19: envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.typed_config:type_name -> google.protobuf.Any 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_grpc_service_proto_init() } func file_envoy_api_v2_core_grpc_service_proto_init() { if File_envoy_api_v2_core_grpc_service_proto != nil { return } file_envoy_api_v2_core_base_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_grpc_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_EnvoyGrpc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_SslCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_GoogleLocalCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_ChannelCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_StsService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_grpc_service_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GrpcService_EnvoyGrpc_)(nil), (*GrpcService_GoogleGrpc_)(nil), } file_envoy_api_v2_core_grpc_service_proto_msgTypes[5].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials)(nil), (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault)(nil), (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials)(nil), } file_envoy_api_v2_core_grpc_service_proto_msgTypes[6].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_CallCredentials_AccessToken)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken)(nil), (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam)(nil), (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin)(nil), (*GrpcService_GoogleGrpc_CallCredentials_StsService_)(nil), } file_envoy_api_v2_core_grpc_service_proto_msgTypes[9].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config)(nil), (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_grpc_service_proto_rawDesc, NumEnums: 0, NumMessages: 11, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_grpc_service_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_grpc_service_proto_depIdxs, MessageInfos: file_envoy_api_v2_core_grpc_service_proto_msgTypes, }.Build() File_envoy_api_v2_core_grpc_service_proto = out.File file_envoy_api_v2_core_grpc_service_proto_rawDesc = nil file_envoy_api_v2_core_grpc_service_proto_goTypes = nil file_envoy_api_v2_core_grpc_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/grpc_service.pb.validate.go000077500000000000000000001767661454502223200253650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/grpc_service.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GrpcServiceMultiError, or // nil if none found. func (m *GrpcService) ValidateAll() error { return m.validate(true) } func (m *GrpcService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetInitialMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofTargetSpecifierPresent := false switch v := m.TargetSpecifier.(type) { case *GrpcService_EnvoyGrpc_: if v == nil { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTargetSpecifierPresent = true if all { switch v := interface{}(m.GetEnvoyGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvoyGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_: if v == nil { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTargetSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTargetSpecifierPresent { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcServiceMultiError(errors) } return nil } // GrpcServiceMultiError is an error wrapping multiple validation errors // returned by GrpcService.ValidateAll() if the designated constraints aren't met. type GrpcServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcServiceMultiError) AllErrors() []error { return m } // GrpcServiceValidationError is the validation error returned by // GrpcService.Validate if the designated constraints aren't met. type GrpcServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcServiceValidationError) ErrorName() string { return "GrpcServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcServiceValidationError{} // Validate checks the field values on GrpcService_EnvoyGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_EnvoyGrpc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_EnvoyGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_EnvoyGrpcMultiError, or nil if none found. func (m *GrpcService_EnvoyGrpc) ValidateAll() error { return m.validate(true) } func (m *GrpcService_EnvoyGrpc) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusterName()) < 1 { err := GrpcService_EnvoyGrpcValidationError{ field: "ClusterName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_EnvoyGrpcMultiError(errors) } return nil } // GrpcService_EnvoyGrpcMultiError is an error wrapping multiple validation // errors returned by GrpcService_EnvoyGrpc.ValidateAll() if the designated // constraints aren't met. type GrpcService_EnvoyGrpcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_EnvoyGrpcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_EnvoyGrpcMultiError) AllErrors() []error { return m } // GrpcService_EnvoyGrpcValidationError is the validation error returned by // GrpcService_EnvoyGrpc.Validate if the designated constraints aren't met. type GrpcService_EnvoyGrpcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_EnvoyGrpcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_EnvoyGrpcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_EnvoyGrpcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_EnvoyGrpcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_EnvoyGrpcValidationError) ErrorName() string { return "GrpcService_EnvoyGrpcValidationError" } // Error satisfies the builtin error interface func (e GrpcService_EnvoyGrpcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_EnvoyGrpc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_EnvoyGrpcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_EnvoyGrpcValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_GoogleGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpcMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetTargetUri()) < 1 { err := GrpcService_GoogleGrpcValidationError{ field: "TargetUri", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetChannelCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetChannelCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCallCredentials() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetStatPrefix()) < 1 { err := GrpcService_GoogleGrpcValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for CredentialsFactoryName if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcService_GoogleGrpcMultiError(errors) } return nil } // GrpcService_GoogleGrpcMultiError is an error wrapping multiple validation // errors returned by GrpcService_GoogleGrpc.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpcMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpcValidationError is the validation error returned by // GrpcService_GoogleGrpc.Validate if the designated constraints aren't met. type GrpcService_GoogleGrpcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpcValidationError) ErrorName() string { return "GrpcService_GoogleGrpcValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpcValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_SslCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_SslCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_GoogleGrpc_SslCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_SslCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_SslCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_SslCredentials) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRootCerts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRootCerts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCertChain()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCertChain()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcService_GoogleGrpc_SslCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_SslCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_SslCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_SslCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_SslCredentialsValidationError is the validation error // returned by GrpcService_GoogleGrpc_SslCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_SslCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_SslCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_SslCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_SslCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_SslCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_GoogleLocalCredentials.ValidateAll() if the // designated constraints aren't met. type GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError is the // validation error returned by // GrpcService_GoogleGrpc_GoogleLocalCredentials.Validate if the designated // constraints aren't met. type GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_GoogleLocalCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_ChannelCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcService_GoogleGrpc_ChannelCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_ChannelCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error { if m == nil { return nil } var errors []error oneofCredentialSpecifierPresent := false switch v := m.CredentialSpecifier.(type) { case *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetSslCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSslCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleDefault()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleDefault()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetLocalCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofCredentialSpecifierPresent { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_GoogleGrpc_ChannelCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_ChannelCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_ChannelCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_ChannelCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_ChannelCredentialsValidationError is the validation // error returned by GrpcService_GoogleGrpc_ChannelCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_ChannelCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_ChannelCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_ChannelCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_CallCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error { if m == nil { return nil } var errors []error oneofCredentialSpecifierPresent := false switch v := m.CredentialSpecifier.(type) { case *GrpcService_GoogleGrpc_CallCredentials_AccessToken: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true // no validation rules for AccessToken case *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleComputeEngine()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleComputeEngine()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true // no validation rules for GoogleRefreshToken case *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetServiceAccountJwtAccess()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServiceAccountJwtAccess()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_GoogleIam: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleIam()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleIam()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_FromPlugin: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetFromPlugin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFromPlugin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_StsService_: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetStsService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStsService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofCredentialSpecifierPresent { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_CallCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentialsValidationError is the validation // error returned by GrpcService_GoogleGrpc_CallCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError, // or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for JsonKey // no validation rules for TokenLifetimeSeconds if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError // is an error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.Validate // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError, or // nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AuthorizationToken // no validation rules for AuthoritySelector if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError is an // error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError, // or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_Config: if v == nil { err := GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig: if v == nil { err := GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError // is an error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.Validate // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TokenExchangeServiceUri // no validation rules for Resource // no validation rules for Audience // no validation rules for Scope // no validation rules for RequestedTokenType if len(m.GetSubjectTokenPath()) < 1 { err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{ field: "SubjectTokenPath", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetSubjectTokenType()) < 1 { err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{ field: "SubjectTokenType", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ActorTokenPath // no validation rules for ActorTokenType if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError is an error // wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_StsService.ValidateAll() if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError is the // validation error returned by // GrpcService_GoogleGrpc_CallCredentials_StsService.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_StsService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/health_check.pb.go000077500000000000000000002015641454502223200235050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/health_check.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _type "github.com/envoyproxy/go-control-plane/envoy/type" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Endpoint health status. type HealthStatus int32 const ( // The health status is not known. This is interpreted by Envoy as *HEALTHY*. HealthStatus_UNKNOWN HealthStatus = 0 // Healthy. HealthStatus_HEALTHY HealthStatus = 1 // Unhealthy. HealthStatus_UNHEALTHY HealthStatus = 2 // Connection draining in progress. E.g., // ``_ // or // ``_. // This is interpreted by Envoy as *UNHEALTHY*. HealthStatus_DRAINING HealthStatus = 3 // Health check timed out. This is part of HDS and is interpreted by Envoy as // *UNHEALTHY*. HealthStatus_TIMEOUT HealthStatus = 4 // Degraded. HealthStatus_DEGRADED HealthStatus = 5 ) // Enum value maps for HealthStatus. var ( HealthStatus_name = map[int32]string{ 0: "UNKNOWN", 1: "HEALTHY", 2: "UNHEALTHY", 3: "DRAINING", 4: "TIMEOUT", 5: "DEGRADED", } HealthStatus_value = map[string]int32{ "UNKNOWN": 0, "HEALTHY": 1, "UNHEALTHY": 2, "DRAINING": 3, "TIMEOUT": 4, "DEGRADED": 5, } ) func (x HealthStatus) Enum() *HealthStatus { p := new(HealthStatus) *p = x return p } func (x HealthStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_health_check_proto_enumTypes[0].Descriptor() } func (HealthStatus) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_health_check_proto_enumTypes[0] } func (x HealthStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthStatus.Descriptor instead. func (HealthStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0} } // [#next-free-field: 23] type HealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The time to wait for a health check response. If the timeout is reached the // health check attempt will be considered a failure. Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` // The interval between health checks. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // An optional jitter amount in milliseconds. If specified, Envoy will start health // checking after for a random time in ms between 0 and initial_jitter. This only // applies to the first health check. InitialJitter *duration.Duration `protobuf:"bytes,20,opt,name=initial_jitter,json=initialJitter,proto3" json:"initial_jitter,omitempty"` // An optional jitter amount in milliseconds. If specified, during every // interval Envoy will add interval_jitter to the wait time. IntervalJitter *duration.Duration `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"` // An optional jitter amount as a percentage of interval_ms. If specified, // during every interval Envoy will add interval_ms * // interval_jitter_percent / 100 to the wait time. // // If interval_jitter_ms and interval_jitter_percent are both set, both of // them will be used to increase the wait time. IntervalJitterPercent uint32 `protobuf:"varint,18,opt,name=interval_jitter_percent,json=intervalJitterPercent,proto3" json:"interval_jitter_percent,omitempty"` // The number of unhealthy health checks required before a host is marked // unhealthy. Note that for *http* health checking if a host responds with 503 // this threshold is ignored and the host is considered unhealthy immediately. UnhealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=unhealthy_threshold,json=unhealthyThreshold,proto3" json:"unhealthy_threshold,omitempty"` // The number of healthy health checks required before a host is marked // healthy. Note that during startup, only a single successful health check is // required to mark a host healthy. HealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=healthy_threshold,json=healthyThreshold,proto3" json:"healthy_threshold,omitempty"` // [#not-implemented-hide:] Non-serving port for health checking. AltPort *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=alt_port,json=altPort,proto3" json:"alt_port,omitempty"` // Reuse health check connection between health checks. Default is true. ReuseConnection *wrappers.BoolValue `protobuf:"bytes,7,opt,name=reuse_connection,json=reuseConnection,proto3" json:"reuse_connection,omitempty"` // Types that are assignable to HealthChecker: // // *HealthCheck_HttpHealthCheck_ // *HealthCheck_TcpHealthCheck_ // *HealthCheck_GrpcHealthCheck_ // *HealthCheck_CustomHealthCheck_ HealthChecker isHealthCheck_HealthChecker `protobuf_oneof:"health_checker"` // The "no traffic interval" is a special health check interval that is used when a cluster has // never had traffic routed to it. This lower interval allows cluster information to be kept up to // date, without sending a potentially large amount of active health checking traffic for no // reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the // standard health check interval that is defined. Note that this interval takes precedence over // any other. // // The default value for "no traffic interval" is 60 seconds. NoTrafficInterval *duration.Duration `protobuf:"bytes,12,opt,name=no_traffic_interval,json=noTrafficInterval,proto3" json:"no_traffic_interval,omitempty"` // The "unhealthy interval" is a health check interval that is used for hosts that are marked as // unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the // standard health check interval that is defined. // // The default value for "unhealthy interval" is the same as "interval". UnhealthyInterval *duration.Duration `protobuf:"bytes,14,opt,name=unhealthy_interval,json=unhealthyInterval,proto3" json:"unhealthy_interval,omitempty"` // The "unhealthy edge interval" is a special health check interval that is used for the first // health check right after a host is marked as unhealthy. For subsequent health checks // Envoy will shift back to using either "unhealthy interval" if present or the standard health // check interval that is defined. // // The default value for "unhealthy edge interval" is the same as "unhealthy interval". UnhealthyEdgeInterval *duration.Duration `protobuf:"bytes,15,opt,name=unhealthy_edge_interval,json=unhealthyEdgeInterval,proto3" json:"unhealthy_edge_interval,omitempty"` // The "healthy edge interval" is a special health check interval that is used for the first // health check right after a host is marked as healthy. For subsequent health checks // Envoy will shift back to using the standard health check interval that is defined. // // The default value for "healthy edge interval" is the same as the default interval. HealthyEdgeInterval *duration.Duration `protobuf:"bytes,16,opt,name=healthy_edge_interval,json=healthyEdgeInterval,proto3" json:"healthy_edge_interval,omitempty"` // Specifies the path to the :ref:`health check event log `. // If empty, no event log will be written. EventLogPath string `protobuf:"bytes,17,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"` // [#not-implemented-hide:] // The gRPC service for the health check event service. // If empty, health check events won't be sent to a remote endpoint. EventService *EventServiceConfig `protobuf:"bytes,22,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"` // If set to true, health check failure events will always be logged. If set to false, only the // initial health check failure event will be logged. // The default value is false. AlwaysLogHealthCheckFailures bool `protobuf:"varint,19,opt,name=always_log_health_check_failures,json=alwaysLogHealthCheckFailures,proto3" json:"always_log_health_check_failures,omitempty"` // This allows overriding the cluster TLS settings, just for health check connections. TlsOptions *HealthCheck_TlsOptions `protobuf:"bytes,21,opt,name=tls_options,json=tlsOptions,proto3" json:"tls_options,omitempty"` } func (x *HealthCheck) Reset() { *x = HealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck) ProtoMessage() {} func (x *HealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0} } func (x *HealthCheck) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *HealthCheck) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *HealthCheck) GetInitialJitter() *duration.Duration { if x != nil { return x.InitialJitter } return nil } func (x *HealthCheck) GetIntervalJitter() *duration.Duration { if x != nil { return x.IntervalJitter } return nil } func (x *HealthCheck) GetIntervalJitterPercent() uint32 { if x != nil { return x.IntervalJitterPercent } return 0 } func (x *HealthCheck) GetUnhealthyThreshold() *wrappers.UInt32Value { if x != nil { return x.UnhealthyThreshold } return nil } func (x *HealthCheck) GetHealthyThreshold() *wrappers.UInt32Value { if x != nil { return x.HealthyThreshold } return nil } func (x *HealthCheck) GetAltPort() *wrappers.UInt32Value { if x != nil { return x.AltPort } return nil } func (x *HealthCheck) GetReuseConnection() *wrappers.BoolValue { if x != nil { return x.ReuseConnection } return nil } func (m *HealthCheck) GetHealthChecker() isHealthCheck_HealthChecker { if m != nil { return m.HealthChecker } return nil } func (x *HealthCheck) GetHttpHealthCheck() *HealthCheck_HttpHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_HttpHealthCheck_); ok { return x.HttpHealthCheck } return nil } func (x *HealthCheck) GetTcpHealthCheck() *HealthCheck_TcpHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_TcpHealthCheck_); ok { return x.TcpHealthCheck } return nil } func (x *HealthCheck) GetGrpcHealthCheck() *HealthCheck_GrpcHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_GrpcHealthCheck_); ok { return x.GrpcHealthCheck } return nil } func (x *HealthCheck) GetCustomHealthCheck() *HealthCheck_CustomHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_CustomHealthCheck_); ok { return x.CustomHealthCheck } return nil } func (x *HealthCheck) GetNoTrafficInterval() *duration.Duration { if x != nil { return x.NoTrafficInterval } return nil } func (x *HealthCheck) GetUnhealthyInterval() *duration.Duration { if x != nil { return x.UnhealthyInterval } return nil } func (x *HealthCheck) GetUnhealthyEdgeInterval() *duration.Duration { if x != nil { return x.UnhealthyEdgeInterval } return nil } func (x *HealthCheck) GetHealthyEdgeInterval() *duration.Duration { if x != nil { return x.HealthyEdgeInterval } return nil } func (x *HealthCheck) GetEventLogPath() string { if x != nil { return x.EventLogPath } return "" } func (x *HealthCheck) GetEventService() *EventServiceConfig { if x != nil { return x.EventService } return nil } func (x *HealthCheck) GetAlwaysLogHealthCheckFailures() bool { if x != nil { return x.AlwaysLogHealthCheckFailures } return false } func (x *HealthCheck) GetTlsOptions() *HealthCheck_TlsOptions { if x != nil { return x.TlsOptions } return nil } type isHealthCheck_HealthChecker interface { isHealthCheck_HealthChecker() } type HealthCheck_HttpHealthCheck_ struct { // HTTP health check. HttpHealthCheck *HealthCheck_HttpHealthCheck `protobuf:"bytes,8,opt,name=http_health_check,json=httpHealthCheck,proto3,oneof"` } type HealthCheck_TcpHealthCheck_ struct { // TCP health check. TcpHealthCheck *HealthCheck_TcpHealthCheck `protobuf:"bytes,9,opt,name=tcp_health_check,json=tcpHealthCheck,proto3,oneof"` } type HealthCheck_GrpcHealthCheck_ struct { // gRPC health check. GrpcHealthCheck *HealthCheck_GrpcHealthCheck `protobuf:"bytes,11,opt,name=grpc_health_check,json=grpcHealthCheck,proto3,oneof"` } type HealthCheck_CustomHealthCheck_ struct { // Custom health check. CustomHealthCheck *HealthCheck_CustomHealthCheck `protobuf:"bytes,13,opt,name=custom_health_check,json=customHealthCheck,proto3,oneof"` } func (*HealthCheck_HttpHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_TcpHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_GrpcHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_CustomHealthCheck_) isHealthCheck_HealthChecker() {} // Describes the encoding of the payload bytes in the payload. type HealthCheck_Payload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Payload: // // *HealthCheck_Payload_Text // *HealthCheck_Payload_Binary Payload isHealthCheck_Payload_Payload `protobuf_oneof:"payload"` } func (x *HealthCheck_Payload) Reset() { *x = HealthCheck_Payload{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_Payload) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_Payload) ProtoMessage() {} func (x *HealthCheck_Payload) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_Payload.ProtoReflect.Descriptor instead. func (*HealthCheck_Payload) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 0} } func (m *HealthCheck_Payload) GetPayload() isHealthCheck_Payload_Payload { if m != nil { return m.Payload } return nil } func (x *HealthCheck_Payload) GetText() string { if x, ok := x.GetPayload().(*HealthCheck_Payload_Text); ok { return x.Text } return "" } func (x *HealthCheck_Payload) GetBinary() []byte { if x, ok := x.GetPayload().(*HealthCheck_Payload_Binary); ok { return x.Binary } return nil } type isHealthCheck_Payload_Payload interface { isHealthCheck_Payload_Payload() } type HealthCheck_Payload_Text struct { // Hex encoded payload. E.g., "000000FF". Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` } type HealthCheck_Payload_Binary struct { // [#not-implemented-hide:] Binary payload. Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"` } func (*HealthCheck_Payload_Text) isHealthCheck_Payload_Payload() {} func (*HealthCheck_Payload_Binary) isHealthCheck_Payload_Payload() {} // [#next-free-field: 12] type HealthCheck_HttpHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value of the host header in the HTTP health check request. If // left empty (default value), the name of the cluster this health check is associated // with will be used. The host header can be customized for a specific endpoint by setting the // :ref:`hostname ` field. Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Specifies the HTTP path that will be requested during health checking. For example // */healthcheck*. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // [#not-implemented-hide:] HTTP specific payload. Send *HealthCheck_Payload `protobuf:"bytes,3,opt,name=send,proto3" json:"send,omitempty"` // [#not-implemented-hide:] HTTP specific response. Receive *HealthCheck_Payload `protobuf:"bytes,4,opt,name=receive,proto3" json:"receive,omitempty"` // An optional service name parameter which is used to validate the identity of // the health checked cluster. See the :ref:`architecture overview // ` for more information. // // .. attention:: // // This field has been deprecated in favor of `service_name_matcher` for better flexibility // over matching with service-cluster name. // // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. ServiceName string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Specifies a list of HTTP headers that should be added to each request that is sent to the // health checked cluster. For more information, including details on header value syntax, see // the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request that is sent to the // health checked cluster. RequestHeadersToRemove []string `protobuf:"bytes,8,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // If set, health checks will be made using http/2. // Deprecated, use :ref:`codec_client_type // ` instead. // // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. UseHttp2 bool `protobuf:"varint,7,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"` // Specifies a list of HTTP response statuses considered healthy. If provided, replaces default // 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open // semantics of :ref:`Int64Range `. The start and end of each // range are required. Only statuses in the range [100, 600) are allowed. ExpectedStatuses []*_type.Int64Range `protobuf:"bytes,9,rep,name=expected_statuses,json=expectedStatuses,proto3" json:"expected_statuses,omitempty"` // Use specified application protocol for health checks. CodecClientType _type.CodecClientType `protobuf:"varint,10,opt,name=codec_client_type,json=codecClientType,proto3,enum=envoy.type.CodecClientType" json:"codec_client_type,omitempty"` // An optional service name parameter which is used to validate the identity of // the health checked cluster using a :ref:`StringMatcher // `. See the :ref:`architecture overview // ` for more information. ServiceNameMatcher *matcher.StringMatcher `protobuf:"bytes,11,opt,name=service_name_matcher,json=serviceNameMatcher,proto3" json:"service_name_matcher,omitempty"` } func (x *HealthCheck_HttpHealthCheck) Reset() { *x = HealthCheck_HttpHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_HttpHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_HttpHealthCheck) ProtoMessage() {} func (x *HealthCheck_HttpHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_HttpHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_HttpHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 1} } func (x *HealthCheck_HttpHealthCheck) GetHost() string { if x != nil { return x.Host } return "" } func (x *HealthCheck_HttpHealthCheck) GetPath() string { if x != nil { return x.Path } return "" } func (x *HealthCheck_HttpHealthCheck) GetSend() *HealthCheck_Payload { if x != nil { return x.Send } return nil } func (x *HealthCheck_HttpHealthCheck) GetReceive() *HealthCheck_Payload { if x != nil { return x.Receive } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. func (x *HealthCheck_HttpHealthCheck) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToAdd() []*HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. func (x *HealthCheck_HttpHealthCheck) GetUseHttp2() bool { if x != nil { return x.UseHttp2 } return false } func (x *HealthCheck_HttpHealthCheck) GetExpectedStatuses() []*_type.Int64Range { if x != nil { return x.ExpectedStatuses } return nil } func (x *HealthCheck_HttpHealthCheck) GetCodecClientType() _type.CodecClientType { if x != nil { return x.CodecClientType } return _type.CodecClientType(0) } func (x *HealthCheck_HttpHealthCheck) GetServiceNameMatcher() *matcher.StringMatcher { if x != nil { return x.ServiceNameMatcher } return nil } type HealthCheck_TcpHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Empty payloads imply a connect-only health check. Send *HealthCheck_Payload `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` // When checking the response, “fuzzy” matching is performed such that each // binary block must be found, and in the order specified, but not // necessarily contiguous. Receive []*HealthCheck_Payload `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` } func (x *HealthCheck_TcpHealthCheck) Reset() { *x = HealthCheck_TcpHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_TcpHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_TcpHealthCheck) ProtoMessage() {} func (x *HealthCheck_TcpHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_TcpHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_TcpHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 2} } func (x *HealthCheck_TcpHealthCheck) GetSend() *HealthCheck_Payload { if x != nil { return x.Send } return nil } func (x *HealthCheck_TcpHealthCheck) GetReceive() []*HealthCheck_Payload { if x != nil { return x.Receive } return nil } type HealthCheck_RedisHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, optionally perform “EXISTS “ instead of “PING“. A return value // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance // by setting the specified key to any value and waiting for traffic to drain. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *HealthCheck_RedisHealthCheck) Reset() { *x = HealthCheck_RedisHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_RedisHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_RedisHealthCheck) ProtoMessage() {} func (x *HealthCheck_RedisHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_RedisHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_RedisHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 3} } func (x *HealthCheck_RedisHealthCheck) GetKey() string { if x != nil { return x.Key } return "" } // `grpc.health.v1.Health // `_-based // healthcheck. See `gRPC doc `_ // for details. type HealthCheck_GrpcHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional service name parameter which will be sent to gRPC service in // `grpc.health.v1.HealthCheckRequest // `_. // message. See `gRPC health-checking overview // `_ for more information. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The value of the :authority header in the gRPC health check request. If // left empty (default value), the name of the cluster this health check is associated // with will be used. The authority header can be customized for a specific endpoint by setting // the :ref:`hostname ` field. Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` } func (x *HealthCheck_GrpcHealthCheck) Reset() { *x = HealthCheck_GrpcHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_GrpcHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_GrpcHealthCheck) ProtoMessage() {} func (x *HealthCheck_GrpcHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_GrpcHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_GrpcHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 4} } func (x *HealthCheck_GrpcHealthCheck) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *HealthCheck_GrpcHealthCheck) GetAuthority() string { if x != nil { return x.Authority } return "" } // Custom health check. type HealthCheck_CustomHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The registered name of the custom health checker. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A custom health checker specific configuration which depends on the custom health checker // being instantiated. See :api:`envoy/config/health_checker` for reference. // // Types that are assignable to ConfigType: // // *HealthCheck_CustomHealthCheck_Config // *HealthCheck_CustomHealthCheck_TypedConfig ConfigType isHealthCheck_CustomHealthCheck_ConfigType `protobuf_oneof:"config_type"` } func (x *HealthCheck_CustomHealthCheck) Reset() { *x = HealthCheck_CustomHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_CustomHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_CustomHealthCheck) ProtoMessage() {} func (x *HealthCheck_CustomHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_CustomHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_CustomHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 5} } func (x *HealthCheck_CustomHealthCheck) GetName() string { if x != nil { return x.Name } return "" } func (m *HealthCheck_CustomHealthCheck) GetConfigType() isHealthCheck_CustomHealthCheck_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. func (x *HealthCheck_CustomHealthCheck) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_Config); ok { return x.Config } return nil } func (x *HealthCheck_CustomHealthCheck) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_TypedConfig); ok { return x.TypedConfig } return nil } type isHealthCheck_CustomHealthCheck_ConfigType interface { isHealthCheck_CustomHealthCheck_ConfigType() } type HealthCheck_CustomHealthCheck_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/core/health_check.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type HealthCheck_CustomHealthCheck_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*HealthCheck_CustomHealthCheck_Config) isHealthCheck_CustomHealthCheck_ConfigType() {} func (*HealthCheck_CustomHealthCheck_TypedConfig) isHealthCheck_CustomHealthCheck_ConfigType() {} // Health checks occur over the transport socket specified for the cluster. This implies that if a // cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. // // This allows overriding the cluster TLS settings, just for health check connections. type HealthCheck_TlsOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the ALPN protocols for health check connections. This is useful if the // corresponding upstream is using ALPN-based :ref:`FilterChainMatch // ` along with different protocols for health checks // versus data connections. If empty, no ALPN protocols will be set on health check connections. AlpnProtocols []string `protobuf:"bytes,1,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"` } func (x *HealthCheck_TlsOptions) Reset() { *x = HealthCheck_TlsOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_TlsOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_TlsOptions) ProtoMessage() {} func (x *HealthCheck_TlsOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_health_check_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_TlsOptions.ProtoReflect.Descriptor instead. func (*HealthCheck_TlsOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_health_check_proto_rawDescGZIP(), []int{0, 6} } func (x *HealthCheck_TlsOptions) GetAlpnProtocols() []string { if x != nil { return x.AlpnProtocols } return nil } var File_envoy_api_v2_core_health_check_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_health_check_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x16, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x13, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x53, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x59, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x5c, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x62, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x53, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x6e, 0x6f, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x17, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x57, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x42, 0x0e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x9c, 0x05, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x32, 0x12, 0x43, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x8e, 0x01, 0x0a, 0x0e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x24, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x52, 0x0a, 0x0f, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0xb1, 0x01, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x33, 0x0a, 0x0a, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x2a, 0x60, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0x05, 0x42, 0x93, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_health_check_proto_rawDescOnce sync.Once file_envoy_api_v2_core_health_check_proto_rawDescData = file_envoy_api_v2_core_health_check_proto_rawDesc ) func file_envoy_api_v2_core_health_check_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_health_check_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_health_check_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_health_check_proto_rawDescData) }) return file_envoy_api_v2_core_health_check_proto_rawDescData } var file_envoy_api_v2_core_health_check_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_core_health_check_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_api_v2_core_health_check_proto_goTypes = []interface{}{ (HealthStatus)(0), // 0: envoy.api.v2.core.HealthStatus (*HealthCheck)(nil), // 1: envoy.api.v2.core.HealthCheck (*HealthCheck_Payload)(nil), // 2: envoy.api.v2.core.HealthCheck.Payload (*HealthCheck_HttpHealthCheck)(nil), // 3: envoy.api.v2.core.HealthCheck.HttpHealthCheck (*HealthCheck_TcpHealthCheck)(nil), // 4: envoy.api.v2.core.HealthCheck.TcpHealthCheck (*HealthCheck_RedisHealthCheck)(nil), // 5: envoy.api.v2.core.HealthCheck.RedisHealthCheck (*HealthCheck_GrpcHealthCheck)(nil), // 6: envoy.api.v2.core.HealthCheck.GrpcHealthCheck (*HealthCheck_CustomHealthCheck)(nil), // 7: envoy.api.v2.core.HealthCheck.CustomHealthCheck (*HealthCheck_TlsOptions)(nil), // 8: envoy.api.v2.core.HealthCheck.TlsOptions (*duration.Duration)(nil), // 9: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 10: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue (*EventServiceConfig)(nil), // 12: envoy.api.v2.core.EventServiceConfig (*HeaderValueOption)(nil), // 13: envoy.api.v2.core.HeaderValueOption (*_type.Int64Range)(nil), // 14: envoy.type.Int64Range (_type.CodecClientType)(0), // 15: envoy.type.CodecClientType (*matcher.StringMatcher)(nil), // 16: envoy.type.matcher.StringMatcher (*_struct.Struct)(nil), // 17: google.protobuf.Struct (*any1.Any)(nil), // 18: google.protobuf.Any } var file_envoy_api_v2_core_health_check_proto_depIdxs = []int32{ 9, // 0: envoy.api.v2.core.HealthCheck.timeout:type_name -> google.protobuf.Duration 9, // 1: envoy.api.v2.core.HealthCheck.interval:type_name -> google.protobuf.Duration 9, // 2: envoy.api.v2.core.HealthCheck.initial_jitter:type_name -> google.protobuf.Duration 9, // 3: envoy.api.v2.core.HealthCheck.interval_jitter:type_name -> google.protobuf.Duration 10, // 4: envoy.api.v2.core.HealthCheck.unhealthy_threshold:type_name -> google.protobuf.UInt32Value 10, // 5: envoy.api.v2.core.HealthCheck.healthy_threshold:type_name -> google.protobuf.UInt32Value 10, // 6: envoy.api.v2.core.HealthCheck.alt_port:type_name -> google.protobuf.UInt32Value 11, // 7: envoy.api.v2.core.HealthCheck.reuse_connection:type_name -> google.protobuf.BoolValue 3, // 8: envoy.api.v2.core.HealthCheck.http_health_check:type_name -> envoy.api.v2.core.HealthCheck.HttpHealthCheck 4, // 9: envoy.api.v2.core.HealthCheck.tcp_health_check:type_name -> envoy.api.v2.core.HealthCheck.TcpHealthCheck 6, // 10: envoy.api.v2.core.HealthCheck.grpc_health_check:type_name -> envoy.api.v2.core.HealthCheck.GrpcHealthCheck 7, // 11: envoy.api.v2.core.HealthCheck.custom_health_check:type_name -> envoy.api.v2.core.HealthCheck.CustomHealthCheck 9, // 12: envoy.api.v2.core.HealthCheck.no_traffic_interval:type_name -> google.protobuf.Duration 9, // 13: envoy.api.v2.core.HealthCheck.unhealthy_interval:type_name -> google.protobuf.Duration 9, // 14: envoy.api.v2.core.HealthCheck.unhealthy_edge_interval:type_name -> google.protobuf.Duration 9, // 15: envoy.api.v2.core.HealthCheck.healthy_edge_interval:type_name -> google.protobuf.Duration 12, // 16: envoy.api.v2.core.HealthCheck.event_service:type_name -> envoy.api.v2.core.EventServiceConfig 8, // 17: envoy.api.v2.core.HealthCheck.tls_options:type_name -> envoy.api.v2.core.HealthCheck.TlsOptions 2, // 18: envoy.api.v2.core.HealthCheck.HttpHealthCheck.send:type_name -> envoy.api.v2.core.HealthCheck.Payload 2, // 19: envoy.api.v2.core.HealthCheck.HttpHealthCheck.receive:type_name -> envoy.api.v2.core.HealthCheck.Payload 13, // 20: envoy.api.v2.core.HealthCheck.HttpHealthCheck.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 14, // 21: envoy.api.v2.core.HealthCheck.HttpHealthCheck.expected_statuses:type_name -> envoy.type.Int64Range 15, // 22: envoy.api.v2.core.HealthCheck.HttpHealthCheck.codec_client_type:type_name -> envoy.type.CodecClientType 16, // 23: envoy.api.v2.core.HealthCheck.HttpHealthCheck.service_name_matcher:type_name -> envoy.type.matcher.StringMatcher 2, // 24: envoy.api.v2.core.HealthCheck.TcpHealthCheck.send:type_name -> envoy.api.v2.core.HealthCheck.Payload 2, // 25: envoy.api.v2.core.HealthCheck.TcpHealthCheck.receive:type_name -> envoy.api.v2.core.HealthCheck.Payload 17, // 26: envoy.api.v2.core.HealthCheck.CustomHealthCheck.config:type_name -> google.protobuf.Struct 18, // 27: envoy.api.v2.core.HealthCheck.CustomHealthCheck.typed_config:type_name -> google.protobuf.Any 28, // [28:28] is the sub-list for method output_type 28, // [28:28] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_health_check_proto_init() } func file_envoy_api_v2_core_health_check_proto_init() { if File_envoy_api_v2_core_health_check_proto != nil { return } file_envoy_api_v2_core_base_proto_init() file_envoy_api_v2_core_event_service_config_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_health_check_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_Payload); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_HttpHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_TcpHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_RedisHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_GrpcHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_CustomHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_health_check_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_TlsOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_health_check_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HealthCheck_HttpHealthCheck_)(nil), (*HealthCheck_TcpHealthCheck_)(nil), (*HealthCheck_GrpcHealthCheck_)(nil), (*HealthCheck_CustomHealthCheck_)(nil), } file_envoy_api_v2_core_health_check_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HealthCheck_Payload_Text)(nil), (*HealthCheck_Payload_Binary)(nil), } file_envoy_api_v2_core_health_check_proto_msgTypes[6].OneofWrappers = []interface{}{ (*HealthCheck_CustomHealthCheck_Config)(nil), (*HealthCheck_CustomHealthCheck_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_health_check_proto_rawDesc, NumEnums: 1, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_health_check_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_health_check_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_health_check_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_health_check_proto_msgTypes, }.Build() File_envoy_api_v2_core_health_check_proto = out.File file_envoy_api_v2_core_health_check_proto_rawDesc = nil file_envoy_api_v2_core_health_check_proto_goTypes = nil file_envoy_api_v2_core_health_check_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/health_check.pb.validate.go000077500000000000000000001455631454502223200253030ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/health_check.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" _type "github.com/envoyproxy/go-control-plane/envoy/type" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = _type.CodecClientType(0) ) // Validate checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HealthCheckMultiError, or // nil if none found. func (m *HealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTimeout() == nil { err := HealthCheckValidationError{ field: "Timeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "Timeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "Timeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if m.GetInterval() == nil { err := HealthCheckValidationError{ field: "Interval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "Interval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetInitialJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInitialJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIntervalJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIntervalJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IntervalJitterPercent if m.GetUnhealthyThreshold() == nil { err := HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUnhealthyThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUnhealthyThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, } } } if m.GetHealthyThreshold() == nil { err := HealthCheckValidationError{ field: "HealthyThreshold", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHealthyThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthyThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAltPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAltPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetReuseConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReuseConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, } } } if d := m.GetNoTrafficInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "NoTrafficInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "NoTrafficInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetUnhealthyInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "UnhealthyInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "UnhealthyInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetUnhealthyEdgeInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "UnhealthyEdgeInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "UnhealthyEdgeInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetHealthyEdgeInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "HealthyEdgeInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "HealthyEdgeInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for EventLogPath if all { switch v := interface{}(m.GetEventService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEventService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AlwaysLogHealthCheckFailures if all { switch v := interface{}(m.GetTlsOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, } } } oneofHealthCheckerPresent := false switch v := m.HealthChecker.(type) { case *HealthCheck_HttpHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetHttpHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_TcpHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetTcpHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_GrpcHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetGrpcHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_CustomHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetCustomHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofHealthCheckerPresent { err := HealthCheckValidationError{ field: "HealthChecker", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckMultiError(errors) } return nil } // HealthCheckMultiError is an error wrapping multiple validation errors // returned by HealthCheck.ValidateAll() if the designated constraints aren't met. type HealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckMultiError) AllErrors() []error { return m } // HealthCheckValidationError is the validation error returned by // HealthCheck.Validate if the designated constraints aren't met. type HealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckValidationError) ErrorName() string { return "HealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckValidationError{} // Validate checks the field values on HealthCheck_Payload with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_Payload) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_Payload with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_PayloadMultiError, or nil if none found. func (m *HealthCheck_Payload) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_Payload) validate(all bool) error { if m == nil { return nil } var errors []error oneofPayloadPresent := false switch v := m.Payload.(type) { case *HealthCheck_Payload_Text: if v == nil { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPayloadPresent = true if len(m.GetText()) < 1 { err := HealthCheck_PayloadValidationError{ field: "Text", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *HealthCheck_Payload_Binary: if v == nil { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPayloadPresent = true // no validation rules for Binary default: _ = v // ensures v is used } if !oneofPayloadPresent { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheck_PayloadMultiError(errors) } return nil } // HealthCheck_PayloadMultiError is an error wrapping multiple validation // errors returned by HealthCheck_Payload.ValidateAll() if the designated // constraints aren't met. type HealthCheck_PayloadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_PayloadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_PayloadMultiError) AllErrors() []error { return m } // HealthCheck_PayloadValidationError is the validation error returned by // HealthCheck_Payload.Validate if the designated constraints aren't met. type HealthCheck_PayloadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_PayloadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_PayloadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_PayloadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_PayloadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_PayloadValidationError) ErrorName() string { return "HealthCheck_PayloadValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_PayloadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_Payload.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_PayloadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_PayloadValidationError{} // Validate checks the field values on HealthCheck_HttpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_HttpHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_HttpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_HttpHealthCheckMultiError, or nil if none found. func (m *HealthCheck_HttpHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_HttpHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Host if len(m.GetPath()) < 1 { err := HealthCheck_HttpHealthCheckValidationError{ field: "Path", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetReceive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Receive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Receive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReceive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: "Receive", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ServiceName if len(m.GetRequestHeadersToAdd()) > 1000 { err := HealthCheck_HttpHealthCheckValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for UseHttp2 for idx, item := range m.GetExpectedStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := _type.CodecClientType_name[int32(m.GetCodecClientType())]; !ok { err := HealthCheck_HttpHealthCheckValidationError{ field: "CodecClientType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetServiceNameMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServiceNameMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HealthCheck_HttpHealthCheckMultiError(errors) } return nil } // HealthCheck_HttpHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_HttpHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_HttpHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_HttpHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_HttpHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_HttpHealthCheckValidationError is the validation error returned // by HealthCheck_HttpHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_HttpHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_HttpHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_HttpHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_HttpHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_HttpHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_HttpHealthCheckValidationError) ErrorName() string { return "HealthCheck_HttpHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_HttpHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_HttpHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_HttpHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_HttpHealthCheckValidationError{} // Validate checks the field values on HealthCheck_TcpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_TcpHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_TcpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_TcpHealthCheckMultiError, or nil if none found. func (m *HealthCheck_TcpHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_TcpHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetReceive() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HealthCheck_TcpHealthCheckMultiError(errors) } return nil } // HealthCheck_TcpHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_TcpHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_TcpHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_TcpHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_TcpHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_TcpHealthCheckValidationError is the validation error returned // by HealthCheck_TcpHealthCheck.Validate if the designated constraints aren't met. type HealthCheck_TcpHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_TcpHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_TcpHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_TcpHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_TcpHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_TcpHealthCheckValidationError) ErrorName() string { return "HealthCheck_TcpHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_TcpHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_TcpHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_TcpHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_TcpHealthCheckValidationError{} // Validate checks the field values on HealthCheck_RedisHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_RedisHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_RedisHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_RedisHealthCheckMultiError, or nil if none found. func (m *HealthCheck_RedisHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_RedisHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key if len(errors) > 0 { return HealthCheck_RedisHealthCheckMultiError(errors) } return nil } // HealthCheck_RedisHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_RedisHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_RedisHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_RedisHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_RedisHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_RedisHealthCheckValidationError is the validation error returned // by HealthCheck_RedisHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_RedisHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_RedisHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_RedisHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_RedisHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_RedisHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_RedisHealthCheckValidationError) ErrorName() string { return "HealthCheck_RedisHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_RedisHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_RedisHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_RedisHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_RedisHealthCheckValidationError{} // Validate checks the field values on HealthCheck_GrpcHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_GrpcHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_GrpcHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_GrpcHealthCheckMultiError, or nil if none found. func (m *HealthCheck_GrpcHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_GrpcHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ServiceName // no validation rules for Authority if len(errors) > 0 { return HealthCheck_GrpcHealthCheckMultiError(errors) } return nil } // HealthCheck_GrpcHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_GrpcHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_GrpcHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_GrpcHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_GrpcHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_GrpcHealthCheckValidationError is the validation error returned // by HealthCheck_GrpcHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_GrpcHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_GrpcHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_GrpcHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_GrpcHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_GrpcHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_GrpcHealthCheckValidationError) ErrorName() string { return "HealthCheck_GrpcHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_GrpcHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_GrpcHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_GrpcHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_GrpcHealthCheckValidationError{} // Validate checks the field values on HealthCheck_CustomHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_CustomHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_CustomHealthCheck with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HealthCheck_CustomHealthCheckMultiError, or nil if none found. func (m *HealthCheck_CustomHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_CustomHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := HealthCheck_CustomHealthCheckValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *HealthCheck_CustomHealthCheck_Config: if v == nil { err := HealthCheck_CustomHealthCheckValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_CustomHealthCheckValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_CustomHealthCheck_TypedConfig: if v == nil { err := HealthCheck_CustomHealthCheckValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HealthCheck_CustomHealthCheckMultiError(errors) } return nil } // HealthCheck_CustomHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_CustomHealthCheck.ValidateAll() // if the designated constraints aren't met. type HealthCheck_CustomHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_CustomHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_CustomHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_CustomHealthCheckValidationError is the validation error // returned by HealthCheck_CustomHealthCheck.Validate if the designated // constraints aren't met. type HealthCheck_CustomHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_CustomHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_CustomHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_CustomHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_CustomHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_CustomHealthCheckValidationError) ErrorName() string { return "HealthCheck_CustomHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_CustomHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_CustomHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_CustomHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_CustomHealthCheckValidationError{} // Validate checks the field values on HealthCheck_TlsOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_TlsOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_TlsOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_TlsOptionsMultiError, or nil if none found. func (m *HealthCheck_TlsOptions) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_TlsOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HealthCheck_TlsOptionsMultiError(errors) } return nil } // HealthCheck_TlsOptionsMultiError is an error wrapping multiple validation // errors returned by HealthCheck_TlsOptions.ValidateAll() if the designated // constraints aren't met. type HealthCheck_TlsOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_TlsOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_TlsOptionsMultiError) AllErrors() []error { return m } // HealthCheck_TlsOptionsValidationError is the validation error returned by // HealthCheck_TlsOptions.Validate if the designated constraints aren't met. type HealthCheck_TlsOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_TlsOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_TlsOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_TlsOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_TlsOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_TlsOptionsValidationError) ErrorName() string { return "HealthCheck_TlsOptionsValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_TlsOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_TlsOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_TlsOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_TlsOptionsValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/http_uri.pb.go000077500000000000000000000216151454502223200227360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/http_uri.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy external URI descriptor type HttpUri struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP server URI. It should be a full FQDN with protocol, host and path. // // Example: // // .. code-block:: yaml // // uri: https://www.googleapis.com/oauth2/v1/certs Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // Specify how `uri` is to be fetched. Today, this requires an explicit // cluster, but in the future we may support dynamic cluster creation or // inline DNS resolution. See `issue // `_. // // Types that are assignable to HttpUpstreamType: // // *HttpUri_Cluster HttpUpstreamType isHttpUri_HttpUpstreamType `protobuf_oneof:"http_upstream_type"` // Sets the maximum duration in milliseconds that a response can take to arrive upon request. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *HttpUri) Reset() { *x = HttpUri{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_http_uri_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpUri) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpUri) ProtoMessage() {} func (x *HttpUri) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_http_uri_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpUri.ProtoReflect.Descriptor instead. func (*HttpUri) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_http_uri_proto_rawDescGZIP(), []int{0} } func (x *HttpUri) GetUri() string { if x != nil { return x.Uri } return "" } func (m *HttpUri) GetHttpUpstreamType() isHttpUri_HttpUpstreamType { if m != nil { return m.HttpUpstreamType } return nil } func (x *HttpUri) GetCluster() string { if x, ok := x.GetHttpUpstreamType().(*HttpUri_Cluster); ok { return x.Cluster } return "" } func (x *HttpUri) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } type isHttpUri_HttpUpstreamType interface { isHttpUri_HttpUpstreamType() } type HttpUri_Cluster struct { // A cluster is created in the Envoy "cluster_manager" config // section. This field specifies the cluster name. // // Example: // // .. code-block:: yaml // // cluster: jwks_cluster Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } func (*HttpUri_Cluster) isHttpUri_HttpUpstreamType() {} var File_envoy_api_v2_core_http_uri_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_http_uri_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x07, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x32, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x19, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x8f, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_http_uri_proto_rawDescOnce sync.Once file_envoy_api_v2_core_http_uri_proto_rawDescData = file_envoy_api_v2_core_http_uri_proto_rawDesc ) func file_envoy_api_v2_core_http_uri_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_http_uri_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_http_uri_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_http_uri_proto_rawDescData) }) return file_envoy_api_v2_core_http_uri_proto_rawDescData } var file_envoy_api_v2_core_http_uri_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_core_http_uri_proto_goTypes = []interface{}{ (*HttpUri)(nil), // 0: envoy.api.v2.core.HttpUri (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_api_v2_core_http_uri_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.core.HttpUri.timeout:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_http_uri_proto_init() } func file_envoy_api_v2_core_http_uri_proto_init() { if File_envoy_api_v2_core_http_uri_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_http_uri_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpUri); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_http_uri_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HttpUri_Cluster)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_http_uri_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_http_uri_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_http_uri_proto_depIdxs, MessageInfos: file_envoy_api_v2_core_http_uri_proto_msgTypes, }.Build() File_envoy_api_v2_core_http_uri_proto = out.File file_envoy_api_v2_core_http_uri_proto_rawDesc = nil file_envoy_api_v2_core_http_uri_proto_goTypes = nil file_envoy_api_v2_core_http_uri_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/http_uri.pb.validate.go000077500000000000000000000114361454502223200245260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/http_uri.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpUri with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpUri) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpUri with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in HttpUriMultiError, or nil if none found. func (m *HttpUri) ValidateAll() error { return m.validate(true) } func (m *HttpUri) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetUri()) < 1 { err := HttpUriValidationError{ field: "Uri", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetTimeout() == nil { err := HttpUriValidationError{ field: "Timeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HttpUriValidationError{ field: "Timeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte { err := HttpUriValidationError{ field: "Timeout", reason: "value must be greater than or equal to 0s", } if !all { return err } errors = append(errors, err) } } } oneofHttpUpstreamTypePresent := false switch v := m.HttpUpstreamType.(type) { case *HttpUri_Cluster: if v == nil { err := HttpUriValidationError{ field: "HttpUpstreamType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHttpUpstreamTypePresent = true if len(m.GetCluster()) < 1 { err := HttpUriValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofHttpUpstreamTypePresent { err := HttpUriValidationError{ field: "HttpUpstreamType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpUriMultiError(errors) } return nil } // HttpUriMultiError is an error wrapping multiple validation errors returned // by HttpUri.ValidateAll() if the designated constraints aren't met. type HttpUriMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpUriMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpUriMultiError) AllErrors() []error { return m } // HttpUriValidationError is the validation error returned by HttpUri.Validate // if the designated constraints aren't met. type HttpUriValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpUriValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpUriValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpUriValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpUriValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpUriValidationError) ErrorName() string { return "HttpUriValidationError" } // Error satisfies the builtin error interface func (e HttpUriValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpUri.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpUriValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpUriValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/protocol.pb.go000077500000000000000000001717121454502223200227450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/protocol.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Action to take when Envoy receives client request with header names containing underscore // characters. // Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented // as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore // characters. type HttpProtocolOptions_HeadersWithUnderscoresAction int32 const ( // Allow headers with underscores. This is the default behavior. HttpProtocolOptions_ALLOW HttpProtocolOptions_HeadersWithUnderscoresAction = 0 // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests // end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter // is incremented for each rejected request. HttpProtocolOptions_REJECT_REQUEST HttpProtocolOptions_HeadersWithUnderscoresAction = 1 // Drop the header with name containing underscores. The header is dropped before the filter chain is // invoked and as such filters will not see dropped headers. The // "httpN.dropped_headers_with_underscores" is incremented for each dropped header. HttpProtocolOptions_DROP_HEADER HttpProtocolOptions_HeadersWithUnderscoresAction = 2 ) // Enum value maps for HttpProtocolOptions_HeadersWithUnderscoresAction. var ( HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{ 0: "ALLOW", 1: "REJECT_REQUEST", 2: "DROP_HEADER", } HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{ "ALLOW": 0, "REJECT_REQUEST": 1, "DROP_HEADER": 2, } ) func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Enum() *HttpProtocolOptions_HeadersWithUnderscoresAction { p := new(HttpProtocolOptions_HeadersWithUnderscoresAction) *p = x return p } func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_protocol_proto_enumTypes[0].Descriptor() } func (HttpProtocolOptions_HeadersWithUnderscoresAction) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_protocol_proto_enumTypes[0] } func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead. func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2, 0} } // [#not-implemented-hide:] type TcpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TcpProtocolOptions) Reset() { *x = TcpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProtocolOptions) ProtoMessage() {} func (x *TcpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProtocolOptions.ProtoReflect.Descriptor instead. func (*TcpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{0} } type UpstreamHttpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Set transport socket `SNI `_ for new // upstream connections based on the downstream HTTP host/authority header, as seen by the // :ref:`router filter `. AutoSni bool `protobuf:"varint,1,opt,name=auto_sni,json=autoSni,proto3" json:"auto_sni,omitempty"` // Automatic validate upstream presented certificate for new upstream connections based on the // downstream HTTP host/authority header, as seen by the // :ref:`router filter `. // This field is intended to set with `auto_sni` field. AutoSanValidation bool `protobuf:"varint,2,opt,name=auto_san_validation,json=autoSanValidation,proto3" json:"auto_san_validation,omitempty"` } func (x *UpstreamHttpProtocolOptions) Reset() { *x = UpstreamHttpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamHttpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamHttpProtocolOptions) ProtoMessage() {} func (x *UpstreamHttpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamHttpProtocolOptions.ProtoReflect.Descriptor instead. func (*UpstreamHttpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{1} } func (x *UpstreamHttpProtocolOptions) GetAutoSni() bool { if x != nil { return x.AutoSni } return false } func (x *UpstreamHttpProtocolOptions) GetAutoSanValidation() bool { if x != nil { return x.AutoSanValidation } return false } // [#next-free-field: 6] type HttpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The idle timeout for connections. The idle timeout is defined as the // period in which there are no active requests. When the // idle timeout is reached the connection will be closed. If the connection is an HTTP/2 // downstream connection a drain sequence will occur prior to closing the connection, see // :ref:`drain_timeout // `. // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. // If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0. // // .. warning:: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // The maximum duration of a connection. The duration is defined as a period since a connection // was established. If not set, there is no max duration. When max_connection_duration is reached // the connection will be closed. Drain sequence will occur prior to closing the connection if // if's applicable. See :ref:`drain_timeout // `. // Note: not implemented for upstream connections. MaxConnectionDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"` // The maximum number of headers. If unconfigured, the default // maximum number of request headers allowed is 100. Requests that exceed this limit will receive // a 431 response for HTTP/1.x and cause a stream reset for HTTP/2. MaxHeadersCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"` // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be // reset independent of any other timeouts. If not specified, this value is not set. MaxStreamDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` // Action to take when a client request with a header name containing underscore characters is received. // If this setting is not specified, the value defaults to ALLOW. // Note: upstream responses are not affected by this setting. HeadersWithUnderscoresAction HttpProtocolOptions_HeadersWithUnderscoresAction `protobuf:"varint,5,opt,name=headers_with_underscores_action,json=headersWithUnderscoresAction,proto3,enum=envoy.api.v2.core.HttpProtocolOptions_HeadersWithUnderscoresAction" json:"headers_with_underscores_action,omitempty"` } func (x *HttpProtocolOptions) Reset() { *x = HttpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions) ProtoMessage() {} func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{2} } func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *HttpProtocolOptions) GetMaxConnectionDuration() *duration.Duration { if x != nil { return x.MaxConnectionDuration } return nil } func (x *HttpProtocolOptions) GetMaxHeadersCount() *wrappers.UInt32Value { if x != nil { return x.MaxHeadersCount } return nil } func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration { if x != nil { return x.MaxStreamDuration } return nil } func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction { if x != nil { return x.HeadersWithUnderscoresAction } return HttpProtocolOptions_ALLOW } // [#next-free-field: 6] type Http1ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Handle HTTP requests with absolute URLs in the requests. These requests // are generally sent by clients to forward/explicit proxies. This allows clients to configure // envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the // *http_proxy* environment variable. AllowAbsoluteUrl *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl,proto3" json:"allow_absolute_url,omitempty"` // Handle incoming HTTP/1.0 and HTTP 0.9 requests. // This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1 // style connect logic, dechunking, and handling lack of client host iff // *default_host_for_http_10* is configured. AcceptHttp_10 bool `protobuf:"varint,2,opt,name=accept_http_10,json=acceptHttp10,proto3" json:"accept_http_10,omitempty"` // A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as // Envoy does not otherwise support HTTP/1.0 without a Host header. // This is a no-op if *accept_http_10* is not true. DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"` // Describes how the keys for response headers should be formatted. By default, all header keys // are lower cased. HeaderKeyFormat *Http1ProtocolOptions_HeaderKeyFormat `protobuf:"bytes,4,opt,name=header_key_format,json=headerKeyFormat,proto3" json:"header_key_format,omitempty"` // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers. // // .. attention:: // // Note that this only happens when Envoy is chunk encoding which occurs when: // - The request is HTTP/1.1. // - Is neither a HEAD only request nor a HTTP Upgrade. // - Not a response to a HEAD request. // - The content length header is not present. EnableTrailers bool `protobuf:"varint,5,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"` } func (x *Http1ProtocolOptions) Reset() { *x = Http1ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions) ProtoMessage() {} func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3} } func (x *Http1ProtocolOptions) GetAllowAbsoluteUrl() *wrappers.BoolValue { if x != nil { return x.AllowAbsoluteUrl } return nil } func (x *Http1ProtocolOptions) GetAcceptHttp_10() bool { if x != nil { return x.AcceptHttp_10 } return false } func (x *Http1ProtocolOptions) GetDefaultHostForHttp_10() string { if x != nil { return x.DefaultHostForHttp_10 } return "" } func (x *Http1ProtocolOptions) GetHeaderKeyFormat() *Http1ProtocolOptions_HeaderKeyFormat { if x != nil { return x.HeaderKeyFormat } return nil } func (x *Http1ProtocolOptions) GetEnableTrailers() bool { if x != nil { return x.EnableTrailers } return false } // [#next-free-field: 14] type Http2ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // `Maximum table size `_ // (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values // range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header // compression. HpackTableSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=hpack_table_size,json=hpackTableSize,proto3" json:"hpack_table_size,omitempty"` // `Maximum concurrent streams `_ // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1) // and defaults to 2147483647. // // For upstream connections, this also limits how many streams Envoy will initiate concurrently // on a single connection. If the limit is reached, Envoy may queue requests or establish // additional connections (as allowed per circuit breaker limits). MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` // `Initial stream-level flow-control window // `_ size. Valid values range from 65535 // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456 // (256 * 1024 * 1024). // // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default // window size now, so it's also the minimum. // // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to // stop the flow of data to the codec buffers. InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` // Similar to *initial_stream_window_size*, but for connection-level flow-control // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*. InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` // Allows proxying Websocket and other upgrades over H2 connect. AllowConnect bool `protobuf:"varint,5,opt,name=allow_connect,json=allowConnect,proto3" json:"allow_connect,omitempty"` // [#not-implemented-hide:] Hiding until envoy has full metadata support. // Still under implementation. DO NOT USE. // // Allows metadata. See [metadata // docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more // information. AllowMetadata bool `protobuf:"varint,6,opt,name=allow_metadata,json=allowMetadata,proto3" json:"allow_metadata,omitempty"` // Limit the number of pending outbound downstream frames of all types (frames that are waiting to // be written into the socket). Exceeding this limit triggers flood mitigation and connection is // terminated. The “http2.outbound_flood“ stat tracks the number of terminated connections due // to flood mitigation. The default limit is 10000. // [#comment:TODO: implement same limits for upstream outbound frames as well.] MaxOutboundFrames *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_outbound_frames,json=maxOutboundFrames,proto3" json:"max_outbound_frames,omitempty"` // Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, // preventing high memory utilization when receiving continuous stream of these frames. Exceeding // this limit triggers flood mitigation and connection is terminated. The // “http2.outbound_control_flood“ stat tracks the number of terminated connections due to flood // mitigation. The default limit is 1000. // [#comment:TODO: implement same limits for upstream outbound frames as well.] MaxOutboundControlFrames *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=max_outbound_control_frames,json=maxOutboundControlFrames,proto3" json:"max_outbound_control_frames,omitempty"` // Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an // empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but // might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood“ // stat tracks the number of connections terminated due to flood mitigation. // Setting this to 0 will terminate connection upon receiving first frame with an empty payload // and no end stream flag. The default limit is 1. // [#comment:TODO: implement same limits for upstream inbound frames as well.] MaxConsecutiveInboundFramesWithEmptyPayload *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_consecutive_inbound_frames_with_empty_payload,json=maxConsecutiveInboundFramesWithEmptyPayload,proto3" json:"max_consecutive_inbound_frames_with_empty_payload,omitempty"` // Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number // of PRIORITY frames received over the lifetime of connection exceeds the value calculated // using this formula:: // // max_inbound_priority_frames_per_stream * (1 + inbound_streams) // // the connection is terminated. The “http2.inbound_priority_frames_flood“ stat tracks // the number of connections terminated due to flood mitigation. The default limit is 100. // [#comment:TODO: implement same limits for upstream inbound frames as well.] MaxInboundPriorityFramesPerStream *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=max_inbound_priority_frames_per_stream,json=maxInboundPriorityFramesPerStream,proto3" json:"max_inbound_priority_frames_per_stream,omitempty"` // Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number // of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated // using this formula:: // // 1 + 2 * (inbound_streams + // max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames) // // the connection is terminated. The “http2.inbound_priority_frames_flood“ stat tracks // the number of connections terminated due to flood mitigation. The default limit is 10. // Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control, // but more complex implementations that try to estimate available bandwidth require at least 2. // [#comment:TODO: implement same limits for upstream inbound frames as well.] MaxInboundWindowUpdateFramesPerDataFrameSent *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=max_inbound_window_update_frames_per_data_frame_sent,json=maxInboundWindowUpdateFramesPerDataFrameSent,proto3" json:"max_inbound_window_update_frames_per_data_frame_sent,omitempty"` // Allows invalid HTTP messaging and headers. When this option is disabled (default), then // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However, // when this option is enabled, only the offending stream is terminated. // // See `RFC7540, sec. 8.1 `_ for details. StreamErrorOnInvalidHttpMessaging bool `protobuf:"varint,12,opt,name=stream_error_on_invalid_http_messaging,json=streamErrorOnInvalidHttpMessaging,proto3" json:"stream_error_on_invalid_http_messaging,omitempty"` // [#not-implemented-hide:] // Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: // // 1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by // Envoy. // // 2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field // 'allow_connect'. // // Note that custom parameters specified through this field can not also be set in the // corresponding named parameters: // // .. code-block:: text // // ID Field Name // ---------------- // 0x1 hpack_table_size // 0x3 max_concurrent_streams // 0x4 initial_stream_window_size // // Collisions will trigger config validation failure on load/update. Likewise, inconsistencies // between custom parameters with the same identifier will trigger a failure. // // See `IANA HTTP/2 Settings // `_ for // standardized identifiers. CustomSettingsParameters []*Http2ProtocolOptions_SettingsParameter `protobuf:"bytes,13,rep,name=custom_settings_parameters,json=customSettingsParameters,proto3" json:"custom_settings_parameters,omitempty"` } func (x *Http2ProtocolOptions) Reset() { *x = Http2ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http2ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http2ProtocolOptions) ProtoMessage() {} func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http2ProtocolOptions.ProtoReflect.Descriptor instead. func (*Http2ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4} } func (x *Http2ProtocolOptions) GetHpackTableSize() *wrappers.UInt32Value { if x != nil { return x.HpackTableSize } return nil } func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrentStreams } return nil } func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialStreamWindowSize } return nil } func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialConnectionWindowSize } return nil } func (x *Http2ProtocolOptions) GetAllowConnect() bool { if x != nil { return x.AllowConnect } return false } func (x *Http2ProtocolOptions) GetAllowMetadata() bool { if x != nil { return x.AllowMetadata } return false } func (x *Http2ProtocolOptions) GetMaxOutboundFrames() *wrappers.UInt32Value { if x != nil { return x.MaxOutboundFrames } return nil } func (x *Http2ProtocolOptions) GetMaxOutboundControlFrames() *wrappers.UInt32Value { if x != nil { return x.MaxOutboundControlFrames } return nil } func (x *Http2ProtocolOptions) GetMaxConsecutiveInboundFramesWithEmptyPayload() *wrappers.UInt32Value { if x != nil { return x.MaxConsecutiveInboundFramesWithEmptyPayload } return nil } func (x *Http2ProtocolOptions) GetMaxInboundPriorityFramesPerStream() *wrappers.UInt32Value { if x != nil { return x.MaxInboundPriorityFramesPerStream } return nil } func (x *Http2ProtocolOptions) GetMaxInboundWindowUpdateFramesPerDataFrameSent() *wrappers.UInt32Value { if x != nil { return x.MaxInboundWindowUpdateFramesPerDataFrameSent } return nil } func (x *Http2ProtocolOptions) GetStreamErrorOnInvalidHttpMessaging() bool { if x != nil { return x.StreamErrorOnInvalidHttpMessaging } return false } func (x *Http2ProtocolOptions) GetCustomSettingsParameters() []*Http2ProtocolOptions_SettingsParameter { if x != nil { return x.CustomSettingsParameters } return nil } // [#not-implemented-hide:] type GrpcProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,1,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` } func (x *GrpcProtocolOptions) Reset() { *x = GrpcProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcProtocolOptions) ProtoMessage() {} func (x *GrpcProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcProtocolOptions.ProtoReflect.Descriptor instead. func (*GrpcProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{5} } func (x *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } type Http1ProtocolOptions_HeaderKeyFormat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to HeaderFormat: // // *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ HeaderFormat isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat `protobuf_oneof:"header_format"` } func (x *Http1ProtocolOptions_HeaderKeyFormat) Reset() { *x = Http1ProtocolOptions_HeaderKeyFormat{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions_HeaderKeyFormat) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions_HeaderKeyFormat) ProtoMessage() {} func (x *Http1ProtocolOptions_HeaderKeyFormat) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions_HeaderKeyFormat) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0} } func (m *Http1ProtocolOptions_HeaderKeyFormat) GetHeaderFormat() isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat { if m != nil { return m.HeaderFormat } return nil } func (x *Http1ProtocolOptions_HeaderKeyFormat) GetProperCaseWords() *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords { if x, ok := x.GetHeaderFormat().(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_); ok { return x.ProperCaseWords } return nil } type isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat interface { isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() } type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ struct { // Formats the header by proper casing words: the first character and any character following // a special character will be capitalized if it's an alpha character. For example, // "content-type" becomes "Content-Type", and "foo$b#$are" becomes "Foo$B#$Are". // Note that while this results in most headers following conventional casing, certain headers // are not covered. For example, the "TE" header will be formatted as "Te". ProperCaseWords *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords `protobuf:"bytes,1,opt,name=proper_case_words,json=properCaseWords,proto3,oneof"` } func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_) isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() { } type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Reset() { *x = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoMessage() {} func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{3, 0, 0} } // Defines a parameter to be sent in the SETTINGS frame. // See `RFC7540, sec. 6.5.1 `_ for details. type Http2ProtocolOptions_SettingsParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The 16 bit parameter identifier. Identifier *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // The 32 bit parameter value. Value *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *Http2ProtocolOptions_SettingsParameter) Reset() { *x = Http2ProtocolOptions_SettingsParameter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http2ProtocolOptions_SettingsParameter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http2ProtocolOptions_SettingsParameter) ProtoMessage() {} func (x *Http2ProtocolOptions_SettingsParameter) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_protocol_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http2ProtocolOptions_SettingsParameter.ProtoReflect.Descriptor instead. func (*Http2ProtocolOptions_SettingsParameter) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_protocol_proto_rawDescGZIP(), []int{4, 0} } func (x *Http2ProtocolOptions_SettingsParameter) GetIdentifier() *wrappers.UInt32Value { if x != nil { return x.Identifier } return nil } func (x *Http2ProtocolOptions_SettingsParameter) GetValue() *wrappers.UInt32Value { if x != nil { return x.Value } return nil } var File_envoy_api_v2_core_protocol_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_protocol_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x04, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x63, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x75, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x42, 0x14, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa6, 0x0b, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2b, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01, 0x0a, 0x34, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x2c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xa1, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x2a, 0x06, 0x18, 0x80, 0x80, 0x04, 0x28, 0x01, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x74, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x90, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_protocol_proto_rawDescOnce sync.Once file_envoy_api_v2_core_protocol_proto_rawDescData = file_envoy_api_v2_core_protocol_proto_rawDesc ) func file_envoy_api_v2_core_protocol_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_protocol_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_protocol_proto_rawDescData) }) return file_envoy_api_v2_core_protocol_proto_rawDescData } var file_envoy_api_v2_core_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_core_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_envoy_api_v2_core_protocol_proto_goTypes = []interface{}{ (HttpProtocolOptions_HeadersWithUnderscoresAction)(0), // 0: envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction (*TcpProtocolOptions)(nil), // 1: envoy.api.v2.core.TcpProtocolOptions (*UpstreamHttpProtocolOptions)(nil), // 2: envoy.api.v2.core.UpstreamHttpProtocolOptions (*HttpProtocolOptions)(nil), // 3: envoy.api.v2.core.HttpProtocolOptions (*Http1ProtocolOptions)(nil), // 4: envoy.api.v2.core.Http1ProtocolOptions (*Http2ProtocolOptions)(nil), // 5: envoy.api.v2.core.Http2ProtocolOptions (*GrpcProtocolOptions)(nil), // 6: envoy.api.v2.core.GrpcProtocolOptions (*Http1ProtocolOptions_HeaderKeyFormat)(nil), // 7: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords)(nil), // 8: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords (*Http2ProtocolOptions_SettingsParameter)(nil), // 9: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter (*duration.Duration)(nil), // 10: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue } var file_envoy_api_v2_core_protocol_proto_depIdxs = []int32{ 10, // 0: envoy.api.v2.core.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 10, // 1: envoy.api.v2.core.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration 11, // 2: envoy.api.v2.core.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value 10, // 3: envoy.api.v2.core.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration 0, // 4: envoy.api.v2.core.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.api.v2.core.HttpProtocolOptions.HeadersWithUnderscoresAction 12, // 5: envoy.api.v2.core.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue 7, // 6: envoy.api.v2.core.Http1ProtocolOptions.header_key_format:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat 11, // 7: envoy.api.v2.core.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value 11, // 8: envoy.api.v2.core.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value 11, // 9: envoy.api.v2.core.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value 11, // 10: envoy.api.v2.core.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value 11, // 11: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value 11, // 12: envoy.api.v2.core.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value 11, // 13: envoy.api.v2.core.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value 11, // 14: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value 11, // 15: envoy.api.v2.core.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value 9, // 16: envoy.api.v2.core.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter 5, // 17: envoy.api.v2.core.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.api.v2.core.Http2ProtocolOptions 8, // 18: envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.api.v2.core.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords 11, // 19: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value 11, // 20: envoy.api.v2.core.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value 21, // [21:21] is the sub-list for method output_type 21, // [21:21] is the sub-list for method input_type 21, // [21:21] is the sub-list for extension type_name 21, // [21:21] is the sub-list for extension extendee 0, // [0:21] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_protocol_proto_init() } func file_envoy_api_v2_core_protocol_proto_init() { if File_envoy_api_v2_core_protocol_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamHttpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http2ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_core_protocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http2ProtocolOptions_SettingsParameter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_protocol_proto_msgTypes[6].OneofWrappers = []interface{}{ (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_protocol_proto_rawDesc, NumEnums: 1, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_protocol_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_protocol_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_protocol_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_protocol_proto_msgTypes, }.Build() File_envoy_api_v2_core_protocol_proto = out.File file_envoy_api_v2_core_protocol_proto_rawDesc = nil file_envoy_api_v2_core_protocol_proto_goTypes = nil file_envoy_api_v2_core_protocol_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/protocol.pb.validate.go000077500000000000000000001251341454502223200245320ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/protocol.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProtocolOptionsMultiError, or nil if none found. func (m *TcpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *TcpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TcpProtocolOptionsMultiError(errors) } return nil } // TcpProtocolOptionsMultiError is an error wrapping multiple validation errors // returned by TcpProtocolOptions.ValidateAll() if the designated constraints // aren't met. type TcpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProtocolOptionsMultiError) AllErrors() []error { return m } // TcpProtocolOptionsValidationError is the validation error returned by // TcpProtocolOptions.Validate if the designated constraints aren't met. type TcpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProtocolOptionsValidationError) ErrorName() string { return "TcpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e TcpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProtocolOptionsValidationError{} // Validate checks the field values on UpstreamHttpProtocolOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamHttpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamHttpProtocolOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamHttpProtocolOptionsMultiError, or nil if none found. func (m *UpstreamHttpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *UpstreamHttpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AutoSni // no validation rules for AutoSanValidation if len(errors) > 0 { return UpstreamHttpProtocolOptionsMultiError(errors) } return nil } // UpstreamHttpProtocolOptionsMultiError is an error wrapping multiple // validation errors returned by UpstreamHttpProtocolOptions.ValidateAll() if // the designated constraints aren't met. type UpstreamHttpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamHttpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamHttpProtocolOptionsMultiError) AllErrors() []error { return m } // UpstreamHttpProtocolOptionsValidationError is the validation error returned // by UpstreamHttpProtocolOptions.Validate if the designated constraints // aren't met. type UpstreamHttpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamHttpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamHttpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamHttpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamHttpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamHttpProtocolOptionsValidationError) ErrorName() string { return "UpstreamHttpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e UpstreamHttpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamHttpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamHttpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamHttpProtocolOptionsValidationError{} // Validate checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpProtocolOptionsMultiError, or nil if none found. func (m *HttpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxConnectionDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnectionDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxHeadersCount(); wrapper != nil { if wrapper.GetValue() < 1 { err := HttpProtocolOptionsValidationError{ field: "MaxHeadersCount", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMaxStreamDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxStreamDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HeadersWithUnderscoresAction if len(errors) > 0 { return HttpProtocolOptionsMultiError(errors) } return nil } // HttpProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by HttpProtocolOptions.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptionsMultiError) AllErrors() []error { return m } // HttpProtocolOptionsValidationError is the validation error returned by // HttpProtocolOptions.Validate if the designated constraints aren't met. type HttpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptionsValidationError) ErrorName() string { return "HttpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptionsValidationError{} // Validate checks the field values on Http1ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http1ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http1ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http1ProtocolOptionsMultiError, or nil if none found. func (m *Http1ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowAbsoluteUrl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowAbsoluteUrl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AcceptHttp_10 // no validation rules for DefaultHostForHttp_10 if all { switch v := interface{}(m.GetHeaderKeyFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderKeyFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableTrailers if len(errors) > 0 { return Http1ProtocolOptionsMultiError(errors) } return nil } // Http1ProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by Http1ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type Http1ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptionsMultiError) AllErrors() []error { return m } // Http1ProtocolOptionsValidationError is the validation error returned by // Http1ProtocolOptions.Validate if the designated constraints aren't met. type Http1ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptionsValidationError) ErrorName() string { return "Http1ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptionsValidationError{} // Validate checks the field values on Http2ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http2ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http2ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http2ProtocolOptionsMultiError, or nil if none found. func (m *Http2ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *Http2ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHpackTableSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHpackTableSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxConcurrentStreams(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "value must be inside range [1, 2147483647]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialStreamWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 65535 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "InitialStreamWindowSize", reason: "value must be inside range [65535, 2147483647]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialConnectionWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 65535 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "InitialConnectionWindowSize", reason: "value must be inside range [65535, 2147483647]", } if !all { return err } errors = append(errors, err) } } // no validation rules for AllowConnect // no validation rules for AllowMetadata if wrapper := m.GetMaxOutboundFrames(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxOutboundFrames", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetMaxOutboundControlFrames(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxOutboundControlFrames", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxInboundWindowUpdateFramesPerDataFrameSent(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxInboundWindowUpdateFramesPerDataFrameSent", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } // no validation rules for StreamErrorOnInvalidHttpMessaging for idx, item := range m.GetCustomSettingsParameters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Http2ProtocolOptionsMultiError(errors) } return nil } // Http2ProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by Http2ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type Http2ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http2ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http2ProtocolOptionsMultiError) AllErrors() []error { return m } // Http2ProtocolOptionsValidationError is the validation error returned by // Http2ProtocolOptions.Validate if the designated constraints aren't met. type Http2ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http2ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http2ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http2ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http2ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http2ProtocolOptionsValidationError) ErrorName() string { return "Http2ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e Http2ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp2ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http2ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http2ProtocolOptionsValidationError{} // Validate checks the field values on GrpcProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcProtocolOptionsMultiError, or nil if none found. func (m *GrpcProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *GrpcProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcProtocolOptionsMultiError(errors) } return nil } // GrpcProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by GrpcProtocolOptions.ValidateAll() if the designated // constraints aren't met. type GrpcProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcProtocolOptionsMultiError) AllErrors() []error { return m } // GrpcProtocolOptionsValidationError is the validation error returned by // GrpcProtocolOptions.Validate if the designated constraints aren't met. type GrpcProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcProtocolOptionsValidationError) ErrorName() string { return "GrpcProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e GrpcProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcProtocolOptionsValidationError{} // Validate checks the field values on Http1ProtocolOptions_HeaderKeyFormat // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Http1ProtocolOptions_HeaderKeyFormat) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http1ProtocolOptions_HeaderKeyFormat // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Http1ProtocolOptions_HeaderKeyFormatMultiError, or nil if none found. func (m *Http1ProtocolOptions_HeaderKeyFormat) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error { if m == nil { return nil } var errors []error oneofHeaderFormatPresent := false switch v := m.HeaderFormat.(type) { case *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_: if v == nil { err := Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "HeaderFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHeaderFormatPresent = true if all { switch v := interface{}(m.GetProperCaseWords()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProperCaseWords()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofHeaderFormatPresent { err := Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "HeaderFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Http1ProtocolOptions_HeaderKeyFormatMultiError(errors) } return nil } // Http1ProtocolOptions_HeaderKeyFormatMultiError is an error wrapping multiple // validation errors returned by // Http1ProtocolOptions_HeaderKeyFormat.ValidateAll() if the designated // constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormatMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) AllErrors() []error { return m } // Http1ProtocolOptions_HeaderKeyFormatValidationError is the validation error // returned by Http1ProtocolOptions_HeaderKeyFormat.Validate if the designated // constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormatValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) ErrorName() string { return "Http1ProtocolOptions_HeaderKeyFormatValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions_HeaderKeyFormat.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptions_HeaderKeyFormatValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptions_HeaderKeyFormatValidationError{} // Validate checks the field values on // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError, or nil if // none found. func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError(errors) } return nil } // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError is an error // wrapping multiple validation errors returned by // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ValidateAll() if the // designated constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) AllErrors() []error { return m } // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError is the // validation error returned by // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.Validate if the // designated constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) ErrorName() string { return "Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{} // Validate checks the field values on Http2ProtocolOptions_SettingsParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Http2ProtocolOptions_SettingsParameter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Http2ProtocolOptions_SettingsParameter with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // Http2ProtocolOptions_SettingsParameterMultiError, or nil if none found. func (m *Http2ProtocolOptions_SettingsParameter) ValidateAll() error { return m.validate(true) } func (m *Http2ProtocolOptions_SettingsParameter) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetIdentifier(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 65536 { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Identifier", reason: "value must be inside range [1, 65536]", } if !all { return err } errors = append(errors, err) } } else { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Identifier", reason: "value is required and must not be nil.", } if !all { return err } errors = append(errors, err) } if m.GetValue() == nil { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Http2ProtocolOptions_SettingsParameterMultiError(errors) } return nil } // Http2ProtocolOptions_SettingsParameterMultiError is an error wrapping // multiple validation errors returned by // Http2ProtocolOptions_SettingsParameter.ValidateAll() if the designated // constraints aren't met. type Http2ProtocolOptions_SettingsParameterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http2ProtocolOptions_SettingsParameterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http2ProtocolOptions_SettingsParameterMultiError) AllErrors() []error { return m } // Http2ProtocolOptions_SettingsParameterValidationError is the validation // error returned by Http2ProtocolOptions_SettingsParameter.Validate if the // designated constraints aren't met. type Http2ProtocolOptions_SettingsParameterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http2ProtocolOptions_SettingsParameterValidationError) ErrorName() string { return "Http2ProtocolOptions_SettingsParameterValidationError" } // Error satisfies the builtin error interface func (e Http2ProtocolOptions_SettingsParameterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp2ProtocolOptions_SettingsParameter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http2ProtocolOptions_SettingsParameterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http2ProtocolOptions_SettingsParameterValidationError{} go-control-plane-0.12.0/envoy/api/v2/core/socket_option.pb.go000077500000000000000000000304111454502223200237520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/core/socket_option.proto package core import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SocketOption_SocketState int32 const ( // Socket options are applied after socket creation but before binding the socket to a port SocketOption_STATE_PREBIND SocketOption_SocketState = 0 // Socket options are applied after binding the socket to a port but before calling listen() SocketOption_STATE_BOUND SocketOption_SocketState = 1 // Socket options are applied after calling listen() SocketOption_STATE_LISTENING SocketOption_SocketState = 2 ) // Enum value maps for SocketOption_SocketState. var ( SocketOption_SocketState_name = map[int32]string{ 0: "STATE_PREBIND", 1: "STATE_BOUND", 2: "STATE_LISTENING", } SocketOption_SocketState_value = map[string]int32{ "STATE_PREBIND": 0, "STATE_BOUND": 1, "STATE_LISTENING": 2, } ) func (x SocketOption_SocketState) Enum() *SocketOption_SocketState { p := new(SocketOption_SocketState) *p = x return p } func (x SocketOption_SocketState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SocketOption_SocketState) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_core_socket_option_proto_enumTypes[0].Descriptor() } func (SocketOption_SocketState) Type() protoreflect.EnumType { return &file_envoy_api_v2_core_socket_option_proto_enumTypes[0] } func (x SocketOption_SocketState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SocketOption_SocketState.Descriptor instead. func (SocketOption_SocketState) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_core_socket_option_proto_rawDescGZIP(), []int{0, 0} } // Generic socket option message. This would be used to set socket options that // might not exist in upstream kernels or precompiled Envoy binaries. // [#next-free-field: 7] type SocketOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional name to give this socket option for debugging, etc. // Uniqueness is not required and no special meaning is assumed. Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` // Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP Level int64 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` // The numeric name as passed to setsockopt Name int64 `protobuf:"varint,3,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Value: // // *SocketOption_IntValue // *SocketOption_BufValue Value isSocketOption_Value `protobuf_oneof:"value"` // The state in which the option will be applied. When used in BindConfig // STATE_PREBIND is currently the only valid value. State SocketOption_SocketState `protobuf:"varint,6,opt,name=state,proto3,enum=envoy.api.v2.core.SocketOption_SocketState" json:"state,omitempty"` } func (x *SocketOption) Reset() { *x = SocketOption{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_core_socket_option_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketOption) ProtoMessage() {} func (x *SocketOption) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_core_socket_option_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketOption.ProtoReflect.Descriptor instead. func (*SocketOption) Descriptor() ([]byte, []int) { return file_envoy_api_v2_core_socket_option_proto_rawDescGZIP(), []int{0} } func (x *SocketOption) GetDescription() string { if x != nil { return x.Description } return "" } func (x *SocketOption) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *SocketOption) GetName() int64 { if x != nil { return x.Name } return 0 } func (m *SocketOption) GetValue() isSocketOption_Value { if m != nil { return m.Value } return nil } func (x *SocketOption) GetIntValue() int64 { if x, ok := x.GetValue().(*SocketOption_IntValue); ok { return x.IntValue } return 0 } func (x *SocketOption) GetBufValue() []byte { if x, ok := x.GetValue().(*SocketOption_BufValue); ok { return x.BufValue } return nil } func (x *SocketOption) GetState() SocketOption_SocketState { if x != nil { return x.State } return SocketOption_STATE_PREBIND } type isSocketOption_Value interface { isSocketOption_Value() } type SocketOption_IntValue struct { // Because many sockopts take an int value. IntValue int64 `protobuf:"varint,4,opt,name=int_value,json=intValue,proto3,oneof"` } type SocketOption_BufValue struct { // Otherwise it's a byte buffer. BufValue []byte `protobuf:"bytes,5,opt,name=buf_value,json=bufValue,proto3,oneof"` } func (*SocketOption_IntValue) isSocketOption_Value() {} func (*SocketOption_BufValue) isSocketOption_Value() {} var File_envoy_api_v2_core_socket_option_proto protoreflect.FileDescriptor var file_envoy_api_v2_core_socket_option_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x02, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x62, 0x75, 0x66, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x62, 0x75, 0x66, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x46, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x0c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x94, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x11, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_core_socket_option_proto_rawDescOnce sync.Once file_envoy_api_v2_core_socket_option_proto_rawDescData = file_envoy_api_v2_core_socket_option_proto_rawDesc ) func file_envoy_api_v2_core_socket_option_proto_rawDescGZIP() []byte { file_envoy_api_v2_core_socket_option_proto_rawDescOnce.Do(func() { file_envoy_api_v2_core_socket_option_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_core_socket_option_proto_rawDescData) }) return file_envoy_api_v2_core_socket_option_proto_rawDescData } var file_envoy_api_v2_core_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_core_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_core_socket_option_proto_goTypes = []interface{}{ (SocketOption_SocketState)(0), // 0: envoy.api.v2.core.SocketOption.SocketState (*SocketOption)(nil), // 1: envoy.api.v2.core.SocketOption } var file_envoy_api_v2_core_socket_option_proto_depIdxs = []int32{ 0, // 0: envoy.api.v2.core.SocketOption.state:type_name -> envoy.api.v2.core.SocketOption.SocketState 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_core_socket_option_proto_init() } func file_envoy_api_v2_core_socket_option_proto_init() { if File_envoy_api_v2_core_socket_option_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_core_socket_option_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketOption); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_core_socket_option_proto_msgTypes[0].OneofWrappers = []interface{}{ (*SocketOption_IntValue)(nil), (*SocketOption_BufValue)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_core_socket_option_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_core_socket_option_proto_goTypes, DependencyIndexes: file_envoy_api_v2_core_socket_option_proto_depIdxs, EnumInfos: file_envoy_api_v2_core_socket_option_proto_enumTypes, MessageInfos: file_envoy_api_v2_core_socket_option_proto_msgTypes, }.Build() File_envoy_api_v2_core_socket_option_proto = out.File file_envoy_api_v2_core_socket_option_proto_rawDesc = nil file_envoy_api_v2_core_socket_option_proto_goTypes = nil file_envoy_api_v2_core_socket_option_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/core/socket_option.pb.validate.go000077500000000000000000000106161454502223200255470ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/core/socket_option.proto package core import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SocketOption with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketOption) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketOption with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketOptionMultiError, or // nil if none found. func (m *SocketOption) ValidateAll() error { return m.validate(true) } func (m *SocketOption) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Description // no validation rules for Level // no validation rules for Name if _, ok := SocketOption_SocketState_name[int32(m.GetState())]; !ok { err := SocketOptionValidationError{ field: "State", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofValuePresent := false switch v := m.Value.(type) { case *SocketOption_IntValue: if v == nil { err := SocketOptionValidationError{ field: "Value", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValuePresent = true // no validation rules for IntValue case *SocketOption_BufValue: if v == nil { err := SocketOptionValidationError{ field: "Value", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValuePresent = true // no validation rules for BufValue default: _ = v // ensures v is used } if !oneofValuePresent { err := SocketOptionValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SocketOptionMultiError(errors) } return nil } // SocketOptionMultiError is an error wrapping multiple validation errors // returned by SocketOption.ValidateAll() if the designated constraints aren't met. type SocketOptionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketOptionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketOptionMultiError) AllErrors() []error { return m } // SocketOptionValidationError is the validation error returned by // SocketOption.Validate if the designated constraints aren't met. type SocketOptionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketOptionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketOptionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketOptionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketOptionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketOptionValidationError) ErrorName() string { return "SocketOptionValidationError" } // Error satisfies the builtin error interface func (e SocketOptionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketOption.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketOptionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketOptionValidationError{} go-control-plane-0.12.0/envoy/api/v2/discovery.pb.go000077500000000000000000001104151454502223200221540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/discovery.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" any1 "github.com/golang/protobuf/ptypes/any" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A DiscoveryRequest requests a set of versioned resources of the same type for // a given Envoy node on some API. // [#next-free-field: 7] type DiscoveryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version_info provided in the request messages will be the version_info // received with the most recent successfully processed response or empty on // the first request. It is expected that no new request is sent after a // response is received until the Envoy instance is ready to ACK/NACK the new // configuration. ACK/NACK takes place by returning the new API config version // as applied or the previous API config version respectively. Each type_url // (see below) has an independent version associated with it. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The node making the request. Node *core.Node `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` // List of resources to subscribe to, e.g. list of cluster names or a route // configuration name. If this is empty, all resources for the API are // returned. LDS/CDS may have empty resource_names, which will cause all // resources for the Envoy instance to be returned. The LDS and CDS responses // will then imply a number of resources that need to be fetched via EDS/RDS, // which will be explicitly enumerated in resource_names. ResourceNames []string `protobuf:"bytes,3,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"` // Type of the resource that is being requested, e.g. // "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit // in requests made via singleton xDS APIs such as CDS, LDS, etc. but is // required for ADS. TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // nonce corresponding to DiscoveryResponse being ACK/NACKed. See above // discussion on version_info and the DiscoveryResponse nonce comment. This // may be empty only if 1) this is a non-persistent-stream xDS such as HTTP, // or 2) the client has not yet accepted an update in this xDS stream (unlike // delta, where it is populated only for new explicit ACKs). ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"` // This is populated when the previous :ref:`DiscoveryResponse ` // failed to update configuration. The *message* field in *error_details* provides the Envoy // internal exception related to the failure. It is only intended for consumption during manual // debugging, the string provided is not guaranteed to be stable across Envoy versions. ErrorDetail *status.Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` } func (x *DiscoveryRequest) Reset() { *x = DiscoveryRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_discovery_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiscoveryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiscoveryRequest) ProtoMessage() {} func (x *DiscoveryRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_discovery_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiscoveryRequest.ProtoReflect.Descriptor instead. func (*DiscoveryRequest) Descriptor() ([]byte, []int) { return file_envoy_api_v2_discovery_proto_rawDescGZIP(), []int{0} } func (x *DiscoveryRequest) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *DiscoveryRequest) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *DiscoveryRequest) GetResourceNames() []string { if x != nil { return x.ResourceNames } return nil } func (x *DiscoveryRequest) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DiscoveryRequest) GetResponseNonce() string { if x != nil { return x.ResponseNonce } return "" } func (x *DiscoveryRequest) GetErrorDetail() *status.Status { if x != nil { return x.ErrorDetail } return nil } // [#next-free-field: 7] type DiscoveryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version of the response data. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The response resources. These resources are typed and depend on the API being called. Resources []*any1.Any `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` // [#not-implemented-hide:] // Canary is used to support two Envoy command line flags: // // - --terminate-on-canary-transition-failure. When set, Envoy is able to // terminate if it detects that configuration is stuck at canary. Consider // this example sequence of updates: // - Management server applies a canary config successfully. // - Management server rolls back to a production config. // - Envoy rejects the new production config. // Since there is no sensible way to continue receiving configuration // updates, Envoy will then terminate and apply production config from a // clean slate. // - --dry-run-canary. When set, a canary response will never be applied, only // validated via a dry run. Canary bool `protobuf:"varint,3,opt,name=canary,proto3" json:"canary,omitempty"` // Type URL for resources. Identifies the xDS API when muxing over ADS. // Must be consistent with the type_url in the 'resources' repeated Any (if non-empty). TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // For gRPC based subscriptions, the nonce provides a way to explicitly ack a // specific DiscoveryResponse in a following DiscoveryRequest. Additional // messages may have been sent by Envoy to the management server for the // previous version on the stream prior to this DiscoveryResponse, that were // unprocessed at response send time. The nonce allows the management server // to ignore any further DiscoveryRequests for the previous version until a // DiscoveryRequest bearing the nonce. The nonce is optional and is not // required for non-stream based xDS implementations. Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` // [#not-implemented-hide:] // The control plane instance that sent the response. ControlPlane *core.ControlPlane `protobuf:"bytes,6,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"` } func (x *DiscoveryResponse) Reset() { *x = DiscoveryResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_discovery_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiscoveryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiscoveryResponse) ProtoMessage() {} func (x *DiscoveryResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_discovery_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiscoveryResponse.ProtoReflect.Descriptor instead. func (*DiscoveryResponse) Descriptor() ([]byte, []int) { return file_envoy_api_v2_discovery_proto_rawDescGZIP(), []int{1} } func (x *DiscoveryResponse) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *DiscoveryResponse) GetResources() []*any1.Any { if x != nil { return x.Resources } return nil } func (x *DiscoveryResponse) GetCanary() bool { if x != nil { return x.Canary } return false } func (x *DiscoveryResponse) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DiscoveryResponse) GetNonce() string { if x != nil { return x.Nonce } return "" } func (x *DiscoveryResponse) GetControlPlane() *core.ControlPlane { if x != nil { return x.ControlPlane } return nil } // DeltaDiscoveryRequest and DeltaDiscoveryResponse are used in a new gRPC // endpoint for Delta xDS. // // With Delta xDS, the DeltaDiscoveryResponses do not need to include a full // snapshot of the tracked resources. Instead, DeltaDiscoveryResponses are a // diff to the state of a xDS client. // In Delta XDS there are per-resource versions, which allow tracking state at // the resource granularity. // An xDS Delta session is always in the context of a gRPC bidirectional // stream. This allows the xDS server to keep track of the state of xDS clients // connected to it. // // In Delta xDS the nonce field is required and used to pair // DeltaDiscoveryResponse to a DeltaDiscoveryRequest ACK or NACK. // Optionally, a response message level system_version_info is present for // debugging purposes only. // // DeltaDiscoveryRequest plays two independent roles. Any DeltaDiscoveryRequest // can be either or both of: [1] informing the server of what resources the // client has gained/lost interest in (using resource_names_subscribe and // resource_names_unsubscribe), or [2] (N)ACKing an earlier resource update from // the server (using response_nonce, with presence of error_detail making it a NACK). // Additionally, the first message (for a given type_url) of a reconnected gRPC stream // has a third role: informing the server of the resources (and their versions) // that the client already possesses, using the initial_resource_versions field. // // As with state-of-the-world, when multiple resource types are multiplexed (ADS), // all requests/acknowledgments/updates are logically walled off by type_url: // a Cluster ACK exists in a completely separate world from a prior Route NACK. // In particular, initial_resource_versions being sent at the "start" of every // gRPC stream actually entails a message for each type_url, each with its own // initial_resource_versions. // [#next-free-field: 8] type DeltaDiscoveryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node making the request. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // Type of the resource that is being requested, e.g. // "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // DeltaDiscoveryRequests allow the client to add or remove individual // resources to the set of tracked resources in the context of a stream. // All resource names in the resource_names_subscribe list are added to the // set of tracked resources and all resource names in the resource_names_unsubscribe // list are removed from the set of tracked resources. // // *Unlike* state-of-the-world xDS, an empty resource_names_subscribe or // resource_names_unsubscribe list simply means that no resources are to be // added or removed to the resource list. // *Like* state-of-the-world xDS, the server must send updates for all tracked // resources, but can also send updates for resources the client has not subscribed to. // // NOTE: the server must respond with all resources listed in resource_names_subscribe, // even if it believes the client has the most recent version of them. The reason: // the client may have dropped them, but then regained interest before it had a chance // to send the unsubscribe message. See DeltaSubscriptionStateTest.RemoveThenAdd. // // These two fields can be set in any DeltaDiscoveryRequest, including ACKs // and initial_resource_versions. // // A list of Resource names to add to the list of tracked resources. ResourceNamesSubscribe []string `protobuf:"bytes,3,rep,name=resource_names_subscribe,json=resourceNamesSubscribe,proto3" json:"resource_names_subscribe,omitempty"` // A list of Resource names to remove from the list of tracked resources. ResourceNamesUnsubscribe []string `protobuf:"bytes,4,rep,name=resource_names_unsubscribe,json=resourceNamesUnsubscribe,proto3" json:"resource_names_unsubscribe,omitempty"` // Informs the server of the versions of the resources the xDS client knows of, to enable the // client to continue the same logical xDS session even in the face of gRPC stream reconnection. // It will not be populated: [1] in the very first stream of a session, since the client will // not yet have any resources, [2] in any message after the first in a stream (for a given // type_url), since the server will already be correctly tracking the client's state. // (In ADS, the first message *of each type_url* of a reconnected stream populates this map.) // The map's keys are names of xDS resources known to the xDS client. // The map's values are opaque resource versions. InitialResourceVersions map[string]string `protobuf:"bytes,5,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When the DeltaDiscoveryRequest is a ACK or NACK message in response // to a previous DeltaDiscoveryResponse, the response_nonce must be the // nonce in the DeltaDiscoveryResponse. // Otherwise (unlike in DiscoveryRequest) response_nonce must be omitted. ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"` // This is populated when the previous :ref:`DiscoveryResponse ` // failed to update configuration. The *message* field in *error_details* // provides the Envoy internal exception related to the failure. ErrorDetail *status.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` } func (x *DeltaDiscoveryRequest) Reset() { *x = DeltaDiscoveryRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_discovery_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeltaDiscoveryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeltaDiscoveryRequest) ProtoMessage() {} func (x *DeltaDiscoveryRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_discovery_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeltaDiscoveryRequest.ProtoReflect.Descriptor instead. func (*DeltaDiscoveryRequest) Descriptor() ([]byte, []int) { return file_envoy_api_v2_discovery_proto_rawDescGZIP(), []int{2} } func (x *DeltaDiscoveryRequest) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *DeltaDiscoveryRequest) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DeltaDiscoveryRequest) GetResourceNamesSubscribe() []string { if x != nil { return x.ResourceNamesSubscribe } return nil } func (x *DeltaDiscoveryRequest) GetResourceNamesUnsubscribe() []string { if x != nil { return x.ResourceNamesUnsubscribe } return nil } func (x *DeltaDiscoveryRequest) GetInitialResourceVersions() map[string]string { if x != nil { return x.InitialResourceVersions } return nil } func (x *DeltaDiscoveryRequest) GetResponseNonce() string { if x != nil { return x.ResponseNonce } return "" } func (x *DeltaDiscoveryRequest) GetErrorDetail() *status.Status { if x != nil { return x.ErrorDetail } return nil } // [#next-free-field: 7] type DeltaDiscoveryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version of the response data (used for debugging). SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"` // The response resources. These are typed resources, whose types must match // the type_url field. Resources []*Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` // Type URL for resources. Identifies the xDS API when muxing over ADS. // Must be consistent with the type_url in the Any within 'resources' if 'resources' is non-empty. TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // Resources names of resources that have be deleted and to be removed from the xDS Client. // Removed resources for missing resources can be ignored. RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"` // The nonce provides a way for DeltaDiscoveryRequests to uniquely // reference a DeltaDiscoveryResponse when (N)ACKing. The nonce is required. Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` } func (x *DeltaDiscoveryResponse) Reset() { *x = DeltaDiscoveryResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_discovery_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeltaDiscoveryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeltaDiscoveryResponse) ProtoMessage() {} func (x *DeltaDiscoveryResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_discovery_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeltaDiscoveryResponse.ProtoReflect.Descriptor instead. func (*DeltaDiscoveryResponse) Descriptor() ([]byte, []int) { return file_envoy_api_v2_discovery_proto_rawDescGZIP(), []int{3} } func (x *DeltaDiscoveryResponse) GetSystemVersionInfo() string { if x != nil { return x.SystemVersionInfo } return "" } func (x *DeltaDiscoveryResponse) GetResources() []*Resource { if x != nil { return x.Resources } return nil } func (x *DeltaDiscoveryResponse) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DeltaDiscoveryResponse) GetRemovedResources() []string { if x != nil { return x.RemovedResources } return nil } func (x *DeltaDiscoveryResponse) GetNonce() string { if x != nil { return x.Nonce } return "" } type Resource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The resource's name, to distinguish it from others of the same type of resource. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The aliases are a list of other names that this resource can go by. Aliases []string `protobuf:"bytes,4,rep,name=aliases,proto3" json:"aliases,omitempty"` // The resource level version. It allows xDS to track the state of individual // resources. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // The resource being tracked. Resource *any1.Any `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *Resource) Reset() { *x = Resource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_discovery_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Resource) String() string { return protoimpl.X.MessageStringOf(x) } func (*Resource) ProtoMessage() {} func (x *Resource) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_discovery_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Resource.ProtoReflect.Descriptor instead. func (*Resource) Descriptor() ([]byte, []int) { return file_envoy_api_v2_discovery_proto_rawDescGZIP(), []int{4} } func (x *Resource) GetName() string { if x != nil { return x.Name } return "" } func (x *Resource) GetAliases() []string { if x != nil { return x.Aliases } return nil } func (x *Resource) GetVersion() string { if x != nil { return x.Version } return "" } func (x *Resource) GetResource() *any1.Any { if x != nil { return x.Resource } return nil } var File_envoy_api_v2_discovery_proto protoreflect.FileDescriptor var file_envoy_api_v2_discovery_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xf9, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x22, 0xff, 0x03, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x7c, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0x4a, 0x0a, 0x1c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x93, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1c, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_discovery_proto_rawDescOnce sync.Once file_envoy_api_v2_discovery_proto_rawDescData = file_envoy_api_v2_discovery_proto_rawDesc ) func file_envoy_api_v2_discovery_proto_rawDescGZIP() []byte { file_envoy_api_v2_discovery_proto_rawDescOnce.Do(func() { file_envoy_api_v2_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_discovery_proto_rawDescData) }) return file_envoy_api_v2_discovery_proto_rawDescData } var file_envoy_api_v2_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_api_v2_discovery_proto_goTypes = []interface{}{ (*DiscoveryRequest)(nil), // 0: envoy.api.v2.DiscoveryRequest (*DiscoveryResponse)(nil), // 1: envoy.api.v2.DiscoveryResponse (*DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*DeltaDiscoveryResponse)(nil), // 3: envoy.api.v2.DeltaDiscoveryResponse (*Resource)(nil), // 4: envoy.api.v2.Resource nil, // 5: envoy.api.v2.DeltaDiscoveryRequest.InitialResourceVersionsEntry (*core.Node)(nil), // 6: envoy.api.v2.core.Node (*status.Status)(nil), // 7: google.rpc.Status (*any1.Any)(nil), // 8: google.protobuf.Any (*core.ControlPlane)(nil), // 9: envoy.api.v2.core.ControlPlane } var file_envoy_api_v2_discovery_proto_depIdxs = []int32{ 6, // 0: envoy.api.v2.DiscoveryRequest.node:type_name -> envoy.api.v2.core.Node 7, // 1: envoy.api.v2.DiscoveryRequest.error_detail:type_name -> google.rpc.Status 8, // 2: envoy.api.v2.DiscoveryResponse.resources:type_name -> google.protobuf.Any 9, // 3: envoy.api.v2.DiscoveryResponse.control_plane:type_name -> envoy.api.v2.core.ControlPlane 6, // 4: envoy.api.v2.DeltaDiscoveryRequest.node:type_name -> envoy.api.v2.core.Node 5, // 5: envoy.api.v2.DeltaDiscoveryRequest.initial_resource_versions:type_name -> envoy.api.v2.DeltaDiscoveryRequest.InitialResourceVersionsEntry 7, // 6: envoy.api.v2.DeltaDiscoveryRequest.error_detail:type_name -> google.rpc.Status 4, // 7: envoy.api.v2.DeltaDiscoveryResponse.resources:type_name -> envoy.api.v2.Resource 8, // 8: envoy.api.v2.Resource.resource:type_name -> google.protobuf.Any 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_api_v2_discovery_proto_init() } func file_envoy_api_v2_discovery_proto_init() { if File_envoy_api_v2_discovery_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscoveryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscoveryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeltaDiscoveryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeltaDiscoveryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_discovery_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Resource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_discovery_proto_rawDesc, NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_discovery_proto_goTypes, DependencyIndexes: file_envoy_api_v2_discovery_proto_depIdxs, MessageInfos: file_envoy_api_v2_discovery_proto_msgTypes, }.Build() File_envoy_api_v2_discovery_proto = out.File file_envoy_api_v2_discovery_proto_rawDesc = nil file_envoy_api_v2_discovery_proto_goTypes = nil file_envoy_api_v2_discovery_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/discovery.pb.validate.go000077500000000000000000000532571454502223200237560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/discovery.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DiscoveryRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DiscoveryRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DiscoveryRequestMultiError, or nil if none found. func (m *DiscoveryRequest) ValidateAll() error { return m.validate(true) } func (m *DiscoveryRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TypeUrl // no validation rules for ResponseNonce if all { switch v := interface{}(m.GetErrorDetail()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorDetail()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DiscoveryRequestMultiError(errors) } return nil } // DiscoveryRequestMultiError is an error wrapping multiple validation errors // returned by DiscoveryRequest.ValidateAll() if the designated constraints // aren't met. type DiscoveryRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DiscoveryRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DiscoveryRequestMultiError) AllErrors() []error { return m } // DiscoveryRequestValidationError is the validation error returned by // DiscoveryRequest.Validate if the designated constraints aren't met. type DiscoveryRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DiscoveryRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DiscoveryRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DiscoveryRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DiscoveryRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DiscoveryRequestValidationError) ErrorName() string { return "DiscoveryRequestValidationError" } // Error satisfies the builtin error interface func (e DiscoveryRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDiscoveryRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DiscoveryRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DiscoveryRequestValidationError{} // Validate checks the field values on DiscoveryResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DiscoveryResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DiscoveryResponseMultiError, or nil if none found. func (m *DiscoveryResponse) ValidateAll() error { return m.validate(true) } func (m *DiscoveryResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetResources() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Canary // no validation rules for TypeUrl // no validation rules for Nonce if all { switch v := interface{}(m.GetControlPlane()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetControlPlane()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DiscoveryResponseMultiError(errors) } return nil } // DiscoveryResponseMultiError is an error wrapping multiple validation errors // returned by DiscoveryResponse.ValidateAll() if the designated constraints // aren't met. type DiscoveryResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DiscoveryResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DiscoveryResponseMultiError) AllErrors() []error { return m } // DiscoveryResponseValidationError is the validation error returned by // DiscoveryResponse.Validate if the designated constraints aren't met. type DiscoveryResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DiscoveryResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DiscoveryResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DiscoveryResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DiscoveryResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DiscoveryResponseValidationError) ErrorName() string { return "DiscoveryResponseValidationError" } // Error satisfies the builtin error interface func (e DiscoveryResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDiscoveryResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DiscoveryResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DiscoveryResponseValidationError{} // Validate checks the field values on DeltaDiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeltaDiscoveryRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeltaDiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeltaDiscoveryRequestMultiError, or nil if none found. func (m *DeltaDiscoveryRequest) ValidateAll() error { return m.validate(true) } func (m *DeltaDiscoveryRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TypeUrl // no validation rules for InitialResourceVersions // no validation rules for ResponseNonce if all { switch v := interface{}(m.GetErrorDetail()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorDetail()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DeltaDiscoveryRequestMultiError(errors) } return nil } // DeltaDiscoveryRequestMultiError is an error wrapping multiple validation // errors returned by DeltaDiscoveryRequest.ValidateAll() if the designated // constraints aren't met. type DeltaDiscoveryRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeltaDiscoveryRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeltaDiscoveryRequestMultiError) AllErrors() []error { return m } // DeltaDiscoveryRequestValidationError is the validation error returned by // DeltaDiscoveryRequest.Validate if the designated constraints aren't met. type DeltaDiscoveryRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeltaDiscoveryRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeltaDiscoveryRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeltaDiscoveryRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeltaDiscoveryRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeltaDiscoveryRequestValidationError) ErrorName() string { return "DeltaDiscoveryRequestValidationError" } // Error satisfies the builtin error interface func (e DeltaDiscoveryRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeltaDiscoveryRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeltaDiscoveryRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeltaDiscoveryRequestValidationError{} // Validate checks the field values on DeltaDiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeltaDiscoveryResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeltaDiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeltaDiscoveryResponseMultiError, or nil if none found. func (m *DeltaDiscoveryResponse) ValidateAll() error { return m.validate(true) } func (m *DeltaDiscoveryResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SystemVersionInfo for idx, item := range m.GetResources() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for TypeUrl // no validation rules for Nonce if len(errors) > 0 { return DeltaDiscoveryResponseMultiError(errors) } return nil } // DeltaDiscoveryResponseMultiError is an error wrapping multiple validation // errors returned by DeltaDiscoveryResponse.ValidateAll() if the designated // constraints aren't met. type DeltaDiscoveryResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeltaDiscoveryResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeltaDiscoveryResponseMultiError) AllErrors() []error { return m } // DeltaDiscoveryResponseValidationError is the validation error returned by // DeltaDiscoveryResponse.Validate if the designated constraints aren't met. type DeltaDiscoveryResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeltaDiscoveryResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeltaDiscoveryResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeltaDiscoveryResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeltaDiscoveryResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeltaDiscoveryResponseValidationError) ErrorName() string { return "DeltaDiscoveryResponseValidationError" } // Error satisfies the builtin error interface func (e DeltaDiscoveryResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeltaDiscoveryResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeltaDiscoveryResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeltaDiscoveryResponseValidationError{} // Validate checks the field values on Resource with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Resource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Resource with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResourceMultiError, or nil // if none found. func (m *Resource) ValidateAll() error { return m.validate(true) } func (m *Resource) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for Version if all { switch v := interface{}(m.GetResource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ResourceMultiError(errors) } return nil } // ResourceMultiError is an error wrapping multiple validation errors returned // by Resource.ValidateAll() if the designated constraints aren't met. type ResourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceMultiError) AllErrors() []error { return m } // ResourceValidationError is the validation error returned by // Resource.Validate if the designated constraints aren't met. type ResourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceValidationError) ErrorName() string { return "ResourceValidationError" } // Error satisfies the builtin error interface func (e ResourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceValidationError{} go-control-plane-0.12.0/envoy/api/v2/eds.pb.go000077500000000000000000000430521454502223200207220ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/eds.proto package apiv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type EdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *EdsDummy) Reset() { *x = EdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_eds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*EdsDummy) ProtoMessage() {} func (x *EdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_eds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EdsDummy.ProtoReflect.Descriptor instead. func (*EdsDummy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_eds_proto_rawDescGZIP(), []int{0} } var File_envoy_api_v2_eds_proto protoreflect.FileDescriptor var file_envoy_api_v2_eds_proto_rawDesc = []byte{ 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xfa, 0x02, 0x0a, 0x18, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x2a, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x8c, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1b, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x45, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x50, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_eds_proto_rawDescOnce sync.Once file_envoy_api_v2_eds_proto_rawDescData = file_envoy_api_v2_eds_proto_rawDesc ) func file_envoy_api_v2_eds_proto_rawDescGZIP() []byte { file_envoy_api_v2_eds_proto_rawDescOnce.Do(func() { file_envoy_api_v2_eds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_eds_proto_rawDescData) }) return file_envoy_api_v2_eds_proto_rawDescData } var file_envoy_api_v2_eds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_eds_proto_goTypes = []interface{}{ (*EdsDummy)(nil), // 0: envoy.api.v2.EdsDummy (*DiscoveryRequest)(nil), // 1: envoy.api.v2.DiscoveryRequest (*DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.api.v2.DiscoveryResponse (*DeltaDiscoveryResponse)(nil), // 4: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_api_v2_eds_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.EndpointDiscoveryService.StreamEndpoints:input_type -> envoy.api.v2.DiscoveryRequest 2, // 1: envoy.api.v2.EndpointDiscoveryService.DeltaEndpoints:input_type -> envoy.api.v2.DeltaDiscoveryRequest 1, // 2: envoy.api.v2.EndpointDiscoveryService.FetchEndpoints:input_type -> envoy.api.v2.DiscoveryRequest 3, // 3: envoy.api.v2.EndpointDiscoveryService.StreamEndpoints:output_type -> envoy.api.v2.DiscoveryResponse 4, // 4: envoy.api.v2.EndpointDiscoveryService.DeltaEndpoints:output_type -> envoy.api.v2.DeltaDiscoveryResponse 3, // 5: envoy.api.v2.EndpointDiscoveryService.FetchEndpoints:output_type -> envoy.api.v2.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_eds_proto_init() } func file_envoy_api_v2_eds_proto_init() { if File_envoy_api_v2_eds_proto != nil { return } file_envoy_api_v2_discovery_proto_init() file_envoy_api_v2_endpoint_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_eds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_eds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_api_v2_eds_proto_goTypes, DependencyIndexes: file_envoy_api_v2_eds_proto_depIdxs, MessageInfos: file_envoy_api_v2_eds_proto_msgTypes, }.Build() File_envoy_api_v2_eds_proto = out.File file_envoy_api_v2_eds_proto_rawDesc = nil file_envoy_api_v2_eds_proto_goTypes = nil file_envoy_api_v2_eds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // EndpointDiscoveryServiceClient is the client API for EndpointDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type EndpointDiscoveryServiceClient interface { // The resource_names field in DiscoveryRequest specifies a list of clusters // to subscribe to updates for. StreamEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamEndpointsClient, error) DeltaEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_DeltaEndpointsClient, error) FetchEndpoints(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) } type endpointDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewEndpointDiscoveryServiceClient(cc grpc.ClientConnInterface) EndpointDiscoveryServiceClient { return &endpointDiscoveryServiceClient{cc} } func (c *endpointDiscoveryServiceClient) StreamEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamEndpointsClient, error) { stream, err := c.cc.NewStream(ctx, &_EndpointDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.EndpointDiscoveryService/StreamEndpoints", opts...) if err != nil { return nil, err } x := &endpointDiscoveryServiceStreamEndpointsClient{stream} return x, nil } type EndpointDiscoveryService_StreamEndpointsClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type endpointDiscoveryServiceStreamEndpointsClient struct { grpc.ClientStream } func (x *endpointDiscoveryServiceStreamEndpointsClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *endpointDiscoveryServiceStreamEndpointsClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *endpointDiscoveryServiceClient) DeltaEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_DeltaEndpointsClient, error) { stream, err := c.cc.NewStream(ctx, &_EndpointDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.EndpointDiscoveryService/DeltaEndpoints", opts...) if err != nil { return nil, err } x := &endpointDiscoveryServiceDeltaEndpointsClient{stream} return x, nil } type EndpointDiscoveryService_DeltaEndpointsClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type endpointDiscoveryServiceDeltaEndpointsClient struct { grpc.ClientStream } func (x *endpointDiscoveryServiceDeltaEndpointsClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *endpointDiscoveryServiceDeltaEndpointsClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *endpointDiscoveryServiceClient) FetchEndpoints(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { out := new(DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.api.v2.EndpointDiscoveryService/FetchEndpoints", in, out, opts...) if err != nil { return nil, err } return out, nil } // EndpointDiscoveryServiceServer is the server API for EndpointDiscoveryService service. type EndpointDiscoveryServiceServer interface { // The resource_names field in DiscoveryRequest specifies a list of clusters // to subscribe to updates for. StreamEndpoints(EndpointDiscoveryService_StreamEndpointsServer) error DeltaEndpoints(EndpointDiscoveryService_DeltaEndpointsServer) error FetchEndpoints(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) } // UnimplementedEndpointDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedEndpointDiscoveryServiceServer struct { } func (*UnimplementedEndpointDiscoveryServiceServer) StreamEndpoints(EndpointDiscoveryService_StreamEndpointsServer) error { return status.Errorf(codes.Unimplemented, "method StreamEndpoints not implemented") } func (*UnimplementedEndpointDiscoveryServiceServer) DeltaEndpoints(EndpointDiscoveryService_DeltaEndpointsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaEndpoints not implemented") } func (*UnimplementedEndpointDiscoveryServiceServer) FetchEndpoints(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchEndpoints not implemented") } func RegisterEndpointDiscoveryServiceServer(s *grpc.Server, srv EndpointDiscoveryServiceServer) { s.RegisterService(&_EndpointDiscoveryService_serviceDesc, srv) } func _EndpointDiscoveryService_StreamEndpoints_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EndpointDiscoveryServiceServer).StreamEndpoints(&endpointDiscoveryServiceStreamEndpointsServer{stream}) } type EndpointDiscoveryService_StreamEndpointsServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type endpointDiscoveryServiceStreamEndpointsServer struct { grpc.ServerStream } func (x *endpointDiscoveryServiceStreamEndpointsServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *endpointDiscoveryServiceStreamEndpointsServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _EndpointDiscoveryService_DeltaEndpoints_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EndpointDiscoveryServiceServer).DeltaEndpoints(&endpointDiscoveryServiceDeltaEndpointsServer{stream}) } type EndpointDiscoveryService_DeltaEndpointsServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type endpointDiscoveryServiceDeltaEndpointsServer struct { grpc.ServerStream } func (x *endpointDiscoveryServiceDeltaEndpointsServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *endpointDiscoveryServiceDeltaEndpointsServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _EndpointDiscoveryService_FetchEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EndpointDiscoveryServiceServer).FetchEndpoints(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.api.v2.EndpointDiscoveryService/FetchEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EndpointDiscoveryServiceServer).FetchEndpoints(ctx, req.(*DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _EndpointDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.EndpointDiscoveryService", HandlerType: (*EndpointDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchEndpoints", Handler: _EndpointDiscoveryService_FetchEndpoints_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamEndpoints", Handler: _EndpointDiscoveryService_StreamEndpoints_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaEndpoints", Handler: _EndpointDiscoveryService_DeltaEndpoints_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/eds.proto", } go-control-plane-0.12.0/envoy/api/v2/eds.pb.validate.go000077500000000000000000000061051454502223200225100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/eds.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EdsDummyMultiError, or nil // if none found. func (m *EdsDummy) ValidateAll() error { return m.validate(true) } func (m *EdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EdsDummyMultiError(errors) } return nil } // EdsDummyMultiError is an error wrapping multiple validation errors returned // by EdsDummy.ValidateAll() if the designated constraints aren't met. type EdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EdsDummyMultiError) AllErrors() []error { return m } // EdsDummyValidationError is the validation error returned by // EdsDummy.Validate if the designated constraints aren't met. type EdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EdsDummyValidationError) ErrorName() string { return "EdsDummyValidationError" } // Error satisfies the builtin error interface func (e EdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EdsDummyValidationError{} go-control-plane-0.12.0/envoy/api/v2/endpoint.pb.go000077500000000000000000000557631454502223200220030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/endpoint.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" endpoint "github.com/envoyproxy/go-control-plane/envoy/api/v2/endpoint" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Each route from RDS will map to a single cluster or traffic split across // clusters using weights expressed in the RDS WeightedCluster. // // With EDS, each cluster is treated independently from a LB perspective, with // LB taking place between the Localities within a cluster and at a finer // granularity between the hosts within a locality. The percentage of traffic // for each endpoint is determined by both its load_balancing_weight, and the // load_balancing_weight of its locality. First, a locality will be selected, // then an endpoint within that locality will be chose based on its weight. // [#next-free-field: 6] type ClusterLoadAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the cluster. This will be the :ref:`service_name // ` value if specified // in the cluster :ref:`EdsClusterConfig // `. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // List of endpoints to load balance to. Endpoints []*endpoint.LocalityLbEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // Map of named endpoints that can be referenced in LocalityLbEndpoints. // [#not-implemented-hide:] NamedEndpoints map[string]*endpoint.Endpoint `protobuf:"bytes,5,rep,name=named_endpoints,json=namedEndpoints,proto3" json:"named_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Load balancing policy settings. Policy *ClusterLoadAssignment_Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"` } func (x *ClusterLoadAssignment) Reset() { *x = ClusterLoadAssignment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment) ProtoMessage() {} func (x *ClusterLoadAssignment) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_proto_rawDescGZIP(), []int{0} } func (x *ClusterLoadAssignment) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterLoadAssignment) GetEndpoints() []*endpoint.LocalityLbEndpoints { if x != nil { return x.Endpoints } return nil } func (x *ClusterLoadAssignment) GetNamedEndpoints() map[string]*endpoint.Endpoint { if x != nil { return x.NamedEndpoints } return nil } func (x *ClusterLoadAssignment) GetPolicy() *ClusterLoadAssignment_Policy { if x != nil { return x.Policy } return nil } // Load balancing policy settings. // [#next-free-field: 6] type ClusterLoadAssignment_Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Action to trim the overall incoming traffic to protect the upstream // hosts. This action allows protection in case the hosts are unable to // recover from an outage, or unable to autoscale or unable to handle // incoming traffic volume for any reason. // // At the client each category is applied one after the other to generate // the 'actual' drop percentage on all outgoing traffic. For example: // // .. code-block:: json // // { "drop_overloads": [ // { "category": "throttle", "drop_percentage": 60 } // { "category": "lb", "drop_percentage": 50 } // ]} // // The actual drop percentages applied to the traffic at the clients will be // // "throttle"_drop = 60% // "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%. // actual_outgoing_load = 20% // remaining after applying all categories. // // [#not-implemented-hide:] DropOverloads []*ClusterLoadAssignment_Policy_DropOverload `protobuf:"bytes,2,rep,name=drop_overloads,json=dropOverloads,proto3" json:"drop_overloads,omitempty"` // Priority levels and localities are considered overprovisioned with this // factor (in percentage). This means that we don't consider a priority // level or locality unhealthy until the percentage of healthy hosts // multiplied by the overprovisioning factor drops below 100. // With the default value 140(1.4), Envoy doesn't consider a priority level // or a locality unhealthy until their percentage of healthy hosts drops // below 72%. For example: // // .. code-block:: json // // { "overprovisioning_factor": 100 } // // Read more at :ref:`priority levels ` and // :ref:`localities `. OverprovisioningFactor *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=overprovisioning_factor,json=overprovisioningFactor,proto3" json:"overprovisioning_factor,omitempty"` // The max time until which the endpoints from this assignment can be used. // If no new assignments are received before this time expires the endpoints // are considered stale and should be marked unhealthy. // Defaults to 0 which means endpoints never go stale. EndpointStaleAfter *duration.Duration `protobuf:"bytes,4,opt,name=endpoint_stale_after,json=endpointStaleAfter,proto3" json:"endpoint_stale_after,omitempty"` // The flag to disable overprovisioning. If it is set to true, // :ref:`overprovisioning factor // ` will be ignored // and Envoy will not perform graceful failover between priority levels or // localities as endpoints become unhealthy. Otherwise Envoy will perform // graceful failover as :ref:`overprovisioning factor // ` suggests. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/api/v2/endpoint.proto. DisableOverprovisioning bool `protobuf:"varint,5,opt,name=disable_overprovisioning,json=disableOverprovisioning,proto3" json:"disable_overprovisioning,omitempty"` } func (x *ClusterLoadAssignment_Policy) Reset() { *x = ClusterLoadAssignment_Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment_Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment_Policy) ProtoMessage() {} func (x *ClusterLoadAssignment_Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment_Policy.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment_Policy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_proto_rawDescGZIP(), []int{0, 0} } func (x *ClusterLoadAssignment_Policy) GetDropOverloads() []*ClusterLoadAssignment_Policy_DropOverload { if x != nil { return x.DropOverloads } return nil } func (x *ClusterLoadAssignment_Policy) GetOverprovisioningFactor() *wrappers.UInt32Value { if x != nil { return x.OverprovisioningFactor } return nil } func (x *ClusterLoadAssignment_Policy) GetEndpointStaleAfter() *duration.Duration { if x != nil { return x.EndpointStaleAfter } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/endpoint.proto. func (x *ClusterLoadAssignment_Policy) GetDisableOverprovisioning() bool { if x != nil { return x.DisableOverprovisioning } return false } // [#not-implemented-hide:] type ClusterLoadAssignment_Policy_DropOverload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier for the policy specifying the drop. Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // Percentage of traffic that should be dropped for the category. DropPercentage *_type.FractionalPercent `protobuf:"bytes,2,opt,name=drop_percentage,json=dropPercentage,proto3" json:"drop_percentage,omitempty"` } func (x *ClusterLoadAssignment_Policy_DropOverload) Reset() { *x = ClusterLoadAssignment_Policy_DropOverload{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment_Policy_DropOverload) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment_Policy_DropOverload) ProtoMessage() {} func (x *ClusterLoadAssignment_Policy_DropOverload) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment_Policy_DropOverload.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *ClusterLoadAssignment_Policy_DropOverload) GetCategory() string { if x != nil { return x.Category } return "" } func (x *ClusterLoadAssignment_Policy_DropOverload) GetDropPercentage() *_type.FractionalPercent { if x != nil { return x.DropPercentage } return nil } var File_envoy_api_v2_endpoint_proto protoreflect.FileDescriptor var file_envoy_api_v2_endpoint_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x06, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xe1, 0x03, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5e, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x5e, 0x0a, 0x17, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x1a, 0x7b, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0x62, 0x0a, 0x13, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x90, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_endpoint_proto_rawDescOnce sync.Once file_envoy_api_v2_endpoint_proto_rawDescData = file_envoy_api_v2_endpoint_proto_rawDesc ) func file_envoy_api_v2_endpoint_proto_rawDescGZIP() []byte { file_envoy_api_v2_endpoint_proto_rawDescOnce.Do(func() { file_envoy_api_v2_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_endpoint_proto_rawDescData) }) return file_envoy_api_v2_endpoint_proto_rawDescData } var file_envoy_api_v2_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_api_v2_endpoint_proto_goTypes = []interface{}{ (*ClusterLoadAssignment)(nil), // 0: envoy.api.v2.ClusterLoadAssignment (*ClusterLoadAssignment_Policy)(nil), // 1: envoy.api.v2.ClusterLoadAssignment.Policy nil, // 2: envoy.api.v2.ClusterLoadAssignment.NamedEndpointsEntry (*ClusterLoadAssignment_Policy_DropOverload)(nil), // 3: envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload (*endpoint.LocalityLbEndpoints)(nil), // 4: envoy.api.v2.endpoint.LocalityLbEndpoints (*wrappers.UInt32Value)(nil), // 5: google.protobuf.UInt32Value (*duration.Duration)(nil), // 6: google.protobuf.Duration (*endpoint.Endpoint)(nil), // 7: envoy.api.v2.endpoint.Endpoint (*_type.FractionalPercent)(nil), // 8: envoy.type.FractionalPercent } var file_envoy_api_v2_endpoint_proto_depIdxs = []int32{ 4, // 0: envoy.api.v2.ClusterLoadAssignment.endpoints:type_name -> envoy.api.v2.endpoint.LocalityLbEndpoints 2, // 1: envoy.api.v2.ClusterLoadAssignment.named_endpoints:type_name -> envoy.api.v2.ClusterLoadAssignment.NamedEndpointsEntry 1, // 2: envoy.api.v2.ClusterLoadAssignment.policy:type_name -> envoy.api.v2.ClusterLoadAssignment.Policy 3, // 3: envoy.api.v2.ClusterLoadAssignment.Policy.drop_overloads:type_name -> envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload 5, // 4: envoy.api.v2.ClusterLoadAssignment.Policy.overprovisioning_factor:type_name -> google.protobuf.UInt32Value 6, // 5: envoy.api.v2.ClusterLoadAssignment.Policy.endpoint_stale_after:type_name -> google.protobuf.Duration 7, // 6: envoy.api.v2.ClusterLoadAssignment.NamedEndpointsEntry.value:type_name -> envoy.api.v2.endpoint.Endpoint 8, // 7: envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.drop_percentage:type_name -> envoy.type.FractionalPercent 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_api_v2_endpoint_proto_init() } func file_envoy_api_v2_endpoint_proto_init() { if File_envoy_api_v2_endpoint_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment_Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment_Policy_DropOverload); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_endpoint_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_endpoint_proto_goTypes, DependencyIndexes: file_envoy_api_v2_endpoint_proto_depIdxs, MessageInfos: file_envoy_api_v2_endpoint_proto_msgTypes, }.Build() File_envoy_api_v2_endpoint_proto = out.File file_envoy_api_v2_endpoint_proto_rawDesc = nil file_envoy_api_v2_endpoint_proto_goTypes = nil file_envoy_api_v2_endpoint_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/endpoint.pb.validate.go000077500000000000000000000403531454502223200235600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/endpoint.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterLoadAssignment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterLoadAssignment with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterLoadAssignmentMultiError, or nil if none found. func (m *ClusterLoadAssignment) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusterName()) < 1 { err := ClusterLoadAssignmentValidationError{ field: "ClusterName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } { sorted_keys := make([]string, len(m.GetNamedEndpoints())) i := 0 for key := range m.GetNamedEndpoints() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetNamedEndpoints()[key] _ = val // no validation rules for NamedEndpoints[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterLoadAssignmentMultiError(errors) } return nil } // ClusterLoadAssignmentMultiError is an error wrapping multiple validation // errors returned by ClusterLoadAssignment.ValidateAll() if the designated // constraints aren't met. type ClusterLoadAssignmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignmentMultiError) AllErrors() []error { return m } // ClusterLoadAssignmentValidationError is the validation error returned by // ClusterLoadAssignment.Validate if the designated constraints aren't met. type ClusterLoadAssignmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignmentValidationError) ErrorName() string { return "ClusterLoadAssignmentValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignmentValidationError{} // Validate checks the field values on ClusterLoadAssignment_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment_Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterLoadAssignment_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterLoadAssignment_PolicyMultiError, or nil if none found. func (m *ClusterLoadAssignment_Policy) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment_Policy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetDropOverloads() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetOverprovisioningFactor(); wrapper != nil { if wrapper.GetValue() <= 0 { err := ClusterLoadAssignment_PolicyValidationError{ field: "OverprovisioningFactor", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if d := m.GetEndpointStaleAfter(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterLoadAssignment_PolicyValidationError{ field: "EndpointStaleAfter", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterLoadAssignment_PolicyValidationError{ field: "EndpointStaleAfter", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for DisableOverprovisioning if len(errors) > 0 { return ClusterLoadAssignment_PolicyMultiError(errors) } return nil } // ClusterLoadAssignment_PolicyMultiError is an error wrapping multiple // validation errors returned by ClusterLoadAssignment_Policy.ValidateAll() if // the designated constraints aren't met. type ClusterLoadAssignment_PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignment_PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignment_PolicyMultiError) AllErrors() []error { return m } // ClusterLoadAssignment_PolicyValidationError is the validation error returned // by ClusterLoadAssignment_Policy.Validate if the designated constraints // aren't met. type ClusterLoadAssignment_PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignment_PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignment_PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignment_PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignment_PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignment_PolicyValidationError) ErrorName() string { return "ClusterLoadAssignment_PolicyValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignment_PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment_Policy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignment_PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignment_PolicyValidationError{} // Validate checks the field values on // ClusterLoadAssignment_Policy_DropOverload with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment_Policy_DropOverload) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ClusterLoadAssignment_Policy_DropOverload with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ClusterLoadAssignment_Policy_DropOverloadMultiError, or nil if none found. func (m *ClusterLoadAssignment_Policy_DropOverload) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment_Policy_DropOverload) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCategory()) < 1 { err := ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "Category", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDropPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDropPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterLoadAssignment_Policy_DropOverloadMultiError(errors) } return nil } // ClusterLoadAssignment_Policy_DropOverloadMultiError is an error wrapping // multiple validation errors returned by // ClusterLoadAssignment_Policy_DropOverload.ValidateAll() if the designated // constraints aren't met. type ClusterLoadAssignment_Policy_DropOverloadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignment_Policy_DropOverloadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignment_Policy_DropOverloadMultiError) AllErrors() []error { return m } // ClusterLoadAssignment_Policy_DropOverloadValidationError is the validation // error returned by ClusterLoadAssignment_Policy_DropOverload.Validate if the // designated constraints aren't met. type ClusterLoadAssignment_Policy_DropOverloadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) ErrorName() string { return "ClusterLoadAssignment_Policy_DropOverloadValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment_Policy_DropOverload.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignment_Policy_DropOverloadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignment_Policy_DropOverloadValidationError{} go-control-plane-0.12.0/envoy/api/v2/endpoint/000077500000000000000000000000001454502223200210315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/endpoint/endpoint.pb.go000077500000000000000000000066341454502223200236140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/endpoint/endpoint.proto package endpoint import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_api_v2_endpoint_endpoint_proto protoreflect.FileDescriptor var file_envoy_api_v2_endpoint_endpoint_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x74, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_api_v2_endpoint_endpoint_proto_goTypes = []interface{}{} var file_envoy_api_v2_endpoint_endpoint_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_endpoint_endpoint_proto_init() } func file_envoy_api_v2_endpoint_endpoint_proto_init() { if File_envoy_api_v2_endpoint_endpoint_proto != nil { return } file_envoy_api_v2_endpoint_endpoint_components_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_endpoint_endpoint_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_endpoint_endpoint_proto_goTypes, DependencyIndexes: file_envoy_api_v2_endpoint_endpoint_proto_depIdxs, }.Build() File_envoy_api_v2_endpoint_endpoint_proto = out.File file_envoy_api_v2_endpoint_endpoint_proto_rawDesc = nil file_envoy_api_v2_endpoint_endpoint_proto_goTypes = nil file_envoy_api_v2_endpoint_endpoint_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/endpoint/endpoint.pb.validate.go000077500000000000000000000010771454502223200254000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/endpoint/endpoint.proto package endpoint import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/api/v2/endpoint/endpoint_components.pb.go000077500000000000000000000701531454502223200260560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/endpoint/endpoint_components.proto package endpoint import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Upstream host identifier. type Endpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream host address. // // .. attention:: // // The form of host address depends on the given cluster type. For STATIC or EDS, // it is expected to be a direct IP address (or something resolvable by the // specified :ref:`resolver ` // in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname, // and will be resolved via DNS. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // The optional health check configuration is used as configuration for the // health checker to contact the health checked host. // // .. attention:: // // This takes into effect only for upstream clusters with // :ref:`active health checking ` enabled. HealthCheckConfig *Endpoint_HealthCheckConfig `protobuf:"bytes,2,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"` // The hostname associated with this endpoint. This hostname is not used for routing or address // resolution. If provided, it will be associated with the endpoint, and can be used for features // that require a hostname, like // :ref:`auto_host_rewrite `. Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` } func (x *Endpoint) Reset() { *x = Endpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Endpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*Endpoint) ProtoMessage() {} func (x *Endpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. func (*Endpoint) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescGZIP(), []int{0} } func (x *Endpoint) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *Endpoint) GetHealthCheckConfig() *Endpoint_HealthCheckConfig { if x != nil { return x.HealthCheckConfig } return nil } func (x *Endpoint) GetHostname() string { if x != nil { return x.Hostname } return "" } // An Endpoint that Envoy can route traffic to. // [#next-free-field: 6] type LbEndpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream host identifier or a named reference. // // Types that are assignable to HostIdentifier: // // *LbEndpoint_Endpoint // *LbEndpoint_EndpointName HostIdentifier isLbEndpoint_HostIdentifier `protobuf_oneof:"host_identifier"` // Optional health status when known and supplied by EDS server. HealthStatus core.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"health_status,omitempty"` // The endpoint metadata specifies values that may be used by the load // balancer to select endpoints in a cluster for a given request. The filter // name should be specified as *envoy.lb*. An example boolean key-value pair // is *canary*, providing the optional canary status of the upstream host. // This may be matched against in a route's // :ref:`RouteAction ` metadata_match field // to subset the endpoints considered in cluster load balancing. Metadata *core.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // The optional load balancing weight of the upstream host; at least 1. // Envoy uses the load balancing weight in some of the built in load // balancers. The load balancing weight for an endpoint is divided by the sum // of the weights of all endpoints in the endpoint's locality to produce a // percentage of traffic for the endpoint. This percentage is then further // weighted by the endpoint's locality's load balancing weight from // LocalityLbEndpoints. If unspecified, each host is presumed to have equal // weight in a locality. The sum of the weights of all endpoints in the // endpoint's locality must not exceed uint32_t maximal value (4294967295). LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"` } func (x *LbEndpoint) Reset() { *x = LbEndpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LbEndpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*LbEndpoint) ProtoMessage() {} func (x *LbEndpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LbEndpoint.ProtoReflect.Descriptor instead. func (*LbEndpoint) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescGZIP(), []int{1} } func (m *LbEndpoint) GetHostIdentifier() isLbEndpoint_HostIdentifier { if m != nil { return m.HostIdentifier } return nil } func (x *LbEndpoint) GetEndpoint() *Endpoint { if x, ok := x.GetHostIdentifier().(*LbEndpoint_Endpoint); ok { return x.Endpoint } return nil } func (x *LbEndpoint) GetEndpointName() string { if x, ok := x.GetHostIdentifier().(*LbEndpoint_EndpointName); ok { return x.EndpointName } return "" } func (x *LbEndpoint) GetHealthStatus() core.HealthStatus { if x != nil { return x.HealthStatus } return core.HealthStatus(0) } func (x *LbEndpoint) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *LbEndpoint) GetLoadBalancingWeight() *wrappers.UInt32Value { if x != nil { return x.LoadBalancingWeight } return nil } type isLbEndpoint_HostIdentifier interface { isLbEndpoint_HostIdentifier() } type LbEndpoint_Endpoint struct { Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3,oneof"` } type LbEndpoint_EndpointName struct { // [#not-implemented-hide:] EndpointName string `protobuf:"bytes,5,opt,name=endpoint_name,json=endpointName,proto3,oneof"` } func (*LbEndpoint_Endpoint) isLbEndpoint_HostIdentifier() {} func (*LbEndpoint_EndpointName) isLbEndpoint_HostIdentifier() {} // A group of endpoints belonging to a Locality. // One can have multiple LocalityLbEndpoints for a locality, but this is // generally only done if the different groups need to have different load // balancing weights or different priorities. // [#next-free-field: 7] type LocalityLbEndpoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifies location of where the upstream hosts run. Locality *core.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` // The group of endpoints belonging to the locality specified. LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"` // Optional: Per priority/region/zone/sub_zone weight; at least 1. The load // balancing weight for a locality is divided by the sum of the weights of all // localities at the same priority level to produce the effective percentage // of traffic for the locality. The sum of the weights of all localities at // the same priority level must not exceed uint32_t maximal value (4294967295). // // Locality weights are only considered when :ref:`locality weighted load // balancing ` is // configured. These weights are ignored otherwise. If no weights are // specified when locality weighted load balancing is enabled, the locality is // assigned no load. LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"` // Optional: the priority for this LocalityLbEndpoints. If unspecified this will // default to the highest priority (0). // // Under usual circumstances, Envoy will only select endpoints for the highest // priority (0). In the event all endpoints for a particular priority are // unavailable/unhealthy, Envoy will fail over to selecting endpoints for the // next highest priority group. // // Priorities should range from 0 (highest) to N (lowest) without skipping. Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` // Optional: Per locality proximity value which indicates how close this // locality is from the source locality. This value only provides ordering // information (lower the value, closer it is to the source locality). // This will be consumed by load balancing schemes that need proximity order // to determine where to route the requests. // [#not-implemented-hide:] Proximity *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=proximity,proto3" json:"proximity,omitempty"` } func (x *LocalityLbEndpoints) Reset() { *x = LocalityLbEndpoints{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbEndpoints) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbEndpoints) ProtoMessage() {} func (x *LocalityLbEndpoints) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbEndpoints.ProtoReflect.Descriptor instead. func (*LocalityLbEndpoints) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescGZIP(), []int{2} } func (x *LocalityLbEndpoints) GetLocality() *core.Locality { if x != nil { return x.Locality } return nil } func (x *LocalityLbEndpoints) GetLbEndpoints() []*LbEndpoint { if x != nil { return x.LbEndpoints } return nil } func (x *LocalityLbEndpoints) GetLoadBalancingWeight() *wrappers.UInt32Value { if x != nil { return x.LoadBalancingWeight } return nil } func (x *LocalityLbEndpoints) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *LocalityLbEndpoints) GetProximity() *wrappers.UInt32Value { if x != nil { return x.Proximity } return nil } // The optional health check configuration. type Endpoint_HealthCheckConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional alternative health check port value. // // By default the health check address port of an upstream host is the same // as the host's serving address port. This provides an alternative health // check port. Setting this with a non-zero value allows an upstream host // to have different health check address port. PortValue uint32 `protobuf:"varint,1,opt,name=port_value,json=portValue,proto3" json:"port_value,omitempty"` // By default, the host header for L7 health checks is controlled by cluster level configuration // (see: :ref:`host ` and // :ref:`authority `). Setting this // to a non-empty value allows overriding the cluster level configuration for a specific // endpoint. Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"` } func (x *Endpoint_HealthCheckConfig) Reset() { *x = Endpoint_HealthCheckConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Endpoint_HealthCheckConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Endpoint_HealthCheckConfig) ProtoMessage() {} func (x *Endpoint_HealthCheckConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Endpoint_HealthCheckConfig.ProtoReflect.Descriptor instead. func (*Endpoint_HealthCheckConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescGZIP(), []int{0, 0} } func (x *Endpoint_HealthCheckConfig) GetPortValue() uint32 { if x != nil { return x.PortValue } return 0 } func (x *Endpoint_HealthCheckConfig) GetHostname() string { if x != nil { return x.Hostname } return "" } var File_envoy_api_v2_endpoint_endpoint_components_proto protoreflect.FileDescriptor var file_envoy_api_v2_endpoint_endpoint_components_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x02, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x59, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x02, 0x0a, 0x0a, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xd1, 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0c, 0x6c, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x42, 0xa6, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescOnce sync.Once file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescData = file_envoy_api_v2_endpoint_endpoint_components_proto_rawDesc ) func file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescGZIP() []byte { file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescOnce.Do(func() { file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescData) }) return file_envoy_api_v2_endpoint_endpoint_components_proto_rawDescData } var file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_api_v2_endpoint_endpoint_components_proto_goTypes = []interface{}{ (*Endpoint)(nil), // 0: envoy.api.v2.endpoint.Endpoint (*LbEndpoint)(nil), // 1: envoy.api.v2.endpoint.LbEndpoint (*LocalityLbEndpoints)(nil), // 2: envoy.api.v2.endpoint.LocalityLbEndpoints (*Endpoint_HealthCheckConfig)(nil), // 3: envoy.api.v2.endpoint.Endpoint.HealthCheckConfig (*core.Address)(nil), // 4: envoy.api.v2.core.Address (core.HealthStatus)(0), // 5: envoy.api.v2.core.HealthStatus (*core.Metadata)(nil), // 6: envoy.api.v2.core.Metadata (*wrappers.UInt32Value)(nil), // 7: google.protobuf.UInt32Value (*core.Locality)(nil), // 8: envoy.api.v2.core.Locality } var file_envoy_api_v2_endpoint_endpoint_components_proto_depIdxs = []int32{ 4, // 0: envoy.api.v2.endpoint.Endpoint.address:type_name -> envoy.api.v2.core.Address 3, // 1: envoy.api.v2.endpoint.Endpoint.health_check_config:type_name -> envoy.api.v2.endpoint.Endpoint.HealthCheckConfig 0, // 2: envoy.api.v2.endpoint.LbEndpoint.endpoint:type_name -> envoy.api.v2.endpoint.Endpoint 5, // 3: envoy.api.v2.endpoint.LbEndpoint.health_status:type_name -> envoy.api.v2.core.HealthStatus 6, // 4: envoy.api.v2.endpoint.LbEndpoint.metadata:type_name -> envoy.api.v2.core.Metadata 7, // 5: envoy.api.v2.endpoint.LbEndpoint.load_balancing_weight:type_name -> google.protobuf.UInt32Value 8, // 6: envoy.api.v2.endpoint.LocalityLbEndpoints.locality:type_name -> envoy.api.v2.core.Locality 1, // 7: envoy.api.v2.endpoint.LocalityLbEndpoints.lb_endpoints:type_name -> envoy.api.v2.endpoint.LbEndpoint 7, // 8: envoy.api.v2.endpoint.LocalityLbEndpoints.load_balancing_weight:type_name -> google.protobuf.UInt32Value 7, // 9: envoy.api.v2.endpoint.LocalityLbEndpoints.proximity:type_name -> google.protobuf.UInt32Value 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_api_v2_endpoint_endpoint_components_proto_init() } func file_envoy_api_v2_endpoint_endpoint_components_proto_init() { if File_envoy_api_v2_endpoint_endpoint_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Endpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LbEndpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbEndpoints); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Endpoint_HealthCheckConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes[1].OneofWrappers = []interface{}{ (*LbEndpoint_Endpoint)(nil), (*LbEndpoint_EndpointName)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_endpoint_endpoint_components_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_endpoint_endpoint_components_proto_goTypes, DependencyIndexes: file_envoy_api_v2_endpoint_endpoint_components_proto_depIdxs, MessageInfos: file_envoy_api_v2_endpoint_endpoint_components_proto_msgTypes, }.Build() File_envoy_api_v2_endpoint_endpoint_components_proto = out.File file_envoy_api_v2_endpoint_endpoint_components_proto_rawDesc = nil file_envoy_api_v2_endpoint_endpoint_components_proto_goTypes = nil file_envoy_api_v2_endpoint_endpoint_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/endpoint/endpoint_components.pb.validate.go000077500000000000000000000461701454502223200276500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/endpoint/endpoint_components.proto package endpoint import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.HealthStatus(0) ) // Validate checks the field values on Endpoint with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Endpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Endpoint with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EndpointMultiError, or nil // if none found. func (m *Endpoint) ValidateAll() error { return m.validate(true) } func (m *Endpoint) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHealthCheckConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Hostname if len(errors) > 0 { return EndpointMultiError(errors) } return nil } // EndpointMultiError is an error wrapping multiple validation errors returned // by Endpoint.ValidateAll() if the designated constraints aren't met. type EndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointMultiError) AllErrors() []error { return m } // EndpointValidationError is the validation error returned by // Endpoint.Validate if the designated constraints aren't met. type EndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointValidationError) ErrorName() string { return "EndpointValidationError" } // Error satisfies the builtin error interface func (e EndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointValidationError{} // Validate checks the field values on LbEndpoint with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LbEndpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LbEndpoint with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LbEndpointMultiError, or // nil if none found. func (m *LbEndpoint) ValidateAll() error { return m.validate(true) } func (m *LbEndpoint) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for HealthStatus if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetLoadBalancingWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := LbEndpointValidationError{ field: "LoadBalancingWeight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } switch v := m.HostIdentifier.(type) { case *LbEndpoint_Endpoint: if v == nil { err := LbEndpointValidationError{ field: "HostIdentifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } case *LbEndpoint_EndpointName: if v == nil { err := LbEndpointValidationError{ field: "HostIdentifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for EndpointName default: _ = v // ensures v is used } if len(errors) > 0 { return LbEndpointMultiError(errors) } return nil } // LbEndpointMultiError is an error wrapping multiple validation errors // returned by LbEndpoint.ValidateAll() if the designated constraints aren't met. type LbEndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LbEndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LbEndpointMultiError) AllErrors() []error { return m } // LbEndpointValidationError is the validation error returned by // LbEndpoint.Validate if the designated constraints aren't met. type LbEndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LbEndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LbEndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LbEndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LbEndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LbEndpointValidationError) ErrorName() string { return "LbEndpointValidationError" } // Error satisfies the builtin error interface func (e LbEndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLbEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LbEndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LbEndpointValidationError{} // Validate checks the field values on LocalityLbEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LocalityLbEndpoints) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityLbEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityLbEndpointsMultiError, or nil if none found. func (m *LocalityLbEndpoints) ValidateAll() error { return m.validate(true) } func (m *LocalityLbEndpoints) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetLbEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetLoadBalancingWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := LocalityLbEndpointsValidationError{ field: "LoadBalancingWeight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if m.GetPriority() > 128 { err := LocalityLbEndpointsValidationError{ field: "Priority", reason: "value must be less than or equal to 128", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProximity()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProximity()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LocalityLbEndpointsMultiError(errors) } return nil } // LocalityLbEndpointsMultiError is an error wrapping multiple validation // errors returned by LocalityLbEndpoints.ValidateAll() if the designated // constraints aren't met. type LocalityLbEndpointsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbEndpointsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbEndpointsMultiError) AllErrors() []error { return m } // LocalityLbEndpointsValidationError is the validation error returned by // LocalityLbEndpoints.Validate if the designated constraints aren't met. type LocalityLbEndpointsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbEndpointsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbEndpointsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbEndpointsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbEndpointsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbEndpointsValidationError) ErrorName() string { return "LocalityLbEndpointsValidationError" } // Error satisfies the builtin error interface func (e LocalityLbEndpointsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbEndpoints.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbEndpointsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbEndpointsValidationError{} // Validate checks the field values on Endpoint_HealthCheckConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Endpoint_HealthCheckConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Endpoint_HealthCheckConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Endpoint_HealthCheckConfigMultiError, or nil if none found. func (m *Endpoint_HealthCheckConfig) ValidateAll() error { return m.validate(true) } func (m *Endpoint_HealthCheckConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPortValue() > 65535 { err := Endpoint_HealthCheckConfigValidationError{ field: "PortValue", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } // no validation rules for Hostname if len(errors) > 0 { return Endpoint_HealthCheckConfigMultiError(errors) } return nil } // Endpoint_HealthCheckConfigMultiError is an error wrapping multiple // validation errors returned by Endpoint_HealthCheckConfig.ValidateAll() if // the designated constraints aren't met. type Endpoint_HealthCheckConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Endpoint_HealthCheckConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Endpoint_HealthCheckConfigMultiError) AllErrors() []error { return m } // Endpoint_HealthCheckConfigValidationError is the validation error returned // by Endpoint_HealthCheckConfig.Validate if the designated constraints aren't met. type Endpoint_HealthCheckConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Endpoint_HealthCheckConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Endpoint_HealthCheckConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Endpoint_HealthCheckConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Endpoint_HealthCheckConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Endpoint_HealthCheckConfigValidationError) ErrorName() string { return "Endpoint_HealthCheckConfigValidationError" } // Error satisfies the builtin error interface func (e Endpoint_HealthCheckConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpoint_HealthCheckConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Endpoint_HealthCheckConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Endpoint_HealthCheckConfigValidationError{} go-control-plane-0.12.0/envoy/api/v2/endpoint/load_report.pb.go000077500000000000000000001065461454502223200243110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/endpoint/load_report.proto package endpoint import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // These are stats Envoy reports to GLB every so often. Report frequency is // defined by // :ref:`LoadStatsResponse.load_reporting_interval`. // Stats per upstream region/zone and optionally per subzone. // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // [#next-free-field: 9] type UpstreamLocalityStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of zone, region and optionally endpoint group these metrics were // collected from. Zone and region names could be empty if unknown. Locality *core.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` // The total number of requests successfully completed by the endpoints in the // locality. TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` // The total number of unfinished requests TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` // The total number of requests that failed due to errors at the endpoint, // aggregated over all endpoints in the locality. TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` // The total number of requests that were issued by this Envoy since // the last report. This information is aggregated over all the // upstream endpoints in the locality. TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` // Stats for multi-dimensional load balancing. LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` // Endpoint granularity stats information for this locality. This information // is populated if the Server requests it by setting // :ref:`LoadStatsResponse.report_endpoint_granularity`. UpstreamEndpointStats []*UpstreamEndpointStats `protobuf:"bytes,7,rep,name=upstream_endpoint_stats,json=upstreamEndpointStats,proto3" json:"upstream_endpoint_stats,omitempty"` // [#not-implemented-hide:] The priority of the endpoint group these metrics // were collected from. Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` } func (x *UpstreamLocalityStats) Reset() { *x = UpstreamLocalityStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamLocalityStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamLocalityStats) ProtoMessage() {} func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead. func (*UpstreamLocalityStats) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{0} } func (x *UpstreamLocalityStats) GetLocality() *core.Locality { if x != nil { return x.Locality } return nil } func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64 { if x != nil { return x.TotalSuccessfulRequests } return 0 } func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64 { if x != nil { return x.TotalRequestsInProgress } return 0 } func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64 { if x != nil { return x.TotalErrorRequests } return 0 } func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64 { if x != nil { return x.TotalIssuedRequests } return 0 } func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats { if x != nil { return x.LoadMetricStats } return nil } func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats { if x != nil { return x.UpstreamEndpointStats } return nil } func (x *UpstreamLocalityStats) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // [#next-free-field: 8] type UpstreamEndpointStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream host address. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Opaque and implementation dependent metadata of the // endpoint. Envoy will pass this directly to the management server. Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // The total number of requests successfully completed by the endpoints in the // locality. These include non-5xx responses for HTTP, where errors // originate at the client and the endpoint responded successfully. For gRPC, // the grpc-status values are those not covered by total_error_requests below. TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` // The total number of unfinished requests for this endpoint. TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` // The total number of requests that failed due to errors at the endpoint. // For HTTP these are responses with 5xx status codes and for gRPC the // grpc-status values: // // - DeadlineExceeded // - Unimplemented // - Internal // - Unavailable // - Unknown // - DataLoss TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` // The total number of requests that were issued to this endpoint // since the last report. A single TCP connection, HTTP or gRPC // request or stream is counted as one request. TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` // Stats for multi-dimensional load balancing. LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` } func (x *UpstreamEndpointStats) Reset() { *x = UpstreamEndpointStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamEndpointStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamEndpointStats) ProtoMessage() {} func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead. func (*UpstreamEndpointStats) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{1} } func (x *UpstreamEndpointStats) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *UpstreamEndpointStats) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64 { if x != nil { return x.TotalSuccessfulRequests } return 0 } func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64 { if x != nil { return x.TotalRequestsInProgress } return 0 } func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64 { if x != nil { return x.TotalErrorRequests } return 0 } func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64 { if x != nil { return x.TotalIssuedRequests } return 0 } func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats { if x != nil { return x.LoadMetricStats } return nil } // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. type EndpointLoadMetricStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the metric; may be empty. MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` // Number of calls that finished and included this metric. NumRequestsFinishedWithMetric uint64 `protobuf:"varint,2,opt,name=num_requests_finished_with_metric,json=numRequestsFinishedWithMetric,proto3" json:"num_requests_finished_with_metric,omitempty"` // Sum of metric values across all calls that finished with this metric for // load_reporting_interval. TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"` } func (x *EndpointLoadMetricStats) Reset() { *x = EndpointLoadMetricStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointLoadMetricStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointLoadMetricStats) ProtoMessage() {} func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead. func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{2} } func (x *EndpointLoadMetricStats) GetMetricName() string { if x != nil { return x.MetricName } return "" } func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64 { if x != nil { return x.NumRequestsFinishedWithMetric } return 0 } func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64 { if x != nil { return x.TotalMetricValue } return 0 } // Per cluster load stats. Envoy reports these stats a management server in a // :ref:`LoadStatsRequest` // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. // Next ID: 7 // [#next-free-field: 7] type ClusterStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cluster. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // The eds_cluster_config service_name of the cluster. // It's possible that two clusters send the same service_name to EDS, // in that case, the management server is supposed to do aggregation on the load reports. ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"` // Need at least one. UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats,proto3" json:"upstream_locality_stats,omitempty"` // Cluster-level stats such as total_successful_requests may be computed by // summing upstream_locality_stats. In addition, below there are additional // cluster-wide stats. // // The total number of dropped requests. This covers requests // deliberately dropped by the drop_overload policy and circuit breaking. TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"` // Information about deliberately dropped requests for each category specified // in the DropOverload policy. DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"` // Period over which the actual load report occurred. This will be guaranteed to include every // request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy // and the *LoadStatsResponse* message sent from the management server, this may be longer than // the requested load reporting interval in the *LoadStatsResponse*. LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"` } func (x *ClusterStats) Reset() { *x = ClusterStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStats) ProtoMessage() {} func (x *ClusterStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead. func (*ClusterStats) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{3} } func (x *ClusterStats) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterStats) GetClusterServiceName() string { if x != nil { return x.ClusterServiceName } return "" } func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats { if x != nil { return x.UpstreamLocalityStats } return nil } func (x *ClusterStats) GetTotalDroppedRequests() uint64 { if x != nil { return x.TotalDroppedRequests } return 0 } func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests { if x != nil { return x.DroppedRequests } return nil } func (x *ClusterStats) GetLoadReportInterval() *duration.Duration { if x != nil { return x.LoadReportInterval } return nil } type ClusterStats_DroppedRequests struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier for the policy specifying the drop. Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // Total number of deliberately dropped requests for the category. DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"` } func (x *ClusterStats_DroppedRequests) Reset() { *x = ClusterStats_DroppedRequests{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStats_DroppedRequests) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStats_DroppedRequests) ProtoMessage() {} func (x *ClusterStats_DroppedRequests) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead. func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int) { return file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP(), []int{3, 0} } func (x *ClusterStats_DroppedRequests) GetCategory() string { if x != nil { return x.Category } return "" } func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64 { if x != nil { return x.DroppedCount } return 0 } var File_envoy_api_v2_endpoint_load_report_proto protoreflect.FileDescriptor var file_envoy_api_v2_endpoint_load_report_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xbd, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9c, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x5b, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x9e, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0f, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_endpoint_load_report_proto_rawDescOnce sync.Once file_envoy_api_v2_endpoint_load_report_proto_rawDescData = file_envoy_api_v2_endpoint_load_report_proto_rawDesc ) func file_envoy_api_v2_endpoint_load_report_proto_rawDescGZIP() []byte { file_envoy_api_v2_endpoint_load_report_proto_rawDescOnce.Do(func() { file_envoy_api_v2_endpoint_load_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_endpoint_load_report_proto_rawDescData) }) return file_envoy_api_v2_endpoint_load_report_proto_rawDescData } var file_envoy_api_v2_endpoint_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_api_v2_endpoint_load_report_proto_goTypes = []interface{}{ (*UpstreamLocalityStats)(nil), // 0: envoy.api.v2.endpoint.UpstreamLocalityStats (*UpstreamEndpointStats)(nil), // 1: envoy.api.v2.endpoint.UpstreamEndpointStats (*EndpointLoadMetricStats)(nil), // 2: envoy.api.v2.endpoint.EndpointLoadMetricStats (*ClusterStats)(nil), // 3: envoy.api.v2.endpoint.ClusterStats (*ClusterStats_DroppedRequests)(nil), // 4: envoy.api.v2.endpoint.ClusterStats.DroppedRequests (*core.Locality)(nil), // 5: envoy.api.v2.core.Locality (*core.Address)(nil), // 6: envoy.api.v2.core.Address (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*duration.Duration)(nil), // 8: google.protobuf.Duration } var file_envoy_api_v2_endpoint_load_report_proto_depIdxs = []int32{ 5, // 0: envoy.api.v2.endpoint.UpstreamLocalityStats.locality:type_name -> envoy.api.v2.core.Locality 2, // 1: envoy.api.v2.endpoint.UpstreamLocalityStats.load_metric_stats:type_name -> envoy.api.v2.endpoint.EndpointLoadMetricStats 1, // 2: envoy.api.v2.endpoint.UpstreamLocalityStats.upstream_endpoint_stats:type_name -> envoy.api.v2.endpoint.UpstreamEndpointStats 6, // 3: envoy.api.v2.endpoint.UpstreamEndpointStats.address:type_name -> envoy.api.v2.core.Address 7, // 4: envoy.api.v2.endpoint.UpstreamEndpointStats.metadata:type_name -> google.protobuf.Struct 2, // 5: envoy.api.v2.endpoint.UpstreamEndpointStats.load_metric_stats:type_name -> envoy.api.v2.endpoint.EndpointLoadMetricStats 0, // 6: envoy.api.v2.endpoint.ClusterStats.upstream_locality_stats:type_name -> envoy.api.v2.endpoint.UpstreamLocalityStats 4, // 7: envoy.api.v2.endpoint.ClusterStats.dropped_requests:type_name -> envoy.api.v2.endpoint.ClusterStats.DroppedRequests 8, // 8: envoy.api.v2.endpoint.ClusterStats.load_report_interval:type_name -> google.protobuf.Duration 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_api_v2_endpoint_load_report_proto_init() } func file_envoy_api_v2_endpoint_load_report_proto_init() { if File_envoy_api_v2_endpoint_load_report_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_endpoint_load_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamLocalityStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_load_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamEndpointStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_load_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointLoadMetricStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_load_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_endpoint_load_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStats_DroppedRequests); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_endpoint_load_report_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_endpoint_load_report_proto_goTypes, DependencyIndexes: file_envoy_api_v2_endpoint_load_report_proto_depIdxs, MessageInfos: file_envoy_api_v2_endpoint_load_report_proto_msgTypes, }.Build() File_envoy_api_v2_endpoint_load_report_proto = out.File file_envoy_api_v2_endpoint_load_report_proto_rawDesc = nil file_envoy_api_v2_endpoint_load_report_proto_goTypes = nil file_envoy_api_v2_endpoint_load_report_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/endpoint/load_report.pb.validate.go000077500000000000000000000607251454502223200260770ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/endpoint/load_report.proto package endpoint import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamLocalityStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamLocalityStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamLocalityStats with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamLocalityStatsMultiError, or nil if none found. func (m *UpstreamLocalityStats) ValidateAll() error { return m.validate(true) } func (m *UpstreamLocalityStats) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TotalSuccessfulRequests // no validation rules for TotalRequestsInProgress // no validation rules for TotalErrorRequests // no validation rules for TotalIssuedRequests for idx, item := range m.GetLoadMetricStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetUpstreamEndpointStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Priority if len(errors) > 0 { return UpstreamLocalityStatsMultiError(errors) } return nil } // UpstreamLocalityStatsMultiError is an error wrapping multiple validation // errors returned by UpstreamLocalityStats.ValidateAll() if the designated // constraints aren't met. type UpstreamLocalityStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamLocalityStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamLocalityStatsMultiError) AllErrors() []error { return m } // UpstreamLocalityStatsValidationError is the validation error returned by // UpstreamLocalityStats.Validate if the designated constraints aren't met. type UpstreamLocalityStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamLocalityStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamLocalityStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamLocalityStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamLocalityStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamLocalityStatsValidationError) ErrorName() string { return "UpstreamLocalityStatsValidationError" } // Error satisfies the builtin error interface func (e UpstreamLocalityStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamLocalityStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamLocalityStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamLocalityStatsValidationError{} // Validate checks the field values on UpstreamEndpointStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamEndpointStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamEndpointStats with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamEndpointStatsMultiError, or nil if none found. func (m *UpstreamEndpointStats) ValidateAll() error { return m.validate(true) } func (m *UpstreamEndpointStats) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TotalSuccessfulRequests // no validation rules for TotalRequestsInProgress // no validation rules for TotalErrorRequests // no validation rules for TotalIssuedRequests for idx, item := range m.GetLoadMetricStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return UpstreamEndpointStatsMultiError(errors) } return nil } // UpstreamEndpointStatsMultiError is an error wrapping multiple validation // errors returned by UpstreamEndpointStats.ValidateAll() if the designated // constraints aren't met. type UpstreamEndpointStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamEndpointStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamEndpointStatsMultiError) AllErrors() []error { return m } // UpstreamEndpointStatsValidationError is the validation error returned by // UpstreamEndpointStats.Validate if the designated constraints aren't met. type UpstreamEndpointStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamEndpointStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamEndpointStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamEndpointStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamEndpointStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamEndpointStatsValidationError) ErrorName() string { return "UpstreamEndpointStatsValidationError" } // Error satisfies the builtin error interface func (e UpstreamEndpointStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamEndpointStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamEndpointStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamEndpointStatsValidationError{} // Validate checks the field values on EndpointLoadMetricStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EndpointLoadMetricStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointLoadMetricStats with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EndpointLoadMetricStatsMultiError, or nil if none found. func (m *EndpointLoadMetricStats) ValidateAll() error { return m.validate(true) } func (m *EndpointLoadMetricStats) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetricName // no validation rules for NumRequestsFinishedWithMetric // no validation rules for TotalMetricValue if len(errors) > 0 { return EndpointLoadMetricStatsMultiError(errors) } return nil } // EndpointLoadMetricStatsMultiError is an error wrapping multiple validation // errors returned by EndpointLoadMetricStats.ValidateAll() if the designated // constraints aren't met. type EndpointLoadMetricStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointLoadMetricStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointLoadMetricStatsMultiError) AllErrors() []error { return m } // EndpointLoadMetricStatsValidationError is the validation error returned by // EndpointLoadMetricStats.Validate if the designated constraints aren't met. type EndpointLoadMetricStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointLoadMetricStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointLoadMetricStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointLoadMetricStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointLoadMetricStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointLoadMetricStatsValidationError) ErrorName() string { return "EndpointLoadMetricStatsValidationError" } // Error satisfies the builtin error interface func (e EndpointLoadMetricStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointLoadMetricStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointLoadMetricStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointLoadMetricStatsValidationError{} // Validate checks the field values on ClusterStats with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStats with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterStatsMultiError, or // nil if none found. func (m *ClusterStats) ValidateAll() error { return m.validate(true) } func (m *ClusterStats) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusterName()) < 1 { err := ClusterStatsValidationError{ field: "ClusterName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ClusterServiceName if len(m.GetUpstreamLocalityStats()) < 1 { err := ClusterStatsValidationError{ field: "UpstreamLocalityStats", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetUpstreamLocalityStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for TotalDroppedRequests for idx, item := range m.GetDroppedRequests() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLoadReportInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadReportInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterStatsMultiError(errors) } return nil } // ClusterStatsMultiError is an error wrapping multiple validation errors // returned by ClusterStats.ValidateAll() if the designated constraints aren't met. type ClusterStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStatsMultiError) AllErrors() []error { return m } // ClusterStatsValidationError is the validation error returned by // ClusterStats.Validate if the designated constraints aren't met. type ClusterStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStatsValidationError) ErrorName() string { return "ClusterStatsValidationError" } // Error satisfies the builtin error interface func (e ClusterStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStatsValidationError{} // Validate checks the field values on ClusterStats_DroppedRequests with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterStats_DroppedRequests) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStats_DroppedRequests with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterStats_DroppedRequestsMultiError, or nil if none found. func (m *ClusterStats_DroppedRequests) ValidateAll() error { return m.validate(true) } func (m *ClusterStats_DroppedRequests) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCategory()) < 1 { err := ClusterStats_DroppedRequestsValidationError{ field: "Category", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for DroppedCount if len(errors) > 0 { return ClusterStats_DroppedRequestsMultiError(errors) } return nil } // ClusterStats_DroppedRequestsMultiError is an error wrapping multiple // validation errors returned by ClusterStats_DroppedRequests.ValidateAll() if // the designated constraints aren't met. type ClusterStats_DroppedRequestsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStats_DroppedRequestsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStats_DroppedRequestsMultiError) AllErrors() []error { return m } // ClusterStats_DroppedRequestsValidationError is the validation error returned // by ClusterStats_DroppedRequests.Validate if the designated constraints // aren't met. type ClusterStats_DroppedRequestsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStats_DroppedRequestsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStats_DroppedRequestsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStats_DroppedRequestsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStats_DroppedRequestsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStats_DroppedRequestsValidationError) ErrorName() string { return "ClusterStats_DroppedRequestsValidationError" } // Error satisfies the builtin error interface func (e ClusterStats_DroppedRequestsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStats_DroppedRequests.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStats_DroppedRequestsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStats_DroppedRequestsValidationError{} go-control-plane-0.12.0/envoy/api/v2/lds.pb.go000077500000000000000000000423751454502223200207400ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/lds.proto package apiv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type LdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *LdsDummy) Reset() { *x = LdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_lds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LdsDummy) ProtoMessage() {} func (x *LdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_lds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LdsDummy.ProtoReflect.Descriptor instead. func (*LdsDummy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_lds_proto_rawDescGZIP(), []int{0} } var File_envoy_api_v2_lds_proto protoreflect.FileDescriptor var file_envoy_api_v2_lds_proto_rawDesc = []byte{ 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x4c, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xed, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x1d, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x8c, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1b, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x4c, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x50, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_lds_proto_rawDescOnce sync.Once file_envoy_api_v2_lds_proto_rawDescData = file_envoy_api_v2_lds_proto_rawDesc ) func file_envoy_api_v2_lds_proto_rawDescGZIP() []byte { file_envoy_api_v2_lds_proto_rawDescOnce.Do(func() { file_envoy_api_v2_lds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_lds_proto_rawDescData) }) return file_envoy_api_v2_lds_proto_rawDescData } var file_envoy_api_v2_lds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_lds_proto_goTypes = []interface{}{ (*LdsDummy)(nil), // 0: envoy.api.v2.LdsDummy (*DeltaDiscoveryRequest)(nil), // 1: envoy.api.v2.DeltaDiscoveryRequest (*DiscoveryRequest)(nil), // 2: envoy.api.v2.DiscoveryRequest (*DeltaDiscoveryResponse)(nil), // 3: envoy.api.v2.DeltaDiscoveryResponse (*DiscoveryResponse)(nil), // 4: envoy.api.v2.DiscoveryResponse } var file_envoy_api_v2_lds_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.ListenerDiscoveryService.DeltaListeners:input_type -> envoy.api.v2.DeltaDiscoveryRequest 2, // 1: envoy.api.v2.ListenerDiscoveryService.StreamListeners:input_type -> envoy.api.v2.DiscoveryRequest 2, // 2: envoy.api.v2.ListenerDiscoveryService.FetchListeners:input_type -> envoy.api.v2.DiscoveryRequest 3, // 3: envoy.api.v2.ListenerDiscoveryService.DeltaListeners:output_type -> envoy.api.v2.DeltaDiscoveryResponse 4, // 4: envoy.api.v2.ListenerDiscoveryService.StreamListeners:output_type -> envoy.api.v2.DiscoveryResponse 4, // 5: envoy.api.v2.ListenerDiscoveryService.FetchListeners:output_type -> envoy.api.v2.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_lds_proto_init() } func file_envoy_api_v2_lds_proto_init() { if File_envoy_api_v2_lds_proto != nil { return } file_envoy_api_v2_discovery_proto_init() file_envoy_api_v2_listener_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_lds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_lds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_api_v2_lds_proto_goTypes, DependencyIndexes: file_envoy_api_v2_lds_proto_depIdxs, MessageInfos: file_envoy_api_v2_lds_proto_msgTypes, }.Build() File_envoy_api_v2_lds_proto = out.File file_envoy_api_v2_lds_proto_rawDesc = nil file_envoy_api_v2_lds_proto_goTypes = nil file_envoy_api_v2_lds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ListenerDiscoveryServiceClient is the client API for ListenerDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ListenerDiscoveryServiceClient interface { DeltaListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_DeltaListenersClient, error) StreamListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_StreamListenersClient, error) FetchListeners(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) } type listenerDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewListenerDiscoveryServiceClient(cc grpc.ClientConnInterface) ListenerDiscoveryServiceClient { return &listenerDiscoveryServiceClient{cc} } func (c *listenerDiscoveryServiceClient) DeltaListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_DeltaListenersClient, error) { stream, err := c.cc.NewStream(ctx, &_ListenerDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.ListenerDiscoveryService/DeltaListeners", opts...) if err != nil { return nil, err } x := &listenerDiscoveryServiceDeltaListenersClient{stream} return x, nil } type ListenerDiscoveryService_DeltaListenersClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type listenerDiscoveryServiceDeltaListenersClient struct { grpc.ClientStream } func (x *listenerDiscoveryServiceDeltaListenersClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *listenerDiscoveryServiceDeltaListenersClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *listenerDiscoveryServiceClient) StreamListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_StreamListenersClient, error) { stream, err := c.cc.NewStream(ctx, &_ListenerDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.ListenerDiscoveryService/StreamListeners", opts...) if err != nil { return nil, err } x := &listenerDiscoveryServiceStreamListenersClient{stream} return x, nil } type ListenerDiscoveryService_StreamListenersClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type listenerDiscoveryServiceStreamListenersClient struct { grpc.ClientStream } func (x *listenerDiscoveryServiceStreamListenersClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *listenerDiscoveryServiceStreamListenersClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *listenerDiscoveryServiceClient) FetchListeners(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { out := new(DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.api.v2.ListenerDiscoveryService/FetchListeners", in, out, opts...) if err != nil { return nil, err } return out, nil } // ListenerDiscoveryServiceServer is the server API for ListenerDiscoveryService service. type ListenerDiscoveryServiceServer interface { DeltaListeners(ListenerDiscoveryService_DeltaListenersServer) error StreamListeners(ListenerDiscoveryService_StreamListenersServer) error FetchListeners(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) } // UnimplementedListenerDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedListenerDiscoveryServiceServer struct { } func (*UnimplementedListenerDiscoveryServiceServer) DeltaListeners(ListenerDiscoveryService_DeltaListenersServer) error { return status.Errorf(codes.Unimplemented, "method DeltaListeners not implemented") } func (*UnimplementedListenerDiscoveryServiceServer) StreamListeners(ListenerDiscoveryService_StreamListenersServer) error { return status.Errorf(codes.Unimplemented, "method StreamListeners not implemented") } func (*UnimplementedListenerDiscoveryServiceServer) FetchListeners(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchListeners not implemented") } func RegisterListenerDiscoveryServiceServer(s *grpc.Server, srv ListenerDiscoveryServiceServer) { s.RegisterService(&_ListenerDiscoveryService_serviceDesc, srv) } func _ListenerDiscoveryService_DeltaListeners_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ListenerDiscoveryServiceServer).DeltaListeners(&listenerDiscoveryServiceDeltaListenersServer{stream}) } type ListenerDiscoveryService_DeltaListenersServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type listenerDiscoveryServiceDeltaListenersServer struct { grpc.ServerStream } func (x *listenerDiscoveryServiceDeltaListenersServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *listenerDiscoveryServiceDeltaListenersServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ListenerDiscoveryService_StreamListeners_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ListenerDiscoveryServiceServer).StreamListeners(&listenerDiscoveryServiceStreamListenersServer{stream}) } type ListenerDiscoveryService_StreamListenersServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type listenerDiscoveryServiceStreamListenersServer struct { grpc.ServerStream } func (x *listenerDiscoveryServiceStreamListenersServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *listenerDiscoveryServiceStreamListenersServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ListenerDiscoveryService_FetchListeners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ListenerDiscoveryServiceServer).FetchListeners(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.api.v2.ListenerDiscoveryService/FetchListeners", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ListenerDiscoveryServiceServer).FetchListeners(ctx, req.(*DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ListenerDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.ListenerDiscoveryService", HandlerType: (*ListenerDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchListeners", Handler: _ListenerDiscoveryService_FetchListeners_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "DeltaListeners", Handler: _ListenerDiscoveryService_DeltaListeners_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "StreamListeners", Handler: _ListenerDiscoveryService_StreamListeners_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/lds.proto", } go-control-plane-0.12.0/envoy/api/v2/lds.pb.validate.go000077500000000000000000000061051454502223200225170ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/lds.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LdsDummyMultiError, or nil // if none found. func (m *LdsDummy) ValidateAll() error { return m.validate(true) } func (m *LdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return LdsDummyMultiError(errors) } return nil } // LdsDummyMultiError is an error wrapping multiple validation errors returned // by LdsDummy.ValidateAll() if the designated constraints aren't met. type LdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LdsDummyMultiError) AllErrors() []error { return m } // LdsDummyValidationError is the validation error returned by // LdsDummy.Validate if the designated constraints aren't met. type LdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LdsDummyValidationError) ErrorName() string { return "LdsDummyValidationError" } // Error satisfies the builtin error interface func (e LdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LdsDummyValidationError{} go-control-plane-0.12.0/envoy/api/v2/listener.pb.go000077500000000000000000001320631454502223200217750ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/listener.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" listener "github.com/envoyproxy/go-control-plane/envoy/api/v2/listener" v21 "github.com/envoyproxy/go-control-plane/envoy/config/filter/accesslog/v2" v2 "github.com/envoyproxy/go-control-plane/envoy/config/listener/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Listener_DrainType int32 const ( // Drain in response to calling /healthcheck/fail admin endpoint (along with the health check // filter), listener removal/modification, and hot restart. Listener_DEFAULT Listener_DrainType = 0 // Drain in response to listener removal/modification and hot restart. This setting does not // include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress // and egress listeners. Listener_MODIFY_ONLY Listener_DrainType = 1 ) // Enum value maps for Listener_DrainType. var ( Listener_DrainType_name = map[int32]string{ 0: "DEFAULT", 1: "MODIFY_ONLY", } Listener_DrainType_value = map[string]int32{ "DEFAULT": 0, "MODIFY_ONLY": 1, } ) func (x Listener_DrainType) Enum() *Listener_DrainType { p := new(Listener_DrainType) *p = x return p } func (x Listener_DrainType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Listener_DrainType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_listener_proto_enumTypes[0].Descriptor() } func (Listener_DrainType) Type() protoreflect.EnumType { return &file_envoy_api_v2_listener_proto_enumTypes[0] } func (x Listener_DrainType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Listener_DrainType.Descriptor instead. func (Listener_DrainType) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 23] type Listener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The unique name by which this listener is known. If no name is provided, // Envoy will allocate an internal UUID for the listener. If the listener is to be dynamically // updated or removed via :ref:`LDS ` a unique name must be provided. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The address that the listener should listen on. In general, the address must be unique, though // that is governed by the bind rules of the OS. E.g., multiple listeners can listen on port 0 on // Linux as the actual port will be allocated by the OS. Address *core.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // A list of filter chains to consider for this listener. The // :ref:`FilterChain ` with the most specific // :ref:`FilterChainMatch ` criteria is used on a // connection. // // Example using SNI for filter chain selection can be found in the // :ref:`FAQ entry `. FilterChains []*listener.FilterChain `protobuf:"bytes,3,rep,name=filter_chains,json=filterChains,proto3" json:"filter_chains,omitempty"` // If a connection is redirected using *iptables*, the port on which the proxy // receives it might be different from the original destination address. When this flag is set to // true, the listener hands off redirected connections to the listener associated with the // original destination address. If there is no listener associated with the original destination // address, the connection is handled by the listener that receives it. Defaults to false. // // .. attention:: // // This field is deprecated. Use :ref:`an original_dst ` // :ref:`listener filter ` instead. // // Note that hand off to another listener is *NOT* performed without this flag. Once // :ref:`FilterChainMatch ` is implemented this flag // will be removed, as filter chain matching can be used to select a filter chain based on the // restored destination address. // // Deprecated: Marked as deprecated in envoy/api/v2/listener.proto. UseOriginalDst *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst,proto3" json:"use_original_dst,omitempty"` // Soft limit on size of the listener’s new connection read and write buffers. // If unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` // Listener metadata. Metadata *core.Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // [#not-implemented-hide:] DeprecatedV1 *Listener_DeprecatedV1 `protobuf:"bytes,7,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"` // The type of draining to perform at a listener-wide level. DrainType Listener_DrainType `protobuf:"varint,8,opt,name=drain_type,json=drainType,proto3,enum=envoy.api.v2.Listener_DrainType" json:"drain_type,omitempty"` // Listener filters have the opportunity to manipulate and augment the connection metadata that // is used in connection filter chain matching, for example. These filters are run before any in // :ref:`filter_chains `. Order matters as the // filters are processed sequentially right after a socket has been accepted by the listener, and // before a connection is created. // UDP Listener filters can be specified when the protocol in the listener socket address in // :ref:`protocol ` is :ref:`UDP // `. // UDP listeners currently support a single filter. ListenerFilters []*listener.ListenerFilter `protobuf:"bytes,9,rep,name=listener_filters,json=listenerFilters,proto3" json:"listener_filters,omitempty"` // The timeout to wait for all listener filters to complete operation. If the timeout is reached, // the accepted socket is closed without a connection being created unless // `continue_on_listener_filters_timeout` is set to true. Specify 0 to disable the // timeout. If not specified, a default timeout of 15s is used. ListenerFiltersTimeout *duration.Duration `protobuf:"bytes,15,opt,name=listener_filters_timeout,json=listenerFiltersTimeout,proto3" json:"listener_filters_timeout,omitempty"` // Whether a connection should be created when listener filters timeout. Default is false. // // .. attention:: // // Some listener filters, such as :ref:`Proxy Protocol filter // `, should not be used with this option. It will cause // unexpected behavior when a connection is created. ContinueOnListenerFiltersTimeout bool `protobuf:"varint,17,opt,name=continue_on_listener_filters_timeout,json=continueOnListenerFiltersTimeout,proto3" json:"continue_on_listener_filters_timeout,omitempty"` // Whether the listener should be set as a transparent socket. // When this flag is set to true, connections can be redirected to the listener using an // *iptables* *TPROXY* target, in which case the original source and destination addresses and // ports are preserved on accepted connections. This flag should be used in combination with // :ref:`an original_dst ` :ref:`listener filter // ` to mark the connections' local addresses as // "restored." This can be used to hand off each redirected connection to another listener // associated with the connection's destination address. Direct connections to the socket without // using *TPROXY* cannot be distinguished from connections redirected using *TPROXY* and are // therefore treated as if they were redirected. // When this flag is set to false, the listener's socket is explicitly reset as non-transparent. // Setting this flag requires Envoy to run with the *CAP_NET_ADMIN* capability. // When this flag is not set (default), the socket is not modified, i.e. the transparent option // is neither set nor reset. Transparent *wrappers.BoolValue `protobuf:"bytes,10,opt,name=transparent,proto3" json:"transparent,omitempty"` // Whether the listener should set the *IP_FREEBIND* socket option. When this // flag is set to true, listeners can be bound to an IP address that is not // configured on the system running Envoy. When this flag is set to false, the // option *IP_FREEBIND* is disabled on the socket. When this flag is not set // (default), the socket is not modified, i.e. the option is neither enabled // nor disabled. Freebind *wrappers.BoolValue `protobuf:"bytes,11,opt,name=freebind,proto3" json:"freebind,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. SocketOptions []*core.SocketOption `protobuf:"bytes,13,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` // Whether the listener should accept TCP Fast Open (TFO) connections. // When this flag is set to a value greater than 0, the option TCP_FASTOPEN is enabled on // the socket, with a queue length of the specified size // (see `details in RFC7413 `_). // When this flag is set to 0, the option TCP_FASTOPEN is disabled on the socket. // When this flag is not set (default), the socket is not modified, // i.e. the option is neither enabled nor disabled. // // On Linux, the net.ipv4.tcp_fastopen kernel parameter must include flag 0x2 to enable // TCP_FASTOPEN. // See `ip-sysctl.txt `_. // // On macOS, only values of 0, 1, and unset are valid; other values may result in an error. // To set the queue length on macOS, set the net.inet.tcp.fastopen_backlog kernel parameter. TcpFastOpenQueueLength *wrappers.UInt32Value `protobuf:"bytes,12,opt,name=tcp_fast_open_queue_length,json=tcpFastOpenQueueLength,proto3" json:"tcp_fast_open_queue_length,omitempty"` // Specifies the intended direction of the traffic relative to the local Envoy. // This property is required on Windows for listeners using the original destination filter, // see :ref:`Original Destination `. TrafficDirection core.TrafficDirection `protobuf:"varint,16,opt,name=traffic_direction,json=trafficDirection,proto3,enum=envoy.api.v2.core.TrafficDirection" json:"traffic_direction,omitempty"` // If the protocol in the listener socket address in :ref:`protocol // ` is :ref:`UDP // `, this field specifies the actual udp // listener to create, i.e. :ref:`udp_listener_name // ` = "raw_udp_listener" for // creating a packet-oriented UDP listener. If not present, treat it as "raw_udp_listener". UdpListenerConfig *listener.UdpListenerConfig `protobuf:"bytes,18,opt,name=udp_listener_config,json=udpListenerConfig,proto3" json:"udp_listener_config,omitempty"` // Used to represent an API listener, which is used in non-proxy clients. The type of API // exposed to the non-proxy application depends on the type of API listener. // When this field is set, no other field except for :ref:`name` // should be set. // // .. note:: // // Currently only one ApiListener can be installed; and it can only be done via bootstrap config, // not LDS. // // [#next-major-version: In the v3 API, instead of this messy approach where the socket // listener fields are directly in the top-level Listener message and the API listener types // are in the ApiListener message, the socket listener messages should be in their own message, // and the top-level Listener should essentially be a oneof that selects between the // socket listener and the various types of API listener. That way, a given Listener message // can structurally only contain the fields of the relevant type.] ApiListener *v2.ApiListener `protobuf:"bytes,19,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"` // The listener's connection balancer configuration, currently only applicable to TCP listeners. // If no configuration is specified, Envoy will not attempt to balance active connections between // worker threads. ConnectionBalanceConfig *Listener_ConnectionBalanceConfig `protobuf:"bytes,20,opt,name=connection_balance_config,json=connectionBalanceConfig,proto3" json:"connection_balance_config,omitempty"` // When this flag is set to true, listeners set the *SO_REUSEPORT* socket option and // create one socket for each worker thread. This makes inbound connections // distribute among worker threads roughly evenly in cases where there are a high number // of connections. When this flag is set to false, all worker threads share one socket. // // Before Linux v4.19-rc1, new TCP connections may be rejected during hot restart // (see `3rd paragraph in 'soreuseport' commit message // `_). // This issue was fixed by `tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket // `_. ReusePort bool `protobuf:"varint,21,opt,name=reuse_port,json=reusePort,proto3" json:"reuse_port,omitempty"` // Configuration for :ref:`access logs ` // emitted by this listener. AccessLog []*v21.AccessLog `protobuf:"bytes,22,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` } func (x *Listener) Reset() { *x = Listener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener) ProtoMessage() {} func (x *Listener) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener.ProtoReflect.Descriptor instead. func (*Listener) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0} } func (x *Listener) GetName() string { if x != nil { return x.Name } return "" } func (x *Listener) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *Listener) GetFilterChains() []*listener.FilterChain { if x != nil { return x.FilterChains } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/listener.proto. func (x *Listener) GetUseOriginalDst() *wrappers.BoolValue { if x != nil { return x.UseOriginalDst } return nil } func (x *Listener) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerConnectionBufferLimitBytes } return nil } func (x *Listener) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *Listener) GetDeprecatedV1() *Listener_DeprecatedV1 { if x != nil { return x.DeprecatedV1 } return nil } func (x *Listener) GetDrainType() Listener_DrainType { if x != nil { return x.DrainType } return Listener_DEFAULT } func (x *Listener) GetListenerFilters() []*listener.ListenerFilter { if x != nil { return x.ListenerFilters } return nil } func (x *Listener) GetListenerFiltersTimeout() *duration.Duration { if x != nil { return x.ListenerFiltersTimeout } return nil } func (x *Listener) GetContinueOnListenerFiltersTimeout() bool { if x != nil { return x.ContinueOnListenerFiltersTimeout } return false } func (x *Listener) GetTransparent() *wrappers.BoolValue { if x != nil { return x.Transparent } return nil } func (x *Listener) GetFreebind() *wrappers.BoolValue { if x != nil { return x.Freebind } return nil } func (x *Listener) GetSocketOptions() []*core.SocketOption { if x != nil { return x.SocketOptions } return nil } func (x *Listener) GetTcpFastOpenQueueLength() *wrappers.UInt32Value { if x != nil { return x.TcpFastOpenQueueLength } return nil } func (x *Listener) GetTrafficDirection() core.TrafficDirection { if x != nil { return x.TrafficDirection } return core.TrafficDirection(0) } func (x *Listener) GetUdpListenerConfig() *listener.UdpListenerConfig { if x != nil { return x.UdpListenerConfig } return nil } func (x *Listener) GetApiListener() *v2.ApiListener { if x != nil { return x.ApiListener } return nil } func (x *Listener) GetConnectionBalanceConfig() *Listener_ConnectionBalanceConfig { if x != nil { return x.ConnectionBalanceConfig } return nil } func (x *Listener) GetReusePort() bool { if x != nil { return x.ReusePort } return false } func (x *Listener) GetAccessLog() []*v21.AccessLog { if x != nil { return x.AccessLog } return nil } // [#not-implemented-hide:] type Listener_DeprecatedV1 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the listener should bind to the port. A listener that doesn't // bind can only receive connections redirected from other listeners that // set use_original_dst parameter to true. Default is true. // // This is deprecated in v2, all Listeners will bind to their port. An // additional filter chain must be created for every original destination // port this listener may redirect to in v2, with the original port // specified in the FilterChainMatch destination_port field. // // [#comment:TODO(PiotrSikora): Remove this once verified that we no longer need it.] BindToPort *wrappers.BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"` } func (x *Listener_DeprecatedV1) Reset() { *x = Listener_DeprecatedV1{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_DeprecatedV1) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_DeprecatedV1) ProtoMessage() {} func (x *Listener_DeprecatedV1) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_DeprecatedV1.ProtoReflect.Descriptor instead. func (*Listener_DeprecatedV1) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 0} } func (x *Listener_DeprecatedV1) GetBindToPort() *wrappers.BoolValue { if x != nil { return x.BindToPort } return nil } // Configuration for listener connection balancing. type Listener_ConnectionBalanceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to BalanceType: // // *Listener_ConnectionBalanceConfig_ExactBalance_ BalanceType isListener_ConnectionBalanceConfig_BalanceType `protobuf_oneof:"balance_type"` } func (x *Listener_ConnectionBalanceConfig) Reset() { *x = Listener_ConnectionBalanceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_ConnectionBalanceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_ConnectionBalanceConfig) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_ConnectionBalanceConfig.ProtoReflect.Descriptor instead. func (*Listener_ConnectionBalanceConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 1} } func (m *Listener_ConnectionBalanceConfig) GetBalanceType() isListener_ConnectionBalanceConfig_BalanceType { if m != nil { return m.BalanceType } return nil } func (x *Listener_ConnectionBalanceConfig) GetExactBalance() *Listener_ConnectionBalanceConfig_ExactBalance { if x, ok := x.GetBalanceType().(*Listener_ConnectionBalanceConfig_ExactBalance_); ok { return x.ExactBalance } return nil } type isListener_ConnectionBalanceConfig_BalanceType interface { isListener_ConnectionBalanceConfig_BalanceType() } type Listener_ConnectionBalanceConfig_ExactBalance_ struct { // If specified, the listener will use the exact connection balancer. ExactBalance *Listener_ConnectionBalanceConfig_ExactBalance `protobuf:"bytes,1,opt,name=exact_balance,json=exactBalance,proto3,oneof"` } func (*Listener_ConnectionBalanceConfig_ExactBalance_) isListener_ConnectionBalanceConfig_BalanceType() { } // A connection balancer implementation that does exact balancing. This means that a lock is // held during balancing so that connection counts are nearly exactly balanced between worker // threads. This is "nearly" exact in the sense that a connection might close in parallel thus // making the counts incorrect, but this should be rectified on the next accept. This balancer // sacrifices accept throughput for accuracy and should be used when there are a small number of // connections that rarely cycle (e.g., service mesh gRPC egress). type Listener_ConnectionBalanceConfig_ExactBalance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Listener_ConnectionBalanceConfig_ExactBalance) Reset() { *x = Listener_ConnectionBalanceConfig_ExactBalance{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_ConnectionBalanceConfig_ExactBalance) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_ConnectionBalanceConfig_ExactBalance) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig_ExactBalance) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_ConnectionBalanceConfig_ExactBalance.ProtoReflect.Descriptor instead. func (*Listener_ConnectionBalanceConfig_ExactBalance) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_proto_rawDescGZIP(), []int{0, 1, 0} } var File_envoy_api_v2_listener_proto protoreflect.FileDescriptor var file_envoy_api_v2_listener_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x0e, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x3f, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x18, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x1a, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x74, 0x63, 0x70, 0x46, 0x61, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x75, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x6a, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x1a, 0x4c, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f, 0x50, 0x6f, 0x72, 0x74, 0x1a, 0xa2, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x0d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x42, 0x90, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_listener_proto_rawDescOnce sync.Once file_envoy_api_v2_listener_proto_rawDescData = file_envoy_api_v2_listener_proto_rawDesc ) func file_envoy_api_v2_listener_proto_rawDescGZIP() []byte { file_envoy_api_v2_listener_proto_rawDescOnce.Do(func() { file_envoy_api_v2_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_proto_rawDescData) }) return file_envoy_api_v2_listener_proto_rawDescData } var file_envoy_api_v2_listener_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_api_v2_listener_proto_goTypes = []interface{}{ (Listener_DrainType)(0), // 0: envoy.api.v2.Listener.DrainType (*Listener)(nil), // 1: envoy.api.v2.Listener (*Listener_DeprecatedV1)(nil), // 2: envoy.api.v2.Listener.DeprecatedV1 (*Listener_ConnectionBalanceConfig)(nil), // 3: envoy.api.v2.Listener.ConnectionBalanceConfig (*Listener_ConnectionBalanceConfig_ExactBalance)(nil), // 4: envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance (*core.Address)(nil), // 5: envoy.api.v2.core.Address (*listener.FilterChain)(nil), // 6: envoy.api.v2.listener.FilterChain (*wrappers.BoolValue)(nil), // 7: google.protobuf.BoolValue (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value (*core.Metadata)(nil), // 9: envoy.api.v2.core.Metadata (*listener.ListenerFilter)(nil), // 10: envoy.api.v2.listener.ListenerFilter (*duration.Duration)(nil), // 11: google.protobuf.Duration (*core.SocketOption)(nil), // 12: envoy.api.v2.core.SocketOption (core.TrafficDirection)(0), // 13: envoy.api.v2.core.TrafficDirection (*listener.UdpListenerConfig)(nil), // 14: envoy.api.v2.listener.UdpListenerConfig (*v2.ApiListener)(nil), // 15: envoy.config.listener.v2.ApiListener (*v21.AccessLog)(nil), // 16: envoy.config.filter.accesslog.v2.AccessLog } var file_envoy_api_v2_listener_proto_depIdxs = []int32{ 5, // 0: envoy.api.v2.Listener.address:type_name -> envoy.api.v2.core.Address 6, // 1: envoy.api.v2.Listener.filter_chains:type_name -> envoy.api.v2.listener.FilterChain 7, // 2: envoy.api.v2.Listener.use_original_dst:type_name -> google.protobuf.BoolValue 8, // 3: envoy.api.v2.Listener.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 9, // 4: envoy.api.v2.Listener.metadata:type_name -> envoy.api.v2.core.Metadata 2, // 5: envoy.api.v2.Listener.deprecated_v1:type_name -> envoy.api.v2.Listener.DeprecatedV1 0, // 6: envoy.api.v2.Listener.drain_type:type_name -> envoy.api.v2.Listener.DrainType 10, // 7: envoy.api.v2.Listener.listener_filters:type_name -> envoy.api.v2.listener.ListenerFilter 11, // 8: envoy.api.v2.Listener.listener_filters_timeout:type_name -> google.protobuf.Duration 7, // 9: envoy.api.v2.Listener.transparent:type_name -> google.protobuf.BoolValue 7, // 10: envoy.api.v2.Listener.freebind:type_name -> google.protobuf.BoolValue 12, // 11: envoy.api.v2.Listener.socket_options:type_name -> envoy.api.v2.core.SocketOption 8, // 12: envoy.api.v2.Listener.tcp_fast_open_queue_length:type_name -> google.protobuf.UInt32Value 13, // 13: envoy.api.v2.Listener.traffic_direction:type_name -> envoy.api.v2.core.TrafficDirection 14, // 14: envoy.api.v2.Listener.udp_listener_config:type_name -> envoy.api.v2.listener.UdpListenerConfig 15, // 15: envoy.api.v2.Listener.api_listener:type_name -> envoy.config.listener.v2.ApiListener 3, // 16: envoy.api.v2.Listener.connection_balance_config:type_name -> envoy.api.v2.Listener.ConnectionBalanceConfig 16, // 17: envoy.api.v2.Listener.access_log:type_name -> envoy.config.filter.accesslog.v2.AccessLog 7, // 18: envoy.api.v2.Listener.DeprecatedV1.bind_to_port:type_name -> google.protobuf.BoolValue 4, // 19: envoy.api.v2.Listener.ConnectionBalanceConfig.exact_balance:type_name -> envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_api_v2_listener_proto_init() } func file_envoy_api_v2_listener_proto_init() { if File_envoy_api_v2_listener_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_DeprecatedV1); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_ConnectionBalanceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_ConnectionBalanceConfig_ExactBalance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_listener_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Listener_ConnectionBalanceConfig_ExactBalance_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_listener_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_listener_proto_goTypes, DependencyIndexes: file_envoy_api_v2_listener_proto_depIdxs, EnumInfos: file_envoy_api_v2_listener_proto_enumTypes, MessageInfos: file_envoy_api_v2_listener_proto_msgTypes, }.Build() File_envoy_api_v2_listener_proto = out.File file_envoy_api_v2_listener_proto_rawDesc = nil file_envoy_api_v2_listener_proto_goTypes = nil file_envoy_api_v2_listener_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/listener.pb.validate.go000077500000000000000000000720711454502223200235670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/listener.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.TrafficDirection(0) ) // Validate checks the field values on Listener with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerMultiError, or nil // if none found. func (m *Listener) ValidateAll() error { return m.validate(true) } func (m *Listener) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if m.GetAddress() == nil { err := ListenerValidationError{ field: "Address", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetFilterChains() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseOriginalDst()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseOriginalDst()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerConnectionBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDeprecatedV1()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeprecatedV1()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DrainType for idx, item := range m.GetListenerFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetListenerFiltersTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListenerFiltersTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ContinueOnListenerFiltersTimeout if all { switch v := interface{}(m.GetTransparent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransparent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFreebind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTcpFastOpenQueueLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpFastOpenQueueLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrafficDirection if all { switch v := interface{}(m.GetUdpListenerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUdpListenerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetApiListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectionBalanceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionBalanceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ReusePort for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenerMultiError(errors) } return nil } // ListenerMultiError is an error wrapping multiple validation errors returned // by Listener.ValidateAll() if the designated constraints aren't met. type ListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerMultiError) AllErrors() []error { return m } // ListenerValidationError is the validation error returned by // Listener.Validate if the designated constraints aren't met. type ListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerValidationError) ErrorName() string { return "ListenerValidationError" } // Error satisfies the builtin error interface func (e ListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerValidationError{} // Validate checks the field values on Listener_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Listener_DeprecatedV1) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Listener_DeprecatedV1MultiError, or nil if none found. func (m *Listener_DeprecatedV1) ValidateAll() error { return m.validate(true) } func (m *Listener_DeprecatedV1) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBindToPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBindToPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Listener_DeprecatedV1MultiError(errors) } return nil } // Listener_DeprecatedV1MultiError is an error wrapping multiple validation // errors returned by Listener_DeprecatedV1.ValidateAll() if the designated // constraints aren't met. type Listener_DeprecatedV1MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_DeprecatedV1MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_DeprecatedV1MultiError) AllErrors() []error { return m } // Listener_DeprecatedV1ValidationError is the validation error returned by // Listener_DeprecatedV1.Validate if the designated constraints aren't met. type Listener_DeprecatedV1ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_DeprecatedV1ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_DeprecatedV1ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_DeprecatedV1ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_DeprecatedV1ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_DeprecatedV1ValidationError) ErrorName() string { return "Listener_DeprecatedV1ValidationError" } // Error satisfies the builtin error interface func (e Listener_DeprecatedV1ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_DeprecatedV1.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_DeprecatedV1ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_DeprecatedV1ValidationError{} // Validate checks the field values on Listener_ConnectionBalanceConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Listener_ConnectionBalanceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener_ConnectionBalanceConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Listener_ConnectionBalanceConfigMultiError, or nil if none found. func (m *Listener_ConnectionBalanceConfig) ValidateAll() error { return m.validate(true) } func (m *Listener_ConnectionBalanceConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofBalanceTypePresent := false switch v := m.BalanceType.(type) { case *Listener_ConnectionBalanceConfig_ExactBalance_: if v == nil { err := Listener_ConnectionBalanceConfigValidationError{ field: "BalanceType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBalanceTypePresent = true if all { switch v := interface{}(m.GetExactBalance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExactBalance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofBalanceTypePresent { err := Listener_ConnectionBalanceConfigValidationError{ field: "BalanceType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Listener_ConnectionBalanceConfigMultiError(errors) } return nil } // Listener_ConnectionBalanceConfigMultiError is an error wrapping multiple // validation errors returned by // Listener_ConnectionBalanceConfig.ValidateAll() if the designated // constraints aren't met. type Listener_ConnectionBalanceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_ConnectionBalanceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_ConnectionBalanceConfigMultiError) AllErrors() []error { return m } // Listener_ConnectionBalanceConfigValidationError is the validation error // returned by Listener_ConnectionBalanceConfig.Validate if the designated // constraints aren't met. type Listener_ConnectionBalanceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_ConnectionBalanceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_ConnectionBalanceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_ConnectionBalanceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_ConnectionBalanceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_ConnectionBalanceConfigValidationError) ErrorName() string { return "Listener_ConnectionBalanceConfigValidationError" } // Error satisfies the builtin error interface func (e Listener_ConnectionBalanceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_ConnectionBalanceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_ConnectionBalanceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_ConnectionBalanceConfigValidationError{} // Validate checks the field values on // Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listener_ConnectionBalanceConfig_ExactBalance) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Listener_ConnectionBalanceConfig_ExactBalanceMultiError, or nil if none found. func (m *Listener_ConnectionBalanceConfig_ExactBalance) ValidateAll() error { return m.validate(true) } func (m *Listener_ConnectionBalanceConfig_ExactBalance) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Listener_ConnectionBalanceConfig_ExactBalanceMultiError(errors) } return nil } // Listener_ConnectionBalanceConfig_ExactBalanceMultiError is an error wrapping // multiple validation errors returned by // Listener_ConnectionBalanceConfig_ExactBalance.ValidateAll() if the // designated constraints aren't met. type Listener_ConnectionBalanceConfig_ExactBalanceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_ConnectionBalanceConfig_ExactBalanceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_ConnectionBalanceConfig_ExactBalanceMultiError) AllErrors() []error { return m } // Listener_ConnectionBalanceConfig_ExactBalanceValidationError is the // validation error returned by // Listener_ConnectionBalanceConfig_ExactBalance.Validate if the designated // constraints aren't met. type Listener_ConnectionBalanceConfig_ExactBalanceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) ErrorName() string { return "Listener_ConnectionBalanceConfig_ExactBalanceValidationError" } // Error satisfies the builtin error interface func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_ConnectionBalanceConfig_ExactBalance.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{} go-control-plane-0.12.0/envoy/api/v2/listener/000077500000000000000000000000001454502223200210365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/listener/listener.pb.go000077500000000000000000000073601454502223200236230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/listener/listener.proto package listener import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_api_v2_listener_listener_proto protoreflect.FileDescriptor var file_envoy_api_v2_listener_listener_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xab, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x17, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x1a, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_api_v2_listener_listener_proto_goTypes = []interface{}{} var file_envoy_api_v2_listener_listener_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_listener_listener_proto_init() } func file_envoy_api_v2_listener_listener_proto_init() { if File_envoy_api_v2_listener_listener_proto != nil { return } file_envoy_api_v2_listener_listener_components_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_listener_listener_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_listener_listener_proto_goTypes, DependencyIndexes: file_envoy_api_v2_listener_listener_proto_depIdxs, }.Build() File_envoy_api_v2_listener_listener_proto = out.File file_envoy_api_v2_listener_listener_proto_rawDesc = nil file_envoy_api_v2_listener_listener_proto_goTypes = nil file_envoy_api_v2_listener_listener_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/listener/listener.pb.validate.go000077500000000000000000000010771454502223200254120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/listener/listener.proto package listener import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/api/v2/listener/listener_components.pb.go000077500000000000000000001530771454502223200260770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/listener/listener_components.proto package listener import ( _ "github.com/cncf/xds/go/udpa/annotations" auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FilterChainMatch_ConnectionSourceType int32 const ( // Any connection source matches. FilterChainMatch_ANY FilterChainMatch_ConnectionSourceType = 0 // Match a connection originating from the same host. FilterChainMatch_LOCAL FilterChainMatch_ConnectionSourceType = 1 // Match a connection originating from a different host. FilterChainMatch_EXTERNAL FilterChainMatch_ConnectionSourceType = 2 ) // Enum value maps for FilterChainMatch_ConnectionSourceType. var ( FilterChainMatch_ConnectionSourceType_name = map[int32]string{ 0: "ANY", 1: "LOCAL", 2: "EXTERNAL", } FilterChainMatch_ConnectionSourceType_value = map[string]int32{ "ANY": 0, "LOCAL": 1, "EXTERNAL": 2, } ) func (x FilterChainMatch_ConnectionSourceType) Enum() *FilterChainMatch_ConnectionSourceType { p := new(FilterChainMatch_ConnectionSourceType) *p = x return p } func (x FilterChainMatch_ConnectionSourceType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FilterChainMatch_ConnectionSourceType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_listener_listener_components_proto_enumTypes[0].Descriptor() } func (FilterChainMatch_ConnectionSourceType) Type() protoreflect.EnumType { return &file_envoy_api_v2_listener_listener_components_proto_enumTypes[0] } func (x FilterChainMatch_ConnectionSourceType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FilterChainMatch_ConnectionSourceType.Descriptor instead. func (FilterChainMatch_ConnectionSourceType) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{1, 0} } type Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a // :ref:`supported filter `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. // // Types that are assignable to ConfigType: // // *Filter_Config // *Filter_TypedConfig ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *Filter) Reset() { *x = Filter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Filter) ProtoMessage() {} func (x *Filter) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Filter.ProtoReflect.Descriptor instead. func (*Filter) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{0} } func (x *Filter) GetName() string { if x != nil { return x.Name } return "" } func (m *Filter) GetConfigType() isFilter_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. func (x *Filter) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*Filter_Config); ok { return x.Config } return nil } func (x *Filter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*Filter_TypedConfig); ok { return x.TypedConfig } return nil } type isFilter_ConfigType interface { isFilter_ConfigType() } type Filter_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type Filter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*Filter_Config) isFilter_ConfigType() {} func (*Filter_TypedConfig) isFilter_ConfigType() {} // Specifies the match criteria for selecting a specific filter chain for a // listener. // // In order for a filter chain to be selected, *ALL* of its criteria must be // fulfilled by the incoming connection, properties of which are set by the // networking stack and/or listener filters. // // The following order applies: // // 1. Destination port. // 2. Destination IP address. // 3. Server name (e.g. SNI for TLS protocol), // 4. Transport protocol. // 5. Application protocols (e.g. ALPN for TLS protocol). // 6. Source type (e.g. any, local or external network). // 7. Source IP address. // 8. Source port. // // For criteria that allow ranges or wildcards, the most specific value in any // of the configured filter chains that matches the incoming connection is going // to be used (e.g. for SNI “www.example.com“ the most specific match would be // “www.example.com“, then “*.example.com“, then “*.com“, then any filter // chain without “server_names“ requirements). // // [#comment: Implemented rules are kept in the preference order, with deprecated fields // listed at the end, because that's how we want to list them in the docs. // // [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules] // [#next-free-field: 13] type FilterChainMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional destination port to consider when use_original_dst is set on the // listener in determining a filter chain match. DestinationPort *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` // If non-empty, an IP address and prefix length to match addresses when the // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. PrefixRanges []*core.CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges,proto3" json:"prefix_ranges,omitempty"` // If non-empty, an IP address and suffix length to match addresses when the // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. // [#not-implemented-hide:] AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"` // [#not-implemented-hide:] SuffixLen *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" json:"suffix_len,omitempty"` // Specifies the connection source IP match type. Can be any, local or external network. SourceType FilterChainMatch_ConnectionSourceType `protobuf:"varint,12,opt,name=source_type,json=sourceType,proto3,enum=envoy.api.v2.listener.FilterChainMatch_ConnectionSourceType" json:"source_type,omitempty"` // The criteria is satisfied if the source IP address of the downstream // connection is contained in at least one of the specified subnets. If the // parameter is not specified or the list is empty, the source IP address is // ignored. SourcePrefixRanges []*core.CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"` // The criteria is satisfied if the source port of the downstream connection // is contained in at least one of the specified ports. If the parameter is // not specified, the source port is ignored. SourcePorts []uint32 `protobuf:"varint,7,rep,packed,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` // If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining // a filter chain match. Those values will be compared against the server names of a new // connection, when detected by one of the listener filters. // // The server name will be matched against all wildcard domains, i.e. “www.example.com“ // will be first matched against “www.example.com“, then “*.example.com“, then “*.com“. // // Note that partial wildcards are not supported, and values like “*w.example.com“ are invalid. // // .. attention:: // // See the :ref:`FAQ entry ` on how to configure SNI for more // information. ServerNames []string `protobuf:"bytes,11,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"` // If non-empty, a transport protocol to consider when determining a filter chain match. // This value will be compared against the transport protocol of a new connection, when // it's detected by one of the listener filters. // // Suggested values include: // // - “raw_buffer“ - default, used when no transport protocol is detected, // - “tls“ - set by :ref:`envoy.filters.listener.tls_inspector ` // when TLS protocol is detected. TransportProtocol string `protobuf:"bytes,9,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"` // If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when // determining a filter chain match. Those values will be compared against the application // protocols of a new connection, when detected by one of the listener filters. // // Suggested values include: // // - “http/1.1“ - set by :ref:`envoy.filters.listener.tls_inspector // `, // - “h2“ - set by :ref:`envoy.filters.listener.tls_inspector ` // // .. attention:: // // Currently, only :ref:`TLS Inspector ` provides // application protocol detection based on the requested // `ALPN `_ values. // // However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet, // and matching on values other than ``h2`` is going to lead to a lot of false negatives, // unless all connecting clients are known to use ALPN. ApplicationProtocols []string `protobuf:"bytes,10,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` } func (x *FilterChainMatch) Reset() { *x = FilterChainMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterChainMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterChainMatch) ProtoMessage() {} func (x *FilterChainMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead. func (*FilterChainMatch) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{1} } func (x *FilterChainMatch) GetDestinationPort() *wrappers.UInt32Value { if x != nil { return x.DestinationPort } return nil } func (x *FilterChainMatch) GetPrefixRanges() []*core.CidrRange { if x != nil { return x.PrefixRanges } return nil } func (x *FilterChainMatch) GetAddressSuffix() string { if x != nil { return x.AddressSuffix } return "" } func (x *FilterChainMatch) GetSuffixLen() *wrappers.UInt32Value { if x != nil { return x.SuffixLen } return nil } func (x *FilterChainMatch) GetSourceType() FilterChainMatch_ConnectionSourceType { if x != nil { return x.SourceType } return FilterChainMatch_ANY } func (x *FilterChainMatch) GetSourcePrefixRanges() []*core.CidrRange { if x != nil { return x.SourcePrefixRanges } return nil } func (x *FilterChainMatch) GetSourcePorts() []uint32 { if x != nil { return x.SourcePorts } return nil } func (x *FilterChainMatch) GetServerNames() []string { if x != nil { return x.ServerNames } return nil } func (x *FilterChainMatch) GetTransportProtocol() string { if x != nil { return x.TransportProtocol } return "" } func (x *FilterChainMatch) GetApplicationProtocols() []string { if x != nil { return x.ApplicationProtocols } return nil } // A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and // various other parameters. // [#next-free-field: 8] type FilterChain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The criteria to use when matching a connection to this filter chain. FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch,proto3" json:"filter_chain_match,omitempty"` // The TLS context for this filter chain. // // .. attention:: // // **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are // set, `transport_socket` takes priority. // // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. TlsContext *auth.DownstreamTlsContext `protobuf:"bytes,2,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"` // A list of individual network filters that make up the filter chain for // connections established with the listener. Order matters as the filters are // processed sequentially as connection events happen. Note: If the filter // list is empty, the connection will close by default. Filters []*Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` // Whether the listener should expect a PROXY protocol V1 header on new // connections. If this option is enabled, the listener will assume that that // remote address of the connection is the one specified in the header. Some // load balancers including the AWS ELB support this option. If the option is // absent or set to false, Envoy will use the physical peer address of the // connection as the remote address. UseProxyProto *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"` // [#not-implemented-hide:] filter chain metadata. Metadata *core.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // Optional custom transport socket implementation to use for downstream connections. // To setup TLS, set a transport socket with name `tls` and // :ref:`DownstreamTlsContext ` in the `typed_config`. // If no transport socket configuration is specified, new connections // will be set up with plaintext. TransportSocket *core.TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` // [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no // name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter // chain is to be dynamically updated or removed via FCDS a unique name must be provided. Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` } func (x *FilterChain) Reset() { *x = FilterChain{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterChain) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterChain) ProtoMessage() {} func (x *FilterChain) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterChain.ProtoReflect.Descriptor instead. func (*FilterChain) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{2} } func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch { if x != nil { return x.FilterChainMatch } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. func (x *FilterChain) GetTlsContext() *auth.DownstreamTlsContext { if x != nil { return x.TlsContext } return nil } func (x *FilterChain) GetFilters() []*Filter { if x != nil { return x.Filters } return nil } func (x *FilterChain) GetUseProxyProto() *wrappers.BoolValue { if x != nil { return x.UseProxyProto } return nil } func (x *FilterChain) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *FilterChain) GetTransportSocket() *core.TransportSocket { if x != nil { return x.TransportSocket } return nil } func (x *FilterChain) GetName() string { if x != nil { return x.Name } return "" } // Listener filter chain match configuration. This is a recursive structure which allows complex // nested match configurations to be built using various logical operators. // // Examples: // // * Matches if the destination port is 3306. // // .. code-block:: yaml // // destination_port_range: // start: 3306 // end: 3307 // // * Matches if the destination port is 3306 or 15000. // // .. code-block:: yaml // // or_match: // rules: // - destination_port_range: // start: 3306 // end: 3307 // - destination_port_range: // start: 15000 // end: 15001 // // [#next-free-field: 6] type ListenerFilterChainMatchPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *ListenerFilterChainMatchPredicate_OrMatch // *ListenerFilterChainMatchPredicate_AndMatch // *ListenerFilterChainMatchPredicate_NotMatch // *ListenerFilterChainMatchPredicate_AnyMatch // *ListenerFilterChainMatchPredicate_DestinationPortRange Rule isListenerFilterChainMatchPredicate_Rule `protobuf_oneof:"rule"` } func (x *ListenerFilterChainMatchPredicate) Reset() { *x = ListenerFilterChainMatchPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilterChainMatchPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilterChainMatchPredicate) ProtoMessage() {} func (x *ListenerFilterChainMatchPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilterChainMatchPredicate.ProtoReflect.Descriptor instead. func (*ListenerFilterChainMatchPredicate) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{3} } func (m *ListenerFilterChainMatchPredicate) GetRule() isListenerFilterChainMatchPredicate_Rule { if m != nil { return m.Rule } return nil } func (x *ListenerFilterChainMatchPredicate) GetOrMatch() *ListenerFilterChainMatchPredicate_MatchSet { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_OrMatch); ok { return x.OrMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetAndMatch() *ListenerFilterChainMatchPredicate_MatchSet { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AndMatch); ok { return x.AndMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetNotMatch() *ListenerFilterChainMatchPredicate { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_NotMatch); ok { return x.NotMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetAnyMatch() bool { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AnyMatch); ok { return x.AnyMatch } return false } func (x *ListenerFilterChainMatchPredicate) GetDestinationPortRange() *_type.Int32Range { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_DestinationPortRange); ok { return x.DestinationPortRange } return nil } type isListenerFilterChainMatchPredicate_Rule interface { isListenerFilterChainMatchPredicate_Rule() } type ListenerFilterChainMatchPredicate_OrMatch struct { // A set that describes a logical OR. If any member of the set matches, the match configuration // matches. OrMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_AndMatch struct { // A set that describes a logical AND. If all members of the set match, the match configuration // matches. AndMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_NotMatch struct { // A negation match. The match configuration will match if the negated match condition matches. NotMatch *ListenerFilterChainMatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_AnyMatch struct { // The match configuration will always match. AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_DestinationPortRange struct { // Match destination port. Particularly, the match evaluation must use the recovered local port if // the owning listener filter is after :ref:`an original_dst listener filter `. DestinationPortRange *_type.Int32Range `protobuf:"bytes,5,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"` } func (*ListenerFilterChainMatchPredicate_OrMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_AndMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_NotMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_AnyMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_DestinationPortRange) isListenerFilterChainMatchPredicate_Rule() { } type ListenerFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a // :ref:`supported filter `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being instantiated. // See the supported filters for further documentation. // // Types that are assignable to ConfigType: // // *ListenerFilter_Config // *ListenerFilter_TypedConfig ConfigType isListenerFilter_ConfigType `protobuf_oneof:"config_type"` // Optional match predicate used to disable the filter. The filter is enabled when this field is empty. // See :ref:`ListenerFilterChainMatchPredicate ` // for further examples. FilterDisabled *ListenerFilterChainMatchPredicate `protobuf:"bytes,4,opt,name=filter_disabled,json=filterDisabled,proto3" json:"filter_disabled,omitempty"` } func (x *ListenerFilter) Reset() { *x = ListenerFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilter) ProtoMessage() {} func (x *ListenerFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilter.ProtoReflect.Descriptor instead. func (*ListenerFilter) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{4} } func (x *ListenerFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ListenerFilter) GetConfigType() isListenerFilter_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. func (x *ListenerFilter) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*ListenerFilter_Config); ok { return x.Config } return nil } func (x *ListenerFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ListenerFilter_TypedConfig); ok { return x.TypedConfig } return nil } func (x *ListenerFilter) GetFilterDisabled() *ListenerFilterChainMatchPredicate { if x != nil { return x.FilterDisabled } return nil } type isListenerFilter_ConfigType interface { isListenerFilter_ConfigType() } type ListenerFilter_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/listener/listener_components.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type ListenerFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ListenerFilter_Config) isListenerFilter_ConfigType() {} func (*ListenerFilter_TypedConfig) isListenerFilter_ConfigType() {} // A set of match configurations used for logical operations. type ListenerFilterChainMatchPredicate_MatchSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules that make up the set. Rules []*ListenerFilterChainMatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *ListenerFilterChainMatchPredicate_MatchSet) Reset() { *x = ListenerFilterChainMatchPredicate_MatchSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilterChainMatchPredicate_MatchSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilterChainMatchPredicate_MatchSet) ProtoMessage() {} func (x *ListenerFilterChainMatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_listener_components_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilterChainMatchPredicate_MatchSet.ProtoReflect.Descriptor instead. func (*ListenerFilterChainMatchPredicate_MatchSet) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP(), []int{3, 0} } func (x *ListenerFilterChainMatchPredicate_MatchSet) GetRules() []*ListenerFilterChainMatchPredicate { if x != nil { return x.Rules } return nil } var File_envoy_api_v2_listener_listener_components_proto protoreflect.FileDescriptor var file_envoy_api_v2_listener_listener_components_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xe1, 0x05, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x67, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x55, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x1a, 0x1b, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x15, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xcb, 0x03, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x55, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x04, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x60, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x57, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x64, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x58, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x91, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xdd, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x17, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x1a, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_listener_listener_components_proto_rawDescOnce sync.Once file_envoy_api_v2_listener_listener_components_proto_rawDescData = file_envoy_api_v2_listener_listener_components_proto_rawDesc ) func file_envoy_api_v2_listener_listener_components_proto_rawDescGZIP() []byte { file_envoy_api_v2_listener_listener_components_proto_rawDescOnce.Do(func() { file_envoy_api_v2_listener_listener_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_listener_components_proto_rawDescData) }) return file_envoy_api_v2_listener_listener_components_proto_rawDescData } var file_envoy_api_v2_listener_listener_components_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_api_v2_listener_listener_components_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_api_v2_listener_listener_components_proto_goTypes = []interface{}{ (FilterChainMatch_ConnectionSourceType)(0), // 0: envoy.api.v2.listener.FilterChainMatch.ConnectionSourceType (*Filter)(nil), // 1: envoy.api.v2.listener.Filter (*FilterChainMatch)(nil), // 2: envoy.api.v2.listener.FilterChainMatch (*FilterChain)(nil), // 3: envoy.api.v2.listener.FilterChain (*ListenerFilterChainMatchPredicate)(nil), // 4: envoy.api.v2.listener.ListenerFilterChainMatchPredicate (*ListenerFilter)(nil), // 5: envoy.api.v2.listener.ListenerFilter (*ListenerFilterChainMatchPredicate_MatchSet)(nil), // 6: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*any1.Any)(nil), // 8: google.protobuf.Any (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*core.CidrRange)(nil), // 10: envoy.api.v2.core.CidrRange (*auth.DownstreamTlsContext)(nil), // 11: envoy.api.v2.auth.DownstreamTlsContext (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue (*core.Metadata)(nil), // 13: envoy.api.v2.core.Metadata (*core.TransportSocket)(nil), // 14: envoy.api.v2.core.TransportSocket (*_type.Int32Range)(nil), // 15: envoy.type.Int32Range } var file_envoy_api_v2_listener_listener_components_proto_depIdxs = []int32{ 7, // 0: envoy.api.v2.listener.Filter.config:type_name -> google.protobuf.Struct 8, // 1: envoy.api.v2.listener.Filter.typed_config:type_name -> google.protobuf.Any 9, // 2: envoy.api.v2.listener.FilterChainMatch.destination_port:type_name -> google.protobuf.UInt32Value 10, // 3: envoy.api.v2.listener.FilterChainMatch.prefix_ranges:type_name -> envoy.api.v2.core.CidrRange 9, // 4: envoy.api.v2.listener.FilterChainMatch.suffix_len:type_name -> google.protobuf.UInt32Value 0, // 5: envoy.api.v2.listener.FilterChainMatch.source_type:type_name -> envoy.api.v2.listener.FilterChainMatch.ConnectionSourceType 10, // 6: envoy.api.v2.listener.FilterChainMatch.source_prefix_ranges:type_name -> envoy.api.v2.core.CidrRange 2, // 7: envoy.api.v2.listener.FilterChain.filter_chain_match:type_name -> envoy.api.v2.listener.FilterChainMatch 11, // 8: envoy.api.v2.listener.FilterChain.tls_context:type_name -> envoy.api.v2.auth.DownstreamTlsContext 1, // 9: envoy.api.v2.listener.FilterChain.filters:type_name -> envoy.api.v2.listener.Filter 12, // 10: envoy.api.v2.listener.FilterChain.use_proxy_proto:type_name -> google.protobuf.BoolValue 13, // 11: envoy.api.v2.listener.FilterChain.metadata:type_name -> envoy.api.v2.core.Metadata 14, // 12: envoy.api.v2.listener.FilterChain.transport_socket:type_name -> envoy.api.v2.core.TransportSocket 6, // 13: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.or_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet 6, // 14: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.and_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet 4, // 15: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.not_match:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate 15, // 16: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.destination_port_range:type_name -> envoy.type.Int32Range 7, // 17: envoy.api.v2.listener.ListenerFilter.config:type_name -> google.protobuf.Struct 8, // 18: envoy.api.v2.listener.ListenerFilter.typed_config:type_name -> google.protobuf.Any 4, // 19: envoy.api.v2.listener.ListenerFilter.filter_disabled:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate 4, // 20: envoy.api.v2.listener.ListenerFilterChainMatchPredicate.MatchSet.rules:type_name -> envoy.api.v2.listener.ListenerFilterChainMatchPredicate 21, // [21:21] is the sub-list for method output_type 21, // [21:21] is the sub-list for method input_type 21, // [21:21] is the sub-list for extension type_name 21, // [21:21] is the sub-list for extension extendee 0, // [0:21] is the sub-list for field type_name } func init() { file_envoy_api_v2_listener_listener_components_proto_init() } func file_envoy_api_v2_listener_listener_components_proto_init() { if File_envoy_api_v2_listener_listener_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_listener_listener_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterChainMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterChain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilterChainMatchPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilterChainMatchPredicate_MatchSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_listener_listener_components_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Filter_Config)(nil), (*Filter_TypedConfig)(nil), } file_envoy_api_v2_listener_listener_components_proto_msgTypes[3].OneofWrappers = []interface{}{ (*ListenerFilterChainMatchPredicate_OrMatch)(nil), (*ListenerFilterChainMatchPredicate_AndMatch)(nil), (*ListenerFilterChainMatchPredicate_NotMatch)(nil), (*ListenerFilterChainMatchPredicate_AnyMatch)(nil), (*ListenerFilterChainMatchPredicate_DestinationPortRange)(nil), } file_envoy_api_v2_listener_listener_components_proto_msgTypes[4].OneofWrappers = []interface{}{ (*ListenerFilter_Config)(nil), (*ListenerFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_listener_listener_components_proto_rawDesc, NumEnums: 1, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_listener_listener_components_proto_goTypes, DependencyIndexes: file_envoy_api_v2_listener_listener_components_proto_depIdxs, EnumInfos: file_envoy_api_v2_listener_listener_components_proto_enumTypes, MessageInfos: file_envoy_api_v2_listener_listener_components_proto_msgTypes, }.Build() File_envoy_api_v2_listener_listener_components_proto = out.File file_envoy_api_v2_listener_listener_components_proto_rawDesc = nil file_envoy_api_v2_listener_listener_components_proto_goTypes = nil file_envoy_api_v2_listener_listener_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/listener/listener_components.pb.validate.go000077500000000000000000001155441454502223200276640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/listener/listener_components.proto package listener import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Filter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in FilterMultiError, or nil if none found. func (m *Filter) ValidateAll() error { return m.validate(true) } func (m *Filter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := FilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *Filter_Config: if v == nil { err := FilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *Filter_TypedConfig: if v == nil { err := FilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterMultiError(errors) } return nil } // FilterMultiError is an error wrapping multiple validation errors returned by // Filter.ValidateAll() if the designated constraints aren't met. type FilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterMultiError) AllErrors() []error { return m } // FilterValidationError is the validation error returned by Filter.Validate if // the designated constraints aren't met. type FilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterValidationError) ErrorName() string { return "FilterValidationError" } // Error satisfies the builtin error interface func (e FilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterValidationError{} // Validate checks the field values on FilterChainMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterChainMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterChainMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterChainMatchMultiError, or nil if none found. func (m *FilterChainMatch) ValidateAll() error { return m.validate(true) } func (m *FilterChainMatch) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetDestinationPort(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 65535 { err := FilterChainMatchValidationError{ field: "DestinationPort", reason: "value must be inside range [1, 65535]", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetPrefixRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AddressSuffix if all { switch v := interface{}(m.GetSuffixLen()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuffixLen()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, } } } if _, ok := FilterChainMatch_ConnectionSourceType_name[int32(m.GetSourceType())]; !ok { err := FilterChainMatchValidationError{ field: "SourceType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetSourcePrefixRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetSourcePorts() { _, _ = idx, item if val := item; val < 1 || val > 65535 { err := FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePorts[%v]", idx), reason: "value must be inside range [1, 65535]", } if !all { return err } errors = append(errors, err) } } // no validation rules for TransportProtocol if len(errors) > 0 { return FilterChainMatchMultiError(errors) } return nil } // FilterChainMatchMultiError is an error wrapping multiple validation errors // returned by FilterChainMatch.ValidateAll() if the designated constraints // aren't met. type FilterChainMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterChainMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterChainMatchMultiError) AllErrors() []error { return m } // FilterChainMatchValidationError is the validation error returned by // FilterChainMatch.Validate if the designated constraints aren't met. type FilterChainMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterChainMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterChainMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterChainMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterChainMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterChainMatchValidationError) ErrorName() string { return "FilterChainMatchValidationError" } // Error satisfies the builtin error interface func (e FilterChainMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterChainMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterChainMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterChainMatchValidationError{} // Validate checks the field values on FilterChain with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterChain) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterChain with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterChainMultiError, or // nil if none found. func (m *FilterChain) ValidateAll() error { return m.validate(true) } func (m *FilterChain) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetFilterChainMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterChainMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseProxyProto()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseProxyProto()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Name if len(errors) > 0 { return FilterChainMultiError(errors) } return nil } // FilterChainMultiError is an error wrapping multiple validation errors // returned by FilterChain.ValidateAll() if the designated constraints aren't met. type FilterChainMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterChainMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterChainMultiError) AllErrors() []error { return m } // FilterChainValidationError is the validation error returned by // FilterChain.Validate if the designated constraints aren't met. type FilterChainValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterChainValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterChainValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterChainValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterChainValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterChainValidationError) ErrorName() string { return "FilterChainValidationError" } // Error satisfies the builtin error interface func (e FilterChainValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterChain.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterChainValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterChainValidationError{} // Validate checks the field values on ListenerFilterChainMatchPredicate with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenerFilterChainMatchPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerFilterChainMatchPredicate // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenerFilterChainMatchPredicateMultiError, or nil if none found. func (m *ListenerFilterChainMatchPredicate) ValidateAll() error { return m.validate(true) } func (m *ListenerFilterChainMatchPredicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *ListenerFilterChainMatchPredicate_OrMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_AndMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_NotMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_AnyMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAnyMatch() != true { err := ListenerFilterChainMatchPredicateValidationError{ field: "AnyMatch", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *ListenerFilterChainMatchPredicate_DestinationPortRange: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetDestinationPortRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationPortRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ListenerFilterChainMatchPredicateMultiError(errors) } return nil } // ListenerFilterChainMatchPredicateMultiError is an error wrapping multiple // validation errors returned by // ListenerFilterChainMatchPredicate.ValidateAll() if the designated // constraints aren't met. type ListenerFilterChainMatchPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterChainMatchPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterChainMatchPredicateMultiError) AllErrors() []error { return m } // ListenerFilterChainMatchPredicateValidationError is the validation error // returned by ListenerFilterChainMatchPredicate.Validate if the designated // constraints aren't met. type ListenerFilterChainMatchPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterChainMatchPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterChainMatchPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterChainMatchPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterChainMatchPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterChainMatchPredicateValidationError) ErrorName() string { return "ListenerFilterChainMatchPredicateValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterChainMatchPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilterChainMatchPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterChainMatchPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterChainMatchPredicateValidationError{} // Validate checks the field values on ListenerFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerFilterMultiError, // or nil if none found. func (m *ListenerFilter) ValidateAll() error { return m.validate(true) } func (m *ListenerFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ListenerFilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterDisabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterDisabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, } } } switch v := m.ConfigType.(type) { case *ListenerFilter_Config: if v == nil { err := ListenerFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilter_TypedConfig: if v == nil { err := ListenerFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ListenerFilterMultiError(errors) } return nil } // ListenerFilterMultiError is an error wrapping multiple validation errors // returned by ListenerFilter.ValidateAll() if the designated constraints // aren't met. type ListenerFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterMultiError) AllErrors() []error { return m } // ListenerFilterValidationError is the validation error returned by // ListenerFilter.Validate if the designated constraints aren't met. type ListenerFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterValidationError) ErrorName() string { return "ListenerFilterValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterValidationError{} // Validate checks the field values on // ListenerFilterChainMatchPredicate_MatchSet with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerFilterChainMatchPredicate_MatchSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ListenerFilterChainMatchPredicate_MatchSet with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ListenerFilterChainMatchPredicate_MatchSetMultiError, or nil if none found. func (m *ListenerFilterChainMatchPredicate_MatchSet) ValidateAll() error { return m.validate(true) } func (m *ListenerFilterChainMatchPredicate_MatchSet) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 2 { err := ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: "Rules", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenerFilterChainMatchPredicate_MatchSetMultiError(errors) } return nil } // ListenerFilterChainMatchPredicate_MatchSetMultiError is an error wrapping // multiple validation errors returned by // ListenerFilterChainMatchPredicate_MatchSet.ValidateAll() if the designated // constraints aren't met. type ListenerFilterChainMatchPredicate_MatchSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterChainMatchPredicate_MatchSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterChainMatchPredicate_MatchSetMultiError) AllErrors() []error { return m } // ListenerFilterChainMatchPredicate_MatchSetValidationError is the validation // error returned by ListenerFilterChainMatchPredicate_MatchSet.Validate if // the designated constraints aren't met. type ListenerFilterChainMatchPredicate_MatchSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) ErrorName() string { return "ListenerFilterChainMatchPredicate_MatchSetValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilterChainMatchPredicate_MatchSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterChainMatchPredicate_MatchSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterChainMatchPredicate_MatchSetValidationError{} go-control-plane-0.12.0/envoy/api/v2/listener/quic_config.pb.go000077500000000000000000000237661454502223200242740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/listener/quic_config.proto package listener import ( _ "github.com/cncf/xds/go/udpa/annotations" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration specific to the QUIC protocol. // Next id: 4 type QuicProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of streams that the client can negotiate per connection. 100 // if not specified. MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` // Maximum number of milliseconds that connection will be alive when there is // no network activity. 300000ms if not specified. IdleTimeout *duration.Duration `protobuf:"bytes,2,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Connection timeout in milliseconds before the crypto handshake is finished. // 20000ms if not specified. CryptoHandshakeTimeout *duration.Duration `protobuf:"bytes,3,opt,name=crypto_handshake_timeout,json=cryptoHandshakeTimeout,proto3" json:"crypto_handshake_timeout,omitempty"` } func (x *QuicProtocolOptions) Reset() { *x = QuicProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_quic_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicProtocolOptions) ProtoMessage() {} func (x *QuicProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_quic_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicProtocolOptions.ProtoReflect.Descriptor instead. func (*QuicProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_quic_config_proto_rawDescGZIP(), []int{0} } func (x *QuicProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrentStreams } return nil } func (x *QuicProtocolOptions) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *QuicProtocolOptions) GetCryptoHandshakeTimeout() *duration.Duration { if x != nil { return x.CryptoHandshakeTimeout } return nil } var File_envoy_api_v2_listener_quic_config_proto protoreflect.FileDescriptor var file_envoy_api_v2_listener_quic_config_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x18, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0xd5, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x0f, 0x51, 0x75, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x17, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x1a, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_listener_quic_config_proto_rawDescOnce sync.Once file_envoy_api_v2_listener_quic_config_proto_rawDescData = file_envoy_api_v2_listener_quic_config_proto_rawDesc ) func file_envoy_api_v2_listener_quic_config_proto_rawDescGZIP() []byte { file_envoy_api_v2_listener_quic_config_proto_rawDescOnce.Do(func() { file_envoy_api_v2_listener_quic_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_quic_config_proto_rawDescData) }) return file_envoy_api_v2_listener_quic_config_proto_rawDescData } var file_envoy_api_v2_listener_quic_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_listener_quic_config_proto_goTypes = []interface{}{ (*QuicProtocolOptions)(nil), // 0: envoy.api.v2.listener.QuicProtocolOptions (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_api_v2_listener_quic_config_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.listener.QuicProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.api.v2.listener.QuicProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 2, // 2: envoy.api.v2.listener.QuicProtocolOptions.crypto_handshake_timeout:type_name -> google.protobuf.Duration 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_api_v2_listener_quic_config_proto_init() } func file_envoy_api_v2_listener_quic_config_proto_init() { if File_envoy_api_v2_listener_quic_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_listener_quic_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_listener_quic_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_listener_quic_config_proto_goTypes, DependencyIndexes: file_envoy_api_v2_listener_quic_config_proto_depIdxs, MessageInfos: file_envoy_api_v2_listener_quic_config_proto_msgTypes, }.Build() File_envoy_api_v2_listener_quic_config_proto = out.File file_envoy_api_v2_listener_quic_config_proto_rawDesc = nil file_envoy_api_v2_listener_quic_config_proto_goTypes = nil file_envoy_api_v2_listener_quic_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/listener/quic_config.pb.validate.go000077500000000000000000000137451454502223200260600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/listener/quic_config.proto package listener import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicProtocolOptionsMultiError, or nil if none found. func (m *QuicProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *QuicProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxConcurrentStreams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConcurrentStreams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCryptoHandshakeTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCryptoHandshakeTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return QuicProtocolOptionsMultiError(errors) } return nil } // QuicProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by QuicProtocolOptions.ValidateAll() if the designated // constraints aren't met. type QuicProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicProtocolOptionsMultiError) AllErrors() []error { return m } // QuicProtocolOptionsValidationError is the validation error returned by // QuicProtocolOptions.Validate if the designated constraints aren't met. type QuicProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicProtocolOptionsValidationError) ErrorName() string { return "QuicProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e QuicProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/api/v2/listener/udp_listener_config.pb.go000077500000000000000000000303001454502223200260060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/listener/udp_listener_config.proto package listener import ( _ "github.com/cncf/xds/go/udpa/annotations" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type UdpListenerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Used to look up UDP listener factory, matches "raw_udp_listener" or // "quic_listener" to create a specific udp listener. // If not specified, treat as "raw_udp_listener". UdpListenerName string `protobuf:"bytes,1,opt,name=udp_listener_name,json=udpListenerName,proto3" json:"udp_listener_name,omitempty"` // Used to create a specific listener factory. To some factory, e.g. // "raw_udp_listener", config is not needed. // // Types that are assignable to ConfigType: // // *UdpListenerConfig_Config // *UdpListenerConfig_TypedConfig ConfigType isUdpListenerConfig_ConfigType `protobuf_oneof:"config_type"` } func (x *UdpListenerConfig) Reset() { *x = UdpListenerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpListenerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpListenerConfig) ProtoMessage() {} func (x *UdpListenerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpListenerConfig.ProtoReflect.Descriptor instead. func (*UdpListenerConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_udp_listener_config_proto_rawDescGZIP(), []int{0} } func (x *UdpListenerConfig) GetUdpListenerName() string { if x != nil { return x.UdpListenerName } return "" } func (m *UdpListenerConfig) GetConfigType() isUdpListenerConfig_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/listener/udp_listener_config.proto. func (x *UdpListenerConfig) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*UdpListenerConfig_Config); ok { return x.Config } return nil } func (x *UdpListenerConfig) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*UdpListenerConfig_TypedConfig); ok { return x.TypedConfig } return nil } type isUdpListenerConfig_ConfigType interface { isUdpListenerConfig_ConfigType() } type UdpListenerConfig_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/listener/udp_listener_config.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type UdpListenerConfig_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*UdpListenerConfig_Config) isUdpListenerConfig_ConfigType() {} func (*UdpListenerConfig_TypedConfig) isUdpListenerConfig_ConfigType() {} type ActiveRawUdpListenerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ActiveRawUdpListenerConfig) Reset() { *x = ActiveRawUdpListenerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ActiveRawUdpListenerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ActiveRawUdpListenerConfig) ProtoMessage() {} func (x *ActiveRawUdpListenerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ActiveRawUdpListenerConfig.ProtoReflect.Descriptor instead. func (*ActiveRawUdpListenerConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_listener_udp_listener_config_proto_rawDescGZIP(), []int{1} } var File_envoy_api_v2_listener_udp_listener_config_proto protoreflect.FileDescriptor var file_envoy_api_v2_listener_udp_listener_config_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x11, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x77, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xdc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x16, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x17, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0xea, 0x02, 0x1a, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_listener_udp_listener_config_proto_rawDescOnce sync.Once file_envoy_api_v2_listener_udp_listener_config_proto_rawDescData = file_envoy_api_v2_listener_udp_listener_config_proto_rawDesc ) func file_envoy_api_v2_listener_udp_listener_config_proto_rawDescGZIP() []byte { file_envoy_api_v2_listener_udp_listener_config_proto_rawDescOnce.Do(func() { file_envoy_api_v2_listener_udp_listener_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_listener_udp_listener_config_proto_rawDescData) }) return file_envoy_api_v2_listener_udp_listener_config_proto_rawDescData } var file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_api_v2_listener_udp_listener_config_proto_goTypes = []interface{}{ (*UdpListenerConfig)(nil), // 0: envoy.api.v2.listener.UdpListenerConfig (*ActiveRawUdpListenerConfig)(nil), // 1: envoy.api.v2.listener.ActiveRawUdpListenerConfig (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*any1.Any)(nil), // 3: google.protobuf.Any } var file_envoy_api_v2_listener_udp_listener_config_proto_depIdxs = []int32{ 2, // 0: envoy.api.v2.listener.UdpListenerConfig.config:type_name -> google.protobuf.Struct 3, // 1: envoy.api.v2.listener.UdpListenerConfig.typed_config:type_name -> google.protobuf.Any 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_api_v2_listener_udp_listener_config_proto_init() } func file_envoy_api_v2_listener_udp_listener_config_proto_init() { if File_envoy_api_v2_listener_udp_listener_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpListenerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ActiveRawUdpListenerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*UdpListenerConfig_Config)(nil), (*UdpListenerConfig_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_listener_udp_listener_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_listener_udp_listener_config_proto_goTypes, DependencyIndexes: file_envoy_api_v2_listener_udp_listener_config_proto_depIdxs, MessageInfos: file_envoy_api_v2_listener_udp_listener_config_proto_msgTypes, }.Build() File_envoy_api_v2_listener_udp_listener_config_proto = out.File file_envoy_api_v2_listener_udp_listener_config_proto_rawDesc = nil file_envoy_api_v2_listener_udp_listener_config_proto_goTypes = nil file_envoy_api_v2_listener_udp_listener_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/listener/udp_listener_config.pb.validate.go000077500000000000000000000211221454502223200276000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/listener/udp_listener_config.proto package listener import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpListenerConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *UdpListenerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpListenerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpListenerConfigMultiError, or nil if none found. func (m *UdpListenerConfig) ValidateAll() error { return m.validate(true) } func (m *UdpListenerConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UdpListenerName switch v := m.ConfigType.(type) { case *UdpListenerConfig_Config: if v == nil { err := UdpListenerConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpListenerConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *UdpListenerConfig_TypedConfig: if v == nil { err := UdpListenerConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpListenerConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return UdpListenerConfigMultiError(errors) } return nil } // UdpListenerConfigMultiError is an error wrapping multiple validation errors // returned by UdpListenerConfig.ValidateAll() if the designated constraints // aren't met. type UdpListenerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpListenerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpListenerConfigMultiError) AllErrors() []error { return m } // UdpListenerConfigValidationError is the validation error returned by // UdpListenerConfig.Validate if the designated constraints aren't met. type UdpListenerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpListenerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpListenerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpListenerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpListenerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpListenerConfigValidationError) ErrorName() string { return "UdpListenerConfigValidationError" } // Error satisfies the builtin error interface func (e UdpListenerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpListenerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpListenerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpListenerConfigValidationError{} // Validate checks the field values on ActiveRawUdpListenerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ActiveRawUdpListenerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ActiveRawUdpListenerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ActiveRawUdpListenerConfigMultiError, or nil if none found. func (m *ActiveRawUdpListenerConfig) ValidateAll() error { return m.validate(true) } func (m *ActiveRawUdpListenerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ActiveRawUdpListenerConfigMultiError(errors) } return nil } // ActiveRawUdpListenerConfigMultiError is an error wrapping multiple // validation errors returned by ActiveRawUdpListenerConfig.ValidateAll() if // the designated constraints aren't met. type ActiveRawUdpListenerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ActiveRawUdpListenerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ActiveRawUdpListenerConfigMultiError) AllErrors() []error { return m } // ActiveRawUdpListenerConfigValidationError is the validation error returned // by ActiveRawUdpListenerConfig.Validate if the designated constraints aren't met. type ActiveRawUdpListenerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ActiveRawUdpListenerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ActiveRawUdpListenerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ActiveRawUdpListenerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ActiveRawUdpListenerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ActiveRawUdpListenerConfigValidationError) ErrorName() string { return "ActiveRawUdpListenerConfigValidationError" } // Error satisfies the builtin error interface func (e ActiveRawUdpListenerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sActiveRawUdpListenerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ActiveRawUdpListenerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ActiveRawUdpListenerConfigValidationError{} go-control-plane-0.12.0/envoy/api/v2/ratelimit/000077500000000000000000000000001454502223200212035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/ratelimit/ratelimit.pb.go000077500000000000000000000262301454502223200241320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/ratelimit/ratelimit.proto package ratelimit import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A RateLimitDescriptor is a list of hierarchical entries that are used by the service to // determine the final rate limit key and overall allowed limit. Here are some examples of how // they might be used for the domain "envoy". // // .. code-block:: cpp // // ["authenticated": "false"], ["remote_address": "10.0.0.1"] // // What it does: Limits all unauthenticated traffic for the IP address 10.0.0.1. The // configuration supplies a default limit for the *remote_address* key. If there is a desire to // raise the limit for 10.0.0.1 or block it entirely it can be specified directly in the // configuration. // // .. code-block:: cpp // // ["authenticated": "false"], ["path": "/foo/bar"] // // What it does: Limits all unauthenticated traffic globally for a specific path (or prefix if // configured that way in the service). // // .. code-block:: cpp // // ["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"] // // What it does: Limits unauthenticated traffic to a specific path for a specific IP address. // Like (1) we can raise/block specific IP addresses if we want with an override configuration. // // .. code-block:: cpp // // ["authenticated": "true"], ["client_id": "foo"] // // What it does: Limits all traffic for an authenticated client "foo" // // .. code-block:: cpp // // ["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"] // // What it does: Limits traffic to a specific path for an authenticated client "foo" // // The idea behind the API is that (1)/(2)/(3) and (4)/(5) can be sent in 1 request if desired. // This enables building complex application scenarios with a generic backend. type RateLimitDescriptor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptor entries. Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } func (x *RateLimitDescriptor) Reset() { *x = RateLimitDescriptor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor) ProtoMessage() {} func (x *RateLimitDescriptor) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor) Descriptor() ([]byte, []int) { return file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescGZIP(), []int{0} } func (x *RateLimitDescriptor) GetEntries() []*RateLimitDescriptor_Entry { if x != nil { return x.Entries } return nil } type RateLimitDescriptor_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptor key. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Descriptor value. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *RateLimitDescriptor_Entry) Reset() { *x = RateLimitDescriptor_Entry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor_Entry) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor_Entry) ProtoMessage() {} func (x *RateLimitDescriptor_Entry) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor_Entry.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor_Entry) Descriptor() ([]byte, []int) { return file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescGZIP(), []int{0, 0} } func (x *RateLimitDescriptor_Entry) GetKey() string { if x != nil { return x.Key } return "" } func (x *RateLimitDescriptor_Entry) GetValue() string { if x != nil { return x.Value } return "" } var File_envoy_api_v2_ratelimit_ratelimit_proto protoreflect.FileDescriptor var file_envoy_api_v2_ratelimit_ratelimit_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xab, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x26, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescOnce sync.Once file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescData = file_envoy_api_v2_ratelimit_ratelimit_proto_rawDesc ) func file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescGZIP() []byte { file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescOnce.Do(func() { file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescData) }) return file_envoy_api_v2_ratelimit_ratelimit_proto_rawDescData } var file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_api_v2_ratelimit_ratelimit_proto_goTypes = []interface{}{ (*RateLimitDescriptor)(nil), // 0: envoy.api.v2.ratelimit.RateLimitDescriptor (*RateLimitDescriptor_Entry)(nil), // 1: envoy.api.v2.ratelimit.RateLimitDescriptor.Entry } var file_envoy_api_v2_ratelimit_ratelimit_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.ratelimit.RateLimitDescriptor.entries:type_name -> envoy.api.v2.ratelimit.RateLimitDescriptor.Entry 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_api_v2_ratelimit_ratelimit_proto_init() } func file_envoy_api_v2_ratelimit_ratelimit_proto_init() { if File_envoy_api_v2_ratelimit_ratelimit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor_Entry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_ratelimit_ratelimit_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_ratelimit_ratelimit_proto_goTypes, DependencyIndexes: file_envoy_api_v2_ratelimit_ratelimit_proto_depIdxs, MessageInfos: file_envoy_api_v2_ratelimit_ratelimit_proto_msgTypes, }.Build() File_envoy_api_v2_ratelimit_ratelimit_proto = out.File file_envoy_api_v2_ratelimit_ratelimit_proto_rawDesc = nil file_envoy_api_v2_ratelimit_ratelimit_proto_goTypes = nil file_envoy_api_v2_ratelimit_ratelimit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/ratelimit/ratelimit.pb.validate.go000077500000000000000000000176241454502223200257310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/ratelimit/ratelimit.proto package ratelimit import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitDescriptor with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitDescriptor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitDescriptor with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitDescriptorMultiError, or nil if none found. func (m *RateLimitDescriptor) ValidateAll() error { return m.validate(true) } func (m *RateLimitDescriptor) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetEntries()) < 1 { err := RateLimitDescriptorValidationError{ field: "Entries", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitDescriptorMultiError(errors) } return nil } // RateLimitDescriptorMultiError is an error wrapping multiple validation // errors returned by RateLimitDescriptor.ValidateAll() if the designated // constraints aren't met. type RateLimitDescriptorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitDescriptorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitDescriptorMultiError) AllErrors() []error { return m } // RateLimitDescriptorValidationError is the validation error returned by // RateLimitDescriptor.Validate if the designated constraints aren't met. type RateLimitDescriptorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitDescriptorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitDescriptorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitDescriptorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitDescriptorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitDescriptorValidationError) ErrorName() string { return "RateLimitDescriptorValidationError" } // Error satisfies the builtin error interface func (e RateLimitDescriptorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitDescriptor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitDescriptorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitDescriptorValidationError{} // Validate checks the field values on RateLimitDescriptor_Entry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitDescriptor_Entry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitDescriptor_Entry with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitDescriptor_EntryMultiError, or nil if none found. func (m *RateLimitDescriptor_Entry) ValidateAll() error { return m.validate(true) } func (m *RateLimitDescriptor_Entry) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetKey()) < 1 { err := RateLimitDescriptor_EntryValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetValue()) < 1 { err := RateLimitDescriptor_EntryValidationError{ field: "Value", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitDescriptor_EntryMultiError(errors) } return nil } // RateLimitDescriptor_EntryMultiError is an error wrapping multiple validation // errors returned by RateLimitDescriptor_Entry.ValidateAll() if the // designated constraints aren't met. type RateLimitDescriptor_EntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitDescriptor_EntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitDescriptor_EntryMultiError) AllErrors() []error { return m } // RateLimitDescriptor_EntryValidationError is the validation error returned by // RateLimitDescriptor_Entry.Validate if the designated constraints aren't met. type RateLimitDescriptor_EntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitDescriptor_EntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitDescriptor_EntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitDescriptor_EntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitDescriptor_EntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitDescriptor_EntryValidationError) ErrorName() string { return "RateLimitDescriptor_EntryValidationError" } // Error satisfies the builtin error interface func (e RateLimitDescriptor_EntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitDescriptor_Entry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitDescriptor_EntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitDescriptor_EntryValidationError{} go-control-plane-0.12.0/envoy/api/v2/rds.pb.go000077500000000000000000000534551454502223200207470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/rds.proto package apiv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type RdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RdsDummy) Reset() { *x = RdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_rds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RdsDummy) ProtoMessage() {} func (x *RdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_rds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RdsDummy.ProtoReflect.Descriptor instead. func (*RdsDummy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_rds_proto_rawDescGZIP(), []int{0} } var File_envoy_api_v2_rds_proto protoreflect.FileDescriptor var file_envoy_api_v2_rds_proto_rawDesc = []byte{ 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x52, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xe8, 0x02, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5e, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6f, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x27, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xab, 0x01, 0x0a, 0x1b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x26, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x89, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x52, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x50, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_rds_proto_rawDescOnce sync.Once file_envoy_api_v2_rds_proto_rawDescData = file_envoy_api_v2_rds_proto_rawDesc ) func file_envoy_api_v2_rds_proto_rawDescGZIP() []byte { file_envoy_api_v2_rds_proto_rawDescOnce.Do(func() { file_envoy_api_v2_rds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_rds_proto_rawDescData) }) return file_envoy_api_v2_rds_proto_rawDescData } var file_envoy_api_v2_rds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_rds_proto_goTypes = []interface{}{ (*RdsDummy)(nil), // 0: envoy.api.v2.RdsDummy (*DiscoveryRequest)(nil), // 1: envoy.api.v2.DiscoveryRequest (*DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.api.v2.DiscoveryResponse (*DeltaDiscoveryResponse)(nil), // 4: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_api_v2_rds_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.RouteDiscoveryService.StreamRoutes:input_type -> envoy.api.v2.DiscoveryRequest 2, // 1: envoy.api.v2.RouteDiscoveryService.DeltaRoutes:input_type -> envoy.api.v2.DeltaDiscoveryRequest 1, // 2: envoy.api.v2.RouteDiscoveryService.FetchRoutes:input_type -> envoy.api.v2.DiscoveryRequest 2, // 3: envoy.api.v2.VirtualHostDiscoveryService.DeltaVirtualHosts:input_type -> envoy.api.v2.DeltaDiscoveryRequest 3, // 4: envoy.api.v2.RouteDiscoveryService.StreamRoutes:output_type -> envoy.api.v2.DiscoveryResponse 4, // 5: envoy.api.v2.RouteDiscoveryService.DeltaRoutes:output_type -> envoy.api.v2.DeltaDiscoveryResponse 3, // 6: envoy.api.v2.RouteDiscoveryService.FetchRoutes:output_type -> envoy.api.v2.DiscoveryResponse 4, // 7: envoy.api.v2.VirtualHostDiscoveryService.DeltaVirtualHosts:output_type -> envoy.api.v2.DeltaDiscoveryResponse 4, // [4:8] is the sub-list for method output_type 0, // [0:4] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_rds_proto_init() } func file_envoy_api_v2_rds_proto_init() { if File_envoy_api_v2_rds_proto != nil { return } file_envoy_api_v2_discovery_proto_init() file_envoy_api_v2_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_rds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_rds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 2, }, GoTypes: file_envoy_api_v2_rds_proto_goTypes, DependencyIndexes: file_envoy_api_v2_rds_proto_depIdxs, MessageInfos: file_envoy_api_v2_rds_proto_msgTypes, }.Build() File_envoy_api_v2_rds_proto = out.File file_envoy_api_v2_rds_proto_rawDesc = nil file_envoy_api_v2_rds_proto_goTypes = nil file_envoy_api_v2_rds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RouteDiscoveryServiceClient is the client API for RouteDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RouteDiscoveryServiceClient interface { StreamRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_StreamRoutesClient, error) DeltaRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_DeltaRoutesClient, error) FetchRoutes(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) } type routeDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewRouteDiscoveryServiceClient(cc grpc.ClientConnInterface) RouteDiscoveryServiceClient { return &routeDiscoveryServiceClient{cc} } func (c *routeDiscoveryServiceClient) StreamRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_StreamRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_RouteDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.RouteDiscoveryService/StreamRoutes", opts...) if err != nil { return nil, err } x := &routeDiscoveryServiceStreamRoutesClient{stream} return x, nil } type RouteDiscoveryService_StreamRoutesClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type routeDiscoveryServiceStreamRoutesClient struct { grpc.ClientStream } func (x *routeDiscoveryServiceStreamRoutesClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *routeDiscoveryServiceStreamRoutesClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *routeDiscoveryServiceClient) DeltaRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_DeltaRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_RouteDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.RouteDiscoveryService/DeltaRoutes", opts...) if err != nil { return nil, err } x := &routeDiscoveryServiceDeltaRoutesClient{stream} return x, nil } type RouteDiscoveryService_DeltaRoutesClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type routeDiscoveryServiceDeltaRoutesClient struct { grpc.ClientStream } func (x *routeDiscoveryServiceDeltaRoutesClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *routeDiscoveryServiceDeltaRoutesClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *routeDiscoveryServiceClient) FetchRoutes(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { out := new(DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.api.v2.RouteDiscoveryService/FetchRoutes", in, out, opts...) if err != nil { return nil, err } return out, nil } // RouteDiscoveryServiceServer is the server API for RouteDiscoveryService service. type RouteDiscoveryServiceServer interface { StreamRoutes(RouteDiscoveryService_StreamRoutesServer) error DeltaRoutes(RouteDiscoveryService_DeltaRoutesServer) error FetchRoutes(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) } // UnimplementedRouteDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedRouteDiscoveryServiceServer struct { } func (*UnimplementedRouteDiscoveryServiceServer) StreamRoutes(RouteDiscoveryService_StreamRoutesServer) error { return status.Errorf(codes.Unimplemented, "method StreamRoutes not implemented") } func (*UnimplementedRouteDiscoveryServiceServer) DeltaRoutes(RouteDiscoveryService_DeltaRoutesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaRoutes not implemented") } func (*UnimplementedRouteDiscoveryServiceServer) FetchRoutes(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchRoutes not implemented") } func RegisterRouteDiscoveryServiceServer(s *grpc.Server, srv RouteDiscoveryServiceServer) { s.RegisterService(&_RouteDiscoveryService_serviceDesc, srv) } func _RouteDiscoveryService_StreamRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteDiscoveryServiceServer).StreamRoutes(&routeDiscoveryServiceStreamRoutesServer{stream}) } type RouteDiscoveryService_StreamRoutesServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type routeDiscoveryServiceStreamRoutesServer struct { grpc.ServerStream } func (x *routeDiscoveryServiceStreamRoutesServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *routeDiscoveryServiceStreamRoutesServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RouteDiscoveryService_DeltaRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteDiscoveryServiceServer).DeltaRoutes(&routeDiscoveryServiceDeltaRoutesServer{stream}) } type RouteDiscoveryService_DeltaRoutesServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type routeDiscoveryServiceDeltaRoutesServer struct { grpc.ServerStream } func (x *routeDiscoveryServiceDeltaRoutesServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *routeDiscoveryServiceDeltaRoutesServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RouteDiscoveryService_FetchRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RouteDiscoveryServiceServer).FetchRoutes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.api.v2.RouteDiscoveryService/FetchRoutes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RouteDiscoveryServiceServer).FetchRoutes(ctx, req.(*DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _RouteDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.RouteDiscoveryService", HandlerType: (*RouteDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchRoutes", Handler: _RouteDiscoveryService_FetchRoutes_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamRoutes", Handler: _RouteDiscoveryService_StreamRoutes_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaRoutes", Handler: _RouteDiscoveryService_DeltaRoutes_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/rds.proto", } // VirtualHostDiscoveryServiceClient is the client API for VirtualHostDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type VirtualHostDiscoveryServiceClient interface { DeltaVirtualHosts(ctx context.Context, opts ...grpc.CallOption) (VirtualHostDiscoveryService_DeltaVirtualHostsClient, error) } type virtualHostDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewVirtualHostDiscoveryServiceClient(cc grpc.ClientConnInterface) VirtualHostDiscoveryServiceClient { return &virtualHostDiscoveryServiceClient{cc} } func (c *virtualHostDiscoveryServiceClient) DeltaVirtualHosts(ctx context.Context, opts ...grpc.CallOption) (VirtualHostDiscoveryService_DeltaVirtualHostsClient, error) { stream, err := c.cc.NewStream(ctx, &_VirtualHostDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.VirtualHostDiscoveryService/DeltaVirtualHosts", opts...) if err != nil { return nil, err } x := &virtualHostDiscoveryServiceDeltaVirtualHostsClient{stream} return x, nil } type VirtualHostDiscoveryService_DeltaVirtualHostsClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type virtualHostDiscoveryServiceDeltaVirtualHostsClient struct { grpc.ClientStream } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // VirtualHostDiscoveryServiceServer is the server API for VirtualHostDiscoveryService service. type VirtualHostDiscoveryServiceServer interface { DeltaVirtualHosts(VirtualHostDiscoveryService_DeltaVirtualHostsServer) error } // UnimplementedVirtualHostDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedVirtualHostDiscoveryServiceServer struct { } func (*UnimplementedVirtualHostDiscoveryServiceServer) DeltaVirtualHosts(VirtualHostDiscoveryService_DeltaVirtualHostsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaVirtualHosts not implemented") } func RegisterVirtualHostDiscoveryServiceServer(s *grpc.Server, srv VirtualHostDiscoveryServiceServer) { s.RegisterService(&_VirtualHostDiscoveryService_serviceDesc, srv) } func _VirtualHostDiscoveryService_DeltaVirtualHosts_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(VirtualHostDiscoveryServiceServer).DeltaVirtualHosts(&virtualHostDiscoveryServiceDeltaVirtualHostsServer{stream}) } type VirtualHostDiscoveryService_DeltaVirtualHostsServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type virtualHostDiscoveryServiceDeltaVirtualHostsServer struct { grpc.ServerStream } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _VirtualHostDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.VirtualHostDiscoveryService", HandlerType: (*VirtualHostDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "DeltaVirtualHosts", Handler: _VirtualHostDiscoveryService_DeltaVirtualHosts_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/rds.proto", } go-control-plane-0.12.0/envoy/api/v2/rds.pb.validate.go000077500000000000000000000061051454502223200225250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/rds.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RdsDummyMultiError, or nil // if none found. func (m *RdsDummy) ValidateAll() error { return m.validate(true) } func (m *RdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RdsDummyMultiError(errors) } return nil } // RdsDummyMultiError is an error wrapping multiple validation errors returned // by RdsDummy.ValidateAll() if the designated constraints aren't met. type RdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RdsDummyMultiError) AllErrors() []error { return m } // RdsDummyValidationError is the validation error returned by // RdsDummy.Validate if the designated constraints aren't met. type RdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RdsDummyValidationError) ErrorName() string { return "RdsDummyValidationError" } // Error satisfies the builtin error interface func (e RdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RdsDummyValidationError{} go-control-plane-0.12.0/envoy/api/v2/route.pb.go000077500000000000000000000500031454502223200212770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/route.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 11] type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. For example, it might match // :ref:`route_config_name // ` in // :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An array of virtual hosts that make up the route table. VirtualHosts []*route.VirtualHost `protobuf:"bytes,2,rep,name=virtual_hosts,json=virtualHosts,proto3" json:"virtual_hosts,omitempty"` // An array of virtual hosts will be dynamically loaded via the VHDS API. // Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used // for a base routing table or for infrequently changing virtual hosts. *vhds* is used for // on-demand discovery of virtual hosts. The contents of these two fields will be merged to // generate a routing table for a given RouteConfiguration, with *vhds* derived configuration // taking precedence. Vhds *Vhds `protobuf:"bytes,9,opt,name=vhds,proto3" json:"vhds,omitempty"` // Optionally specifies a list of HTTP headers that the connection manager // will consider to be internal only. If they are found on external requests they will be cleaned // prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more // information. InternalOnlyHeaders []string `protobuf:"bytes,3,rep,name=internal_only_headers,json=internalOnlyHeaders,proto3" json:"internal_only_headers,omitempty"` // Specifies a list of HTTP headers that should be added to each response that // the connection manager encodes. Headers specified at this level are applied // after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or // :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // that the connection manager encodes. ResponseHeadersToRemove []string `protobuf:"bytes,5,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Specifies a list of HTTP headers that should be added to each request // routed by the HTTP connection manager. Headers specified at this level are // applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or // :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // routed by the HTTP connection manager. RequestHeadersToRemove []string `protobuf:"bytes,8,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // By default, headers that should be added/removed are evaluated from most to least specific: // // * route level // * virtual host level // * connection manager level // // To allow setting overrides at the route or virtual host level, this order can be reversed // by setting this option to true. Defaults to false. // // [#next-major-version: In the v3 API, this will default to true.] MostSpecificHeaderMutationsWins bool `protobuf:"varint,10,opt,name=most_specific_header_mutations_wins,json=mostSpecificHeaderMutationsWins,proto3" json:"most_specific_header_mutations_wins,omitempty"` // An optional boolean that specifies whether the clusters that the route // table refers to will be validated by the cluster manager. If set to true // and a route refers to a non-existent cluster, the route table will not // load. If set to false and a route refers to a non-existent cluster, the // route table will load and the router filter will return a 404 if the route // is selected at runtime. This setting defaults to true if the route table // is statically defined via the :ref:`route_config // ` // option. This setting default to false if the route table is loaded dynamically via the // :ref:`rds // ` // option. Users may wish to override the default behavior in certain cases (for example when // using CDS with a static route table). ValidateClusters *wrappers.BoolValue `protobuf:"bytes,7,opt,name=validate_clusters,json=validateClusters,proto3" json:"validate_clusters,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetVirtualHosts() []*route.VirtualHost { if x != nil { return x.VirtualHosts } return nil } func (x *RouteConfiguration) GetVhds() *Vhds { if x != nil { return x.Vhds } return nil } func (x *RouteConfiguration) GetInternalOnlyHeaders() []string { if x != nil { return x.InternalOnlyHeaders } return nil } func (x *RouteConfiguration) GetResponseHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *RouteConfiguration) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *RouteConfiguration) GetRequestHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *RouteConfiguration) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *RouteConfiguration) GetMostSpecificHeaderMutationsWins() bool { if x != nil { return x.MostSpecificHeaderMutationsWins } return false } func (x *RouteConfiguration) GetValidateClusters() *wrappers.BoolValue { if x != nil { return x.ValidateClusters } return nil } type Vhds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for VHDS. ConfigSource *core.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` } func (x *Vhds) Reset() { *x = Vhds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Vhds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Vhds) ProtoMessage() {} func (x *Vhds) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Vhds.ProtoReflect.Descriptor instead. func (*Vhds) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_proto_rawDescGZIP(), []int{1} } func (x *Vhds) GetConfigSource() *core.ConfigSource { if x != nil { return x.ConfigSource } return nil } var File_envoy_api_v2_route_proto protoreflect.FileDescriptor var file_envoy_api_v2_route_proto_rawDesc = []byte{ 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x05, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x76, 0x68, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x68, 0x64, 0x73, 0x52, 0x04, 0x76, 0x68, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4d, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6d, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0x56, 0x0a, 0x04, 0x56, 0x68, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x8a, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x17, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_route_proto_rawDescOnce sync.Once file_envoy_api_v2_route_proto_rawDescData = file_envoy_api_v2_route_proto_rawDesc ) func file_envoy_api_v2_route_proto_rawDescGZIP() []byte { file_envoy_api_v2_route_proto_rawDescOnce.Do(func() { file_envoy_api_v2_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_route_proto_rawDescData) }) return file_envoy_api_v2_route_proto_rawDescData } var file_envoy_api_v2_route_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_api_v2_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.api.v2.RouteConfiguration (*Vhds)(nil), // 1: envoy.api.v2.Vhds (*route.VirtualHost)(nil), // 2: envoy.api.v2.route.VirtualHost (*core.HeaderValueOption)(nil), // 3: envoy.api.v2.core.HeaderValueOption (*wrappers.BoolValue)(nil), // 4: google.protobuf.BoolValue (*core.ConfigSource)(nil), // 5: envoy.api.v2.core.ConfigSource } var file_envoy_api_v2_route_proto_depIdxs = []int32{ 2, // 0: envoy.api.v2.RouteConfiguration.virtual_hosts:type_name -> envoy.api.v2.route.VirtualHost 1, // 1: envoy.api.v2.RouteConfiguration.vhds:type_name -> envoy.api.v2.Vhds 3, // 2: envoy.api.v2.RouteConfiguration.response_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 3, // 3: envoy.api.v2.RouteConfiguration.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 4, // 4: envoy.api.v2.RouteConfiguration.validate_clusters:type_name -> google.protobuf.BoolValue 5, // 5: envoy.api.v2.Vhds.config_source:type_name -> envoy.api.v2.core.ConfigSource 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_api_v2_route_proto_init() } func file_envoy_api_v2_route_proto_init() { if File_envoy_api_v2_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Vhds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_route_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_route_proto_goTypes, DependencyIndexes: file_envoy_api_v2_route_proto_depIdxs, MessageInfos: file_envoy_api_v2_route_proto_msgTypes, }.Build() File_envoy_api_v2_route_proto = out.File file_envoy_api_v2_route_proto_rawDesc = nil file_envoy_api_v2_route_proto_goTypes = nil file_envoy_api_v2_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/route.pb.validate.go000077500000000000000000000326511454502223200231000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/route.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetVirtualHosts() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetVhds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVhds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetInternalOnlyHeaders() { _, _ = idx, item if !_RouteConfiguration_InternalOnlyHeaders_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("InternalOnlyHeaders[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := RouteConfigurationValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToRemove() { _, _ = idx, item if !_RouteConfiguration_ResponseHeadersToRemove_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := RouteConfigurationValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if !_RouteConfiguration_RequestHeadersToRemove_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } // no validation rules for MostSpecificHeaderMutationsWins if all { switch v := interface{}(m.GetValidateClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidateClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} var _RouteConfiguration_InternalOnlyHeaders_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteConfiguration_ResponseHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteConfiguration_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on Vhds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Vhds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Vhds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in VhdsMultiError, or nil if none found. func (m *Vhds) ValidateAll() error { return m.validate(true) } func (m *Vhds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := VhdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VhdsMultiError(errors) } return nil } // VhdsMultiError is an error wrapping multiple validation errors returned by // Vhds.ValidateAll() if the designated constraints aren't met. type VhdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VhdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VhdsMultiError) AllErrors() []error { return m } // VhdsValidationError is the validation error returned by Vhds.Validate if the // designated constraints aren't met. type VhdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VhdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VhdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VhdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VhdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VhdsValidationError) ErrorName() string { return "VhdsValidationError" } // Error satisfies the builtin error interface func (e VhdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVhds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VhdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VhdsValidationError{} go-control-plane-0.12.0/envoy/api/v2/route/000077500000000000000000000000001454502223200203475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/api/v2/route/route.pb.go000077500000000000000000000062501454502223200224420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/route/route.proto package route import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_api_v2_route_route_proto protoreflect.FileDescriptor var file_envoy_api_v2_route_route_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x6b, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_api_v2_route_route_proto_goTypes = []interface{}{} var file_envoy_api_v2_route_route_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_route_route_proto_init() } func file_envoy_api_v2_route_route_proto_init() { if File_envoy_api_v2_route_route_proto != nil { return } file_envoy_api_v2_route_route_components_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_route_route_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_route_route_proto_goTypes, DependencyIndexes: file_envoy_api_v2_route_route_proto_depIdxs, }.Build() File_envoy_api_v2_route_route_proto = out.File file_envoy_api_v2_route_route_proto_rawDesc = nil file_envoy_api_v2_route_route_proto_goTypes = nil file_envoy_api_v2_route_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/route/route.pb.validate.go000077500000000000000000000010661454502223200242320ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/route/route.proto package route import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/api/v2/route/route_components.pb.go000077500000000000000000011147231454502223200247150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/route/route_components.proto package route import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" v2 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type VirtualHost_TlsRequirementType int32 const ( // No TLS requirement for the virtual host. VirtualHost_NONE VirtualHost_TlsRequirementType = 0 // External requests must use TLS. If a request is external and it is not // using TLS, a 301 redirect will be sent telling the client to use HTTPS. VirtualHost_EXTERNAL_ONLY VirtualHost_TlsRequirementType = 1 // All requests must use TLS. If a request is not using TLS, a 301 redirect // will be sent telling the client to use HTTPS. VirtualHost_ALL VirtualHost_TlsRequirementType = 2 ) // Enum value maps for VirtualHost_TlsRequirementType. var ( VirtualHost_TlsRequirementType_name = map[int32]string{ 0: "NONE", 1: "EXTERNAL_ONLY", 2: "ALL", } VirtualHost_TlsRequirementType_value = map[string]int32{ "NONE": 0, "EXTERNAL_ONLY": 1, "ALL": 2, } ) func (x VirtualHost_TlsRequirementType) Enum() *VirtualHost_TlsRequirementType { p := new(VirtualHost_TlsRequirementType) *p = x return p } func (x VirtualHost_TlsRequirementType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VirtualHost_TlsRequirementType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_route_route_components_proto_enumTypes[0].Descriptor() } func (VirtualHost_TlsRequirementType) Type() protoreflect.EnumType { return &file_envoy_api_v2_route_route_components_proto_enumTypes[0] } func (x VirtualHost_TlsRequirementType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use VirtualHost_TlsRequirementType.Descriptor instead. func (VirtualHost_TlsRequirementType) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{0, 0} } type RouteAction_ClusterNotFoundResponseCode int32 const ( // HTTP status code - 503 Service Unavailable. RouteAction_SERVICE_UNAVAILABLE RouteAction_ClusterNotFoundResponseCode = 0 // HTTP status code - 404 Not Found. RouteAction_NOT_FOUND RouteAction_ClusterNotFoundResponseCode = 1 ) // Enum value maps for RouteAction_ClusterNotFoundResponseCode. var ( RouteAction_ClusterNotFoundResponseCode_name = map[int32]string{ 0: "SERVICE_UNAVAILABLE", 1: "NOT_FOUND", } RouteAction_ClusterNotFoundResponseCode_value = map[string]int32{ "SERVICE_UNAVAILABLE": 0, "NOT_FOUND": 1, } ) func (x RouteAction_ClusterNotFoundResponseCode) Enum() *RouteAction_ClusterNotFoundResponseCode { p := new(RouteAction_ClusterNotFoundResponseCode) *p = x return p } func (x RouteAction_ClusterNotFoundResponseCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RouteAction_ClusterNotFoundResponseCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_route_route_components_proto_enumTypes[1].Descriptor() } func (RouteAction_ClusterNotFoundResponseCode) Type() protoreflect.EnumType { return &file_envoy_api_v2_route_route_components_proto_enumTypes[1] } func (x RouteAction_ClusterNotFoundResponseCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RouteAction_ClusterNotFoundResponseCode.Descriptor instead. func (RouteAction_ClusterNotFoundResponseCode) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 0} } // Configures :ref:`internal redirect ` behavior. type RouteAction_InternalRedirectAction int32 const ( RouteAction_PASS_THROUGH_INTERNAL_REDIRECT RouteAction_InternalRedirectAction = 0 RouteAction_HANDLE_INTERNAL_REDIRECT RouteAction_InternalRedirectAction = 1 ) // Enum value maps for RouteAction_InternalRedirectAction. var ( RouteAction_InternalRedirectAction_name = map[int32]string{ 0: "PASS_THROUGH_INTERNAL_REDIRECT", 1: "HANDLE_INTERNAL_REDIRECT", } RouteAction_InternalRedirectAction_value = map[string]int32{ "PASS_THROUGH_INTERNAL_REDIRECT": 0, "HANDLE_INTERNAL_REDIRECT": 1, } ) func (x RouteAction_InternalRedirectAction) Enum() *RouteAction_InternalRedirectAction { p := new(RouteAction_InternalRedirectAction) *p = x return p } func (x RouteAction_InternalRedirectAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RouteAction_InternalRedirectAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_route_route_components_proto_enumTypes[2].Descriptor() } func (RouteAction_InternalRedirectAction) Type() protoreflect.EnumType { return &file_envoy_api_v2_route_route_components_proto_enumTypes[2] } func (x RouteAction_InternalRedirectAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RouteAction_InternalRedirectAction.Descriptor instead. func (RouteAction_InternalRedirectAction) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1} } type RedirectAction_RedirectResponseCode int32 const ( // Moved Permanently HTTP Status Code - 301. RedirectAction_MOVED_PERMANENTLY RedirectAction_RedirectResponseCode = 0 // Found HTTP Status Code - 302. RedirectAction_FOUND RedirectAction_RedirectResponseCode = 1 // See Other HTTP Status Code - 303. RedirectAction_SEE_OTHER RedirectAction_RedirectResponseCode = 2 // Temporary Redirect HTTP Status Code - 307. RedirectAction_TEMPORARY_REDIRECT RedirectAction_RedirectResponseCode = 3 // Permanent Redirect HTTP Status Code - 308. RedirectAction_PERMANENT_REDIRECT RedirectAction_RedirectResponseCode = 4 ) // Enum value maps for RedirectAction_RedirectResponseCode. var ( RedirectAction_RedirectResponseCode_name = map[int32]string{ 0: "MOVED_PERMANENTLY", 1: "FOUND", 2: "SEE_OTHER", 3: "TEMPORARY_REDIRECT", 4: "PERMANENT_REDIRECT", } RedirectAction_RedirectResponseCode_value = map[string]int32{ "MOVED_PERMANENTLY": 0, "FOUND": 1, "SEE_OTHER": 2, "TEMPORARY_REDIRECT": 3, "PERMANENT_REDIRECT": 4, } ) func (x RedirectAction_RedirectResponseCode) Enum() *RedirectAction_RedirectResponseCode { p := new(RedirectAction_RedirectResponseCode) *p = x return p } func (x RedirectAction_RedirectResponseCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RedirectAction_RedirectResponseCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_api_v2_route_route_components_proto_enumTypes[3].Descriptor() } func (RedirectAction_RedirectResponseCode) Type() protoreflect.EnumType { return &file_envoy_api_v2_route_route_components_proto_enumTypes[3] } func (x RedirectAction_RedirectResponseCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RedirectAction_RedirectResponseCode.Descriptor instead. func (RedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{9, 0} } // The top level element in the routing configuration is a virtual host. Each virtual host has // a logical name as well as a set of domains that get routed to it based on the incoming request's // host header. This allows a single listener to service multiple top level domain path trees. Once // a virtual host is selected based on the domain, the routes are processed in order to see which // upstream cluster to route to or whether to perform a redirect. // [#next-free-field: 21] type VirtualHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The logical name of the virtual host. This is used when emitting certain // statistics but is not relevant for routing. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A list of domains (host/authority header) that will be matched to this // virtual host. Wildcard hosts are supported in the suffix or prefix form. // // Domain search order: // 1. Exact domain names: “www.foo.com“. // 2. Suffix domain wildcards: “*.foo.com“ or “*-bar.foo.com“. // 3. Prefix domain wildcards: “foo.*“ or “foo-*“. // 4. Special wildcard “*“ matching any domain. // // .. note:: // // The wildcard will not match the empty string. // e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``. // The longest wildcards match first. // Only a single virtual host in the entire route configuration can match on ``*``. A domain // must be unique across all virtual hosts or the config will fail to load. // // Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE. Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"` // The list of routes that will be matched, in order, for incoming requests. // The first route that matches will be used. Routes []*Route `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"` // Specifies the type of TLS enforcement the virtual host expects. If this option is not // specified, there is no TLS requirement for the virtual host. RequireTls VirtualHost_TlsRequirementType `protobuf:"varint,4,opt,name=require_tls,json=requireTls,proto3,enum=envoy.api.v2.route.VirtualHost_TlsRequirementType" json:"require_tls,omitempty"` // A list of virtual clusters defined for this virtual host. Virtual clusters // are used for additional statistics gathering. VirtualClusters []*VirtualCluster `protobuf:"bytes,5,rep,name=virtual_clusters,json=virtualClusters,proto3" json:"virtual_clusters,omitempty"` // Specifies a set of rate limit configurations that will be applied to the // virtual host. RateLimits []*RateLimit `protobuf:"bytes,6,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Specifies a list of HTTP headers that should be added to each request // handled by this virtual host. Headers specified at this level are applied // after headers from enclosed :ref:`envoy_api_msg_route.Route` and before headers from the // enclosing :ref:`envoy_api_msg_RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,7,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // handled by this virtual host. RequestHeadersToRemove []string `protobuf:"bytes,13,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a list of HTTP headers that should be added to each response // handled by this virtual host. Headers specified at this level are applied // after headers from enclosed :ref:`envoy_api_msg_route.Route` and before headers from the // enclosing :ref:`envoy_api_msg_RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,10,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // handled by this virtual host. ResponseHeadersToRemove []string `protobuf:"bytes,11,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Indicates that the virtual host has a CORS policy. Cors *CorsPolicy `protobuf:"bytes,8,opt,name=cors,proto3" json:"cors,omitempty"` // The per_filter_config field can be used to provide virtual host-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` // for if and how it is utilized. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. PerFilterConfig map[string]*_struct.Struct `protobuf:"bytes,12,rep,name=per_filter_config,json=perFilterConfig,proto3" json:"per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The per_filter_config field can be used to provide virtual host-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` // for if and how it is utilized. TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,15,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Decides whether the :ref:`x-envoy-attempt-count // ` header should be included // in the upstream request. Setting this option will cause it to override any existing header // value, so in the case of two Envoys on the request path with this option enabled, the upstream // will see the attempt count as perceived by the second Envoy. Defaults to false. // This header is unaffected by the // :ref:`suppress_envoy_headers // ` flag. // // [#next-major-version: rename to include_attempt_count_in_request.] IncludeRequestAttemptCount bool `protobuf:"varint,14,opt,name=include_request_attempt_count,json=includeRequestAttemptCount,proto3" json:"include_request_attempt_count,omitempty"` // Decides whether the :ref:`x-envoy-attempt-count // ` header should be included // in the downstream response. Setting this option will cause the router to override any existing header // value, so in the case of two Envoys on the request path with this option enabled, the downstream // will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. // This header is unaffected by the // :ref:`suppress_envoy_headers // ` flag. IncludeAttemptCountInResponse bool `protobuf:"varint,19,opt,name=include_attempt_count_in_response,json=includeAttemptCountInResponse,proto3" json:"include_attempt_count_in_response,omitempty"` // Indicates the retry policy for all routes in this virtual host. Note that setting a // route level entry will take precedence over this config and it'll be treated // independently (e.g.: values are not inherited). RetryPolicy *RetryPolicy `protobuf:"bytes,16,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` // [#not-implemented-hide:] // Specifies the configuration for retry policy extension. Note that setting a route level entry // will take precedence over this config and it'll be treated independently (e.g.: values are not // inherited). :ref:`Retry policy ` should not be // set if this field is used. RetryPolicyTypedConfig *any1.Any `protobuf:"bytes,20,opt,name=retry_policy_typed_config,json=retryPolicyTypedConfig,proto3" json:"retry_policy_typed_config,omitempty"` // Indicates the hedge policy for all routes in this virtual host. Note that setting a // route level entry will take precedence over this config and it'll be treated // independently (e.g.: values are not inherited). HedgePolicy *HedgePolicy `protobuf:"bytes,17,opt,name=hedge_policy,json=hedgePolicy,proto3" json:"hedge_policy,omitempty"` // The maximum bytes which will be buffered for retries and shadowing. // If set and a route-specific limit is not set, the bytes actually buffered will be the minimum // value of this and the listener per_connection_buffer_limit_bytes. PerRequestBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=per_request_buffer_limit_bytes,json=perRequestBufferLimitBytes,proto3" json:"per_request_buffer_limit_bytes,omitempty"` } func (x *VirtualHost) Reset() { *x = VirtualHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VirtualHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*VirtualHost) ProtoMessage() {} func (x *VirtualHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead. func (*VirtualHost) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{0} } func (x *VirtualHost) GetName() string { if x != nil { return x.Name } return "" } func (x *VirtualHost) GetDomains() []string { if x != nil { return x.Domains } return nil } func (x *VirtualHost) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } func (x *VirtualHost) GetRequireTls() VirtualHost_TlsRequirementType { if x != nil { return x.RequireTls } return VirtualHost_NONE } func (x *VirtualHost) GetVirtualClusters() []*VirtualCluster { if x != nil { return x.VirtualClusters } return nil } func (x *VirtualHost) GetRateLimits() []*RateLimit { if x != nil { return x.RateLimits } return nil } func (x *VirtualHost) GetRequestHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *VirtualHost) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *VirtualHost) GetResponseHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *VirtualHost) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *VirtualHost) GetCors() *CorsPolicy { if x != nil { return x.Cors } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *VirtualHost) GetPerFilterConfig() map[string]*_struct.Struct { if x != nil { return x.PerFilterConfig } return nil } func (x *VirtualHost) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (x *VirtualHost) GetIncludeRequestAttemptCount() bool { if x != nil { return x.IncludeRequestAttemptCount } return false } func (x *VirtualHost) GetIncludeAttemptCountInResponse() bool { if x != nil { return x.IncludeAttemptCountInResponse } return false } func (x *VirtualHost) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } func (x *VirtualHost) GetRetryPolicyTypedConfig() *any1.Any { if x != nil { return x.RetryPolicyTypedConfig } return nil } func (x *VirtualHost) GetHedgePolicy() *HedgePolicy { if x != nil { return x.HedgePolicy } return nil } func (x *VirtualHost) GetPerRequestBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerRequestBufferLimitBytes } return nil } // A filter-defined action type. type FilterAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Action *any1.Any `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` } func (x *FilterAction) Reset() { *x = FilterAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterAction) ProtoMessage() {} func (x *FilterAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterAction.ProtoReflect.Descriptor instead. func (*FilterAction) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{1} } func (x *FilterAction) GetAction() *any1.Any { if x != nil { return x.Action } return nil } // A route is both a specification of how to match a request as well as an indication of what to do // next (e.g., redirect, forward, rewrite, etc.). // // .. attention:: // // Envoy supports routing on HTTP method via :ref:`header matching // `. // // [#next-free-field: 18] type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name for the route. Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"` // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Types that are assignable to Action: // // *Route_Route // *Route_Redirect // *Route_DirectResponse // *Route_FilterAction Action isRoute_Action `protobuf_oneof:"action"` // The Metadata field can be used to provide additional information // about the route. It can be used for configuration, stats, and logging. // The metadata should go under the filter namespace that will need it. // For instance, if the metadata is intended for the Router filter, // the filter name should be specified as *envoy.filters.http.router*. Metadata *core.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` // Decorator for the matched route. Decorator *Decorator `protobuf:"bytes,5,opt,name=decorator,proto3" json:"decorator,omitempty"` // The per_filter_config field can be used to provide route-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` for // if and how it is utilized. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. PerFilterConfig map[string]*_struct.Struct `protobuf:"bytes,8,rep,name=per_filter_config,json=perFilterConfig,proto3" json:"per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The typed_per_filter_config field can be used to provide route-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` for // if and how it is utilized. TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,13,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies a set of headers that will be added to requests matching this // route. Headers specified at this level are applied before headers from the // enclosing :ref:`envoy_api_msg_route.VirtualHost` and // :ref:`envoy_api_msg_RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,9,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // matching this route. RequestHeadersToRemove []string `protobuf:"bytes,12,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a set of headers that will be added to responses to requests // matching this route. Headers specified at this level are applied before // headers from the enclosing :ref:`envoy_api_msg_route.VirtualHost` and // :ref:`envoy_api_msg_RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on // :ref:`custom request headers `. ResponseHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,10,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // to requests matching this route. ResponseHeadersToRemove []string `protobuf:"bytes,11,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Presence of the object defines whether the connection manager's tracing configuration // is overridden by this route specific instance. Tracing *Tracing `protobuf:"bytes,15,opt,name=tracing,proto3" json:"tracing,omitempty"` // The maximum bytes which will be buffered for retries and shadowing. // If set, the bytes actually buffered will be the minimum value of this and the // listener per_connection_buffer_limit_bytes. PerRequestBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=per_request_buffer_limit_bytes,json=perRequestBufferLimitBytes,proto3" json:"per_request_buffer_limit_bytes,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{2} } func (x *Route) GetName() string { if x != nil { return x.Name } return "" } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (m *Route) GetAction() isRoute_Action { if m != nil { return m.Action } return nil } func (x *Route) GetRoute() *RouteAction { if x, ok := x.GetAction().(*Route_Route); ok { return x.Route } return nil } func (x *Route) GetRedirect() *RedirectAction { if x, ok := x.GetAction().(*Route_Redirect); ok { return x.Redirect } return nil } func (x *Route) GetDirectResponse() *DirectResponseAction { if x, ok := x.GetAction().(*Route_DirectResponse); ok { return x.DirectResponse } return nil } func (x *Route) GetFilterAction() *FilterAction { if x, ok := x.GetAction().(*Route_FilterAction); ok { return x.FilterAction } return nil } func (x *Route) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *Route) GetDecorator() *Decorator { if x != nil { return x.Decorator } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *Route) GetPerFilterConfig() map[string]*_struct.Struct { if x != nil { return x.PerFilterConfig } return nil } func (x *Route) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (x *Route) GetRequestHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *Route) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *Route) GetResponseHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *Route) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *Route) GetTracing() *Tracing { if x != nil { return x.Tracing } return nil } func (x *Route) GetPerRequestBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerRequestBufferLimitBytes } return nil } type isRoute_Action interface { isRoute_Action() } type Route_Route struct { // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3,oneof"` } type Route_Redirect struct { // Return a redirect. Redirect *RedirectAction `protobuf:"bytes,3,opt,name=redirect,proto3,oneof"` } type Route_DirectResponse struct { // Return an arbitrary HTTP response directly, without proxying. DirectResponse *DirectResponseAction `protobuf:"bytes,7,opt,name=direct_response,json=directResponse,proto3,oneof"` } type Route_FilterAction struct { // [#not-implemented-hide:] // If true, a filter will define the action (e.g., it could dynamically generate the // RouteAction). FilterAction *FilterAction `protobuf:"bytes,17,opt,name=filter_action,json=filterAction,proto3,oneof"` } func (*Route_Route) isRoute_Action() {} func (*Route_Redirect) isRoute_Action() {} func (*Route_DirectResponse) isRoute_Action() {} func (*Route_FilterAction) isRoute_Action() {} // Compared to the :ref:`cluster ` field that specifies a // single upstream cluster as the target of a request, the :ref:`weighted_clusters // ` option allows for specification of // multiple upstream clusters along with weights that indicate the percentage of // traffic to be forwarded to each cluster. The router selects an upstream cluster based on the // weights. type WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` // Specifies the total weight across all clusters. The sum of all cluster weights must equal this // value, which must be greater than 0. Defaults to 100. TotalWeight *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=total_weight,json=totalWeight,proto3" json:"total_weight,omitempty"` // Specifies the runtime key prefix that should be used to construct the // runtime keys associated with each cluster. When the *runtime_key_prefix* is // specified, the router will look for weights associated with each upstream // cluster under the key *runtime_key_prefix* + "." + *cluster[i].name* where // *cluster[i]* denotes an entry in the clusters array field. If the runtime // key for the cluster does not exist, the value specified in the // configuration file will be used as the default weight. See the :ref:`runtime documentation // ` for how key names map to the underlying implementation. RuntimeKeyPrefix string `protobuf:"bytes,2,opt,name=runtime_key_prefix,json=runtimeKeyPrefix,proto3" json:"runtime_key_prefix,omitempty"` } func (x *WeightedCluster) Reset() { *x = WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster) ProtoMessage() {} func (x *WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster.ProtoReflect.Descriptor instead. func (*WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{3} } func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } func (x *WeightedCluster) GetTotalWeight() *wrappers.UInt32Value { if x != nil { return x.TotalWeight } return nil } func (x *WeightedCluster) GetRuntimeKeyPrefix() string { if x != nil { return x.RuntimeKeyPrefix } return "" } // [#next-free-field: 12] type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PathSpecifier: // // *RouteMatch_Prefix // *RouteMatch_Path // *RouteMatch_Regex // *RouteMatch_SafeRegex PathSpecifier isRouteMatch_PathSpecifier `protobuf_oneof:"path_specifier"` // Indicates that prefix/path matching should be case sensitive. The default // is true. CaseSensitive *wrappers.BoolValue `protobuf:"bytes,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` // Indicates that the route should additionally match on a runtime key. Every time the route // is considered for a match, it must also fall under the percentage of matches indicated by // this field. For some fraction N/D, a random number in the range [0,D) is selected. If the // number is <= the value of the numerator N, or if the key is not present, the default // value, the router continues to evaluate the remaining match criteria. A runtime_fraction // route configuration can be used to roll out route changes in a gradual manner without full // code/config deploys. Refer to the :ref:`traffic shifting // ` docs for additional documentation. // // .. note:: // // Parsing this field is implemented such that the runtime key's data may be represented // as a FractionalPercent proto represented as JSON/YAML and may also be represented as an // integer with the assumption that the value is an integral percentage out of 100. For // instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent // whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics. RuntimeFraction *core.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Specifies a set of headers that the route should match on. The router will // check the request’s headers against all the specified headers in the route // config. A match will happen if all the headers in the route are present in // the request with the same values (or based on presence if the value field // is not in the config). Headers []*HeaderMatcher `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty"` // Specifies a set of URL query parameters on which the route should // match. The router will check the query string from the *path* header // against all the specified query parameters. If the number of specified // query parameters is nonzero, they all must match the *path* header's // query string for a match to occur. QueryParameters []*QueryParameterMatcher `protobuf:"bytes,7,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"` // If specified, only gRPC requests will be matched. The router will check // that the content-type header has a application/grpc or one of the various // application/grpc+ values. Grpc *RouteMatch_GrpcRouteMatchOptions `protobuf:"bytes,8,opt,name=grpc,proto3" json:"grpc,omitempty"` // If specified, the client tls context will be matched against the defined // match options. // // [#next-major-version: unify with RBAC] TlsContext *RouteMatch_TlsContextMatchOptions `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{4} } func (m *RouteMatch) GetPathSpecifier() isRouteMatch_PathSpecifier { if m != nil { return m.PathSpecifier } return nil } func (x *RouteMatch) GetPrefix() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_Prefix); ok { return x.Prefix } return "" } func (x *RouteMatch) GetPath() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_Path); ok { return x.Path } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *RouteMatch) GetRegex() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_Regex); ok { return x.Regex } return "" } func (x *RouteMatch) GetSafeRegex() *matcher.RegexMatcher { if x, ok := x.GetPathSpecifier().(*RouteMatch_SafeRegex); ok { return x.SafeRegex } return nil } func (x *RouteMatch) GetCaseSensitive() *wrappers.BoolValue { if x != nil { return x.CaseSensitive } return nil } func (x *RouteMatch) GetRuntimeFraction() *core.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RouteMatch) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *RouteMatch) GetQueryParameters() []*QueryParameterMatcher { if x != nil { return x.QueryParameters } return nil } func (x *RouteMatch) GetGrpc() *RouteMatch_GrpcRouteMatchOptions { if x != nil { return x.Grpc } return nil } func (x *RouteMatch) GetTlsContext() *RouteMatch_TlsContextMatchOptions { if x != nil { return x.TlsContext } return nil } type isRouteMatch_PathSpecifier interface { isRouteMatch_PathSpecifier() } type RouteMatch_Prefix struct { // If specified, the route is a prefix rule meaning that the prefix must // match the beginning of the *:path* header. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"` } type RouteMatch_Path struct { // If specified, the route is an exact path rule meaning that the path must // exactly match the *:path* header once the query string is removed. Path string `protobuf:"bytes,2,opt,name=path,proto3,oneof"` } type RouteMatch_Regex struct { // If specified, the route is a regular expression rule meaning that the // regex must match the *:path* header once the query string is removed. The entire path // (without the query string) must match the regex. The rule will not match if only a // subsequence of the *:path* header matches the regex. The regex grammar is defined `here // `_. // // Examples: // // * The regex “/b[io]t“ matches the path */bit* // * The regex “/b[io]t“ matches the path */bot* // * The regex “/b[io]t“ does not match the path */bite* // * The regex “/b[io]t“ does not match the path */bit/bot* // // .. attention:: // // This field has been deprecated in favor of `safe_regex` as it is not safe for use with // untrusted input in all cases. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"` } type RouteMatch_SafeRegex struct { // If specified, the route is a regular expression rule meaning that the // regex must match the *:path* header once the query string is removed. The entire path // (without the query string) must match the regex. The rule will not match if only a // subsequence of the *:path* header matches the regex. // // [#next-major-version: In the v3 API we should redo how path specification works such // that we utilize StringMatcher, and additionally have consistent options around whether we // strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive // to deprecate the existing options. We should even consider whether we want to do away with // path_specifier entirely and just rely on a set of header matchers which can already match // on :path, etc. The issue with that is it is unclear how to generically deal with query string // stripping. This needs more thought.] SafeRegex *matcher.RegexMatcher `protobuf:"bytes,10,opt,name=safe_regex,json=safeRegex,proto3,oneof"` } func (*RouteMatch_Prefix) isRouteMatch_PathSpecifier() {} func (*RouteMatch_Path) isRouteMatch_PathSpecifier() {} func (*RouteMatch_Regex) isRouteMatch_PathSpecifier() {} func (*RouteMatch_SafeRegex) isRouteMatch_PathSpecifier() {} // [#next-free-field: 12] type CorsPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the origins that will be allowed to do CORS requests. // // An origin is allowed if either allow_origin or allow_origin_regex match. // // .. attention:: // // This field has been deprecated in favor of `allow_origin_string_match`. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // Specifies regex patterns that match allowed origins. // // An origin is allowed if either allow_origin or allow_origin_regex match. // // .. attention:: // // This field has been deprecated in favor of `allow_origin_string_match` as it is not safe for // use with untrusted input in all cases. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. AllowOriginRegex []string `protobuf:"bytes,8,rep,name=allow_origin_regex,json=allowOriginRegex,proto3" json:"allow_origin_regex,omitempty"` // Specifies string patterns that match allowed origins. An origin is allowed if any of the // string matchers match. AllowOriginStringMatch []*matcher.StringMatcher `protobuf:"bytes,11,rep,name=allow_origin_string_match,json=allowOriginStringMatch,proto3" json:"allow_origin_string_match,omitempty"` // Specifies the content for the *access-control-allow-methods* header. AllowMethods string `protobuf:"bytes,2,opt,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` // Specifies the content for the *access-control-allow-headers* header. AllowHeaders string `protobuf:"bytes,3,opt,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` // Specifies the content for the *access-control-expose-headers* header. ExposeHeaders string `protobuf:"bytes,4,opt,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` // Specifies the content for the *access-control-max-age* header. MaxAge string `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` // Specifies whether the resource allows credentials. AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` // Types that are assignable to EnabledSpecifier: // // *CorsPolicy_Enabled // *CorsPolicy_FilterEnabled EnabledSpecifier isCorsPolicy_EnabledSpecifier `protobuf_oneof:"enabled_specifier"` // Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not // enforced. // // This field is intended to be used when “filter_enabled“ and “enabled“ are off. One of those // fields have to explicitly disable the filter in order for this setting to take effect. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate // and track the request's *Origin* to determine if it's valid but will not enforce any policies. ShadowEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,10,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` } func (x *CorsPolicy) Reset() { *x = CorsPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CorsPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CorsPolicy) ProtoMessage() {} func (x *CorsPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead. func (*CorsPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{5} } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *CorsPolicy) GetAllowOrigin() []string { if x != nil { return x.AllowOrigin } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *CorsPolicy) GetAllowOriginRegex() []string { if x != nil { return x.AllowOriginRegex } return nil } func (x *CorsPolicy) GetAllowOriginStringMatch() []*matcher.StringMatcher { if x != nil { return x.AllowOriginStringMatch } return nil } func (x *CorsPolicy) GetAllowMethods() string { if x != nil { return x.AllowMethods } return "" } func (x *CorsPolicy) GetAllowHeaders() string { if x != nil { return x.AllowHeaders } return "" } func (x *CorsPolicy) GetExposeHeaders() string { if x != nil { return x.ExposeHeaders } return "" } func (x *CorsPolicy) GetMaxAge() string { if x != nil { return x.MaxAge } return "" } func (x *CorsPolicy) GetAllowCredentials() *wrappers.BoolValue { if x != nil { return x.AllowCredentials } return nil } func (m *CorsPolicy) GetEnabledSpecifier() isCorsPolicy_EnabledSpecifier { if m != nil { return m.EnabledSpecifier } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *CorsPolicy) GetEnabled() *wrappers.BoolValue { if x, ok := x.GetEnabledSpecifier().(*CorsPolicy_Enabled); ok { return x.Enabled } return nil } func (x *CorsPolicy) GetFilterEnabled() *core.RuntimeFractionalPercent { if x, ok := x.GetEnabledSpecifier().(*CorsPolicy_FilterEnabled); ok { return x.FilterEnabled } return nil } func (x *CorsPolicy) GetShadowEnabled() *core.RuntimeFractionalPercent { if x != nil { return x.ShadowEnabled } return nil } type isCorsPolicy_EnabledSpecifier interface { isCorsPolicy_EnabledSpecifier() } type CorsPolicy_Enabled struct { // Specifies if the CORS filter is enabled. Defaults to true. Only effective on route. // // .. attention:: // // **This field is deprecated**. Set the // :ref:`filter_enabled` field instead. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Enabled *wrappers.BoolValue `protobuf:"bytes,7,opt,name=enabled,proto3,oneof"` } type CorsPolicy_FilterEnabled struct { // Specifies the % of requests for which the CORS filter is enabled. // // If neither “enabled“, “filter_enabled“, nor “shadow_enabled“ are specified, the CORS // filter will be enabled for 100% of the requests. // // If :ref:`runtime_key ` is // specified, Envoy will lookup the runtime key to get the percentage of requests to filter. FilterEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=filter_enabled,json=filterEnabled,proto3,oneof"` } func (*CorsPolicy_Enabled) isCorsPolicy_EnabledSpecifier() {} func (*CorsPolicy_FilterEnabled) isCorsPolicy_EnabledSpecifier() {} // [#next-free-field: 34] type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_ClusterHeader // *RouteAction_WeightedClusters ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // The HTTP status code to use when configured cluster is not found. // The default response code is 503 Service Unavailable. ClusterNotFoundResponseCode RouteAction_ClusterNotFoundResponseCode `protobuf:"varint,20,opt,name=cluster_not_found_response_code,json=clusterNotFoundResponseCode,proto3,enum=envoy.api.v2.route.RouteAction_ClusterNotFoundResponseCode" json:"cluster_not_found_response_code,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints // in the upstream cluster with metadata matching what's set in this field will be considered // for load balancing. If using :ref:`weighted_clusters // `, metadata will be merged, with values // provided there taking precedence. The filter name should be specified as *envoy.lb*. MetadataMatch *core.Metadata `protobuf:"bytes,4,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Indicates that during forwarding, the matched prefix (or path) should be // swapped with this value. This option allows application URLs to be rooted // at a different path from those exposed at the reverse proxy layer. The router filter will // place the original path before rewrite into the :ref:`x-envoy-original-path // ` header. // // Only one of *prefix_rewrite* or // :ref:`regex_rewrite ` // may be specified. // // .. attention:: // // Pay careful attention to the use of trailing slashes in the // :ref:`route's match ` prefix value. // Stripping a prefix from a path requires multiple Routes to handle all cases. For example, // rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single // :ref:`Route `, as shown by the below config entries: // // .. code-block:: yaml // // - match: // prefix: "/prefix/" // route: // prefix_rewrite: "/" // - match: // prefix: "/prefix" // route: // prefix_rewrite: "/" // // Having above entries in the config, requests to */prefix* will be stripped to */*, while // requests to */prefix/etc* will be stripped to */etc*. PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"` // Indicates that during forwarding, portions of the path that match the // pattern should be rewritten, even allowing the substitution of capture // groups from the pattern into the new path as specified by the rewrite // substitution string. This is useful to allow application paths to be // rewritten in a way that is aware of segments with variable content like // identifiers. The router filter will place the original path as it was // before the rewrite into the :ref:`x-envoy-original-path // ` header. // // Only one of :ref:`prefix_rewrite ` // or *regex_rewrite* may be specified. // // Examples using Google's `RE2 `_ engine: // // - The path pattern “^/service/([^/]+)(/.*)$“ paired with a substitution // string of “\2/instance/\1“ would transform “/service/foo/v1/api“ // into “/v1/api/instance/foo“. // // - The pattern “one“ paired with a substitution string of “two“ would // transform “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/two/zzz“. // // - The pattern “^(.*?)one(.*)$“ paired with a substitution string of // “\1two\2“ would replace only the first occurrence of “one“, // transforming path “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/one/zzz“. // // - The pattern “(?i)/xxx/“ paired with a substitution string of “/yyy/“ // would do a case-insensitive match and transform path “/aaa/XxX/bbb“ to // “/aaa/yyy/bbb“. RegexRewrite *matcher.RegexMatchAndSubstitute `protobuf:"bytes,32,opt,name=regex_rewrite,json=regexRewrite,proto3" json:"regex_rewrite,omitempty"` // Types that are assignable to HostRewriteSpecifier: // // *RouteAction_HostRewrite // *RouteAction_AutoHostRewrite // *RouteAction_AutoHostRewriteHeader HostRewriteSpecifier isRouteAction_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` // Specifies the upstream timeout for the route. If not specified, the default is 15s. This // spans between the point at which the entire downstream request (i.e. end-of-stream) has been // processed and when the upstream response has been completely processed. A value of 0 will // disable the route's timeout. // // .. note:: // // This timeout includes all retries. See also // :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the // :ref:`retry overview `. Timeout *duration.Duration `protobuf:"bytes,8,opt,name=timeout,proto3" json:"timeout,omitempty"` // Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, // although the connection manager wide :ref:`stream_idle_timeout // ` // will still apply. A value of 0 will completely disable the route's idle timeout, even if a // connection manager stream idle timeout is configured. // // The idle timeout is distinct to :ref:`timeout // `, which provides an upper bound // on the upstream response time; :ref:`idle_timeout // ` instead bounds the amount // of time the request's stream may be idle. // // After header decoding, the idle timeout will apply on downstream and // upstream request events. Each time an encode/decode event for headers or // data is processed for the stream, the timer will be reset. If the timeout // fires, the stream is terminated with a 408 Request Timeout error code if no // upstream response header has been received, otherwise a stream reset // occurs. IdleTimeout *duration.Duration `protobuf:"bytes,24,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Indicates that the route has a retry policy. Note that if this is set, // it'll take precedence over the virtual host level retry policy entirely // (e.g.: policies are not merged, most internal one becomes the enforced policy). RetryPolicy *RetryPolicy `protobuf:"bytes,9,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` // [#not-implemented-hide:] // Specifies the configuration for retry policy extension. Note that if this is set, it'll take // precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, // most internal one becomes the enforced policy). :ref:`Retry policy ` // should not be set if this field is used. RetryPolicyTypedConfig *any1.Any `protobuf:"bytes,33,opt,name=retry_policy_typed_config,json=retryPolicyTypedConfig,proto3" json:"retry_policy_typed_config,omitempty"` // Indicates that the route has a request mirroring policy. // // .. attention:: // // This field has been deprecated in favor of `request_mirror_policies` which supports one or // more mirroring policies. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. RequestMirrorPolicy *RouteAction_RequestMirrorPolicy `protobuf:"bytes,10,opt,name=request_mirror_policy,json=requestMirrorPolicy,proto3" json:"request_mirror_policy,omitempty"` // Indicates that the route has request mirroring policies. RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `protobuf:"bytes,30,rep,name=request_mirror_policies,json=requestMirrorPolicies,proto3" json:"request_mirror_policies,omitempty"` // Optionally specifies the :ref:`routing priority `. Priority core.RoutingPriority `protobuf:"varint,11,opt,name=priority,proto3,enum=envoy.api.v2.core.RoutingPriority" json:"priority,omitempty"` // Specifies a set of rate limit configurations that could be applied to the // route. RateLimits []*RateLimit `protobuf:"bytes,13,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Specifies if the rate limit filter should include the virtual host rate // limits. By default, if the route configured rate limits, the virtual host // :ref:`rate_limits ` are not applied to the // request. IncludeVhRateLimits *wrappers.BoolValue `protobuf:"bytes,14,opt,name=include_vh_rate_limits,json=includeVhRateLimits,proto3" json:"include_vh_rate_limits,omitempty"` // Specifies a list of hash policies to use for ring hash load balancing. Each // hash policy is evaluated individually and the combined result is used to // route the request. The method of combination is deterministic such that // identical lists of hash policies will produce the same hash. Since a hash // policy examines specific parts of a request, it can fail to produce a hash // (i.e. if the hashed header is not present). If (and only if) all configured // hash policies fail to generate a hash, no hash will be produced for // the route. In this case, the behavior is the same as if no hash policies // were specified (i.e. the ring hash load balancer will choose a random // backend). If a hash policy has the "terminal" attribute set to true, and // there is already a hash generated, the hash is returned immediately, // ignoring the rest of the hash policy list. HashPolicy []*RouteAction_HashPolicy `protobuf:"bytes,15,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"` // Indicates that the route has a CORS policy. Cors *CorsPolicy `protobuf:"bytes,17,opt,name=cors,proto3" json:"cors,omitempty"` // If present, and the request is a gRPC request, use the // `grpc-timeout header `_, // or its default value (infinity) instead of // :ref:`timeout `, but limit the applied timeout // to the maximum value specified here. If configured as 0, the maximum allowed timeout for // gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used // and gRPC requests time out like any other requests using // :ref:`timeout ` or its default. // This can be used to prevent unexpected upstream request timeouts due to potentially long // time gaps between gRPC request and response in gRPC streaming mode. // // .. note:: // // If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes // precedence over `grpc-timeout header `_, when // both are present. See also // :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the // :ref:`retry overview `. MaxGrpcTimeout *duration.Duration `protobuf:"bytes,23,opt,name=max_grpc_timeout,json=maxGrpcTimeout,proto3" json:"max_grpc_timeout,omitempty"` // If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting // the provided duration from the header. This is useful in allowing Envoy to set its global // timeout to be less than that of the deadline imposed by the calling client, which makes it more // likely that Envoy will handle the timeout instead of having the call canceled by the client. // The offset will only be applied if the provided grpc_timeout is greater than the offset. This // ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning // infinity). GrpcTimeoutOffset *duration.Duration `protobuf:"bytes,28,opt,name=grpc_timeout_offset,json=grpcTimeoutOffset,proto3" json:"grpc_timeout_offset,omitempty"` UpgradeConfigs []*RouteAction_UpgradeConfig `protobuf:"bytes,25,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"` InternalRedirectAction RouteAction_InternalRedirectAction `protobuf:"varint,26,opt,name=internal_redirect_action,json=internalRedirectAction,proto3,enum=envoy.api.v2.route.RouteAction_InternalRedirectAction" json:"internal_redirect_action,omitempty"` // An internal redirect is handled, iff the number of previous internal redirects that a // downstream request has encountered is lower than this value, and // :ref:`internal_redirect_action ` // is set to :ref:`HANDLE_INTERNAL_REDIRECT // ` // In the case where a downstream request is bounced among multiple routes by internal redirect, // the first route that hits this threshold, or has // :ref:`internal_redirect_action ` // set to // :ref:`PASS_THROUGH_INTERNAL_REDIRECT // ` // will pass the redirect back to downstream. // // If not specified, at most one redirect will be followed. MaxInternalRedirects *wrappers.UInt32Value `protobuf:"bytes,31,opt,name=max_internal_redirects,json=maxInternalRedirects,proto3" json:"max_internal_redirects,omitempty"` // Indicates that the route has a hedge policy. Note that if this is set, // it'll take precedence over the virtual host level hedge policy entirely // (e.g.: policies are not merged, most internal one becomes the enforced policy). HedgePolicy *HedgePolicy `protobuf:"bytes,27,opt,name=hedge_policy,json=hedgePolicy,proto3" json:"hedge_policy,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetClusterHeader() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_ClusterHeader); ok { return x.ClusterHeader } return "" } func (x *RouteAction) GetWeightedClusters() *WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetClusterNotFoundResponseCode() RouteAction_ClusterNotFoundResponseCode { if x != nil { return x.ClusterNotFoundResponseCode } return RouteAction_SERVICE_UNAVAILABLE } func (x *RouteAction) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *RouteAction) GetPrefixRewrite() string { if x != nil { return x.PrefixRewrite } return "" } func (x *RouteAction) GetRegexRewrite() *matcher.RegexMatchAndSubstitute { if x != nil { return x.RegexRewrite } return nil } func (m *RouteAction) GetHostRewriteSpecifier() isRouteAction_HostRewriteSpecifier { if m != nil { return m.HostRewriteSpecifier } return nil } func (x *RouteAction) GetHostRewrite() string { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_HostRewrite); ok { return x.HostRewrite } return "" } func (x *RouteAction) GetAutoHostRewrite() *wrappers.BoolValue { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_AutoHostRewrite); ok { return x.AutoHostRewrite } return nil } func (x *RouteAction) GetAutoHostRewriteHeader() string { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_AutoHostRewriteHeader); ok { return x.AutoHostRewriteHeader } return "" } func (x *RouteAction) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RouteAction) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *RouteAction) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } func (x *RouteAction) GetRetryPolicyTypedConfig() *any1.Any { if x != nil { return x.RetryPolicyTypedConfig } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *RouteAction) GetRequestMirrorPolicy() *RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicy } return nil } func (x *RouteAction) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicies } return nil } func (x *RouteAction) GetPriority() core.RoutingPriority { if x != nil { return x.Priority } return core.RoutingPriority(0) } func (x *RouteAction) GetRateLimits() []*RateLimit { if x != nil { return x.RateLimits } return nil } func (x *RouteAction) GetIncludeVhRateLimits() *wrappers.BoolValue { if x != nil { return x.IncludeVhRateLimits } return nil } func (x *RouteAction) GetHashPolicy() []*RouteAction_HashPolicy { if x != nil { return x.HashPolicy } return nil } func (x *RouteAction) GetCors() *CorsPolicy { if x != nil { return x.Cors } return nil } func (x *RouteAction) GetMaxGrpcTimeout() *duration.Duration { if x != nil { return x.MaxGrpcTimeout } return nil } func (x *RouteAction) GetGrpcTimeoutOffset() *duration.Duration { if x != nil { return x.GrpcTimeoutOffset } return nil } func (x *RouteAction) GetUpgradeConfigs() []*RouteAction_UpgradeConfig { if x != nil { return x.UpgradeConfigs } return nil } func (x *RouteAction) GetInternalRedirectAction() RouteAction_InternalRedirectAction { if x != nil { return x.InternalRedirectAction } return RouteAction_PASS_THROUGH_INTERNAL_REDIRECT } func (x *RouteAction) GetMaxInternalRedirects() *wrappers.UInt32Value { if x != nil { return x.MaxInternalRedirects } return nil } func (x *RouteAction) GetHedgePolicy() *HedgePolicy { if x != nil { return x.HedgePolicy } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates the upstream cluster to which the request should be routed // to. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_ClusterHeader struct { // Envoy will determine the cluster to route to by reading the value of the // HTTP header named by cluster_header from the request headers. If the // header is not found or the referenced cluster does not exist, Envoy will // return a 404 response. // // .. attention:: // // Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 // *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. // // .. note:: // // If the header appears multiple times only the first value is used. ClusterHeader string `protobuf:"bytes,2,opt,name=cluster_header,json=clusterHeader,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. See // :ref:`traffic splitting ` // for additional documentation. WeightedClusters *WeightedCluster `protobuf:"bytes,3,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_ClusterHeader) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} type isRouteAction_HostRewriteSpecifier interface { isRouteAction_HostRewriteSpecifier() } type RouteAction_HostRewrite struct { // Indicates that during forwarding, the host header will be swapped with // this value. HostRewrite string `protobuf:"bytes,6,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"` } type RouteAction_AutoHostRewrite struct { // Indicates that during forwarding, the host header will be swapped with // the hostname of the upstream host chosen by the cluster manager. This // option is applicable only when the destination cluster for a route is of // type “STRICT_DNS“, “LOGICAL_DNS“ or “STATIC“. For “STATIC“ clusters, the // hostname attribute of the endpoint must be configured. Setting this to true // with other cluster types has no effect. AutoHostRewrite *wrappers.BoolValue `protobuf:"bytes,7,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof"` } type RouteAction_AutoHostRewriteHeader struct { // Indicates that during forwarding, the host header will be swapped with the content of given // downstream or :ref:`custom ` header. // If header value is empty, host header is left intact. // // .. attention:: // // Pay attention to the potential security implications of using this option. Provided header // must come from trusted source. // // .. note:: // // If the header appears multiple times only the first value is used. AutoHostRewriteHeader string `protobuf:"bytes,29,opt,name=auto_host_rewrite_header,json=autoHostRewriteHeader,proto3,oneof"` } func (*RouteAction_HostRewrite) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_AutoHostRewrite) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_AutoHostRewriteHeader) isRouteAction_HostRewriteSpecifier() {} // HTTP retry :ref:`architecture overview `. // [#next-free-field: 11] type RetryPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the conditions under which retry takes place. These are the same // conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and // :ref:`config_http_filters_router_x-envoy-retry-grpc-on`. RetryOn string `protobuf:"bytes,1,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` // Specifies the allowed number of retries. This parameter is optional and // defaults to 1. These are the same conditions documented for // :ref:`config_http_filters_router_x-envoy-max-retries`. NumRetries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"` // Specifies a non-zero upstream timeout per retry attempt. This parameter is optional. The // same conditions documented for // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply. // // .. note:: // // If left unspecified, Envoy will use the global // :ref:`route timeout ` for the request. // Consequently, when using a :ref:`5xx ` based // retry policy, a request that times out will not be retried as the total timeout budget // would have been exhausted. PerTryTimeout *duration.Duration `protobuf:"bytes,3,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"` // Specifies an implementation of a RetryPriority which is used to determine the // distribution of load across priorities used for retries. Refer to // :ref:`retry plugin configuration ` for more details. RetryPriority *RetryPolicy_RetryPriority `protobuf:"bytes,4,opt,name=retry_priority,json=retryPriority,proto3" json:"retry_priority,omitempty"` // Specifies a collection of RetryHostPredicates that will be consulted when selecting a host // for retries. If any of the predicates reject the host, host selection will be reattempted. // Refer to :ref:`retry plugin configuration ` for more // details. RetryHostPredicate []*RetryPolicy_RetryHostPredicate `protobuf:"bytes,5,rep,name=retry_host_predicate,json=retryHostPredicate,proto3" json:"retry_host_predicate,omitempty"` // The maximum number of times host selection will be reattempted before giving up, at which // point the host that was last selected will be routed to. If unspecified, this will default to // retrying once. HostSelectionRetryMaxAttempts int64 `protobuf:"varint,6,opt,name=host_selection_retry_max_attempts,json=hostSelectionRetryMaxAttempts,proto3" json:"host_selection_retry_max_attempts,omitempty"` // HTTP status codes that should trigger a retry in addition to those specified by retry_on. RetriableStatusCodes []uint32 `protobuf:"varint,7,rep,packed,name=retriable_status_codes,json=retriableStatusCodes,proto3" json:"retriable_status_codes,omitempty"` // Specifies parameters that control retry back off. This parameter is optional, in which case the // default base interval is 25 milliseconds or, if set, the current value of the // `upstream.base_retry_backoff_ms` runtime parameter. The default maximum interval is 10 times // the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries` // describes Envoy's back-off algorithm. RetryBackOff *RetryPolicy_RetryBackOff `protobuf:"bytes,8,opt,name=retry_back_off,json=retryBackOff,proto3" json:"retry_back_off,omitempty"` // HTTP response headers that trigger a retry if present in the response. A retry will be // triggered if any of the header matches match the upstream response headers. // The field is only consulted if 'retriable-headers' retry policy is active. RetriableHeaders []*HeaderMatcher `protobuf:"bytes,9,rep,name=retriable_headers,json=retriableHeaders,proto3" json:"retriable_headers,omitempty"` // HTTP headers which must be present in the request for retries to be attempted. RetriableRequestHeaders []*HeaderMatcher `protobuf:"bytes,10,rep,name=retriable_request_headers,json=retriableRequestHeaders,proto3" json:"retriable_request_headers,omitempty"` } func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{7} } func (x *RetryPolicy) GetRetryOn() string { if x != nil { return x.RetryOn } return "" } func (x *RetryPolicy) GetNumRetries() *wrappers.UInt32Value { if x != nil { return x.NumRetries } return nil } func (x *RetryPolicy) GetPerTryTimeout() *duration.Duration { if x != nil { return x.PerTryTimeout } return nil } func (x *RetryPolicy) GetRetryPriority() *RetryPolicy_RetryPriority { if x != nil { return x.RetryPriority } return nil } func (x *RetryPolicy) GetRetryHostPredicate() []*RetryPolicy_RetryHostPredicate { if x != nil { return x.RetryHostPredicate } return nil } func (x *RetryPolicy) GetHostSelectionRetryMaxAttempts() int64 { if x != nil { return x.HostSelectionRetryMaxAttempts } return 0 } func (x *RetryPolicy) GetRetriableStatusCodes() []uint32 { if x != nil { return x.RetriableStatusCodes } return nil } func (x *RetryPolicy) GetRetryBackOff() *RetryPolicy_RetryBackOff { if x != nil { return x.RetryBackOff } return nil } func (x *RetryPolicy) GetRetriableHeaders() []*HeaderMatcher { if x != nil { return x.RetriableHeaders } return nil } func (x *RetryPolicy) GetRetriableRequestHeaders() []*HeaderMatcher { if x != nil { return x.RetriableRequestHeaders } return nil } // HTTP request hedging :ref:`architecture overview `. type HedgePolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the number of initial requests that should be sent upstream. // Must be at least 1. // Defaults to 1. // [#not-implemented-hide:] InitialRequests *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=initial_requests,json=initialRequests,proto3" json:"initial_requests,omitempty"` // Specifies a probability that an additional upstream request should be sent // on top of what is specified by initial_requests. // Defaults to 0. // [#not-implemented-hide:] AdditionalRequestChance *_type.FractionalPercent `protobuf:"bytes,2,opt,name=additional_request_chance,json=additionalRequestChance,proto3" json:"additional_request_chance,omitempty"` // Indicates that a hedged request should be sent when the per-try timeout is hit. // This means that a retry will be issued without resetting the original request, leaving multiple upstream requests in flight. // The first request to complete successfully will be the one returned to the caller. // // - At any time, a successful response (i.e. not triggering any of the retry-on conditions) would be returned to the client. // - Before per-try timeout, an error response (per retry-on conditions) would be retried immediately or returned ot the client // if there are no more retries left. // - After per-try timeout, an error response would be discarded, as a retry in the form of a hedged request is already in progress. // // Note: For this to have effect, you must have a :ref:`RetryPolicy ` that retries at least // one error code and specifies a maximum number of retries. // // Defaults to false. HedgeOnPerTryTimeout bool `protobuf:"varint,3,opt,name=hedge_on_per_try_timeout,json=hedgeOnPerTryTimeout,proto3" json:"hedge_on_per_try_timeout,omitempty"` } func (x *HedgePolicy) Reset() { *x = HedgePolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HedgePolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HedgePolicy) ProtoMessage() {} func (x *HedgePolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HedgePolicy.ProtoReflect.Descriptor instead. func (*HedgePolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{8} } func (x *HedgePolicy) GetInitialRequests() *wrappers.UInt32Value { if x != nil { return x.InitialRequests } return nil } func (x *HedgePolicy) GetAdditionalRequestChance() *_type.FractionalPercent { if x != nil { return x.AdditionalRequestChance } return nil } func (x *HedgePolicy) GetHedgeOnPerTryTimeout() bool { if x != nil { return x.HedgeOnPerTryTimeout } return false } // [#next-free-field: 9] type RedirectAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When the scheme redirection take place, the following rules apply: // 1. If the source URI scheme is `http` and the port is explicitly // set to `:80`, the port will be removed after the redirection // 2. If the source URI scheme is `https` and the port is explicitly // set to `:443`, the port will be removed after the redirection // // Types that are assignable to SchemeRewriteSpecifier: // // *RedirectAction_HttpsRedirect // *RedirectAction_SchemeRedirect SchemeRewriteSpecifier isRedirectAction_SchemeRewriteSpecifier `protobuf_oneof:"scheme_rewrite_specifier"` // The host portion of the URL will be swapped with this value. HostRedirect string `protobuf:"bytes,1,opt,name=host_redirect,json=hostRedirect,proto3" json:"host_redirect,omitempty"` // The port value of the URL will be swapped with this value. PortRedirect uint32 `protobuf:"varint,8,opt,name=port_redirect,json=portRedirect,proto3" json:"port_redirect,omitempty"` // Types that are assignable to PathRewriteSpecifier: // // *RedirectAction_PathRedirect // *RedirectAction_PrefixRewrite PathRewriteSpecifier isRedirectAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"` // The HTTP status code to use in the redirect response. The default response // code is MOVED_PERMANENTLY (301). ResponseCode RedirectAction_RedirectResponseCode `protobuf:"varint,3,opt,name=response_code,json=responseCode,proto3,enum=envoy.api.v2.route.RedirectAction_RedirectResponseCode" json:"response_code,omitempty"` // Indicates that during redirection, the query portion of the URL will // be removed. Default value is false. StripQuery bool `protobuf:"varint,6,opt,name=strip_query,json=stripQuery,proto3" json:"strip_query,omitempty"` } func (x *RedirectAction) Reset() { *x = RedirectAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedirectAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedirectAction) ProtoMessage() {} func (x *RedirectAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedirectAction.ProtoReflect.Descriptor instead. func (*RedirectAction) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{9} } func (m *RedirectAction) GetSchemeRewriteSpecifier() isRedirectAction_SchemeRewriteSpecifier { if m != nil { return m.SchemeRewriteSpecifier } return nil } func (x *RedirectAction) GetHttpsRedirect() bool { if x, ok := x.GetSchemeRewriteSpecifier().(*RedirectAction_HttpsRedirect); ok { return x.HttpsRedirect } return false } func (x *RedirectAction) GetSchemeRedirect() string { if x, ok := x.GetSchemeRewriteSpecifier().(*RedirectAction_SchemeRedirect); ok { return x.SchemeRedirect } return "" } func (x *RedirectAction) GetHostRedirect() string { if x != nil { return x.HostRedirect } return "" } func (x *RedirectAction) GetPortRedirect() uint32 { if x != nil { return x.PortRedirect } return 0 } func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier { if m != nil { return m.PathRewriteSpecifier } return nil } func (x *RedirectAction) GetPathRedirect() string { if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_PathRedirect); ok { return x.PathRedirect } return "" } func (x *RedirectAction) GetPrefixRewrite() string { if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_PrefixRewrite); ok { return x.PrefixRewrite } return "" } func (x *RedirectAction) GetResponseCode() RedirectAction_RedirectResponseCode { if x != nil { return x.ResponseCode } return RedirectAction_MOVED_PERMANENTLY } func (x *RedirectAction) GetStripQuery() bool { if x != nil { return x.StripQuery } return false } type isRedirectAction_SchemeRewriteSpecifier interface { isRedirectAction_SchemeRewriteSpecifier() } type RedirectAction_HttpsRedirect struct { // The scheme portion of the URL will be swapped with "https". HttpsRedirect bool `protobuf:"varint,4,opt,name=https_redirect,json=httpsRedirect,proto3,oneof"` } type RedirectAction_SchemeRedirect struct { // The scheme portion of the URL will be swapped with this value. SchemeRedirect string `protobuf:"bytes,7,opt,name=scheme_redirect,json=schemeRedirect,proto3,oneof"` } func (*RedirectAction_HttpsRedirect) isRedirectAction_SchemeRewriteSpecifier() {} func (*RedirectAction_SchemeRedirect) isRedirectAction_SchemeRewriteSpecifier() {} type isRedirectAction_PathRewriteSpecifier interface { isRedirectAction_PathRewriteSpecifier() } type RedirectAction_PathRedirect struct { // The path portion of the URL will be swapped with this value. // Please note that query string in path_redirect will override the // request's query string and will not be stripped. // // For example, let's say we have the following routes: // // - match: { path: "/old-path-1" } // redirect: { path_redirect: "/new-path-1" } // - match: { path: "/old-path-2" } // redirect: { path_redirect: "/new-path-2", strip-query: "true" } // - match: { path: "/old-path-3" } // redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" } // // 1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1" // 2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2" // 3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1" PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3,oneof"` } type RedirectAction_PrefixRewrite struct { // Indicates that during redirection, the matched prefix (or path) // should be swapped with this value. This option allows redirect URLs be dynamically created // based on the request. // // .. attention:: // // Pay attention to the use of trailing slashes as mentioned in // :ref:`RouteAction's prefix_rewrite `. PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3,oneof"` } func (*RedirectAction_PathRedirect) isRedirectAction_PathRewriteSpecifier() {} func (*RedirectAction_PrefixRewrite) isRedirectAction_PathRewriteSpecifier() {} type DirectResponseAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the HTTP response status to be returned. Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // Specifies the content of the response body. If this setting is omitted, // no body is included in the generated response. // // .. note:: // // Headers can be specified using *response_headers_to_add* in the enclosing // :ref:`envoy_api_msg_route.Route`, :ref:`envoy_api_msg_RouteConfiguration` or // :ref:`envoy_api_msg_route.VirtualHost`. Body *core.DataSource `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` } func (x *DirectResponseAction) Reset() { *x = DirectResponseAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DirectResponseAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectResponseAction) ProtoMessage() {} func (x *DirectResponseAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DirectResponseAction.ProtoReflect.Descriptor instead. func (*DirectResponseAction) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{10} } func (x *DirectResponseAction) GetStatus() uint32 { if x != nil { return x.Status } return 0 } func (x *DirectResponseAction) GetBody() *core.DataSource { if x != nil { return x.Body } return nil } type Decorator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The operation name associated with the request matched to this route. If tracing is // enabled, this information will be used as the span name reported for this request. // // .. note:: // // For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden // by the :ref:`x-envoy-decorator-operation // ` header. Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` // Whether the decorated details should be propagated to the other party. The default is true. Propagate *wrappers.BoolValue `protobuf:"bytes,2,opt,name=propagate,proto3" json:"propagate,omitempty"` } func (x *Decorator) Reset() { *x = Decorator{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decorator) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decorator) ProtoMessage() {} func (x *Decorator) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decorator.ProtoReflect.Descriptor instead. func (*Decorator) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{11} } func (x *Decorator) GetOperation() string { if x != nil { return x.Operation } return "" } func (x *Decorator) GetPropagate() *wrappers.BoolValue { if x != nil { return x.Propagate } return nil } type Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Target percentage of requests managed by this HTTP connection manager that will be force // traced if the :ref:`x-client-trace-id ` // header is set. This field is a direct analog for the runtime variable // 'tracing.client_enabled' in the :ref:`HTTP Connection Manager // `. // Default: 100% ClientSampling *_type.FractionalPercent `protobuf:"bytes,1,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be randomly // selected for trace generation, if not requested by the client or not forced. This field is // a direct analog for the runtime variable 'tracing.random_sampling' in the // :ref:`HTTP Connection Manager `. // Default: 100% RandomSampling *_type.FractionalPercent `protobuf:"bytes,2,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be traced // after all other sampling checks have been applied (client-directed, force tracing, random // sampling). This field functions as an upper limit on the total configured sampling rate. For // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% // of client requests with the appropriate headers to be force traced. This field is a direct // analog for the runtime variable 'tracing.global_enabled' in the // :ref:`HTTP Connection Manager `. // Default: 100% OverallSampling *_type.FractionalPercent `protobuf:"bytes,3,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` // A list of custom tags with unique tag name to create tags for the active span. // It will take effect after merging with the :ref:`corresponding configuration // ` // configured in the HTTP connection manager. If two tags with the same name are configured // each in the HTTP connection manager and the route level, the one configured here takes // priority. CustomTags []*v2.CustomTag `protobuf:"bytes,4,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` } func (x *Tracing) Reset() { *x = Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing) ProtoMessage() {} func (x *Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing.ProtoReflect.Descriptor instead. func (*Tracing) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{12} } func (x *Tracing) GetClientSampling() *_type.FractionalPercent { if x != nil { return x.ClientSampling } return nil } func (x *Tracing) GetRandomSampling() *_type.FractionalPercent { if x != nil { return x.RandomSampling } return nil } func (x *Tracing) GetOverallSampling() *_type.FractionalPercent { if x != nil { return x.OverallSampling } return nil } func (x *Tracing) GetCustomTags() []*v2.CustomTag { if x != nil { return x.CustomTags } return nil } // A virtual cluster is a way of specifying a regex matching rule against // certain important endpoints such that statistics are generated explicitly for // the matched requests. The reason this is useful is that when doing // prefix/path matching Envoy does not always know what the application // considers to be an endpoint. Thus, it’s impossible for Envoy to generically // emit per endpoint statistics. However, often systems have highly critical // endpoints that they wish to get “perfect” statistics on. Virtual cluster // statistics are perfect in the sense that they are emitted on the downstream // side such that they include network level failures. // // Documentation for :ref:`virtual cluster statistics `. // // .. note:: // // Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for // every application endpoint. This is both not easily maintainable and as well the matching and // statistics output are not free. type VirtualCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies a regex pattern to use for matching requests. The entire path of the request // must match the regex. The regex grammar used is defined `here // `_. // // Examples: // // * The regex “/rides/\d+“ matches the path */rides/0* // * The regex “/rides/\d+“ matches the path */rides/123* // * The regex “/rides/\d+“ does not match the path */rides/123/456* // // .. attention:: // // This field has been deprecated in favor of `headers` as it is not safe for use with // untrusted input in all cases. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` // Specifies a list of header matchers to use for matching requests. Each specified header must // match. The pseudo-headers `:path` and `:method` can be used to match the request path and // method, respectively. Headers []*HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` // Specifies the name of the virtual cluster. The virtual cluster name as well // as the virtual host name are used when emitting statistics. The statistics are emitted by the // router filter and are documented :ref:`here `. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Optionally specifies the HTTP method to match on. For example GET, PUT, // etc. // // .. attention:: // // This field has been deprecated in favor of `headers`. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Method core.RequestMethod `protobuf:"varint,3,opt,name=method,proto3,enum=envoy.api.v2.core.RequestMethod" json:"method,omitempty"` } func (x *VirtualCluster) Reset() { *x = VirtualCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VirtualCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*VirtualCluster) ProtoMessage() {} func (x *VirtualCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VirtualCluster.ProtoReflect.Descriptor instead. func (*VirtualCluster) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{13} } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *VirtualCluster) GetPattern() string { if x != nil { return x.Pattern } return "" } func (x *VirtualCluster) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *VirtualCluster) GetName() string { if x != nil { return x.Name } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *VirtualCluster) GetMethod() core.RequestMethod { if x != nil { return x.Method } return core.RequestMethod(0) } // Global rate limiting :ref:`architecture overview `. type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Refers to the stage set in the filter. The rate limit configuration only // applies to filters with the same stage number. The default stage number is // 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"` // The key to be set in runtime to disable this rate limit configuration. DisableKey string `protobuf:"bytes,2,opt,name=disable_key,json=disableKey,proto3" json:"disable_key,omitempty"` // A list of actions that are to be applied for this rate limit configuration. // Order matters as the actions are processed sequentially and the descriptor // is composed by appending descriptor entries in that sequence. If an action // cannot append a descriptor entry, no descriptor is generated for the // configuration. See :ref:`composing actions // ` for additional documentation. Actions []*RateLimit_Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14} } func (x *RateLimit) GetStage() *wrappers.UInt32Value { if x != nil { return x.Stage } return nil } func (x *RateLimit) GetDisableKey() string { if x != nil { return x.DisableKey } return "" } func (x *RateLimit) GetActions() []*RateLimit_Action { if x != nil { return x.Actions } return nil } // .. attention:: // // Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* // header. Thus, if attempting to match on *Host*, match on *:authority* instead. // // .. attention:: // // To route on HTTP method, use the special HTTP/2 *:method* header. This works for both // HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g., // // .. code-block:: json // // { // "name": ":method", // "exact_match": "POST" // } // // .. attention:: // // In the absence of any header match specifier, match will default to :ref:`present_match // `. i.e, a request that has the :ref:`name // ` header will match, regardless of the header's // value. // // [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.] // // [#next-free-field: 12] type HeaderMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the name of the header in the request. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Specifies how the header match will be performed to route the request. // // Types that are assignable to HeaderMatchSpecifier: // // *HeaderMatcher_ExactMatch // *HeaderMatcher_RegexMatch // *HeaderMatcher_SafeRegexMatch // *HeaderMatcher_RangeMatch // *HeaderMatcher_PresentMatch // *HeaderMatcher_PrefixMatch // *HeaderMatcher_SuffixMatch HeaderMatchSpecifier isHeaderMatcher_HeaderMatchSpecifier `protobuf_oneof:"header_match_specifier"` // If specified, the match result will be inverted before checking. Defaults to false. // // Examples: // // * The regex “\d{3}“ does not match the value *1234*, so it will match when inverted. // * The range [-10,0) will match the value -1, so it will not match when inverted. InvertMatch bool `protobuf:"varint,8,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"` } func (x *HeaderMatcher) Reset() { *x = HeaderMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMatcher) ProtoMessage() {} func (x *HeaderMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMatcher.ProtoReflect.Descriptor instead. func (*HeaderMatcher) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{15} } func (x *HeaderMatcher) GetName() string { if x != nil { return x.Name } return "" } func (m *HeaderMatcher) GetHeaderMatchSpecifier() isHeaderMatcher_HeaderMatchSpecifier { if m != nil { return m.HeaderMatchSpecifier } return nil } func (x *HeaderMatcher) GetExactMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_ExactMatch); ok { return x.ExactMatch } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *HeaderMatcher) GetRegexMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_RegexMatch); ok { return x.RegexMatch } return "" } func (x *HeaderMatcher) GetSafeRegexMatch() *matcher.RegexMatcher { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_SafeRegexMatch); ok { return x.SafeRegexMatch } return nil } func (x *HeaderMatcher) GetRangeMatch() *_type.Int64Range { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_RangeMatch); ok { return x.RangeMatch } return nil } func (x *HeaderMatcher) GetPresentMatch() bool { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_PresentMatch); ok { return x.PresentMatch } return false } func (x *HeaderMatcher) GetPrefixMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_PrefixMatch); ok { return x.PrefixMatch } return "" } func (x *HeaderMatcher) GetSuffixMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_SuffixMatch); ok { return x.SuffixMatch } return "" } func (x *HeaderMatcher) GetInvertMatch() bool { if x != nil { return x.InvertMatch } return false } type isHeaderMatcher_HeaderMatchSpecifier interface { isHeaderMatcher_HeaderMatchSpecifier() } type HeaderMatcher_ExactMatch struct { // If specified, header match will be performed based on the value of the header. ExactMatch string `protobuf:"bytes,4,opt,name=exact_match,json=exactMatch,proto3,oneof"` } type HeaderMatcher_RegexMatch struct { // If specified, this regex string is a regular expression rule which implies the entire request // header value must match the regex. The rule will not match if only a subsequence of the // request header value matches the regex. The regex grammar used in the value field is defined // `here `_. // // Examples: // // * The regex “\d{3}“ matches the value *123* // * The regex “\d{3}“ does not match the value *1234* // * The regex “\d{3}“ does not match the value *123.456* // // .. attention:: // // This field has been deprecated in favor of `safe_regex_match` as it is not safe for use // with untrusted input in all cases. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. RegexMatch string `protobuf:"bytes,5,opt,name=regex_match,json=regexMatch,proto3,oneof"` } type HeaderMatcher_SafeRegexMatch struct { // If specified, this regex string is a regular expression rule which implies the entire request // header value must match the regex. The rule will not match if only a subsequence of the // request header value matches the regex. SafeRegexMatch *matcher.RegexMatcher `protobuf:"bytes,11,opt,name=safe_regex_match,json=safeRegexMatch,proto3,oneof"` } type HeaderMatcher_RangeMatch struct { // If specified, header match will be performed based on range. // The rule will match if the request header value is within this range. // The entire request header value must represent an integer in base 10 notation: consisting of // an optional plus or minus sign followed by a sequence of digits. The rule will not match if // the header value does not represent an integer. Match will fail for empty values, floating // point numbers or if only a subsequence of the header value is an integer. // // Examples: // // - For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, // "-1somestring" RangeMatch *_type.Int64Range `protobuf:"bytes,6,opt,name=range_match,json=rangeMatch,proto3,oneof"` } type HeaderMatcher_PresentMatch struct { // If specified, header match will be performed based on whether the header is in the // request. PresentMatch bool `protobuf:"varint,7,opt,name=present_match,json=presentMatch,proto3,oneof"` } type HeaderMatcher_PrefixMatch struct { // If specified, header match will be performed based on the prefix of the header value. // Note: empty prefix is not allowed, please use present_match instead. // // Examples: // // * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. PrefixMatch string `protobuf:"bytes,9,opt,name=prefix_match,json=prefixMatch,proto3,oneof"` } type HeaderMatcher_SuffixMatch struct { // If specified, header match will be performed based on the suffix of the header value. // Note: empty suffix is not allowed, please use present_match instead. // // Examples: // // * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. SuffixMatch string `protobuf:"bytes,10,opt,name=suffix_match,json=suffixMatch,proto3,oneof"` } func (*HeaderMatcher_ExactMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_RegexMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_SafeRegexMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_RangeMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_PresentMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_PrefixMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_SuffixMatch) isHeaderMatcher_HeaderMatchSpecifier() {} // Query parameter matching treats the query string of a request's :path header // as an ampersand-separated list of keys and/or key=value elements. // [#next-free-field: 7] type QueryParameterMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the name of a key that must be present in the requested // *path*'s query string. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Specifies the value of the key. If the value is absent, a request // that contains the key in its query string will match, whether the // key appears with a value (e.g., "?debug=true") or not (e.g., "?debug") // // ..attention:: // // This field is deprecated. Use an `exact` match inside the `string_match` field. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // Specifies whether the query parameter value is a regular expression. // Defaults to false. The entire query parameter value (i.e., the part to // the right of the equals sign in "key=value") must match the regex. // E.g., the regex “\d+$“ will match *123* but not *a123* or *123a*. // // ..attention:: // // This field is deprecated. Use a `safe_regex` match inside the `string_match` field. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Regex *wrappers.BoolValue `protobuf:"bytes,4,opt,name=regex,proto3" json:"regex,omitempty"` // Types that are assignable to QueryParameterMatchSpecifier: // // *QueryParameterMatcher_StringMatch // *QueryParameterMatcher_PresentMatch QueryParameterMatchSpecifier isQueryParameterMatcher_QueryParameterMatchSpecifier `protobuf_oneof:"query_parameter_match_specifier"` } func (x *QueryParameterMatcher) Reset() { *x = QueryParameterMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryParameterMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryParameterMatcher) ProtoMessage() {} func (x *QueryParameterMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueryParameterMatcher.ProtoReflect.Descriptor instead. func (*QueryParameterMatcher) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{16} } func (x *QueryParameterMatcher) GetName() string { if x != nil { return x.Name } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *QueryParameterMatcher) GetValue() string { if x != nil { return x.Value } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *QueryParameterMatcher) GetRegex() *wrappers.BoolValue { if x != nil { return x.Regex } return nil } func (m *QueryParameterMatcher) GetQueryParameterMatchSpecifier() isQueryParameterMatcher_QueryParameterMatchSpecifier { if m != nil { return m.QueryParameterMatchSpecifier } return nil } func (x *QueryParameterMatcher) GetStringMatch() *matcher.StringMatcher { if x, ok := x.GetQueryParameterMatchSpecifier().(*QueryParameterMatcher_StringMatch); ok { return x.StringMatch } return nil } func (x *QueryParameterMatcher) GetPresentMatch() bool { if x, ok := x.GetQueryParameterMatchSpecifier().(*QueryParameterMatcher_PresentMatch); ok { return x.PresentMatch } return false } type isQueryParameterMatcher_QueryParameterMatchSpecifier interface { isQueryParameterMatcher_QueryParameterMatchSpecifier() } type QueryParameterMatcher_StringMatch struct { // Specifies whether a query parameter value should match against a string. StringMatch *matcher.StringMatcher `protobuf:"bytes,5,opt,name=string_match,json=stringMatch,proto3,oneof"` } type QueryParameterMatcher_PresentMatch struct { // Specifies whether a query parameter should be present. PresentMatch bool `protobuf:"varint,6,opt,name=present_match,json=presentMatch,proto3,oneof"` } func (*QueryParameterMatcher_StringMatch) isQueryParameterMatcher_QueryParameterMatchSpecifier() {} func (*QueryParameterMatcher_PresentMatch) isQueryParameterMatcher_QueryParameterMatchSpecifier() {} // [#next-free-field: 11] type WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the upstream cluster. The cluster must exist in the // :ref:`cluster manager configuration `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An integer between 0 and :ref:`total_weight // `. When a request matches the route, // the choice of an upstream cluster is determined by its weight. The sum of weights across all // entries in the clusters array must add up to the total_weight, if total_weight is greater than 0. Weight *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field will be considered for // load balancing. Note that this will be merged with what's provided in // :ref:`RouteAction.metadata_match `, with // values here taking precedence. The filter name should be specified as *envoy.lb*. MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Specifies a list of headers to be added to requests when this cluster is selected // through the enclosing :ref:`envoy_api_msg_route.RouteAction`. // Headers specified at this level are applied before headers from the enclosing // :ref:`envoy_api_msg_route.Route`, :ref:`envoy_api_msg_route.VirtualHost`, and // :ref:`envoy_api_msg_RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,4,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request when // this cluster is selected through the enclosing :ref:`envoy_api_msg_route.RouteAction`. RequestHeadersToRemove []string `protobuf:"bytes,9,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a list of headers to be added to responses when this cluster is selected // through the enclosing :ref:`envoy_api_msg_route.RouteAction`. // Headers specified at this level are applied before headers from the enclosing // :ref:`envoy_api_msg_route.Route`, :ref:`envoy_api_msg_route.VirtualHost`, and // :ref:`envoy_api_msg_RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,5,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of headers to be removed from responses when this cluster is selected // through the enclosing :ref:`envoy_api_msg_route.RouteAction`. ResponseHeadersToRemove []string `protobuf:"bytes,6,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // The per_filter_config field can be used to provide weighted cluster-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` // for if and how it is utilized. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. PerFilterConfig map[string]*_struct.Struct `protobuf:"bytes,8,rep,name=per_filter_config,json=perFilterConfig,proto3" json:"per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The per_filter_config field can be used to provide weighted cluster-specific // configurations for filters. The key should match the filter name, such as // *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter // specific; see the :ref:`HTTP filter documentation ` // for if and how it is utilized. TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,10,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *WeightedCluster_ClusterWeight) Reset() { *x = WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{3, 0} } func (x *WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *WeightedCluster_ClusterWeight) GetWeight() *wrappers.UInt32Value { if x != nil { return x.Weight } return nil } func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *WeightedCluster_ClusterWeight) GetRequestHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *WeightedCluster_ClusterWeight) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *WeightedCluster_ClusterWeight) GetResponseHeadersToAdd() []*core.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *WeightedCluster_ClusterWeight) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *WeightedCluster_ClusterWeight) GetPerFilterConfig() map[string]*_struct.Struct { if x != nil { return x.PerFilterConfig } return nil } func (x *WeightedCluster_ClusterWeight) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } type RouteMatch_GrpcRouteMatchOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RouteMatch_GrpcRouteMatchOptions) Reset() { *x = RouteMatch_GrpcRouteMatchOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch_GrpcRouteMatchOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch_GrpcRouteMatchOptions) ProtoMessage() {} func (x *RouteMatch_GrpcRouteMatchOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch_GrpcRouteMatchOptions.ProtoReflect.Descriptor instead. func (*RouteMatch_GrpcRouteMatchOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{4, 0} } type RouteMatch_TlsContextMatchOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If specified, the route will match against whether or not a certificate is presented. // If not specified, certificate presentation status (true or false) will not be considered when route matching. Presented *wrappers.BoolValue `protobuf:"bytes,1,opt,name=presented,proto3" json:"presented,omitempty"` // If specified, the route will match against whether or not a certificate is validated. // If not specified, certificate validation status (true or false) will not be considered when route matching. Validated *wrappers.BoolValue `protobuf:"bytes,2,opt,name=validated,proto3" json:"validated,omitempty"` } func (x *RouteMatch_TlsContextMatchOptions) Reset() { *x = RouteMatch_TlsContextMatchOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch_TlsContextMatchOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch_TlsContextMatchOptions) ProtoMessage() {} func (x *RouteMatch_TlsContextMatchOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch_TlsContextMatchOptions.ProtoReflect.Descriptor instead. func (*RouteMatch_TlsContextMatchOptions) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{4, 1} } func (x *RouteMatch_TlsContextMatchOptions) GetPresented() *wrappers.BoolValue { if x != nil { return x.Presented } return nil } func (x *RouteMatch_TlsContextMatchOptions) GetValidated() *wrappers.BoolValue { if x != nil { return x.Validated } return nil } // The router is capable of shadowing traffic from one cluster to another. The current // implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to // respond before returning the response from the primary cluster. All normal statistics are // collected for the shadow cluster making this feature useful for testing. // // During shadowing, the host/authority header is altered such that *-shadow* is appended. This is // useful for logging. For example, *cluster1* becomes *cluster1-shadow*. // // .. note:: // // Shadowing will not be triggered if the primary cluster does not exist. type RouteAction_RequestMirrorPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the cluster that requests will be mirrored to. The cluster must // exist in the cluster manager configuration. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // If not specified, all requests to the target cluster will be mirrored. If // specified, Envoy will lookup the runtime key to get the % of requests to // mirror. Valid values are from 0 to 10000, allowing for increments of // 0.01% of requests to be mirrored. If the runtime key is specified in the // configuration but not present in runtime, 0 is the default and thus 0% of // requests will be mirrored. // // .. attention:: // // **This field is deprecated**. Set the // :ref:`runtime_fraction // ` // field instead. Mirroring occurs if both this and // ` // are not set. // // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` // If not specified, all requests to the target cluster will be mirrored. // // If specified, this field takes precedence over the `runtime_key` field and requests must also // fall under the percentage of matches indicated by this field. // // For some fraction N/D, a random number in the range [0,D) is selected. If the // number is <= the value of the numerator N, or if the key is not present, the default // value, the request will be mirrored. RuntimeFraction *core.RuntimeFractionalPercent `protobuf:"bytes,3,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Determines if the trace span should be sampled. Defaults to true. TraceSampled *wrappers.BoolValue `protobuf:"bytes,4,opt,name=trace_sampled,json=traceSampled,proto3" json:"trace_sampled,omitempty"` } func (x *RouteAction_RequestMirrorPolicy) Reset() { *x = RouteAction_RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_RequestMirrorPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_RequestMirrorPolicy) ProtoMessage() {} func (x *RouteAction_RequestMirrorPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RouteAction_RequestMirrorPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 0} } func (x *RouteAction_RequestMirrorPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *RouteAction_RequestMirrorPolicy) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } func (x *RouteAction_RequestMirrorPolicy) GetRuntimeFraction() *core.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RouteAction_RequestMirrorPolicy) GetTraceSampled() *wrappers.BoolValue { if x != nil { return x.TraceSampled } return nil } // Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer // `. // [#next-free-field: 7] type RouteAction_HashPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PolicySpecifier: // // *RouteAction_HashPolicy_Header_ // *RouteAction_HashPolicy_Cookie_ // *RouteAction_HashPolicy_ConnectionProperties_ // *RouteAction_HashPolicy_QueryParameter_ // *RouteAction_HashPolicy_FilterState_ PolicySpecifier isRouteAction_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` // The flag that short-circuits the hash computing. This field provides a // 'fallback' style of configuration: "if a terminal policy doesn't work, // fallback to rest of the policy list", it saves time when the terminal // policy works. // // If true, and there is already a hash computed, ignore rest of the // list of hash polices. // For example, if the following hash methods are configured: // // ========= ======== // specifier terminal // ========= ======== // Header A true // Header B false // Header C false // ========= ======== // // The generateHash process ends if policy "header A" generates a hash, as // it's a terminal policy. Terminal bool `protobuf:"varint,4,opt,name=terminal,proto3" json:"terminal,omitempty"` } func (x *RouteAction_HashPolicy) Reset() { *x = RouteAction_HashPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy) ProtoMessage() {} func (x *RouteAction_HashPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1} } func (m *RouteAction_HashPolicy) GetPolicySpecifier() isRouteAction_HashPolicy_PolicySpecifier { if m != nil { return m.PolicySpecifier } return nil } func (x *RouteAction_HashPolicy) GetHeader() *RouteAction_HashPolicy_Header { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_Header_); ok { return x.Header } return nil } func (x *RouteAction_HashPolicy) GetCookie() *RouteAction_HashPolicy_Cookie { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_Cookie_); ok { return x.Cookie } return nil } func (x *RouteAction_HashPolicy) GetConnectionProperties() *RouteAction_HashPolicy_ConnectionProperties { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_ConnectionProperties_); ok { return x.ConnectionProperties } return nil } func (x *RouteAction_HashPolicy) GetQueryParameter() *RouteAction_HashPolicy_QueryParameter { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_QueryParameter_); ok { return x.QueryParameter } return nil } func (x *RouteAction_HashPolicy) GetFilterState() *RouteAction_HashPolicy_FilterState { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_FilterState_); ok { return x.FilterState } return nil } func (x *RouteAction_HashPolicy) GetTerminal() bool { if x != nil { return x.Terminal } return false } type isRouteAction_HashPolicy_PolicySpecifier interface { isRouteAction_HashPolicy_PolicySpecifier() } type RouteAction_HashPolicy_Header_ struct { // Header hash policy. Header *RouteAction_HashPolicy_Header `protobuf:"bytes,1,opt,name=header,proto3,oneof"` } type RouteAction_HashPolicy_Cookie_ struct { // Cookie hash policy. Cookie *RouteAction_HashPolicy_Cookie `protobuf:"bytes,2,opt,name=cookie,proto3,oneof"` } type RouteAction_HashPolicy_ConnectionProperties_ struct { // Connection properties hash policy. ConnectionProperties *RouteAction_HashPolicy_ConnectionProperties `protobuf:"bytes,3,opt,name=connection_properties,json=connectionProperties,proto3,oneof"` } type RouteAction_HashPolicy_QueryParameter_ struct { // Query parameter hash policy. QueryParameter *RouteAction_HashPolicy_QueryParameter `protobuf:"bytes,5,opt,name=query_parameter,json=queryParameter,proto3,oneof"` } type RouteAction_HashPolicy_FilterState_ struct { // Filter state hash policy. FilterState *RouteAction_HashPolicy_FilterState `protobuf:"bytes,6,opt,name=filter_state,json=filterState,proto3,oneof"` } func (*RouteAction_HashPolicy_Header_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_Cookie_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_ConnectionProperties_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_QueryParameter_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_FilterState_) isRouteAction_HashPolicy_PolicySpecifier() {} // Allows enabling and disabling upgrades on a per-route basis. // This overrides any enabled/disabled upgrade filter chain specified in the // HttpConnectionManager // :ref:`upgrade_configs // ` // but does not affect any custom filter chain specified there. type RouteAction_UpgradeConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The case-insensitive name of this upgrade, e.g. "websocket". // For each upgrade type present in upgrade_configs, requests with // Upgrade: [upgrade_type] will be proxied upstream. UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"` // Determines if upgrades are available on this route. Defaults to true. Enabled *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *RouteAction_UpgradeConfig) Reset() { *x = RouteAction_UpgradeConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_UpgradeConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_UpgradeConfig) ProtoMessage() {} func (x *RouteAction_UpgradeConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_UpgradeConfig.ProtoReflect.Descriptor instead. func (*RouteAction_UpgradeConfig) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 2} } func (x *RouteAction_UpgradeConfig) GetUpgradeType() string { if x != nil { return x.UpgradeType } return "" } func (x *RouteAction_UpgradeConfig) GetEnabled() *wrappers.BoolValue { if x != nil { return x.Enabled } return nil } type RouteAction_HashPolicy_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the request header that will be used to obtain the hash // key. If the request header is not present, no hash will be produced. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` } func (x *RouteAction_HashPolicy_Header) Reset() { *x = RouteAction_HashPolicy_Header{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_Header) ProtoMessage() {} func (x *RouteAction_HashPolicy_Header) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_Header.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_Header) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1, 0} } func (x *RouteAction_HashPolicy_Header) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } // Envoy supports two types of cookie affinity: // // 1. Passive. Envoy takes a cookie that's present in the cookies header and // hashes on its value. // // 2. Generated. Envoy generates and sets a cookie with an expiration (TTL) // on the first request from the client in its response to the client, // based on the endpoint the request gets sent to. The client then // presents this on the next and all subsequent requests. The hash of // this is sufficient to ensure these requests get sent to the same // endpoint. The cookie is generated by hashing the source and // destination ports and addresses so that multiple independent HTTP2 // streams on the same connection will independently receive the same // cookie, even if they arrive at the Envoy simultaneously. type RouteAction_HashPolicy_Cookie struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cookie that will be used to obtain the hash key. If the // cookie is not present and ttl below is not set, no hash will be // produced. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If specified, a cookie with the TTL will be generated if the cookie is // not present. If the TTL is present and zero, the generated cookie will // be a session cookie. Ttl *duration.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"` // The name of the path for the cookie. If no path is specified here, no path // will be set for the cookie. Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } func (x *RouteAction_HashPolicy_Cookie) Reset() { *x = RouteAction_HashPolicy_Cookie{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_Cookie) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_Cookie) ProtoMessage() {} func (x *RouteAction_HashPolicy_Cookie) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_Cookie.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_Cookie) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1, 1} } func (x *RouteAction_HashPolicy_Cookie) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteAction_HashPolicy_Cookie) GetTtl() *duration.Duration { if x != nil { return x.Ttl } return nil } func (x *RouteAction_HashPolicy_Cookie) GetPath() string { if x != nil { return x.Path } return "" } type RouteAction_HashPolicy_ConnectionProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Hash on source IP address. SourceIp bool `protobuf:"varint,1,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"` } func (x *RouteAction_HashPolicy_ConnectionProperties) Reset() { *x = RouteAction_HashPolicy_ConnectionProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_ConnectionProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_ConnectionProperties) ProtoMessage() {} func (x *RouteAction_HashPolicy_ConnectionProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_ConnectionProperties.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_ConnectionProperties) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1, 2} } func (x *RouteAction_HashPolicy_ConnectionProperties) GetSourceIp() bool { if x != nil { return x.SourceIp } return false } type RouteAction_HashPolicy_QueryParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the URL query parameter that will be used to obtain the hash // key. If the parameter is not present, no hash will be produced. Query // parameter names are case-sensitive. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *RouteAction_HashPolicy_QueryParameter) Reset() { *x = RouteAction_HashPolicy_QueryParameter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_QueryParameter) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_QueryParameter) ProtoMessage() {} func (x *RouteAction_HashPolicy_QueryParameter) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_QueryParameter.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_QueryParameter) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1, 3} } func (x *RouteAction_HashPolicy_QueryParameter) GetName() string { if x != nil { return x.Name } return "" } type RouteAction_HashPolicy_FilterState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the Object in the per-request filterState, which is an // Envoy::Hashable object. If there is no data associated with the key, // or the stored object is not Envoy::Hashable, no hash will be produced. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *RouteAction_HashPolicy_FilterState) Reset() { *x = RouteAction_HashPolicy_FilterState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_FilterState) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_FilterState) ProtoMessage() {} func (x *RouteAction_HashPolicy_FilterState) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_FilterState.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_FilterState) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{6, 1, 4} } func (x *RouteAction_HashPolicy_FilterState) GetKey() string { if x != nil { return x.Key } return "" } type RetryPolicy_RetryPriority struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *RetryPolicy_RetryPriority_Config // *RetryPolicy_RetryPriority_TypedConfig ConfigType isRetryPolicy_RetryPriority_ConfigType `protobuf_oneof:"config_type"` } func (x *RetryPolicy_RetryPriority) Reset() { *x = RetryPolicy_RetryPriority{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryPriority) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryPriority) ProtoMessage() {} func (x *RetryPolicy_RetryPriority) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryPriority.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryPriority) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{7, 0} } func (x *RetryPolicy_RetryPriority) GetName() string { if x != nil { return x.Name } return "" } func (m *RetryPolicy_RetryPriority) GetConfigType() isRetryPolicy_RetryPriority_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *RetryPolicy_RetryPriority) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*RetryPolicy_RetryPriority_Config); ok { return x.Config } return nil } func (x *RetryPolicy_RetryPriority) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*RetryPolicy_RetryPriority_TypedConfig); ok { return x.TypedConfig } return nil } type isRetryPolicy_RetryPriority_ConfigType interface { isRetryPolicy_RetryPriority_ConfigType() } type RetryPolicy_RetryPriority_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type RetryPolicy_RetryPriority_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*RetryPolicy_RetryPriority_Config) isRetryPolicy_RetryPriority_ConfigType() {} func (*RetryPolicy_RetryPriority_TypedConfig) isRetryPolicy_RetryPriority_ConfigType() {} type RetryPolicy_RetryHostPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *RetryPolicy_RetryHostPredicate_Config // *RetryPolicy_RetryHostPredicate_TypedConfig ConfigType isRetryPolicy_RetryHostPredicate_ConfigType `protobuf_oneof:"config_type"` } func (x *RetryPolicy_RetryHostPredicate) Reset() { *x = RetryPolicy_RetryHostPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryHostPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryHostPredicate) ProtoMessage() {} func (x *RetryPolicy_RetryHostPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryHostPredicate.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryHostPredicate) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{7, 1} } func (x *RetryPolicy_RetryHostPredicate) GetName() string { if x != nil { return x.Name } return "" } func (m *RetryPolicy_RetryHostPredicate) GetConfigType() isRetryPolicy_RetryHostPredicate_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. func (x *RetryPolicy_RetryHostPredicate) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*RetryPolicy_RetryHostPredicate_Config); ok { return x.Config } return nil } func (x *RetryPolicy_RetryHostPredicate) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*RetryPolicy_RetryHostPredicate_TypedConfig); ok { return x.TypedConfig } return nil } type isRetryPolicy_RetryHostPredicate_ConfigType interface { isRetryPolicy_RetryHostPredicate_ConfigType() } type RetryPolicy_RetryHostPredicate_Config struct { // Deprecated: Marked as deprecated in envoy/api/v2/route/route_components.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type RetryPolicy_RetryHostPredicate_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*RetryPolicy_RetryHostPredicate_Config) isRetryPolicy_RetryHostPredicate_ConfigType() {} func (*RetryPolicy_RetryHostPredicate_TypedConfig) isRetryPolicy_RetryHostPredicate_ConfigType() {} type RetryPolicy_RetryBackOff struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the base interval between retries. This parameter is required and must be greater // than zero. Values less than 1 ms are rounded up to 1 ms. // See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's // back-off algorithm. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between retries. This parameter is optional, but must be // greater than or equal to the `base_interval` if set. The default is 10 times the // `base_interval`. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion // of Envoy's back-off algorithm. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *RetryPolicy_RetryBackOff) Reset() { *x = RetryPolicy_RetryBackOff{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryBackOff) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryBackOff) ProtoMessage() {} func (x *RetryPolicy_RetryBackOff) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryBackOff.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryBackOff) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{7, 2} } func (x *RetryPolicy_RetryBackOff) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *RetryPolicy_RetryBackOff) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } // [#next-free-field: 7] type RateLimit_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ActionSpecifier: // // *RateLimit_Action_SourceCluster_ // *RateLimit_Action_DestinationCluster_ // *RateLimit_Action_RequestHeaders_ // *RateLimit_Action_RemoteAddress_ // *RateLimit_Action_GenericKey_ // *RateLimit_Action_HeaderValueMatch_ ActionSpecifier isRateLimit_Action_ActionSpecifier `protobuf_oneof:"action_specifier"` } func (x *RateLimit_Action) Reset() { *x = RateLimit_Action{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action) ProtoMessage() {} func (x *RateLimit_Action) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action.ProtoReflect.Descriptor instead. func (*RateLimit_Action) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0} } func (m *RateLimit_Action) GetActionSpecifier() isRateLimit_Action_ActionSpecifier { if m != nil { return m.ActionSpecifier } return nil } func (x *RateLimit_Action) GetSourceCluster() *RateLimit_Action_SourceCluster { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_SourceCluster_); ok { return x.SourceCluster } return nil } func (x *RateLimit_Action) GetDestinationCluster() *RateLimit_Action_DestinationCluster { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_DestinationCluster_); ok { return x.DestinationCluster } return nil } func (x *RateLimit_Action) GetRequestHeaders() *RateLimit_Action_RequestHeaders { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_RequestHeaders_); ok { return x.RequestHeaders } return nil } func (x *RateLimit_Action) GetRemoteAddress() *RateLimit_Action_RemoteAddress { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_RemoteAddress_); ok { return x.RemoteAddress } return nil } func (x *RateLimit_Action) GetGenericKey() *RateLimit_Action_GenericKey { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_GenericKey_); ok { return x.GenericKey } return nil } func (x *RateLimit_Action) GetHeaderValueMatch() *RateLimit_Action_HeaderValueMatch { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_HeaderValueMatch_); ok { return x.HeaderValueMatch } return nil } type isRateLimit_Action_ActionSpecifier interface { isRateLimit_Action_ActionSpecifier() } type RateLimit_Action_SourceCluster_ struct { // Rate limit on source cluster. SourceCluster *RateLimit_Action_SourceCluster `protobuf:"bytes,1,opt,name=source_cluster,json=sourceCluster,proto3,oneof"` } type RateLimit_Action_DestinationCluster_ struct { // Rate limit on destination cluster. DestinationCluster *RateLimit_Action_DestinationCluster `protobuf:"bytes,2,opt,name=destination_cluster,json=destinationCluster,proto3,oneof"` } type RateLimit_Action_RequestHeaders_ struct { // Rate limit on request headers. RequestHeaders *RateLimit_Action_RequestHeaders `protobuf:"bytes,3,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type RateLimit_Action_RemoteAddress_ struct { // Rate limit on remote address. RemoteAddress *RateLimit_Action_RemoteAddress `protobuf:"bytes,4,opt,name=remote_address,json=remoteAddress,proto3,oneof"` } type RateLimit_Action_GenericKey_ struct { // Rate limit on a generic key. GenericKey *RateLimit_Action_GenericKey `protobuf:"bytes,5,opt,name=generic_key,json=genericKey,proto3,oneof"` } type RateLimit_Action_HeaderValueMatch_ struct { // Rate limit on the existence of request headers. HeaderValueMatch *RateLimit_Action_HeaderValueMatch `protobuf:"bytes,6,opt,name=header_value_match,json=headerValueMatch,proto3,oneof"` } func (*RateLimit_Action_SourceCluster_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_DestinationCluster_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_RequestHeaders_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_RemoteAddress_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_GenericKey_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_HeaderValueMatch_) isRateLimit_Action_ActionSpecifier() {} // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("source_cluster", "") // // is derived from the :option:`--service-cluster` option. type RateLimit_Action_SourceCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_SourceCluster) Reset() { *x = RateLimit_Action_SourceCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_SourceCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_SourceCluster) ProtoMessage() {} func (x *RateLimit_Action_SourceCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_SourceCluster.ProtoReflect.Descriptor instead. func (*RateLimit_Action_SourceCluster) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 0} } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("destination_cluster", "") // // Once a request matches against a route table rule, a routed cluster is determined by one of // the following :ref:`route table configuration ` // settings: // // - :ref:`cluster ` indicates the upstream cluster // to route to. // - :ref:`weighted_clusters ` // chooses a cluster randomly from a set of clusters with attributed weight. // - :ref:`cluster_header ` indicates which // header in the request contains the target cluster. type RateLimit_Action_DestinationCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_DestinationCluster) Reset() { *x = RateLimit_Action_DestinationCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_DestinationCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_DestinationCluster) ProtoMessage() {} func (x *RateLimit_Action_DestinationCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_DestinationCluster.ProtoReflect.Descriptor instead. func (*RateLimit_Action_DestinationCluster) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 1} } // The following descriptor entry is appended when a header contains a key that matches the // *header_name*: // // .. code-block:: cpp // // ("", "") type RateLimit_Action_RequestHeaders struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header name to be queried from the request headers. The header’s // value is used to populate the value of the descriptor entry for the // descriptor_key. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` } func (x *RateLimit_Action_RequestHeaders) Reset() { *x = RateLimit_Action_RequestHeaders{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_RequestHeaders) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_RequestHeaders) ProtoMessage() {} func (x *RateLimit_Action_RequestHeaders) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_RequestHeaders.ProtoReflect.Descriptor instead. func (*RateLimit_Action_RequestHeaders) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 2} } func (x *RateLimit_Action_RequestHeaders) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *RateLimit_Action_RequestHeaders) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } // The following descriptor entry is appended to the descriptor and is populated using the // trusted address from :ref:`x-forwarded-for `: // // .. code-block:: cpp // // ("remote_address", "") type RateLimit_Action_RemoteAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_RemoteAddress) Reset() { *x = RateLimit_Action_RemoteAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_RemoteAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_RemoteAddress) ProtoMessage() {} func (x *RateLimit_Action_RemoteAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_RemoteAddress.ProtoReflect.Descriptor instead. func (*RateLimit_Action_RemoteAddress) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 3} } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("generic_key", "") type RateLimit_Action_GenericKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` } func (x *RateLimit_Action_GenericKey) Reset() { *x = RateLimit_Action_GenericKey{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_GenericKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_GenericKey) ProtoMessage() {} func (x *RateLimit_Action_GenericKey) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_GenericKey.ProtoReflect.Descriptor instead. func (*RateLimit_Action_GenericKey) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 4} } func (x *RateLimit_Action_GenericKey) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("header_match", "") type RateLimit_Action_HeaderValueMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // If set to true, the action will append a descriptor entry when the // request matches the headers. If set to false, the action will append a // descriptor entry when the request does not match the headers. The // default value is true. ExpectMatch *wrappers.BoolValue `protobuf:"bytes,2,opt,name=expect_match,json=expectMatch,proto3" json:"expect_match,omitempty"` // Specifies a set of headers that the rate limit action should match // on. The action will check the request’s headers against all the // specified headers in the config. A match will happen if all the // headers in the config are present in the request with the same values // (or based on presence if the value field is not in the config). Headers []*HeaderMatcher `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RateLimit_Action_HeaderValueMatch) Reset() { *x = RateLimit_Action_HeaderValueMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_HeaderValueMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_HeaderValueMatch) ProtoMessage() {} func (x *RateLimit_Action_HeaderValueMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_route_route_components_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_HeaderValueMatch.ProtoReflect.Descriptor instead. func (*RateLimit_Action_HeaderValueMatch) Descriptor() ([]byte, []int) { return file_envoy_api_v2_route_route_components_proto_rawDescGZIP(), []int{14, 0, 5} } func (x *RateLimit_Action_HeaderValueMatch) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimit_Action_HeaderValueMatch) GetExpectMatch() *wrappers.BoolValue { if x != nil { return x.ExpectMatch } return nil } func (x *RateLimit_Action_HeaderValueMatch) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } var File_envoy_api_v2_route_route_components_proto protoreflect.FileDescriptor var file_envoy_api_v2_route_route_components_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x0d, 0x0a, 0x0b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x64, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x21, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x0c, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x68, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x60, 0x0a, 0x1e, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x12, 0x54, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0x3c, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x0a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x1e, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x90, 0x09, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0xab, 0x07, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x64, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x76, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x82, 0x01, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5b, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0xc8, 0x06, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x12, 0x56, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x17, 0x0a, 0x15, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x16, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x0e, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0xaa, 0x05, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x3d, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0f, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x18, 0x01, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x5c, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xfb, 0x1b, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x1f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x15, 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x01, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6b, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x47, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x70, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x68, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xfc, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x1a, 0xc6, 0x06, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x76, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x66, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x33, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x1a, 0x2d, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x28, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x17, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x75, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x45, 0x0a, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x22, 0x5a, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x4a, 0x04, 0x08, 0x10, 0x10, 0x11, 0x4a, 0x04, 0x08, 0x16, 0x10, 0x17, 0x4a, 0x04, 0x08, 0x15, 0x10, 0x16, 0x22, 0xf3, 0x09, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x6e, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x64, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xad, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xb2, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xa2, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x4a, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x50, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x59, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x18, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x65, 0x64, 0x67, 0x65, 0x4f, 0x6e, 0x50, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xdd, 0x04, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x77, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x42, 0x1a, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x6d, 0x0a, 0x14, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x10, 0xd8, 0x04, 0x28, 0x64, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x6c, 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xd3, 0x09, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x9d, 0x08, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6a, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x65, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x70, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x1a, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x40, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xcc, 0x01, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x45, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x17, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xdf, 0x03, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x10, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xaf, 0x02, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x50, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x9a, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x17, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_route_route_components_proto_rawDescOnce sync.Once file_envoy_api_v2_route_route_components_proto_rawDescData = file_envoy_api_v2_route_route_components_proto_rawDesc ) func file_envoy_api_v2_route_route_components_proto_rawDescGZIP() []byte { file_envoy_api_v2_route_route_components_proto_rawDescOnce.Do(func() { file_envoy_api_v2_route_route_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_route_route_components_proto_rawDescData) }) return file_envoy_api_v2_route_route_components_proto_rawDescData } var file_envoy_api_v2_route_route_components_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_api_v2_route_route_components_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_envoy_api_v2_route_route_components_proto_goTypes = []interface{}{ (VirtualHost_TlsRequirementType)(0), // 0: envoy.api.v2.route.VirtualHost.TlsRequirementType (RouteAction_ClusterNotFoundResponseCode)(0), // 1: envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode (RouteAction_InternalRedirectAction)(0), // 2: envoy.api.v2.route.RouteAction.InternalRedirectAction (RedirectAction_RedirectResponseCode)(0), // 3: envoy.api.v2.route.RedirectAction.RedirectResponseCode (*VirtualHost)(nil), // 4: envoy.api.v2.route.VirtualHost (*FilterAction)(nil), // 5: envoy.api.v2.route.FilterAction (*Route)(nil), // 6: envoy.api.v2.route.Route (*WeightedCluster)(nil), // 7: envoy.api.v2.route.WeightedCluster (*RouteMatch)(nil), // 8: envoy.api.v2.route.RouteMatch (*CorsPolicy)(nil), // 9: envoy.api.v2.route.CorsPolicy (*RouteAction)(nil), // 10: envoy.api.v2.route.RouteAction (*RetryPolicy)(nil), // 11: envoy.api.v2.route.RetryPolicy (*HedgePolicy)(nil), // 12: envoy.api.v2.route.HedgePolicy (*RedirectAction)(nil), // 13: envoy.api.v2.route.RedirectAction (*DirectResponseAction)(nil), // 14: envoy.api.v2.route.DirectResponseAction (*Decorator)(nil), // 15: envoy.api.v2.route.Decorator (*Tracing)(nil), // 16: envoy.api.v2.route.Tracing (*VirtualCluster)(nil), // 17: envoy.api.v2.route.VirtualCluster (*RateLimit)(nil), // 18: envoy.api.v2.route.RateLimit (*HeaderMatcher)(nil), // 19: envoy.api.v2.route.HeaderMatcher (*QueryParameterMatcher)(nil), // 20: envoy.api.v2.route.QueryParameterMatcher nil, // 21: envoy.api.v2.route.VirtualHost.PerFilterConfigEntry nil, // 22: envoy.api.v2.route.VirtualHost.TypedPerFilterConfigEntry nil, // 23: envoy.api.v2.route.Route.PerFilterConfigEntry nil, // 24: envoy.api.v2.route.Route.TypedPerFilterConfigEntry (*WeightedCluster_ClusterWeight)(nil), // 25: envoy.api.v2.route.WeightedCluster.ClusterWeight nil, // 26: envoy.api.v2.route.WeightedCluster.ClusterWeight.PerFilterConfigEntry nil, // 27: envoy.api.v2.route.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry (*RouteMatch_GrpcRouteMatchOptions)(nil), // 28: envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions (*RouteMatch_TlsContextMatchOptions)(nil), // 29: envoy.api.v2.route.RouteMatch.TlsContextMatchOptions (*RouteAction_RequestMirrorPolicy)(nil), // 30: envoy.api.v2.route.RouteAction.RequestMirrorPolicy (*RouteAction_HashPolicy)(nil), // 31: envoy.api.v2.route.RouteAction.HashPolicy (*RouteAction_UpgradeConfig)(nil), // 32: envoy.api.v2.route.RouteAction.UpgradeConfig (*RouteAction_HashPolicy_Header)(nil), // 33: envoy.api.v2.route.RouteAction.HashPolicy.Header (*RouteAction_HashPolicy_Cookie)(nil), // 34: envoy.api.v2.route.RouteAction.HashPolicy.Cookie (*RouteAction_HashPolicy_ConnectionProperties)(nil), // 35: envoy.api.v2.route.RouteAction.HashPolicy.ConnectionProperties (*RouteAction_HashPolicy_QueryParameter)(nil), // 36: envoy.api.v2.route.RouteAction.HashPolicy.QueryParameter (*RouteAction_HashPolicy_FilterState)(nil), // 37: envoy.api.v2.route.RouteAction.HashPolicy.FilterState (*RetryPolicy_RetryPriority)(nil), // 38: envoy.api.v2.route.RetryPolicy.RetryPriority (*RetryPolicy_RetryHostPredicate)(nil), // 39: envoy.api.v2.route.RetryPolicy.RetryHostPredicate (*RetryPolicy_RetryBackOff)(nil), // 40: envoy.api.v2.route.RetryPolicy.RetryBackOff (*RateLimit_Action)(nil), // 41: envoy.api.v2.route.RateLimit.Action (*RateLimit_Action_SourceCluster)(nil), // 42: envoy.api.v2.route.RateLimit.Action.SourceCluster (*RateLimit_Action_DestinationCluster)(nil), // 43: envoy.api.v2.route.RateLimit.Action.DestinationCluster (*RateLimit_Action_RequestHeaders)(nil), // 44: envoy.api.v2.route.RateLimit.Action.RequestHeaders (*RateLimit_Action_RemoteAddress)(nil), // 45: envoy.api.v2.route.RateLimit.Action.RemoteAddress (*RateLimit_Action_GenericKey)(nil), // 46: envoy.api.v2.route.RateLimit.Action.GenericKey (*RateLimit_Action_HeaderValueMatch)(nil), // 47: envoy.api.v2.route.RateLimit.Action.HeaderValueMatch (*core.HeaderValueOption)(nil), // 48: envoy.api.v2.core.HeaderValueOption (*any1.Any)(nil), // 49: google.protobuf.Any (*wrappers.UInt32Value)(nil), // 50: google.protobuf.UInt32Value (*core.Metadata)(nil), // 51: envoy.api.v2.core.Metadata (*matcher.RegexMatcher)(nil), // 52: envoy.type.matcher.RegexMatcher (*wrappers.BoolValue)(nil), // 53: google.protobuf.BoolValue (*core.RuntimeFractionalPercent)(nil), // 54: envoy.api.v2.core.RuntimeFractionalPercent (*matcher.StringMatcher)(nil), // 55: envoy.type.matcher.StringMatcher (*matcher.RegexMatchAndSubstitute)(nil), // 56: envoy.type.matcher.RegexMatchAndSubstitute (*duration.Duration)(nil), // 57: google.protobuf.Duration (core.RoutingPriority)(0), // 58: envoy.api.v2.core.RoutingPriority (*_type.FractionalPercent)(nil), // 59: envoy.type.FractionalPercent (*core.DataSource)(nil), // 60: envoy.api.v2.core.DataSource (*v2.CustomTag)(nil), // 61: envoy.type.tracing.v2.CustomTag (core.RequestMethod)(0), // 62: envoy.api.v2.core.RequestMethod (*_type.Int64Range)(nil), // 63: envoy.type.Int64Range (*_struct.Struct)(nil), // 64: google.protobuf.Struct } var file_envoy_api_v2_route_route_components_proto_depIdxs = []int32{ 6, // 0: envoy.api.v2.route.VirtualHost.routes:type_name -> envoy.api.v2.route.Route 0, // 1: envoy.api.v2.route.VirtualHost.require_tls:type_name -> envoy.api.v2.route.VirtualHost.TlsRequirementType 17, // 2: envoy.api.v2.route.VirtualHost.virtual_clusters:type_name -> envoy.api.v2.route.VirtualCluster 18, // 3: envoy.api.v2.route.VirtualHost.rate_limits:type_name -> envoy.api.v2.route.RateLimit 48, // 4: envoy.api.v2.route.VirtualHost.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 48, // 5: envoy.api.v2.route.VirtualHost.response_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 9, // 6: envoy.api.v2.route.VirtualHost.cors:type_name -> envoy.api.v2.route.CorsPolicy 21, // 7: envoy.api.v2.route.VirtualHost.per_filter_config:type_name -> envoy.api.v2.route.VirtualHost.PerFilterConfigEntry 22, // 8: envoy.api.v2.route.VirtualHost.typed_per_filter_config:type_name -> envoy.api.v2.route.VirtualHost.TypedPerFilterConfigEntry 11, // 9: envoy.api.v2.route.VirtualHost.retry_policy:type_name -> envoy.api.v2.route.RetryPolicy 49, // 10: envoy.api.v2.route.VirtualHost.retry_policy_typed_config:type_name -> google.protobuf.Any 12, // 11: envoy.api.v2.route.VirtualHost.hedge_policy:type_name -> envoy.api.v2.route.HedgePolicy 50, // 12: envoy.api.v2.route.VirtualHost.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 49, // 13: envoy.api.v2.route.FilterAction.action:type_name -> google.protobuf.Any 8, // 14: envoy.api.v2.route.Route.match:type_name -> envoy.api.v2.route.RouteMatch 10, // 15: envoy.api.v2.route.Route.route:type_name -> envoy.api.v2.route.RouteAction 13, // 16: envoy.api.v2.route.Route.redirect:type_name -> envoy.api.v2.route.RedirectAction 14, // 17: envoy.api.v2.route.Route.direct_response:type_name -> envoy.api.v2.route.DirectResponseAction 5, // 18: envoy.api.v2.route.Route.filter_action:type_name -> envoy.api.v2.route.FilterAction 51, // 19: envoy.api.v2.route.Route.metadata:type_name -> envoy.api.v2.core.Metadata 15, // 20: envoy.api.v2.route.Route.decorator:type_name -> envoy.api.v2.route.Decorator 23, // 21: envoy.api.v2.route.Route.per_filter_config:type_name -> envoy.api.v2.route.Route.PerFilterConfigEntry 24, // 22: envoy.api.v2.route.Route.typed_per_filter_config:type_name -> envoy.api.v2.route.Route.TypedPerFilterConfigEntry 48, // 23: envoy.api.v2.route.Route.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 48, // 24: envoy.api.v2.route.Route.response_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 16, // 25: envoy.api.v2.route.Route.tracing:type_name -> envoy.api.v2.route.Tracing 50, // 26: envoy.api.v2.route.Route.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 25, // 27: envoy.api.v2.route.WeightedCluster.clusters:type_name -> envoy.api.v2.route.WeightedCluster.ClusterWeight 50, // 28: envoy.api.v2.route.WeightedCluster.total_weight:type_name -> google.protobuf.UInt32Value 52, // 29: envoy.api.v2.route.RouteMatch.safe_regex:type_name -> envoy.type.matcher.RegexMatcher 53, // 30: envoy.api.v2.route.RouteMatch.case_sensitive:type_name -> google.protobuf.BoolValue 54, // 31: envoy.api.v2.route.RouteMatch.runtime_fraction:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 19, // 32: envoy.api.v2.route.RouteMatch.headers:type_name -> envoy.api.v2.route.HeaderMatcher 20, // 33: envoy.api.v2.route.RouteMatch.query_parameters:type_name -> envoy.api.v2.route.QueryParameterMatcher 28, // 34: envoy.api.v2.route.RouteMatch.grpc:type_name -> envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions 29, // 35: envoy.api.v2.route.RouteMatch.tls_context:type_name -> envoy.api.v2.route.RouteMatch.TlsContextMatchOptions 55, // 36: envoy.api.v2.route.CorsPolicy.allow_origin_string_match:type_name -> envoy.type.matcher.StringMatcher 53, // 37: envoy.api.v2.route.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue 53, // 38: envoy.api.v2.route.CorsPolicy.enabled:type_name -> google.protobuf.BoolValue 54, // 39: envoy.api.v2.route.CorsPolicy.filter_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 54, // 40: envoy.api.v2.route.CorsPolicy.shadow_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 7, // 41: envoy.api.v2.route.RouteAction.weighted_clusters:type_name -> envoy.api.v2.route.WeightedCluster 1, // 42: envoy.api.v2.route.RouteAction.cluster_not_found_response_code:type_name -> envoy.api.v2.route.RouteAction.ClusterNotFoundResponseCode 51, // 43: envoy.api.v2.route.RouteAction.metadata_match:type_name -> envoy.api.v2.core.Metadata 56, // 44: envoy.api.v2.route.RouteAction.regex_rewrite:type_name -> envoy.type.matcher.RegexMatchAndSubstitute 53, // 45: envoy.api.v2.route.RouteAction.auto_host_rewrite:type_name -> google.protobuf.BoolValue 57, // 46: envoy.api.v2.route.RouteAction.timeout:type_name -> google.protobuf.Duration 57, // 47: envoy.api.v2.route.RouteAction.idle_timeout:type_name -> google.protobuf.Duration 11, // 48: envoy.api.v2.route.RouteAction.retry_policy:type_name -> envoy.api.v2.route.RetryPolicy 49, // 49: envoy.api.v2.route.RouteAction.retry_policy_typed_config:type_name -> google.protobuf.Any 30, // 50: envoy.api.v2.route.RouteAction.request_mirror_policy:type_name -> envoy.api.v2.route.RouteAction.RequestMirrorPolicy 30, // 51: envoy.api.v2.route.RouteAction.request_mirror_policies:type_name -> envoy.api.v2.route.RouteAction.RequestMirrorPolicy 58, // 52: envoy.api.v2.route.RouteAction.priority:type_name -> envoy.api.v2.core.RoutingPriority 18, // 53: envoy.api.v2.route.RouteAction.rate_limits:type_name -> envoy.api.v2.route.RateLimit 53, // 54: envoy.api.v2.route.RouteAction.include_vh_rate_limits:type_name -> google.protobuf.BoolValue 31, // 55: envoy.api.v2.route.RouteAction.hash_policy:type_name -> envoy.api.v2.route.RouteAction.HashPolicy 9, // 56: envoy.api.v2.route.RouteAction.cors:type_name -> envoy.api.v2.route.CorsPolicy 57, // 57: envoy.api.v2.route.RouteAction.max_grpc_timeout:type_name -> google.protobuf.Duration 57, // 58: envoy.api.v2.route.RouteAction.grpc_timeout_offset:type_name -> google.protobuf.Duration 32, // 59: envoy.api.v2.route.RouteAction.upgrade_configs:type_name -> envoy.api.v2.route.RouteAction.UpgradeConfig 2, // 60: envoy.api.v2.route.RouteAction.internal_redirect_action:type_name -> envoy.api.v2.route.RouteAction.InternalRedirectAction 50, // 61: envoy.api.v2.route.RouteAction.max_internal_redirects:type_name -> google.protobuf.UInt32Value 12, // 62: envoy.api.v2.route.RouteAction.hedge_policy:type_name -> envoy.api.v2.route.HedgePolicy 50, // 63: envoy.api.v2.route.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value 57, // 64: envoy.api.v2.route.RetryPolicy.per_try_timeout:type_name -> google.protobuf.Duration 38, // 65: envoy.api.v2.route.RetryPolicy.retry_priority:type_name -> envoy.api.v2.route.RetryPolicy.RetryPriority 39, // 66: envoy.api.v2.route.RetryPolicy.retry_host_predicate:type_name -> envoy.api.v2.route.RetryPolicy.RetryHostPredicate 40, // 67: envoy.api.v2.route.RetryPolicy.retry_back_off:type_name -> envoy.api.v2.route.RetryPolicy.RetryBackOff 19, // 68: envoy.api.v2.route.RetryPolicy.retriable_headers:type_name -> envoy.api.v2.route.HeaderMatcher 19, // 69: envoy.api.v2.route.RetryPolicy.retriable_request_headers:type_name -> envoy.api.v2.route.HeaderMatcher 50, // 70: envoy.api.v2.route.HedgePolicy.initial_requests:type_name -> google.protobuf.UInt32Value 59, // 71: envoy.api.v2.route.HedgePolicy.additional_request_chance:type_name -> envoy.type.FractionalPercent 3, // 72: envoy.api.v2.route.RedirectAction.response_code:type_name -> envoy.api.v2.route.RedirectAction.RedirectResponseCode 60, // 73: envoy.api.v2.route.DirectResponseAction.body:type_name -> envoy.api.v2.core.DataSource 53, // 74: envoy.api.v2.route.Decorator.propagate:type_name -> google.protobuf.BoolValue 59, // 75: envoy.api.v2.route.Tracing.client_sampling:type_name -> envoy.type.FractionalPercent 59, // 76: envoy.api.v2.route.Tracing.random_sampling:type_name -> envoy.type.FractionalPercent 59, // 77: envoy.api.v2.route.Tracing.overall_sampling:type_name -> envoy.type.FractionalPercent 61, // 78: envoy.api.v2.route.Tracing.custom_tags:type_name -> envoy.type.tracing.v2.CustomTag 19, // 79: envoy.api.v2.route.VirtualCluster.headers:type_name -> envoy.api.v2.route.HeaderMatcher 62, // 80: envoy.api.v2.route.VirtualCluster.method:type_name -> envoy.api.v2.core.RequestMethod 50, // 81: envoy.api.v2.route.RateLimit.stage:type_name -> google.protobuf.UInt32Value 41, // 82: envoy.api.v2.route.RateLimit.actions:type_name -> envoy.api.v2.route.RateLimit.Action 52, // 83: envoy.api.v2.route.HeaderMatcher.safe_regex_match:type_name -> envoy.type.matcher.RegexMatcher 63, // 84: envoy.api.v2.route.HeaderMatcher.range_match:type_name -> envoy.type.Int64Range 53, // 85: envoy.api.v2.route.QueryParameterMatcher.regex:type_name -> google.protobuf.BoolValue 55, // 86: envoy.api.v2.route.QueryParameterMatcher.string_match:type_name -> envoy.type.matcher.StringMatcher 64, // 87: envoy.api.v2.route.VirtualHost.PerFilterConfigEntry.value:type_name -> google.protobuf.Struct 49, // 88: envoy.api.v2.route.VirtualHost.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 64, // 89: envoy.api.v2.route.Route.PerFilterConfigEntry.value:type_name -> google.protobuf.Struct 49, // 90: envoy.api.v2.route.Route.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 50, // 91: envoy.api.v2.route.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value 51, // 92: envoy.api.v2.route.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.api.v2.core.Metadata 48, // 93: envoy.api.v2.route.WeightedCluster.ClusterWeight.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 48, // 94: envoy.api.v2.route.WeightedCluster.ClusterWeight.response_headers_to_add:type_name -> envoy.api.v2.core.HeaderValueOption 26, // 95: envoy.api.v2.route.WeightedCluster.ClusterWeight.per_filter_config:type_name -> envoy.api.v2.route.WeightedCluster.ClusterWeight.PerFilterConfigEntry 27, // 96: envoy.api.v2.route.WeightedCluster.ClusterWeight.typed_per_filter_config:type_name -> envoy.api.v2.route.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry 64, // 97: envoy.api.v2.route.WeightedCluster.ClusterWeight.PerFilterConfigEntry.value:type_name -> google.protobuf.Struct 49, // 98: envoy.api.v2.route.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 53, // 99: envoy.api.v2.route.RouteMatch.TlsContextMatchOptions.presented:type_name -> google.protobuf.BoolValue 53, // 100: envoy.api.v2.route.RouteMatch.TlsContextMatchOptions.validated:type_name -> google.protobuf.BoolValue 54, // 101: envoy.api.v2.route.RouteAction.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 53, // 102: envoy.api.v2.route.RouteAction.RequestMirrorPolicy.trace_sampled:type_name -> google.protobuf.BoolValue 33, // 103: envoy.api.v2.route.RouteAction.HashPolicy.header:type_name -> envoy.api.v2.route.RouteAction.HashPolicy.Header 34, // 104: envoy.api.v2.route.RouteAction.HashPolicy.cookie:type_name -> envoy.api.v2.route.RouteAction.HashPolicy.Cookie 35, // 105: envoy.api.v2.route.RouteAction.HashPolicy.connection_properties:type_name -> envoy.api.v2.route.RouteAction.HashPolicy.ConnectionProperties 36, // 106: envoy.api.v2.route.RouteAction.HashPolicy.query_parameter:type_name -> envoy.api.v2.route.RouteAction.HashPolicy.QueryParameter 37, // 107: envoy.api.v2.route.RouteAction.HashPolicy.filter_state:type_name -> envoy.api.v2.route.RouteAction.HashPolicy.FilterState 53, // 108: envoy.api.v2.route.RouteAction.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue 57, // 109: envoy.api.v2.route.RouteAction.HashPolicy.Cookie.ttl:type_name -> google.protobuf.Duration 64, // 110: envoy.api.v2.route.RetryPolicy.RetryPriority.config:type_name -> google.protobuf.Struct 49, // 111: envoy.api.v2.route.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any 64, // 112: envoy.api.v2.route.RetryPolicy.RetryHostPredicate.config:type_name -> google.protobuf.Struct 49, // 113: envoy.api.v2.route.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any 57, // 114: envoy.api.v2.route.RetryPolicy.RetryBackOff.base_interval:type_name -> google.protobuf.Duration 57, // 115: envoy.api.v2.route.RetryPolicy.RetryBackOff.max_interval:type_name -> google.protobuf.Duration 42, // 116: envoy.api.v2.route.RateLimit.Action.source_cluster:type_name -> envoy.api.v2.route.RateLimit.Action.SourceCluster 43, // 117: envoy.api.v2.route.RateLimit.Action.destination_cluster:type_name -> envoy.api.v2.route.RateLimit.Action.DestinationCluster 44, // 118: envoy.api.v2.route.RateLimit.Action.request_headers:type_name -> envoy.api.v2.route.RateLimit.Action.RequestHeaders 45, // 119: envoy.api.v2.route.RateLimit.Action.remote_address:type_name -> envoy.api.v2.route.RateLimit.Action.RemoteAddress 46, // 120: envoy.api.v2.route.RateLimit.Action.generic_key:type_name -> envoy.api.v2.route.RateLimit.Action.GenericKey 47, // 121: envoy.api.v2.route.RateLimit.Action.header_value_match:type_name -> envoy.api.v2.route.RateLimit.Action.HeaderValueMatch 53, // 122: envoy.api.v2.route.RateLimit.Action.HeaderValueMatch.expect_match:type_name -> google.protobuf.BoolValue 19, // 123: envoy.api.v2.route.RateLimit.Action.HeaderValueMatch.headers:type_name -> envoy.api.v2.route.HeaderMatcher 124, // [124:124] is the sub-list for method output_type 124, // [124:124] is the sub-list for method input_type 124, // [124:124] is the sub-list for extension type_name 124, // [124:124] is the sub-list for extension extendee 0, // [0:124] is the sub-list for field type_name } func init() { file_envoy_api_v2_route_route_components_proto_init() } func file_envoy_api_v2_route_route_components_proto_init() { if File_envoy_api_v2_route_route_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_route_route_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VirtualHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CorsPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HedgePolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedirectAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DirectResponseAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decorator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VirtualCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParameterMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch_GrpcRouteMatchOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch_TlsContextMatchOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_RequestMirrorPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_UpgradeConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_Cookie); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_ConnectionProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_QueryParameter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_FilterState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryPriority); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryHostPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryBackOff); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_SourceCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_DestinationCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_RequestHeaders); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_RemoteAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_GenericKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_route_route_components_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_HeaderValueMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_route_route_components_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Route_Route)(nil), (*Route_Redirect)(nil), (*Route_DirectResponse)(nil), (*Route_FilterAction)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[4].OneofWrappers = []interface{}{ (*RouteMatch_Prefix)(nil), (*RouteMatch_Path)(nil), (*RouteMatch_Regex)(nil), (*RouteMatch_SafeRegex)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[5].OneofWrappers = []interface{}{ (*CorsPolicy_Enabled)(nil), (*CorsPolicy_FilterEnabled)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[6].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_ClusterHeader)(nil), (*RouteAction_WeightedClusters)(nil), (*RouteAction_HostRewrite)(nil), (*RouteAction_AutoHostRewrite)(nil), (*RouteAction_AutoHostRewriteHeader)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[9].OneofWrappers = []interface{}{ (*RedirectAction_HttpsRedirect)(nil), (*RedirectAction_SchemeRedirect)(nil), (*RedirectAction_PathRedirect)(nil), (*RedirectAction_PrefixRewrite)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[15].OneofWrappers = []interface{}{ (*HeaderMatcher_ExactMatch)(nil), (*HeaderMatcher_RegexMatch)(nil), (*HeaderMatcher_SafeRegexMatch)(nil), (*HeaderMatcher_RangeMatch)(nil), (*HeaderMatcher_PresentMatch)(nil), (*HeaderMatcher_PrefixMatch)(nil), (*HeaderMatcher_SuffixMatch)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[16].OneofWrappers = []interface{}{ (*QueryParameterMatcher_StringMatch)(nil), (*QueryParameterMatcher_PresentMatch)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[27].OneofWrappers = []interface{}{ (*RouteAction_HashPolicy_Header_)(nil), (*RouteAction_HashPolicy_Cookie_)(nil), (*RouteAction_HashPolicy_ConnectionProperties_)(nil), (*RouteAction_HashPolicy_QueryParameter_)(nil), (*RouteAction_HashPolicy_FilterState_)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[34].OneofWrappers = []interface{}{ (*RetryPolicy_RetryPriority_Config)(nil), (*RetryPolicy_RetryPriority_TypedConfig)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[35].OneofWrappers = []interface{}{ (*RetryPolicy_RetryHostPredicate_Config)(nil), (*RetryPolicy_RetryHostPredicate_TypedConfig)(nil), } file_envoy_api_v2_route_route_components_proto_msgTypes[37].OneofWrappers = []interface{}{ (*RateLimit_Action_SourceCluster_)(nil), (*RateLimit_Action_DestinationCluster_)(nil), (*RateLimit_Action_RequestHeaders_)(nil), (*RateLimit_Action_RemoteAddress_)(nil), (*RateLimit_Action_GenericKey_)(nil), (*RateLimit_Action_HeaderValueMatch_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_route_route_components_proto_rawDesc, NumEnums: 4, NumMessages: 44, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_route_route_components_proto_goTypes, DependencyIndexes: file_envoy_api_v2_route_route_components_proto_depIdxs, EnumInfos: file_envoy_api_v2_route_route_components_proto_enumTypes, MessageInfos: file_envoy_api_v2_route_route_components_proto_msgTypes, }.Build() File_envoy_api_v2_route_route_components_proto = out.File file_envoy_api_v2_route_route_components_proto_rawDesc = nil file_envoy_api_v2_route_route_components_proto_goTypes = nil file_envoy_api_v2_route_route_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/route/route_components.pb.validate.go000077500000000000000000007313471454502223200265130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/route/route_components.proto package route import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.RoutingPriority(0) ) // Validate checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VirtualHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VirtualHostMultiError, or // nil if none found. func (m *VirtualHost) ValidateAll() error { return m.validate(true) } func (m *VirtualHost) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := VirtualHostValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetDomains()) < 1 { err := VirtualHostValidationError{ field: "Domains", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDomains() { _, _ = idx, item if !_VirtualHost_Domains_Pattern.MatchString(item) { err := VirtualHostValidationError{ field: fmt.Sprintf("Domains[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := VirtualHost_TlsRequirementType_name[int32(m.GetRequireTls())]; !ok { err := VirtualHostValidationError{ field: "RequireTls", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetVirtualClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := VirtualHostValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := VirtualHostValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetCors()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCors()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetPerFilterConfig())) i := 0 for key := range m.GetPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPerFilterConfig()[key] _ = val // no validation rules for PerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } // no validation rules for IncludeRequestAttemptCount // no validation rules for IncludeAttemptCountInResponse if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicyTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicyTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHedgePolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHedgePolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerRequestBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerRequestBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VirtualHostMultiError(errors) } return nil } // VirtualHostMultiError is an error wrapping multiple validation errors // returned by VirtualHost.ValidateAll() if the designated constraints aren't met. type VirtualHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VirtualHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VirtualHostMultiError) AllErrors() []error { return m } // VirtualHostValidationError is the validation error returned by // VirtualHost.Validate if the designated constraints aren't met. type VirtualHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VirtualHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VirtualHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VirtualHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VirtualHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VirtualHostValidationError) ErrorName() string { return "VirtualHostValidationError" } // Error satisfies the builtin error interface func (e VirtualHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVirtualHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VirtualHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VirtualHostValidationError{} var _VirtualHost_Domains_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on FilterAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterActionMultiError, or // nil if none found. func (m *FilterAction) ValidateAll() error { return m.validate(true) } func (m *FilterAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterActionMultiError(errors) } return nil } // FilterActionMultiError is an error wrapping multiple validation errors // returned by FilterAction.ValidateAll() if the designated constraints aren't met. type FilterActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterActionMultiError) AllErrors() []error { return m } // FilterActionValidationError is the validation error returned by // FilterAction.Validate if the designated constraints aren't met. type FilterActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterActionValidationError) ErrorName() string { return "FilterActionValidationError" } // Error satisfies the builtin error interface func (e FilterActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterActionValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDecorator()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDecorator()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetPerFilterConfig())) i := 0 for key := range m.GetPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPerFilterConfig()[key] _ = val // no validation rules for PerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := RouteValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := RouteValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerRequestBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerRequestBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } oneofActionPresent := false switch v := m.Action.(type) { case *Route_Route: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } case *Route_Redirect: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetRedirect()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirect()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, } } } case *Route_DirectResponse: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetDirectResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDirectResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, } } } case *Route_FilterAction: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetFilterAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionPresent { err := RouteValidationError{ field: "Action", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on WeightedCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // WeightedClusterMultiError, or nil if none found. func (m *WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetTotalWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := WeightedClusterValidationError{ field: "TotalWeight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } // no validation rules for RuntimeKeyPrefix if len(errors) > 0 { return WeightedClusterMultiError(errors) } return nil } // WeightedClusterMultiError is an error wrapping multiple validation errors // returned by WeightedCluster.ValidateAll() if the designated constraints // aren't met. type WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedClusterMultiError) AllErrors() []error { return m } // WeightedClusterValidationError is the validation error returned by // WeightedCluster.Validate if the designated constraints aren't met. type WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedClusterValidationError) ErrorName() string { return "WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedClusterValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCaseSensitive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCaseSensitive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetQueryParameters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, } } } oneofPathSpecifierPresent := false switch v := m.PathSpecifier.(type) { case *RouteMatch_Prefix: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true // no validation rules for Prefix case *RouteMatch_Path: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true // no validation rules for Path case *RouteMatch_Regex: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if len(m.GetRegex()) > 1024 { err := RouteMatchValidationError{ field: "Regex", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } case *RouteMatch_SafeRegex: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if m.GetSafeRegex() == nil { err := RouteMatchValidationError{ field: "SafeRegex", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPathSpecifierPresent { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on CorsPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CorsPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CorsPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CorsPolicyMultiError, or // nil if none found. func (m *CorsPolicy) ValidateAll() error { return m.validate(true) } func (m *CorsPolicy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAllowOriginRegex() { _, _ = idx, item if len(item) > 1024 { err := CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginRegex[%v]", idx), reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetAllowOriginStringMatch() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowMethods // no validation rules for AllowHeaders // no validation rules for ExposeHeaders // no validation rules for MaxAge if all { switch v := interface{}(m.GetAllowCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, } } } switch v := m.EnabledSpecifier.(type) { case *CorsPolicy_Enabled: if v == nil { err := CorsPolicyValidationError{ field: "EnabledSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } case *CorsPolicy_FilterEnabled: if v == nil { err := CorsPolicyValidationError{ field: "EnabledSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CorsPolicyMultiError(errors) } return nil } // CorsPolicyMultiError is an error wrapping multiple validation errors // returned by CorsPolicy.ValidateAll() if the designated constraints aren't met. type CorsPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CorsPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CorsPolicyMultiError) AllErrors() []error { return m } // CorsPolicyValidationError is the validation error returned by // CorsPolicy.Validate if the designated constraints aren't met. type CorsPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CorsPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CorsPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CorsPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CorsPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CorsPolicyValidationError) ErrorName() string { return "CorsPolicyValidationError" } // Error satisfies the builtin error interface func (e CorsPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCorsPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CorsPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CorsPolicyValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RouteAction_ClusterNotFoundResponseCode_name[int32(m.GetClusterNotFoundResponseCode())]; !ok { err := RouteActionValidationError{ field: "ClusterNotFoundResponseCode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if !_RouteAction_PrefixRewrite_Pattern.MatchString(m.GetPrefixRewrite()) { err := RouteActionValidationError{ field: "PrefixRewrite", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicyTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicyTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestMirrorPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RequestMirrorPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RequestMirrorPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestMirrorPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RequestMirrorPolicy", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRequestMirrorPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := core.RoutingPriority_name[int32(m.GetPriority())]; !ok { err := RouteActionValidationError{ field: "Priority", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetIncludeVhRateLimits()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIncludeVhRateLimits()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHashPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetCors()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCors()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxGrpcTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxGrpcTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcTimeoutOffset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcTimeoutOffset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetUpgradeConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for InternalRedirectAction if all { switch v := interface{}(m.GetMaxInternalRedirects()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxInternalRedirects()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHedgePolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHedgePolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if len(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *RouteAction_ClusterHeader: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if len(m.GetClusterHeader()) < 1 { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_ClusterHeader_Pattern.MatchString(m.GetClusterHeader()) { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } switch v := m.HostRewriteSpecifier.(type) { case *RouteAction_HostRewrite: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HostRewrite_Pattern.MatchString(m.GetHostRewrite()) { err := RouteActionValidationError{ field: "HostRewrite", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RouteAction_AutoHostRewrite: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAutoHostRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAutoHostRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_AutoHostRewriteHeader: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RouteAction_AutoHostRewriteHeader_Pattern.MatchString(m.GetAutoHostRewriteHeader()) { err := RouteActionValidationError{ field: "AutoHostRewriteHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} var _RouteAction_ClusterHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_PrefixRewrite_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_HostRewrite_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_AutoHostRewriteHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RetryPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RetryPolicyMultiError, or // nil if none found. func (m *RetryPolicy) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RetryOn if all { switch v := interface{}(m.GetNumRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNumRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerTryTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerTryTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPriority()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPriority()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRetryHostPredicate() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for HostSelectionRetryMaxAttempts if all { switch v := interface{}(m.GetRetryBackOff()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBackOff()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRetriableHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRetriableRequestHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RetryPolicyMultiError(errors) } return nil } // RetryPolicyMultiError is an error wrapping multiple validation errors // returned by RetryPolicy.ValidateAll() if the designated constraints aren't met. type RetryPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicyMultiError) AllErrors() []error { return m } // RetryPolicyValidationError is the validation error returned by // RetryPolicy.Validate if the designated constraints aren't met. type RetryPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicyValidationError) ErrorName() string { return "RetryPolicyValidationError" } // Error satisfies the builtin error interface func (e RetryPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicyValidationError{} // Validate checks the field values on HedgePolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HedgePolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HedgePolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HedgePolicyMultiError, or // nil if none found. func (m *HedgePolicy) ValidateAll() error { return m.validate(true) } func (m *HedgePolicy) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetInitialRequests(); wrapper != nil { if wrapper.GetValue() < 1 { err := HedgePolicyValidationError{ field: "InitialRequests", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetAdditionalRequestChance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdditionalRequestChance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HedgeOnPerTryTimeout if len(errors) > 0 { return HedgePolicyMultiError(errors) } return nil } // HedgePolicyMultiError is an error wrapping multiple validation errors // returned by HedgePolicy.ValidateAll() if the designated constraints aren't met. type HedgePolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HedgePolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HedgePolicyMultiError) AllErrors() []error { return m } // HedgePolicyValidationError is the validation error returned by // HedgePolicy.Validate if the designated constraints aren't met. type HedgePolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HedgePolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HedgePolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HedgePolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HedgePolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HedgePolicyValidationError) ErrorName() string { return "HedgePolicyValidationError" } // Error satisfies the builtin error interface func (e HedgePolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHedgePolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HedgePolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HedgePolicyValidationError{} // Validate checks the field values on RedirectAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedirectAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedirectAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RedirectActionMultiError, // or nil if none found. func (m *RedirectAction) ValidateAll() error { return m.validate(true) } func (m *RedirectAction) validate(all bool) error { if m == nil { return nil } var errors []error if !_RedirectAction_HostRedirect_Pattern.MatchString(m.GetHostRedirect()) { err := RedirectActionValidationError{ field: "HostRedirect", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for PortRedirect if _, ok := RedirectAction_RedirectResponseCode_name[int32(m.GetResponseCode())]; !ok { err := RedirectActionValidationError{ field: "ResponseCode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for StripQuery switch v := m.SchemeRewriteSpecifier.(type) { case *RedirectAction_HttpsRedirect: if v == nil { err := RedirectActionValidationError{ field: "SchemeRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for HttpsRedirect case *RedirectAction_SchemeRedirect: if v == nil { err := RedirectActionValidationError{ field: "SchemeRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for SchemeRedirect default: _ = v // ensures v is used } switch v := m.PathRewriteSpecifier.(type) { case *RedirectAction_PathRedirect: if v == nil { err := RedirectActionValidationError{ field: "PathRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RedirectAction_PathRedirect_Pattern.MatchString(m.GetPathRedirect()) { err := RedirectActionValidationError{ field: "PathRedirect", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RedirectAction_PrefixRewrite: if v == nil { err := RedirectActionValidationError{ field: "PathRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RedirectAction_PrefixRewrite_Pattern.MatchString(m.GetPrefixRewrite()) { err := RedirectActionValidationError{ field: "PrefixRewrite", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return RedirectActionMultiError(errors) } return nil } // RedirectActionMultiError is an error wrapping multiple validation errors // returned by RedirectAction.ValidateAll() if the designated constraints // aren't met. type RedirectActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedirectActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedirectActionMultiError) AllErrors() []error { return m } // RedirectActionValidationError is the validation error returned by // RedirectAction.Validate if the designated constraints aren't met. type RedirectActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedirectActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedirectActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedirectActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedirectActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedirectActionValidationError) ErrorName() string { return "RedirectActionValidationError" } // Error satisfies the builtin error interface func (e RedirectActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedirectAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedirectActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedirectActionValidationError{} var _RedirectAction_HostRedirect_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RedirectAction_PathRedirect_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RedirectAction_PrefixRewrite_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on DirectResponseAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DirectResponseAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DirectResponseAction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DirectResponseActionMultiError, or nil if none found. func (m *DirectResponseAction) ValidateAll() error { return m.validate(true) } func (m *DirectResponseAction) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetStatus(); val < 100 || val >= 600 { err := DirectResponseActionValidationError{ field: "Status", reason: "value must be inside range [100, 600)", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DirectResponseActionMultiError(errors) } return nil } // DirectResponseActionMultiError is an error wrapping multiple validation // errors returned by DirectResponseAction.ValidateAll() if the designated // constraints aren't met. type DirectResponseActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DirectResponseActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DirectResponseActionMultiError) AllErrors() []error { return m } // DirectResponseActionValidationError is the validation error returned by // DirectResponseAction.Validate if the designated constraints aren't met. type DirectResponseActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DirectResponseActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DirectResponseActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DirectResponseActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DirectResponseActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DirectResponseActionValidationError) ErrorName() string { return "DirectResponseActionValidationError" } // Error satisfies the builtin error interface func (e DirectResponseActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDirectResponseAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DirectResponseActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DirectResponseActionValidationError{} // Validate checks the field values on Decorator with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Decorator) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decorator with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DecoratorMultiError, or nil // if none found. func (m *Decorator) ValidateAll() error { return m.validate(true) } func (m *Decorator) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetOperation()) < 1 { err := DecoratorValidationError{ field: "Operation", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPropagate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPropagate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DecoratorMultiError(errors) } return nil } // DecoratorMultiError is an error wrapping multiple validation errors returned // by Decorator.ValidateAll() if the designated constraints aren't met. type DecoratorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DecoratorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DecoratorMultiError) AllErrors() []error { return m } // DecoratorValidationError is the validation error returned by // Decorator.Validate if the designated constraints aren't met. type DecoratorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DecoratorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DecoratorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DecoratorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DecoratorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DecoratorValidationError) ErrorName() string { return "DecoratorValidationError" } // Error satisfies the builtin error interface func (e DecoratorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecorator.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DecoratorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DecoratorValidationError{} // Validate checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TracingMultiError, or nil if none found. func (m *Tracing) ValidateAll() error { return m.validate(true) } func (m *Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetClientSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRandomSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRandomSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverallSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverallSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TracingMultiError(errors) } return nil } // TracingMultiError is an error wrapping multiple validation errors returned // by Tracing.ValidateAll() if the designated constraints aren't met. type TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TracingMultiError) AllErrors() []error { return m } // TracingValidationError is the validation error returned by Tracing.Validate // if the designated constraints aren't met. type TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TracingValidationError) ErrorName() string { return "TracingValidationError" } // Error satisfies the builtin error interface func (e TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TracingValidationError{} // Validate checks the field values on VirtualCluster with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VirtualCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VirtualCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VirtualClusterMultiError, // or nil if none found. func (m *VirtualCluster) ValidateAll() error { return m.validate(true) } func (m *VirtualCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPattern()) > 1024 { err := VirtualClusterValidationError{ field: "Pattern", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetName()) < 1 { err := VirtualClusterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for Method if len(errors) > 0 { return VirtualClusterMultiError(errors) } return nil } // VirtualClusterMultiError is an error wrapping multiple validation errors // returned by VirtualCluster.ValidateAll() if the designated constraints // aren't met. type VirtualClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VirtualClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VirtualClusterMultiError) AllErrors() []error { return m } // VirtualClusterValidationError is the validation error returned by // VirtualCluster.Validate if the designated constraints aren't met. type VirtualClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VirtualClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VirtualClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VirtualClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VirtualClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VirtualClusterValidationError) ErrorName() string { return "VirtualClusterValidationError" } // Error satisfies the builtin error interface func (e VirtualClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVirtualCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VirtualClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VirtualClusterValidationError{} // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetStage(); wrapper != nil { if wrapper.GetValue() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } } // no validation rules for DisableKey if len(m.GetActions()) < 1 { err := RateLimitValidationError{ field: "Actions", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} // Validate checks the field values on HeaderMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMatcherMultiError, or // nil if none found. func (m *HeaderMatcher) ValidateAll() error { return m.validate(true) } func (m *HeaderMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := HeaderMatcherValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_HeaderMatcher_Name_Pattern.MatchString(m.GetName()) { err := HeaderMatcherValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for InvertMatch switch v := m.HeaderMatchSpecifier.(type) { case *HeaderMatcher_ExactMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ExactMatch case *HeaderMatcher_RegexMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if len(m.GetRegexMatch()) > 1024 { err := HeaderMatcherValidationError{ field: "RegexMatch", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } case *HeaderMatcher_SafeRegexMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegexMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegexMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, } } } case *HeaderMatcher_RangeMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRangeMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRangeMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, } } } case *HeaderMatcher_PresentMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for PresentMatch case *HeaderMatcher_PrefixMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if len(m.GetPrefixMatch()) < 1 { err := HeaderMatcherValidationError{ field: "PrefixMatch", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *HeaderMatcher_SuffixMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if len(m.GetSuffixMatch()) < 1 { err := HeaderMatcherValidationError{ field: "SuffixMatch", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return HeaderMatcherMultiError(errors) } return nil } // HeaderMatcherMultiError is an error wrapping multiple validation errors // returned by HeaderMatcher.ValidateAll() if the designated constraints // aren't met. type HeaderMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMatcherMultiError) AllErrors() []error { return m } // HeaderMatcherValidationError is the validation error returned by // HeaderMatcher.Validate if the designated constraints aren't met. type HeaderMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMatcherValidationError) ErrorName() string { return "HeaderMatcherValidationError" } // Error satisfies the builtin error interface func (e HeaderMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMatcherValidationError{} var _HeaderMatcher_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on QueryParameterMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QueryParameterMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QueryParameterMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QueryParameterMatcherMultiError, or nil if none found. func (m *QueryParameterMatcher) ValidateAll() error { return m.validate(true) } func (m *QueryParameterMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if l := len(m.GetName()); l < 1 || l > 1024 { err := QueryParameterMatcherValidationError{ field: "Name", reason: "value length must be between 1 and 1024 bytes, inclusive", } if !all { return err } errors = append(errors, err) } // no validation rules for Value if all { switch v := interface{}(m.GetRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "Regex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "Regex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QueryParameterMatcherValidationError{ field: "Regex", reason: "embedded message failed validation", cause: err, } } } switch v := m.QueryParameterMatchSpecifier.(type) { case *QueryParameterMatcher_StringMatch: if v == nil { err := QueryParameterMatcherValidationError{ field: "QueryParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetStringMatch() == nil { err := QueryParameterMatcherValidationError{ field: "StringMatch", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } case *QueryParameterMatcher_PresentMatch: if v == nil { err := QueryParameterMatcherValidationError{ field: "QueryParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for PresentMatch default: _ = v // ensures v is used } if len(errors) > 0 { return QueryParameterMatcherMultiError(errors) } return nil } // QueryParameterMatcherMultiError is an error wrapping multiple validation // errors returned by QueryParameterMatcher.ValidateAll() if the designated // constraints aren't met. type QueryParameterMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QueryParameterMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QueryParameterMatcherMultiError) AllErrors() []error { return m } // QueryParameterMatcherValidationError is the validation error returned by // QueryParameterMatcher.Validate if the designated constraints aren't met. type QueryParameterMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QueryParameterMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QueryParameterMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QueryParameterMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QueryParameterMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QueryParameterMatcherValidationError) ErrorName() string { return "QueryParameterMatcherValidationError" } // Error satisfies the builtin error interface func (e QueryParameterMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQueryParameterMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QueryParameterMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QueryParameterMatcherValidationError{} // Validate checks the field values on WeightedCluster_ClusterWeight with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster_ClusterWeight with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := WeightedCluster_ClusterWeightValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetWeight()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeight()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := WeightedCluster_ClusterWeightValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := WeightedCluster_ClusterWeightValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } { sorted_keys := make([]string, len(m.GetPerFilterConfig())) i := 0 for key := range m.GetPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPerFilterConfig()[key] _ = val // no validation rules for PerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("PerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return WeightedCluster_ClusterWeightMultiError(errors) } return nil } // WeightedCluster_ClusterWeightMultiError is an error wrapping multiple // validation errors returned by WeightedCluster_ClusterWeight.ValidateAll() // if the designated constraints aren't met. type WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // WeightedCluster_ClusterWeightValidationError is the validation error // returned by WeightedCluster_ClusterWeight.Validate if the designated // constraints aren't met. type WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedCluster_ClusterWeightValidationError{} // Validate checks the field values on RouteMatch_GrpcRouteMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteMatch_GrpcRouteMatchOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch_GrpcRouteMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteMatch_GrpcRouteMatchOptionsMultiError, or nil if none found. func (m *RouteMatch_GrpcRouteMatchOptions) ValidateAll() error { return m.validate(true) } func (m *RouteMatch_GrpcRouteMatchOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouteMatch_GrpcRouteMatchOptionsMultiError(errors) } return nil } // RouteMatch_GrpcRouteMatchOptionsMultiError is an error wrapping multiple // validation errors returned by // RouteMatch_GrpcRouteMatchOptions.ValidateAll() if the designated // constraints aren't met. type RouteMatch_GrpcRouteMatchOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatch_GrpcRouteMatchOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatch_GrpcRouteMatchOptionsMultiError) AllErrors() []error { return m } // RouteMatch_GrpcRouteMatchOptionsValidationError is the validation error // returned by RouteMatch_GrpcRouteMatchOptions.Validate if the designated // constraints aren't met. type RouteMatch_GrpcRouteMatchOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) ErrorName() string { return "RouteMatch_GrpcRouteMatchOptionsValidationError" } // Error satisfies the builtin error interface func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch_GrpcRouteMatchOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatch_GrpcRouteMatchOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatch_GrpcRouteMatchOptionsValidationError{} // Validate checks the field values on RouteMatch_TlsContextMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteMatch_TlsContextMatchOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch_TlsContextMatchOptions // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteMatch_TlsContextMatchOptionsMultiError, or nil if none found. func (m *RouteMatch_TlsContextMatchOptions) ValidateAll() error { return m.validate(true) } func (m *RouteMatch_TlsContextMatchOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPresented()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPresented()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetValidated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMatch_TlsContextMatchOptionsMultiError(errors) } return nil } // RouteMatch_TlsContextMatchOptionsMultiError is an error wrapping multiple // validation errors returned by // RouteMatch_TlsContextMatchOptions.ValidateAll() if the designated // constraints aren't met. type RouteMatch_TlsContextMatchOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatch_TlsContextMatchOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatch_TlsContextMatchOptionsMultiError) AllErrors() []error { return m } // RouteMatch_TlsContextMatchOptionsValidationError is the validation error // returned by RouteMatch_TlsContextMatchOptions.Validate if the designated // constraints aren't met. type RouteMatch_TlsContextMatchOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatch_TlsContextMatchOptionsValidationError) ErrorName() string { return "RouteMatch_TlsContextMatchOptionsValidationError" } // Error satisfies the builtin error interface func (e RouteMatch_TlsContextMatchOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch_TlsContextMatchOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatch_TlsContextMatchOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatch_TlsContextMatchOptionsValidationError{} // Validate checks the field values on RouteAction_RequestMirrorPolicy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_RequestMirrorPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_RequestMirrorPolicy with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_RequestMirrorPolicyMultiError, or nil if none found. func (m *RouteAction_RequestMirrorPolicy) ValidateAll() error { return m.validate(true) } func (m *RouteAction_RequestMirrorPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCluster()) < 1 { err := RouteAction_RequestMirrorPolicyValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for RuntimeKey if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTraceSampled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceSampled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_RequestMirrorPolicyMultiError(errors) } return nil } // RouteAction_RequestMirrorPolicyMultiError is an error wrapping multiple // validation errors returned by RouteAction_RequestMirrorPolicy.ValidateAll() // if the designated constraints aren't met. type RouteAction_RequestMirrorPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_RequestMirrorPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_RequestMirrorPolicyMultiError) AllErrors() []error { return m } // RouteAction_RequestMirrorPolicyValidationError is the validation error // returned by RouteAction_RequestMirrorPolicy.Validate if the designated // constraints aren't met. type RouteAction_RequestMirrorPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_RequestMirrorPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_RequestMirrorPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_RequestMirrorPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_RequestMirrorPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_RequestMirrorPolicyValidationError) ErrorName() string { return "RouteAction_RequestMirrorPolicyValidationError" } // Error satisfies the builtin error interface func (e RouteAction_RequestMirrorPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_RequestMirrorPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_RequestMirrorPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_RequestMirrorPolicyValidationError{} // Validate checks the field values on RouteAction_HashPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicyMultiError, or nil if none found. func (m *RouteAction_HashPolicy) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Terminal oneofPolicySpecifierPresent := false switch v := m.PolicySpecifier.(type) { case *RouteAction_HashPolicy_Header_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_Cookie_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetCookie()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCookie()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_ConnectionProperties_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetConnectionProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_QueryParameter_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetQueryParameter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQueryParameter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_FilterState_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetFilterState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPolicySpecifierPresent { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicyMultiError(errors) } return nil } // RouteAction_HashPolicyMultiError is an error wrapping multiple validation // errors returned by RouteAction_HashPolicy.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicyMultiError) AllErrors() []error { return m } // RouteAction_HashPolicyValidationError is the validation error returned by // RouteAction_HashPolicy.Validate if the designated constraints aren't met. type RouteAction_HashPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicyValidationError) ErrorName() string { return "RouteAction_HashPolicyValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicyValidationError{} // Validate checks the field values on RouteAction_UpgradeConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_UpgradeConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_UpgradeConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteAction_UpgradeConfigMultiError, or nil if none found. func (m *RouteAction_UpgradeConfig) ValidateAll() error { return m.validate(true) } func (m *RouteAction_UpgradeConfig) validate(all bool) error { if m == nil { return nil } var errors []error if !_RouteAction_UpgradeConfig_UpgradeType_Pattern.MatchString(m.GetUpgradeType()) { err := RouteAction_UpgradeConfigValidationError{ field: "UpgradeType", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_UpgradeConfigMultiError(errors) } return nil } // RouteAction_UpgradeConfigMultiError is an error wrapping multiple validation // errors returned by RouteAction_UpgradeConfig.ValidateAll() if the // designated constraints aren't met. type RouteAction_UpgradeConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_UpgradeConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_UpgradeConfigMultiError) AllErrors() []error { return m } // RouteAction_UpgradeConfigValidationError is the validation error returned by // RouteAction_UpgradeConfig.Validate if the designated constraints aren't met. type RouteAction_UpgradeConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_UpgradeConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_UpgradeConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_UpgradeConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_UpgradeConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_UpgradeConfigValidationError) ErrorName() string { return "RouteAction_UpgradeConfigValidationError" } // Error satisfies the builtin error interface func (e RouteAction_UpgradeConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_UpgradeConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_UpgradeConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_UpgradeConfigValidationError{} var _RouteAction_UpgradeConfig_UpgradeType_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_HashPolicy_Header with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_Header) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_Header with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_HeaderMultiError, or nil if none found. func (m *RouteAction_HashPolicy_Header) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_Header) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHeaderName()) < 1 { err := RouteAction_HashPolicy_HeaderValidationError{ field: "HeaderName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HashPolicy_Header_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := RouteAction_HashPolicy_HeaderValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_HeaderMultiError(errors) } return nil } // RouteAction_HashPolicy_HeaderMultiError is an error wrapping multiple // validation errors returned by RouteAction_HashPolicy_Header.ValidateAll() // if the designated constraints aren't met. type RouteAction_HashPolicy_HeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_HeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_HeaderMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_HeaderValidationError is the validation error // returned by RouteAction_HashPolicy_Header.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_HeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_HeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_HeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_HeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_HeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_HeaderValidationError) ErrorName() string { return "RouteAction_HashPolicy_HeaderValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_HeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_Header.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_HeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_HeaderValidationError{} var _RouteAction_HashPolicy_Header_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_HashPolicy_Cookie with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_Cookie) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_Cookie with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_CookieMultiError, or nil if none found. func (m *RouteAction_HashPolicy_Cookie) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_Cookie) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RouteAction_HashPolicy_CookieValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTtl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTtl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Path if len(errors) > 0 { return RouteAction_HashPolicy_CookieMultiError(errors) } return nil } // RouteAction_HashPolicy_CookieMultiError is an error wrapping multiple // validation errors returned by RouteAction_HashPolicy_Cookie.ValidateAll() // if the designated constraints aren't met. type RouteAction_HashPolicy_CookieMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_CookieMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_CookieMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_CookieValidationError is the validation error // returned by RouteAction_HashPolicy_Cookie.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_CookieValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_CookieValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_CookieValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_CookieValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_CookieValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_CookieValidationError) ErrorName() string { return "RouteAction_HashPolicy_CookieValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_CookieValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_Cookie.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_CookieValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_CookieValidationError{} // Validate checks the field values on // RouteAction_HashPolicy_ConnectionProperties with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_ConnectionProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RouteAction_HashPolicy_ConnectionProperties with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RouteAction_HashPolicy_ConnectionPropertiesMultiError, or nil if none found. func (m *RouteAction_HashPolicy_ConnectionProperties) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_ConnectionProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SourceIp if len(errors) > 0 { return RouteAction_HashPolicy_ConnectionPropertiesMultiError(errors) } return nil } // RouteAction_HashPolicy_ConnectionPropertiesMultiError is an error wrapping // multiple validation errors returned by // RouteAction_HashPolicy_ConnectionProperties.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_ConnectionPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_ConnectionPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_ConnectionPropertiesMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_ConnectionPropertiesValidationError is the validation // error returned by RouteAction_HashPolicy_ConnectionProperties.Validate if // the designated constraints aren't met. type RouteAction_HashPolicy_ConnectionPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) ErrorName() string { return "RouteAction_HashPolicy_ConnectionPropertiesValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_ConnectionProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_ConnectionPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_ConnectionPropertiesValidationError{} // Validate checks the field values on RouteAction_HashPolicy_QueryParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RouteAction_HashPolicy_QueryParameter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_QueryParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_QueryParameterMultiError, or nil if none found. func (m *RouteAction_HashPolicy_QueryParameter) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_QueryParameter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RouteAction_HashPolicy_QueryParameterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_QueryParameterMultiError(errors) } return nil } // RouteAction_HashPolicy_QueryParameterMultiError is an error wrapping // multiple validation errors returned by // RouteAction_HashPolicy_QueryParameter.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_QueryParameterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_QueryParameterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_QueryParameterMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_QueryParameterValidationError is the validation error // returned by RouteAction_HashPolicy_QueryParameter.Validate if the // designated constraints aren't met. type RouteAction_HashPolicy_QueryParameterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_QueryParameterValidationError) ErrorName() string { return "RouteAction_HashPolicy_QueryParameterValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_QueryParameterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_QueryParameter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_QueryParameterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_QueryParameterValidationError{} // Validate checks the field values on RouteAction_HashPolicy_FilterState with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteAction_HashPolicy_FilterState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_FilterState // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_FilterStateMultiError, or nil if none found. func (m *RouteAction_HashPolicy_FilterState) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_FilterState) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetKey()) < 1 { err := RouteAction_HashPolicy_FilterStateValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_FilterStateMultiError(errors) } return nil } // RouteAction_HashPolicy_FilterStateMultiError is an error wrapping multiple // validation errors returned by // RouteAction_HashPolicy_FilterState.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_FilterStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_FilterStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_FilterStateMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_FilterStateValidationError is the validation error // returned by RouteAction_HashPolicy_FilterState.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_FilterStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_FilterStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_FilterStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_FilterStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_FilterStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_FilterStateValidationError) ErrorName() string { return "RouteAction_HashPolicy_FilterStateValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_FilterStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_FilterState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_FilterStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_FilterStateValidationError{} // Validate checks the field values on RetryPolicy_RetryPriority with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryPriority) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryPriority with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryPriorityMultiError, or nil if none found. func (m *RetryPolicy_RetryPriority) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryPriority) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RetryPolicy_RetryPriorityValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *RetryPolicy_RetryPriority_Config: if v == nil { err := RetryPolicy_RetryPriorityValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryPriorityValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *RetryPolicy_RetryPriority_TypedConfig: if v == nil { err := RetryPolicy_RetryPriorityValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RetryPolicy_RetryPriorityMultiError(errors) } return nil } // RetryPolicy_RetryPriorityMultiError is an error wrapping multiple validation // errors returned by RetryPolicy_RetryPriority.ValidateAll() if the // designated constraints aren't met. type RetryPolicy_RetryPriorityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryPriorityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryPriorityMultiError) AllErrors() []error { return m } // RetryPolicy_RetryPriorityValidationError is the validation error returned by // RetryPolicy_RetryPriority.Validate if the designated constraints aren't met. type RetryPolicy_RetryPriorityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryPriorityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryPriorityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryPriorityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryPriorityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryPriorityValidationError) ErrorName() string { return "RetryPolicy_RetryPriorityValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryPriorityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryPriority.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryPriorityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryPriorityValidationError{} // Validate checks the field values on RetryPolicy_RetryHostPredicate with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryHostPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryHostPredicate with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryHostPredicateMultiError, or nil if none found. func (m *RetryPolicy_RetryHostPredicate) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryHostPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RetryPolicy_RetryHostPredicateValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *RetryPolicy_RetryHostPredicate_Config: if v == nil { err := RetryPolicy_RetryHostPredicateValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryHostPredicateValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *RetryPolicy_RetryHostPredicate_TypedConfig: if v == nil { err := RetryPolicy_RetryHostPredicateValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RetryPolicy_RetryHostPredicateMultiError(errors) } return nil } // RetryPolicy_RetryHostPredicateMultiError is an error wrapping multiple // validation errors returned by RetryPolicy_RetryHostPredicate.ValidateAll() // if the designated constraints aren't met. type RetryPolicy_RetryHostPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryHostPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryHostPredicateMultiError) AllErrors() []error { return m } // RetryPolicy_RetryHostPredicateValidationError is the validation error // returned by RetryPolicy_RetryHostPredicate.Validate if the designated // constraints aren't met. type RetryPolicy_RetryHostPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryHostPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryHostPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryHostPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryHostPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryHostPredicateValidationError) ErrorName() string { return "RetryPolicy_RetryHostPredicateValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryHostPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryHostPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryHostPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryHostPredicateValidationError{} // Validate checks the field values on RetryPolicy_RetryBackOff with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryBackOff) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryBackOff with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryBackOffMultiError, or nil if none found. func (m *RetryPolicy_RetryBackOff) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryBackOff) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RetryPolicy_RetryBackOffValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RetryPolicy_RetryBackOffValidationError{ field: "MaxInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return RetryPolicy_RetryBackOffMultiError(errors) } return nil } // RetryPolicy_RetryBackOffMultiError is an error wrapping multiple validation // errors returned by RetryPolicy_RetryBackOff.ValidateAll() if the designated // constraints aren't met. type RetryPolicy_RetryBackOffMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryBackOffMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryBackOffMultiError) AllErrors() []error { return m } // RetryPolicy_RetryBackOffValidationError is the validation error returned by // RetryPolicy_RetryBackOff.Validate if the designated constraints aren't met. type RetryPolicy_RetryBackOffValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryBackOffValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryBackOffValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryBackOffValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryBackOffValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryBackOffValidationError) ErrorName() string { return "RetryPolicy_RetryBackOffValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryBackOffValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryBackOff.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryBackOffValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryBackOffValidationError{} // Validate checks the field values on RateLimit_Action with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_ActionMultiError, or nil if none found. func (m *RateLimit_Action) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action) validate(all bool) error { if m == nil { return nil } var errors []error oneofActionSpecifierPresent := false switch v := m.ActionSpecifier.(type) { case *RateLimit_Action_SourceCluster_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetSourceCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_DestinationCluster_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetDestinationCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_RequestHeaders_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_RemoteAddress_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_GenericKey_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetGenericKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_HeaderValueMatch_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetHeaderValueMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValueMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionSpecifierPresent { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimit_ActionMultiError(errors) } return nil } // RateLimit_ActionMultiError is an error wrapping multiple validation errors // returned by RateLimit_Action.ValidateAll() if the designated constraints // aren't met. type RateLimit_ActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_ActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_ActionMultiError) AllErrors() []error { return m } // RateLimit_ActionValidationError is the validation error returned by // RateLimit_Action.Validate if the designated constraints aren't met. type RateLimit_ActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_ActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_ActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_ActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_ActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_ActionValidationError) ErrorName() string { return "RateLimit_ActionValidationError" } // Error satisfies the builtin error interface func (e RateLimit_ActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_ActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_ActionValidationError{} // Validate checks the field values on RateLimit_Action_SourceCluster with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_SourceCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_SourceCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_SourceClusterMultiError, or nil if none found. func (m *RateLimit_Action_SourceCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_SourceCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_SourceClusterMultiError(errors) } return nil } // RateLimit_Action_SourceClusterMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_SourceCluster.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_SourceClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_SourceClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_SourceClusterMultiError) AllErrors() []error { return m } // RateLimit_Action_SourceClusterValidationError is the validation error // returned by RateLimit_Action_SourceCluster.Validate if the designated // constraints aren't met. type RateLimit_Action_SourceClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_SourceClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_SourceClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_SourceClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_SourceClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_SourceClusterValidationError) ErrorName() string { return "RateLimit_Action_SourceClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_SourceClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_SourceCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_SourceClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_SourceClusterValidationError{} // Validate checks the field values on RateLimit_Action_DestinationCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Action_DestinationCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_DestinationCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Action_DestinationClusterMultiError, or nil if none found. func (m *RateLimit_Action_DestinationCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_DestinationCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_DestinationClusterMultiError(errors) } return nil } // RateLimit_Action_DestinationClusterMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_DestinationCluster.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_DestinationClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_DestinationClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_DestinationClusterMultiError) AllErrors() []error { return m } // RateLimit_Action_DestinationClusterValidationError is the validation error // returned by RateLimit_Action_DestinationCluster.Validate if the designated // constraints aren't met. type RateLimit_Action_DestinationClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_DestinationClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_DestinationClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_DestinationClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_DestinationClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_DestinationClusterValidationError) ErrorName() string { return "RateLimit_Action_DestinationClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_DestinationClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_DestinationCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_DestinationClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_DestinationClusterValidationError{} // Validate checks the field values on RateLimit_Action_RequestHeaders with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_RequestHeaders) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_RequestHeaders with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_RequestHeadersMultiError, or nil if none found. func (m *RateLimit_Action_RequestHeaders) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_RequestHeaders) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHeaderName()) < 1 { err := RateLimit_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_RateLimit_Action_RequestHeaders_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := RateLimit_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(m.GetDescriptorKey()) < 1 { err := RateLimit_Action_RequestHeadersValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimit_Action_RequestHeadersMultiError(errors) } return nil } // RateLimit_Action_RequestHeadersMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_RequestHeaders.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_RequestHeadersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_RequestHeadersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_RequestHeadersMultiError) AllErrors() []error { return m } // RateLimit_Action_RequestHeadersValidationError is the validation error // returned by RateLimit_Action_RequestHeaders.Validate if the designated // constraints aren't met. type RateLimit_Action_RequestHeadersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_RequestHeadersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_RequestHeadersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_RequestHeadersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_RequestHeadersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_RequestHeadersValidationError) ErrorName() string { return "RateLimit_Action_RequestHeadersValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_RequestHeadersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_RequestHeaders.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_RequestHeadersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_RequestHeadersValidationError{} var _RateLimit_Action_RequestHeaders_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RateLimit_Action_RemoteAddress with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_RemoteAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_RemoteAddress with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_RemoteAddressMultiError, or nil if none found. func (m *RateLimit_Action_RemoteAddress) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_RemoteAddress) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_RemoteAddressMultiError(errors) } return nil } // RateLimit_Action_RemoteAddressMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_RemoteAddress.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_RemoteAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_RemoteAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_RemoteAddressMultiError) AllErrors() []error { return m } // RateLimit_Action_RemoteAddressValidationError is the validation error // returned by RateLimit_Action_RemoteAddress.Validate if the designated // constraints aren't met. type RateLimit_Action_RemoteAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_RemoteAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_RemoteAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_RemoteAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_RemoteAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_RemoteAddressValidationError) ErrorName() string { return "RateLimit_Action_RemoteAddressValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_RemoteAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_RemoteAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_RemoteAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_RemoteAddressValidationError{} // Validate checks the field values on RateLimit_Action_GenericKey with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_GenericKey) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_GenericKey with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_Action_GenericKeyMultiError, or nil if none found. func (m *RateLimit_Action_GenericKey) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_GenericKey) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetDescriptorValue()) < 1 { err := RateLimit_Action_GenericKeyValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimit_Action_GenericKeyMultiError(errors) } return nil } // RateLimit_Action_GenericKeyMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_GenericKey.ValidateAll() if // the designated constraints aren't met. type RateLimit_Action_GenericKeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_GenericKeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_GenericKeyMultiError) AllErrors() []error { return m } // RateLimit_Action_GenericKeyValidationError is the validation error returned // by RateLimit_Action_GenericKey.Validate if the designated constraints // aren't met. type RateLimit_Action_GenericKeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_GenericKeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_GenericKeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_GenericKeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_GenericKeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_GenericKeyValidationError) ErrorName() string { return "RateLimit_Action_GenericKeyValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_GenericKeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_GenericKey.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_GenericKeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_GenericKeyValidationError{} // Validate checks the field values on RateLimit_Action_HeaderValueMatch with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Action_HeaderValueMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_HeaderValueMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Action_HeaderValueMatchMultiError, or nil if none found. func (m *RateLimit_Action_HeaderValueMatch) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_HeaderValueMatch) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetDescriptorValue()) < 1 { err := RateLimit_Action_HeaderValueMatchValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetExpectMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpectMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, } } } if len(m.GetHeaders()) < 1 { err := RateLimit_Action_HeaderValueMatchValidationError{ field: "Headers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimit_Action_HeaderValueMatchMultiError(errors) } return nil } // RateLimit_Action_HeaderValueMatchMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_HeaderValueMatch.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_HeaderValueMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_HeaderValueMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_HeaderValueMatchMultiError) AllErrors() []error { return m } // RateLimit_Action_HeaderValueMatchValidationError is the validation error // returned by RateLimit_Action_HeaderValueMatch.Validate if the designated // constraints aren't met. type RateLimit_Action_HeaderValueMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_HeaderValueMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_HeaderValueMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_HeaderValueMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_HeaderValueMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_HeaderValueMatchValidationError) ErrorName() string { return "RateLimit_Action_HeaderValueMatchValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_HeaderValueMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_HeaderValueMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_HeaderValueMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_HeaderValueMatchValidationError{} go-control-plane-0.12.0/envoy/api/v2/scoped_route.pb.go000077500000000000000000000374401454502223200226460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/scoped_route.proto package apiv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies a routing scope, which associates a // :ref:`Key` to a // :ref:`envoy_api_msg_RouteConfiguration` (identified by its resource name). // // The HTTP connection manager builds up a table consisting of these Key to // RouteConfiguration mappings, and looks up the RouteConfiguration to use per // request according to the algorithm specified in the // :ref:`scope_key_builder` // assigned to the HttpConnectionManager. // // For example, with the following configurations (in YAML): // // HttpConnectionManager config: // // .. code:: // // ... // scoped_routes: // name: foo-scoped-routes // scope_key_builder: // fragments: // - header_value_extractor: // name: X-Route-Selector // element_separator: "," // element: // separator: = // key: vip // // ScopedRouteConfiguration resources (specified statically via // :ref:`scoped_route_configurations_list` // or obtained dynamically via SRDS): // // .. code:: // // (1) // name: route-scope1 // route_configuration_name: route-config1 // key: // fragments: // - string_key: 172.10.10.20 // // (2) // name: route-scope2 // route_configuration_name: route-config2 // key: // fragments: // - string_key: 172.20.20.30 // // A request from a client such as: // // .. code:: // // GET / HTTP/1.1 // Host: foo.com // X-Route-Selector: vip=172.10.10.20 // // would result in the routing table defined by the `route-config1` // RouteConfiguration being assigned to the HTTP request/stream. type ScopedRouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the routing scope. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The resource name to use for a :ref:`envoy_api_msg_DiscoveryRequest` to an // RDS server to fetch the :ref:`envoy_api_msg_RouteConfiguration` associated // with this scope. RouteConfigurationName string `protobuf:"bytes,2,opt,name=route_configuration_name,json=routeConfigurationName,proto3" json:"route_configuration_name,omitempty"` // The key to match against. Key *ScopedRouteConfiguration_Key `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` } func (x *ScopedRouteConfiguration) Reset() { *x = ScopedRouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration) ProtoMessage() {} func (x *ScopedRouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_api_v2_scoped_route_proto_rawDescGZIP(), []int{0} } func (x *ScopedRouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRouteConfiguration) GetRouteConfigurationName() string { if x != nil { return x.RouteConfigurationName } return "" } func (x *ScopedRouteConfiguration) GetKey() *ScopedRouteConfiguration_Key { if x != nil { return x.Key } return nil } // Specifies a key which is matched against the output of the // :ref:`scope_key_builder` // specified in the HttpConnectionManager. The matching is done per HTTP // request and is dependent on the order of the fragments contained in the // Key. type ScopedRouteConfiguration_Key struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ordered set of fragments to match against. The order must match the // fragments in the corresponding // :ref:`scope_key_builder`. Fragments []*ScopedRouteConfiguration_Key_Fragment `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"` } func (x *ScopedRouteConfiguration_Key) Reset() { *x = ScopedRouteConfiguration_Key{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration_Key) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration_Key) ProtoMessage() {} func (x *ScopedRouteConfiguration_Key) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration_Key.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration_Key) Descriptor() ([]byte, []int) { return file_envoy_api_v2_scoped_route_proto_rawDescGZIP(), []int{0, 0} } func (x *ScopedRouteConfiguration_Key) GetFragments() []*ScopedRouteConfiguration_Key_Fragment { if x != nil { return x.Fragments } return nil } type ScopedRouteConfiguration_Key_Fragment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Type: // // *ScopedRouteConfiguration_Key_Fragment_StringKey Type isScopedRouteConfiguration_Key_Fragment_Type `protobuf_oneof:"type"` } func (x *ScopedRouteConfiguration_Key_Fragment) Reset() { *x = ScopedRouteConfiguration_Key_Fragment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration_Key_Fragment) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration_Key_Fragment) ProtoMessage() {} func (x *ScopedRouteConfiguration_Key_Fragment) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_scoped_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration_Key_Fragment.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration_Key_Fragment) Descriptor() ([]byte, []int) { return file_envoy_api_v2_scoped_route_proto_rawDescGZIP(), []int{0, 0, 0} } func (m *ScopedRouteConfiguration_Key_Fragment) GetType() isScopedRouteConfiguration_Key_Fragment_Type { if m != nil { return m.Type } return nil } func (x *ScopedRouteConfiguration_Key_Fragment) GetStringKey() string { if x, ok := x.GetType().(*ScopedRouteConfiguration_Key_Fragment_StringKey); ok { return x.StringKey } return "" } type isScopedRouteConfiguration_Key_Fragment_Type interface { isScopedRouteConfiguration_Key_Fragment_Type() } type ScopedRouteConfiguration_Key_Fragment_StringKey struct { // A string to match against. StringKey string `protobuf:"bytes,1,opt,name=string_key,json=stringKey,proto3,oneof"` } func (*ScopedRouteConfiguration_Key_Fragment_StringKey) isScopedRouteConfiguration_Key_Fragment_Type() { } var File_envoy_api_v2_scoped_route_proto protoreflect.FileDescriptor var file_envoy_api_v2_scoped_route_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a, 0x18, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x18, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x9c, 0x01, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x5b, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x38, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x90, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x17, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_scoped_route_proto_rawDescOnce sync.Once file_envoy_api_v2_scoped_route_proto_rawDescData = file_envoy_api_v2_scoped_route_proto_rawDesc ) func file_envoy_api_v2_scoped_route_proto_rawDescGZIP() []byte { file_envoy_api_v2_scoped_route_proto_rawDescOnce.Do(func() { file_envoy_api_v2_scoped_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_scoped_route_proto_rawDescData) }) return file_envoy_api_v2_scoped_route_proto_rawDescData } var file_envoy_api_v2_scoped_route_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_api_v2_scoped_route_proto_goTypes = []interface{}{ (*ScopedRouteConfiguration)(nil), // 0: envoy.api.v2.ScopedRouteConfiguration (*ScopedRouteConfiguration_Key)(nil), // 1: envoy.api.v2.ScopedRouteConfiguration.Key (*ScopedRouteConfiguration_Key_Fragment)(nil), // 2: envoy.api.v2.ScopedRouteConfiguration.Key.Fragment } var file_envoy_api_v2_scoped_route_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.ScopedRouteConfiguration.key:type_name -> envoy.api.v2.ScopedRouteConfiguration.Key 2, // 1: envoy.api.v2.ScopedRouteConfiguration.Key.fragments:type_name -> envoy.api.v2.ScopedRouteConfiguration.Key.Fragment 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_api_v2_scoped_route_proto_init() } func file_envoy_api_v2_scoped_route_proto_init() { if File_envoy_api_v2_scoped_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_api_v2_scoped_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_scoped_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration_Key); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_api_v2_scoped_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration_Key_Fragment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_api_v2_scoped_route_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ScopedRouteConfiguration_Key_Fragment_StringKey)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_scoped_route_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_api_v2_scoped_route_proto_goTypes, DependencyIndexes: file_envoy_api_v2_scoped_route_proto_depIdxs, MessageInfos: file_envoy_api_v2_scoped_route_proto_msgTypes, }.Build() File_envoy_api_v2_scoped_route_proto = out.File file_envoy_api_v2_scoped_route_proto_rawDesc = nil file_envoy_api_v2_scoped_route_proto_goTypes = nil file_envoy_api_v2_scoped_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/api/v2/scoped_route.pb.validate.go000077500000000000000000000320531454502223200244310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/scoped_route.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ScopedRouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRouteConfigurationMultiError, or nil if none found. func (m *ScopedRouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ScopedRouteConfigurationValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetRouteConfigurationName()) < 1 { err := ScopedRouteConfigurationValidationError{ field: "RouteConfigurationName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetKey() == nil { err := ScopedRouteConfigurationValidationError{ field: "Key", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRouteConfigurationMultiError(errors) } return nil } // ScopedRouteConfigurationMultiError is an error wrapping multiple validation // errors returned by ScopedRouteConfiguration.ValidateAll() if the designated // constraints aren't met. type ScopedRouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfigurationMultiError) AllErrors() []error { return m } // ScopedRouteConfigurationValidationError is the validation error returned by // ScopedRouteConfiguration.Validate if the designated constraints aren't met. type ScopedRouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfigurationValidationError) ErrorName() string { return "ScopedRouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfigurationValidationError{} // Validate checks the field values on ScopedRouteConfiguration_Key with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfiguration_Key) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration_Key with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRouteConfiguration_KeyMultiError, or nil if none found. func (m *ScopedRouteConfiguration_Key) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration_Key) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFragments()) < 1 { err := ScopedRouteConfiguration_KeyValidationError{ field: "Fragments", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFragments() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRouteConfiguration_KeyMultiError(errors) } return nil } // ScopedRouteConfiguration_KeyMultiError is an error wrapping multiple // validation errors returned by ScopedRouteConfiguration_Key.ValidateAll() if // the designated constraints aren't met. type ScopedRouteConfiguration_KeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfiguration_KeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfiguration_KeyMultiError) AllErrors() []error { return m } // ScopedRouteConfiguration_KeyValidationError is the validation error returned // by ScopedRouteConfiguration_Key.Validate if the designated constraints // aren't met. type ScopedRouteConfiguration_KeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfiguration_KeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfiguration_KeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfiguration_KeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfiguration_KeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfiguration_KeyValidationError) ErrorName() string { return "ScopedRouteConfiguration_KeyValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfiguration_KeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration_Key.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfiguration_KeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfiguration_KeyValidationError{} // Validate checks the field values on ScopedRouteConfiguration_Key_Fragment // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ScopedRouteConfiguration_Key_Fragment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration_Key_Fragment // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ScopedRouteConfiguration_Key_FragmentMultiError, or nil if none found. func (m *ScopedRouteConfiguration_Key_Fragment) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration_Key_Fragment) validate(all bool) error { if m == nil { return nil } var errors []error oneofTypePresent := false switch v := m.Type.(type) { case *ScopedRouteConfiguration_Key_Fragment_StringKey: if v == nil { err := ScopedRouteConfiguration_Key_FragmentValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true // no validation rules for StringKey default: _ = v // ensures v is used } if !oneofTypePresent { err := ScopedRouteConfiguration_Key_FragmentValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRouteConfiguration_Key_FragmentMultiError(errors) } return nil } // ScopedRouteConfiguration_Key_FragmentMultiError is an error wrapping // multiple validation errors returned by // ScopedRouteConfiguration_Key_Fragment.ValidateAll() if the designated // constraints aren't met. type ScopedRouteConfiguration_Key_FragmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfiguration_Key_FragmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfiguration_Key_FragmentMultiError) AllErrors() []error { return m } // ScopedRouteConfiguration_Key_FragmentValidationError is the validation error // returned by ScopedRouteConfiguration_Key_Fragment.Validate if the // designated constraints aren't met. type ScopedRouteConfiguration_Key_FragmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfiguration_Key_FragmentValidationError) ErrorName() string { return "ScopedRouteConfiguration_Key_FragmentValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfiguration_Key_FragmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration_Key_Fragment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfiguration_Key_FragmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfiguration_Key_FragmentValidationError{} go-control-plane-0.12.0/envoy/api/v2/srds.pb.go000077500000000000000000000437671454502223200211370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/api/v2/srds.proto package apiv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type SrdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SrdsDummy) Reset() { *x = SrdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_api_v2_srds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SrdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SrdsDummy) ProtoMessage() {} func (x *SrdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_api_v2_srds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SrdsDummy.ProtoReflect.Descriptor instead. func (*SrdsDummy) Descriptor() ([]byte, []int) { return file_envoy_api_v2_srds_proto_rawDescGZIP(), []int{0} } var File_envoy_api_v2_srds_proto protoreflect.FileDescriptor var file_envoy_api_v2_srds_proto_rawDesc = []byte{ 0x0a, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x53, 0x72, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x8e, 0x03, 0x0a, 0x1c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x2d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x2d, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x8a, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x53, 0x72, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0x50, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_api_v2_srds_proto_rawDescOnce sync.Once file_envoy_api_v2_srds_proto_rawDescData = file_envoy_api_v2_srds_proto_rawDesc ) func file_envoy_api_v2_srds_proto_rawDescGZIP() []byte { file_envoy_api_v2_srds_proto_rawDescOnce.Do(func() { file_envoy_api_v2_srds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_api_v2_srds_proto_rawDescData) }) return file_envoy_api_v2_srds_proto_rawDescData } var file_envoy_api_v2_srds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_api_v2_srds_proto_goTypes = []interface{}{ (*SrdsDummy)(nil), // 0: envoy.api.v2.SrdsDummy (*DiscoveryRequest)(nil), // 1: envoy.api.v2.DiscoveryRequest (*DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.api.v2.DiscoveryResponse (*DeltaDiscoveryResponse)(nil), // 4: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_api_v2_srds_proto_depIdxs = []int32{ 1, // 0: envoy.api.v2.ScopedRoutesDiscoveryService.StreamScopedRoutes:input_type -> envoy.api.v2.DiscoveryRequest 2, // 1: envoy.api.v2.ScopedRoutesDiscoveryService.DeltaScopedRoutes:input_type -> envoy.api.v2.DeltaDiscoveryRequest 1, // 2: envoy.api.v2.ScopedRoutesDiscoveryService.FetchScopedRoutes:input_type -> envoy.api.v2.DiscoveryRequest 3, // 3: envoy.api.v2.ScopedRoutesDiscoveryService.StreamScopedRoutes:output_type -> envoy.api.v2.DiscoveryResponse 4, // 4: envoy.api.v2.ScopedRoutesDiscoveryService.DeltaScopedRoutes:output_type -> envoy.api.v2.DeltaDiscoveryResponse 3, // 5: envoy.api.v2.ScopedRoutesDiscoveryService.FetchScopedRoutes:output_type -> envoy.api.v2.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_api_v2_srds_proto_init() } func file_envoy_api_v2_srds_proto_init() { if File_envoy_api_v2_srds_proto != nil { return } file_envoy_api_v2_discovery_proto_init() file_envoy_api_v2_scoped_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_api_v2_srds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SrdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_api_v2_srds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_api_v2_srds_proto_goTypes, DependencyIndexes: file_envoy_api_v2_srds_proto_depIdxs, MessageInfos: file_envoy_api_v2_srds_proto_msgTypes, }.Build() File_envoy_api_v2_srds_proto = out.File file_envoy_api_v2_srds_proto_rawDesc = nil file_envoy_api_v2_srds_proto_goTypes = nil file_envoy_api_v2_srds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ScopedRoutesDiscoveryServiceClient is the client API for ScopedRoutesDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ScopedRoutesDiscoveryServiceClient interface { StreamScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_StreamScopedRoutesClient, error) DeltaScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_DeltaScopedRoutesClient, error) FetchScopedRoutes(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) } type scopedRoutesDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewScopedRoutesDiscoveryServiceClient(cc grpc.ClientConnInterface) ScopedRoutesDiscoveryServiceClient { return &scopedRoutesDiscoveryServiceClient{cc} } func (c *scopedRoutesDiscoveryServiceClient) StreamScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_StreamScopedRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_ScopedRoutesDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.ScopedRoutesDiscoveryService/StreamScopedRoutes", opts...) if err != nil { return nil, err } x := &scopedRoutesDiscoveryServiceStreamScopedRoutesClient{stream} return x, nil } type ScopedRoutesDiscoveryService_StreamScopedRoutesClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type scopedRoutesDiscoveryServiceStreamScopedRoutesClient struct { grpc.ClientStream } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *scopedRoutesDiscoveryServiceClient) DeltaScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_DeltaScopedRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_ScopedRoutesDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.ScopedRoutesDiscoveryService/DeltaScopedRoutes", opts...) if err != nil { return nil, err } x := &scopedRoutesDiscoveryServiceDeltaScopedRoutesClient{stream} return x, nil } type ScopedRoutesDiscoveryService_DeltaScopedRoutesClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type scopedRoutesDiscoveryServiceDeltaScopedRoutesClient struct { grpc.ClientStream } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *scopedRoutesDiscoveryServiceClient) FetchScopedRoutes(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { out := new(DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.api.v2.ScopedRoutesDiscoveryService/FetchScopedRoutes", in, out, opts...) if err != nil { return nil, err } return out, nil } // ScopedRoutesDiscoveryServiceServer is the server API for ScopedRoutesDiscoveryService service. type ScopedRoutesDiscoveryServiceServer interface { StreamScopedRoutes(ScopedRoutesDiscoveryService_StreamScopedRoutesServer) error DeltaScopedRoutes(ScopedRoutesDiscoveryService_DeltaScopedRoutesServer) error FetchScopedRoutes(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) } // UnimplementedScopedRoutesDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedScopedRoutesDiscoveryServiceServer struct { } func (*UnimplementedScopedRoutesDiscoveryServiceServer) StreamScopedRoutes(ScopedRoutesDiscoveryService_StreamScopedRoutesServer) error { return status.Errorf(codes.Unimplemented, "method StreamScopedRoutes not implemented") } func (*UnimplementedScopedRoutesDiscoveryServiceServer) DeltaScopedRoutes(ScopedRoutesDiscoveryService_DeltaScopedRoutesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaScopedRoutes not implemented") } func (*UnimplementedScopedRoutesDiscoveryServiceServer) FetchScopedRoutes(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchScopedRoutes not implemented") } func RegisterScopedRoutesDiscoveryServiceServer(s *grpc.Server, srv ScopedRoutesDiscoveryServiceServer) { s.RegisterService(&_ScopedRoutesDiscoveryService_serviceDesc, srv) } func _ScopedRoutesDiscoveryService_StreamScopedRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ScopedRoutesDiscoveryServiceServer).StreamScopedRoutes(&scopedRoutesDiscoveryServiceStreamScopedRoutesServer{stream}) } type ScopedRoutesDiscoveryService_StreamScopedRoutesServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type scopedRoutesDiscoveryServiceStreamScopedRoutesServer struct { grpc.ServerStream } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ScopedRoutesDiscoveryService_DeltaScopedRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ScopedRoutesDiscoveryServiceServer).DeltaScopedRoutes(&scopedRoutesDiscoveryServiceDeltaScopedRoutesServer{stream}) } type ScopedRoutesDiscoveryService_DeltaScopedRoutesServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type scopedRoutesDiscoveryServiceDeltaScopedRoutesServer struct { grpc.ServerStream } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ScopedRoutesDiscoveryService_FetchScopedRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ScopedRoutesDiscoveryServiceServer).FetchScopedRoutes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.api.v2.ScopedRoutesDiscoveryService/FetchScopedRoutes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ScopedRoutesDiscoveryServiceServer).FetchScopedRoutes(ctx, req.(*DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ScopedRoutesDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.api.v2.ScopedRoutesDiscoveryService", HandlerType: (*ScopedRoutesDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchScopedRoutes", Handler: _ScopedRoutesDiscoveryService_FetchScopedRoutes_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamScopedRoutes", Handler: _ScopedRoutesDiscoveryService_StreamScopedRoutes_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaScopedRoutes", Handler: _ScopedRoutesDiscoveryService_DeltaScopedRoutes_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/api/v2/srds.proto", } go-control-plane-0.12.0/envoy/api/v2/srds.pb.validate.go000077500000000000000000000061371454502223200227150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/api/v2/srds.proto package apiv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SrdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SrdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SrdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SrdsDummyMultiError, or nil // if none found. func (m *SrdsDummy) ValidateAll() error { return m.validate(true) } func (m *SrdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SrdsDummyMultiError(errors) } return nil } // SrdsDummyMultiError is an error wrapping multiple validation errors returned // by SrdsDummy.ValidateAll() if the designated constraints aren't met. type SrdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SrdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SrdsDummyMultiError) AllErrors() []error { return m } // SrdsDummyValidationError is the validation error returned by // SrdsDummy.Validate if the designated constraints aren't met. type SrdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SrdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SrdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SrdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SrdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SrdsDummyValidationError) ErrorName() string { return "SrdsDummyValidationError" } // Error satisfies the builtin error interface func (e SrdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSrdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SrdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SrdsDummyValidationError{} go-control-plane-0.12.0/envoy/config/000077500000000000000000000000001454502223200173565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/accesslog/000077500000000000000000000000001454502223200213215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/accesslog/v2/000077500000000000000000000000001454502223200216505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/accesslog/v2/als.pb.go000077500000000000000000000516401454502223200233670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/accesslog/v2/als.proto package accesslogv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the built-in *envoy.access_loggers.http_grpc* // :ref:`AccessLog `. This configuration will // populate :ref:`StreamAccessLogsMessage.http_logs // `. // [#extension: envoy.access_loggers.http_grpc] type HttpGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *CommonGrpcAccessLogConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // Additional request headers to log in :ref:`HTTPRequestProperties.request_headers // `. AdditionalRequestHeadersToLog []string `protobuf:"bytes,2,rep,name=additional_request_headers_to_log,json=additionalRequestHeadersToLog,proto3" json:"additional_request_headers_to_log,omitempty"` // Additional response headers to log in :ref:`HTTPResponseProperties.response_headers // `. AdditionalResponseHeadersToLog []string `protobuf:"bytes,3,rep,name=additional_response_headers_to_log,json=additionalResponseHeadersToLog,proto3" json:"additional_response_headers_to_log,omitempty"` // Additional response trailers to log in :ref:`HTTPResponseProperties.response_trailers // `. AdditionalResponseTrailersToLog []string `protobuf:"bytes,4,rep,name=additional_response_trailers_to_log,json=additionalResponseTrailersToLog,proto3" json:"additional_response_trailers_to_log,omitempty"` } func (x *HttpGrpcAccessLogConfig) Reset() { *x = HttpGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGrpcAccessLogConfig) ProtoMessage() {} func (x *HttpGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*HttpGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v2_als_proto_rawDescGZIP(), []int{0} } func (x *HttpGrpcAccessLogConfig) GetCommonConfig() *CommonGrpcAccessLogConfig { if x != nil { return x.CommonConfig } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalRequestHeadersToLog() []string { if x != nil { return x.AdditionalRequestHeadersToLog } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalResponseHeadersToLog() []string { if x != nil { return x.AdditionalResponseHeadersToLog } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalResponseTrailersToLog() []string { if x != nil { return x.AdditionalResponseTrailersToLog } return nil } // Configuration for the built-in *envoy.access_loggers.tcp_grpc* type. This configuration will // populate *StreamAccessLogsMessage.tcp_logs*. // [#extension: envoy.access_loggers.tcp_grpc] type TcpGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *CommonGrpcAccessLogConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` } func (x *TcpGrpcAccessLogConfig) Reset() { *x = TcpGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpGrpcAccessLogConfig) ProtoMessage() {} func (x *TcpGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*TcpGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v2_als_proto_rawDescGZIP(), []int{1} } func (x *TcpGrpcAccessLogConfig) GetCommonConfig() *CommonGrpcAccessLogConfig { if x != nil { return x.CommonConfig } return nil } // Common configuration for gRPC access logs. // [#next-free-field: 6] type CommonGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The friendly name of the access log to be returned in :ref:`StreamAccessLogsMessage.Identifier // `. This allows the // access log server to differentiate between different access logs coming from the same Envoy. LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` // The gRPC service for the access log service. GrpcService *core.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // Interval for flushing access logs to the gRPC stream. Logger will flush requests every time // this interval is elapsed, or when batch size limit is hit, whichever comes first. Defaults to // 1 second. BufferFlushInterval *duration.Duration `protobuf:"bytes,3,opt,name=buffer_flush_interval,json=bufferFlushInterval,proto3" json:"buffer_flush_interval,omitempty"` // Soft size limit in bytes for access log entries buffer. Logger will buffer requests until // this limit it hit, or every time flush interval is elapsed, whichever comes first. Setting it // to zero effectively disables the batching. Defaults to 16384. BufferSizeBytes *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=buffer_size_bytes,json=bufferSizeBytes,proto3" json:"buffer_size_bytes,omitempty"` // Additional filter state objects to log in :ref:`filter_state_objects // `. // Logger will call `FilterState::Object::serializeAsProto` to serialize the filter state object. FilterStateObjectsToLog []string `protobuf:"bytes,5,rep,name=filter_state_objects_to_log,json=filterStateObjectsToLog,proto3" json:"filter_state_objects_to_log,omitempty"` } func (x *CommonGrpcAccessLogConfig) Reset() { *x = CommonGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonGrpcAccessLogConfig) ProtoMessage() {} func (x *CommonGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v2_als_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*CommonGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v2_als_proto_rawDescGZIP(), []int{2} } func (x *CommonGrpcAccessLogConfig) GetLogName() string { if x != nil { return x.LogName } return "" } func (x *CommonGrpcAccessLogConfig) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *CommonGrpcAccessLogConfig) GetBufferFlushInterval() *duration.Duration { if x != nil { return x.BufferFlushInterval } return nil } func (x *CommonGrpcAccessLogConfig) GetBufferSizeBytes() *wrappers.UInt32Value { if x != nil { return x.BufferSizeBytes } return nil } func (x *CommonGrpcAccessLogConfig) GetFilterStateObjectsToLog() []string { if x != nil { return x.FilterStateObjectsToLog } return nil } var File_envoy_config_accesslog_v2_als_proto protoreflect.FileDescriptor var file_envoy_config_accesslog_v2_als_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x02, 0x0a, 0x17, 0x48, 0x74, 0x74, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x12, 0x4a, 0x0a, 0x22, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x23, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x22, 0x7d, 0x0a, 0x16, 0x54, 0x63, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x48, 0x0a, 0x11, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x42, 0xba, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x41, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_accesslog_v2_als_proto_rawDescOnce sync.Once file_envoy_config_accesslog_v2_als_proto_rawDescData = file_envoy_config_accesslog_v2_als_proto_rawDesc ) func file_envoy_config_accesslog_v2_als_proto_rawDescGZIP() []byte { file_envoy_config_accesslog_v2_als_proto_rawDescOnce.Do(func() { file_envoy_config_accesslog_v2_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_accesslog_v2_als_proto_rawDescData) }) return file_envoy_config_accesslog_v2_als_proto_rawDescData } var file_envoy_config_accesslog_v2_als_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_accesslog_v2_als_proto_goTypes = []interface{}{ (*HttpGrpcAccessLogConfig)(nil), // 0: envoy.config.accesslog.v2.HttpGrpcAccessLogConfig (*TcpGrpcAccessLogConfig)(nil), // 1: envoy.config.accesslog.v2.TcpGrpcAccessLogConfig (*CommonGrpcAccessLogConfig)(nil), // 2: envoy.config.accesslog.v2.CommonGrpcAccessLogConfig (*core.GrpcService)(nil), // 3: envoy.api.v2.core.GrpcService (*duration.Duration)(nil), // 4: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 5: google.protobuf.UInt32Value } var file_envoy_config_accesslog_v2_als_proto_depIdxs = []int32{ 2, // 0: envoy.config.accesslog.v2.HttpGrpcAccessLogConfig.common_config:type_name -> envoy.config.accesslog.v2.CommonGrpcAccessLogConfig 2, // 1: envoy.config.accesslog.v2.TcpGrpcAccessLogConfig.common_config:type_name -> envoy.config.accesslog.v2.CommonGrpcAccessLogConfig 3, // 2: envoy.config.accesslog.v2.CommonGrpcAccessLogConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService 4, // 3: envoy.config.accesslog.v2.CommonGrpcAccessLogConfig.buffer_flush_interval:type_name -> google.protobuf.Duration 5, // 4: envoy.config.accesslog.v2.CommonGrpcAccessLogConfig.buffer_size_bytes:type_name -> google.protobuf.UInt32Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_accesslog_v2_als_proto_init() } func file_envoy_config_accesslog_v2_als_proto_init() { if File_envoy_config_accesslog_v2_als_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_accesslog_v2_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v2_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v2_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_accesslog_v2_als_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_accesslog_v2_als_proto_goTypes, DependencyIndexes: file_envoy_config_accesslog_v2_als_proto_depIdxs, MessageInfos: file_envoy_config_accesslog_v2_als_proto_msgTypes, }.Build() File_envoy_config_accesslog_v2_als_proto = out.File file_envoy_config_accesslog_v2_als_proto_rawDesc = nil file_envoy_config_accesslog_v2_als_proto_goTypes = nil file_envoy_config_accesslog_v2_als_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/accesslog/v2/als.pb.validate.go000077500000000000000000000342521454502223200251570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/accesslog/v2/als.proto package accesslogv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGrpcAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpGrpcAccessLogConfigMultiError, or nil if none found. func (m *HttpGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *HttpGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpGrpcAccessLogConfigMultiError(errors) } return nil } // HttpGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by HttpGrpcAccessLogConfig.ValidateAll() if the designated // constraints aren't met. type HttpGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // HttpGrpcAccessLogConfigValidationError is the validation error returned by // HttpGrpcAccessLogConfig.Validate if the designated constraints aren't met. type HttpGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGrpcAccessLogConfigValidationError) ErrorName() string { return "HttpGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e HttpGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGrpcAccessLogConfigValidationError{} // Validate checks the field values on TcpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpGrpcAccessLogConfigMultiError, or nil if none found. func (m *TcpGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *TcpGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpGrpcAccessLogConfigMultiError(errors) } return nil } // TcpGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by TcpGrpcAccessLogConfig.ValidateAll() if the designated // constraints aren't met. type TcpGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // TcpGrpcAccessLogConfigValidationError is the validation error returned by // TcpGrpcAccessLogConfig.Validate if the designated constraints aren't met. type TcpGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpGrpcAccessLogConfigValidationError) ErrorName() string { return "TcpGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e TcpGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpGrpcAccessLogConfigValidationError{} // Validate checks the field values on CommonGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonGrpcAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonGrpcAccessLogConfigMultiError, or nil if none found. func (m *CommonGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *CommonGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLogName()) < 1 { err := CommonGrpcAccessLogConfigValidationError{ field: "LogName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetGrpcService() == nil { err := CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if d := m.GetBufferFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = CommonGrpcAccessLogConfigValidationError{ field: "BufferFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := CommonGrpcAccessLogConfigValidationError{ field: "BufferFlushInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetBufferSizeBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferSizeBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CommonGrpcAccessLogConfigMultiError(errors) } return nil } // CommonGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by CommonGrpcAccessLogConfig.ValidateAll() if the // designated constraints aren't met. type CommonGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // CommonGrpcAccessLogConfigValidationError is the validation error returned by // CommonGrpcAccessLogConfig.Validate if the designated constraints aren't met. type CommonGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonGrpcAccessLogConfigValidationError) ErrorName() string { return "CommonGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e CommonGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonGrpcAccessLogConfigValidationError{} go-control-plane-0.12.0/envoy/config/accesslog/v2/file.pb.go000077500000000000000000000255331454502223200235310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/accesslog/v2/file.proto package accesslogv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom configuration for an :ref:`AccessLog ` // that writes log entries directly to a file. Configures the built-in *envoy.access_loggers.file* // AccessLog. type FileAccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A path to a local file to which to write the access log entries. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // Types that are assignable to AccessLogFormat: // // *FileAccessLog_Format // *FileAccessLog_JsonFormat // *FileAccessLog_TypedJsonFormat AccessLogFormat isFileAccessLog_AccessLogFormat `protobuf_oneof:"access_log_format"` } func (x *FileAccessLog) Reset() { *x = FileAccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v2_file_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileAccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileAccessLog) ProtoMessage() {} func (x *FileAccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v2_file_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileAccessLog.ProtoReflect.Descriptor instead. func (*FileAccessLog) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v2_file_proto_rawDescGZIP(), []int{0} } func (x *FileAccessLog) GetPath() string { if x != nil { return x.Path } return "" } func (m *FileAccessLog) GetAccessLogFormat() isFileAccessLog_AccessLogFormat { if m != nil { return m.AccessLogFormat } return nil } func (x *FileAccessLog) GetFormat() string { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_Format); ok { return x.Format } return "" } func (x *FileAccessLog) GetJsonFormat() *_struct.Struct { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_JsonFormat); ok { return x.JsonFormat } return nil } func (x *FileAccessLog) GetTypedJsonFormat() *_struct.Struct { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_TypedJsonFormat); ok { return x.TypedJsonFormat } return nil } type isFileAccessLog_AccessLogFormat interface { isFileAccessLog_AccessLogFormat() } type FileAccessLog_Format struct { // Access log :ref:`format string`. // Envoy supports :ref:`custom access log formats ` as well as a // :ref:`default format `. Format string `protobuf:"bytes,2,opt,name=format,proto3,oneof"` } type FileAccessLog_JsonFormat struct { // Access log :ref:`format dictionary`. All values // are rendered as strings. JsonFormat *_struct.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` } type FileAccessLog_TypedJsonFormat struct { // Access log :ref:`format dictionary`. Values are // rendered as strings, numbers, or boolean values as appropriate. Nested JSON objects may // be produced by some command operators (e.g.FILTER_STATE or DYNAMIC_METADATA). See the // documentation for a specific command operator for details. TypedJsonFormat *_struct.Struct `protobuf:"bytes,4,opt,name=typed_json_format,json=typedJsonFormat,proto3,oneof"` } func (*FileAccessLog_Format) isFileAccessLog_AccessLogFormat() {} func (*FileAccessLog_JsonFormat) isFileAccessLog_AccessLogFormat() {} func (*FileAccessLog_TypedJsonFormat) isFileAccessLog_AccessLogFormat() {} var File_envoy_config_accesslog_v2_file_proto protoreflect.FileDescriptor var file_envoy_config_accesslog_v2_file_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x0d, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0xbb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_accesslog_v2_file_proto_rawDescOnce sync.Once file_envoy_config_accesslog_v2_file_proto_rawDescData = file_envoy_config_accesslog_v2_file_proto_rawDesc ) func file_envoy_config_accesslog_v2_file_proto_rawDescGZIP() []byte { file_envoy_config_accesslog_v2_file_proto_rawDescOnce.Do(func() { file_envoy_config_accesslog_v2_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_accesslog_v2_file_proto_rawDescData) }) return file_envoy_config_accesslog_v2_file_proto_rawDescData } var file_envoy_config_accesslog_v2_file_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_accesslog_v2_file_proto_goTypes = []interface{}{ (*FileAccessLog)(nil), // 0: envoy.config.accesslog.v2.FileAccessLog (*_struct.Struct)(nil), // 1: google.protobuf.Struct } var file_envoy_config_accesslog_v2_file_proto_depIdxs = []int32{ 1, // 0: envoy.config.accesslog.v2.FileAccessLog.json_format:type_name -> google.protobuf.Struct 1, // 1: envoy.config.accesslog.v2.FileAccessLog.typed_json_format:type_name -> google.protobuf.Struct 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_accesslog_v2_file_proto_init() } func file_envoy_config_accesslog_v2_file_proto_init() { if File_envoy_config_accesslog_v2_file_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_accesslog_v2_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileAccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_accesslog_v2_file_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FileAccessLog_Format)(nil), (*FileAccessLog_JsonFormat)(nil), (*FileAccessLog_TypedJsonFormat)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_accesslog_v2_file_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_accesslog_v2_file_proto_goTypes, DependencyIndexes: file_envoy_config_accesslog_v2_file_proto_depIdxs, MessageInfos: file_envoy_config_accesslog_v2_file_proto_msgTypes, }.Build() File_envoy_config_accesslog_v2_file_proto = out.File file_envoy_config_accesslog_v2_file_proto_rawDesc = nil file_envoy_config_accesslog_v2_file_proto_goTypes = nil file_envoy_config_accesslog_v2_file_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/accesslog/v2/file.pb.validate.go000077500000000000000000000137231454502223200253170ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/accesslog/v2/file.proto package accesslogv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileAccessLog with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FileAccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileAccessLog with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FileAccessLogMultiError, or // nil if none found. func (m *FileAccessLog) ValidateAll() error { return m.validate(true) } func (m *FileAccessLog) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPath()) < 1 { err := FileAccessLogValidationError{ field: "Path", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.AccessLogFormat.(type) { case *FileAccessLog_Format: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Format case *FileAccessLog_JsonFormat: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, } } } case *FileAccessLog_TypedJsonFormat: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FileAccessLogMultiError(errors) } return nil } // FileAccessLogMultiError is an error wrapping multiple validation errors // returned by FileAccessLog.ValidateAll() if the designated constraints // aren't met. type FileAccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileAccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileAccessLogMultiError) AllErrors() []error { return m } // FileAccessLogValidationError is the validation error returned by // FileAccessLog.Validate if the designated constraints aren't met. type FileAccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileAccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileAccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileAccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileAccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileAccessLogValidationError) ErrorName() string { return "FileAccessLogValidationError" } // Error satisfies the builtin error interface func (e FileAccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileAccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileAccessLogValidationError{} go-control-plane-0.12.0/envoy/config/accesslog/v3/000077500000000000000000000000001454502223200216515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/accesslog/v3/accesslog.pb.go000077500000000000000000002400221454502223200245460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/accesslog/v3/accesslog.proto package accesslogv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v34 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ComparisonFilter_Op int32 const ( // = ComparisonFilter_EQ ComparisonFilter_Op = 0 // >= ComparisonFilter_GE ComparisonFilter_Op = 1 // <= ComparisonFilter_LE ComparisonFilter_Op = 2 ) // Enum value maps for ComparisonFilter_Op. var ( ComparisonFilter_Op_name = map[int32]string{ 0: "EQ", 1: "GE", 2: "LE", } ComparisonFilter_Op_value = map[string]int32{ "EQ": 0, "GE": 1, "LE": 2, } ) func (x ComparisonFilter_Op) Enum() *ComparisonFilter_Op { p := new(ComparisonFilter_Op) *p = x return p } func (x ComparisonFilter_Op) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ComparisonFilter_Op) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_accesslog_v3_accesslog_proto_enumTypes[0].Descriptor() } func (ComparisonFilter_Op) Type() protoreflect.EnumType { return &file_envoy_config_accesslog_v3_accesslog_proto_enumTypes[0] } func (x ComparisonFilter_Op) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ComparisonFilter_Op.Descriptor instead. func (ComparisonFilter_Op) EnumDescriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{2, 0} } type GrpcStatusFilter_Status int32 const ( GrpcStatusFilter_OK GrpcStatusFilter_Status = 0 GrpcStatusFilter_CANCELED GrpcStatusFilter_Status = 1 GrpcStatusFilter_UNKNOWN GrpcStatusFilter_Status = 2 GrpcStatusFilter_INVALID_ARGUMENT GrpcStatusFilter_Status = 3 GrpcStatusFilter_DEADLINE_EXCEEDED GrpcStatusFilter_Status = 4 GrpcStatusFilter_NOT_FOUND GrpcStatusFilter_Status = 5 GrpcStatusFilter_ALREADY_EXISTS GrpcStatusFilter_Status = 6 GrpcStatusFilter_PERMISSION_DENIED GrpcStatusFilter_Status = 7 GrpcStatusFilter_RESOURCE_EXHAUSTED GrpcStatusFilter_Status = 8 GrpcStatusFilter_FAILED_PRECONDITION GrpcStatusFilter_Status = 9 GrpcStatusFilter_ABORTED GrpcStatusFilter_Status = 10 GrpcStatusFilter_OUT_OF_RANGE GrpcStatusFilter_Status = 11 GrpcStatusFilter_UNIMPLEMENTED GrpcStatusFilter_Status = 12 GrpcStatusFilter_INTERNAL GrpcStatusFilter_Status = 13 GrpcStatusFilter_UNAVAILABLE GrpcStatusFilter_Status = 14 GrpcStatusFilter_DATA_LOSS GrpcStatusFilter_Status = 15 GrpcStatusFilter_UNAUTHENTICATED GrpcStatusFilter_Status = 16 ) // Enum value maps for GrpcStatusFilter_Status. var ( GrpcStatusFilter_Status_name = map[int32]string{ 0: "OK", 1: "CANCELED", 2: "UNKNOWN", 3: "INVALID_ARGUMENT", 4: "DEADLINE_EXCEEDED", 5: "NOT_FOUND", 6: "ALREADY_EXISTS", 7: "PERMISSION_DENIED", 8: "RESOURCE_EXHAUSTED", 9: "FAILED_PRECONDITION", 10: "ABORTED", 11: "OUT_OF_RANGE", 12: "UNIMPLEMENTED", 13: "INTERNAL", 14: "UNAVAILABLE", 15: "DATA_LOSS", 16: "UNAUTHENTICATED", } GrpcStatusFilter_Status_value = map[string]int32{ "OK": 0, "CANCELED": 1, "UNKNOWN": 2, "INVALID_ARGUMENT": 3, "DEADLINE_EXCEEDED": 4, "NOT_FOUND": 5, "ALREADY_EXISTS": 6, "PERMISSION_DENIED": 7, "RESOURCE_EXHAUSTED": 8, "FAILED_PRECONDITION": 9, "ABORTED": 10, "OUT_OF_RANGE": 11, "UNIMPLEMENTED": 12, "INTERNAL": 13, "UNAVAILABLE": 14, "DATA_LOSS": 15, "UNAUTHENTICATED": 16, } ) func (x GrpcStatusFilter_Status) Enum() *GrpcStatusFilter_Status { p := new(GrpcStatusFilter_Status) *p = x return p } func (x GrpcStatusFilter_Status) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GrpcStatusFilter_Status) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_accesslog_v3_accesslog_proto_enumTypes[1].Descriptor() } func (GrpcStatusFilter_Status) Type() protoreflect.EnumType { return &file_envoy_config_accesslog_v3_accesslog_proto_enumTypes[1] } func (x GrpcStatusFilter_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GrpcStatusFilter_Status.Descriptor instead. func (GrpcStatusFilter_Status) EnumDescriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{12, 0} } type AccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the access log extension configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter which is used to determine if the access log needs to be written. Filter *AccessLogFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Custom configuration that must be set according to the access logger extension being instantiated. // [#extension-category: envoy.access_loggers] // // Types that are assignable to ConfigType: // // *AccessLog_TypedConfig ConfigType isAccessLog_ConfigType `protobuf_oneof:"config_type"` } func (x *AccessLog) Reset() { *x = AccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLog) ProtoMessage() {} func (x *AccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLog.ProtoReflect.Descriptor instead. func (*AccessLog) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{0} } func (x *AccessLog) GetName() string { if x != nil { return x.Name } return "" } func (x *AccessLog) GetFilter() *AccessLogFilter { if x != nil { return x.Filter } return nil } func (m *AccessLog) GetConfigType() isAccessLog_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *AccessLog) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*AccessLog_TypedConfig); ok { return x.TypedConfig } return nil } type isAccessLog_ConfigType interface { isAccessLog_ConfigType() } type AccessLog_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*AccessLog_TypedConfig) isAccessLog_ConfigType() {} // [#next-free-field: 14] type AccessLogFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to FilterSpecifier: // // *AccessLogFilter_StatusCodeFilter // *AccessLogFilter_DurationFilter // *AccessLogFilter_NotHealthCheckFilter // *AccessLogFilter_TraceableFilter // *AccessLogFilter_RuntimeFilter // *AccessLogFilter_AndFilter // *AccessLogFilter_OrFilter // *AccessLogFilter_HeaderFilter // *AccessLogFilter_ResponseFlagFilter // *AccessLogFilter_GrpcStatusFilter // *AccessLogFilter_ExtensionFilter // *AccessLogFilter_MetadataFilter // *AccessLogFilter_LogTypeFilter FilterSpecifier isAccessLogFilter_FilterSpecifier `protobuf_oneof:"filter_specifier"` } func (x *AccessLogFilter) Reset() { *x = AccessLogFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLogFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLogFilter) ProtoMessage() {} func (x *AccessLogFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLogFilter.ProtoReflect.Descriptor instead. func (*AccessLogFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{1} } func (m *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { if m != nil { return m.FilterSpecifier } return nil } func (x *AccessLogFilter) GetStatusCodeFilter() *StatusCodeFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_StatusCodeFilter); ok { return x.StatusCodeFilter } return nil } func (x *AccessLogFilter) GetDurationFilter() *DurationFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_DurationFilter); ok { return x.DurationFilter } return nil } func (x *AccessLogFilter) GetNotHealthCheckFilter() *NotHealthCheckFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_NotHealthCheckFilter); ok { return x.NotHealthCheckFilter } return nil } func (x *AccessLogFilter) GetTraceableFilter() *TraceableFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_TraceableFilter); ok { return x.TraceableFilter } return nil } func (x *AccessLogFilter) GetRuntimeFilter() *RuntimeFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_RuntimeFilter); ok { return x.RuntimeFilter } return nil } func (x *AccessLogFilter) GetAndFilter() *AndFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_AndFilter); ok { return x.AndFilter } return nil } func (x *AccessLogFilter) GetOrFilter() *OrFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_OrFilter); ok { return x.OrFilter } return nil } func (x *AccessLogFilter) GetHeaderFilter() *HeaderFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_HeaderFilter); ok { return x.HeaderFilter } return nil } func (x *AccessLogFilter) GetResponseFlagFilter() *ResponseFlagFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ResponseFlagFilter); ok { return x.ResponseFlagFilter } return nil } func (x *AccessLogFilter) GetGrpcStatusFilter() *GrpcStatusFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_GrpcStatusFilter); ok { return x.GrpcStatusFilter } return nil } func (x *AccessLogFilter) GetExtensionFilter() *ExtensionFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ExtensionFilter); ok { return x.ExtensionFilter } return nil } func (x *AccessLogFilter) GetMetadataFilter() *MetadataFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_MetadataFilter); ok { return x.MetadataFilter } return nil } func (x *AccessLogFilter) GetLogTypeFilter() *LogTypeFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_LogTypeFilter); ok { return x.LogTypeFilter } return nil } type isAccessLogFilter_FilterSpecifier interface { isAccessLogFilter_FilterSpecifier() } type AccessLogFilter_StatusCodeFilter struct { // Status code filter. StatusCodeFilter *StatusCodeFilter `protobuf:"bytes,1,opt,name=status_code_filter,json=statusCodeFilter,proto3,oneof"` } type AccessLogFilter_DurationFilter struct { // Duration filter. DurationFilter *DurationFilter `protobuf:"bytes,2,opt,name=duration_filter,json=durationFilter,proto3,oneof"` } type AccessLogFilter_NotHealthCheckFilter struct { // Not health check filter. NotHealthCheckFilter *NotHealthCheckFilter `protobuf:"bytes,3,opt,name=not_health_check_filter,json=notHealthCheckFilter,proto3,oneof"` } type AccessLogFilter_TraceableFilter struct { // Traceable filter. TraceableFilter *TraceableFilter `protobuf:"bytes,4,opt,name=traceable_filter,json=traceableFilter,proto3,oneof"` } type AccessLogFilter_RuntimeFilter struct { // Runtime filter. RuntimeFilter *RuntimeFilter `protobuf:"bytes,5,opt,name=runtime_filter,json=runtimeFilter,proto3,oneof"` } type AccessLogFilter_AndFilter struct { // And filter. AndFilter *AndFilter `protobuf:"bytes,6,opt,name=and_filter,json=andFilter,proto3,oneof"` } type AccessLogFilter_OrFilter struct { // Or filter. OrFilter *OrFilter `protobuf:"bytes,7,opt,name=or_filter,json=orFilter,proto3,oneof"` } type AccessLogFilter_HeaderFilter struct { // Header filter. HeaderFilter *HeaderFilter `protobuf:"bytes,8,opt,name=header_filter,json=headerFilter,proto3,oneof"` } type AccessLogFilter_ResponseFlagFilter struct { // Response flag filter. ResponseFlagFilter *ResponseFlagFilter `protobuf:"bytes,9,opt,name=response_flag_filter,json=responseFlagFilter,proto3,oneof"` } type AccessLogFilter_GrpcStatusFilter struct { // gRPC status filter. GrpcStatusFilter *GrpcStatusFilter `protobuf:"bytes,10,opt,name=grpc_status_filter,json=grpcStatusFilter,proto3,oneof"` } type AccessLogFilter_ExtensionFilter struct { // Extension filter. // [#extension-category: envoy.access_loggers.extension_filters] ExtensionFilter *ExtensionFilter `protobuf:"bytes,11,opt,name=extension_filter,json=extensionFilter,proto3,oneof"` } type AccessLogFilter_MetadataFilter struct { // Metadata Filter MetadataFilter *MetadataFilter `protobuf:"bytes,12,opt,name=metadata_filter,json=metadataFilter,proto3,oneof"` } type AccessLogFilter_LogTypeFilter struct { // Log Type Filter LogTypeFilter *LogTypeFilter `protobuf:"bytes,13,opt,name=log_type_filter,json=logTypeFilter,proto3,oneof"` } func (*AccessLogFilter_StatusCodeFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_DurationFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_NotHealthCheckFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_TraceableFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_RuntimeFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_AndFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_OrFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_HeaderFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_ResponseFlagFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_GrpcStatusFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_ExtensionFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_MetadataFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_LogTypeFilter) isAccessLogFilter_FilterSpecifier() {} // Filter on an integer comparison. type ComparisonFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison operator. Op ComparisonFilter_Op `protobuf:"varint,1,opt,name=op,proto3,enum=envoy.config.accesslog.v3.ComparisonFilter_Op" json:"op,omitempty"` // Value to compare against. Value *v3.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *ComparisonFilter) Reset() { *x = ComparisonFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComparisonFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComparisonFilter) ProtoMessage() {} func (x *ComparisonFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComparisonFilter.ProtoReflect.Descriptor instead. func (*ComparisonFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{2} } func (x *ComparisonFilter) GetOp() ComparisonFilter_Op { if x != nil { return x.Op } return ComparisonFilter_EQ } func (x *ComparisonFilter) GetValue() *v3.RuntimeUInt32 { if x != nil { return x.Value } return nil } // Filters on HTTP response/status code. type StatusCodeFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison. Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *StatusCodeFilter) Reset() { *x = StatusCodeFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusCodeFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusCodeFilter) ProtoMessage() {} func (x *StatusCodeFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatusCodeFilter.ProtoReflect.Descriptor instead. func (*StatusCodeFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{3} } func (x *StatusCodeFilter) GetComparison() *ComparisonFilter { if x != nil { return x.Comparison } return nil } // Filters based on the duration of the request or stream, in milliseconds. // For end of stream access logs, the total duration of the stream will be used. // For :ref:`periodic access logs`, // the duration of the stream at the time of log recording will be used. type DurationFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison. Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *DurationFilter) Reset() { *x = DurationFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DurationFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*DurationFilter) ProtoMessage() {} func (x *DurationFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DurationFilter.ProtoReflect.Descriptor instead. func (*DurationFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{4} } func (x *DurationFilter) GetComparison() *ComparisonFilter { if x != nil { return x.Comparison } return nil } // Filters for requests that are not health check requests. A health check // request is marked by the health check filter. type NotHealthCheckFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NotHealthCheckFilter) Reset() { *x = NotHealthCheckFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotHealthCheckFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotHealthCheckFilter) ProtoMessage() {} func (x *NotHealthCheckFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NotHealthCheckFilter.ProtoReflect.Descriptor instead. func (*NotHealthCheckFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{5} } // Filters for requests that are traceable. See the tracing overview for more // information on how a request becomes traceable. type TraceableFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TraceableFilter) Reset() { *x = TraceableFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceableFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceableFilter) ProtoMessage() {} func (x *TraceableFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceableFilter.ProtoReflect.Descriptor instead. func (*TraceableFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{6} } // Filters for random sampling of requests. type RuntimeFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime key to get an optional overridden numerator for use in the // “percent_sampled“ field. If found in runtime, this value will replace the // default numerator. RuntimeKey string `protobuf:"bytes,1,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` // The default sampling percentage. If not specified, defaults to 0% with // denominator of 100. PercentSampled *v31.FractionalPercent `protobuf:"bytes,2,opt,name=percent_sampled,json=percentSampled,proto3" json:"percent_sampled,omitempty"` // By default, sampling pivots on the header // :ref:`x-request-id` being // present. If :ref:`x-request-id` // is present, the filter will consistently sample across multiple hosts based // on the runtime key value and the value extracted from // :ref:`x-request-id`. If it is // missing, or “use_independent_randomness“ is set to true, the filter will // randomly sample based on the runtime key value alone. // “use_independent_randomness“ can be used for logging kill switches within // complex nested :ref:`AndFilter // ` and :ref:`OrFilter // ` blocks that are easier to // reason about from a probability perspective (i.e., setting to true will // cause the filter to behave like an independent random variable when // composed within logical operator filters). UseIndependentRandomness bool `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"` } func (x *RuntimeFilter) Reset() { *x = RuntimeFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFilter) ProtoMessage() {} func (x *RuntimeFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFilter.ProtoReflect.Descriptor instead. func (*RuntimeFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{7} } func (x *RuntimeFilter) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } func (x *RuntimeFilter) GetPercentSampled() *v31.FractionalPercent { if x != nil { return x.PercentSampled } return nil } func (x *RuntimeFilter) GetUseIndependentRandomness() bool { if x != nil { return x.UseIndependentRandomness } return false } // Performs a logical “and” operation on the result of each filter in filters. // Filters are evaluated sequentially and if one of them returns false, the // filter returns false immediately. type AndFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *AndFilter) Reset() { *x = AndFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AndFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*AndFilter) ProtoMessage() {} func (x *AndFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AndFilter.ProtoReflect.Descriptor instead. func (*AndFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{8} } func (x *AndFilter) GetFilters() []*AccessLogFilter { if x != nil { return x.Filters } return nil } // Performs a logical “or” operation on the result of each individual filter. // Filters are evaluated sequentially and if one of them returns true, the // filter returns true immediately. type OrFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *OrFilter) Reset() { *x = OrFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrFilter) ProtoMessage() {} func (x *OrFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OrFilter.ProtoReflect.Descriptor instead. func (*OrFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{9} } func (x *OrFilter) GetFilters() []*AccessLogFilter { if x != nil { return x.Filters } return nil } // Filters requests based on the presence or value of a request header. type HeaderFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only requests with a header which matches the specified HeaderMatcher will // pass the filter check. Header *v32.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` } func (x *HeaderFilter) Reset() { *x = HeaderFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderFilter) ProtoMessage() {} func (x *HeaderFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderFilter.ProtoReflect.Descriptor instead. func (*HeaderFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{10} } func (x *HeaderFilter) GetHeader() *v32.HeaderMatcher { if x != nil { return x.Header } return nil } // Filters requests that received responses with an Envoy response flag set. // A list of the response flags can be found // in the access log formatter // :ref:`documentation`. type ResponseFlagFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only responses with the any of the flags listed in this field will be // logged. This field is optional. If it is not specified, then any response // flag will pass the filter check. Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` } func (x *ResponseFlagFilter) Reset() { *x = ResponseFlagFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlagFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlagFilter) ProtoMessage() {} func (x *ResponseFlagFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlagFilter.ProtoReflect.Descriptor instead. func (*ResponseFlagFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{11} } func (x *ResponseFlagFilter) GetFlags() []string { if x != nil { return x.Flags } return nil } // Filters gRPC requests based on their response status. If a gRPC status is not // provided, the filter will infer the status from the HTTP status code. type GrpcStatusFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Logs only responses that have any one of the gRPC statuses in this field. Statuses []GrpcStatusFilter_Status `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=envoy.config.accesslog.v3.GrpcStatusFilter_Status" json:"statuses,omitempty"` // If included and set to true, the filter will instead block all responses // with a gRPC status or inferred gRPC status enumerated in statuses, and // allow all other responses. Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` } func (x *GrpcStatusFilter) Reset() { *x = GrpcStatusFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcStatusFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcStatusFilter) ProtoMessage() {} func (x *GrpcStatusFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcStatusFilter.ProtoReflect.Descriptor instead. func (*GrpcStatusFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{12} } func (x *GrpcStatusFilter) GetStatuses() []GrpcStatusFilter_Status { if x != nil { return x.Statuses } return nil } func (x *GrpcStatusFilter) GetExclude() bool { if x != nil { return x.Exclude } return false } // Filters based on matching dynamic metadata. // If the matcher path and key correspond to an existing key in dynamic // metadata, the request is logged only if the matcher value is equal to the // metadata value. If the matcher path and key *do not* correspond to an // existing key in dynamic metadata, the request is logged only if // match_if_key_not_found is "true" or unset. type MetadataFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Matcher to check metadata for specified value. For example, to match on the // access_log_hint metadata, set the filter to "envoy.common" and the path to // "access_log_hint", and the value to "true". Matcher *v33.MetadataMatcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"` // Default result if the key does not exist in dynamic metadata: if unset or // true, then log; if false, then don't log. MatchIfKeyNotFound *wrappers.BoolValue `protobuf:"bytes,2,opt,name=match_if_key_not_found,json=matchIfKeyNotFound,proto3" json:"match_if_key_not_found,omitempty"` } func (x *MetadataFilter) Reset() { *x = MetadataFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataFilter) ProtoMessage() {} func (x *MetadataFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataFilter.ProtoReflect.Descriptor instead. func (*MetadataFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{13} } func (x *MetadataFilter) GetMatcher() *v33.MetadataMatcher { if x != nil { return x.Matcher } return nil } func (x *MetadataFilter) GetMatchIfKeyNotFound() *wrappers.BoolValue { if x != nil { return x.MatchIfKeyNotFound } return nil } // Filters based on access log type. type LogTypeFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Logs only records which their type is one of the types defined in this field. Types []v34.AccessLogType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=envoy.data.accesslog.v3.AccessLogType" json:"types,omitempty"` // If this field is set to true, the filter will instead block all records // with a access log type in types field, and allow all other records. Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` } func (x *LogTypeFilter) Reset() { *x = LogTypeFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LogTypeFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*LogTypeFilter) ProtoMessage() {} func (x *LogTypeFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LogTypeFilter.ProtoReflect.Descriptor instead. func (*LogTypeFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{14} } func (x *LogTypeFilter) GetTypes() []v34.AccessLogType { if x != nil { return x.Types } return nil } func (x *LogTypeFilter) GetExclude() bool { if x != nil { return x.Exclude } return false } // Extension filter is statically registered at runtime. type ExtensionFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter implementation to instantiate. The name must // match a statically registered filter. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Custom configuration that depends on the filter being instantiated. // // Types that are assignable to ConfigType: // // *ExtensionFilter_TypedConfig ConfigType isExtensionFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *ExtensionFilter) Reset() { *x = ExtensionFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtensionFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtensionFilter) ProtoMessage() {} func (x *ExtensionFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtensionFilter.ProtoReflect.Descriptor instead. func (*ExtensionFilter) Descriptor() ([]byte, []int) { return file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{15} } func (x *ExtensionFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ExtensionFilter) GetConfigType() isExtensionFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *ExtensionFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ExtensionFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isExtensionFilter_ConfigType interface { isExtensionFilter_ConfigType() } type ExtensionFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ExtensionFilter_TypedConfig) isExtensionFilter_ConfigType() {} var File_envoy_config_accesslog_v3_accesslog_proto protoreflect.FileDescriptor var file_envoy_config_accesslog_v3_accesslog_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xca, 0x09, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x17, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x54, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x4a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf9, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x08, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf5, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xa2, 0x01, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x8b, 0x01, 0xfa, 0x42, 0x87, 0x01, 0x92, 0x01, 0x83, 0x01, 0x22, 0x80, 0x01, 0x72, 0x7e, 0x52, 0x02, 0x4c, 0x48, 0x52, 0x02, 0x55, 0x48, 0x52, 0x02, 0x55, 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55, 0x52, 0x52, 0x02, 0x55, 0x46, 0x52, 0x02, 0x55, 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e, 0x52, 0x52, 0x02, 0x44, 0x49, 0x52, 0x02, 0x46, 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55, 0x41, 0x45, 0x58, 0x52, 0x04, 0x52, 0x4c, 0x53, 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55, 0x52, 0x58, 0x52, 0x02, 0x53, 0x49, 0x52, 0x02, 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52, 0x05, 0x55, 0x4d, 0x53, 0x44, 0x52, 0x52, 0x04, 0x52, 0x46, 0x43, 0x46, 0x52, 0x04, 0x4e, 0x46, 0x43, 0x46, 0x52, 0x02, 0x44, 0x54, 0x52, 0x03, 0x55, 0x50, 0x45, 0x52, 0x02, 0x4e, 0x43, 0x52, 0x02, 0x4f, 0x4d, 0x52, 0x02, 0x44, 0x46, 0x52, 0x02, 0x44, 0x4f, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x80, 0x04, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x66, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x66, 0x4b, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x76, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x91, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_accesslog_v3_accesslog_proto_rawDescOnce sync.Once file_envoy_config_accesslog_v3_accesslog_proto_rawDescData = file_envoy_config_accesslog_v3_accesslog_proto_rawDesc ) func file_envoy_config_accesslog_v3_accesslog_proto_rawDescGZIP() []byte { file_envoy_config_accesslog_v3_accesslog_proto_rawDescOnce.Do(func() { file_envoy_config_accesslog_v3_accesslog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_accesslog_v3_accesslog_proto_rawDescData) }) return file_envoy_config_accesslog_v3_accesslog_proto_rawDescData } var file_envoy_config_accesslog_v3_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_accesslog_v3_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_envoy_config_accesslog_v3_accesslog_proto_goTypes = []interface{}{ (ComparisonFilter_Op)(0), // 0: envoy.config.accesslog.v3.ComparisonFilter.Op (GrpcStatusFilter_Status)(0), // 1: envoy.config.accesslog.v3.GrpcStatusFilter.Status (*AccessLog)(nil), // 2: envoy.config.accesslog.v3.AccessLog (*AccessLogFilter)(nil), // 3: envoy.config.accesslog.v3.AccessLogFilter (*ComparisonFilter)(nil), // 4: envoy.config.accesslog.v3.ComparisonFilter (*StatusCodeFilter)(nil), // 5: envoy.config.accesslog.v3.StatusCodeFilter (*DurationFilter)(nil), // 6: envoy.config.accesslog.v3.DurationFilter (*NotHealthCheckFilter)(nil), // 7: envoy.config.accesslog.v3.NotHealthCheckFilter (*TraceableFilter)(nil), // 8: envoy.config.accesslog.v3.TraceableFilter (*RuntimeFilter)(nil), // 9: envoy.config.accesslog.v3.RuntimeFilter (*AndFilter)(nil), // 10: envoy.config.accesslog.v3.AndFilter (*OrFilter)(nil), // 11: envoy.config.accesslog.v3.OrFilter (*HeaderFilter)(nil), // 12: envoy.config.accesslog.v3.HeaderFilter (*ResponseFlagFilter)(nil), // 13: envoy.config.accesslog.v3.ResponseFlagFilter (*GrpcStatusFilter)(nil), // 14: envoy.config.accesslog.v3.GrpcStatusFilter (*MetadataFilter)(nil), // 15: envoy.config.accesslog.v3.MetadataFilter (*LogTypeFilter)(nil), // 16: envoy.config.accesslog.v3.LogTypeFilter (*ExtensionFilter)(nil), // 17: envoy.config.accesslog.v3.ExtensionFilter (*any1.Any)(nil), // 18: google.protobuf.Any (*v3.RuntimeUInt32)(nil), // 19: envoy.config.core.v3.RuntimeUInt32 (*v31.FractionalPercent)(nil), // 20: envoy.type.v3.FractionalPercent (*v32.HeaderMatcher)(nil), // 21: envoy.config.route.v3.HeaderMatcher (*v33.MetadataMatcher)(nil), // 22: envoy.type.matcher.v3.MetadataMatcher (*wrappers.BoolValue)(nil), // 23: google.protobuf.BoolValue (v34.AccessLogType)(0), // 24: envoy.data.accesslog.v3.AccessLogType } var file_envoy_config_accesslog_v3_accesslog_proto_depIdxs = []int32{ 3, // 0: envoy.config.accesslog.v3.AccessLog.filter:type_name -> envoy.config.accesslog.v3.AccessLogFilter 18, // 1: envoy.config.accesslog.v3.AccessLog.typed_config:type_name -> google.protobuf.Any 5, // 2: envoy.config.accesslog.v3.AccessLogFilter.status_code_filter:type_name -> envoy.config.accesslog.v3.StatusCodeFilter 6, // 3: envoy.config.accesslog.v3.AccessLogFilter.duration_filter:type_name -> envoy.config.accesslog.v3.DurationFilter 7, // 4: envoy.config.accesslog.v3.AccessLogFilter.not_health_check_filter:type_name -> envoy.config.accesslog.v3.NotHealthCheckFilter 8, // 5: envoy.config.accesslog.v3.AccessLogFilter.traceable_filter:type_name -> envoy.config.accesslog.v3.TraceableFilter 9, // 6: envoy.config.accesslog.v3.AccessLogFilter.runtime_filter:type_name -> envoy.config.accesslog.v3.RuntimeFilter 10, // 7: envoy.config.accesslog.v3.AccessLogFilter.and_filter:type_name -> envoy.config.accesslog.v3.AndFilter 11, // 8: envoy.config.accesslog.v3.AccessLogFilter.or_filter:type_name -> envoy.config.accesslog.v3.OrFilter 12, // 9: envoy.config.accesslog.v3.AccessLogFilter.header_filter:type_name -> envoy.config.accesslog.v3.HeaderFilter 13, // 10: envoy.config.accesslog.v3.AccessLogFilter.response_flag_filter:type_name -> envoy.config.accesslog.v3.ResponseFlagFilter 14, // 11: envoy.config.accesslog.v3.AccessLogFilter.grpc_status_filter:type_name -> envoy.config.accesslog.v3.GrpcStatusFilter 17, // 12: envoy.config.accesslog.v3.AccessLogFilter.extension_filter:type_name -> envoy.config.accesslog.v3.ExtensionFilter 15, // 13: envoy.config.accesslog.v3.AccessLogFilter.metadata_filter:type_name -> envoy.config.accesslog.v3.MetadataFilter 16, // 14: envoy.config.accesslog.v3.AccessLogFilter.log_type_filter:type_name -> envoy.config.accesslog.v3.LogTypeFilter 0, // 15: envoy.config.accesslog.v3.ComparisonFilter.op:type_name -> envoy.config.accesslog.v3.ComparisonFilter.Op 19, // 16: envoy.config.accesslog.v3.ComparisonFilter.value:type_name -> envoy.config.core.v3.RuntimeUInt32 4, // 17: envoy.config.accesslog.v3.StatusCodeFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter 4, // 18: envoy.config.accesslog.v3.DurationFilter.comparison:type_name -> envoy.config.accesslog.v3.ComparisonFilter 20, // 19: envoy.config.accesslog.v3.RuntimeFilter.percent_sampled:type_name -> envoy.type.v3.FractionalPercent 3, // 20: envoy.config.accesslog.v3.AndFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter 3, // 21: envoy.config.accesslog.v3.OrFilter.filters:type_name -> envoy.config.accesslog.v3.AccessLogFilter 21, // 22: envoy.config.accesslog.v3.HeaderFilter.header:type_name -> envoy.config.route.v3.HeaderMatcher 1, // 23: envoy.config.accesslog.v3.GrpcStatusFilter.statuses:type_name -> envoy.config.accesslog.v3.GrpcStatusFilter.Status 22, // 24: envoy.config.accesslog.v3.MetadataFilter.matcher:type_name -> envoy.type.matcher.v3.MetadataMatcher 23, // 25: envoy.config.accesslog.v3.MetadataFilter.match_if_key_not_found:type_name -> google.protobuf.BoolValue 24, // 26: envoy.config.accesslog.v3.LogTypeFilter.types:type_name -> envoy.data.accesslog.v3.AccessLogType 18, // 27: envoy.config.accesslog.v3.ExtensionFilter.typed_config:type_name -> google.protobuf.Any 28, // [28:28] is the sub-list for method output_type 28, // [28:28] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name } func init() { file_envoy_config_accesslog_v3_accesslog_proto_init() } func file_envoy_config_accesslog_v3_accesslog_proto_init() { if File_envoy_config_accesslog_v3_accesslog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLogFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComparisonFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusCodeFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DurationFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotHealthCheckFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceableFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AndFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlagFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcStatusFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogTypeFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtensionFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[0].OneofWrappers = []interface{}{ (*AccessLog_TypedConfig)(nil), } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[1].OneofWrappers = []interface{}{ (*AccessLogFilter_StatusCodeFilter)(nil), (*AccessLogFilter_DurationFilter)(nil), (*AccessLogFilter_NotHealthCheckFilter)(nil), (*AccessLogFilter_TraceableFilter)(nil), (*AccessLogFilter_RuntimeFilter)(nil), (*AccessLogFilter_AndFilter)(nil), (*AccessLogFilter_OrFilter)(nil), (*AccessLogFilter_HeaderFilter)(nil), (*AccessLogFilter_ResponseFlagFilter)(nil), (*AccessLogFilter_GrpcStatusFilter)(nil), (*AccessLogFilter_ExtensionFilter)(nil), (*AccessLogFilter_MetadataFilter)(nil), (*AccessLogFilter_LogTypeFilter)(nil), } file_envoy_config_accesslog_v3_accesslog_proto_msgTypes[15].OneofWrappers = []interface{}{ (*ExtensionFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_accesslog_v3_accesslog_proto_rawDesc, NumEnums: 2, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_accesslog_v3_accesslog_proto_goTypes, DependencyIndexes: file_envoy_config_accesslog_v3_accesslog_proto_depIdxs, EnumInfos: file_envoy_config_accesslog_v3_accesslog_proto_enumTypes, MessageInfos: file_envoy_config_accesslog_v3_accesslog_proto_msgTypes, }.Build() File_envoy_config_accesslog_v3_accesslog_proto = out.File file_envoy_config_accesslog_v3_accesslog_proto_rawDesc = nil file_envoy_config_accesslog_v3_accesslog_proto_goTypes = nil file_envoy_config_accesslog_v3_accesslog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/accesslog/v3/accesslog.pb.validate.go000077500000000000000000002213331454502223200263420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/accesslog/v3/accesslog.proto package accesslogv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.AccessLogType(0) ) // Validate checks the field values on AccessLog with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLog with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AccessLogMultiError, or nil // if none found. func (m *AccessLog) ValidateAll() error { return m.validate(true) } func (m *AccessLog) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, } } } switch v := m.ConfigType.(type) { case *AccessLog_TypedConfig: if v == nil { err := AccessLogValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return AccessLogMultiError(errors) } return nil } // AccessLogMultiError is an error wrapping multiple validation errors returned // by AccessLog.ValidateAll() if the designated constraints aren't met. type AccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogMultiError) AllErrors() []error { return m } // AccessLogValidationError is the validation error returned by // AccessLog.Validate if the designated constraints aren't met. type AccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogValidationError) ErrorName() string { return "AccessLogValidationError" } // Error satisfies the builtin error interface func (e AccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogValidationError{} // Validate checks the field values on AccessLogFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AccessLogFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLogFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AccessLogFilterMultiError, or nil if none found. func (m *AccessLogFilter) ValidateAll() error { return m.validate(true) } func (m *AccessLogFilter) validate(all bool) error { if m == nil { return nil } var errors []error oneofFilterSpecifierPresent := false switch v := m.FilterSpecifier.(type) { case *AccessLogFilter_StatusCodeFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetStatusCodeFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatusCodeFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_DurationFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetDurationFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDurationFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_NotHealthCheckFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetNotHealthCheckFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotHealthCheckFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_TraceableFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetTraceableFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceableFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_RuntimeFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetRuntimeFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_AndFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetAndFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_OrFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetOrFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_HeaderFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetHeaderFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_ResponseFlagFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetResponseFlagFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseFlagFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_GrpcStatusFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetGrpcStatusFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcStatusFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_ExtensionFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetExtensionFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtensionFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_MetadataFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetMetadataFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "MetadataFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "MetadataFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "MetadataFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_LogTypeFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetLogTypeFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "LogTypeFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "LogTypeFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLogTypeFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "LogTypeFilter", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFilterSpecifierPresent { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AccessLogFilterMultiError(errors) } return nil } // AccessLogFilterMultiError is an error wrapping multiple validation errors // returned by AccessLogFilter.ValidateAll() if the designated constraints // aren't met. type AccessLogFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogFilterMultiError) AllErrors() []error { return m } // AccessLogFilterValidationError is the validation error returned by // AccessLogFilter.Validate if the designated constraints aren't met. type AccessLogFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogFilterValidationError) ErrorName() string { return "AccessLogFilterValidationError" } // Error satisfies the builtin error interface func (e AccessLogFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLogFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogFilterValidationError{} // Validate checks the field values on ComparisonFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ComparisonFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ComparisonFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ComparisonFilterMultiError, or nil if none found. func (m *ComparisonFilter) ValidateAll() error { return m.validate(true) } func (m *ComparisonFilter) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ComparisonFilter_Op_name[int32(m.GetOp())]; !ok { err := ComparisonFilterValidationError{ field: "Op", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if m.GetValue() == nil { err := ComparisonFilterValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ComparisonFilterMultiError(errors) } return nil } // ComparisonFilterMultiError is an error wrapping multiple validation errors // returned by ComparisonFilter.ValidateAll() if the designated constraints // aren't met. type ComparisonFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ComparisonFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ComparisonFilterMultiError) AllErrors() []error { return m } // ComparisonFilterValidationError is the validation error returned by // ComparisonFilter.Validate if the designated constraints aren't met. type ComparisonFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ComparisonFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ComparisonFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ComparisonFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ComparisonFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ComparisonFilterValidationError) ErrorName() string { return "ComparisonFilterValidationError" } // Error satisfies the builtin error interface func (e ComparisonFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sComparisonFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ComparisonFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ComparisonFilterValidationError{} // Validate checks the field values on StatusCodeFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StatusCodeFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatusCodeFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StatusCodeFilterMultiError, or nil if none found. func (m *StatusCodeFilter) ValidateAll() error { return m.validate(true) } func (m *StatusCodeFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetComparison() == nil { err := StatusCodeFilterValidationError{ field: "Comparison", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetComparison()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetComparison()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StatusCodeFilterMultiError(errors) } return nil } // StatusCodeFilterMultiError is an error wrapping multiple validation errors // returned by StatusCodeFilter.ValidateAll() if the designated constraints // aren't met. type StatusCodeFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatusCodeFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatusCodeFilterMultiError) AllErrors() []error { return m } // StatusCodeFilterValidationError is the validation error returned by // StatusCodeFilter.Validate if the designated constraints aren't met. type StatusCodeFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatusCodeFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatusCodeFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatusCodeFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatusCodeFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatusCodeFilterValidationError) ErrorName() string { return "StatusCodeFilterValidationError" } // Error satisfies the builtin error interface func (e StatusCodeFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatusCodeFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatusCodeFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatusCodeFilterValidationError{} // Validate checks the field values on DurationFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DurationFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DurationFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DurationFilterMultiError, // or nil if none found. func (m *DurationFilter) ValidateAll() error { return m.validate(true) } func (m *DurationFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetComparison() == nil { err := DurationFilterValidationError{ field: "Comparison", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetComparison()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetComparison()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DurationFilterMultiError(errors) } return nil } // DurationFilterMultiError is an error wrapping multiple validation errors // returned by DurationFilter.ValidateAll() if the designated constraints // aren't met. type DurationFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DurationFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DurationFilterMultiError) AllErrors() []error { return m } // DurationFilterValidationError is the validation error returned by // DurationFilter.Validate if the designated constraints aren't met. type DurationFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DurationFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DurationFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DurationFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DurationFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DurationFilterValidationError) ErrorName() string { return "DurationFilterValidationError" } // Error satisfies the builtin error interface func (e DurationFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDurationFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DurationFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DurationFilterValidationError{} // Validate checks the field values on NotHealthCheckFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *NotHealthCheckFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NotHealthCheckFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // NotHealthCheckFilterMultiError, or nil if none found. func (m *NotHealthCheckFilter) ValidateAll() error { return m.validate(true) } func (m *NotHealthCheckFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return NotHealthCheckFilterMultiError(errors) } return nil } // NotHealthCheckFilterMultiError is an error wrapping multiple validation // errors returned by NotHealthCheckFilter.ValidateAll() if the designated // constraints aren't met. type NotHealthCheckFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NotHealthCheckFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NotHealthCheckFilterMultiError) AllErrors() []error { return m } // NotHealthCheckFilterValidationError is the validation error returned by // NotHealthCheckFilter.Validate if the designated constraints aren't met. type NotHealthCheckFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NotHealthCheckFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NotHealthCheckFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NotHealthCheckFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NotHealthCheckFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NotHealthCheckFilterValidationError) ErrorName() string { return "NotHealthCheckFilterValidationError" } // Error satisfies the builtin error interface func (e NotHealthCheckFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNotHealthCheckFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NotHealthCheckFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NotHealthCheckFilterValidationError{} // Validate checks the field values on TraceableFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TraceableFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceableFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraceableFilterMultiError, or nil if none found. func (m *TraceableFilter) ValidateAll() error { return m.validate(true) } func (m *TraceableFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TraceableFilterMultiError(errors) } return nil } // TraceableFilterMultiError is an error wrapping multiple validation errors // returned by TraceableFilter.ValidateAll() if the designated constraints // aren't met. type TraceableFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceableFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceableFilterMultiError) AllErrors() []error { return m } // TraceableFilterValidationError is the validation error returned by // TraceableFilter.Validate if the designated constraints aren't met. type TraceableFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceableFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceableFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceableFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceableFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceableFilterValidationError) ErrorName() string { return "TraceableFilterValidationError" } // Error satisfies the builtin error interface func (e TraceableFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceableFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceableFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceableFilterValidationError{} // Validate checks the field values on RuntimeFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeFilterMultiError, or // nil if none found. func (m *RuntimeFilter) ValidateAll() error { return m.validate(true) } func (m *RuntimeFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetRuntimeKey()) < 1 { err := RuntimeFilterValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPercentSampled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentSampled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseIndependentRandomness if len(errors) > 0 { return RuntimeFilterMultiError(errors) } return nil } // RuntimeFilterMultiError is an error wrapping multiple validation errors // returned by RuntimeFilter.ValidateAll() if the designated constraints // aren't met. type RuntimeFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFilterMultiError) AllErrors() []error { return m } // RuntimeFilterValidationError is the validation error returned by // RuntimeFilter.Validate if the designated constraints aren't met. type RuntimeFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFilterValidationError) ErrorName() string { return "RuntimeFilterValidationError" } // Error satisfies the builtin error interface func (e RuntimeFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFilterValidationError{} // Validate checks the field values on AndFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AndFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AndFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AndFilterMultiError, or nil // if none found. func (m *AndFilter) ValidateAll() error { return m.validate(true) } func (m *AndFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFilters()) < 2 { err := AndFilterValidationError{ field: "Filters", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AndFilterMultiError(errors) } return nil } // AndFilterMultiError is an error wrapping multiple validation errors returned // by AndFilter.ValidateAll() if the designated constraints aren't met. type AndFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AndFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AndFilterMultiError) AllErrors() []error { return m } // AndFilterValidationError is the validation error returned by // AndFilter.Validate if the designated constraints aren't met. type AndFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AndFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AndFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AndFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AndFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AndFilterValidationError) ErrorName() string { return "AndFilterValidationError" } // Error satisfies the builtin error interface func (e AndFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAndFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AndFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AndFilterValidationError{} // Validate checks the field values on OrFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OrFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OrFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OrFilterMultiError, or nil // if none found. func (m *OrFilter) ValidateAll() error { return m.validate(true) } func (m *OrFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFilters()) < 2 { err := OrFilterValidationError{ field: "Filters", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OrFilterMultiError(errors) } return nil } // OrFilterMultiError is an error wrapping multiple validation errors returned // by OrFilter.ValidateAll() if the designated constraints aren't met. type OrFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OrFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OrFilterMultiError) AllErrors() []error { return m } // OrFilterValidationError is the validation error returned by // OrFilter.Validate if the designated constraints aren't met. type OrFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OrFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OrFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OrFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OrFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OrFilterValidationError) ErrorName() string { return "OrFilterValidationError" } // Error satisfies the builtin error interface func (e OrFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOrFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OrFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OrFilterValidationError{} // Validate checks the field values on HeaderFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderFilterMultiError, or // nil if none found. func (m *HeaderFilter) ValidateAll() error { return m.validate(true) } func (m *HeaderFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHeader() == nil { err := HeaderFilterValidationError{ field: "Header", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderFilterMultiError(errors) } return nil } // HeaderFilterMultiError is an error wrapping multiple validation errors // returned by HeaderFilter.ValidateAll() if the designated constraints aren't met. type HeaderFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderFilterMultiError) AllErrors() []error { return m } // HeaderFilterValidationError is the validation error returned by // HeaderFilter.Validate if the designated constraints aren't met. type HeaderFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderFilterValidationError) ErrorName() string { return "HeaderFilterValidationError" } // Error satisfies the builtin error interface func (e HeaderFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderFilterValidationError{} // Validate checks the field values on ResponseFlagFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResponseFlagFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlagFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResponseFlagFilterMultiError, or nil if none found. func (m *ResponseFlagFilter) ValidateAll() error { return m.validate(true) } func (m *ResponseFlagFilter) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetFlags() { _, _ = idx, item if _, ok := _ResponseFlagFilter_Flags_InLookup[item]; !ok { err := ResponseFlagFilterValidationError{ field: fmt.Sprintf("Flags[%v]", idx), reason: "value must be in list [LH UH UT LR UR UF UC UO NR DI FI RL UAEX RLSE DC URX SI IH DPE UMSDR RFCF NFCF DT UPE NC OM DF DO]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ResponseFlagFilterMultiError(errors) } return nil } // ResponseFlagFilterMultiError is an error wrapping multiple validation errors // returned by ResponseFlagFilter.ValidateAll() if the designated constraints // aren't met. type ResponseFlagFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlagFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlagFilterMultiError) AllErrors() []error { return m } // ResponseFlagFilterValidationError is the validation error returned by // ResponseFlagFilter.Validate if the designated constraints aren't met. type ResponseFlagFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlagFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlagFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlagFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlagFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlagFilterValidationError) ErrorName() string { return "ResponseFlagFilterValidationError" } // Error satisfies the builtin error interface func (e ResponseFlagFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlagFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlagFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlagFilterValidationError{} var _ResponseFlagFilter_Flags_InLookup = map[string]struct{}{ "LH": {}, "UH": {}, "UT": {}, "LR": {}, "UR": {}, "UF": {}, "UC": {}, "UO": {}, "NR": {}, "DI": {}, "FI": {}, "RL": {}, "UAEX": {}, "RLSE": {}, "DC": {}, "URX": {}, "SI": {}, "IH": {}, "DPE": {}, "UMSDR": {}, "RFCF": {}, "NFCF": {}, "DT": {}, "UPE": {}, "NC": {}, "OM": {}, "DF": {}, "DO": {}, } // Validate checks the field values on GrpcStatusFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *GrpcStatusFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcStatusFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcStatusFilterMultiError, or nil if none found. func (m *GrpcStatusFilter) ValidateAll() error { return m.validate(true) } func (m *GrpcStatusFilter) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStatuses() { _, _ = idx, item if _, ok := GrpcStatusFilter_Status_name[int32(item)]; !ok { err := GrpcStatusFilterValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } // no validation rules for Exclude if len(errors) > 0 { return GrpcStatusFilterMultiError(errors) } return nil } // GrpcStatusFilterMultiError is an error wrapping multiple validation errors // returned by GrpcStatusFilter.ValidateAll() if the designated constraints // aren't met. type GrpcStatusFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcStatusFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcStatusFilterMultiError) AllErrors() []error { return m } // GrpcStatusFilterValidationError is the validation error returned by // GrpcStatusFilter.Validate if the designated constraints aren't met. type GrpcStatusFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcStatusFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcStatusFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcStatusFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcStatusFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcStatusFilterValidationError) ErrorName() string { return "GrpcStatusFilterValidationError" } // Error satisfies the builtin error interface func (e GrpcStatusFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcStatusFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcStatusFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcStatusFilterValidationError{} // Validate checks the field values on MetadataFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MetadataFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataFilterMultiError, // or nil if none found. func (m *MetadataFilter) ValidateAll() error { return m.validate(true) } func (m *MetadataFilter) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataFilterValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataFilterValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataFilterValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMatchIfKeyNotFound()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataFilterValidationError{ field: "MatchIfKeyNotFound", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataFilterValidationError{ field: "MatchIfKeyNotFound", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatchIfKeyNotFound()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataFilterValidationError{ field: "MatchIfKeyNotFound", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MetadataFilterMultiError(errors) } return nil } // MetadataFilterMultiError is an error wrapping multiple validation errors // returned by MetadataFilter.ValidateAll() if the designated constraints // aren't met. type MetadataFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataFilterMultiError) AllErrors() []error { return m } // MetadataFilterValidationError is the validation error returned by // MetadataFilter.Validate if the designated constraints aren't met. type MetadataFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataFilterValidationError) ErrorName() string { return "MetadataFilterValidationError" } // Error satisfies the builtin error interface func (e MetadataFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataFilterValidationError{} // Validate checks the field values on LogTypeFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LogTypeFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LogTypeFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LogTypeFilterMultiError, or // nil if none found. func (m *LogTypeFilter) ValidateAll() error { return m.validate(true) } func (m *LogTypeFilter) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetTypes() { _, _ = idx, item if _, ok := v3.AccessLogType_name[int32(item)]; !ok { err := LogTypeFilterValidationError{ field: fmt.Sprintf("Types[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } // no validation rules for Exclude if len(errors) > 0 { return LogTypeFilterMultiError(errors) } return nil } // LogTypeFilterMultiError is an error wrapping multiple validation errors // returned by LogTypeFilter.ValidateAll() if the designated constraints // aren't met. type LogTypeFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LogTypeFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LogTypeFilterMultiError) AllErrors() []error { return m } // LogTypeFilterValidationError is the validation error returned by // LogTypeFilter.Validate if the designated constraints aren't met. type LogTypeFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LogTypeFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LogTypeFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LogTypeFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LogTypeFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LogTypeFilterValidationError) ErrorName() string { return "LogTypeFilterValidationError" } // Error satisfies the builtin error interface func (e LogTypeFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLogTypeFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LogTypeFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LogTypeFilterValidationError{} // Validate checks the field values on ExtensionFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtensionFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtensionFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtensionFilterMultiError, or nil if none found. func (m *ExtensionFilter) ValidateAll() error { return m.validate(true) } func (m *ExtensionFilter) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *ExtensionFilter_TypedConfig: if v == nil { err := ExtensionFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ExtensionFilterMultiError(errors) } return nil } // ExtensionFilterMultiError is an error wrapping multiple validation errors // returned by ExtensionFilter.ValidateAll() if the designated constraints // aren't met. type ExtensionFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionFilterMultiError) AllErrors() []error { return m } // ExtensionFilterValidationError is the validation error returned by // ExtensionFilter.Validate if the designated constraints aren't met. type ExtensionFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionFilterValidationError) ErrorName() string { return "ExtensionFilterValidationError" } // Error satisfies the builtin error interface func (e ExtensionFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtensionFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionFilterValidationError{} go-control-plane-0.12.0/envoy/config/bootstrap/000077500000000000000000000000001454502223200213735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/bootstrap/v2/000077500000000000000000000000001454502223200217225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/bootstrap/v2/bootstrap.pb.go000077500000000000000000002353461454502223200247060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/bootstrap/v2/bootstrap.proto package bootstrapv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v22 "github.com/envoyproxy/go-control-plane/envoy/api/v2" auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2 "github.com/envoyproxy/go-control-plane/envoy/config/metrics/v2" v2alpha "github.com/envoyproxy/go-control-plane/envoy/config/overload/v2alpha" v21 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Bootstrap :ref:`configuration overview `. // [#next-free-field: 21] type Bootstrap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node identity to present to the management server and for instance // identification purposes (e.g. in generated headers). Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // Statically specified resources. StaticResources *Bootstrap_StaticResources `protobuf:"bytes,2,opt,name=static_resources,json=staticResources,proto3" json:"static_resources,omitempty"` // xDS configuration sources. DynamicResources *Bootstrap_DynamicResources `protobuf:"bytes,3,opt,name=dynamic_resources,json=dynamicResources,proto3" json:"dynamic_resources,omitempty"` // Configuration for the cluster manager which owns all upstream clusters // within the server. ClusterManager *ClusterManager `protobuf:"bytes,4,opt,name=cluster_manager,json=clusterManager,proto3" json:"cluster_manager,omitempty"` // Health discovery service config option. // (:ref:`core.ApiConfigSource `) HdsConfig *core.ApiConfigSource `protobuf:"bytes,14,opt,name=hds_config,json=hdsConfig,proto3" json:"hds_config,omitempty"` // Optional file system path to search for startup flag files. FlagsPath string `protobuf:"bytes,5,opt,name=flags_path,json=flagsPath,proto3" json:"flags_path,omitempty"` // Optional set of stats sinks. StatsSinks []*v2.StatsSink `protobuf:"bytes,6,rep,name=stats_sinks,json=statsSinks,proto3" json:"stats_sinks,omitempty"` // Configuration for internal processing of stats. StatsConfig *v2.StatsConfig `protobuf:"bytes,13,opt,name=stats_config,json=statsConfig,proto3" json:"stats_config,omitempty"` // Optional duration between flushes to configured stats sinks. For // performance reasons Envoy latches counters and only flushes counters and // gauges at a periodic interval. If not specified the default is 5000ms (5 // seconds). // Duration must be at least 1ms and at most 5 min. StatsFlushInterval *duration.Duration `protobuf:"bytes,7,opt,name=stats_flush_interval,json=statsFlushInterval,proto3" json:"stats_flush_interval,omitempty"` // Optional watchdog configuration. Watchdog *Watchdog `protobuf:"bytes,8,opt,name=watchdog,proto3" json:"watchdog,omitempty"` // Configuration for an external tracing provider. // // .. attention:: // // This field has been deprecated in favor of :ref:`HttpConnectionManager.Tracing.provider // `. Tracing *v21.Tracing `protobuf:"bytes,9,opt,name=tracing,proto3" json:"tracing,omitempty"` // Configuration for the runtime configuration provider (deprecated). If not // specified, a “null” provider will be used which will result in all defaults // being used. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v2/bootstrap.proto. Runtime *Runtime `protobuf:"bytes,11,opt,name=runtime,proto3" json:"runtime,omitempty"` // Configuration for the runtime configuration provider. If not // specified, a “null” provider will be used which will result in all defaults // being used. LayeredRuntime *LayeredRuntime `protobuf:"bytes,17,opt,name=layered_runtime,json=layeredRuntime,proto3" json:"layered_runtime,omitempty"` // Configuration for the local administration HTTP server. Admin *Admin `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` // Optional overload manager configuration. OverloadManager *v2alpha.OverloadManager `protobuf:"bytes,15,opt,name=overload_manager,json=overloadManager,proto3" json:"overload_manager,omitempty"` // Enable :ref:`stats for event dispatcher `, defaults to false. // Note that this records a value for each iteration of the event loop on every thread. This // should normally be minimal overhead, but when using // :ref:`statsd `, it will send each observed value // over the wire individually because the statsd protocol doesn't have any way to represent a // histogram summary. Be aware that this can be a very large volume of data. EnableDispatcherStats bool `protobuf:"varint,16,opt,name=enable_dispatcher_stats,json=enableDispatcherStats,proto3" json:"enable_dispatcher_stats,omitempty"` // Optional string which will be used in lieu of x-envoy in prefixing headers. // // For example, if this string is present and set to X-Foo, then x-envoy-retry-on will be // transformed into x-foo-retry-on etc. // // Note this applies to the headers Envoy will generate, the headers Envoy will sanitize, and the // headers Envoy will trust for core code and core extensions only. Be VERY careful making // changes to this string, especially in multi-layer Envoy deployments or deployments using // extensions which are not upstream. HeaderPrefix string `protobuf:"bytes,18,opt,name=header_prefix,json=headerPrefix,proto3" json:"header_prefix,omitempty"` // Optional proxy version which will be used to set the value of :ref:`server.version statistic // ` if specified. Envoy will not process this value, it will be sent as is to // :ref:`stats sinks `. StatsServerVersionOverride *wrappers.UInt64Value `protobuf:"bytes,19,opt,name=stats_server_version_override,json=statsServerVersionOverride,proto3" json:"stats_server_version_override,omitempty"` // Always use TCP queries instead of UDP queries for DNS lookups. // This may be overridden on a per-cluster basis in cds_config, // when :ref:`dns_resolvers ` and // :ref:`use_tcp_for_dns_lookups ` are // specified. // Setting this value causes failure if the // “envoy.restart_features.use_apple_api_for_dns_lookups“ runtime value is true during // server startup. Apple' API only uses UDP for DNS resolution. UseTcpForDnsLookups bool `protobuf:"varint,20,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` } func (x *Bootstrap) Reset() { *x = Bootstrap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap) ProtoMessage() {} func (x *Bootstrap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap.ProtoReflect.Descriptor instead. func (*Bootstrap) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{0} } func (x *Bootstrap) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *Bootstrap) GetStaticResources() *Bootstrap_StaticResources { if x != nil { return x.StaticResources } return nil } func (x *Bootstrap) GetDynamicResources() *Bootstrap_DynamicResources { if x != nil { return x.DynamicResources } return nil } func (x *Bootstrap) GetClusterManager() *ClusterManager { if x != nil { return x.ClusterManager } return nil } func (x *Bootstrap) GetHdsConfig() *core.ApiConfigSource { if x != nil { return x.HdsConfig } return nil } func (x *Bootstrap) GetFlagsPath() string { if x != nil { return x.FlagsPath } return "" } func (x *Bootstrap) GetStatsSinks() []*v2.StatsSink { if x != nil { return x.StatsSinks } return nil } func (x *Bootstrap) GetStatsConfig() *v2.StatsConfig { if x != nil { return x.StatsConfig } return nil } func (x *Bootstrap) GetStatsFlushInterval() *duration.Duration { if x != nil { return x.StatsFlushInterval } return nil } func (x *Bootstrap) GetWatchdog() *Watchdog { if x != nil { return x.Watchdog } return nil } func (x *Bootstrap) GetTracing() *v21.Tracing { if x != nil { return x.Tracing } return nil } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v2/bootstrap.proto. func (x *Bootstrap) GetRuntime() *Runtime { if x != nil { return x.Runtime } return nil } func (x *Bootstrap) GetLayeredRuntime() *LayeredRuntime { if x != nil { return x.LayeredRuntime } return nil } func (x *Bootstrap) GetAdmin() *Admin { if x != nil { return x.Admin } return nil } func (x *Bootstrap) GetOverloadManager() *v2alpha.OverloadManager { if x != nil { return x.OverloadManager } return nil } func (x *Bootstrap) GetEnableDispatcherStats() bool { if x != nil { return x.EnableDispatcherStats } return false } func (x *Bootstrap) GetHeaderPrefix() string { if x != nil { return x.HeaderPrefix } return "" } func (x *Bootstrap) GetStatsServerVersionOverride() *wrappers.UInt64Value { if x != nil { return x.StatsServerVersionOverride } return nil } func (x *Bootstrap) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } // Administration interface :ref:`operations documentation // `. type Admin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The path to write the access log for the administration server. If no // access log is desired specify ‘/dev/null’. This is only required if // :ref:`address ` is set. AccessLogPath string `protobuf:"bytes,1,opt,name=access_log_path,json=accessLogPath,proto3" json:"access_log_path,omitempty"` // The cpu profiler output path for the administration server. If no profile // path is specified, the default is ‘/var/log/envoy/envoy.prof’. ProfilePath string `protobuf:"bytes,2,opt,name=profile_path,json=profilePath,proto3" json:"profile_path,omitempty"` // The TCP address that the administration server will listen on. // If not specified, Envoy will not start an administration server. Address *core.Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. SocketOptions []*core.SocketOption `protobuf:"bytes,4,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` } func (x *Admin) Reset() { *x = Admin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Admin) String() string { return protoimpl.X.MessageStringOf(x) } func (*Admin) ProtoMessage() {} func (x *Admin) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Admin.ProtoReflect.Descriptor instead. func (*Admin) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{1} } func (x *Admin) GetAccessLogPath() string { if x != nil { return x.AccessLogPath } return "" } func (x *Admin) GetProfilePath() string { if x != nil { return x.ProfilePath } return "" } func (x *Admin) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *Admin) GetSocketOptions() []*core.SocketOption { if x != nil { return x.SocketOptions } return nil } // Cluster manager :ref:`architecture overview `. type ClusterManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the local cluster (i.e., the cluster that owns the Envoy running // this configuration). In order to enable :ref:`zone aware routing // ` this option must be set. // If *local_cluster_name* is defined then :ref:`clusters // ` must be defined in the :ref:`Bootstrap // static cluster resources // `. This is unrelated to // the :option:`--service-cluster` option which does not `affect zone aware // routing `_. LocalClusterName string `protobuf:"bytes,1,opt,name=local_cluster_name,json=localClusterName,proto3" json:"local_cluster_name,omitempty"` // Optional global configuration for outlier detection. OutlierDetection *ClusterManager_OutlierDetection `protobuf:"bytes,2,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // Optional configuration used to bind newly established upstream connections. // This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config. UpstreamBindConfig *core.BindConfig `protobuf:"bytes,3,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"` // A management server endpoint to stream load stats to via // *StreamLoadStats*. This must have :ref:`api_type // ` :ref:`GRPC // `. LoadStatsConfig *core.ApiConfigSource `protobuf:"bytes,4,opt,name=load_stats_config,json=loadStatsConfig,proto3" json:"load_stats_config,omitempty"` } func (x *ClusterManager) Reset() { *x = ClusterManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterManager) ProtoMessage() {} func (x *ClusterManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterManager.ProtoReflect.Descriptor instead. func (*ClusterManager) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{2} } func (x *ClusterManager) GetLocalClusterName() string { if x != nil { return x.LocalClusterName } return "" } func (x *ClusterManager) GetOutlierDetection() *ClusterManager_OutlierDetection { if x != nil { return x.OutlierDetection } return nil } func (x *ClusterManager) GetUpstreamBindConfig() *core.BindConfig { if x != nil { return x.UpstreamBindConfig } return nil } func (x *ClusterManager) GetLoadStatsConfig() *core.ApiConfigSource { if x != nil { return x.LoadStatsConfig } return nil } // Envoy process watchdog configuration. When configured, this monitors for // nonresponsive threads and kills the process after the configured thresholds. // See the :ref:`watchdog documentation ` for more information. type Watchdog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The duration after which Envoy counts a nonresponsive thread in the // *watchdog_miss* statistic. If not specified the default is 200ms. MissTimeout *duration.Duration `protobuf:"bytes,1,opt,name=miss_timeout,json=missTimeout,proto3" json:"miss_timeout,omitempty"` // The duration after which Envoy counts a nonresponsive thread in the // *watchdog_mega_miss* statistic. If not specified the default is // 1000ms. MegamissTimeout *duration.Duration `protobuf:"bytes,2,opt,name=megamiss_timeout,json=megamissTimeout,proto3" json:"megamiss_timeout,omitempty"` // If a watched thread has been nonresponsive for this duration, assume a // programming error and kill the entire Envoy process. Set to 0 to disable // kill behavior. If not specified the default is 0 (disabled). KillTimeout *duration.Duration `protobuf:"bytes,3,opt,name=kill_timeout,json=killTimeout,proto3" json:"kill_timeout,omitempty"` // If at least two watched threads have been nonresponsive for at least this // duration assume a true deadlock and kill the entire Envoy process. Set to 0 // to disable this behavior. If not specified the default is 0 (disabled). MultikillTimeout *duration.Duration `protobuf:"bytes,4,opt,name=multikill_timeout,json=multikillTimeout,proto3" json:"multikill_timeout,omitempty"` } func (x *Watchdog) Reset() { *x = Watchdog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Watchdog) String() string { return protoimpl.X.MessageStringOf(x) } func (*Watchdog) ProtoMessage() {} func (x *Watchdog) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Watchdog.ProtoReflect.Descriptor instead. func (*Watchdog) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{3} } func (x *Watchdog) GetMissTimeout() *duration.Duration { if x != nil { return x.MissTimeout } return nil } func (x *Watchdog) GetMegamissTimeout() *duration.Duration { if x != nil { return x.MegamissTimeout } return nil } func (x *Watchdog) GetKillTimeout() *duration.Duration { if x != nil { return x.KillTimeout } return nil } func (x *Watchdog) GetMultikillTimeout() *duration.Duration { if x != nil { return x.MultikillTimeout } return nil } // Runtime :ref:`configuration overview ` (deprecated). type Runtime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The implementation assumes that the file system tree is accessed via a // symbolic link. An atomic link swap is used when a new tree should be // switched to. This parameter specifies the path to the symbolic link. Envoy // will watch the location for changes and reload the file system tree when // they happen. If this parameter is not set, there will be no disk based // runtime. SymlinkRoot string `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"` // Specifies the subdirectory to load within the root directory. This is // useful if multiple systems share the same delivery mechanism. Envoy // configuration elements can be contained in a dedicated subdirectory. Subdirectory string `protobuf:"bytes,2,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"` // Specifies an optional subdirectory to load within the root directory. If // specified and the directory exists, configuration values within this // directory will override those found in the primary subdirectory. This is // useful when Envoy is deployed across many different types of servers. // Sometimes it is useful to have a per service cluster directory for runtime // configuration. See below for exactly how the override directory is used. OverrideSubdirectory string `protobuf:"bytes,3,opt,name=override_subdirectory,json=overrideSubdirectory,proto3" json:"override_subdirectory,omitempty"` // Static base runtime. This will be :ref:`overridden // ` by other runtime layers, e.g. // disk or admin. This follows the :ref:`runtime protobuf JSON representation // encoding `. Base *_struct.Struct `protobuf:"bytes,4,opt,name=base,proto3" json:"base,omitempty"` } func (x *Runtime) Reset() { *x = Runtime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runtime) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runtime) ProtoMessage() {} func (x *Runtime) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Runtime.ProtoReflect.Descriptor instead. func (*Runtime) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{4} } func (x *Runtime) GetSymlinkRoot() string { if x != nil { return x.SymlinkRoot } return "" } func (x *Runtime) GetSubdirectory() string { if x != nil { return x.Subdirectory } return "" } func (x *Runtime) GetOverrideSubdirectory() string { if x != nil { return x.OverrideSubdirectory } return "" } func (x *Runtime) GetBase() *_struct.Struct { if x != nil { return x.Base } return nil } // [#next-free-field: 6] type RuntimeLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptive name for the runtime layer. This is only used for the runtime // :http:get:`/runtime` output. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to LayerSpecifier: // // *RuntimeLayer_StaticLayer // *RuntimeLayer_DiskLayer_ // *RuntimeLayer_AdminLayer_ // *RuntimeLayer_RtdsLayer_ LayerSpecifier isRuntimeLayer_LayerSpecifier `protobuf_oneof:"layer_specifier"` } func (x *RuntimeLayer) Reset() { *x = RuntimeLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer) ProtoMessage() {} func (x *RuntimeLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{5} } func (x *RuntimeLayer) GetName() string { if x != nil { return x.Name } return "" } func (m *RuntimeLayer) GetLayerSpecifier() isRuntimeLayer_LayerSpecifier { if m != nil { return m.LayerSpecifier } return nil } func (x *RuntimeLayer) GetStaticLayer() *_struct.Struct { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_StaticLayer); ok { return x.StaticLayer } return nil } func (x *RuntimeLayer) GetDiskLayer() *RuntimeLayer_DiskLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_DiskLayer_); ok { return x.DiskLayer } return nil } func (x *RuntimeLayer) GetAdminLayer() *RuntimeLayer_AdminLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_AdminLayer_); ok { return x.AdminLayer } return nil } func (x *RuntimeLayer) GetRtdsLayer() *RuntimeLayer_RtdsLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_RtdsLayer_); ok { return x.RtdsLayer } return nil } type isRuntimeLayer_LayerSpecifier interface { isRuntimeLayer_LayerSpecifier() } type RuntimeLayer_StaticLayer struct { // :ref:`Static runtime ` layer. // This follows the :ref:`runtime protobuf JSON representation encoding // `. Unlike static xDS resources, this static // layer is overridable by later layers in the runtime virtual filesystem. StaticLayer *_struct.Struct `protobuf:"bytes,2,opt,name=static_layer,json=staticLayer,proto3,oneof"` } type RuntimeLayer_DiskLayer_ struct { DiskLayer *RuntimeLayer_DiskLayer `protobuf:"bytes,3,opt,name=disk_layer,json=diskLayer,proto3,oneof"` } type RuntimeLayer_AdminLayer_ struct { AdminLayer *RuntimeLayer_AdminLayer `protobuf:"bytes,4,opt,name=admin_layer,json=adminLayer,proto3,oneof"` } type RuntimeLayer_RtdsLayer_ struct { RtdsLayer *RuntimeLayer_RtdsLayer `protobuf:"bytes,5,opt,name=rtds_layer,json=rtdsLayer,proto3,oneof"` } func (*RuntimeLayer_StaticLayer) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_DiskLayer_) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_AdminLayer_) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_RtdsLayer_) isRuntimeLayer_LayerSpecifier() {} // Runtime :ref:`configuration overview `. type LayeredRuntime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`layers ` of the runtime. This is ordered // such that later layers in the list overlay earlier entries. Layers []*RuntimeLayer `protobuf:"bytes,1,rep,name=layers,proto3" json:"layers,omitempty"` } func (x *LayeredRuntime) Reset() { *x = LayeredRuntime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LayeredRuntime) String() string { return protoimpl.X.MessageStringOf(x) } func (*LayeredRuntime) ProtoMessage() {} func (x *LayeredRuntime) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LayeredRuntime.ProtoReflect.Descriptor instead. func (*LayeredRuntime) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{6} } func (x *LayeredRuntime) GetLayers() []*RuntimeLayer { if x != nil { return x.Layers } return nil } type Bootstrap_StaticResources struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Static :ref:`Listeners `. These listeners are // available regardless of LDS configuration. Listeners []*v22.Listener `protobuf:"bytes,1,rep,name=listeners,proto3" json:"listeners,omitempty"` // If a network based configuration source is specified for :ref:`cds_config // `, it's necessary // to have some initial cluster definitions available to allow Envoy to know // how to speak to the management server. These cluster definitions may not // use :ref:`EDS ` (i.e. they should be static // IP or DNS-based). Clusters []*v22.Cluster `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"` // These static secrets can be used by :ref:`SdsSecretConfig // ` Secrets []*auth.Secret `protobuf:"bytes,3,rep,name=secrets,proto3" json:"secrets,omitempty"` } func (x *Bootstrap_StaticResources) Reset() { *x = Bootstrap_StaticResources{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_StaticResources) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_StaticResources) ProtoMessage() {} func (x *Bootstrap_StaticResources) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_StaticResources.ProtoReflect.Descriptor instead. func (*Bootstrap_StaticResources) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{0, 0} } func (x *Bootstrap_StaticResources) GetListeners() []*v22.Listener { if x != nil { return x.Listeners } return nil } func (x *Bootstrap_StaticResources) GetClusters() []*v22.Cluster { if x != nil { return x.Clusters } return nil } func (x *Bootstrap_StaticResources) GetSecrets() []*auth.Secret { if x != nil { return x.Secrets } return nil } type Bootstrap_DynamicResources struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All :ref:`Listeners ` are provided by a single // :ref:`LDS ` configuration source. LdsConfig *core.ConfigSource `protobuf:"bytes,1,opt,name=lds_config,json=ldsConfig,proto3" json:"lds_config,omitempty"` // All post-bootstrap :ref:`Cluster ` definitions are // provided by a single :ref:`CDS ` // configuration source. CdsConfig *core.ConfigSource `protobuf:"bytes,2,opt,name=cds_config,json=cdsConfig,proto3" json:"cds_config,omitempty"` // A single :ref:`ADS ` source may be optionally // specified. This must have :ref:`api_type // ` :ref:`GRPC // `. Only // :ref:`ConfigSources ` that have // the :ref:`ads ` field set will be // streamed on the ADS channel. AdsConfig *core.ApiConfigSource `protobuf:"bytes,3,opt,name=ads_config,json=adsConfig,proto3" json:"ads_config,omitempty"` } func (x *Bootstrap_DynamicResources) Reset() { *x = Bootstrap_DynamicResources{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_DynamicResources) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_DynamicResources) ProtoMessage() {} func (x *Bootstrap_DynamicResources) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_DynamicResources.ProtoReflect.Descriptor instead. func (*Bootstrap_DynamicResources) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{0, 1} } func (x *Bootstrap_DynamicResources) GetLdsConfig() *core.ConfigSource { if x != nil { return x.LdsConfig } return nil } func (x *Bootstrap_DynamicResources) GetCdsConfig() *core.ConfigSource { if x != nil { return x.CdsConfig } return nil } func (x *Bootstrap_DynamicResources) GetAdsConfig() *core.ApiConfigSource { if x != nil { return x.AdsConfig } return nil } type ClusterManager_OutlierDetection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the path to the outlier event log. EventLogPath string `protobuf:"bytes,1,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"` // [#not-implemented-hide:] // The gRPC service for the outlier detection event service. // If empty, outlier detection events won't be sent to a remote endpoint. EventService *core.EventServiceConfig `protobuf:"bytes,2,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"` } func (x *ClusterManager_OutlierDetection) Reset() { *x = ClusterManager_OutlierDetection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterManager_OutlierDetection) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterManager_OutlierDetection) ProtoMessage() {} func (x *ClusterManager_OutlierDetection) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterManager_OutlierDetection.ProtoReflect.Descriptor instead. func (*ClusterManager_OutlierDetection) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{2, 0} } func (x *ClusterManager_OutlierDetection) GetEventLogPath() string { if x != nil { return x.EventLogPath } return "" } func (x *ClusterManager_OutlierDetection) GetEventService() *core.EventServiceConfig { if x != nil { return x.EventService } return nil } // :ref:`Disk runtime ` layer. type RuntimeLayer_DiskLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The implementation assumes that the file system tree is accessed via a // symbolic link. An atomic link swap is used when a new tree should be // switched to. This parameter specifies the path to the symbolic link. // Envoy will watch the location for changes and reload the file system tree // when they happen. See documentation on runtime :ref:`atomicity // ` for further details on how reloads are // treated. SymlinkRoot string `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"` // Specifies the subdirectory to load within the root directory. This is // useful if multiple systems share the same delivery mechanism. Envoy // configuration elements can be contained in a dedicated subdirectory. Subdirectory string `protobuf:"bytes,3,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"` // :ref:`Append ` the // service cluster to the path under symlink root. AppendServiceCluster bool `protobuf:"varint,2,opt,name=append_service_cluster,json=appendServiceCluster,proto3" json:"append_service_cluster,omitempty"` } func (x *RuntimeLayer_DiskLayer) Reset() { *x = RuntimeLayer_DiskLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_DiskLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_DiskLayer) ProtoMessage() {} func (x *RuntimeLayer_DiskLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_DiskLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_DiskLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{5, 0} } func (x *RuntimeLayer_DiskLayer) GetSymlinkRoot() string { if x != nil { return x.SymlinkRoot } return "" } func (x *RuntimeLayer_DiskLayer) GetSubdirectory() string { if x != nil { return x.Subdirectory } return "" } func (x *RuntimeLayer_DiskLayer) GetAppendServiceCluster() bool { if x != nil { return x.AppendServiceCluster } return false } // :ref:`Admin console runtime ` layer. type RuntimeLayer_AdminLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RuntimeLayer_AdminLayer) Reset() { *x = RuntimeLayer_AdminLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_AdminLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_AdminLayer) ProtoMessage() {} func (x *RuntimeLayer_AdminLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_AdminLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_AdminLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{5, 1} } // :ref:`Runtime Discovery Service (RTDS) ` layer. type RuntimeLayer_RtdsLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Resource to subscribe to at *rtds_config* for the RTDS layer. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // RTDS configuration source. RtdsConfig *core.ConfigSource `protobuf:"bytes,2,opt,name=rtds_config,json=rtdsConfig,proto3" json:"rtds_config,omitempty"` } func (x *RuntimeLayer_RtdsLayer) Reset() { *x = RuntimeLayer_RtdsLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_RtdsLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_RtdsLayer) ProtoMessage() {} func (x *RuntimeLayer_RtdsLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_RtdsLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_RtdsLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP(), []int{5, 2} } func (x *RuntimeLayer_RtdsLayer) GetName() string { if x != nil { return x.Name } return "" } func (x *RuntimeLayer_RtdsLayer) GetRtdsConfig() *core.ConfigSource { if x != nil { return x.RtdsConfig } return nil } var File_envoy_config_bootstrap_v2_bootstrap_proto protoreflect.FileDescriptor var file_envoy_config_bootstrap_v2_bootstrap_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x0d, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0a, 0x68, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x68, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0xaa, 0x01, 0x0b, 0x1a, 0x03, 0x08, 0xac, 0x02, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x5f, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x1a, 0xaf, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0xd0, 0x01, 0x0a, 0x05, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcf, 0x03, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x84, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x08, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x22, 0xfc, 0x04, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x72, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x88, 0x01, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x0c, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x61, 0x0a, 0x09, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x51, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x42, 0x91, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x3b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescOnce sync.Once file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescData = file_envoy_config_bootstrap_v2_bootstrap_proto_rawDesc ) func file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescGZIP() []byte { file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescOnce.Do(func() { file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescData) }) return file_envoy_config_bootstrap_v2_bootstrap_proto_rawDescData } var file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_envoy_config_bootstrap_v2_bootstrap_proto_goTypes = []interface{}{ (*Bootstrap)(nil), // 0: envoy.config.bootstrap.v2.Bootstrap (*Admin)(nil), // 1: envoy.config.bootstrap.v2.Admin (*ClusterManager)(nil), // 2: envoy.config.bootstrap.v2.ClusterManager (*Watchdog)(nil), // 3: envoy.config.bootstrap.v2.Watchdog (*Runtime)(nil), // 4: envoy.config.bootstrap.v2.Runtime (*RuntimeLayer)(nil), // 5: envoy.config.bootstrap.v2.RuntimeLayer (*LayeredRuntime)(nil), // 6: envoy.config.bootstrap.v2.LayeredRuntime (*Bootstrap_StaticResources)(nil), // 7: envoy.config.bootstrap.v2.Bootstrap.StaticResources (*Bootstrap_DynamicResources)(nil), // 8: envoy.config.bootstrap.v2.Bootstrap.DynamicResources (*ClusterManager_OutlierDetection)(nil), // 9: envoy.config.bootstrap.v2.ClusterManager.OutlierDetection (*RuntimeLayer_DiskLayer)(nil), // 10: envoy.config.bootstrap.v2.RuntimeLayer.DiskLayer (*RuntimeLayer_AdminLayer)(nil), // 11: envoy.config.bootstrap.v2.RuntimeLayer.AdminLayer (*RuntimeLayer_RtdsLayer)(nil), // 12: envoy.config.bootstrap.v2.RuntimeLayer.RtdsLayer (*core.Node)(nil), // 13: envoy.api.v2.core.Node (*core.ApiConfigSource)(nil), // 14: envoy.api.v2.core.ApiConfigSource (*v2.StatsSink)(nil), // 15: envoy.config.metrics.v2.StatsSink (*v2.StatsConfig)(nil), // 16: envoy.config.metrics.v2.StatsConfig (*duration.Duration)(nil), // 17: google.protobuf.Duration (*v21.Tracing)(nil), // 18: envoy.config.trace.v2.Tracing (*v2alpha.OverloadManager)(nil), // 19: envoy.config.overload.v2alpha.OverloadManager (*wrappers.UInt64Value)(nil), // 20: google.protobuf.UInt64Value (*core.Address)(nil), // 21: envoy.api.v2.core.Address (*core.SocketOption)(nil), // 22: envoy.api.v2.core.SocketOption (*core.BindConfig)(nil), // 23: envoy.api.v2.core.BindConfig (*_struct.Struct)(nil), // 24: google.protobuf.Struct (*v22.Listener)(nil), // 25: envoy.api.v2.Listener (*v22.Cluster)(nil), // 26: envoy.api.v2.Cluster (*auth.Secret)(nil), // 27: envoy.api.v2.auth.Secret (*core.ConfigSource)(nil), // 28: envoy.api.v2.core.ConfigSource (*core.EventServiceConfig)(nil), // 29: envoy.api.v2.core.EventServiceConfig } var file_envoy_config_bootstrap_v2_bootstrap_proto_depIdxs = []int32{ 13, // 0: envoy.config.bootstrap.v2.Bootstrap.node:type_name -> envoy.api.v2.core.Node 7, // 1: envoy.config.bootstrap.v2.Bootstrap.static_resources:type_name -> envoy.config.bootstrap.v2.Bootstrap.StaticResources 8, // 2: envoy.config.bootstrap.v2.Bootstrap.dynamic_resources:type_name -> envoy.config.bootstrap.v2.Bootstrap.DynamicResources 2, // 3: envoy.config.bootstrap.v2.Bootstrap.cluster_manager:type_name -> envoy.config.bootstrap.v2.ClusterManager 14, // 4: envoy.config.bootstrap.v2.Bootstrap.hds_config:type_name -> envoy.api.v2.core.ApiConfigSource 15, // 5: envoy.config.bootstrap.v2.Bootstrap.stats_sinks:type_name -> envoy.config.metrics.v2.StatsSink 16, // 6: envoy.config.bootstrap.v2.Bootstrap.stats_config:type_name -> envoy.config.metrics.v2.StatsConfig 17, // 7: envoy.config.bootstrap.v2.Bootstrap.stats_flush_interval:type_name -> google.protobuf.Duration 3, // 8: envoy.config.bootstrap.v2.Bootstrap.watchdog:type_name -> envoy.config.bootstrap.v2.Watchdog 18, // 9: envoy.config.bootstrap.v2.Bootstrap.tracing:type_name -> envoy.config.trace.v2.Tracing 4, // 10: envoy.config.bootstrap.v2.Bootstrap.runtime:type_name -> envoy.config.bootstrap.v2.Runtime 6, // 11: envoy.config.bootstrap.v2.Bootstrap.layered_runtime:type_name -> envoy.config.bootstrap.v2.LayeredRuntime 1, // 12: envoy.config.bootstrap.v2.Bootstrap.admin:type_name -> envoy.config.bootstrap.v2.Admin 19, // 13: envoy.config.bootstrap.v2.Bootstrap.overload_manager:type_name -> envoy.config.overload.v2alpha.OverloadManager 20, // 14: envoy.config.bootstrap.v2.Bootstrap.stats_server_version_override:type_name -> google.protobuf.UInt64Value 21, // 15: envoy.config.bootstrap.v2.Admin.address:type_name -> envoy.api.v2.core.Address 22, // 16: envoy.config.bootstrap.v2.Admin.socket_options:type_name -> envoy.api.v2.core.SocketOption 9, // 17: envoy.config.bootstrap.v2.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v2.ClusterManager.OutlierDetection 23, // 18: envoy.config.bootstrap.v2.ClusterManager.upstream_bind_config:type_name -> envoy.api.v2.core.BindConfig 14, // 19: envoy.config.bootstrap.v2.ClusterManager.load_stats_config:type_name -> envoy.api.v2.core.ApiConfigSource 17, // 20: envoy.config.bootstrap.v2.Watchdog.miss_timeout:type_name -> google.protobuf.Duration 17, // 21: envoy.config.bootstrap.v2.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration 17, // 22: envoy.config.bootstrap.v2.Watchdog.kill_timeout:type_name -> google.protobuf.Duration 17, // 23: envoy.config.bootstrap.v2.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration 24, // 24: envoy.config.bootstrap.v2.Runtime.base:type_name -> google.protobuf.Struct 24, // 25: envoy.config.bootstrap.v2.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct 10, // 26: envoy.config.bootstrap.v2.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v2.RuntimeLayer.DiskLayer 11, // 27: envoy.config.bootstrap.v2.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v2.RuntimeLayer.AdminLayer 12, // 28: envoy.config.bootstrap.v2.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v2.RuntimeLayer.RtdsLayer 5, // 29: envoy.config.bootstrap.v2.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v2.RuntimeLayer 25, // 30: envoy.config.bootstrap.v2.Bootstrap.StaticResources.listeners:type_name -> envoy.api.v2.Listener 26, // 31: envoy.config.bootstrap.v2.Bootstrap.StaticResources.clusters:type_name -> envoy.api.v2.Cluster 27, // 32: envoy.config.bootstrap.v2.Bootstrap.StaticResources.secrets:type_name -> envoy.api.v2.auth.Secret 28, // 33: envoy.config.bootstrap.v2.Bootstrap.DynamicResources.lds_config:type_name -> envoy.api.v2.core.ConfigSource 28, // 34: envoy.config.bootstrap.v2.Bootstrap.DynamicResources.cds_config:type_name -> envoy.api.v2.core.ConfigSource 14, // 35: envoy.config.bootstrap.v2.Bootstrap.DynamicResources.ads_config:type_name -> envoy.api.v2.core.ApiConfigSource 29, // 36: envoy.config.bootstrap.v2.ClusterManager.OutlierDetection.event_service:type_name -> envoy.api.v2.core.EventServiceConfig 28, // 37: envoy.config.bootstrap.v2.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.api.v2.core.ConfigSource 38, // [38:38] is the sub-list for method output_type 38, // [38:38] is the sub-list for method input_type 38, // [38:38] is the sub-list for extension type_name 38, // [38:38] is the sub-list for extension extendee 0, // [0:38] is the sub-list for field type_name } func init() { file_envoy_config_bootstrap_v2_bootstrap_proto_init() } func file_envoy_config_bootstrap_v2_bootstrap_proto_init() { if File_envoy_config_bootstrap_v2_bootstrap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Admin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Watchdog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runtime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LayeredRuntime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_StaticResources); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_DynamicResources); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterManager_OutlierDetection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_DiskLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_AdminLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_RtdsLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes[5].OneofWrappers = []interface{}{ (*RuntimeLayer_StaticLayer)(nil), (*RuntimeLayer_DiskLayer_)(nil), (*RuntimeLayer_AdminLayer_)(nil), (*RuntimeLayer_RtdsLayer_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_bootstrap_v2_bootstrap_proto_rawDesc, NumEnums: 0, NumMessages: 13, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_bootstrap_v2_bootstrap_proto_goTypes, DependencyIndexes: file_envoy_config_bootstrap_v2_bootstrap_proto_depIdxs, MessageInfos: file_envoy_config_bootstrap_v2_bootstrap_proto_msgTypes, }.Build() File_envoy_config_bootstrap_v2_bootstrap_proto = out.File file_envoy_config_bootstrap_v2_bootstrap_proto_rawDesc = nil file_envoy_config_bootstrap_v2_bootstrap_proto_goTypes = nil file_envoy_config_bootstrap_v2_bootstrap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/bootstrap/v2/bootstrap.pb.validate.go000077500000000000000000002146151454502223200264720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/bootstrap/v2/bootstrap.proto package bootstrapv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Bootstrap with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Bootstrap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BootstrapMultiError, or nil // if none found. func (m *Bootstrap) ValidateAll() error { return m.validate(true) } func (m *Bootstrap) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStaticResources()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticResources()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDynamicResources()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicResources()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetClusterManager()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterManager()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FlagsPath for idx, item := range m.GetStatsSinks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetStatsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, } } } if d := m.GetStatsFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BootstrapValidationError{ field: "StatsFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(300*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte || dur >= lt { err := BootstrapValidationError{ field: "StatsFlushInterval", reason: "value must be inside range [1ms, 5m0s)", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetWatchdog()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchdog()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Runtime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Runtime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Runtime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLayeredRuntime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLayeredRuntime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAdmin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdmin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverloadManager()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverloadManager()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableDispatcherStats // no validation rules for HeaderPrefix if all { switch v := interface{}(m.GetStatsServerVersionOverride()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsServerVersionOverride()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseTcpForDnsLookups if len(errors) > 0 { return BootstrapMultiError(errors) } return nil } // BootstrapMultiError is an error wrapping multiple validation errors returned // by Bootstrap.ValidateAll() if the designated constraints aren't met. type BootstrapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BootstrapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BootstrapMultiError) AllErrors() []error { return m } // BootstrapValidationError is the validation error returned by // Bootstrap.Validate if the designated constraints aren't met. type BootstrapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BootstrapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BootstrapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BootstrapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BootstrapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BootstrapValidationError) ErrorName() string { return "BootstrapValidationError" } // Error satisfies the builtin error interface func (e BootstrapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BootstrapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BootstrapValidationError{} // Validate checks the field values on Admin with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Admin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Admin with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AdminMultiError, or nil if none found. func (m *Admin) ValidateAll() error { return m.validate(true) } func (m *Admin) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AccessLogPath // no validation rules for ProfilePath if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AdminMultiError(errors) } return nil } // AdminMultiError is an error wrapping multiple validation errors returned by // Admin.ValidateAll() if the designated constraints aren't met. type AdminMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdminMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdminMultiError) AllErrors() []error { return m } // AdminValidationError is the validation error returned by Admin.Validate if // the designated constraints aren't met. type AdminValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdminValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdminValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdminValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdminValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdminValidationError) ErrorName() string { return "AdminValidationError" } // Error satisfies the builtin error interface func (e AdminValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdminValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdminValidationError{} // Validate checks the field values on ClusterManager with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterManager with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterManagerMultiError, // or nil if none found. func (m *ClusterManager) ValidateAll() error { return m.validate(true) } func (m *ClusterManager) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for LocalClusterName if all { switch v := interface{}(m.GetOutlierDetection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutlierDetection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamBindConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamBindConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLoadStatsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadStatsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterManagerMultiError(errors) } return nil } // ClusterManagerMultiError is an error wrapping multiple validation errors // returned by ClusterManager.ValidateAll() if the designated constraints // aren't met. type ClusterManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterManagerMultiError) AllErrors() []error { return m } // ClusterManagerValidationError is the validation error returned by // ClusterManager.Validate if the designated constraints aren't met. type ClusterManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterManagerValidationError) ErrorName() string { return "ClusterManagerValidationError" } // Error satisfies the builtin error interface func (e ClusterManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterManagerValidationError{} // Validate checks the field values on Watchdog with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Watchdog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Watchdog with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WatchdogMultiError, or nil // if none found. func (m *Watchdog) ValidateAll() error { return m.validate(true) } func (m *Watchdog) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMissTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMissTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMegamissTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMegamissTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKillTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKillTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMultikillTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMultikillTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WatchdogMultiError(errors) } return nil } // WatchdogMultiError is an error wrapping multiple validation errors returned // by Watchdog.ValidateAll() if the designated constraints aren't met. type WatchdogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WatchdogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WatchdogMultiError) AllErrors() []error { return m } // WatchdogValidationError is the validation error returned by // Watchdog.Validate if the designated constraints aren't met. type WatchdogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WatchdogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WatchdogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WatchdogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WatchdogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WatchdogValidationError) ErrorName() string { return "WatchdogValidationError" } // Error satisfies the builtin error interface func (e WatchdogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWatchdog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WatchdogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WatchdogValidationError{} // Validate checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Runtime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RuntimeMultiError, or nil if none found. func (m *Runtime) ValidateAll() error { return m.validate(true) } func (m *Runtime) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SymlinkRoot // no validation rules for Subdirectory // no validation rules for OverrideSubdirectory if all { switch v := interface{}(m.GetBase()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBase()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeMultiError(errors) } return nil } // RuntimeMultiError is an error wrapping multiple validation errors returned // by Runtime.ValidateAll() if the designated constraints aren't met. type RuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeMultiError) AllErrors() []error { return m } // RuntimeValidationError is the validation error returned by Runtime.Validate // if the designated constraints aren't met. type RuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeValidationError) ErrorName() string { return "RuntimeValidationError" } // Error satisfies the builtin error interface func (e RuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeValidationError{} // Validate checks the field values on RuntimeLayer with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeLayerMultiError, or // nil if none found. func (m *RuntimeLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RuntimeLayerValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent := false switch v := m.LayerSpecifier.(type) { case *RuntimeLayer_StaticLayer: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetStaticLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_DiskLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetDiskLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDiskLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_AdminLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetAdminLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdminLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_RtdsLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetRtdsLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRtdsLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLayerSpecifierPresent { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeLayerMultiError(errors) } return nil } // RuntimeLayerMultiError is an error wrapping multiple validation errors // returned by RuntimeLayer.ValidateAll() if the designated constraints aren't met. type RuntimeLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayerMultiError) AllErrors() []error { return m } // RuntimeLayerValidationError is the validation error returned by // RuntimeLayer.Validate if the designated constraints aren't met. type RuntimeLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayerValidationError) ErrorName() string { return "RuntimeLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayerValidationError{} // Validate checks the field values on LayeredRuntime with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LayeredRuntime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LayeredRuntime with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LayeredRuntimeMultiError, // or nil if none found. func (m *LayeredRuntime) ValidateAll() error { return m.validate(true) } func (m *LayeredRuntime) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetLayers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LayeredRuntimeMultiError(errors) } return nil } // LayeredRuntimeMultiError is an error wrapping multiple validation errors // returned by LayeredRuntime.ValidateAll() if the designated constraints // aren't met. type LayeredRuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LayeredRuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LayeredRuntimeMultiError) AllErrors() []error { return m } // LayeredRuntimeValidationError is the validation error returned by // LayeredRuntime.Validate if the designated constraints aren't met. type LayeredRuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LayeredRuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LayeredRuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LayeredRuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LayeredRuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LayeredRuntimeValidationError) ErrorName() string { return "LayeredRuntimeValidationError" } // Error satisfies the builtin error interface func (e LayeredRuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLayeredRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LayeredRuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LayeredRuntimeValidationError{} // Validate checks the field values on Bootstrap_StaticResources with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_StaticResources) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_StaticResources with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Bootstrap_StaticResourcesMultiError, or nil if none found. func (m *Bootstrap_StaticResources) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_StaticResources) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Bootstrap_StaticResourcesMultiError(errors) } return nil } // Bootstrap_StaticResourcesMultiError is an error wrapping multiple validation // errors returned by Bootstrap_StaticResources.ValidateAll() if the // designated constraints aren't met. type Bootstrap_StaticResourcesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_StaticResourcesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_StaticResourcesMultiError) AllErrors() []error { return m } // Bootstrap_StaticResourcesValidationError is the validation error returned by // Bootstrap_StaticResources.Validate if the designated constraints aren't met. type Bootstrap_StaticResourcesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_StaticResourcesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_StaticResourcesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_StaticResourcesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_StaticResourcesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_StaticResourcesValidationError) ErrorName() string { return "Bootstrap_StaticResourcesValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_StaticResourcesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_StaticResources.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_StaticResourcesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_StaticResourcesValidationError{} // Validate checks the field values on Bootstrap_DynamicResources with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_DynamicResources) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_DynamicResources with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Bootstrap_DynamicResourcesMultiError, or nil if none found. func (m *Bootstrap_DynamicResources) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_DynamicResources) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Bootstrap_DynamicResourcesMultiError(errors) } return nil } // Bootstrap_DynamicResourcesMultiError is an error wrapping multiple // validation errors returned by Bootstrap_DynamicResources.ValidateAll() if // the designated constraints aren't met. type Bootstrap_DynamicResourcesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_DynamicResourcesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_DynamicResourcesMultiError) AllErrors() []error { return m } // Bootstrap_DynamicResourcesValidationError is the validation error returned // by Bootstrap_DynamicResources.Validate if the designated constraints aren't met. type Bootstrap_DynamicResourcesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_DynamicResourcesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_DynamicResourcesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_DynamicResourcesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_DynamicResourcesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_DynamicResourcesValidationError) ErrorName() string { return "Bootstrap_DynamicResourcesValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_DynamicResourcesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_DynamicResources.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_DynamicResourcesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_DynamicResourcesValidationError{} // Validate checks the field values on ClusterManager_OutlierDetection with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterManager_OutlierDetection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterManager_OutlierDetection with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ClusterManager_OutlierDetectionMultiError, or nil if none found. func (m *ClusterManager_OutlierDetection) ValidateAll() error { return m.validate(true) } func (m *ClusterManager_OutlierDetection) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EventLogPath if all { switch v := interface{}(m.GetEventService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEventService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterManager_OutlierDetectionMultiError(errors) } return nil } // ClusterManager_OutlierDetectionMultiError is an error wrapping multiple // validation errors returned by ClusterManager_OutlierDetection.ValidateAll() // if the designated constraints aren't met. type ClusterManager_OutlierDetectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterManager_OutlierDetectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterManager_OutlierDetectionMultiError) AllErrors() []error { return m } // ClusterManager_OutlierDetectionValidationError is the validation error // returned by ClusterManager_OutlierDetection.Validate if the designated // constraints aren't met. type ClusterManager_OutlierDetectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterManager_OutlierDetectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterManager_OutlierDetectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterManager_OutlierDetectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterManager_OutlierDetectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterManager_OutlierDetectionValidationError) ErrorName() string { return "ClusterManager_OutlierDetectionValidationError" } // Error satisfies the builtin error interface func (e ClusterManager_OutlierDetectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterManager_OutlierDetection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterManager_OutlierDetectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterManager_OutlierDetectionValidationError{} // Validate checks the field values on RuntimeLayer_DiskLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_DiskLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_DiskLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_DiskLayerMultiError, or nil if none found. func (m *RuntimeLayer_DiskLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_DiskLayer) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SymlinkRoot // no validation rules for Subdirectory // no validation rules for AppendServiceCluster if len(errors) > 0 { return RuntimeLayer_DiskLayerMultiError(errors) } return nil } // RuntimeLayer_DiskLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_DiskLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_DiskLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_DiskLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_DiskLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_DiskLayerValidationError is the validation error returned by // RuntimeLayer_DiskLayer.Validate if the designated constraints aren't met. type RuntimeLayer_DiskLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_DiskLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_DiskLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_DiskLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_DiskLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_DiskLayerValidationError) ErrorName() string { return "RuntimeLayer_DiskLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_DiskLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_DiskLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_DiskLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_DiskLayerValidationError{} // Validate checks the field values on RuntimeLayer_AdminLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_AdminLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_AdminLayer with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_AdminLayerMultiError, or nil if none found. func (m *RuntimeLayer_AdminLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_AdminLayer) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RuntimeLayer_AdminLayerMultiError(errors) } return nil } // RuntimeLayer_AdminLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_AdminLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_AdminLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_AdminLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_AdminLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_AdminLayerValidationError is the validation error returned by // RuntimeLayer_AdminLayer.Validate if the designated constraints aren't met. type RuntimeLayer_AdminLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_AdminLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_AdminLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_AdminLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_AdminLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_AdminLayerValidationError) ErrorName() string { return "RuntimeLayer_AdminLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_AdminLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_AdminLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_AdminLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_AdminLayerValidationError{} // Validate checks the field values on RuntimeLayer_RtdsLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_RtdsLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_RtdsLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_RtdsLayerMultiError, or nil if none found. func (m *RuntimeLayer_RtdsLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_RtdsLayer) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetRtdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRtdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeLayer_RtdsLayerMultiError(errors) } return nil } // RuntimeLayer_RtdsLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_RtdsLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_RtdsLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_RtdsLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_RtdsLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_RtdsLayerValidationError is the validation error returned by // RuntimeLayer_RtdsLayer.Validate if the designated constraints aren't met. type RuntimeLayer_RtdsLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_RtdsLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_RtdsLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_RtdsLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_RtdsLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_RtdsLayerValidationError) ErrorName() string { return "RuntimeLayer_RtdsLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_RtdsLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_RtdsLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_RtdsLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_RtdsLayerValidationError{} go-control-plane-0.12.0/envoy/config/bootstrap/v3/000077500000000000000000000000001454502223200217235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/bootstrap/v3/bootstrap.pb.go000077500000000000000000004643671454502223200247160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/bootstrap/v3/bootstrap.proto package bootstrapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v34 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v37 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v36 "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/config/overload/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v3" v38 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" v35 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The events are fired in this order: KILL, MULTIKILL, MEGAMISS, MISS. // Within an event type, actions execute in the order they are configured. // For KILL/MULTIKILL there is a default PANIC that will run after the // registered actions and kills the process if it wasn't already killed. // It might be useful to specify several debug actions, and possibly an // alternate FATAL action. type Watchdog_WatchdogAction_WatchdogEvent int32 const ( Watchdog_WatchdogAction_UNKNOWN Watchdog_WatchdogAction_WatchdogEvent = 0 Watchdog_WatchdogAction_KILL Watchdog_WatchdogAction_WatchdogEvent = 1 Watchdog_WatchdogAction_MULTIKILL Watchdog_WatchdogAction_WatchdogEvent = 2 Watchdog_WatchdogAction_MEGAMISS Watchdog_WatchdogAction_WatchdogEvent = 3 Watchdog_WatchdogAction_MISS Watchdog_WatchdogAction_WatchdogEvent = 4 ) // Enum value maps for Watchdog_WatchdogAction_WatchdogEvent. var ( Watchdog_WatchdogAction_WatchdogEvent_name = map[int32]string{ 0: "UNKNOWN", 1: "KILL", 2: "MULTIKILL", 3: "MEGAMISS", 4: "MISS", } Watchdog_WatchdogAction_WatchdogEvent_value = map[string]int32{ "UNKNOWN": 0, "KILL": 1, "MULTIKILL": 2, "MEGAMISS": 3, "MISS": 4, } ) func (x Watchdog_WatchdogAction_WatchdogEvent) Enum() *Watchdog_WatchdogAction_WatchdogEvent { p := new(Watchdog_WatchdogAction_WatchdogEvent) *p = x return p } func (x Watchdog_WatchdogAction_WatchdogEvent) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Watchdog_WatchdogAction_WatchdogEvent) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[0].Descriptor() } func (Watchdog_WatchdogAction_WatchdogEvent) Type() protoreflect.EnumType { return &file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[0] } func (x Watchdog_WatchdogAction_WatchdogEvent) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Watchdog_WatchdogAction_WatchdogEvent.Descriptor instead. func (Watchdog_WatchdogAction_WatchdogEvent) EnumDescriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{4, 0, 0} } type CustomInlineHeader_InlineHeaderType int32 const ( CustomInlineHeader_REQUEST_HEADER CustomInlineHeader_InlineHeaderType = 0 CustomInlineHeader_REQUEST_TRAILER CustomInlineHeader_InlineHeaderType = 1 CustomInlineHeader_RESPONSE_HEADER CustomInlineHeader_InlineHeaderType = 2 CustomInlineHeader_RESPONSE_TRAILER CustomInlineHeader_InlineHeaderType = 3 ) // Enum value maps for CustomInlineHeader_InlineHeaderType. var ( CustomInlineHeader_InlineHeaderType_name = map[int32]string{ 0: "REQUEST_HEADER", 1: "REQUEST_TRAILER", 2: "RESPONSE_HEADER", 3: "RESPONSE_TRAILER", } CustomInlineHeader_InlineHeaderType_value = map[string]int32{ "REQUEST_HEADER": 0, "REQUEST_TRAILER": 1, "RESPONSE_HEADER": 2, "RESPONSE_TRAILER": 3, } ) func (x CustomInlineHeader_InlineHeaderType) Enum() *CustomInlineHeader_InlineHeaderType { p := new(CustomInlineHeader_InlineHeaderType) *p = x return p } func (x CustomInlineHeader_InlineHeaderType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CustomInlineHeader_InlineHeaderType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[1].Descriptor() } func (CustomInlineHeader_InlineHeaderType) Type() protoreflect.EnumType { return &file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[1] } func (x CustomInlineHeader_InlineHeaderType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CustomInlineHeader_InlineHeaderType.Descriptor instead. func (CustomInlineHeader_InlineHeaderType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{9, 0} } // Bootstrap :ref:`configuration overview `. // [#next-free-field: 41] type Bootstrap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node identity to present to the management server and for instance // identification purposes (e.g. in generated headers). Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // A list of :ref:`Node ` field names // that will be included in the context parameters of the effective // xdstp:// URL that is sent in a discovery request when resource // locators are used for LDS/CDS. Any non-string field will have its JSON // encoding set as the context parameter value, with the exception of // metadata, which will be flattened (see example below). The supported field // names are: // - "cluster" // - "id" // - "locality.region" // - "locality.sub_zone" // - "locality.zone" // - "metadata" // - "user_agent_build_version.metadata" // - "user_agent_build_version.version" // - "user_agent_name" // - "user_agent_version" // // The node context parameters act as a base layer dictionary for the context // parameters (i.e. more specific resource specific context parameters will // override). Field names will be prefixed with “udpa.node.” when included in // context parameters. // // For example, if node_context_params is “["user_agent_name", "metadata"]“, // the implied context parameters might be:: // // node.user_agent_name: "envoy" // node.metadata.foo: "{\"bar\": \"baz\"}" // node.metadata.some: "42" // node.metadata.thing: "\"thing\"" // // [#not-implemented-hide:] NodeContextParams []string `protobuf:"bytes,26,rep,name=node_context_params,json=nodeContextParams,proto3" json:"node_context_params,omitempty"` // Statically specified resources. StaticResources *Bootstrap_StaticResources `protobuf:"bytes,2,opt,name=static_resources,json=staticResources,proto3" json:"static_resources,omitempty"` // xDS configuration sources. DynamicResources *Bootstrap_DynamicResources `protobuf:"bytes,3,opt,name=dynamic_resources,json=dynamicResources,proto3" json:"dynamic_resources,omitempty"` // Configuration for the cluster manager which owns all upstream clusters // within the server. ClusterManager *ClusterManager `protobuf:"bytes,4,opt,name=cluster_manager,json=clusterManager,proto3" json:"cluster_manager,omitempty"` // Health discovery service config option. // (:ref:`core.ApiConfigSource `) HdsConfig *v3.ApiConfigSource `protobuf:"bytes,14,opt,name=hds_config,json=hdsConfig,proto3" json:"hds_config,omitempty"` // Optional file system path to search for startup flag files. FlagsPath string `protobuf:"bytes,5,opt,name=flags_path,json=flagsPath,proto3" json:"flags_path,omitempty"` // Optional set of stats sinks. StatsSinks []*v31.StatsSink `protobuf:"bytes,6,rep,name=stats_sinks,json=statsSinks,proto3" json:"stats_sinks,omitempty"` // Options to control behaviors of deferred creation compatible stats. DeferredStatOptions *Bootstrap_DeferredStatOptions `protobuf:"bytes,39,opt,name=deferred_stat_options,json=deferredStatOptions,proto3" json:"deferred_stat_options,omitempty"` // Configuration for internal processing of stats. StatsConfig *v31.StatsConfig `protobuf:"bytes,13,opt,name=stats_config,json=statsConfig,proto3" json:"stats_config,omitempty"` // Optional duration between flushes to configured stats sinks. For // performance reasons Envoy latches counters and only flushes counters and // gauges at a periodic interval. If not specified the default is 5000ms (5 // seconds). Only one of “stats_flush_interval“ or “stats_flush_on_admin“ // can be set. // Duration must be at least 1ms and at most 5 min. StatsFlushInterval *duration.Duration `protobuf:"bytes,7,opt,name=stats_flush_interval,json=statsFlushInterval,proto3" json:"stats_flush_interval,omitempty"` // Types that are assignable to StatsFlush: // // *Bootstrap_StatsFlushOnAdmin StatsFlush isBootstrap_StatsFlush `protobuf_oneof:"stats_flush"` // Optional watchdog configuration. // This is for a single watchdog configuration for the entire system. // Deprecated in favor of “watchdogs“ which has finer granularity. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. Watchdog *Watchdog `protobuf:"bytes,8,opt,name=watchdog,proto3" json:"watchdog,omitempty"` // Optional watchdogs configuration. // This is used for specifying different watchdogs for the different subsystems. // [#extension-category: envoy.guarddog_actions] Watchdogs *Watchdogs `protobuf:"bytes,27,opt,name=watchdogs,proto3" json:"watchdogs,omitempty"` // Configuration for an external tracing provider. // // .. attention:: // // This field has been deprecated in favor of :ref:`HttpConnectionManager.Tracing.provider // `. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. Tracing *v32.Tracing `protobuf:"bytes,9,opt,name=tracing,proto3" json:"tracing,omitempty"` // Configuration for the runtime configuration provider. If not // specified, a “null” provider will be used which will result in all defaults // being used. LayeredRuntime *LayeredRuntime `protobuf:"bytes,17,opt,name=layered_runtime,json=layeredRuntime,proto3" json:"layered_runtime,omitempty"` // Configuration for the local administration HTTP server. Admin *Admin `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` // Optional overload manager configuration. OverloadManager *v33.OverloadManager `protobuf:"bytes,15,opt,name=overload_manager,json=overloadManager,proto3" json:"overload_manager,omitempty"` // Enable :ref:`stats for event dispatcher `, defaults to false. // Note that this records a value for each iteration of the event loop on every thread. This // should normally be minimal overhead, but when using // :ref:`statsd `, it will send each observed value // over the wire individually because the statsd protocol doesn't have any way to represent a // histogram summary. Be aware that this can be a very large volume of data. EnableDispatcherStats bool `protobuf:"varint,16,opt,name=enable_dispatcher_stats,json=enableDispatcherStats,proto3" json:"enable_dispatcher_stats,omitempty"` // Optional string which will be used in lieu of x-envoy in prefixing headers. // // For example, if this string is present and set to X-Foo, then x-envoy-retry-on will be // transformed into x-foo-retry-on etc. // // Note this applies to the headers Envoy will generate, the headers Envoy will sanitize, and the // headers Envoy will trust for core code and core extensions only. Be VERY careful making // changes to this string, especially in multi-layer Envoy deployments or deployments using // extensions which are not upstream. HeaderPrefix string `protobuf:"bytes,18,opt,name=header_prefix,json=headerPrefix,proto3" json:"header_prefix,omitempty"` // Optional proxy version which will be used to set the value of :ref:`server.version statistic // ` if specified. Envoy will not process this value, it will be sent as is to // :ref:`stats sinks `. StatsServerVersionOverride *wrappers.UInt64Value `protobuf:"bytes,19,opt,name=stats_server_version_override,json=statsServerVersionOverride,proto3" json:"stats_server_version_override,omitempty"` // Always use TCP queries instead of UDP queries for DNS lookups. // This may be overridden on a per-cluster basis in cds_config, // when :ref:`dns_resolvers ` and // :ref:`use_tcp_for_dns_lookups ` are // specified. // This field is deprecated in favor of “dns_resolution_config“ // which aggregates all of the DNS resolver configuration in a single message. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. UseTcpForDnsLookups bool `protobuf:"varint,20,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` // DNS resolution configuration which includes the underlying dns resolver addresses and options. // This may be overridden on a per-cluster basis in cds_config, when // :ref:`dns_resolution_config ` // is specified. // This field is deprecated in favor of // :ref:`typed_dns_resolver_config `. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. DnsResolutionConfig *v3.DnsResolutionConfig `protobuf:"bytes,30,opt,name=dns_resolution_config,json=dnsResolutionConfig,proto3" json:"dns_resolution_config,omitempty"` // DNS resolver type configuration extension. This extension can be used to configure c-ares, apple, // or any other DNS resolver types and the related parameters. // For example, an object of // :ref:`CaresDnsResolverConfig ` // can be packed into this “typed_dns_resolver_config“. This configuration replaces the // :ref:`dns_resolution_config ` // configuration. // During the transition period when both “dns_resolution_config“ and “typed_dns_resolver_config“ exists, // when “typed_dns_resolver_config“ is in place, Envoy will use it and ignore “dns_resolution_config“. // When “typed_dns_resolver_config“ is missing, the default behavior is in place. // [#extension-category: envoy.network.dns_resolver] TypedDnsResolverConfig *v3.TypedExtensionConfig `protobuf:"bytes,31,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"` // Specifies optional bootstrap extensions to be instantiated at startup time. // Each item contains extension specific configuration. // [#extension-category: envoy.bootstrap] BootstrapExtensions []*v3.TypedExtensionConfig `protobuf:"bytes,21,rep,name=bootstrap_extensions,json=bootstrapExtensions,proto3" json:"bootstrap_extensions,omitempty"` // Specifies optional extensions instantiated at startup time and // invoked during crash time on the request that caused the crash. FatalActions []*FatalAction `protobuf:"bytes,28,rep,name=fatal_actions,json=fatalActions,proto3" json:"fatal_actions,omitempty"` // Configuration sources that will participate in // xdstp:// URL authority resolution. The algorithm is as // follows: // 1. The authority field is taken from the xdstp:// URL, call // this “resource_authority“. // 2. “resource_authority“ is compared against the authorities in any peer // “ConfigSource“. The peer “ConfigSource“ is the configuration source // message which would have been used unconditionally for resolution // with opaque resource names. If there is a match with an authority, the // peer “ConfigSource“ message is used. // 3. “resource_authority“ is compared sequentially with the authorities in // each configuration source in “config_sources“. The first “ConfigSource“ // to match wins. // 4. As a fallback, if no configuration source matches, then // “default_config_source“ is used. // 5. If “default_config_source“ is not specified, resolution fails. // // [#not-implemented-hide:] ConfigSources []*v3.ConfigSource `protobuf:"bytes,22,rep,name=config_sources,json=configSources,proto3" json:"config_sources,omitempty"` // Default configuration source for xdstp:// URLs if all // other resolution fails. // [#not-implemented-hide:] DefaultConfigSource *v3.ConfigSource `protobuf:"bytes,23,opt,name=default_config_source,json=defaultConfigSource,proto3" json:"default_config_source,omitempty"` // Optional overriding of default socket interface. The value must be the name of one of the // socket interface factories initialized through a bootstrap extension DefaultSocketInterface string `protobuf:"bytes,24,opt,name=default_socket_interface,json=defaultSocketInterface,proto3" json:"default_socket_interface,omitempty"` // Global map of CertificateProvider instances. These instances are referred to by name in the // :ref:`CommonTlsContext.CertificateProviderInstance.instance_name // ` // field. // [#not-implemented-hide:] CertificateProviderInstances map[string]*v3.TypedExtensionConfig `protobuf:"bytes,25,rep,name=certificate_provider_instances,json=certificateProviderInstances,proto3" json:"certificate_provider_instances,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies a set of headers that need to be registered as inline header. This configuration // allows users to customize the inline headers on-demand at Envoy startup without modifying // Envoy's source code. // // Note that the 'set-cookie' header cannot be registered as inline header. InlineHeaders []*CustomInlineHeader `protobuf:"bytes,32,rep,name=inline_headers,json=inlineHeaders,proto3" json:"inline_headers,omitempty"` // Optional path to a file with performance tracing data created by "Perfetto" SDK in binary // ProtoBuf format. The default value is "envoy.pftrace". PerfTracingFilePath string `protobuf:"bytes,33,opt,name=perf_tracing_file_path,json=perfTracingFilePath,proto3" json:"perf_tracing_file_path,omitempty"` // Optional overriding of default regex engine. // If the value is not specified, Google RE2 will be used by default. // [#extension-category: envoy.regex_engines] DefaultRegexEngine *v3.TypedExtensionConfig `protobuf:"bytes,34,opt,name=default_regex_engine,json=defaultRegexEngine,proto3" json:"default_regex_engine,omitempty"` // Optional XdsResourcesDelegate configuration, which allows plugging custom logic into both // fetch and load events during xDS processing. // If a value is not specified, no XdsResourcesDelegate will be used. // TODO(abeyad): Add public-facing documentation. // [#not-implemented-hide:] XdsDelegateExtension *v3.TypedExtensionConfig `protobuf:"bytes,35,opt,name=xds_delegate_extension,json=xdsDelegateExtension,proto3" json:"xds_delegate_extension,omitempty"` // Optional XdsConfigTracker configuration, which allows tracking xDS responses in external components, // e.g., external tracer or monitor. It provides the process point when receive, ingest, or fail to // process xDS resources and messages. If a value is not specified, no XdsConfigTracker will be used. // // .. note:: // // There are no in-repo extensions currently, and the :repo:`XdsConfigTracker ` // interface should be implemented before using. // See :repo:`xds_config_tracker_integration_test ` // for an example usage of the interface. XdsConfigTrackerExtension *v3.TypedExtensionConfig `protobuf:"bytes,36,opt,name=xds_config_tracker_extension,json=xdsConfigTrackerExtension,proto3" json:"xds_config_tracker_extension,omitempty"` // [#not-implemented-hide:] // This controls the type of listener manager configured for Envoy. Currently // Envoy only supports ListenerManager for this field and Envoy Mobile // supports ApiListenerManager. ListenerManager *v3.TypedExtensionConfig `protobuf:"bytes,37,opt,name=listener_manager,json=listenerManager,proto3" json:"listener_manager,omitempty"` // Optional application log configuration. ApplicationLogConfig *Bootstrap_ApplicationLogConfig `protobuf:"bytes,38,opt,name=application_log_config,json=applicationLogConfig,proto3" json:"application_log_config,omitempty"` // Optional gRPC async manager config. GrpcAsyncClientManagerConfig *Bootstrap_GrpcAsyncClientManagerConfig `protobuf:"bytes,40,opt,name=grpc_async_client_manager_config,json=grpcAsyncClientManagerConfig,proto3" json:"grpc_async_client_manager_config,omitempty"` } func (x *Bootstrap) Reset() { *x = Bootstrap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap) ProtoMessage() {} func (x *Bootstrap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap.ProtoReflect.Descriptor instead. func (*Bootstrap) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0} } func (x *Bootstrap) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *Bootstrap) GetNodeContextParams() []string { if x != nil { return x.NodeContextParams } return nil } func (x *Bootstrap) GetStaticResources() *Bootstrap_StaticResources { if x != nil { return x.StaticResources } return nil } func (x *Bootstrap) GetDynamicResources() *Bootstrap_DynamicResources { if x != nil { return x.DynamicResources } return nil } func (x *Bootstrap) GetClusterManager() *ClusterManager { if x != nil { return x.ClusterManager } return nil } func (x *Bootstrap) GetHdsConfig() *v3.ApiConfigSource { if x != nil { return x.HdsConfig } return nil } func (x *Bootstrap) GetFlagsPath() string { if x != nil { return x.FlagsPath } return "" } func (x *Bootstrap) GetStatsSinks() []*v31.StatsSink { if x != nil { return x.StatsSinks } return nil } func (x *Bootstrap) GetDeferredStatOptions() *Bootstrap_DeferredStatOptions { if x != nil { return x.DeferredStatOptions } return nil } func (x *Bootstrap) GetStatsConfig() *v31.StatsConfig { if x != nil { return x.StatsConfig } return nil } func (x *Bootstrap) GetStatsFlushInterval() *duration.Duration { if x != nil { return x.StatsFlushInterval } return nil } func (m *Bootstrap) GetStatsFlush() isBootstrap_StatsFlush { if m != nil { return m.StatsFlush } return nil } func (x *Bootstrap) GetStatsFlushOnAdmin() bool { if x, ok := x.GetStatsFlush().(*Bootstrap_StatsFlushOnAdmin); ok { return x.StatsFlushOnAdmin } return false } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. func (x *Bootstrap) GetWatchdog() *Watchdog { if x != nil { return x.Watchdog } return nil } func (x *Bootstrap) GetWatchdogs() *Watchdogs { if x != nil { return x.Watchdogs } return nil } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. func (x *Bootstrap) GetTracing() *v32.Tracing { if x != nil { return x.Tracing } return nil } func (x *Bootstrap) GetLayeredRuntime() *LayeredRuntime { if x != nil { return x.LayeredRuntime } return nil } func (x *Bootstrap) GetAdmin() *Admin { if x != nil { return x.Admin } return nil } func (x *Bootstrap) GetOverloadManager() *v33.OverloadManager { if x != nil { return x.OverloadManager } return nil } func (x *Bootstrap) GetEnableDispatcherStats() bool { if x != nil { return x.EnableDispatcherStats } return false } func (x *Bootstrap) GetHeaderPrefix() string { if x != nil { return x.HeaderPrefix } return "" } func (x *Bootstrap) GetStatsServerVersionOverride() *wrappers.UInt64Value { if x != nil { return x.StatsServerVersionOverride } return nil } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. func (x *Bootstrap) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. func (x *Bootstrap) GetDnsResolutionConfig() *v3.DnsResolutionConfig { if x != nil { return x.DnsResolutionConfig } return nil } func (x *Bootstrap) GetTypedDnsResolverConfig() *v3.TypedExtensionConfig { if x != nil { return x.TypedDnsResolverConfig } return nil } func (x *Bootstrap) GetBootstrapExtensions() []*v3.TypedExtensionConfig { if x != nil { return x.BootstrapExtensions } return nil } func (x *Bootstrap) GetFatalActions() []*FatalAction { if x != nil { return x.FatalActions } return nil } func (x *Bootstrap) GetConfigSources() []*v3.ConfigSource { if x != nil { return x.ConfigSources } return nil } func (x *Bootstrap) GetDefaultConfigSource() *v3.ConfigSource { if x != nil { return x.DefaultConfigSource } return nil } func (x *Bootstrap) GetDefaultSocketInterface() string { if x != nil { return x.DefaultSocketInterface } return "" } func (x *Bootstrap) GetCertificateProviderInstances() map[string]*v3.TypedExtensionConfig { if x != nil { return x.CertificateProviderInstances } return nil } func (x *Bootstrap) GetInlineHeaders() []*CustomInlineHeader { if x != nil { return x.InlineHeaders } return nil } func (x *Bootstrap) GetPerfTracingFilePath() string { if x != nil { return x.PerfTracingFilePath } return "" } func (x *Bootstrap) GetDefaultRegexEngine() *v3.TypedExtensionConfig { if x != nil { return x.DefaultRegexEngine } return nil } func (x *Bootstrap) GetXdsDelegateExtension() *v3.TypedExtensionConfig { if x != nil { return x.XdsDelegateExtension } return nil } func (x *Bootstrap) GetXdsConfigTrackerExtension() *v3.TypedExtensionConfig { if x != nil { return x.XdsConfigTrackerExtension } return nil } func (x *Bootstrap) GetListenerManager() *v3.TypedExtensionConfig { if x != nil { return x.ListenerManager } return nil } func (x *Bootstrap) GetApplicationLogConfig() *Bootstrap_ApplicationLogConfig { if x != nil { return x.ApplicationLogConfig } return nil } func (x *Bootstrap) GetGrpcAsyncClientManagerConfig() *Bootstrap_GrpcAsyncClientManagerConfig { if x != nil { return x.GrpcAsyncClientManagerConfig } return nil } type isBootstrap_StatsFlush interface { isBootstrap_StatsFlush() } type Bootstrap_StatsFlushOnAdmin struct { // Flush stats to sinks only when queried for on the admin interface. If set, // a flush timer is not created. Only one of “stats_flush_on_admin“ or // “stats_flush_interval“ can be set. StatsFlushOnAdmin bool `protobuf:"varint,29,opt,name=stats_flush_on_admin,json=statsFlushOnAdmin,proto3,oneof"` } func (*Bootstrap_StatsFlushOnAdmin) isBootstrap_StatsFlush() {} // Administration interface :ref:`operations documentation // `. // [#next-free-field: 7] type Admin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for :ref:`access logs ` // emitted by the administration server. AccessLog []*v34.AccessLog `protobuf:"bytes,5,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // The path to write the access log for the administration server. If no // access log is desired specify ‘/dev/null’. This is only required if // :ref:`address ` is set. // Deprecated in favor of “access_log“ which offers more options. // // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. AccessLogPath string `protobuf:"bytes,1,opt,name=access_log_path,json=accessLogPath,proto3" json:"access_log_path,omitempty"` // The cpu profiler output path for the administration server. If no profile // path is specified, the default is ‘/var/log/envoy/envoy.prof’. ProfilePath string `protobuf:"bytes,2,opt,name=profile_path,json=profilePath,proto3" json:"profile_path,omitempty"` // The TCP address that the administration server will listen on. // If not specified, Envoy will not start an administration server. Address *v3.Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. SocketOptions []*v3.SocketOption `protobuf:"bytes,4,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` // Indicates whether :ref:`global_downstream_max_connections ` // should apply to the admin interface or not. IgnoreGlobalConnLimit bool `protobuf:"varint,6,opt,name=ignore_global_conn_limit,json=ignoreGlobalConnLimit,proto3" json:"ignore_global_conn_limit,omitempty"` } func (x *Admin) Reset() { *x = Admin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Admin) String() string { return protoimpl.X.MessageStringOf(x) } func (*Admin) ProtoMessage() {} func (x *Admin) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Admin.ProtoReflect.Descriptor instead. func (*Admin) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{1} } func (x *Admin) GetAccessLog() []*v34.AccessLog { if x != nil { return x.AccessLog } return nil } // Deprecated: Marked as deprecated in envoy/config/bootstrap/v3/bootstrap.proto. func (x *Admin) GetAccessLogPath() string { if x != nil { return x.AccessLogPath } return "" } func (x *Admin) GetProfilePath() string { if x != nil { return x.ProfilePath } return "" } func (x *Admin) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *Admin) GetSocketOptions() []*v3.SocketOption { if x != nil { return x.SocketOptions } return nil } func (x *Admin) GetIgnoreGlobalConnLimit() bool { if x != nil { return x.IgnoreGlobalConnLimit } return false } // Cluster manager :ref:`architecture overview `. // [#next-free-field: 6] type ClusterManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the local cluster (i.e., the cluster that owns the Envoy running // this configuration). In order to enable :ref:`zone aware routing // ` this option must be set. // If “local_cluster_name“ is defined then :ref:`clusters // ` must be defined in the :ref:`Bootstrap // static cluster resources // `. This is unrelated to // the :option:`--service-cluster` option which does not `affect zone aware // routing `_. LocalClusterName string `protobuf:"bytes,1,opt,name=local_cluster_name,json=localClusterName,proto3" json:"local_cluster_name,omitempty"` // Optional global configuration for outlier detection. OutlierDetection *ClusterManager_OutlierDetection `protobuf:"bytes,2,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // Optional configuration used to bind newly established upstream connections. // This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config. UpstreamBindConfig *v3.BindConfig `protobuf:"bytes,3,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"` // A management server endpoint to stream load stats to via // “StreamLoadStats“. This must have :ref:`api_type // ` :ref:`GRPC // `. LoadStatsConfig *v3.ApiConfigSource `protobuf:"bytes,4,opt,name=load_stats_config,json=loadStatsConfig,proto3" json:"load_stats_config,omitempty"` // Whether the ClusterManager will create clusters on the worker threads // inline during requests. This will save memory and CPU cycles in cases where // there are lots of inactive clusters and > 1 worker thread. EnableDeferredClusterCreation bool `protobuf:"varint,5,opt,name=enable_deferred_cluster_creation,json=enableDeferredClusterCreation,proto3" json:"enable_deferred_cluster_creation,omitempty"` } func (x *ClusterManager) Reset() { *x = ClusterManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterManager) ProtoMessage() {} func (x *ClusterManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterManager.ProtoReflect.Descriptor instead. func (*ClusterManager) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{2} } func (x *ClusterManager) GetLocalClusterName() string { if x != nil { return x.LocalClusterName } return "" } func (x *ClusterManager) GetOutlierDetection() *ClusterManager_OutlierDetection { if x != nil { return x.OutlierDetection } return nil } func (x *ClusterManager) GetUpstreamBindConfig() *v3.BindConfig { if x != nil { return x.UpstreamBindConfig } return nil } func (x *ClusterManager) GetLoadStatsConfig() *v3.ApiConfigSource { if x != nil { return x.LoadStatsConfig } return nil } func (x *ClusterManager) GetEnableDeferredClusterCreation() bool { if x != nil { return x.EnableDeferredClusterCreation } return false } // Allows you to specify different watchdog configs for different subsystems. // This allows finer tuned policies for the watchdog. If a subsystem is omitted // the default values for that system will be used. type Watchdogs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Watchdog for the main thread. MainThreadWatchdog *Watchdog `protobuf:"bytes,1,opt,name=main_thread_watchdog,json=mainThreadWatchdog,proto3" json:"main_thread_watchdog,omitempty"` // Watchdog for the worker threads. WorkerWatchdog *Watchdog `protobuf:"bytes,2,opt,name=worker_watchdog,json=workerWatchdog,proto3" json:"worker_watchdog,omitempty"` } func (x *Watchdogs) Reset() { *x = Watchdogs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Watchdogs) String() string { return protoimpl.X.MessageStringOf(x) } func (*Watchdogs) ProtoMessage() {} func (x *Watchdogs) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Watchdogs.ProtoReflect.Descriptor instead. func (*Watchdogs) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{3} } func (x *Watchdogs) GetMainThreadWatchdog() *Watchdog { if x != nil { return x.MainThreadWatchdog } return nil } func (x *Watchdogs) GetWorkerWatchdog() *Watchdog { if x != nil { return x.WorkerWatchdog } return nil } // Envoy process watchdog configuration. When configured, this monitors for // nonresponsive threads and kills the process after the configured thresholds. // See the :ref:`watchdog documentation ` for more information. // [#next-free-field: 8] type Watchdog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Register actions that will fire on given WatchDog events. // See “WatchDogAction“ for priority of events. Actions []*Watchdog_WatchdogAction `protobuf:"bytes,7,rep,name=actions,proto3" json:"actions,omitempty"` // The duration after which Envoy counts a nonresponsive thread in the // “watchdog_miss“ statistic. If not specified the default is 200ms. MissTimeout *duration.Duration `protobuf:"bytes,1,opt,name=miss_timeout,json=missTimeout,proto3" json:"miss_timeout,omitempty"` // The duration after which Envoy counts a nonresponsive thread in the // “watchdog_mega_miss“ statistic. If not specified the default is // 1000ms. MegamissTimeout *duration.Duration `protobuf:"bytes,2,opt,name=megamiss_timeout,json=megamissTimeout,proto3" json:"megamiss_timeout,omitempty"` // If a watched thread has been nonresponsive for this duration, assume a // programming error and kill the entire Envoy process. Set to 0 to disable // kill behavior. If not specified the default is 0 (disabled). KillTimeout *duration.Duration `protobuf:"bytes,3,opt,name=kill_timeout,json=killTimeout,proto3" json:"kill_timeout,omitempty"` // Defines the maximum jitter used to adjust the “kill_timeout“ if “kill_timeout“ is // enabled. Enabling this feature would help to reduce risk of synchronized // watchdog kill events across proxies due to external triggers. Set to 0 to // disable. If not specified the default is 0 (disabled). MaxKillTimeoutJitter *duration.Duration `protobuf:"bytes,6,opt,name=max_kill_timeout_jitter,json=maxKillTimeoutJitter,proto3" json:"max_kill_timeout_jitter,omitempty"` // If “max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))“ // threads have been nonresponsive for at least this duration kill the entire // Envoy process. Set to 0 to disable this behavior. If not specified the // default is 0 (disabled). MultikillTimeout *duration.Duration `protobuf:"bytes,4,opt,name=multikill_timeout,json=multikillTimeout,proto3" json:"multikill_timeout,omitempty"` // Sets the threshold for “multikill_timeout“ in terms of the percentage of // nonresponsive threads required for the “multikill_timeout“. // If not specified the default is 0. MultikillThreshold *v35.Percent `protobuf:"bytes,5,opt,name=multikill_threshold,json=multikillThreshold,proto3" json:"multikill_threshold,omitempty"` } func (x *Watchdog) Reset() { *x = Watchdog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Watchdog) String() string { return protoimpl.X.MessageStringOf(x) } func (*Watchdog) ProtoMessage() {} func (x *Watchdog) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Watchdog.ProtoReflect.Descriptor instead. func (*Watchdog) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{4} } func (x *Watchdog) GetActions() []*Watchdog_WatchdogAction { if x != nil { return x.Actions } return nil } func (x *Watchdog) GetMissTimeout() *duration.Duration { if x != nil { return x.MissTimeout } return nil } func (x *Watchdog) GetMegamissTimeout() *duration.Duration { if x != nil { return x.MegamissTimeout } return nil } func (x *Watchdog) GetKillTimeout() *duration.Duration { if x != nil { return x.KillTimeout } return nil } func (x *Watchdog) GetMaxKillTimeoutJitter() *duration.Duration { if x != nil { return x.MaxKillTimeoutJitter } return nil } func (x *Watchdog) GetMultikillTimeout() *duration.Duration { if x != nil { return x.MultikillTimeout } return nil } func (x *Watchdog) GetMultikillThreshold() *v35.Percent { if x != nil { return x.MultikillThreshold } return nil } // Fatal actions to run while crashing. Actions can be safe (meaning they are // async-signal safe) or unsafe. We run all safe actions before we run unsafe actions. // If using an unsafe action that could get stuck or deadlock, it important to // have an out of band system to terminate the process. // // The interface for the extension is “Envoy::Server::Configuration::FatalAction“. // “FatalAction“ extensions live in the “envoy.extensions.fatal_actions“ API // namespace. type FatalAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Extension specific configuration for the action. It's expected to conform // to the “Envoy::Server::Configuration::FatalAction“ interface. Config *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *FatalAction) Reset() { *x = FatalAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FatalAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*FatalAction) ProtoMessage() {} func (x *FatalAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FatalAction.ProtoReflect.Descriptor instead. func (*FatalAction) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{5} } func (x *FatalAction) GetConfig() *v3.TypedExtensionConfig { if x != nil { return x.Config } return nil } // Runtime :ref:`configuration overview ` (deprecated). type Runtime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The implementation assumes that the file system tree is accessed via a // symbolic link. An atomic link swap is used when a new tree should be // switched to. This parameter specifies the path to the symbolic link. Envoy // will watch the location for changes and reload the file system tree when // they happen. If this parameter is not set, there will be no disk based // runtime. SymlinkRoot string `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"` // Specifies the subdirectory to load within the root directory. This is // useful if multiple systems share the same delivery mechanism. Envoy // configuration elements can be contained in a dedicated subdirectory. Subdirectory string `protobuf:"bytes,2,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"` // Specifies an optional subdirectory to load within the root directory. If // specified and the directory exists, configuration values within this // directory will override those found in the primary subdirectory. This is // useful when Envoy is deployed across many different types of servers. // Sometimes it is useful to have a per service cluster directory for runtime // configuration. See below for exactly how the override directory is used. OverrideSubdirectory string `protobuf:"bytes,3,opt,name=override_subdirectory,json=overrideSubdirectory,proto3" json:"override_subdirectory,omitempty"` // Static base runtime. This will be :ref:`overridden // ` by other runtime layers, e.g. // disk or admin. This follows the :ref:`runtime protobuf JSON representation // encoding `. Base *_struct.Struct `protobuf:"bytes,4,opt,name=base,proto3" json:"base,omitempty"` } func (x *Runtime) Reset() { *x = Runtime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runtime) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runtime) ProtoMessage() {} func (x *Runtime) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Runtime.ProtoReflect.Descriptor instead. func (*Runtime) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{6} } func (x *Runtime) GetSymlinkRoot() string { if x != nil { return x.SymlinkRoot } return "" } func (x *Runtime) GetSubdirectory() string { if x != nil { return x.Subdirectory } return "" } func (x *Runtime) GetOverrideSubdirectory() string { if x != nil { return x.OverrideSubdirectory } return "" } func (x *Runtime) GetBase() *_struct.Struct { if x != nil { return x.Base } return nil } // [#next-free-field: 6] type RuntimeLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptive name for the runtime layer. This is only used for the runtime // :http:get:`/runtime` output. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to LayerSpecifier: // // *RuntimeLayer_StaticLayer // *RuntimeLayer_DiskLayer_ // *RuntimeLayer_AdminLayer_ // *RuntimeLayer_RtdsLayer_ LayerSpecifier isRuntimeLayer_LayerSpecifier `protobuf_oneof:"layer_specifier"` } func (x *RuntimeLayer) Reset() { *x = RuntimeLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer) ProtoMessage() {} func (x *RuntimeLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{7} } func (x *RuntimeLayer) GetName() string { if x != nil { return x.Name } return "" } func (m *RuntimeLayer) GetLayerSpecifier() isRuntimeLayer_LayerSpecifier { if m != nil { return m.LayerSpecifier } return nil } func (x *RuntimeLayer) GetStaticLayer() *_struct.Struct { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_StaticLayer); ok { return x.StaticLayer } return nil } func (x *RuntimeLayer) GetDiskLayer() *RuntimeLayer_DiskLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_DiskLayer_); ok { return x.DiskLayer } return nil } func (x *RuntimeLayer) GetAdminLayer() *RuntimeLayer_AdminLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_AdminLayer_); ok { return x.AdminLayer } return nil } func (x *RuntimeLayer) GetRtdsLayer() *RuntimeLayer_RtdsLayer { if x, ok := x.GetLayerSpecifier().(*RuntimeLayer_RtdsLayer_); ok { return x.RtdsLayer } return nil } type isRuntimeLayer_LayerSpecifier interface { isRuntimeLayer_LayerSpecifier() } type RuntimeLayer_StaticLayer struct { // :ref:`Static runtime ` layer. // This follows the :ref:`runtime protobuf JSON representation encoding // `. Unlike static xDS resources, this static // layer is overridable by later layers in the runtime virtual filesystem. StaticLayer *_struct.Struct `protobuf:"bytes,2,opt,name=static_layer,json=staticLayer,proto3,oneof"` } type RuntimeLayer_DiskLayer_ struct { DiskLayer *RuntimeLayer_DiskLayer `protobuf:"bytes,3,opt,name=disk_layer,json=diskLayer,proto3,oneof"` } type RuntimeLayer_AdminLayer_ struct { AdminLayer *RuntimeLayer_AdminLayer `protobuf:"bytes,4,opt,name=admin_layer,json=adminLayer,proto3,oneof"` } type RuntimeLayer_RtdsLayer_ struct { RtdsLayer *RuntimeLayer_RtdsLayer `protobuf:"bytes,5,opt,name=rtds_layer,json=rtdsLayer,proto3,oneof"` } func (*RuntimeLayer_StaticLayer) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_DiskLayer_) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_AdminLayer_) isRuntimeLayer_LayerSpecifier() {} func (*RuntimeLayer_RtdsLayer_) isRuntimeLayer_LayerSpecifier() {} // Runtime :ref:`configuration overview `. type LayeredRuntime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`layers ` of the runtime. This is ordered // such that later layers in the list overlay earlier entries. Layers []*RuntimeLayer `protobuf:"bytes,1,rep,name=layers,proto3" json:"layers,omitempty"` } func (x *LayeredRuntime) Reset() { *x = LayeredRuntime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LayeredRuntime) String() string { return protoimpl.X.MessageStringOf(x) } func (*LayeredRuntime) ProtoMessage() {} func (x *LayeredRuntime) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LayeredRuntime.ProtoReflect.Descriptor instead. func (*LayeredRuntime) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{8} } func (x *LayeredRuntime) GetLayers() []*RuntimeLayer { if x != nil { return x.Layers } return nil } // Used to specify the header that needs to be registered as an inline header. // // If request or response contain multiple headers with the same name and the header // name is registered as an inline header. Then multiple headers will be folded // into one, and multiple header values will be concatenated by a suitable delimiter. // The delimiter is generally a comma. // // For example, if 'foo' is registered as an inline header, and the headers contains // the following two headers: // // .. code-block:: text // // foo: bar // foo: eep // // Then they will eventually be folded into: // // .. code-block:: text // // foo: bar, eep // // Inline headers provide O(1) search performance, but each inline header imposes // an additional memory overhead on all instances of the corresponding type of // HeaderMap or TrailerMap. type CustomInlineHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the header that is expected to be set as the inline header. InlineHeaderName string `protobuf:"bytes,1,opt,name=inline_header_name,json=inlineHeaderName,proto3" json:"inline_header_name,omitempty"` // The type of the header that is expected to be set as the inline header. InlineHeaderType CustomInlineHeader_InlineHeaderType `protobuf:"varint,2,opt,name=inline_header_type,json=inlineHeaderType,proto3,enum=envoy.config.bootstrap.v3.CustomInlineHeader_InlineHeaderType" json:"inline_header_type,omitempty"` } func (x *CustomInlineHeader) Reset() { *x = CustomInlineHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomInlineHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomInlineHeader) ProtoMessage() {} func (x *CustomInlineHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomInlineHeader.ProtoReflect.Descriptor instead. func (*CustomInlineHeader) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{9} } func (x *CustomInlineHeader) GetInlineHeaderName() string { if x != nil { return x.InlineHeaderName } return "" } func (x *CustomInlineHeader) GetInlineHeaderType() CustomInlineHeader_InlineHeaderType { if x != nil { return x.InlineHeaderType } return CustomInlineHeader_REQUEST_HEADER } type Bootstrap_StaticResources struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Static :ref:`Listeners `. These listeners are // available regardless of LDS configuration. Listeners []*v36.Listener `protobuf:"bytes,1,rep,name=listeners,proto3" json:"listeners,omitempty"` // If a network based configuration source is specified for :ref:`cds_config // `, it's necessary // to have some initial cluster definitions available to allow Envoy to know // how to speak to the management server. These cluster definitions may not // use :ref:`EDS ` (i.e. they should be static // IP or DNS-based). Clusters []*v37.Cluster `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"` // These static secrets can be used by :ref:`SdsSecretConfig // ` Secrets []*v38.Secret `protobuf:"bytes,3,rep,name=secrets,proto3" json:"secrets,omitempty"` } func (x *Bootstrap_StaticResources) Reset() { *x = Bootstrap_StaticResources{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_StaticResources) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_StaticResources) ProtoMessage() {} func (x *Bootstrap_StaticResources) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_StaticResources.ProtoReflect.Descriptor instead. func (*Bootstrap_StaticResources) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 0} } func (x *Bootstrap_StaticResources) GetListeners() []*v36.Listener { if x != nil { return x.Listeners } return nil } func (x *Bootstrap_StaticResources) GetClusters() []*v37.Cluster { if x != nil { return x.Clusters } return nil } func (x *Bootstrap_StaticResources) GetSecrets() []*v38.Secret { if x != nil { return x.Secrets } return nil } // [#next-free-field: 7] type Bootstrap_DynamicResources struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All :ref:`Listeners ` are provided by a single // :ref:`LDS ` configuration source. LdsConfig *v3.ConfigSource `protobuf:"bytes,1,opt,name=lds_config,json=ldsConfig,proto3" json:"lds_config,omitempty"` // xdstp:// resource locator for listener collection. // [#not-implemented-hide:] LdsResourcesLocator string `protobuf:"bytes,5,opt,name=lds_resources_locator,json=ldsResourcesLocator,proto3" json:"lds_resources_locator,omitempty"` // All post-bootstrap :ref:`Cluster ` definitions are // provided by a single :ref:`CDS ` // configuration source. CdsConfig *v3.ConfigSource `protobuf:"bytes,2,opt,name=cds_config,json=cdsConfig,proto3" json:"cds_config,omitempty"` // xdstp:// resource locator for cluster collection. // [#not-implemented-hide:] CdsResourcesLocator string `protobuf:"bytes,6,opt,name=cds_resources_locator,json=cdsResourcesLocator,proto3" json:"cds_resources_locator,omitempty"` // A single :ref:`ADS ` source may be optionally // specified. This must have :ref:`api_type // ` :ref:`GRPC // `. Only // :ref:`ConfigSources ` that have // the :ref:`ads ` field set will be // streamed on the ADS channel. AdsConfig *v3.ApiConfigSource `protobuf:"bytes,3,opt,name=ads_config,json=adsConfig,proto3" json:"ads_config,omitempty"` } func (x *Bootstrap_DynamicResources) Reset() { *x = Bootstrap_DynamicResources{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_DynamicResources) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_DynamicResources) ProtoMessage() {} func (x *Bootstrap_DynamicResources) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_DynamicResources.ProtoReflect.Descriptor instead. func (*Bootstrap_DynamicResources) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 1} } func (x *Bootstrap_DynamicResources) GetLdsConfig() *v3.ConfigSource { if x != nil { return x.LdsConfig } return nil } func (x *Bootstrap_DynamicResources) GetLdsResourcesLocator() string { if x != nil { return x.LdsResourcesLocator } return "" } func (x *Bootstrap_DynamicResources) GetCdsConfig() *v3.ConfigSource { if x != nil { return x.CdsConfig } return nil } func (x *Bootstrap_DynamicResources) GetCdsResourcesLocator() string { if x != nil { return x.CdsResourcesLocator } return "" } func (x *Bootstrap_DynamicResources) GetAdsConfig() *v3.ApiConfigSource { if x != nil { return x.AdsConfig } return nil } type Bootstrap_ApplicationLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional field to set the application logs format. If this field is set, it will override // the default log format. Setting both this field and :option:`--log-format` command line // option is not allowed, and will cause a bootstrap error. LogFormat *Bootstrap_ApplicationLogConfig_LogFormat `protobuf:"bytes,1,opt,name=log_format,json=logFormat,proto3" json:"log_format,omitempty"` } func (x *Bootstrap_ApplicationLogConfig) Reset() { *x = Bootstrap_ApplicationLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_ApplicationLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_ApplicationLogConfig) ProtoMessage() {} func (x *Bootstrap_ApplicationLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_ApplicationLogConfig.ProtoReflect.Descriptor instead. func (*Bootstrap_ApplicationLogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 2} } func (x *Bootstrap_ApplicationLogConfig) GetLogFormat() *Bootstrap_ApplicationLogConfig_LogFormat { if x != nil { return x.LogFormat } return nil } type Bootstrap_DeferredStatOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When the flag is enabled, Envoy will lazily initialize a subset of the stats (see below). // This will save memory and CPU cycles when creating the objects that own these stats, if those // stats are never referenced throughout the lifetime of the process. However, it will incur additional // memory overhead for these objects, and a small increase of CPU usage when a at least one of the stats // is updated for the first time. // Groups of stats that will be lazily initialized: // - Cluster traffic stats: a subgroup of the :ref:`cluster statistics ` // that are used when requests are routed to the cluster. EnableDeferredCreationStats bool `protobuf:"varint,1,opt,name=enable_deferred_creation_stats,json=enableDeferredCreationStats,proto3" json:"enable_deferred_creation_stats,omitempty"` } func (x *Bootstrap_DeferredStatOptions) Reset() { *x = Bootstrap_DeferredStatOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_DeferredStatOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_DeferredStatOptions) ProtoMessage() {} func (x *Bootstrap_DeferredStatOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_DeferredStatOptions.ProtoReflect.Descriptor instead. func (*Bootstrap_DeferredStatOptions) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 3} } func (x *Bootstrap_DeferredStatOptions) GetEnableDeferredCreationStats() bool { if x != nil { return x.EnableDeferredCreationStats } return false } type Bootstrap_GrpcAsyncClientManagerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional field to set the expiration time for the cached gRPC client object. // The minimal value is 5s and the default is 50s. MaxCachedEntryIdleDuration *duration.Duration `protobuf:"bytes,1,opt,name=max_cached_entry_idle_duration,json=maxCachedEntryIdleDuration,proto3" json:"max_cached_entry_idle_duration,omitempty"` } func (x *Bootstrap_GrpcAsyncClientManagerConfig) Reset() { *x = Bootstrap_GrpcAsyncClientManagerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_GrpcAsyncClientManagerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_GrpcAsyncClientManagerConfig) ProtoMessage() {} func (x *Bootstrap_GrpcAsyncClientManagerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_GrpcAsyncClientManagerConfig.ProtoReflect.Descriptor instead. func (*Bootstrap_GrpcAsyncClientManagerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 4} } func (x *Bootstrap_GrpcAsyncClientManagerConfig) GetMaxCachedEntryIdleDuration() *duration.Duration { if x != nil { return x.MaxCachedEntryIdleDuration } return nil } type Bootstrap_ApplicationLogConfig_LogFormat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to LogFormat: // // *Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat // *Bootstrap_ApplicationLogConfig_LogFormat_TextFormat LogFormat isBootstrap_ApplicationLogConfig_LogFormat_LogFormat `protobuf_oneof:"log_format"` } func (x *Bootstrap_ApplicationLogConfig_LogFormat) Reset() { *x = Bootstrap_ApplicationLogConfig_LogFormat{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bootstrap_ApplicationLogConfig_LogFormat) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bootstrap_ApplicationLogConfig_LogFormat) ProtoMessage() {} func (x *Bootstrap_ApplicationLogConfig_LogFormat) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Bootstrap_ApplicationLogConfig_LogFormat.ProtoReflect.Descriptor instead. func (*Bootstrap_ApplicationLogConfig_LogFormat) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{0, 2, 0} } func (m *Bootstrap_ApplicationLogConfig_LogFormat) GetLogFormat() isBootstrap_ApplicationLogConfig_LogFormat_LogFormat { if m != nil { return m.LogFormat } return nil } func (x *Bootstrap_ApplicationLogConfig_LogFormat) GetJsonFormat() *_struct.Struct { if x, ok := x.GetLogFormat().(*Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat); ok { return x.JsonFormat } return nil } func (x *Bootstrap_ApplicationLogConfig_LogFormat) GetTextFormat() string { if x, ok := x.GetLogFormat().(*Bootstrap_ApplicationLogConfig_LogFormat_TextFormat); ok { return x.TextFormat } return "" } type isBootstrap_ApplicationLogConfig_LogFormat_LogFormat interface { isBootstrap_ApplicationLogConfig_LogFormat_LogFormat() } type Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat struct { // Flush application logs in JSON format. The configured JSON struct can // support all the format flags specified in the :option:`--log-format` // command line options section, except for the “%v“ and “%_“ flags. JsonFormat *_struct.Struct `protobuf:"bytes,1,opt,name=json_format,json=jsonFormat,proto3,oneof"` } type Bootstrap_ApplicationLogConfig_LogFormat_TextFormat struct { // Flush application log in a format defined by a string. The text format // can support all the format flags specified in the :option:`--log-format` // command line option section. TextFormat string `protobuf:"bytes,2,opt,name=text_format,json=textFormat,proto3,oneof"` } func (*Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat) isBootstrap_ApplicationLogConfig_LogFormat_LogFormat() { } func (*Bootstrap_ApplicationLogConfig_LogFormat_TextFormat) isBootstrap_ApplicationLogConfig_LogFormat_LogFormat() { } type ClusterManager_OutlierDetection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the path to the outlier event log. EventLogPath string `protobuf:"bytes,1,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"` // [#not-implemented-hide:] // The gRPC service for the outlier detection event service. // If empty, outlier detection events won't be sent to a remote endpoint. EventService *v3.EventServiceConfig `protobuf:"bytes,2,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"` } func (x *ClusterManager_OutlierDetection) Reset() { *x = ClusterManager_OutlierDetection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterManager_OutlierDetection) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterManager_OutlierDetection) ProtoMessage() {} func (x *ClusterManager_OutlierDetection) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterManager_OutlierDetection.ProtoReflect.Descriptor instead. func (*ClusterManager_OutlierDetection) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{2, 0} } func (x *ClusterManager_OutlierDetection) GetEventLogPath() string { if x != nil { return x.EventLogPath } return "" } func (x *ClusterManager_OutlierDetection) GetEventService() *v3.EventServiceConfig { if x != nil { return x.EventService } return nil } type Watchdog_WatchdogAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Extension specific configuration for the action. Config *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` Event Watchdog_WatchdogAction_WatchdogEvent `protobuf:"varint,2,opt,name=event,proto3,enum=envoy.config.bootstrap.v3.Watchdog_WatchdogAction_WatchdogEvent" json:"event,omitempty"` } func (x *Watchdog_WatchdogAction) Reset() { *x = Watchdog_WatchdogAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Watchdog_WatchdogAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*Watchdog_WatchdogAction) ProtoMessage() {} func (x *Watchdog_WatchdogAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Watchdog_WatchdogAction.ProtoReflect.Descriptor instead. func (*Watchdog_WatchdogAction) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{4, 0} } func (x *Watchdog_WatchdogAction) GetConfig() *v3.TypedExtensionConfig { if x != nil { return x.Config } return nil } func (x *Watchdog_WatchdogAction) GetEvent() Watchdog_WatchdogAction_WatchdogEvent { if x != nil { return x.Event } return Watchdog_WatchdogAction_UNKNOWN } // :ref:`Disk runtime ` layer. type RuntimeLayer_DiskLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The implementation assumes that the file system tree is accessed via a // symbolic link. An atomic link swap is used when a new tree should be // switched to. This parameter specifies the path to the symbolic link. // Envoy will watch the location for changes and reload the file system tree // when they happen. See documentation on runtime :ref:`atomicity // ` for further details on how reloads are // treated. SymlinkRoot string `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"` // Specifies the subdirectory to load within the root directory. This is // useful if multiple systems share the same delivery mechanism. Envoy // configuration elements can be contained in a dedicated subdirectory. Subdirectory string `protobuf:"bytes,3,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"` // :ref:`Append ` the // service cluster to the path under symlink root. AppendServiceCluster bool `protobuf:"varint,2,opt,name=append_service_cluster,json=appendServiceCluster,proto3" json:"append_service_cluster,omitempty"` } func (x *RuntimeLayer_DiskLayer) Reset() { *x = RuntimeLayer_DiskLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_DiskLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_DiskLayer) ProtoMessage() {} func (x *RuntimeLayer_DiskLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_DiskLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_DiskLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{7, 0} } func (x *RuntimeLayer_DiskLayer) GetSymlinkRoot() string { if x != nil { return x.SymlinkRoot } return "" } func (x *RuntimeLayer_DiskLayer) GetSubdirectory() string { if x != nil { return x.Subdirectory } return "" } func (x *RuntimeLayer_DiskLayer) GetAppendServiceCluster() bool { if x != nil { return x.AppendServiceCluster } return false } // :ref:`Admin console runtime ` layer. type RuntimeLayer_AdminLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RuntimeLayer_AdminLayer) Reset() { *x = RuntimeLayer_AdminLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_AdminLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_AdminLayer) ProtoMessage() {} func (x *RuntimeLayer_AdminLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_AdminLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_AdminLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{7, 1} } // :ref:`Runtime Discovery Service (RTDS) ` layer. type RuntimeLayer_RtdsLayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Resource to subscribe to at “rtds_config“ for the RTDS layer. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // RTDS configuration source. RtdsConfig *v3.ConfigSource `protobuf:"bytes,2,opt,name=rtds_config,json=rtdsConfig,proto3" json:"rtds_config,omitempty"` } func (x *RuntimeLayer_RtdsLayer) Reset() { *x = RuntimeLayer_RtdsLayer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeLayer_RtdsLayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeLayer_RtdsLayer) ProtoMessage() {} func (x *RuntimeLayer_RtdsLayer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeLayer_RtdsLayer.ProtoReflect.Descriptor instead. func (*RuntimeLayer_RtdsLayer) Descriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{7, 2} } func (x *RuntimeLayer_RtdsLayer) GetName() string { if x != nil { return x.Name } return "" } func (x *RuntimeLayer_RtdsLayer) GetRtdsConfig() *v3.ConfigSource { if x != nil { return x.RtdsConfig } return nil } var File_envoy_config_bootstrap_v3_bootstrap_proto protoreflect.FileDescriptor var file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x23, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x68, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x68, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x6c, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x44, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x24, 0xfa, 0x42, 0x0e, 0xaa, 0x01, 0x0b, 0x1a, 0x03, 0x08, 0xac, 0x02, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d, 0x12, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, 0x74, 0x73, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4f, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x42, 0x0a, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x5f, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x09, 0x8a, 0x93, 0xb7, 0x2a, 0x04, 0x08, 0x01, 0x10, 0x01, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x5f, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x19, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x14, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x1e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x65, 0x72, 0x66, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x5c, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x67, 0x65, 0x78, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x78, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x78, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x78, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x20, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1c, 0x67, 0x72, 0x70, 0x63, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x9a, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x89, 0x03, 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x1a, 0xf9, 0x01, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x7d, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x11, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x5a, 0x0a, 0x13, 0x44, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x89, 0x01, 0x0a, 0x1c, 0x47, 0x72, 0x70, 0x63, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x32, 0x02, 0x08, 0x05, 0x52, 0x1a, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x7b, 0x0a, 0x21, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x89, 0x03, 0x0a, 0x05, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x33, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x94, 0x05, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xc9, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x40, 0x9a, 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x52, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x22, 0xba, 0x06, 0x0a, 0x08, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x65, 0x67, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x85, 0x02, 0x0a, 0x0e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x45, 0x47, 0x41, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x04, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x22, 0x51, 0x0a, 0x0b, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xdb, 0x06, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x72, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0xc1, 0x01, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x46, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x9d, 0x01, 0x0a, 0x09, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x72, 0x74, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x74, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x12, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x76, 0x0a, 0x12, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x42, 0x91, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescOnce sync.Once file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescData = file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc ) func file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP() []byte { file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescOnce.Do(func() { file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescData) }) return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescData } var file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_envoy_config_bootstrap_v3_bootstrap_proto_goTypes = []interface{}{ (Watchdog_WatchdogAction_WatchdogEvent)(0), // 0: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent (CustomInlineHeader_InlineHeaderType)(0), // 1: envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType (*Bootstrap)(nil), // 2: envoy.config.bootstrap.v3.Bootstrap (*Admin)(nil), // 3: envoy.config.bootstrap.v3.Admin (*ClusterManager)(nil), // 4: envoy.config.bootstrap.v3.ClusterManager (*Watchdogs)(nil), // 5: envoy.config.bootstrap.v3.Watchdogs (*Watchdog)(nil), // 6: envoy.config.bootstrap.v3.Watchdog (*FatalAction)(nil), // 7: envoy.config.bootstrap.v3.FatalAction (*Runtime)(nil), // 8: envoy.config.bootstrap.v3.Runtime (*RuntimeLayer)(nil), // 9: envoy.config.bootstrap.v3.RuntimeLayer (*LayeredRuntime)(nil), // 10: envoy.config.bootstrap.v3.LayeredRuntime (*CustomInlineHeader)(nil), // 11: envoy.config.bootstrap.v3.CustomInlineHeader (*Bootstrap_StaticResources)(nil), // 12: envoy.config.bootstrap.v3.Bootstrap.StaticResources (*Bootstrap_DynamicResources)(nil), // 13: envoy.config.bootstrap.v3.Bootstrap.DynamicResources (*Bootstrap_ApplicationLogConfig)(nil), // 14: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig (*Bootstrap_DeferredStatOptions)(nil), // 15: envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions (*Bootstrap_GrpcAsyncClientManagerConfig)(nil), // 16: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig nil, // 17: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry (*Bootstrap_ApplicationLogConfig_LogFormat)(nil), // 18: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat (*ClusterManager_OutlierDetection)(nil), // 19: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection (*Watchdog_WatchdogAction)(nil), // 20: envoy.config.bootstrap.v3.Watchdog.WatchdogAction (*RuntimeLayer_DiskLayer)(nil), // 21: envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer (*RuntimeLayer_AdminLayer)(nil), // 22: envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer (*RuntimeLayer_RtdsLayer)(nil), // 23: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer (*v3.Node)(nil), // 24: envoy.config.core.v3.Node (*v3.ApiConfigSource)(nil), // 25: envoy.config.core.v3.ApiConfigSource (*v31.StatsSink)(nil), // 26: envoy.config.metrics.v3.StatsSink (*v31.StatsConfig)(nil), // 27: envoy.config.metrics.v3.StatsConfig (*duration.Duration)(nil), // 28: google.protobuf.Duration (*v32.Tracing)(nil), // 29: envoy.config.trace.v3.Tracing (*v33.OverloadManager)(nil), // 30: envoy.config.overload.v3.OverloadManager (*wrappers.UInt64Value)(nil), // 31: google.protobuf.UInt64Value (*v3.DnsResolutionConfig)(nil), // 32: envoy.config.core.v3.DnsResolutionConfig (*v3.TypedExtensionConfig)(nil), // 33: envoy.config.core.v3.TypedExtensionConfig (*v3.ConfigSource)(nil), // 34: envoy.config.core.v3.ConfigSource (*v34.AccessLog)(nil), // 35: envoy.config.accesslog.v3.AccessLog (*v3.Address)(nil), // 36: envoy.config.core.v3.Address (*v3.SocketOption)(nil), // 37: envoy.config.core.v3.SocketOption (*v3.BindConfig)(nil), // 38: envoy.config.core.v3.BindConfig (*v35.Percent)(nil), // 39: envoy.type.v3.Percent (*_struct.Struct)(nil), // 40: google.protobuf.Struct (*v36.Listener)(nil), // 41: envoy.config.listener.v3.Listener (*v37.Cluster)(nil), // 42: envoy.config.cluster.v3.Cluster (*v38.Secret)(nil), // 43: envoy.extensions.transport_sockets.tls.v3.Secret (*v3.EventServiceConfig)(nil), // 44: envoy.config.core.v3.EventServiceConfig } var file_envoy_config_bootstrap_v3_bootstrap_proto_depIdxs = []int32{ 24, // 0: envoy.config.bootstrap.v3.Bootstrap.node:type_name -> envoy.config.core.v3.Node 12, // 1: envoy.config.bootstrap.v3.Bootstrap.static_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.StaticResources 13, // 2: envoy.config.bootstrap.v3.Bootstrap.dynamic_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.DynamicResources 4, // 3: envoy.config.bootstrap.v3.Bootstrap.cluster_manager:type_name -> envoy.config.bootstrap.v3.ClusterManager 25, // 4: envoy.config.bootstrap.v3.Bootstrap.hds_config:type_name -> envoy.config.core.v3.ApiConfigSource 26, // 5: envoy.config.bootstrap.v3.Bootstrap.stats_sinks:type_name -> envoy.config.metrics.v3.StatsSink 15, // 6: envoy.config.bootstrap.v3.Bootstrap.deferred_stat_options:type_name -> envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions 27, // 7: envoy.config.bootstrap.v3.Bootstrap.stats_config:type_name -> envoy.config.metrics.v3.StatsConfig 28, // 8: envoy.config.bootstrap.v3.Bootstrap.stats_flush_interval:type_name -> google.protobuf.Duration 6, // 9: envoy.config.bootstrap.v3.Bootstrap.watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog 5, // 10: envoy.config.bootstrap.v3.Bootstrap.watchdogs:type_name -> envoy.config.bootstrap.v3.Watchdogs 29, // 11: envoy.config.bootstrap.v3.Bootstrap.tracing:type_name -> envoy.config.trace.v3.Tracing 10, // 12: envoy.config.bootstrap.v3.Bootstrap.layered_runtime:type_name -> envoy.config.bootstrap.v3.LayeredRuntime 3, // 13: envoy.config.bootstrap.v3.Bootstrap.admin:type_name -> envoy.config.bootstrap.v3.Admin 30, // 14: envoy.config.bootstrap.v3.Bootstrap.overload_manager:type_name -> envoy.config.overload.v3.OverloadManager 31, // 15: envoy.config.bootstrap.v3.Bootstrap.stats_server_version_override:type_name -> google.protobuf.UInt64Value 32, // 16: envoy.config.bootstrap.v3.Bootstrap.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig 33, // 17: envoy.config.bootstrap.v3.Bootstrap.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 33, // 18: envoy.config.bootstrap.v3.Bootstrap.bootstrap_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig 7, // 19: envoy.config.bootstrap.v3.Bootstrap.fatal_actions:type_name -> envoy.config.bootstrap.v3.FatalAction 34, // 20: envoy.config.bootstrap.v3.Bootstrap.config_sources:type_name -> envoy.config.core.v3.ConfigSource 34, // 21: envoy.config.bootstrap.v3.Bootstrap.default_config_source:type_name -> envoy.config.core.v3.ConfigSource 17, // 22: envoy.config.bootstrap.v3.Bootstrap.certificate_provider_instances:type_name -> envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry 11, // 23: envoy.config.bootstrap.v3.Bootstrap.inline_headers:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader 33, // 24: envoy.config.bootstrap.v3.Bootstrap.default_regex_engine:type_name -> envoy.config.core.v3.TypedExtensionConfig 33, // 25: envoy.config.bootstrap.v3.Bootstrap.xds_delegate_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig 33, // 26: envoy.config.bootstrap.v3.Bootstrap.xds_config_tracker_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig 33, // 27: envoy.config.bootstrap.v3.Bootstrap.listener_manager:type_name -> envoy.config.core.v3.TypedExtensionConfig 14, // 28: envoy.config.bootstrap.v3.Bootstrap.application_log_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig 16, // 29: envoy.config.bootstrap.v3.Bootstrap.grpc_async_client_manager_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig 35, // 30: envoy.config.bootstrap.v3.Admin.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 36, // 31: envoy.config.bootstrap.v3.Admin.address:type_name -> envoy.config.core.v3.Address 37, // 32: envoy.config.bootstrap.v3.Admin.socket_options:type_name -> envoy.config.core.v3.SocketOption 19, // 33: envoy.config.bootstrap.v3.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v3.ClusterManager.OutlierDetection 38, // 34: envoy.config.bootstrap.v3.ClusterManager.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig 25, // 35: envoy.config.bootstrap.v3.ClusterManager.load_stats_config:type_name -> envoy.config.core.v3.ApiConfigSource 6, // 36: envoy.config.bootstrap.v3.Watchdogs.main_thread_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog 6, // 37: envoy.config.bootstrap.v3.Watchdogs.worker_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog 20, // 38: envoy.config.bootstrap.v3.Watchdog.actions:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction 28, // 39: envoy.config.bootstrap.v3.Watchdog.miss_timeout:type_name -> google.protobuf.Duration 28, // 40: envoy.config.bootstrap.v3.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration 28, // 41: envoy.config.bootstrap.v3.Watchdog.kill_timeout:type_name -> google.protobuf.Duration 28, // 42: envoy.config.bootstrap.v3.Watchdog.max_kill_timeout_jitter:type_name -> google.protobuf.Duration 28, // 43: envoy.config.bootstrap.v3.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration 39, // 44: envoy.config.bootstrap.v3.Watchdog.multikill_threshold:type_name -> envoy.type.v3.Percent 33, // 45: envoy.config.bootstrap.v3.FatalAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig 40, // 46: envoy.config.bootstrap.v3.Runtime.base:type_name -> google.protobuf.Struct 40, // 47: envoy.config.bootstrap.v3.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct 21, // 48: envoy.config.bootstrap.v3.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer 22, // 49: envoy.config.bootstrap.v3.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer 23, // 50: envoy.config.bootstrap.v3.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer 9, // 51: envoy.config.bootstrap.v3.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v3.RuntimeLayer 1, // 52: envoy.config.bootstrap.v3.CustomInlineHeader.inline_header_type:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType 41, // 53: envoy.config.bootstrap.v3.Bootstrap.StaticResources.listeners:type_name -> envoy.config.listener.v3.Listener 42, // 54: envoy.config.bootstrap.v3.Bootstrap.StaticResources.clusters:type_name -> envoy.config.cluster.v3.Cluster 43, // 55: envoy.config.bootstrap.v3.Bootstrap.StaticResources.secrets:type_name -> envoy.extensions.transport_sockets.tls.v3.Secret 34, // 56: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.lds_config:type_name -> envoy.config.core.v3.ConfigSource 34, // 57: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.cds_config:type_name -> envoy.config.core.v3.ConfigSource 25, // 58: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.ads_config:type_name -> envoy.config.core.v3.ApiConfigSource 18, // 59: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.log_format:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat 28, // 60: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig.max_cached_entry_idle_duration:type_name -> google.protobuf.Duration 33, // 61: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry.value:type_name -> envoy.config.core.v3.TypedExtensionConfig 40, // 62: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat.json_format:type_name -> google.protobuf.Struct 44, // 63: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection.event_service:type_name -> envoy.config.core.v3.EventServiceConfig 33, // 64: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig 0, // 65: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.event:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent 34, // 66: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.config.core.v3.ConfigSource 67, // [67:67] is the sub-list for method output_type 67, // [67:67] is the sub-list for method input_type 67, // [67:67] is the sub-list for extension type_name 67, // [67:67] is the sub-list for extension extendee 0, // [0:67] is the sub-list for field type_name } func init() { file_envoy_config_bootstrap_v3_bootstrap_proto_init() } func file_envoy_config_bootstrap_v3_bootstrap_proto_init() { if File_envoy_config_bootstrap_v3_bootstrap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Admin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Watchdogs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Watchdog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FatalAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runtime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LayeredRuntime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomInlineHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_StaticResources); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_DynamicResources); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_ApplicationLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_DeferredStatOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_GrpcAsyncClientManagerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bootstrap_ApplicationLogConfig_LogFormat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterManager_OutlierDetection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Watchdog_WatchdogAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_DiskLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_AdminLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeLayer_RtdsLayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Bootstrap_StatsFlushOnAdmin)(nil), } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[7].OneofWrappers = []interface{}{ (*RuntimeLayer_StaticLayer)(nil), (*RuntimeLayer_DiskLayer_)(nil), (*RuntimeLayer_AdminLayer_)(nil), (*RuntimeLayer_RtdsLayer_)(nil), } file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16].OneofWrappers = []interface{}{ (*Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat)(nil), (*Bootstrap_ApplicationLogConfig_LogFormat_TextFormat)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc, NumEnums: 2, NumMessages: 22, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_bootstrap_v3_bootstrap_proto_goTypes, DependencyIndexes: file_envoy_config_bootstrap_v3_bootstrap_proto_depIdxs, EnumInfos: file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes, MessageInfos: file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes, }.Build() File_envoy_config_bootstrap_v3_bootstrap_proto = out.File file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = nil file_envoy_config_bootstrap_v3_bootstrap_proto_goTypes = nil file_envoy_config_bootstrap_v3_bootstrap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/bootstrap/v3/bootstrap.pb.validate.go000077500000000000000000003574521454502223200265020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/bootstrap/v3/bootstrap.proto package bootstrapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Bootstrap with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Bootstrap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BootstrapMultiError, or nil // if none found. func (m *Bootstrap) ValidateAll() error { return m.validate(true) } func (m *Bootstrap) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStaticResources()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticResources()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StaticResources", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDynamicResources()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicResources()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DynamicResources", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetClusterManager()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterManager()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "ClusterManager", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "HdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FlagsPath for idx, item := range m.GetStatsSinks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("StatsSinks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDeferredStatOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DeferredStatOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DeferredStatOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeferredStatOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DeferredStatOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStatsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StatsConfig", reason: "embedded message failed validation", cause: err, } } } if d := m.GetStatsFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BootstrapValidationError{ field: "StatsFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(300*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte || dur >= lt { err := BootstrapValidationError{ field: "StatsFlushInterval", reason: "value must be inside range [1ms, 5m0s)", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetWatchdog()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchdog()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Watchdog", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWatchdogs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdogs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Watchdogs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchdogs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Watchdogs", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLayeredRuntime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLayeredRuntime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "LayeredRuntime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAdmin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdmin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "Admin", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverloadManager()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverloadManager()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "OverloadManager", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableDispatcherStats // no validation rules for HeaderPrefix if all { switch v := interface{}(m.GetStatsServerVersionOverride()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsServerVersionOverride()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "StatsServerVersionOverride", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseTcpForDnsLookups if all { switch v := interface{}(m.GetDnsResolutionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolutionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedDnsResolverConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedDnsResolverConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetBootstrapExtensions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("BootstrapExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("BootstrapExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("BootstrapExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetFatalActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("FatalActions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("FatalActions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("FatalActions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetConfigSources() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("ConfigSources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("ConfigSources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("ConfigSources[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDefaultConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DefaultConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DefaultConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DefaultConfigSource", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultSocketInterface { sorted_keys := make([]string, len(m.GetCertificateProviderInstances())) i := 0 for key := range m.GetCertificateProviderInstances() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetCertificateProviderInstances()[key] _ = val // no validation rules for CertificateProviderInstances[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("CertificateProviderInstances[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("CertificateProviderInstances[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("CertificateProviderInstances[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } for idx, item := range m.GetInlineHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("InlineHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: fmt.Sprintf("InlineHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: fmt.Sprintf("InlineHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for PerfTracingFilePath if all { switch v := interface{}(m.GetDefaultRegexEngine()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DefaultRegexEngine", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "DefaultRegexEngine", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultRegexEngine()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "DefaultRegexEngine", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetXdsDelegateExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "XdsDelegateExtension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "XdsDelegateExtension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXdsDelegateExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "XdsDelegateExtension", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetXdsConfigTrackerExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "XdsConfigTrackerExtension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "XdsConfigTrackerExtension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXdsConfigTrackerExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "XdsConfigTrackerExtension", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetListenerManager()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ListenerManager", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ListenerManager", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListenerManager()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "ListenerManager", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetApplicationLogConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ApplicationLogConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "ApplicationLogConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApplicationLogConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "ApplicationLogConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcAsyncClientManagerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BootstrapValidationError{ field: "GrpcAsyncClientManagerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BootstrapValidationError{ field: "GrpcAsyncClientManagerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcAsyncClientManagerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BootstrapValidationError{ field: "GrpcAsyncClientManagerConfig", reason: "embedded message failed validation", cause: err, } } } switch v := m.StatsFlush.(type) { case *Bootstrap_StatsFlushOnAdmin: if v == nil { err := BootstrapValidationError{ field: "StatsFlush", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetStatsFlushOnAdmin() != true { err := BootstrapValidationError{ field: "StatsFlushOnAdmin", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return BootstrapMultiError(errors) } return nil } // BootstrapMultiError is an error wrapping multiple validation errors returned // by Bootstrap.ValidateAll() if the designated constraints aren't met. type BootstrapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BootstrapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BootstrapMultiError) AllErrors() []error { return m } // BootstrapValidationError is the validation error returned by // Bootstrap.Validate if the designated constraints aren't met. type BootstrapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BootstrapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BootstrapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BootstrapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BootstrapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BootstrapValidationError) ErrorName() string { return "BootstrapValidationError" } // Error satisfies the builtin error interface func (e BootstrapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BootstrapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BootstrapValidationError{} // Validate checks the field values on Admin with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Admin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Admin with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AdminMultiError, or nil if none found. func (m *Admin) ValidateAll() error { return m.validate(true) } func (m *Admin) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdminValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AccessLogPath // no validation rules for ProfilePath if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdminValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdminValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for IgnoreGlobalConnLimit if len(errors) > 0 { return AdminMultiError(errors) } return nil } // AdminMultiError is an error wrapping multiple validation errors returned by // Admin.ValidateAll() if the designated constraints aren't met. type AdminMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdminMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdminMultiError) AllErrors() []error { return m } // AdminValidationError is the validation error returned by Admin.Validate if // the designated constraints aren't met. type AdminValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdminValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdminValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdminValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdminValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdminValidationError) ErrorName() string { return "AdminValidationError" } // Error satisfies the builtin error interface func (e AdminValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdminValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdminValidationError{} // Validate checks the field values on ClusterManager with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterManager with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterManagerMultiError, // or nil if none found. func (m *ClusterManager) ValidateAll() error { return m.validate(true) } func (m *ClusterManager) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for LocalClusterName if all { switch v := interface{}(m.GetOutlierDetection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutlierDetection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamBindConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamBindConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLoadStatsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadStatsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManagerValidationError{ field: "LoadStatsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableDeferredClusterCreation if len(errors) > 0 { return ClusterManagerMultiError(errors) } return nil } // ClusterManagerMultiError is an error wrapping multiple validation errors // returned by ClusterManager.ValidateAll() if the designated constraints // aren't met. type ClusterManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterManagerMultiError) AllErrors() []error { return m } // ClusterManagerValidationError is the validation error returned by // ClusterManager.Validate if the designated constraints aren't met. type ClusterManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterManagerValidationError) ErrorName() string { return "ClusterManagerValidationError" } // Error satisfies the builtin error interface func (e ClusterManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterManagerValidationError{} // Validate checks the field values on Watchdogs with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Watchdogs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Watchdogs with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WatchdogsMultiError, or nil // if none found. func (m *Watchdogs) ValidateAll() error { return m.validate(true) } func (m *Watchdogs) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMainThreadWatchdog()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogsValidationError{ field: "MainThreadWatchdog", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogsValidationError{ field: "MainThreadWatchdog", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMainThreadWatchdog()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogsValidationError{ field: "MainThreadWatchdog", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWorkerWatchdog()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogsValidationError{ field: "WorkerWatchdog", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogsValidationError{ field: "WorkerWatchdog", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWorkerWatchdog()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogsValidationError{ field: "WorkerWatchdog", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WatchdogsMultiError(errors) } return nil } // WatchdogsMultiError is an error wrapping multiple validation errors returned // by Watchdogs.ValidateAll() if the designated constraints aren't met. type WatchdogsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WatchdogsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WatchdogsMultiError) AllErrors() []error { return m } // WatchdogsValidationError is the validation error returned by // Watchdogs.Validate if the designated constraints aren't met. type WatchdogsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WatchdogsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WatchdogsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WatchdogsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WatchdogsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WatchdogsValidationError) ErrorName() string { return "WatchdogsValidationError" } // Error satisfies the builtin error interface func (e WatchdogsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWatchdogs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WatchdogsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WatchdogsValidationError{} // Validate checks the field values on Watchdog with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Watchdog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Watchdog with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WatchdogMultiError, or nil // if none found. func (m *Watchdog) ValidateAll() error { return m.validate(true) } func (m *Watchdog) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMissTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMissTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MissTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMegamissTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMegamissTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MegamissTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKillTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKillTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "KillTimeout", reason: "embedded message failed validation", cause: err, } } } if d := m.GetMaxKillTimeoutJitter(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = WatchdogValidationError{ field: "MaxKillTimeoutJitter", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte { err := WatchdogValidationError{ field: "MaxKillTimeoutJitter", reason: "value must be greater than or equal to 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetMultikillTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMultikillTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MultikillTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMultikillThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WatchdogValidationError{ field: "MultikillThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMultikillThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WatchdogValidationError{ field: "MultikillThreshold", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WatchdogMultiError(errors) } return nil } // WatchdogMultiError is an error wrapping multiple validation errors returned // by Watchdog.ValidateAll() if the designated constraints aren't met. type WatchdogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WatchdogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WatchdogMultiError) AllErrors() []error { return m } // WatchdogValidationError is the validation error returned by // Watchdog.Validate if the designated constraints aren't met. type WatchdogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WatchdogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WatchdogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WatchdogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WatchdogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WatchdogValidationError) ErrorName() string { return "WatchdogValidationError" } // Error satisfies the builtin error interface func (e WatchdogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWatchdog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WatchdogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WatchdogValidationError{} // Validate checks the field values on FatalAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FatalAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FatalAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FatalActionMultiError, or // nil if none found. func (m *FatalAction) ValidateAll() error { return m.validate(true) } func (m *FatalAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FatalActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FatalActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FatalActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FatalActionMultiError(errors) } return nil } // FatalActionMultiError is an error wrapping multiple validation errors // returned by FatalAction.ValidateAll() if the designated constraints aren't met. type FatalActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FatalActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FatalActionMultiError) AllErrors() []error { return m } // FatalActionValidationError is the validation error returned by // FatalAction.Validate if the designated constraints aren't met. type FatalActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FatalActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FatalActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FatalActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FatalActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FatalActionValidationError) ErrorName() string { return "FatalActionValidationError" } // Error satisfies the builtin error interface func (e FatalActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFatalAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FatalActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FatalActionValidationError{} // Validate checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Runtime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RuntimeMultiError, or nil if none found. func (m *Runtime) ValidateAll() error { return m.validate(true) } func (m *Runtime) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SymlinkRoot // no validation rules for Subdirectory // no validation rules for OverrideSubdirectory if all { switch v := interface{}(m.GetBase()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBase()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeValidationError{ field: "Base", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeMultiError(errors) } return nil } // RuntimeMultiError is an error wrapping multiple validation errors returned // by Runtime.ValidateAll() if the designated constraints aren't met. type RuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeMultiError) AllErrors() []error { return m } // RuntimeValidationError is the validation error returned by Runtime.Validate // if the designated constraints aren't met. type RuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeValidationError) ErrorName() string { return "RuntimeValidationError" } // Error satisfies the builtin error interface func (e RuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeValidationError{} // Validate checks the field values on RuntimeLayer with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeLayerMultiError, or // nil if none found. func (m *RuntimeLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RuntimeLayerValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent := false switch v := m.LayerSpecifier.(type) { case *RuntimeLayer_StaticLayer: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetStaticLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "StaticLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_DiskLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetDiskLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDiskLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "DiskLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_AdminLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetAdminLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdminLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "AdminLayer", reason: "embedded message failed validation", cause: err, } } } case *RuntimeLayer_RtdsLayer_: if v == nil { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLayerSpecifierPresent = true if all { switch v := interface{}(m.GetRtdsLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRtdsLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayerValidationError{ field: "RtdsLayer", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLayerSpecifierPresent { err := RuntimeLayerValidationError{ field: "LayerSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeLayerMultiError(errors) } return nil } // RuntimeLayerMultiError is an error wrapping multiple validation errors // returned by RuntimeLayer.ValidateAll() if the designated constraints aren't met. type RuntimeLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayerMultiError) AllErrors() []error { return m } // RuntimeLayerValidationError is the validation error returned by // RuntimeLayer.Validate if the designated constraints aren't met. type RuntimeLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayerValidationError) ErrorName() string { return "RuntimeLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayerValidationError{} // Validate checks the field values on LayeredRuntime with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LayeredRuntime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LayeredRuntime with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LayeredRuntimeMultiError, // or nil if none found. func (m *LayeredRuntime) ValidateAll() error { return m.validate(true) } func (m *LayeredRuntime) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetLayers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LayeredRuntimeValidationError{ field: fmt.Sprintf("Layers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LayeredRuntimeMultiError(errors) } return nil } // LayeredRuntimeMultiError is an error wrapping multiple validation errors // returned by LayeredRuntime.ValidateAll() if the designated constraints // aren't met. type LayeredRuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LayeredRuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LayeredRuntimeMultiError) AllErrors() []error { return m } // LayeredRuntimeValidationError is the validation error returned by // LayeredRuntime.Validate if the designated constraints aren't met. type LayeredRuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LayeredRuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LayeredRuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LayeredRuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LayeredRuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LayeredRuntimeValidationError) ErrorName() string { return "LayeredRuntimeValidationError" } // Error satisfies the builtin error interface func (e LayeredRuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLayeredRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LayeredRuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LayeredRuntimeValidationError{} // Validate checks the field values on CustomInlineHeader with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomInlineHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomInlineHeader with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomInlineHeaderMultiError, or nil if none found. func (m *CustomInlineHeader) ValidateAll() error { return m.validate(true) } func (m *CustomInlineHeader) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetInlineHeaderName()) < 1 { err := CustomInlineHeaderValidationError{ field: "InlineHeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_CustomInlineHeader_InlineHeaderName_Pattern.MatchString(m.GetInlineHeaderName()) { err := CustomInlineHeaderValidationError{ field: "InlineHeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if _, ok := CustomInlineHeader_InlineHeaderType_name[int32(m.GetInlineHeaderType())]; !ok { err := CustomInlineHeaderValidationError{ field: "InlineHeaderType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CustomInlineHeaderMultiError(errors) } return nil } // CustomInlineHeaderMultiError is an error wrapping multiple validation errors // returned by CustomInlineHeader.ValidateAll() if the designated constraints // aren't met. type CustomInlineHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomInlineHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomInlineHeaderMultiError) AllErrors() []error { return m } // CustomInlineHeaderValidationError is the validation error returned by // CustomInlineHeader.Validate if the designated constraints aren't met. type CustomInlineHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomInlineHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomInlineHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomInlineHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomInlineHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomInlineHeaderValidationError) ErrorName() string { return "CustomInlineHeaderValidationError" } // Error satisfies the builtin error interface func (e CustomInlineHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomInlineHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomInlineHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomInlineHeaderValidationError{} var _CustomInlineHeader_InlineHeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on Bootstrap_StaticResources with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_StaticResources) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_StaticResources with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Bootstrap_StaticResourcesMultiError, or nil if none found. func (m *Bootstrap_StaticResources) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_StaticResources) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetListeners() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Listeners[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetSecrets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_StaticResourcesValidationError{ field: fmt.Sprintf("Secrets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Bootstrap_StaticResourcesMultiError(errors) } return nil } // Bootstrap_StaticResourcesMultiError is an error wrapping multiple validation // errors returned by Bootstrap_StaticResources.ValidateAll() if the // designated constraints aren't met. type Bootstrap_StaticResourcesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_StaticResourcesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_StaticResourcesMultiError) AllErrors() []error { return m } // Bootstrap_StaticResourcesValidationError is the validation error returned by // Bootstrap_StaticResources.Validate if the designated constraints aren't met. type Bootstrap_StaticResourcesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_StaticResourcesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_StaticResourcesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_StaticResourcesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_StaticResourcesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_StaticResourcesValidationError) ErrorName() string { return "Bootstrap_StaticResourcesValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_StaticResourcesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_StaticResources.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_StaticResourcesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_StaticResourcesValidationError{} // Validate checks the field values on Bootstrap_DynamicResources with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_DynamicResources) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_DynamicResources with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Bootstrap_DynamicResourcesMultiError, or nil if none found. func (m *Bootstrap_DynamicResources) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_DynamicResources) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "LdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LdsResourcesLocator if all { switch v := interface{}(m.GetCdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "CdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CdsResourcesLocator if all { switch v := interface{}(m.GetAdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_DynamicResourcesValidationError{ field: "AdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Bootstrap_DynamicResourcesMultiError(errors) } return nil } // Bootstrap_DynamicResourcesMultiError is an error wrapping multiple // validation errors returned by Bootstrap_DynamicResources.ValidateAll() if // the designated constraints aren't met. type Bootstrap_DynamicResourcesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_DynamicResourcesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_DynamicResourcesMultiError) AllErrors() []error { return m } // Bootstrap_DynamicResourcesValidationError is the validation error returned // by Bootstrap_DynamicResources.Validate if the designated constraints aren't met. type Bootstrap_DynamicResourcesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_DynamicResourcesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_DynamicResourcesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_DynamicResourcesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_DynamicResourcesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_DynamicResourcesValidationError) ErrorName() string { return "Bootstrap_DynamicResourcesValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_DynamicResourcesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_DynamicResources.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_DynamicResourcesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_DynamicResourcesValidationError{} // Validate checks the field values on Bootstrap_ApplicationLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_ApplicationLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_ApplicationLogConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Bootstrap_ApplicationLogConfigMultiError, or nil if none found. func (m *Bootstrap_ApplicationLogConfig) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_ApplicationLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLogFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_ApplicationLogConfigValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_ApplicationLogConfigValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLogFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_ApplicationLogConfigValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Bootstrap_ApplicationLogConfigMultiError(errors) } return nil } // Bootstrap_ApplicationLogConfigMultiError is an error wrapping multiple // validation errors returned by Bootstrap_ApplicationLogConfig.ValidateAll() // if the designated constraints aren't met. type Bootstrap_ApplicationLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_ApplicationLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_ApplicationLogConfigMultiError) AllErrors() []error { return m } // Bootstrap_ApplicationLogConfigValidationError is the validation error // returned by Bootstrap_ApplicationLogConfig.Validate if the designated // constraints aren't met. type Bootstrap_ApplicationLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_ApplicationLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_ApplicationLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_ApplicationLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_ApplicationLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_ApplicationLogConfigValidationError) ErrorName() string { return "Bootstrap_ApplicationLogConfigValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_ApplicationLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_ApplicationLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_ApplicationLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_ApplicationLogConfigValidationError{} // Validate checks the field values on Bootstrap_DeferredStatOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Bootstrap_DeferredStatOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Bootstrap_DeferredStatOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Bootstrap_DeferredStatOptionsMultiError, or nil if none found. func (m *Bootstrap_DeferredStatOptions) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_DeferredStatOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EnableDeferredCreationStats if len(errors) > 0 { return Bootstrap_DeferredStatOptionsMultiError(errors) } return nil } // Bootstrap_DeferredStatOptionsMultiError is an error wrapping multiple // validation errors returned by Bootstrap_DeferredStatOptions.ValidateAll() // if the designated constraints aren't met. type Bootstrap_DeferredStatOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_DeferredStatOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_DeferredStatOptionsMultiError) AllErrors() []error { return m } // Bootstrap_DeferredStatOptionsValidationError is the validation error // returned by Bootstrap_DeferredStatOptions.Validate if the designated // constraints aren't met. type Bootstrap_DeferredStatOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_DeferredStatOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_DeferredStatOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_DeferredStatOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_DeferredStatOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_DeferredStatOptionsValidationError) ErrorName() string { return "Bootstrap_DeferredStatOptionsValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_DeferredStatOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_DeferredStatOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_DeferredStatOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_DeferredStatOptionsValidationError{} // Validate checks the field values on Bootstrap_GrpcAsyncClientManagerConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Bootstrap_GrpcAsyncClientManagerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Bootstrap_GrpcAsyncClientManagerConfig with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // Bootstrap_GrpcAsyncClientManagerConfigMultiError, or nil if none found. func (m *Bootstrap_GrpcAsyncClientManagerConfig) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_GrpcAsyncClientManagerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetMaxCachedEntryIdleDuration(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Bootstrap_GrpcAsyncClientManagerConfigValidationError{ field: "MaxCachedEntryIdleDuration", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(5*time.Second + 0*time.Nanosecond) if dur < gte { err := Bootstrap_GrpcAsyncClientManagerConfigValidationError{ field: "MaxCachedEntryIdleDuration", reason: "value must be greater than or equal to 5s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return Bootstrap_GrpcAsyncClientManagerConfigMultiError(errors) } return nil } // Bootstrap_GrpcAsyncClientManagerConfigMultiError is an error wrapping // multiple validation errors returned by // Bootstrap_GrpcAsyncClientManagerConfig.ValidateAll() if the designated // constraints aren't met. type Bootstrap_GrpcAsyncClientManagerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_GrpcAsyncClientManagerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_GrpcAsyncClientManagerConfigMultiError) AllErrors() []error { return m } // Bootstrap_GrpcAsyncClientManagerConfigValidationError is the validation // error returned by Bootstrap_GrpcAsyncClientManagerConfig.Validate if the // designated constraints aren't met. type Bootstrap_GrpcAsyncClientManagerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) ErrorName() string { return "Bootstrap_GrpcAsyncClientManagerConfigValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_GrpcAsyncClientManagerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_GrpcAsyncClientManagerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_GrpcAsyncClientManagerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_GrpcAsyncClientManagerConfigValidationError{} // Validate checks the field values on Bootstrap_ApplicationLogConfig_LogFormat // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Bootstrap_ApplicationLogConfig_LogFormat) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Bootstrap_ApplicationLogConfig_LogFormat with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Bootstrap_ApplicationLogConfig_LogFormatMultiError, or nil if none found. func (m *Bootstrap_ApplicationLogConfig_LogFormat) ValidateAll() error { return m.validate(true) } func (m *Bootstrap_ApplicationLogConfig_LogFormat) validate(all bool) error { if m == nil { return nil } var errors []error oneofLogFormatPresent := false switch v := m.LogFormat.(type) { case *Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat: if v == nil { err := Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "LogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogFormatPresent = true if all { switch v := interface{}(m.GetJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, } } } case *Bootstrap_ApplicationLogConfig_LogFormat_TextFormat: if v == nil { err := Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "LogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogFormatPresent = true // no validation rules for TextFormat default: _ = v // ensures v is used } if !oneofLogFormatPresent { err := Bootstrap_ApplicationLogConfig_LogFormatValidationError{ field: "LogFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Bootstrap_ApplicationLogConfig_LogFormatMultiError(errors) } return nil } // Bootstrap_ApplicationLogConfig_LogFormatMultiError is an error wrapping // multiple validation errors returned by // Bootstrap_ApplicationLogConfig_LogFormat.ValidateAll() if the designated // constraints aren't met. type Bootstrap_ApplicationLogConfig_LogFormatMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Bootstrap_ApplicationLogConfig_LogFormatMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Bootstrap_ApplicationLogConfig_LogFormatMultiError) AllErrors() []error { return m } // Bootstrap_ApplicationLogConfig_LogFormatValidationError is the validation // error returned by Bootstrap_ApplicationLogConfig_LogFormat.Validate if the // designated constraints aren't met. type Bootstrap_ApplicationLogConfig_LogFormatValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) ErrorName() string { return "Bootstrap_ApplicationLogConfig_LogFormatValidationError" } // Error satisfies the builtin error interface func (e Bootstrap_ApplicationLogConfig_LogFormatValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBootstrap_ApplicationLogConfig_LogFormat.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Bootstrap_ApplicationLogConfig_LogFormatValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Bootstrap_ApplicationLogConfig_LogFormatValidationError{} // Validate checks the field values on ClusterManager_OutlierDetection with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterManager_OutlierDetection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterManager_OutlierDetection with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ClusterManager_OutlierDetectionMultiError, or nil if none found. func (m *ClusterManager_OutlierDetection) ValidateAll() error { return m.validate(true) } func (m *ClusterManager_OutlierDetection) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EventLogPath if all { switch v := interface{}(m.GetEventService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEventService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterManager_OutlierDetectionValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterManager_OutlierDetectionMultiError(errors) } return nil } // ClusterManager_OutlierDetectionMultiError is an error wrapping multiple // validation errors returned by ClusterManager_OutlierDetection.ValidateAll() // if the designated constraints aren't met. type ClusterManager_OutlierDetectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterManager_OutlierDetectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterManager_OutlierDetectionMultiError) AllErrors() []error { return m } // ClusterManager_OutlierDetectionValidationError is the validation error // returned by ClusterManager_OutlierDetection.Validate if the designated // constraints aren't met. type ClusterManager_OutlierDetectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterManager_OutlierDetectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterManager_OutlierDetectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterManager_OutlierDetectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterManager_OutlierDetectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterManager_OutlierDetectionValidationError) ErrorName() string { return "ClusterManager_OutlierDetectionValidationError" } // Error satisfies the builtin error interface func (e ClusterManager_OutlierDetectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterManager_OutlierDetection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterManager_OutlierDetectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterManager_OutlierDetectionValidationError{} // Validate checks the field values on Watchdog_WatchdogAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Watchdog_WatchdogAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Watchdog_WatchdogAction with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Watchdog_WatchdogActionMultiError, or nil if none found. func (m *Watchdog_WatchdogAction) ValidateAll() error { return m.validate(true) } func (m *Watchdog_WatchdogAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Watchdog_WatchdogActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Watchdog_WatchdogActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Watchdog_WatchdogActionValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if _, ok := Watchdog_WatchdogAction_WatchdogEvent_name[int32(m.GetEvent())]; !ok { err := Watchdog_WatchdogActionValidationError{ field: "Event", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Watchdog_WatchdogActionMultiError(errors) } return nil } // Watchdog_WatchdogActionMultiError is an error wrapping multiple validation // errors returned by Watchdog_WatchdogAction.ValidateAll() if the designated // constraints aren't met. type Watchdog_WatchdogActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Watchdog_WatchdogActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Watchdog_WatchdogActionMultiError) AllErrors() []error { return m } // Watchdog_WatchdogActionValidationError is the validation error returned by // Watchdog_WatchdogAction.Validate if the designated constraints aren't met. type Watchdog_WatchdogActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Watchdog_WatchdogActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Watchdog_WatchdogActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Watchdog_WatchdogActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Watchdog_WatchdogActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Watchdog_WatchdogActionValidationError) ErrorName() string { return "Watchdog_WatchdogActionValidationError" } // Error satisfies the builtin error interface func (e Watchdog_WatchdogActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWatchdog_WatchdogAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Watchdog_WatchdogActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Watchdog_WatchdogActionValidationError{} // Validate checks the field values on RuntimeLayer_DiskLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_DiskLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_DiskLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_DiskLayerMultiError, or nil if none found. func (m *RuntimeLayer_DiskLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_DiskLayer) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SymlinkRoot // no validation rules for Subdirectory // no validation rules for AppendServiceCluster if len(errors) > 0 { return RuntimeLayer_DiskLayerMultiError(errors) } return nil } // RuntimeLayer_DiskLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_DiskLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_DiskLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_DiskLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_DiskLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_DiskLayerValidationError is the validation error returned by // RuntimeLayer_DiskLayer.Validate if the designated constraints aren't met. type RuntimeLayer_DiskLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_DiskLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_DiskLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_DiskLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_DiskLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_DiskLayerValidationError) ErrorName() string { return "RuntimeLayer_DiskLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_DiskLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_DiskLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_DiskLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_DiskLayerValidationError{} // Validate checks the field values on RuntimeLayer_AdminLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_AdminLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_AdminLayer with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_AdminLayerMultiError, or nil if none found. func (m *RuntimeLayer_AdminLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_AdminLayer) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RuntimeLayer_AdminLayerMultiError(errors) } return nil } // RuntimeLayer_AdminLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_AdminLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_AdminLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_AdminLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_AdminLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_AdminLayerValidationError is the validation error returned by // RuntimeLayer_AdminLayer.Validate if the designated constraints aren't met. type RuntimeLayer_AdminLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_AdminLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_AdminLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_AdminLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_AdminLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_AdminLayerValidationError) ErrorName() string { return "RuntimeLayer_AdminLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_AdminLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_AdminLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_AdminLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_AdminLayerValidationError{} // Validate checks the field values on RuntimeLayer_RtdsLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeLayer_RtdsLayer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeLayer_RtdsLayer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeLayer_RtdsLayerMultiError, or nil if none found. func (m *RuntimeLayer_RtdsLayer) ValidateAll() error { return m.validate(true) } func (m *RuntimeLayer_RtdsLayer) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetRtdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRtdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeLayer_RtdsLayerValidationError{ field: "RtdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeLayer_RtdsLayerMultiError(errors) } return nil } // RuntimeLayer_RtdsLayerMultiError is an error wrapping multiple validation // errors returned by RuntimeLayer_RtdsLayer.ValidateAll() if the designated // constraints aren't met. type RuntimeLayer_RtdsLayerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeLayer_RtdsLayerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeLayer_RtdsLayerMultiError) AllErrors() []error { return m } // RuntimeLayer_RtdsLayerValidationError is the validation error returned by // RuntimeLayer_RtdsLayer.Validate if the designated constraints aren't met. type RuntimeLayer_RtdsLayerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeLayer_RtdsLayerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeLayer_RtdsLayerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeLayer_RtdsLayerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeLayer_RtdsLayerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeLayer_RtdsLayerValidationError) ErrorName() string { return "RuntimeLayer_RtdsLayerValidationError" } // Error satisfies the builtin error interface func (e RuntimeLayer_RtdsLayerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeLayer_RtdsLayer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeLayer_RtdsLayerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeLayer_RtdsLayerValidationError{} go-control-plane-0.12.0/envoy/config/cluster/000077500000000000000000000000001454502223200210375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/aggregate/000077500000000000000000000000001454502223200227655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/aggregate/v2alpha/000077500000000000000000000000001454502223200243225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/aggregate/v2alpha/cluster.pb.go000077500000000000000000000173571454502223200267520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/aggregate/v2alpha/cluster.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the aggregate cluster. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.clusters.aggregate] type ClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Load balancing clusters in aggregate cluster. Clusters are prioritized based on the order they // appear in this list. Clusters []string `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescGZIP(), []int{0} } func (x *ClusterConfig) GetClusters() []string { if x != nil { return x.Clusters } return nil } var File_envoy_config_cluster_aggregate_v2alpha_cluster_proto protoreflect.FileDescriptor var file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x42, 0xcb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x28, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescOnce sync.Once file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescData = file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDesc ) func file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescGZIP() []byte { file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescData) }) return file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDescData } var file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_goTypes = []interface{}{ (*ClusterConfig)(nil), // 0: envoy.config.cluster.aggregate.v2alpha.ClusterConfig } var file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_init() } func file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_init() { if File_envoy_config_cluster_aggregate_v2alpha_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_depIdxs, MessageInfos: file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_msgTypes, }.Build() File_envoy_config_cluster_aggregate_v2alpha_cluster_proto = out.File file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_rawDesc = nil file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_goTypes = nil file_envoy_config_cluster_aggregate_v2alpha_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/aggregate/v2alpha/cluster.pb.validate.go000077500000000000000000000066731454502223200305410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/aggregate/v2alpha/cluster.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterConfigMultiError, or // nil if none found. func (m *ClusterConfig) ValidateAll() error { return m.validate(true) } func (m *ClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := ClusterConfigValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ClusterConfigMultiError(errors) } return nil } // ClusterConfigMultiError is an error wrapping multiple validation errors // returned by ClusterConfig.ValidateAll() if the designated constraints // aren't met. type ClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterConfigMultiError) AllErrors() []error { return m } // ClusterConfigValidationError is the validation error returned by // ClusterConfig.Validate if the designated constraints aren't met. type ClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterConfigValidationError) ErrorName() string { return "ClusterConfigValidationError" } // Error satisfies the builtin error interface func (e ClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterConfigValidationError{} go-control-plane-0.12.0/envoy/config/cluster/dynamic_forward_proxy/000077500000000000000000000000001454502223200254505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/dynamic_forward_proxy/v2alpha/000077500000000000000000000000001454502223200270055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/dynamic_forward_proxy/v2alpha/cluster.pb.go000077500000000000000000000237321454502223200314270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/dynamic_forward_proxy/v2alpha/cluster.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/config/common/dynamic_forward_proxy/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the dynamic forward proxy cluster. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.clusters.dynamic_forward_proxy] type ClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The DNS cache configuration that the cluster will attach to. Note this configuration must // match that of associated :ref:`dynamic forward proxy HTTP filter configuration // `. DnsCacheConfig *v2alpha.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3" json:"dns_cache_config,omitempty"` } func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescGZIP(), []int{0} } func (x *ClusterConfig) GetDnsCacheConfig() *v2alpha.DnsCacheConfig { if x != nil { return x.DnsCacheConfig } return nil } var File_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto protoreflect.FileDescriptor var file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xef, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x34, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescOnce sync.Once file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescData = file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDesc ) func file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescGZIP() []byte { file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescData) }) return file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDescData } var file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_goTypes = []interface{}{ (*ClusterConfig)(nil), // 0: envoy.config.cluster.dynamic_forward_proxy.v2alpha.ClusterConfig (*v2alpha.DnsCacheConfig)(nil), // 1: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig } var file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.dynamic_forward_proxy.v2alpha.ClusterConfig.dns_cache_config:type_name -> envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_init() } func file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_init() { if File_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_depIdxs, MessageInfos: file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_msgTypes, }.Build() File_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto = out.File file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_rawDesc = nil file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_goTypes = nil file_envoy_config_cluster_dynamic_forward_proxy_v2alpha_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/dynamic_forward_proxy/v2alpha/cluster.pb.validate.go000077500000000000000000000104251454502223200332120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/dynamic_forward_proxy/v2alpha/cluster.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterConfigMultiError, or // nil if none found. func (m *ClusterConfig) ValidateAll() error { return m.validate(true) } func (m *ClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDnsCacheConfig() == nil { err := ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterConfigMultiError(errors) } return nil } // ClusterConfigMultiError is an error wrapping multiple validation errors // returned by ClusterConfig.ValidateAll() if the designated constraints // aren't met. type ClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterConfigMultiError) AllErrors() []error { return m } // ClusterConfigValidationError is the validation error returned by // ClusterConfig.Validate if the designated constraints aren't met. type ClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterConfigValidationError) ErrorName() string { return "ClusterConfigValidationError" } // Error satisfies the builtin error interface func (e ClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterConfigValidationError{} go-control-plane-0.12.0/envoy/config/cluster/redis/000077500000000000000000000000001454502223200221455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/redis/redis_cluster.pb.go000077500000000000000000000321551454502223200257540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/redis/redis_cluster.proto package redis import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type RedisClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Interval between successive topology refresh requests. If not set, this defaults to 5s. ClusterRefreshRate *duration.Duration `protobuf:"bytes,1,opt,name=cluster_refresh_rate,json=clusterRefreshRate,proto3" json:"cluster_refresh_rate,omitempty"` // Timeout for topology refresh request. If not set, this defaults to 3s. ClusterRefreshTimeout *duration.Duration `protobuf:"bytes,2,opt,name=cluster_refresh_timeout,json=clusterRefreshTimeout,proto3" json:"cluster_refresh_timeout,omitempty"` // The minimum interval that must pass after triggering a topology refresh request before a new // request can possibly be triggered again. Any errors received during one of these // time intervals are ignored. If not set, this defaults to 5s. RedirectRefreshInterval *duration.Duration `protobuf:"bytes,3,opt,name=redirect_refresh_interval,json=redirectRefreshInterval,proto3" json:"redirect_refresh_interval,omitempty"` // The number of redirection errors that must be received before // triggering a topology refresh request. If not set, this defaults to 5. // If this is set to 0, topology refresh after redirect is disabled. RedirectRefreshThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=redirect_refresh_threshold,json=redirectRefreshThreshold,proto3" json:"redirect_refresh_threshold,omitempty"` // The number of failures that must be received before triggering a topology refresh request. // If not set, this defaults to 0, which disables the topology refresh due to failure. FailureRefreshThreshold uint32 `protobuf:"varint,5,opt,name=failure_refresh_threshold,json=failureRefreshThreshold,proto3" json:"failure_refresh_threshold,omitempty"` // The number of hosts became degraded or unhealthy before triggering a topology refresh request. // If not set, this defaults to 0, which disables the topology refresh due to degraded or // unhealthy host. HostDegradedRefreshThreshold uint32 `protobuf:"varint,6,opt,name=host_degraded_refresh_threshold,json=hostDegradedRefreshThreshold,proto3" json:"host_degraded_refresh_threshold,omitempty"` } func (x *RedisClusterConfig) Reset() { *x = RedisClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_redis_redis_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisClusterConfig) ProtoMessage() {} func (x *RedisClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_redis_redis_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisClusterConfig.ProtoReflect.Descriptor instead. func (*RedisClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_redis_redis_cluster_proto_rawDescGZIP(), []int{0} } func (x *RedisClusterConfig) GetClusterRefreshRate() *duration.Duration { if x != nil { return x.ClusterRefreshRate } return nil } func (x *RedisClusterConfig) GetClusterRefreshTimeout() *duration.Duration { if x != nil { return x.ClusterRefreshTimeout } return nil } func (x *RedisClusterConfig) GetRedirectRefreshInterval() *duration.Duration { if x != nil { return x.RedirectRefreshInterval } return nil } func (x *RedisClusterConfig) GetRedirectRefreshThreshold() *wrappers.UInt32Value { if x != nil { return x.RedirectRefreshThreshold } return nil } func (x *RedisClusterConfig) GetFailureRefreshThreshold() uint32 { if x != nil { return x.FailureRefreshThreshold } return 0 } func (x *RedisClusterConfig) GetHostDegradedRefreshThreshold() uint32 { if x != nil { return x.HostDegradedRefreshThreshold } return 0 } var File_envoy_config_cluster_redis_redis_cluster_proto protoreflect.FileDescriptor var file_envoy_config_cluster_redis_redis_cluster_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x03, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x17, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x19, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5a, 0x0a, 0x1a, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x68, 0x6f, 0x73, 0x74, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x8a, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x42, 0x11, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_redis_redis_cluster_proto_rawDescOnce sync.Once file_envoy_config_cluster_redis_redis_cluster_proto_rawDescData = file_envoy_config_cluster_redis_redis_cluster_proto_rawDesc ) func file_envoy_config_cluster_redis_redis_cluster_proto_rawDescGZIP() []byte { file_envoy_config_cluster_redis_redis_cluster_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_redis_redis_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_redis_redis_cluster_proto_rawDescData) }) return file_envoy_config_cluster_redis_redis_cluster_proto_rawDescData } var file_envoy_config_cluster_redis_redis_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_cluster_redis_redis_cluster_proto_goTypes = []interface{}{ (*RedisClusterConfig)(nil), // 0: envoy.config.cluster.redis.RedisClusterConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_config_cluster_redis_redis_cluster_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.redis.RedisClusterConfig.cluster_refresh_rate:type_name -> google.protobuf.Duration 1, // 1: envoy.config.cluster.redis.RedisClusterConfig.cluster_refresh_timeout:type_name -> google.protobuf.Duration 1, // 2: envoy.config.cluster.redis.RedisClusterConfig.redirect_refresh_interval:type_name -> google.protobuf.Duration 2, // 3: envoy.config.cluster.redis.RedisClusterConfig.redirect_refresh_threshold:type_name -> google.protobuf.UInt32Value 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_cluster_redis_redis_cluster_proto_init() } func file_envoy_config_cluster_redis_redis_cluster_proto_init() { if File_envoy_config_cluster_redis_redis_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_redis_redis_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_redis_redis_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_redis_redis_cluster_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_redis_redis_cluster_proto_depIdxs, MessageInfos: file_envoy_config_cluster_redis_redis_cluster_proto_msgTypes, }.Build() File_envoy_config_cluster_redis_redis_cluster_proto = out.File file_envoy_config_cluster_redis_redis_cluster_proto_rawDesc = nil file_envoy_config_cluster_redis_redis_cluster_proto_goTypes = nil file_envoy_config_cluster_redis_redis_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/redis/redis_cluster.pb.validate.go000077500000000000000000000147421454502223200275460ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/redis/redis_cluster.proto package redis import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RedisClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisClusterConfigMultiError, or nil if none found. func (m *RedisClusterConfig) ValidateAll() error { return m.validate(true) } func (m *RedisClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetClusterRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RedisClusterConfigValidationError{ field: "ClusterRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RedisClusterConfigValidationError{ field: "ClusterRefreshRate", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetClusterRefreshTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RedisClusterConfigValidationError{ field: "ClusterRefreshTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RedisClusterConfigValidationError{ field: "ClusterRefreshTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRedirectRefreshInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectRefreshInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRedirectRefreshThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectRefreshThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureRefreshThreshold // no validation rules for HostDegradedRefreshThreshold if len(errors) > 0 { return RedisClusterConfigMultiError(errors) } return nil } // RedisClusterConfigMultiError is an error wrapping multiple validation errors // returned by RedisClusterConfig.ValidateAll() if the designated constraints // aren't met. type RedisClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisClusterConfigMultiError) AllErrors() []error { return m } // RedisClusterConfigValidationError is the validation error returned by // RedisClusterConfig.Validate if the designated constraints aren't met. type RedisClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisClusterConfigValidationError) ErrorName() string { return "RedisClusterConfigValidationError" } // Error satisfies the builtin error interface func (e RedisClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisClusterConfigValidationError{} go-control-plane-0.12.0/envoy/config/cluster/v3/000077500000000000000000000000001454502223200213675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/cluster/v3/circuit_breaker.pb.go000077500000000000000000000626111454502223200254640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/v3/circuit_breaker.proto package clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // :ref:`Circuit breaking` settings can be // specified individually for each defined priority. type CircuitBreakers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If multiple :ref:`Thresholds` // are defined with the same :ref:`RoutingPriority`, // the first one in the list is used. If no Thresholds is defined for a given // :ref:`RoutingPriority`, the default values // are used. Thresholds []*CircuitBreakers_Thresholds `protobuf:"bytes,1,rep,name=thresholds,proto3" json:"thresholds,omitempty"` // Optional per-host limits which apply to each individual host in a cluster. // // .. note:: // // currently only the :ref:`max_connections // ` field is supported for per-host limits. // // If multiple per-host :ref:`Thresholds` // are defined with the same :ref:`RoutingPriority`, // the first one in the list is used. If no per-host Thresholds are defined for a given // :ref:`RoutingPriority`, // the cluster will not have per-host limits. PerHostThresholds []*CircuitBreakers_Thresholds `protobuf:"bytes,2,rep,name=per_host_thresholds,json=perHostThresholds,proto3" json:"per_host_thresholds,omitempty"` } func (x *CircuitBreakers) Reset() { *x = CircuitBreakers{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers) ProtoMessage() {} func (x *CircuitBreakers) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers.ProtoReflect.Descriptor instead. func (*CircuitBreakers) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescGZIP(), []int{0} } func (x *CircuitBreakers) GetThresholds() []*CircuitBreakers_Thresholds { if x != nil { return x.Thresholds } return nil } func (x *CircuitBreakers) GetPerHostThresholds() []*CircuitBreakers_Thresholds { if x != nil { return x.PerHostThresholds } return nil } // A Thresholds defines CircuitBreaker settings for a // :ref:`RoutingPriority`. // [#next-free-field: 9] type CircuitBreakers_Thresholds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`RoutingPriority` // the specified CircuitBreaker settings apply to. Priority v3.RoutingPriority `protobuf:"varint,1,opt,name=priority,proto3,enum=envoy.config.core.v3.RoutingPriority" json:"priority,omitempty"` // The maximum number of connections that Envoy will make to the upstream // cluster. If not specified, the default is 1024. MaxConnections *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // The maximum number of pending requests that Envoy will allow to the // upstream cluster. If not specified, the default is 1024. // This limit is applied as a connection limit for non-HTTP traffic. MaxPendingRequests *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"` // The maximum number of parallel requests that Envoy will make to the // upstream cluster. If not specified, the default is 1024. // This limit does not apply to non-HTTP traffic. MaxRequests *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"` // The maximum number of parallel retries that Envoy will allow to the // upstream cluster. If not specified, the default is 3. MaxRetries *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` // Specifies a limit on concurrent retries in relation to the number of active requests. This // parameter is optional. // // .. note:: // // If this field is set, the retry budget will override any configured retry circuit // breaker. RetryBudget *CircuitBreakers_Thresholds_RetryBudget `protobuf:"bytes,8,opt,name=retry_budget,json=retryBudget,proto3" json:"retry_budget,omitempty"` // If track_remaining is true, then stats will be published that expose // the number of resources remaining until the circuit breakers open. If // not specified, the default is false. // // .. note:: // // If a retry budget is used in lieu of the max_retries circuit breaker, // the remaining retry resources remaining will not be tracked. TrackRemaining bool `protobuf:"varint,6,opt,name=track_remaining,json=trackRemaining,proto3" json:"track_remaining,omitempty"` // The maximum number of connection pools per cluster that Envoy will concurrently support at // once. If not specified, the default is unlimited. Set this for clusters which create a // large number of connection pools. See // :ref:`Circuit Breaking ` for // more details. MaxConnectionPools *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_connection_pools,json=maxConnectionPools,proto3" json:"max_connection_pools,omitempty"` } func (x *CircuitBreakers_Thresholds) Reset() { *x = CircuitBreakers_Thresholds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers_Thresholds) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers_Thresholds) ProtoMessage() {} func (x *CircuitBreakers_Thresholds) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers_Thresholds.ProtoReflect.Descriptor instead. func (*CircuitBreakers_Thresholds) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescGZIP(), []int{0, 0} } func (x *CircuitBreakers_Thresholds) GetPriority() v3.RoutingPriority { if x != nil { return x.Priority } return v3.RoutingPriority(0) } func (x *CircuitBreakers_Thresholds) GetMaxConnections() *wrappers.UInt32Value { if x != nil { return x.MaxConnections } return nil } func (x *CircuitBreakers_Thresholds) GetMaxPendingRequests() *wrappers.UInt32Value { if x != nil { return x.MaxPendingRequests } return nil } func (x *CircuitBreakers_Thresholds) GetMaxRequests() *wrappers.UInt32Value { if x != nil { return x.MaxRequests } return nil } func (x *CircuitBreakers_Thresholds) GetMaxRetries() *wrappers.UInt32Value { if x != nil { return x.MaxRetries } return nil } func (x *CircuitBreakers_Thresholds) GetRetryBudget() *CircuitBreakers_Thresholds_RetryBudget { if x != nil { return x.RetryBudget } return nil } func (x *CircuitBreakers_Thresholds) GetTrackRemaining() bool { if x != nil { return x.TrackRemaining } return false } func (x *CircuitBreakers_Thresholds) GetMaxConnectionPools() *wrappers.UInt32Value { if x != nil { return x.MaxConnectionPools } return nil } type CircuitBreakers_Thresholds_RetryBudget struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the limit on concurrent retries as a percentage of the sum of active requests and // active pending requests. For example, if there are 100 active requests and the // budget_percent is set to 25, there may be 25 active retries. // // This parameter is optional. Defaults to 20%. BudgetPercent *v31.Percent `protobuf:"bytes,1,opt,name=budget_percent,json=budgetPercent,proto3" json:"budget_percent,omitempty"` // Specifies the minimum retry concurrency allowed for the retry budget. The limit on the // number of active retries may never go below this number. // // This parameter is optional. Defaults to 3. MinRetryConcurrency *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=min_retry_concurrency,json=minRetryConcurrency,proto3" json:"min_retry_concurrency,omitempty"` } func (x *CircuitBreakers_Thresholds_RetryBudget) Reset() { *x = CircuitBreakers_Thresholds_RetryBudget{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CircuitBreakers_Thresholds_RetryBudget) String() string { return protoimpl.X.MessageStringOf(x) } func (*CircuitBreakers_Thresholds_RetryBudget) ProtoMessage() {} func (x *CircuitBreakers_Thresholds_RetryBudget) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CircuitBreakers_Thresholds_RetryBudget.ProtoReflect.Descriptor instead. func (*CircuitBreakers_Thresholds_RetryBudget) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *CircuitBreakers_Thresholds_RetryBudget) GetBudgetPercent() *v31.Percent { if x != nil { return x.BudgetPercent } return nil } func (x *CircuitBreakers_Thresholds_RetryBudget) GetMinRetryConcurrency() *wrappers.UInt32Value { if x != nil { return x.MinRetryConcurrency } return nil } var File_envoy_config_cluster_v3_circuit_breaker_proto protoreflect.FileDescriptor var file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x08, 0x0a, 0x0f, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x63, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x52, 0x11, 0x70, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x1a, 0xea, 0x06, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x1a, 0xe2, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescOnce sync.Once file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescData = file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc ) func file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescGZIP() []byte { file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescData) }) return file_envoy_config_cluster_v3_circuit_breaker_proto_rawDescData } var file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_cluster_v3_circuit_breaker_proto_goTypes = []interface{}{ (*CircuitBreakers)(nil), // 0: envoy.config.cluster.v3.CircuitBreakers (*CircuitBreakers_Thresholds)(nil), // 1: envoy.config.cluster.v3.CircuitBreakers.Thresholds (*CircuitBreakers_Thresholds_RetryBudget)(nil), // 2: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget (v3.RoutingPriority)(0), // 3: envoy.config.core.v3.RoutingPriority (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*v31.Percent)(nil), // 5: envoy.type.v3.Percent } var file_envoy_config_cluster_v3_circuit_breaker_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.v3.CircuitBreakers.thresholds:type_name -> envoy.config.cluster.v3.CircuitBreakers.Thresholds 1, // 1: envoy.config.cluster.v3.CircuitBreakers.per_host_thresholds:type_name -> envoy.config.cluster.v3.CircuitBreakers.Thresholds 3, // 2: envoy.config.cluster.v3.CircuitBreakers.Thresholds.priority:type_name -> envoy.config.core.v3.RoutingPriority 4, // 3: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_connections:type_name -> google.protobuf.UInt32Value 4, // 4: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_pending_requests:type_name -> google.protobuf.UInt32Value 4, // 5: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_requests:type_name -> google.protobuf.UInt32Value 4, // 6: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_retries:type_name -> google.protobuf.UInt32Value 2, // 7: envoy.config.cluster.v3.CircuitBreakers.Thresholds.retry_budget:type_name -> envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget 4, // 8: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_connection_pools:type_name -> google.protobuf.UInt32Value 5, // 9: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.budget_percent:type_name -> envoy.type.v3.Percent 4, // 10: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.min_retry_concurrency:type_name -> google.protobuf.UInt32Value 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_circuit_breaker_proto_init() } func file_envoy_config_cluster_v3_circuit_breaker_proto_init() { if File_envoy_config_cluster_v3_circuit_breaker_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers_Thresholds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CircuitBreakers_Thresholds_RetryBudget); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_v3_circuit_breaker_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_v3_circuit_breaker_proto_depIdxs, MessageInfos: file_envoy_config_cluster_v3_circuit_breaker_proto_msgTypes, }.Build() File_envoy_config_cluster_v3_circuit_breaker_proto = out.File file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc = nil file_envoy_config_cluster_v3_circuit_breaker_proto_goTypes = nil file_envoy_config_cluster_v3_circuit_breaker_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/v3/circuit_breaker.pb.validate.go000077500000000000000000000456501454502223200272600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/v3/circuit_breaker.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.RoutingPriority(0) ) // Validate checks the field values on CircuitBreakers with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CircuitBreakers) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CircuitBreakers with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CircuitBreakersMultiError, or nil if none found. func (m *CircuitBreakers) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetThresholds() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakersValidationError{ field: fmt.Sprintf("Thresholds[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetPerHostThresholds() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("PerHostThresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakersValidationError{ field: fmt.Sprintf("PerHostThresholds[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakersValidationError{ field: fmt.Sprintf("PerHostThresholds[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CircuitBreakersMultiError(errors) } return nil } // CircuitBreakersMultiError is an error wrapping multiple validation errors // returned by CircuitBreakers.ValidateAll() if the designated constraints // aren't met. type CircuitBreakersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakersMultiError) AllErrors() []error { return m } // CircuitBreakersValidationError is the validation error returned by // CircuitBreakers.Validate if the designated constraints aren't met. type CircuitBreakersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakersValidationError) ErrorName() string { return "CircuitBreakersValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakersValidationError{} // Validate checks the field values on CircuitBreakers_Thresholds with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CircuitBreakers_Thresholds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CircuitBreakers_Thresholds with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CircuitBreakers_ThresholdsMultiError, or nil if none found. func (m *CircuitBreakers_Thresholds) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers_Thresholds) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := v3.RoutingPriority_name[int32(m.GetPriority())]; !ok { err := CircuitBreakers_ThresholdsValidationError{ field: "Priority", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMaxConnections()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnections()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxConnections", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxPendingRequests()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPendingRequests()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxRequests()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequests()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxRequests", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxRetries", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryBudget()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBudget()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "RetryBudget", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrackRemaining if all { switch v := interface{}(m.GetMaxConnectionPools()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnectionPools()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_ThresholdsValidationError{ field: "MaxConnectionPools", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CircuitBreakers_ThresholdsMultiError(errors) } return nil } // CircuitBreakers_ThresholdsMultiError is an error wrapping multiple // validation errors returned by CircuitBreakers_Thresholds.ValidateAll() if // the designated constraints aren't met. type CircuitBreakers_ThresholdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakers_ThresholdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakers_ThresholdsMultiError) AllErrors() []error { return m } // CircuitBreakers_ThresholdsValidationError is the validation error returned // by CircuitBreakers_Thresholds.Validate if the designated constraints aren't met. type CircuitBreakers_ThresholdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakers_ThresholdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakers_ThresholdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakers_ThresholdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakers_ThresholdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakers_ThresholdsValidationError) ErrorName() string { return "CircuitBreakers_ThresholdsValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakers_ThresholdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers_Thresholds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakers_ThresholdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakers_ThresholdsValidationError{} // Validate checks the field values on CircuitBreakers_Thresholds_RetryBudget // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *CircuitBreakers_Thresholds_RetryBudget) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CircuitBreakers_Thresholds_RetryBudget with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // CircuitBreakers_Thresholds_RetryBudgetMultiError, or nil if none found. func (m *CircuitBreakers_Thresholds_RetryBudget) ValidateAll() error { return m.validate(true) } func (m *CircuitBreakers_Thresholds_RetryBudget) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBudgetPercent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBudgetPercent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "BudgetPercent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinRetryConcurrency()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinRetryConcurrency()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CircuitBreakers_Thresholds_RetryBudgetValidationError{ field: "MinRetryConcurrency", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CircuitBreakers_Thresholds_RetryBudgetMultiError(errors) } return nil } // CircuitBreakers_Thresholds_RetryBudgetMultiError is an error wrapping // multiple validation errors returned by // CircuitBreakers_Thresholds_RetryBudget.ValidateAll() if the designated // constraints aren't met. type CircuitBreakers_Thresholds_RetryBudgetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CircuitBreakers_Thresholds_RetryBudgetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CircuitBreakers_Thresholds_RetryBudgetMultiError) AllErrors() []error { return m } // CircuitBreakers_Thresholds_RetryBudgetValidationError is the validation // error returned by CircuitBreakers_Thresholds_RetryBudget.Validate if the // designated constraints aren't met. type CircuitBreakers_Thresholds_RetryBudgetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) ErrorName() string { return "CircuitBreakers_Thresholds_RetryBudgetValidationError" } // Error satisfies the builtin error interface func (e CircuitBreakers_Thresholds_RetryBudgetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCircuitBreakers_Thresholds_RetryBudget.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CircuitBreakers_Thresholds_RetryBudgetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CircuitBreakers_Thresholds_RetryBudgetValidationError{} go-control-plane-0.12.0/envoy/config/cluster/v3/cluster.pb.go000077500000000000000000007135151454502223200240160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/v3/cluster.proto package clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/cncf/xds/go/xds/core/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" v34 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Refer to :ref:`service discovery type ` // for an explanation on each type. type Cluster_DiscoveryType int32 const ( // Refer to the :ref:`static discovery type` // for an explanation. Cluster_STATIC Cluster_DiscoveryType = 0 // Refer to the :ref:`strict DNS discovery // type` // for an explanation. Cluster_STRICT_DNS Cluster_DiscoveryType = 1 // Refer to the :ref:`logical DNS discovery // type` // for an explanation. Cluster_LOGICAL_DNS Cluster_DiscoveryType = 2 // Refer to the :ref:`service discovery type` // for an explanation. Cluster_EDS Cluster_DiscoveryType = 3 // Refer to the :ref:`original destination discovery // type` // for an explanation. Cluster_ORIGINAL_DST Cluster_DiscoveryType = 4 ) // Enum value maps for Cluster_DiscoveryType. var ( Cluster_DiscoveryType_name = map[int32]string{ 0: "STATIC", 1: "STRICT_DNS", 2: "LOGICAL_DNS", 3: "EDS", 4: "ORIGINAL_DST", } Cluster_DiscoveryType_value = map[string]int32{ "STATIC": 0, "STRICT_DNS": 1, "LOGICAL_DNS": 2, "EDS": 3, "ORIGINAL_DST": 4, } ) func (x Cluster_DiscoveryType) Enum() *Cluster_DiscoveryType { p := new(Cluster_DiscoveryType) *p = x return p } func (x Cluster_DiscoveryType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_DiscoveryType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[0].Descriptor() } func (Cluster_DiscoveryType) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[0] } func (x Cluster_DiscoveryType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_DiscoveryType.Descriptor instead. func (Cluster_DiscoveryType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 0} } // Refer to :ref:`load balancer type ` architecture // overview section for information on each type. type Cluster_LbPolicy int32 const ( // Refer to the :ref:`round robin load balancing // policy` // for an explanation. Cluster_ROUND_ROBIN Cluster_LbPolicy = 0 // Refer to the :ref:`least request load balancing // policy` // for an explanation. Cluster_LEAST_REQUEST Cluster_LbPolicy = 1 // Refer to the :ref:`ring hash load balancing // policy` // for an explanation. Cluster_RING_HASH Cluster_LbPolicy = 2 // Refer to the :ref:`random load balancing // policy` // for an explanation. Cluster_RANDOM Cluster_LbPolicy = 3 // Refer to the :ref:`Maglev load balancing policy` // for an explanation. Cluster_MAGLEV Cluster_LbPolicy = 5 // This load balancer type must be specified if the configured cluster provides a cluster // specific load balancer. Consult the configured cluster's documentation for whether to set // this option or not. Cluster_CLUSTER_PROVIDED Cluster_LbPolicy = 6 // Use the new :ref:`load_balancing_policy // ` field to determine the LB policy. // This has been deprecated in favor of using the :ref:`load_balancing_policy // ` field without // setting any value in :ref:`lb_policy`. Cluster_LOAD_BALANCING_POLICY_CONFIG Cluster_LbPolicy = 7 ) // Enum value maps for Cluster_LbPolicy. var ( Cluster_LbPolicy_name = map[int32]string{ 0: "ROUND_ROBIN", 1: "LEAST_REQUEST", 2: "RING_HASH", 3: "RANDOM", 5: "MAGLEV", 6: "CLUSTER_PROVIDED", 7: "LOAD_BALANCING_POLICY_CONFIG", } Cluster_LbPolicy_value = map[string]int32{ "ROUND_ROBIN": 0, "LEAST_REQUEST": 1, "RING_HASH": 2, "RANDOM": 3, "MAGLEV": 5, "CLUSTER_PROVIDED": 6, "LOAD_BALANCING_POLICY_CONFIG": 7, } ) func (x Cluster_LbPolicy) Enum() *Cluster_LbPolicy { p := new(Cluster_LbPolicy) *p = x return p } func (x Cluster_LbPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[1].Descriptor() } func (Cluster_LbPolicy) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[1] } func (x Cluster_LbPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbPolicy.Descriptor instead. func (Cluster_LbPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 1} } // When V4_ONLY is selected, the DNS resolver will only perform a lookup for // addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will // only perform a lookup for addresses in the IPv6 family. If AUTO is // specified, the DNS resolver will first perform a lookup for addresses in // the IPv6 family and fallback to a lookup for addresses in the IPv4 family. // This is semantically equivalent to a non-existent V6_PREFERRED option. // AUTO is a legacy name that is more opaque than // necessary and will be deprecated in favor of V6_PREFERRED in a future major version of the API. // If V4_PREFERRED is specified, the DNS resolver will first perform a lookup for addresses in the // IPv4 family and fallback to a lookup for addresses in the IPv6 family. i.e., the callback // target will only get v6 addresses if there were NO v4 addresses to return. // If ALL is specified, the DNS resolver will perform a lookup for both IPv4 and IPv6 families, // and return all resolved addresses. When this is used, Happy Eyeballs will be enabled for // upstream connections. Refer to :ref:`Happy Eyeballs Support ` // for more information. // For cluster types other than // :ref:`STRICT_DNS` and // :ref:`LOGICAL_DNS`, // this setting is // ignored. // [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.] type Cluster_DnsLookupFamily int32 const ( Cluster_AUTO Cluster_DnsLookupFamily = 0 Cluster_V4_ONLY Cluster_DnsLookupFamily = 1 Cluster_V6_ONLY Cluster_DnsLookupFamily = 2 Cluster_V4_PREFERRED Cluster_DnsLookupFamily = 3 Cluster_ALL Cluster_DnsLookupFamily = 4 ) // Enum value maps for Cluster_DnsLookupFamily. var ( Cluster_DnsLookupFamily_name = map[int32]string{ 0: "AUTO", 1: "V4_ONLY", 2: "V6_ONLY", 3: "V4_PREFERRED", 4: "ALL", } Cluster_DnsLookupFamily_value = map[string]int32{ "AUTO": 0, "V4_ONLY": 1, "V6_ONLY": 2, "V4_PREFERRED": 3, "ALL": 4, } ) func (x Cluster_DnsLookupFamily) Enum() *Cluster_DnsLookupFamily { p := new(Cluster_DnsLookupFamily) *p = x return p } func (x Cluster_DnsLookupFamily) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_DnsLookupFamily) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[2].Descriptor() } func (Cluster_DnsLookupFamily) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[2] } func (x Cluster_DnsLookupFamily) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_DnsLookupFamily.Descriptor instead. func (Cluster_DnsLookupFamily) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 2} } type Cluster_ClusterProtocolSelection int32 const ( // Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2). // If :ref:`http2_protocol_options ` are // present, HTTP2 will be used, otherwise HTTP1.1 will be used. Cluster_USE_CONFIGURED_PROTOCOL Cluster_ClusterProtocolSelection = 0 // Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection. Cluster_USE_DOWNSTREAM_PROTOCOL Cluster_ClusterProtocolSelection = 1 ) // Enum value maps for Cluster_ClusterProtocolSelection. var ( Cluster_ClusterProtocolSelection_name = map[int32]string{ 0: "USE_CONFIGURED_PROTOCOL", 1: "USE_DOWNSTREAM_PROTOCOL", } Cluster_ClusterProtocolSelection_value = map[string]int32{ "USE_CONFIGURED_PROTOCOL": 0, "USE_DOWNSTREAM_PROTOCOL": 1, } ) func (x Cluster_ClusterProtocolSelection) Enum() *Cluster_ClusterProtocolSelection { p := new(Cluster_ClusterProtocolSelection) *p = x return p } func (x Cluster_ClusterProtocolSelection) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_ClusterProtocolSelection) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[3].Descriptor() } func (Cluster_ClusterProtocolSelection) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[3] } func (x Cluster_ClusterProtocolSelection) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_ClusterProtocolSelection.Descriptor instead. func (Cluster_ClusterProtocolSelection) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3} } // If NO_FALLBACK is selected, a result // equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected, // any cluster endpoint may be returned (subject to policy, health checks, // etc). If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy int32 const ( Cluster_LbSubsetConfig_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 0 Cluster_LbSubsetConfig_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 1 Cluster_LbSubsetConfig_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 2 ) // Enum value maps for Cluster_LbSubsetConfig_LbSubsetFallbackPolicy. var ( Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{ 0: "NO_FALLBACK", 1: "ANY_ENDPOINT", 2: "DEFAULT_SUBSET", } Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{ "NO_FALLBACK": 0, "ANY_ENDPOINT": 1, "DEFAULT_SUBSET": 2, } ) func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetFallbackPolicy { p := new(Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) *p = x return p } func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[4].Descriptor() } func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[4] } func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetFallbackPolicy.Descriptor instead. func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 0} } type Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy int32 const ( // No fallback. Route metadata will be used as-is. Cluster_LbSubsetConfig_METADATA_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy = 0 // A special metadata key “fallback_list“ will be used to provide variants of metadata to try. // Value of “fallback_list“ key has to be a list. Every list element has to be a struct - it will // be merged with route metadata, overriding keys that appear in both places. // “fallback_list“ entries will be used in order until a host is found. // // “fallback_list“ key itself is removed from metadata before subset load balancing is performed. // // Example: // // for metadata: // // .. code-block:: yaml // // version: 1.0 // fallback_list: // - version: 2.0 // hardware: c64 // - hardware: c32 // - version: 3.0 // // at first, metadata: // // .. code-block:: json // // {"version": "2.0", "hardware": "c64"} // // will be used for load balancing. If no host is found, metadata: // // .. code-block:: json // // {"version": "1.0", "hardware": "c32"} // // is next to try. If it still results in no host, finally metadata: // // .. code-block:: json // // {"version": "3.0"} // // is used. Cluster_LbSubsetConfig_FALLBACK_LIST Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy = 1 ) // Enum value maps for Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy. var ( Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_name = map[int32]string{ 0: "METADATA_NO_FALLBACK", 1: "FALLBACK_LIST", } Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_value = map[string]int32{ "METADATA_NO_FALLBACK": 0, "FALLBACK_LIST": 1, } ) func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy { p := new(Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) *p = x return p } func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[5].Descriptor() } func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[5] } func (x Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy.Descriptor instead. func (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 1} } // Allows to override top level fallback policy per selector. type Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy int32 const ( // If NOT_DEFINED top level config fallback policy is used instead. Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 0 // If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported. Cluster_LbSubsetConfig_LbSubsetSelector_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 1 // If ANY_ENDPOINT is selected, any cluster endpoint may be returned // (subject to policy, health checks, etc). Cluster_LbSubsetConfig_LbSubsetSelector_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 2 // If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. Cluster_LbSubsetConfig_LbSubsetSelector_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 3 // If KEYS_SUBSET is selected, subset selector matching is performed again with metadata // keys reduced to // :ref:`fallback_keys_subset`. // It allows for a fallback to a different, less specific selector if some of the keys of // the selector are considered optional. Cluster_LbSubsetConfig_LbSubsetSelector_KEYS_SUBSET Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 4 ) // Enum value maps for Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy. var ( Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name = map[int32]string{ 0: "NOT_DEFINED", 1: "NO_FALLBACK", 2: "ANY_ENDPOINT", 3: "DEFAULT_SUBSET", 4: "KEYS_SUBSET", } Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_value = map[string]int32{ "NOT_DEFINED": 0, "NO_FALLBACK": 1, "ANY_ENDPOINT": 2, "DEFAULT_SUBSET": 3, "KEYS_SUBSET": 4, } ) func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Enum() *Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { p := new(Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) *p = x return p } func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[6].Descriptor() } func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[6] } func (x Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy.Descriptor instead. func (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 0, 0} } // The hash function used to hash hosts onto the ketama ring. type Cluster_RingHashLbConfig_HashFunction int32 const ( // Use `xxHash `_, this is the default hash function. Cluster_RingHashLbConfig_XX_HASH Cluster_RingHashLbConfig_HashFunction = 0 // Use `MurmurHash2 `_, this is compatible with // std:hash in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled // on Linux and not macOS. Cluster_RingHashLbConfig_MURMUR_HASH_2 Cluster_RingHashLbConfig_HashFunction = 1 ) // Enum value maps for Cluster_RingHashLbConfig_HashFunction. var ( Cluster_RingHashLbConfig_HashFunction_name = map[int32]string{ 0: "XX_HASH", 1: "MURMUR_HASH_2", } Cluster_RingHashLbConfig_HashFunction_value = map[string]int32{ "XX_HASH": 0, "MURMUR_HASH_2": 1, } ) func (x Cluster_RingHashLbConfig_HashFunction) Enum() *Cluster_RingHashLbConfig_HashFunction { p := new(Cluster_RingHashLbConfig_HashFunction) *p = x return p } func (x Cluster_RingHashLbConfig_HashFunction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Cluster_RingHashLbConfig_HashFunction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_cluster_v3_cluster_proto_enumTypes[7].Descriptor() } func (Cluster_RingHashLbConfig_HashFunction) Type() protoreflect.EnumType { return &file_envoy_config_cluster_v3_cluster_proto_enumTypes[7] } func (x Cluster_RingHashLbConfig_HashFunction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Cluster_RingHashLbConfig_HashFunction.Descriptor instead. func (Cluster_RingHashLbConfig_HashFunction) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 7, 0} } // Cluster list collections. Entries are “Cluster“ resources or references. // [#not-implemented-hide:] type ClusterCollection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Entries *v3.CollectionEntry `protobuf:"bytes,1,opt,name=entries,proto3" json:"entries,omitempty"` } func (x *ClusterCollection) Reset() { *x = ClusterCollection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterCollection) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterCollection) ProtoMessage() {} func (x *ClusterCollection) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterCollection.ProtoReflect.Descriptor instead. func (*ClusterCollection) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{0} } func (x *ClusterCollection) GetEntries() *v3.CollectionEntry { if x != nil { return x.Entries } return nil } // Configuration for a single upstream cluster. // [#next-free-field: 57] type Cluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration to use different transport sockets for different endpoints. // The entry of “envoy.transport_socket_match“ in the // :ref:`LbEndpoint.Metadata ` // is used to match against the transport sockets as they appear in the list. The first // :ref:`match ` is used. // For example, with the following match // // .. code-block:: yaml // // transport_socket_matches: // - name: "enableMTLS" // match: // acceptMTLS: true // transport_socket: // name: envoy.transport_sockets.tls // config: { ... } # tls socket configuration // - name: "defaultToPlaintext" // match: {} // transport_socket: // name: envoy.transport_sockets.raw_buffer // // Connections to the endpoints whose metadata value under “envoy.transport_socket_match“ // having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration. // // If a :ref:`socket match ` with empty match // criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext" // socket match in case above. // // If an endpoint metadata's value under “envoy.transport_socket_match“ does not match any // “TransportSocketMatch“, socket configuration fallbacks to use the “tls_context“ or // “transport_socket“ specified in this cluster. // // This field allows gradual and flexible transport socket configuration changes. // // The metadata of endpoints in EDS can indicate transport socket capabilities. For example, // an endpoint's metadata can have two key value pairs as "acceptMTLS": "true", // "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic // has "acceptPlaintext": "true" metadata information. // // Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS // traffic for endpoints with "acceptMTLS": "true", by adding a corresponding // “TransportSocketMatch“ in this field. Other client Envoys receive CDS without // “transport_socket_match“ set, and still send plain text traffic to the same cluster. // // This field can be used to specify custom transport socket configurations for health // checks by adding matching key/value pairs in a health check's // :ref:`transport socket match criteria ` field. // // [#comment:TODO(incfly): add a detailed architecture doc on intended usage.] TransportSocketMatches []*Cluster_TransportSocketMatch `protobuf:"bytes,43,rep,name=transport_socket_matches,json=transportSocketMatches,proto3" json:"transport_socket_matches,omitempty"` // Supplies the name of the cluster which must be unique across all clusters. // The cluster name is used when emitting // :ref:`statistics ` if :ref:`alt_stat_name // ` is not provided. // Any “:“ in the cluster name will be converted to “_“ when emitting statistics. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An optional alternative to the cluster name to be used for observability. This name is used // emitting stats for the cluster and access logging the cluster name. This will appear as // additional information in configuration dumps of a cluster's current status as // :ref:`observability_name ` // and as an additional tag "upstream_cluster.name" while tracing. Note: Any “:“ in the name // will be converted to “_“ when emitting statistics. This should not be confused with // :ref:`Router Filter Header `. AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"` // Types that are assignable to ClusterDiscoveryType: // // *Cluster_Type // *Cluster_ClusterType ClusterDiscoveryType isCluster_ClusterDiscoveryType `protobuf_oneof:"cluster_discovery_type"` // Configuration to use for EDS updates for the Cluster. EdsClusterConfig *Cluster_EdsClusterConfig `protobuf:"bytes,3,opt,name=eds_cluster_config,json=edsClusterConfig,proto3" json:"eds_cluster_config,omitempty"` // The timeout for new network connections to hosts in the cluster. // If not set, a default value of 5s will be used. ConnectTimeout *duration.Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // Soft limit on size of the cluster’s connections read and write buffers. If // unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` // The :ref:`load balancer type ` to use // when picking a host in the cluster. LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbPolicy" json:"lb_policy,omitempty"` // Setting this is required for specifying members of // :ref:`STATIC`, // :ref:`STRICT_DNS` // or :ref:`LOGICAL_DNS` clusters. // This field supersedes the “hosts“ field in the v2 API. // // .. attention:: // // Setting this allows non-EDS cluster types to contain embedded EDS equivalent // :ref:`endpoint assignments`. LoadAssignment *v31.ClusterLoadAssignment `protobuf:"bytes,33,opt,name=load_assignment,json=loadAssignment,proto3" json:"load_assignment,omitempty"` // Optional :ref:`active health checking ` // configuration for the cluster. If no // configuration is specified no health checking will be done and all cluster // members will be considered healthy at all times. HealthChecks []*v32.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` // Optional maximum requests for a single upstream connection. This parameter // is respected by both the HTTP/1.1 and HTTP/2 connection pool // implementations. If not specified, there is no limit. Setting this // parameter to 1 will effectively disable keep alive. // // .. attention:: // // This field has been deprecated in favor of the :ref:`max_requests_per_connection ` field. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. MaxRequestsPerConnection *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Optional :ref:`circuit breaking ` for the cluster. CircuitBreakers *CircuitBreakers `protobuf:"bytes,10,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` // HTTP protocol options that are applied only to upstream HTTP connections. // These options apply to all HTTP versions. // This has been deprecated in favor of // :ref:`upstream_http_protocol_options ` // in the :ref:`http_protocol_options ` message. // upstream_http_protocol_options can be set via the cluster's // :ref:`extension_protocol_options`. // See :ref:`upstream_http_protocol_options // ` // for example usage. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. UpstreamHttpProtocolOptions *v32.UpstreamHttpProtocolOptions `protobuf:"bytes,46,opt,name=upstream_http_protocol_options,json=upstreamHttpProtocolOptions,proto3" json:"upstream_http_protocol_options,omitempty"` // Additional options when handling HTTP requests upstream. These options will be applicable to // both HTTP1 and HTTP2 requests. // This has been deprecated in favor of // :ref:`common_http_protocol_options ` // in the :ref:`http_protocol_options ` message. // common_http_protocol_options can be set via the cluster's // :ref:`extension_protocol_options`. // See :ref:`upstream_http_protocol_options // ` // for example usage. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. CommonHttpProtocolOptions *v32.HttpProtocolOptions `protobuf:"bytes,29,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` // Additional options when handling HTTP1 requests. // This has been deprecated in favor of http_protocol_options fields in the // :ref:`http_protocol_options ` message. // http_protocol_options can be set via the cluster's // :ref:`extension_protocol_options`. // See :ref:`upstream_http_protocol_options // ` // for example usage. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. HttpProtocolOptions *v32.Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` // Even if default HTTP2 protocol options are desired, this field must be // set so that Envoy will assume that the upstream supports HTTP/2 when // making new HTTP connection pool connections. Currently, Envoy only // supports prior knowledge for upstream connections. Even if TLS is used // with ALPN, “http2_protocol_options“ must be specified. As an aside this allows HTTP/2 // connections to happen over plain text. // This has been deprecated in favor of http2_protocol_options fields in the // :ref:`http_protocol_options ` // message. http2_protocol_options can be set via the cluster's // :ref:`extension_protocol_options`. // See :ref:`upstream_http_protocol_options // ` // for example usage. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. Http2ProtocolOptions *v32.Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // The extension_protocol_options field is used to provide extension-specific protocol options // for upstream connections. The key should match the extension filter name, such as // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on // specific options. // [#next-major-version: make this a list of typed extensions.] TypedExtensionProtocolOptions map[string]*any1.Any `protobuf:"bytes,36,rep,name=typed_extension_protocol_options,json=typedExtensionProtocolOptions,proto3" json:"typed_extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // If the DNS refresh rate is specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this value is used as the cluster’s DNS refresh // rate. The value configured must be at least 1ms. If this setting is not specified, the // value defaults to 5000ms. For cluster types other than // :ref:`STRICT_DNS` // and :ref:`LOGICAL_DNS` // this setting is ignored. DnsRefreshRate *duration.Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"` // If the DNS failure refresh rate is specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is // not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types // other than :ref:`STRICT_DNS` and // :ref:`LOGICAL_DNS` this setting is // ignored. DnsFailureRefreshRate *Cluster_RefreshRate `protobuf:"bytes,44,opt,name=dns_failure_refresh_rate,json=dnsFailureRefreshRate,proto3" json:"dns_failure_refresh_rate,omitempty"` // Optional configuration for setting cluster's DNS refresh rate. If the value is set to true, // cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS // resolution. RespectDnsTtl bool `protobuf:"varint,39,opt,name=respect_dns_ttl,json=respectDnsTtl,proto3" json:"respect_dns_ttl,omitempty"` // The DNS IP address resolution policy. If this setting is not specified, the // value defaults to // :ref:`AUTO`. DnsLookupFamily Cluster_DnsLookupFamily `protobuf:"varint,17,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.config.cluster.v3.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"` // If DNS resolvers are specified and the cluster type is either // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // this value is used to specify the cluster’s dns resolvers. // If this setting is not specified, the value defaults to the default // resolver, which uses /etc/resolv.conf for configuration. For cluster types // other than // :ref:`STRICT_DNS` // and :ref:`LOGICAL_DNS` // this setting is ignored. // This field is deprecated in favor of “dns_resolution_config“ // which aggregates all of the DNS resolver configuration in a single message. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. DnsResolvers []*v32.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers,proto3" json:"dns_resolvers,omitempty"` // Always use TCP queries instead of UDP queries for DNS lookups. // This field is deprecated in favor of “dns_resolution_config“ // which aggregates all of the DNS resolver configuration in a single message. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. UseTcpForDnsLookups bool `protobuf:"varint,45,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` // DNS resolution configuration which includes the underlying dns resolver addresses and options. // This field is deprecated in favor of // :ref:`typed_dns_resolver_config `. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. DnsResolutionConfig *v32.DnsResolutionConfig `protobuf:"bytes,53,opt,name=dns_resolution_config,json=dnsResolutionConfig,proto3" json:"dns_resolution_config,omitempty"` // DNS resolver type configuration extension. This extension can be used to configure c-ares, apple, // or any other DNS resolver types and the related parameters. // For example, an object of // :ref:`CaresDnsResolverConfig ` // can be packed into this “typed_dns_resolver_config“. This configuration replaces the // :ref:`dns_resolution_config ` // configuration. // During the transition period when both “dns_resolution_config“ and “typed_dns_resolver_config“ exists, // when “typed_dns_resolver_config“ is in place, Envoy will use it and ignore “dns_resolution_config“. // When “typed_dns_resolver_config“ is missing, the default behavior is in place. // [#extension-category: envoy.network.dns_resolver] TypedDnsResolverConfig *v32.TypedExtensionConfig `protobuf:"bytes,55,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"` // Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for // :ref:`STRICT_DNS`, // or :ref:`LOGICAL_DNS`, // or :ref:`Redis Cluster`. // If true, cluster readiness blocks on warm-up. If false, the cluster will complete // initialization whether or not warm-up has completed. Defaults to true. WaitForWarmOnInit *wrappers.BoolValue `protobuf:"bytes,54,opt,name=wait_for_warm_on_init,json=waitForWarmOnInit,proto3" json:"wait_for_warm_on_init,omitempty"` // If specified, outlier detection will be enabled for this upstream cluster. // Each of the configuration values can be overridden via // :ref:`runtime values `. OutlierDetection *OutlierDetection `protobuf:"bytes,19,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` // The interval for removing stale hosts from a cluster type // :ref:`ORIGINAL_DST`. // Hosts are considered stale if they have not been used // as upstream destinations during this interval. New hosts are added // to original destination clusters on demand as new connections are // redirected to Envoy, causing the number of hosts in the cluster to // grow over time. Hosts that are not stale (they are actively used as // destinations) are kept in the cluster, which allows connections to // them remain open, saving the latency that would otherwise be spent // on opening new connections. If this setting is not specified, the // value defaults to 5000ms. For cluster types other than // :ref:`ORIGINAL_DST` // this setting is ignored. CleanupInterval *duration.Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,proto3" json:"cleanup_interval,omitempty"` // Optional configuration used to bind newly established upstream connections. // This overrides any bind_config specified in the bootstrap proto. // If the address and port are empty, no bind will be performed. UpstreamBindConfig *v32.BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"` // Configuration for load balancing subsetting. LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig,proto3" json:"lb_subset_config,omitempty"` // Optional configuration for the load balancing algorithm selected by // LbPolicy. Currently only // :ref:`RING_HASH`, // :ref:`MAGLEV` and // :ref:`LEAST_REQUEST` // has additional configuration options. // Specifying ring_hash_lb_config or maglev_lb_config or least_request_lb_config without setting the corresponding // LbPolicy will generate an error at runtime. // // Types that are assignable to LbConfig: // // *Cluster_RingHashLbConfig_ // *Cluster_MaglevLbConfig_ // *Cluster_OriginalDstLbConfig_ // *Cluster_LeastRequestLbConfig_ // *Cluster_RoundRobinLbConfig_ LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"` // Common configuration for all load balancer implementations. CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig,proto3" json:"common_lb_config,omitempty"` // Optional custom transport socket implementation to use for upstream connections. // To setup TLS, set a transport socket with name “envoy.transport_sockets.tls“ and // :ref:`UpstreamTlsContexts ` in the “typed_config“. // If no transport socket configuration is specified, new connections // will be set up with plaintext. TransportSocket *v32.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` // The Metadata field can be used to provide additional information about the // cluster. It can be used for stats, logging, and varying filter behavior. // Fields should use reverse DNS notation to denote which entity within Envoy // will need the information. For instance, if the metadata is intended for // the Router filter, the filter name should be specified as “envoy.filters.http.router“. Metadata *v32.Metadata `protobuf:"bytes,25,opt,name=metadata,proto3" json:"metadata,omitempty"` // Determines how Envoy selects the protocol used to speak to upstream hosts. // This has been deprecated in favor of setting explicit protocol selection // in the :ref:`http_protocol_options // ` message. // http_protocol_options can be set via the cluster's // :ref:`extension_protocol_options`. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. ProtocolSelection Cluster_ClusterProtocolSelection `protobuf:"varint,26,opt,name=protocol_selection,json=protocolSelection,proto3,enum=envoy.config.cluster.v3.Cluster_ClusterProtocolSelection" json:"protocol_selection,omitempty"` // Optional options for upstream connections. UpstreamConnectionOptions *UpstreamConnectionOptions `protobuf:"bytes,30,opt,name=upstream_connection_options,json=upstreamConnectionOptions,proto3" json:"upstream_connection_options,omitempty"` // If an upstream host becomes unhealthy (as determined by the configured health checks // or outlier detection), immediately close all connections to the failed host. // // .. note:: // // This is currently only supported for connections created by tcp_proxy. // // .. note:: // // The current implementation of this feature closes all connections immediately when // the unhealthy status is detected. If there are a large number of connections open // to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of // time exclusively closing these connections, and not processing any other traffic. CloseConnectionsOnHostHealthFailure bool `protobuf:"varint,31,opt,name=close_connections_on_host_health_failure,json=closeConnectionsOnHostHealthFailure,proto3" json:"close_connections_on_host_health_failure,omitempty"` // If set to true, Envoy will ignore the health value of a host when processing its removal // from service discovery. This means that if active health checking is used, Envoy will *not* // wait for the endpoint to go unhealthy before removing it. IgnoreHealthOnHostRemoval bool `protobuf:"varint,32,opt,name=ignore_health_on_host_removal,json=ignoreHealthOnHostRemoval,proto3" json:"ignore_health_on_host_removal,omitempty"` // An (optional) network filter chain, listed in the order the filters should be applied. // The chain will be applied to all outgoing connections that Envoy makes to the upstream // servers of this cluster. Filters []*Filter `protobuf:"bytes,40,rep,name=filters,proto3" json:"filters,omitempty"` // If this field is set and is supported by the client, it will supersede the value of // :ref:`lb_policy`. LoadBalancingPolicy *LoadBalancingPolicy `protobuf:"bytes,41,opt,name=load_balancing_policy,json=loadBalancingPolicy,proto3" json:"load_balancing_policy,omitempty"` // [#not-implemented-hide:] // If present, tells the client where to send load reports via LRS. If not present, the // client will fall back to a client-side default, which may be either (a) don't send any // load reports or (b) send load reports for all clusters to a single default server // (which may be configured in the bootstrap file). // // Note that if multiple clusters point to the same LRS server, the client may choose to // create a separate stream for each cluster or it may choose to coalesce the data for // multiple clusters onto a single stream. Either way, the client must make sure to send // the data for any given cluster on no more than one stream. // // [#next-major-version: In the v3 API, we should consider restructuring this somehow, // maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation // from the LRS stream here.] LrsServer *v32.ConfigSource `protobuf:"bytes,42,opt,name=lrs_server,json=lrsServer,proto3" json:"lrs_server,omitempty"` // If track_timeout_budgets is true, the :ref:`timeout budget histograms // ` will be published for each // request. These show what percentage of a request's per try and global timeout was used. A value // of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value // of 100 would indicate that the request took the entirety of the timeout given to it. // // .. attention:: // // This field has been deprecated in favor of ``timeout_budgets``, part of // :ref:`track_cluster_stats `. // // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. TrackTimeoutBudgets bool `protobuf:"varint,47,opt,name=track_timeout_budgets,json=trackTimeoutBudgets,proto3" json:"track_timeout_budgets,omitempty"` // Optional customization and configuration of upstream connection pool, and upstream type. // // Currently this field only applies for HTTP traffic but is designed for eventual use for custom // TCP upstreams. // // For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream // HTTP, using the http connection pool and the codec from “http2_protocol_options“ // // For routes where CONNECT termination is configured, Envoy will take downstream CONNECT // requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool. // // The default pool used is the generic connection pool which creates the HTTP upstream for most // HTTP requests, and the TCP upstream if CONNECT termination is configured. // // If users desire custom connection pool or upstream behavior, for example terminating // CONNECT only if a custom filter indicates it is appropriate, the custom factories // can be registered and configured here. // [#extension-category: envoy.upstreams] UpstreamConfig *v32.TypedExtensionConfig `protobuf:"bytes,48,opt,name=upstream_config,json=upstreamConfig,proto3" json:"upstream_config,omitempty"` // Configuration to track optional cluster stats. TrackClusterStats *TrackClusterStats `protobuf:"bytes,49,opt,name=track_cluster_stats,json=trackClusterStats,proto3" json:"track_cluster_stats,omitempty"` // Preconnect configuration for this cluster. PreconnectPolicy *Cluster_PreconnectPolicy `protobuf:"bytes,50,opt,name=preconnect_policy,json=preconnectPolicy,proto3" json:"preconnect_policy,omitempty"` // If “connection_pool_per_downstream_connection“ is true, the cluster will use a separate // connection pool for every downstream connection ConnectionPoolPerDownstreamConnection bool `protobuf:"varint,51,opt,name=connection_pool_per_downstream_connection,json=connectionPoolPerDownstreamConnection,proto3" json:"connection_pool_per_downstream_connection,omitempty"` } func (x *Cluster) Reset() { *x = Cluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster) ProtoMessage() {} func (x *Cluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster.ProtoReflect.Descriptor instead. func (*Cluster) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1} } func (x *Cluster) GetTransportSocketMatches() []*Cluster_TransportSocketMatch { if x != nil { return x.TransportSocketMatches } return nil } func (x *Cluster) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster) GetAltStatName() string { if x != nil { return x.AltStatName } return "" } func (m *Cluster) GetClusterDiscoveryType() isCluster_ClusterDiscoveryType { if m != nil { return m.ClusterDiscoveryType } return nil } func (x *Cluster) GetType() Cluster_DiscoveryType { if x, ok := x.GetClusterDiscoveryType().(*Cluster_Type); ok { return x.Type } return Cluster_STATIC } func (x *Cluster) GetClusterType() *Cluster_CustomClusterType { if x, ok := x.GetClusterDiscoveryType().(*Cluster_ClusterType); ok { return x.ClusterType } return nil } func (x *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig { if x != nil { return x.EdsClusterConfig } return nil } func (x *Cluster) GetConnectTimeout() *duration.Duration { if x != nil { return x.ConnectTimeout } return nil } func (x *Cluster) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerConnectionBufferLimitBytes } return nil } func (x *Cluster) GetLbPolicy() Cluster_LbPolicy { if x != nil { return x.LbPolicy } return Cluster_ROUND_ROBIN } func (x *Cluster) GetLoadAssignment() *v31.ClusterLoadAssignment { if x != nil { return x.LoadAssignment } return nil } func (x *Cluster) GetHealthChecks() []*v32.HealthCheck { if x != nil { return x.HealthChecks } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetMaxRequestsPerConnection() *wrappers.UInt32Value { if x != nil { return x.MaxRequestsPerConnection } return nil } func (x *Cluster) GetCircuitBreakers() *CircuitBreakers { if x != nil { return x.CircuitBreakers } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetUpstreamHttpProtocolOptions() *v32.UpstreamHttpProtocolOptions { if x != nil { return x.UpstreamHttpProtocolOptions } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetCommonHttpProtocolOptions() *v32.HttpProtocolOptions { if x != nil { return x.CommonHttpProtocolOptions } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetHttpProtocolOptions() *v32.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetHttp2ProtocolOptions() *v32.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } func (x *Cluster) GetTypedExtensionProtocolOptions() map[string]*any1.Any { if x != nil { return x.TypedExtensionProtocolOptions } return nil } func (x *Cluster) GetDnsRefreshRate() *duration.Duration { if x != nil { return x.DnsRefreshRate } return nil } func (x *Cluster) GetDnsFailureRefreshRate() *Cluster_RefreshRate { if x != nil { return x.DnsFailureRefreshRate } return nil } func (x *Cluster) GetRespectDnsTtl() bool { if x != nil { return x.RespectDnsTtl } return false } func (x *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily { if x != nil { return x.DnsLookupFamily } return Cluster_AUTO } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetDnsResolvers() []*v32.Address { if x != nil { return x.DnsResolvers } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetDnsResolutionConfig() *v32.DnsResolutionConfig { if x != nil { return x.DnsResolutionConfig } return nil } func (x *Cluster) GetTypedDnsResolverConfig() *v32.TypedExtensionConfig { if x != nil { return x.TypedDnsResolverConfig } return nil } func (x *Cluster) GetWaitForWarmOnInit() *wrappers.BoolValue { if x != nil { return x.WaitForWarmOnInit } return nil } func (x *Cluster) GetOutlierDetection() *OutlierDetection { if x != nil { return x.OutlierDetection } return nil } func (x *Cluster) GetCleanupInterval() *duration.Duration { if x != nil { return x.CleanupInterval } return nil } func (x *Cluster) GetUpstreamBindConfig() *v32.BindConfig { if x != nil { return x.UpstreamBindConfig } return nil } func (x *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig { if x != nil { return x.LbSubsetConfig } return nil } func (m *Cluster) GetLbConfig() isCluster_LbConfig { if m != nil { return m.LbConfig } return nil } func (x *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig { if x, ok := x.GetLbConfig().(*Cluster_RingHashLbConfig_); ok { return x.RingHashLbConfig } return nil } func (x *Cluster) GetMaglevLbConfig() *Cluster_MaglevLbConfig { if x, ok := x.GetLbConfig().(*Cluster_MaglevLbConfig_); ok { return x.MaglevLbConfig } return nil } func (x *Cluster) GetOriginalDstLbConfig() *Cluster_OriginalDstLbConfig { if x, ok := x.GetLbConfig().(*Cluster_OriginalDstLbConfig_); ok { return x.OriginalDstLbConfig } return nil } func (x *Cluster) GetLeastRequestLbConfig() *Cluster_LeastRequestLbConfig { if x, ok := x.GetLbConfig().(*Cluster_LeastRequestLbConfig_); ok { return x.LeastRequestLbConfig } return nil } func (x *Cluster) GetRoundRobinLbConfig() *Cluster_RoundRobinLbConfig { if x, ok := x.GetLbConfig().(*Cluster_RoundRobinLbConfig_); ok { return x.RoundRobinLbConfig } return nil } func (x *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig { if x != nil { return x.CommonLbConfig } return nil } func (x *Cluster) GetTransportSocket() *v32.TransportSocket { if x != nil { return x.TransportSocket } return nil } func (x *Cluster) GetMetadata() *v32.Metadata { if x != nil { return x.Metadata } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection { if x != nil { return x.ProtocolSelection } return Cluster_USE_CONFIGURED_PROTOCOL } func (x *Cluster) GetUpstreamConnectionOptions() *UpstreamConnectionOptions { if x != nil { return x.UpstreamConnectionOptions } return nil } func (x *Cluster) GetCloseConnectionsOnHostHealthFailure() bool { if x != nil { return x.CloseConnectionsOnHostHealthFailure } return false } func (x *Cluster) GetIgnoreHealthOnHostRemoval() bool { if x != nil { return x.IgnoreHealthOnHostRemoval } return false } func (x *Cluster) GetFilters() []*Filter { if x != nil { return x.Filters } return nil } func (x *Cluster) GetLoadBalancingPolicy() *LoadBalancingPolicy { if x != nil { return x.LoadBalancingPolicy } return nil } func (x *Cluster) GetLrsServer() *v32.ConfigSource { if x != nil { return x.LrsServer } return nil } // Deprecated: Marked as deprecated in envoy/config/cluster/v3/cluster.proto. func (x *Cluster) GetTrackTimeoutBudgets() bool { if x != nil { return x.TrackTimeoutBudgets } return false } func (x *Cluster) GetUpstreamConfig() *v32.TypedExtensionConfig { if x != nil { return x.UpstreamConfig } return nil } func (x *Cluster) GetTrackClusterStats() *TrackClusterStats { if x != nil { return x.TrackClusterStats } return nil } func (x *Cluster) GetPreconnectPolicy() *Cluster_PreconnectPolicy { if x != nil { return x.PreconnectPolicy } return nil } func (x *Cluster) GetConnectionPoolPerDownstreamConnection() bool { if x != nil { return x.ConnectionPoolPerDownstreamConnection } return false } type isCluster_ClusterDiscoveryType interface { isCluster_ClusterDiscoveryType() } type Cluster_Type struct { // The :ref:`service discovery type ` // to use for resolving the cluster. Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=envoy.config.cluster.v3.Cluster_DiscoveryType,oneof"` } type Cluster_ClusterType struct { // The custom cluster type. ClusterType *Cluster_CustomClusterType `protobuf:"bytes,38,opt,name=cluster_type,json=clusterType,proto3,oneof"` } func (*Cluster_Type) isCluster_ClusterDiscoveryType() {} func (*Cluster_ClusterType) isCluster_ClusterDiscoveryType() {} type isCluster_LbConfig interface { isCluster_LbConfig() } type Cluster_RingHashLbConfig_ struct { // Optional configuration for the Ring Hash load balancing policy. RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,proto3,oneof"` } type Cluster_MaglevLbConfig_ struct { // Optional configuration for the Maglev load balancing policy. MaglevLbConfig *Cluster_MaglevLbConfig `protobuf:"bytes,52,opt,name=maglev_lb_config,json=maglevLbConfig,proto3,oneof"` } type Cluster_OriginalDstLbConfig_ struct { // Optional configuration for the Original Destination load balancing policy. OriginalDstLbConfig *Cluster_OriginalDstLbConfig `protobuf:"bytes,34,opt,name=original_dst_lb_config,json=originalDstLbConfig,proto3,oneof"` } type Cluster_LeastRequestLbConfig_ struct { // Optional configuration for the LeastRequest load balancing policy. LeastRequestLbConfig *Cluster_LeastRequestLbConfig `protobuf:"bytes,37,opt,name=least_request_lb_config,json=leastRequestLbConfig,proto3,oneof"` } type Cluster_RoundRobinLbConfig_ struct { // Optional configuration for the RoundRobin load balancing policy. RoundRobinLbConfig *Cluster_RoundRobinLbConfig `protobuf:"bytes,56,opt,name=round_robin_lb_config,json=roundRobinLbConfig,proto3,oneof"` } func (*Cluster_RingHashLbConfig_) isCluster_LbConfig() {} func (*Cluster_MaglevLbConfig_) isCluster_LbConfig() {} func (*Cluster_OriginalDstLbConfig_) isCluster_LbConfig() {} func (*Cluster_LeastRequestLbConfig_) isCluster_LbConfig() {} func (*Cluster_RoundRobinLbConfig_) isCluster_LbConfig() {} // Extensible load balancing policy configuration. // // Every LB policy defined via this mechanism will be identified via a unique name using reverse // DNS notation. If the policy needs configuration parameters, it must define a message for its // own configuration, which will be stored in the config field. The name of the policy will tell // clients which type of message they should expect to see in the config field. // // Note that there are cases where it is useful to be able to independently select LB policies // for choosing a locality and for choosing an endpoint within that locality. For example, a // given deployment may always use the same policy to choose the locality, but for choosing the // endpoint within the locality, some clusters may use weighted-round-robin, while others may // use some sort of session-based balancing. // // This can be accomplished via hierarchical LB policies, where the parent LB policy creates a // child LB policy for each locality. For each request, the parent chooses the locality and then // delegates to the child policy for that locality to choose the endpoint within the locality. // // To facilitate this, the config message for the top-level LB policy may include a field of // type LoadBalancingPolicy that specifies the child policy. type LoadBalancingPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Each client will iterate over the list in order and stop at the first policy that it // supports. This provides a mechanism for starting to use new LB policies that are not yet // supported by all clients. Policies []*LoadBalancingPolicy_Policy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` } func (x *LoadBalancingPolicy) Reset() { *x = LoadBalancingPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadBalancingPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadBalancingPolicy) ProtoMessage() {} func (x *LoadBalancingPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadBalancingPolicy.ProtoReflect.Descriptor instead. func (*LoadBalancingPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{2} } func (x *LoadBalancingPolicy) GetPolicies() []*LoadBalancingPolicy_Policy { if x != nil { return x.Policies } return nil } type UpstreamConnectionOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. TcpKeepalive *v32.TcpKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` // If enabled, associates the interface name of the local address with the upstream connection. // This can be used by extensions during processing of requests. The association mechanism is // implementation specific. Defaults to false due to performance concerns. SetLocalInterfaceNameOnUpstreamConnections bool `protobuf:"varint,2,opt,name=set_local_interface_name_on_upstream_connections,json=setLocalInterfaceNameOnUpstreamConnections,proto3" json:"set_local_interface_name_on_upstream_connections,omitempty"` } func (x *UpstreamConnectionOptions) Reset() { *x = UpstreamConnectionOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamConnectionOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamConnectionOptions) ProtoMessage() {} func (x *UpstreamConnectionOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamConnectionOptions.ProtoReflect.Descriptor instead. func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{3} } func (x *UpstreamConnectionOptions) GetTcpKeepalive() *v32.TcpKeepalive { if x != nil { return x.TcpKeepalive } return nil } func (x *UpstreamConnectionOptions) GetSetLocalInterfaceNameOnUpstreamConnections() bool { if x != nil { return x.SetLocalInterfaceNameOnUpstreamConnections } return false } type TrackClusterStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If timeout_budgets is true, the :ref:`timeout budget histograms // ` will be published for each // request. These show what percentage of a request's per try and global timeout was used. A value // of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value // of 100 would indicate that the request took the entirety of the timeout given to it. TimeoutBudgets bool `protobuf:"varint,1,opt,name=timeout_budgets,json=timeoutBudgets,proto3" json:"timeout_budgets,omitempty"` // If request_response_sizes is true, then the :ref:`histograms // ` tracking header and body sizes // of requests and responses will be published. RequestResponseSizes bool `protobuf:"varint,2,opt,name=request_response_sizes,json=requestResponseSizes,proto3" json:"request_response_sizes,omitempty"` // If true, some stats will be emitted per-endpoint, similar to the stats in admin “/clusters“ // output. // // This does not currently output correct stats during a hot-restart. // // This is not currently implemented by all stat sinks. // // These stats do not honor filtering or tag extraction rules in :ref:`StatsConfig // ` (but fixed-value tags are supported). Admin // endpoint filtering is supported. // // This may not be used at the same time as // :ref:`load_stats_config `. PerEndpointStats bool `protobuf:"varint,3,opt,name=per_endpoint_stats,json=perEndpointStats,proto3" json:"per_endpoint_stats,omitempty"` } func (x *TrackClusterStats) Reset() { *x = TrackClusterStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrackClusterStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrackClusterStats) ProtoMessage() {} func (x *TrackClusterStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrackClusterStats.ProtoReflect.Descriptor instead. func (*TrackClusterStats) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{4} } func (x *TrackClusterStats) GetTimeoutBudgets() bool { if x != nil { return x.TimeoutBudgets } return false } func (x *TrackClusterStats) GetRequestResponseSizes() bool { if x != nil { return x.RequestResponseSizes } return false } func (x *TrackClusterStats) GetPerEndpointStats() bool { if x != nil { return x.PerEndpointStats } return false } // TransportSocketMatch specifies what transport socket config will be used // when the match conditions are satisfied. type Cluster_TransportSocketMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the match, used in stats generation. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional endpoint metadata match criteria. // The connection to the endpoint with metadata matching what is set in this field // will use the transport socket configuration specified here. // The endpoint's metadata entry in “envoy.transport_socket_match“ is used to match // against the values specified in this field. Match *_struct.Struct `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"` // The configuration of the transport socket. // [#extension-category: envoy.transport_sockets.upstream] TransportSocket *v32.TransportSocket `protobuf:"bytes,3,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *Cluster_TransportSocketMatch) Reset() { *x = Cluster_TransportSocketMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_TransportSocketMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_TransportSocketMatch) ProtoMessage() {} func (x *Cluster_TransportSocketMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_TransportSocketMatch.ProtoReflect.Descriptor instead. func (*Cluster_TransportSocketMatch) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 0} } func (x *Cluster_TransportSocketMatch) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster_TransportSocketMatch) GetMatch() *_struct.Struct { if x != nil { return x.Match } return nil } func (x *Cluster_TransportSocketMatch) GetTransportSocket() *v32.TransportSocket { if x != nil { return x.TransportSocket } return nil } // Extended cluster type. type Cluster_CustomClusterType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of the cluster to instantiate. The name must match a supported cluster type. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Cluster specific configuration which depends on the cluster being instantiated. // See the supported cluster for further documentation. // [#extension-category: envoy.clusters] TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *Cluster_CustomClusterType) Reset() { *x = Cluster_CustomClusterType{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CustomClusterType) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CustomClusterType) ProtoMessage() {} func (x *Cluster_CustomClusterType) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CustomClusterType.ProtoReflect.Descriptor instead. func (*Cluster_CustomClusterType) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 1} } func (x *Cluster_CustomClusterType) GetName() string { if x != nil { return x.Name } return "" } func (x *Cluster_CustomClusterType) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } // Only valid when discovery type is EDS. type Cluster_EdsClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for the source of EDS updates for this Cluster. EdsConfig *v32.ConfigSource `protobuf:"bytes,1,opt,name=eds_config,json=edsConfig,proto3" json:"eds_config,omitempty"` // Optional alternative to cluster name to present to EDS. This does not // have the same restrictions as cluster name, i.e. it may be arbitrary // length. This may be a xdstp:// URL. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` } func (x *Cluster_EdsClusterConfig) Reset() { *x = Cluster_EdsClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_EdsClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_EdsClusterConfig) ProtoMessage() {} func (x *Cluster_EdsClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_EdsClusterConfig.ProtoReflect.Descriptor instead. func (*Cluster_EdsClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 2} } func (x *Cluster_EdsClusterConfig) GetEdsConfig() *v32.ConfigSource { if x != nil { return x.EdsConfig } return nil } func (x *Cluster_EdsClusterConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } // Optionally divide the endpoints in this cluster into subsets defined by // endpoint metadata and selected by route and weighted cluster metadata. // [#next-free-field: 9] type Cluster_LbSubsetConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The behavior used when no endpoint subset matches the selected route's // metadata. The value defaults to // :ref:`NO_FALLBACK`. FallbackPolicy Cluster_LbSubsetConfig_LbSubsetFallbackPolicy `protobuf:"varint,1,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy" json:"fallback_policy,omitempty"` // Specifies the default subset of endpoints used during fallback if // fallback_policy is // :ref:`DEFAULT_SUBSET`. // Each field in default_subset is // compared to the matching LbEndpoint.Metadata under the “envoy.lb“ // namespace. It is valid for no hosts to match, in which case the behavior // is the same as a fallback_policy of // :ref:`NO_FALLBACK`. DefaultSubset *_struct.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" json:"default_subset,omitempty"` // For each entry, LbEndpoint.Metadata's // “envoy.lb“ namespace is traversed and a subset is created for each unique // combination of key and value. For example: // // .. code-block:: json // // { "subset_selectors": [ // { "keys": [ "version" ] }, // { "keys": [ "stage", "hardware_type" ] } // ]} // // A subset is matched when the metadata from the selected route and // weighted cluster contains the same keys and values as the subset's // metadata. The same host may appear in multiple subsets. SubsetSelectors []*Cluster_LbSubsetConfig_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors,proto3" json:"subset_selectors,omitempty"` // If true, routing to subsets will take into account the localities and locality weights of the // endpoints when making the routing decision. // // There are some potential pitfalls associated with enabling this feature, as the resulting // traffic split after applying both a subset match and locality weights might be undesirable. // // Consider for example a situation in which you have 50/50 split across two localities X/Y // which have 100 hosts each without subsetting. If the subset LB results in X having only 1 // host selected but Y having 100, then a lot more load is being dumped on the single host in X // than originally anticipated in the load balancing assignment delivered via EDS. LocalityWeightAware bool `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"` // When used with locality_weight_aware, scales the weight of each locality by the ratio // of hosts in the subset vs hosts in the original subset. This aims to even out the load // going to an individual locality if said locality is disproportionately affected by the // subset predicate. ScaleLocalityWeight bool `protobuf:"varint,5,opt,name=scale_locality_weight,json=scaleLocalityWeight,proto3" json:"scale_locality_weight,omitempty"` // If true, when a fallback policy is configured and its corresponding subset fails to find // a host this will cause any host to be selected instead. // // This is useful when using the default subset as the fallback policy, given the default // subset might become empty. With this option enabled, if that happens the LB will attempt // to select a host from the entire cluster. PanicModeAny bool `protobuf:"varint,6,opt,name=panic_mode_any,json=panicModeAny,proto3" json:"panic_mode_any,omitempty"` // If true, metadata specified for a metadata key will be matched against the corresponding // endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value // and any of the elements in the list matches the criteria. ListAsAny bool `protobuf:"varint,7,opt,name=list_as_any,json=listAsAny,proto3" json:"list_as_any,omitempty"` // Fallback mechanism that allows to try different route metadata until a host is found. // If load balancing process, including all its mechanisms (like // :ref:`fallback_policy`) // fails to select a host, this policy decides if and how the process is repeated using another metadata. // // The value defaults to // :ref:`METADATA_NO_FALLBACK`. MetadataFallbackPolicy Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy `protobuf:"varint,8,opt,name=metadata_fallback_policy,json=metadataFallbackPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy" json:"metadata_fallback_policy,omitempty"` } func (x *Cluster_LbSubsetConfig) Reset() { *x = Cluster_LbSubsetConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LbSubsetConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LbSubsetConfig) ProtoMessage() {} func (x *Cluster_LbSubsetConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LbSubsetConfig.ProtoReflect.Descriptor instead. func (*Cluster_LbSubsetConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3} } func (x *Cluster_LbSubsetConfig) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetFallbackPolicy { if x != nil { return x.FallbackPolicy } return Cluster_LbSubsetConfig_NO_FALLBACK } func (x *Cluster_LbSubsetConfig) GetDefaultSubset() *_struct.Struct { if x != nil { return x.DefaultSubset } return nil } func (x *Cluster_LbSubsetConfig) GetSubsetSelectors() []*Cluster_LbSubsetConfig_LbSubsetSelector { if x != nil { return x.SubsetSelectors } return nil } func (x *Cluster_LbSubsetConfig) GetLocalityWeightAware() bool { if x != nil { return x.LocalityWeightAware } return false } func (x *Cluster_LbSubsetConfig) GetScaleLocalityWeight() bool { if x != nil { return x.ScaleLocalityWeight } return false } func (x *Cluster_LbSubsetConfig) GetPanicModeAny() bool { if x != nil { return x.PanicModeAny } return false } func (x *Cluster_LbSubsetConfig) GetListAsAny() bool { if x != nil { return x.ListAsAny } return false } func (x *Cluster_LbSubsetConfig) GetMetadataFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy { if x != nil { return x.MetadataFallbackPolicy } return Cluster_LbSubsetConfig_METADATA_NO_FALLBACK } // Configuration for :ref:`slow start mode `. type Cluster_SlowStartConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Represents the size of slow start window. // If set, the newly created host remains in slow start mode starting from its creation time // for the duration of slow start window. SlowStartWindow *duration.Duration `protobuf:"bytes,1,opt,name=slow_start_window,json=slowStartWindow,proto3" json:"slow_start_window,omitempty"` // This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0, // so that endpoint would get linearly increasing amount of traffic. // When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly. // The value of aggression parameter should be greater than 0.0. // By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve. // // During slow start window, effective weight of an endpoint would be scaled with time factor and aggression: // “new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))“, // where “time_factor=(time_since_start_seconds / slow_start_time_seconds)“. // // As time progresses, more and more traffic would be sent to endpoint, which is in slow start window. // Once host exits slow start, time_factor and aggression no longer affect its weight. Aggression *v32.RuntimeDouble `protobuf:"bytes,2,opt,name=aggression,proto3" json:"aggression,omitempty"` // Configures the minimum percentage of origin weight that avoids too small new weight, // which may cause endpoints in slow start mode receive no traffic in slow start window. // If not specified, the default is 10%. MinWeightPercent *v33.Percent `protobuf:"bytes,3,opt,name=min_weight_percent,json=minWeightPercent,proto3" json:"min_weight_percent,omitempty"` } func (x *Cluster_SlowStartConfig) Reset() { *x = Cluster_SlowStartConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_SlowStartConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_SlowStartConfig) ProtoMessage() {} func (x *Cluster_SlowStartConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_SlowStartConfig.ProtoReflect.Descriptor instead. func (*Cluster_SlowStartConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 4} } func (x *Cluster_SlowStartConfig) GetSlowStartWindow() *duration.Duration { if x != nil { return x.SlowStartWindow } return nil } func (x *Cluster_SlowStartConfig) GetAggression() *v32.RuntimeDouble { if x != nil { return x.Aggression } return nil } func (x *Cluster_SlowStartConfig) GetMinWeightPercent() *v33.Percent { if x != nil { return x.MinWeightPercent } return nil } // Specific configuration for the RoundRobin load balancing policy. type Cluster_RoundRobinLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for slow start mode. // If this configuration is not set, slow start will not be not enabled. SlowStartConfig *Cluster_SlowStartConfig `protobuf:"bytes,1,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"` } func (x *Cluster_RoundRobinLbConfig) Reset() { *x = Cluster_RoundRobinLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_RoundRobinLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_RoundRobinLbConfig) ProtoMessage() {} func (x *Cluster_RoundRobinLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_RoundRobinLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_RoundRobinLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 5} } func (x *Cluster_RoundRobinLbConfig) GetSlowStartConfig() *Cluster_SlowStartConfig { if x != nil { return x.SlowStartConfig } return nil } // Specific configuration for the LeastRequest load balancing policy. type Cluster_LeastRequestLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of random healthy hosts from which the host with the fewest active requests will // be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set. ChoiceCount *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"` // The following formula is used to calculate the dynamic weights when hosts have different load // balancing weights: // // “weight = load_balancing_weight / (active_requests + 1)^active_request_bias“ // // The larger the active request bias is, the more aggressively active requests will lower the // effective weight when all host weights are not equal. // // “active_request_bias“ must be greater than or equal to 0.0. // // When “active_request_bias == 0.0“ the Least Request Load Balancer doesn't consider the number // of active requests at the time it picks a host and behaves like the Round Robin Load // Balancer. // // When “active_request_bias > 0.0“ the Least Request Load Balancer scales the load balancing // weight by the number of active requests at the time it does a pick. // // The value is cached for performance reasons and refreshed whenever one of the Load Balancer's // host sets changes, e.g., whenever there is a host membership update or a host load balancing // weight change. // // .. note:: // // This setting only takes effect if all host weights are not equal. ActiveRequestBias *v32.RuntimeDouble `protobuf:"bytes,2,opt,name=active_request_bias,json=activeRequestBias,proto3" json:"active_request_bias,omitempty"` // Configuration for slow start mode. // If this configuration is not set, slow start will not be not enabled. SlowStartConfig *Cluster_SlowStartConfig `protobuf:"bytes,3,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"` } func (x *Cluster_LeastRequestLbConfig) Reset() { *x = Cluster_LeastRequestLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LeastRequestLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LeastRequestLbConfig) ProtoMessage() {} func (x *Cluster_LeastRequestLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LeastRequestLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_LeastRequestLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 6} } func (x *Cluster_LeastRequestLbConfig) GetChoiceCount() *wrappers.UInt32Value { if x != nil { return x.ChoiceCount } return nil } func (x *Cluster_LeastRequestLbConfig) GetActiveRequestBias() *v32.RuntimeDouble { if x != nil { return x.ActiveRequestBias } return nil } func (x *Cluster_LeastRequestLbConfig) GetSlowStartConfig() *Cluster_SlowStartConfig { if x != nil { return x.SlowStartConfig } return nil } // Specific configuration for the :ref:`RingHash` // load balancing policy. type Cluster_RingHashLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each // provided host) the better the request distribution will reflect the desired weights. Defaults // to 1024 entries, and limited to 8M entries. See also // :ref:`maximum_ring_size`. MinimumRingSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` // The hash function used to hash hosts onto the ketama ring. The value defaults to // :ref:`XX_HASH`. HashFunction Cluster_RingHashLbConfig_HashFunction `protobuf:"varint,3,opt,name=hash_function,json=hashFunction,proto3,enum=envoy.config.cluster.v3.Cluster_RingHashLbConfig_HashFunction" json:"hash_function,omitempty"` // Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered // to further constrain resource use. See also // :ref:`minimum_ring_size`. MaximumRingSize *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"` } func (x *Cluster_RingHashLbConfig) Reset() { *x = Cluster_RingHashLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_RingHashLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_RingHashLbConfig) ProtoMessage() {} func (x *Cluster_RingHashLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_RingHashLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_RingHashLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 7} } func (x *Cluster_RingHashLbConfig) GetMinimumRingSize() *wrappers.UInt64Value { if x != nil { return x.MinimumRingSize } return nil } func (x *Cluster_RingHashLbConfig) GetHashFunction() Cluster_RingHashLbConfig_HashFunction { if x != nil { return x.HashFunction } return Cluster_RingHashLbConfig_XX_HASH } func (x *Cluster_RingHashLbConfig) GetMaximumRingSize() *wrappers.UInt64Value { if x != nil { return x.MaximumRingSize } return nil } // Specific configuration for the :ref:`Maglev` // load balancing policy. type Cluster_MaglevLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The table size for Maglev hashing. Maglev aims for "minimal disruption" rather than an absolute guarantee. // Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same // upstream as it was before. Increasing the table size reduces the amount of disruption. // The table size must be prime number limited to 5000011. If it is not specified, the default is 65537. TableSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=table_size,json=tableSize,proto3" json:"table_size,omitempty"` } func (x *Cluster_MaglevLbConfig) Reset() { *x = Cluster_MaglevLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_MaglevLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_MaglevLbConfig) ProtoMessage() {} func (x *Cluster_MaglevLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_MaglevLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_MaglevLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 8} } func (x *Cluster_MaglevLbConfig) GetTableSize() *wrappers.UInt64Value { if x != nil { return x.TableSize } return nil } // Specific configuration for the // :ref:`Original Destination ` // load balancing policy. // [#extension: envoy.clusters.original_dst] type Cluster_OriginalDstLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When true, a HTTP header can be used to override the original dst address. The default header is // :ref:`x-envoy-original-dst-host `. // // .. attention:: // // This header isn't sanitized by default, so enabling this feature allows HTTP clients to // route traffic to arbitrary hosts and/or ports, which may have serious security // consequences. // // .. note:: // // If the header appears multiple times only the first value is used. UseHttpHeader bool `protobuf:"varint,1,opt,name=use_http_header,json=useHttpHeader,proto3" json:"use_http_header,omitempty"` // The http header to override destination address if :ref:`use_http_header `. // is set to true. If the value is empty, :ref:`x-envoy-original-dst-host ` will be used. HttpHeaderName string `protobuf:"bytes,2,opt,name=http_header_name,json=httpHeaderName,proto3" json:"http_header_name,omitempty"` // The port to override for the original dst address. This port // will take precedence over filter state and header override ports UpstreamPortOverride *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=upstream_port_override,json=upstreamPortOverride,proto3" json:"upstream_port_override,omitempty"` // The dynamic metadata key to override destination address. // First the request metadata is considered, then the connection one. MetadataKey *v34.MetadataKey `protobuf:"bytes,4,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` } func (x *Cluster_OriginalDstLbConfig) Reset() { *x = Cluster_OriginalDstLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_OriginalDstLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_OriginalDstLbConfig) ProtoMessage() {} func (x *Cluster_OriginalDstLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_OriginalDstLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_OriginalDstLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 9} } func (x *Cluster_OriginalDstLbConfig) GetUseHttpHeader() bool { if x != nil { return x.UseHttpHeader } return false } func (x *Cluster_OriginalDstLbConfig) GetHttpHeaderName() string { if x != nil { return x.HttpHeaderName } return "" } func (x *Cluster_OriginalDstLbConfig) GetUpstreamPortOverride() *wrappers.UInt32Value { if x != nil { return x.UpstreamPortOverride } return nil } func (x *Cluster_OriginalDstLbConfig) GetMetadataKey() *v34.MetadataKey { if x != nil { return x.MetadataKey } return nil } // Common configuration for all load balancer implementations. // [#next-free-field: 9] type Cluster_CommonLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures the :ref:`healthy panic threshold `. // If not specified, the default is 50%. // To disable panic mode, set to 0%. // // .. note:: // // The specified percent will be truncated to the nearest 1%. HealthyPanicThreshold *v33.Percent `protobuf:"bytes,1,opt,name=healthy_panic_threshold,json=healthyPanicThreshold,proto3" json:"healthy_panic_threshold,omitempty"` // Types that are assignable to LocalityConfigSpecifier: // // *Cluster_CommonLbConfig_ZoneAwareLbConfig_ // *Cluster_CommonLbConfig_LocalityWeightedLbConfig_ LocalityConfigSpecifier isCluster_CommonLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"` // If set, all health check/weight/metadata updates that happen within this duration will be // merged and delivered in one shot when the duration expires. The start of the duration is when // the first update happens. This is useful for big clusters, with potentially noisy deploys // that might trigger excessive CPU usage due to a constant stream of healthcheck state changes // or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new // cluster). Please always keep in mind that the use of sandbox technologies may change this // behavior. // // If this is not set, we default to a merge window of 1000ms. To disable it, set the merge // window to 0. // // Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is // because merging those updates isn't currently safe. See // https://github.com/envoyproxy/envoy/pull/3941. UpdateMergeWindow *duration.Duration `protobuf:"bytes,4,opt,name=update_merge_window,json=updateMergeWindow,proto3" json:"update_merge_window,omitempty"` // If set to true, Envoy will :ref:`exclude ` new hosts // when computing load balancing weights until they have been health checked for the first time. // This will have no effect unless active health checking is also configured. IgnoreNewHostsUntilFirstHc bool `protobuf:"varint,5,opt,name=ignore_new_hosts_until_first_hc,json=ignoreNewHostsUntilFirstHc,proto3" json:"ignore_new_hosts_until_first_hc,omitempty"` // If set to “true“, the cluster manager will drain all existing // connections to upstream hosts whenever hosts are added or removed from the cluster. CloseConnectionsOnHostSetChange bool `protobuf:"varint,6,opt,name=close_connections_on_host_set_change,json=closeConnectionsOnHostSetChange,proto3" json:"close_connections_on_host_set_change,omitempty"` // Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.) ConsistentHashingLbConfig *Cluster_CommonLbConfig_ConsistentHashingLbConfig `protobuf:"bytes,7,opt,name=consistent_hashing_lb_config,json=consistentHashingLbConfig,proto3" json:"consistent_hashing_lb_config,omitempty"` // This controls what hosts are considered valid when using // :ref:`host overrides `, which is used by some // filters to modify the load balancing decision. // // If this is unset then [UNKNOWN, HEALTHY, DEGRADED] will be applied by default. If this is // set with an empty set of statuses then host overrides will be ignored by the load balancing. OverrideHostStatus *v32.HealthStatusSet `protobuf:"bytes,8,opt,name=override_host_status,json=overrideHostStatus,proto3" json:"override_host_status,omitempty"` } func (x *Cluster_CommonLbConfig) Reset() { *x = Cluster_CommonLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 10} } func (x *Cluster_CommonLbConfig) GetHealthyPanicThreshold() *v33.Percent { if x != nil { return x.HealthyPanicThreshold } return nil } func (m *Cluster_CommonLbConfig) GetLocalityConfigSpecifier() isCluster_CommonLbConfig_LocalityConfigSpecifier { if m != nil { return m.LocalityConfigSpecifier } return nil } func (x *Cluster_CommonLbConfig) GetZoneAwareLbConfig() *Cluster_CommonLbConfig_ZoneAwareLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_ZoneAwareLbConfig_); ok { return x.ZoneAwareLbConfig } return nil } func (x *Cluster_CommonLbConfig) GetLocalityWeightedLbConfig() *Cluster_CommonLbConfig_LocalityWeightedLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_); ok { return x.LocalityWeightedLbConfig } return nil } func (x *Cluster_CommonLbConfig) GetUpdateMergeWindow() *duration.Duration { if x != nil { return x.UpdateMergeWindow } return nil } func (x *Cluster_CommonLbConfig) GetIgnoreNewHostsUntilFirstHc() bool { if x != nil { return x.IgnoreNewHostsUntilFirstHc } return false } func (x *Cluster_CommonLbConfig) GetCloseConnectionsOnHostSetChange() bool { if x != nil { return x.CloseConnectionsOnHostSetChange } return false } func (x *Cluster_CommonLbConfig) GetConsistentHashingLbConfig() *Cluster_CommonLbConfig_ConsistentHashingLbConfig { if x != nil { return x.ConsistentHashingLbConfig } return nil } func (x *Cluster_CommonLbConfig) GetOverrideHostStatus() *v32.HealthStatusSet { if x != nil { return x.OverrideHostStatus } return nil } type isCluster_CommonLbConfig_LocalityConfigSpecifier interface { isCluster_CommonLbConfig_LocalityConfigSpecifier() } type Cluster_CommonLbConfig_ZoneAwareLbConfig_ struct { ZoneAwareLbConfig *Cluster_CommonLbConfig_ZoneAwareLbConfig `protobuf:"bytes,2,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,proto3,oneof"` } type Cluster_CommonLbConfig_LocalityWeightedLbConfig_ struct { LocalityWeightedLbConfig *Cluster_CommonLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"` } func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() { } func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() { } type Cluster_RefreshRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the base interval between refreshes. This parameter is required and must be greater // than zero and less than // :ref:`max_interval `. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between refreshes. This parameter is optional, but must be // greater than or equal to the // :ref:`base_interval ` if set. The default // is 10 times the :ref:`base_interval `. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *Cluster_RefreshRate) Reset() { *x = Cluster_RefreshRate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_RefreshRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_RefreshRate) ProtoMessage() {} func (x *Cluster_RefreshRate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_RefreshRate.ProtoReflect.Descriptor instead. func (*Cluster_RefreshRate) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 11} } func (x *Cluster_RefreshRate) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *Cluster_RefreshRate) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } type Cluster_PreconnectPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates how many streams (rounded up) can be anticipated per-upstream for each // incoming stream. This is useful for high-QPS or latency-sensitive services. Preconnecting // will only be done if the upstream is healthy and the cluster has traffic. // // For example if this is 2, for an incoming HTTP/1.1 stream, 2 connections will be // established, one for the new incoming stream, and one for a presumed follow-up stream. For // HTTP/2, only one connection would be established by default as one connection can // serve both the original and presumed follow-up stream. // // In steady state for non-multiplexed connections a value of 1.5 would mean if there were 100 // active streams, there would be 100 connections in use, and 50 connections preconnected. // This might be a useful value for something like short lived single-use connections, // for example proxying HTTP/1.1 if keep-alive were false and each stream resulted in connection // termination. It would likely be overkill for long lived connections, such as TCP proxying SMTP // or regular HTTP/1.1 with keep-alive. For long lived traffic, a value of 1.05 would be more // reasonable, where for every 100 connections, 5 preconnected connections would be in the queue // in case of unexpected disconnects where the connection could not be reused. // // If this value is not set, or set explicitly to one, Envoy will fetch as many connections // as needed to serve streams in flight. This means in steady state if a connection is torn down, // a subsequent streams will pay an upstream-rtt latency penalty waiting for a new connection. // // This is limited somewhat arbitrarily to 3 because preconnecting too aggressively can // harm latency more than the preconnecting helps. PerUpstreamPreconnectRatio *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=per_upstream_preconnect_ratio,json=perUpstreamPreconnectRatio,proto3" json:"per_upstream_preconnect_ratio,omitempty"` // Indicates how many streams (rounded up) can be anticipated across a cluster for each // stream, useful for low QPS services. This is currently supported for a subset of // deterministic non-hash-based load-balancing algorithms (weighted round robin, random). // Unlike “per_upstream_preconnect_ratio“ this preconnects across the upstream instances in a // cluster, doing best effort predictions of what upstream would be picked next and // pre-establishing a connection. // // Preconnecting will be limited to one preconnect per configured upstream in the cluster and will // only be done if there are healthy upstreams and the cluster has traffic. // // For example if preconnecting is set to 2 for a round robin HTTP/2 cluster, on the first // incoming stream, 2 connections will be preconnected - one to the first upstream for this // cluster, one to the second on the assumption there will be a follow-up stream. // // If this value is not set, or set explicitly to one, Envoy will fetch as many connections // as needed to serve streams in flight, so during warm up and in steady state if a connection // is closed (and per_upstream_preconnect_ratio is not set), there will be a latency hit for // connection establishment. // // If both this and preconnect_ratio are set, Envoy will make sure both predicted needs are met, // basically preconnecting max(predictive-preconnect, per-upstream-preconnect), for each // upstream. PredictivePreconnectRatio *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=predictive_preconnect_ratio,json=predictivePreconnectRatio,proto3" json:"predictive_preconnect_ratio,omitempty"` } func (x *Cluster_PreconnectPolicy) Reset() { *x = Cluster_PreconnectPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_PreconnectPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_PreconnectPolicy) ProtoMessage() {} func (x *Cluster_PreconnectPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_PreconnectPolicy.ProtoReflect.Descriptor instead. func (*Cluster_PreconnectPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 12} } func (x *Cluster_PreconnectPolicy) GetPerUpstreamPreconnectRatio() *wrappers.DoubleValue { if x != nil { return x.PerUpstreamPreconnectRatio } return nil } func (x *Cluster_PreconnectPolicy) GetPredictivePreconnectRatio() *wrappers.DoubleValue { if x != nil { return x.PredictivePreconnectRatio } return nil } // Specifications for subsets. type Cluster_LbSubsetConfig_LbSubsetSelector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of keys to match with the weighted cluster metadata. Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // Selects a mode of operation in which each subset has only one host. This mode uses the same rules for // choosing a host, but updating hosts is faster, especially for large numbers of hosts. // // If a match is found to a host, that host will be used regardless of priority levels. // // When this mode is enabled, configurations that contain more than one host with the same metadata value for the single key in “keys“ // will use only one of the hosts with the given key; no requests will be routed to the others. The cluster gauge // :ref:`lb_subsets_single_host_per_subset_duplicate` indicates how many duplicates are // present in the current configuration. SingleHostPerSubset bool `protobuf:"varint,4,opt,name=single_host_per_subset,json=singleHostPerSubset,proto3" json:"single_host_per_subset,omitempty"` // The behavior used when no endpoint subset matches the selected route's // metadata. FallbackPolicy Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy `protobuf:"varint,2,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy" json:"fallback_policy,omitempty"` // Subset of // :ref:`keys` used by // :ref:`KEYS_SUBSET` // fallback policy. // It has to be a non empty list if KEYS_SUBSET fallback policy is selected. // For any other fallback policy the parameter is not used and should not be set. // Only values also present in // :ref:`keys` are allowed, but // “fallback_keys_subset“ cannot be equal to “keys“. FallbackKeysSubset []string `protobuf:"bytes,3,rep,name=fallback_keys_subset,json=fallbackKeysSubset,proto3" json:"fallback_keys_subset,omitempty"` } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) Reset() { *x = Cluster_LbSubsetConfig_LbSubsetSelector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage() {} func (x *Cluster_LbSubsetConfig_LbSubsetSelector) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_LbSubsetConfig_LbSubsetSelector.ProtoReflect.Descriptor instead. func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 3, 0} } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys() []string { if x != nil { return x.Keys } return nil } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetSingleHostPerSubset() bool { if x != nil { return x.SingleHostPerSubset } return false } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { if x != nil { return x.FallbackPolicy } return Cluster_LbSubsetConfig_LbSubsetSelector_NOT_DEFINED } func (x *Cluster_LbSubsetConfig_LbSubsetSelector) GetFallbackKeysSubset() []string { if x != nil { return x.FallbackKeysSubset } return nil } // Configuration for :ref:`zone aware routing // `. type Cluster_CommonLbConfig_ZoneAwareLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures percentage of requests that will be considered for zone aware routing // if zone aware routing is configured. If not specified, the default is 100%. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. RoutingEnabled *v33.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled,proto3" json:"routing_enabled,omitempty"` // Configures minimum upstream cluster size required for zone aware routing // If upstream cluster size is less than specified, zone aware routing is not performed // even if zone aware routing is configured. If not specified, the default is 6. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. MinClusterSize *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize,proto3" json:"min_cluster_size,omitempty"` // If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic // mode`. Instead, the cluster will fail all // requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a // failing service. FailTrafficOnPanic bool `protobuf:"varint,3,opt,name=fail_traffic_on_panic,json=failTrafficOnPanic,proto3" json:"fail_traffic_on_panic,omitempty"` } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset() { *x = Cluster_CommonLbConfig_ZoneAwareLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_ZoneAwareLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 10, 0} } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *v33.Percent { if x != nil { return x.RoutingEnabled } return nil } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrappers.UInt64Value { if x != nil { return x.MinClusterSize } return nil } func (x *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool { if x != nil { return x.FailTrafficOnPanic } return false } // Configuration for :ref:`locality weighted load balancing // ` type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset() { *x = Cluster_CommonLbConfig_LocalityWeightedLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_LocalityWeightedLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 10, 1} } // Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.) type Cluster_CommonLbConfig_ConsistentHashingLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to “true“, the cluster will use hostname instead of the resolved // address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address. UseHostnameForHashing bool `protobuf:"varint,1,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"` // Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150 // no upstream host will get a load more than 1.5 times the average load of all the hosts in the cluster. // If not specified, the load is not bounded for any upstream host. Typical value for this parameter is between 120 and 200. // Minimum is 100. // // Applies to both Ring Hash and Maglev load balancers. // // This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified // “hash_balance_factor“, requests to any upstream host are capped at “hash_balance_factor/100“ times the average number of requests // across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing // is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify // the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the // cascading overflow effect when choosing the next host in the ring/table). // // If weights are specified on the hosts, they are respected. // // This is an O(N) algorithm, unlike other load balancers. Using a lower “hash_balance_factor“ results in more hosts // being probed, so use a higher value if you require better performance. HashBalanceFactor *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=hash_balance_factor,json=hashBalanceFactor,proto3" json:"hash_balance_factor,omitempty"` } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Reset() { *x = Cluster_CommonLbConfig_ConsistentHashingLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoMessage() {} func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cluster_CommonLbConfig_ConsistentHashingLbConfig.ProtoReflect.Descriptor instead. func (*Cluster_CommonLbConfig_ConsistentHashingLbConfig) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 10, 2} } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) GetUseHostnameForHashing() bool { if x != nil { return x.UseHostnameForHashing } return false } func (x *Cluster_CommonLbConfig_ConsistentHashingLbConfig) GetHashBalanceFactor() *wrappers.UInt32Value { if x != nil { return x.HashBalanceFactor } return nil } type LoadBalancingPolicy_Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#extension-category: envoy.load_balancing_policies] TypedExtensionConfig *v32.TypedExtensionConfig `protobuf:"bytes,4,opt,name=typed_extension_config,json=typedExtensionConfig,proto3" json:"typed_extension_config,omitempty"` } func (x *LoadBalancingPolicy_Policy) Reset() { *x = LoadBalancingPolicy_Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadBalancingPolicy_Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadBalancingPolicy_Policy) ProtoMessage() {} func (x *LoadBalancingPolicy_Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_cluster_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadBalancingPolicy_Policy.ProtoReflect.Descriptor instead. func (*LoadBalancingPolicy_Policy) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{2, 0} } func (x *LoadBalancingPolicy_Policy) GetTypedExtensionConfig() *v32.TypedExtensionConfig { if x != nil { return x.TypedExtensionConfig } return nil } var File_envoy_config_cluster_v3_cluster_proto protoreflect.FileDescriptor var file_envoy_config_cluster_v3_cluster_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x78, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x53, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x14, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x61, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x6f, 0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x10, 0x01, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x68, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6b, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x12, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x74, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x52, 0x15, 0x64, 0x6e, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6e, 0x73, 0x54, 0x74, 0x6c, 0x12, 0x66, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x19, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x57, 0x61, 0x72, 0x6d, 0x4f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x56, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x10, 0x6c, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x10, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x17, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x14, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x15, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x75, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x11, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x29, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe6, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x98, 0x01, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x1a, 0xa6, 0x01, 0x0a, 0x10, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0a, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xa4, 0x0a, 0x0a, 0x0e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x6b, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x41, 0x6e, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xda, 0x03, 0x0a, 0x10, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x92, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x22, 0x79, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x04, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x4f, 0x0a, 0x16, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x02, 0x22, 0x4d, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0x72, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc5, 0x02, 0x0a, 0x14, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x69, 0x61, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x91, 0x03, 0x0a, 0x10, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6d, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x2e, 0x0a, 0x0c, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x58, 0x58, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x52, 0x4d, 0x55, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x32, 0x10, 0x01, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0x59, 0x0a, 0x0e, 0x4d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0xcb, 0x96, 0xb1, 0x02, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xbf, 0x02, 0x0a, 0x13, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd5, 0x0b, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x74, 0x0a, 0x14, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x1f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x77, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x63, 0x12, 0x4d, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x74, 0x52, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x8d, 0x02, 0x0a, 0x11, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x6e, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5f, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf1, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x64, 0x52, 0x11, 0x68, 0x61, 0x73, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x2a, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x83, 0x02, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x78, 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x75, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x52, 0x19, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x1a, 0x66, 0x0a, 0x22, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x10, 0x04, 0x22, 0xa4, 0x01, 0x0a, 0x08, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x22, 0x04, 0x08, 0x04, 0x10, 0x04, 0x2a, 0x0f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x4c, 0x42, 0x22, 0x50, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x36, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x3a, 0x1b, 0x9a, 0xc5, 0x88, 0x1e, 0x16, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x23, 0x10, 0x24, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x60, 0x0a, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x64, 0x0a, 0x30, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2a, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x89, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_v3_cluster_proto_rawDescOnce sync.Once file_envoy_config_cluster_v3_cluster_proto_rawDescData = file_envoy_config_cluster_v3_cluster_proto_rawDesc ) func file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP() []byte { file_envoy_config_cluster_v3_cluster_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_v3_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_v3_cluster_proto_rawDescData) }) return file_envoy_config_cluster_v3_cluster_proto_rawDescData } var file_envoy_config_cluster_v3_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_envoy_config_cluster_v3_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_envoy_config_cluster_v3_cluster_proto_goTypes = []interface{}{ (Cluster_DiscoveryType)(0), // 0: envoy.config.cluster.v3.Cluster.DiscoveryType (Cluster_LbPolicy)(0), // 1: envoy.config.cluster.v3.Cluster.LbPolicy (Cluster_DnsLookupFamily)(0), // 2: envoy.config.cluster.v3.Cluster.DnsLookupFamily (Cluster_ClusterProtocolSelection)(0), // 3: envoy.config.cluster.v3.Cluster.ClusterProtocolSelection (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy)(0), // 4: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy (Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy)(0), // 5: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy (Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)(0), // 6: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy (Cluster_RingHashLbConfig_HashFunction)(0), // 7: envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction (*ClusterCollection)(nil), // 8: envoy.config.cluster.v3.ClusterCollection (*Cluster)(nil), // 9: envoy.config.cluster.v3.Cluster (*LoadBalancingPolicy)(nil), // 10: envoy.config.cluster.v3.LoadBalancingPolicy (*UpstreamConnectionOptions)(nil), // 11: envoy.config.cluster.v3.UpstreamConnectionOptions (*TrackClusterStats)(nil), // 12: envoy.config.cluster.v3.TrackClusterStats (*Cluster_TransportSocketMatch)(nil), // 13: envoy.config.cluster.v3.Cluster.TransportSocketMatch (*Cluster_CustomClusterType)(nil), // 14: envoy.config.cluster.v3.Cluster.CustomClusterType (*Cluster_EdsClusterConfig)(nil), // 15: envoy.config.cluster.v3.Cluster.EdsClusterConfig (*Cluster_LbSubsetConfig)(nil), // 16: envoy.config.cluster.v3.Cluster.LbSubsetConfig (*Cluster_SlowStartConfig)(nil), // 17: envoy.config.cluster.v3.Cluster.SlowStartConfig (*Cluster_RoundRobinLbConfig)(nil), // 18: envoy.config.cluster.v3.Cluster.RoundRobinLbConfig (*Cluster_LeastRequestLbConfig)(nil), // 19: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig (*Cluster_RingHashLbConfig)(nil), // 20: envoy.config.cluster.v3.Cluster.RingHashLbConfig (*Cluster_MaglevLbConfig)(nil), // 21: envoy.config.cluster.v3.Cluster.MaglevLbConfig (*Cluster_OriginalDstLbConfig)(nil), // 22: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig (*Cluster_CommonLbConfig)(nil), // 23: envoy.config.cluster.v3.Cluster.CommonLbConfig (*Cluster_RefreshRate)(nil), // 24: envoy.config.cluster.v3.Cluster.RefreshRate (*Cluster_PreconnectPolicy)(nil), // 25: envoy.config.cluster.v3.Cluster.PreconnectPolicy nil, // 26: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry (*Cluster_LbSubsetConfig_LbSubsetSelector)(nil), // 27: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector (*Cluster_CommonLbConfig_ZoneAwareLbConfig)(nil), // 28: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig (*Cluster_CommonLbConfig_LocalityWeightedLbConfig)(nil), // 29: envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig (*Cluster_CommonLbConfig_ConsistentHashingLbConfig)(nil), // 30: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig (*LoadBalancingPolicy_Policy)(nil), // 31: envoy.config.cluster.v3.LoadBalancingPolicy.Policy (*v3.CollectionEntry)(nil), // 32: xds.core.v3.CollectionEntry (*duration.Duration)(nil), // 33: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 34: google.protobuf.UInt32Value (*v31.ClusterLoadAssignment)(nil), // 35: envoy.config.endpoint.v3.ClusterLoadAssignment (*v32.HealthCheck)(nil), // 36: envoy.config.core.v3.HealthCheck (*CircuitBreakers)(nil), // 37: envoy.config.cluster.v3.CircuitBreakers (*v32.UpstreamHttpProtocolOptions)(nil), // 38: envoy.config.core.v3.UpstreamHttpProtocolOptions (*v32.HttpProtocolOptions)(nil), // 39: envoy.config.core.v3.HttpProtocolOptions (*v32.Http1ProtocolOptions)(nil), // 40: envoy.config.core.v3.Http1ProtocolOptions (*v32.Http2ProtocolOptions)(nil), // 41: envoy.config.core.v3.Http2ProtocolOptions (*v32.Address)(nil), // 42: envoy.config.core.v3.Address (*v32.DnsResolutionConfig)(nil), // 43: envoy.config.core.v3.DnsResolutionConfig (*v32.TypedExtensionConfig)(nil), // 44: envoy.config.core.v3.TypedExtensionConfig (*wrappers.BoolValue)(nil), // 45: google.protobuf.BoolValue (*OutlierDetection)(nil), // 46: envoy.config.cluster.v3.OutlierDetection (*v32.BindConfig)(nil), // 47: envoy.config.core.v3.BindConfig (*v32.TransportSocket)(nil), // 48: envoy.config.core.v3.TransportSocket (*v32.Metadata)(nil), // 49: envoy.config.core.v3.Metadata (*Filter)(nil), // 50: envoy.config.cluster.v3.Filter (*v32.ConfigSource)(nil), // 51: envoy.config.core.v3.ConfigSource (*v32.TcpKeepalive)(nil), // 52: envoy.config.core.v3.TcpKeepalive (*_struct.Struct)(nil), // 53: google.protobuf.Struct (*any1.Any)(nil), // 54: google.protobuf.Any (*v32.RuntimeDouble)(nil), // 55: envoy.config.core.v3.RuntimeDouble (*v33.Percent)(nil), // 56: envoy.type.v3.Percent (*wrappers.UInt64Value)(nil), // 57: google.protobuf.UInt64Value (*v34.MetadataKey)(nil), // 58: envoy.type.metadata.v3.MetadataKey (*v32.HealthStatusSet)(nil), // 59: envoy.config.core.v3.HealthStatusSet (*wrappers.DoubleValue)(nil), // 60: google.protobuf.DoubleValue } var file_envoy_config_cluster_v3_cluster_proto_depIdxs = []int32{ 32, // 0: envoy.config.cluster.v3.ClusterCollection.entries:type_name -> xds.core.v3.CollectionEntry 13, // 1: envoy.config.cluster.v3.Cluster.transport_socket_matches:type_name -> envoy.config.cluster.v3.Cluster.TransportSocketMatch 0, // 2: envoy.config.cluster.v3.Cluster.type:type_name -> envoy.config.cluster.v3.Cluster.DiscoveryType 14, // 3: envoy.config.cluster.v3.Cluster.cluster_type:type_name -> envoy.config.cluster.v3.Cluster.CustomClusterType 15, // 4: envoy.config.cluster.v3.Cluster.eds_cluster_config:type_name -> envoy.config.cluster.v3.Cluster.EdsClusterConfig 33, // 5: envoy.config.cluster.v3.Cluster.connect_timeout:type_name -> google.protobuf.Duration 34, // 6: envoy.config.cluster.v3.Cluster.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 1, // 7: envoy.config.cluster.v3.Cluster.lb_policy:type_name -> envoy.config.cluster.v3.Cluster.LbPolicy 35, // 8: envoy.config.cluster.v3.Cluster.load_assignment:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment 36, // 9: envoy.config.cluster.v3.Cluster.health_checks:type_name -> envoy.config.core.v3.HealthCheck 34, // 10: envoy.config.cluster.v3.Cluster.max_requests_per_connection:type_name -> google.protobuf.UInt32Value 37, // 11: envoy.config.cluster.v3.Cluster.circuit_breakers:type_name -> envoy.config.cluster.v3.CircuitBreakers 38, // 12: envoy.config.cluster.v3.Cluster.upstream_http_protocol_options:type_name -> envoy.config.core.v3.UpstreamHttpProtocolOptions 39, // 13: envoy.config.cluster.v3.Cluster.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions 40, // 14: envoy.config.cluster.v3.Cluster.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions 41, // 15: envoy.config.cluster.v3.Cluster.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 26, // 16: envoy.config.cluster.v3.Cluster.typed_extension_protocol_options:type_name -> envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry 33, // 17: envoy.config.cluster.v3.Cluster.dns_refresh_rate:type_name -> google.protobuf.Duration 24, // 18: envoy.config.cluster.v3.Cluster.dns_failure_refresh_rate:type_name -> envoy.config.cluster.v3.Cluster.RefreshRate 2, // 19: envoy.config.cluster.v3.Cluster.dns_lookup_family:type_name -> envoy.config.cluster.v3.Cluster.DnsLookupFamily 42, // 20: envoy.config.cluster.v3.Cluster.dns_resolvers:type_name -> envoy.config.core.v3.Address 43, // 21: envoy.config.cluster.v3.Cluster.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig 44, // 22: envoy.config.cluster.v3.Cluster.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 45, // 23: envoy.config.cluster.v3.Cluster.wait_for_warm_on_init:type_name -> google.protobuf.BoolValue 46, // 24: envoy.config.cluster.v3.Cluster.outlier_detection:type_name -> envoy.config.cluster.v3.OutlierDetection 33, // 25: envoy.config.cluster.v3.Cluster.cleanup_interval:type_name -> google.protobuf.Duration 47, // 26: envoy.config.cluster.v3.Cluster.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig 16, // 27: envoy.config.cluster.v3.Cluster.lb_subset_config:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig 20, // 28: envoy.config.cluster.v3.Cluster.ring_hash_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig 21, // 29: envoy.config.cluster.v3.Cluster.maglev_lb_config:type_name -> envoy.config.cluster.v3.Cluster.MaglevLbConfig 22, // 30: envoy.config.cluster.v3.Cluster.original_dst_lb_config:type_name -> envoy.config.cluster.v3.Cluster.OriginalDstLbConfig 19, // 31: envoy.config.cluster.v3.Cluster.least_request_lb_config:type_name -> envoy.config.cluster.v3.Cluster.LeastRequestLbConfig 18, // 32: envoy.config.cluster.v3.Cluster.round_robin_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RoundRobinLbConfig 23, // 33: envoy.config.cluster.v3.Cluster.common_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig 48, // 34: envoy.config.cluster.v3.Cluster.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 49, // 35: envoy.config.cluster.v3.Cluster.metadata:type_name -> envoy.config.core.v3.Metadata 3, // 36: envoy.config.cluster.v3.Cluster.protocol_selection:type_name -> envoy.config.cluster.v3.Cluster.ClusterProtocolSelection 11, // 37: envoy.config.cluster.v3.Cluster.upstream_connection_options:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions 50, // 38: envoy.config.cluster.v3.Cluster.filters:type_name -> envoy.config.cluster.v3.Filter 10, // 39: envoy.config.cluster.v3.Cluster.load_balancing_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy 51, // 40: envoy.config.cluster.v3.Cluster.lrs_server:type_name -> envoy.config.core.v3.ConfigSource 44, // 41: envoy.config.cluster.v3.Cluster.upstream_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 12, // 42: envoy.config.cluster.v3.Cluster.track_cluster_stats:type_name -> envoy.config.cluster.v3.TrackClusterStats 25, // 43: envoy.config.cluster.v3.Cluster.preconnect_policy:type_name -> envoy.config.cluster.v3.Cluster.PreconnectPolicy 31, // 44: envoy.config.cluster.v3.LoadBalancingPolicy.policies:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy.Policy 52, // 45: envoy.config.cluster.v3.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive 53, // 46: envoy.config.cluster.v3.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct 48, // 47: envoy.config.cluster.v3.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 54, // 48: envoy.config.cluster.v3.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any 51, // 49: envoy.config.cluster.v3.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.config.core.v3.ConfigSource 4, // 50: envoy.config.cluster.v3.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy 53, // 51: envoy.config.cluster.v3.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct 27, // 52: envoy.config.cluster.v3.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector 5, // 53: envoy.config.cluster.v3.Cluster.LbSubsetConfig.metadata_fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy 33, // 54: envoy.config.cluster.v3.Cluster.SlowStartConfig.slow_start_window:type_name -> google.protobuf.Duration 55, // 55: envoy.config.cluster.v3.Cluster.SlowStartConfig.aggression:type_name -> envoy.config.core.v3.RuntimeDouble 56, // 56: envoy.config.cluster.v3.Cluster.SlowStartConfig.min_weight_percent:type_name -> envoy.type.v3.Percent 17, // 57: envoy.config.cluster.v3.Cluster.RoundRobinLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig 34, // 58: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.choice_count:type_name -> google.protobuf.UInt32Value 55, // 59: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.active_request_bias:type_name -> envoy.config.core.v3.RuntimeDouble 17, // 60: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig 57, // 61: envoy.config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size:type_name -> google.protobuf.UInt64Value 7, // 62: envoy.config.cluster.v3.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction 57, // 63: envoy.config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size:type_name -> google.protobuf.UInt64Value 57, // 64: envoy.config.cluster.v3.Cluster.MaglevLbConfig.table_size:type_name -> google.protobuf.UInt64Value 34, // 65: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.upstream_port_override:type_name -> google.protobuf.UInt32Value 58, // 66: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 56, // 67: envoy.config.cluster.v3.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.v3.Percent 28, // 68: envoy.config.cluster.v3.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig 29, // 69: envoy.config.cluster.v3.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig 33, // 70: envoy.config.cluster.v3.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration 30, // 71: envoy.config.cluster.v3.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig 59, // 72: envoy.config.cluster.v3.Cluster.CommonLbConfig.override_host_status:type_name -> envoy.config.core.v3.HealthStatusSet 33, // 73: envoy.config.cluster.v3.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration 33, // 74: envoy.config.cluster.v3.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration 60, // 75: envoy.config.cluster.v3.Cluster.PreconnectPolicy.per_upstream_preconnect_ratio:type_name -> google.protobuf.DoubleValue 60, // 76: envoy.config.cluster.v3.Cluster.PreconnectPolicy.predictive_preconnect_ratio:type_name -> google.protobuf.DoubleValue 54, // 77: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any 6, // 78: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy 56, // 79: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent 57, // 80: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value 34, // 81: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value 44, // 82: envoy.config.cluster.v3.LoadBalancingPolicy.Policy.typed_extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 83, // [83:83] is the sub-list for method output_type 83, // [83:83] is the sub-list for method input_type 83, // [83:83] is the sub-list for extension type_name 83, // [83:83] is the sub-list for extension extendee 0, // [0:83] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_cluster_proto_init() } func file_envoy_config_cluster_v3_cluster_proto_init() { if File_envoy_config_cluster_v3_cluster_proto != nil { return } file_envoy_config_cluster_v3_circuit_breaker_proto_init() file_envoy_config_cluster_v3_filter_proto_init() file_envoy_config_cluster_v3_outlier_detection_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_v3_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterCollection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadBalancingPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamConnectionOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrackClusterStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_TransportSocketMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CustomClusterType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_EdsClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LbSubsetConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_SlowStartConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_RoundRobinLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LeastRequestLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_RingHashLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_MaglevLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_OriginalDstLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_RefreshRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_PreconnectPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_LbSubsetConfig_LbSubsetSelector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_ZoneAwareLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_LocalityWeightedLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cluster_CommonLbConfig_ConsistentHashingLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadBalancingPolicy_Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_cluster_v3_cluster_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Cluster_Type)(nil), (*Cluster_ClusterType)(nil), (*Cluster_RingHashLbConfig_)(nil), (*Cluster_MaglevLbConfig_)(nil), (*Cluster_OriginalDstLbConfig_)(nil), (*Cluster_LeastRequestLbConfig_)(nil), (*Cluster_RoundRobinLbConfig_)(nil), } file_envoy_config_cluster_v3_cluster_proto_msgTypes[15].OneofWrappers = []interface{}{ (*Cluster_CommonLbConfig_ZoneAwareLbConfig_)(nil), (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_v3_cluster_proto_rawDesc, NumEnums: 8, NumMessages: 24, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_v3_cluster_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_v3_cluster_proto_depIdxs, EnumInfos: file_envoy_config_cluster_v3_cluster_proto_enumTypes, MessageInfos: file_envoy_config_cluster_v3_cluster_proto_msgTypes, }.Build() File_envoy_config_cluster_v3_cluster_proto = out.File file_envoy_config_cluster_v3_cluster_proto_rawDesc = nil file_envoy_config_cluster_v3_cluster_proto_goTypes = nil file_envoy_config_cluster_v3_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/v3/cluster.pb.validate.go000077500000000000000000004143061454502223200256020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/v3/cluster.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterCollection with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ClusterCollection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterCollection with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterCollectionMultiError, or nil if none found. func (m *ClusterCollection) ValidateAll() error { return m.validate(true) } func (m *ClusterCollection) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEntries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterCollectionValidationError{ field: "Entries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterCollectionValidationError{ field: "Entries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEntries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterCollectionValidationError{ field: "Entries", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterCollectionMultiError(errors) } return nil } // ClusterCollectionMultiError is an error wrapping multiple validation errors // returned by ClusterCollection.ValidateAll() if the designated constraints // aren't met. type ClusterCollectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterCollectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterCollectionMultiError) AllErrors() []error { return m } // ClusterCollectionValidationError is the validation error returned by // ClusterCollection.Validate if the designated constraints aren't met. type ClusterCollectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterCollectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterCollectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterCollectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterCollectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterCollectionValidationError) ErrorName() string { return "ClusterCollectionValidationError" } // Error satisfies the builtin error interface func (e ClusterCollectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterCollection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterCollectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterCollectionValidationError{} // Validate checks the field values on Cluster with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ClusterMultiError, or nil if none found. func (m *Cluster) ValidateAll() error { return m.validate(true) } func (m *Cluster) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetTransportSocketMatches() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if utf8.RuneCountInString(m.GetName()) < 1 { err := ClusterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AltStatName if all { switch v := interface{}(m.GetEdsClusterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEdsClusterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "EdsClusterConfig", reason: "embedded message failed validation", cause: err, } } } if d := m.GetConnectTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "ConnectTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "ConnectTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetPerConnectionBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if _, ok := Cluster_LbPolicy_name[int32(m.GetLbPolicy())]; !ok { err := ClusterValidationError{ field: "LbPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLoadAssignment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadAssignment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LoadAssignment", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxRequestsPerConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequestsPerConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCircuitBreakers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCircuitBreakers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CircuitBreakers", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetTypedExtensionProtocolOptions())) i := 0 for key := range m.GetTypedExtensionProtocolOptions() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedExtensionProtocolOptions()[key] _ = val // no validation rules for TypedExtensionProtocolOptions[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("TypedExtensionProtocolOptions[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if d := m.GetDnsRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "DnsRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "DnsRefreshRate", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetDnsFailureRefreshRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsFailureRefreshRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RespectDnsTtl if _, ok := Cluster_DnsLookupFamily_name[int32(m.GetDnsLookupFamily())]; !ok { err := ClusterValidationError{ field: "DnsLookupFamily", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDnsResolvers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("DnsResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for UseTcpForDnsLookups if all { switch v := interface{}(m.GetDnsResolutionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolutionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedDnsResolverConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedDnsResolverConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWaitForWarmOnInit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "WaitForWarmOnInit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "WaitForWarmOnInit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWaitForWarmOnInit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "WaitForWarmOnInit", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOutlierDetection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutlierDetection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "OutlierDetection", reason: "embedded message failed validation", cause: err, } } } if d := m.GetCleanupInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterValidationError{ field: "CleanupInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterValidationError{ field: "CleanupInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetUpstreamBindConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamBindConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLbSubsetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLbSubsetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LbSubsetConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "CommonLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ProtocolSelection if all { switch v := interface{}(m.GetUpstreamConnectionOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamConnectionOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamConnectionOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CloseConnectionsOnHostHealthFailure // no validation rules for IgnoreHealthOnHostRemoval for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLoadBalancingPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadBalancingPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LoadBalancingPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLrsServer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLrsServer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LrsServer", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrackTimeoutBudgets if all { switch v := interface{}(m.GetUpstreamConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "UpstreamConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "UpstreamConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTrackClusterStats()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "TrackClusterStats", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "TrackClusterStats", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrackClusterStats()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "TrackClusterStats", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPreconnectPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "PreconnectPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "PreconnectPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPreconnectPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "PreconnectPolicy", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ConnectionPoolPerDownstreamConnection switch v := m.ClusterDiscoveryType.(type) { case *Cluster_Type: if v == nil { err := ClusterValidationError{ field: "ClusterDiscoveryType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if _, ok := Cluster_DiscoveryType_name[int32(m.GetType())]; !ok { err := ClusterValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } case *Cluster_ClusterType: if v == nil { err := ClusterValidationError{ field: "ClusterDiscoveryType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClusterType()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterType()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "ClusterType", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } switch v := m.LbConfig.(type) { case *Cluster_RingHashLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRingHashLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRingHashLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "RingHashLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_MaglevLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMaglevLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaglevLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "MaglevLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaglevLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "MaglevLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_OriginalDstLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOriginalDstLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOriginalDstLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "OriginalDstLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_LeastRequestLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLeastRequestLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLeastRequestLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "LeastRequestLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_RoundRobinLbConfig_: if v == nil { err := ClusterValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoundRobinLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterValidationError{ field: "RoundRobinLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterValidationError{ field: "RoundRobinLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoundRobinLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterValidationError{ field: "RoundRobinLbConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ClusterMultiError(errors) } return nil } // ClusterMultiError is an error wrapping multiple validation errors returned // by Cluster.ValidateAll() if the designated constraints aren't met. type ClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterMultiError) AllErrors() []error { return m } // ClusterValidationError is the validation error returned by Cluster.Validate // if the designated constraints aren't met. type ClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterValidationError) ErrorName() string { return "ClusterValidationError" } // Error satisfies the builtin error interface func (e ClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterValidationError{} // Validate checks the field values on LoadBalancingPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LoadBalancingPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadBalancingPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadBalancingPolicyMultiError, or nil if none found. func (m *LoadBalancingPolicy) ValidateAll() error { return m.validate(true) } func (m *LoadBalancingPolicy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadBalancingPolicyValidationError{ field: fmt.Sprintf("Policies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LoadBalancingPolicyMultiError(errors) } return nil } // LoadBalancingPolicyMultiError is an error wrapping multiple validation // errors returned by LoadBalancingPolicy.ValidateAll() if the designated // constraints aren't met. type LoadBalancingPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadBalancingPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadBalancingPolicyMultiError) AllErrors() []error { return m } // LoadBalancingPolicyValidationError is the validation error returned by // LoadBalancingPolicy.Validate if the designated constraints aren't met. type LoadBalancingPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadBalancingPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadBalancingPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadBalancingPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadBalancingPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadBalancingPolicyValidationError) ErrorName() string { return "LoadBalancingPolicyValidationError" } // Error satisfies the builtin error interface func (e LoadBalancingPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadBalancingPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadBalancingPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadBalancingPolicyValidationError{} // Validate checks the field values on UpstreamConnectionOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamConnectionOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamConnectionOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamConnectionOptionsMultiError, or nil if none found. func (m *UpstreamConnectionOptions) ValidateAll() error { return m.validate(true) } func (m *UpstreamConnectionOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTcpKeepalive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpKeepalive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamConnectionOptionsValidationError{ field: "TcpKeepalive", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SetLocalInterfaceNameOnUpstreamConnections if len(errors) > 0 { return UpstreamConnectionOptionsMultiError(errors) } return nil } // UpstreamConnectionOptionsMultiError is an error wrapping multiple validation // errors returned by UpstreamConnectionOptions.ValidateAll() if the // designated constraints aren't met. type UpstreamConnectionOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamConnectionOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamConnectionOptionsMultiError) AllErrors() []error { return m } // UpstreamConnectionOptionsValidationError is the validation error returned by // UpstreamConnectionOptions.Validate if the designated constraints aren't met. type UpstreamConnectionOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamConnectionOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamConnectionOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamConnectionOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamConnectionOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamConnectionOptionsValidationError) ErrorName() string { return "UpstreamConnectionOptionsValidationError" } // Error satisfies the builtin error interface func (e UpstreamConnectionOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamConnectionOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamConnectionOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamConnectionOptionsValidationError{} // Validate checks the field values on TrackClusterStats with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TrackClusterStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TrackClusterStats with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TrackClusterStatsMultiError, or nil if none found. func (m *TrackClusterStats) ValidateAll() error { return m.validate(true) } func (m *TrackClusterStats) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TimeoutBudgets // no validation rules for RequestResponseSizes // no validation rules for PerEndpointStats if len(errors) > 0 { return TrackClusterStatsMultiError(errors) } return nil } // TrackClusterStatsMultiError is an error wrapping multiple validation errors // returned by TrackClusterStats.ValidateAll() if the designated constraints // aren't met. type TrackClusterStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TrackClusterStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TrackClusterStatsMultiError) AllErrors() []error { return m } // TrackClusterStatsValidationError is the validation error returned by // TrackClusterStats.Validate if the designated constraints aren't met. type TrackClusterStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TrackClusterStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TrackClusterStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TrackClusterStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TrackClusterStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TrackClusterStatsValidationError) ErrorName() string { return "TrackClusterStatsValidationError" } // Error satisfies the builtin error interface func (e TrackClusterStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTrackClusterStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TrackClusterStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TrackClusterStatsValidationError{} // Validate checks the field values on Cluster_TransportSocketMatch with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_TransportSocketMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_TransportSocketMatch with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_TransportSocketMatchMultiError, or nil if none found. func (m *Cluster_TransportSocketMatch) ValidateAll() error { return m.validate(true) } func (m *Cluster_TransportSocketMatch) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := Cluster_TransportSocketMatchValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_TransportSocketMatchValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_TransportSocketMatchValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_TransportSocketMatchMultiError(errors) } return nil } // Cluster_TransportSocketMatchMultiError is an error wrapping multiple // validation errors returned by Cluster_TransportSocketMatch.ValidateAll() if // the designated constraints aren't met. type Cluster_TransportSocketMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_TransportSocketMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_TransportSocketMatchMultiError) AllErrors() []error { return m } // Cluster_TransportSocketMatchValidationError is the validation error returned // by Cluster_TransportSocketMatch.Validate if the designated constraints // aren't met. type Cluster_TransportSocketMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_TransportSocketMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_TransportSocketMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_TransportSocketMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_TransportSocketMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_TransportSocketMatchValidationError) ErrorName() string { return "Cluster_TransportSocketMatchValidationError" } // Error satisfies the builtin error interface func (e Cluster_TransportSocketMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_TransportSocketMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_TransportSocketMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_TransportSocketMatchValidationError{} // Validate checks the field values on Cluster_CustomClusterType with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_CustomClusterType) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_CustomClusterType with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_CustomClusterTypeMultiError, or nil if none found. func (m *Cluster_CustomClusterType) ValidateAll() error { return m.validate(true) } func (m *Cluster_CustomClusterType) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := Cluster_CustomClusterTypeValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CustomClusterTypeValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_CustomClusterTypeMultiError(errors) } return nil } // Cluster_CustomClusterTypeMultiError is an error wrapping multiple validation // errors returned by Cluster_CustomClusterType.ValidateAll() if the // designated constraints aren't met. type Cluster_CustomClusterTypeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CustomClusterTypeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CustomClusterTypeMultiError) AllErrors() []error { return m } // Cluster_CustomClusterTypeValidationError is the validation error returned by // Cluster_CustomClusterType.Validate if the designated constraints aren't met. type Cluster_CustomClusterTypeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CustomClusterTypeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CustomClusterTypeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CustomClusterTypeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CustomClusterTypeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CustomClusterTypeValidationError) ErrorName() string { return "Cluster_CustomClusterTypeValidationError" } // Error satisfies the builtin error interface func (e Cluster_CustomClusterTypeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CustomClusterType.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CustomClusterTypeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CustomClusterTypeValidationError{} // Validate checks the field values on Cluster_EdsClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_EdsClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_EdsClusterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_EdsClusterConfigMultiError, or nil if none found. func (m *Cluster_EdsClusterConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_EdsClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_EdsClusterConfigValidationError{ field: "EdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ServiceName if len(errors) > 0 { return Cluster_EdsClusterConfigMultiError(errors) } return nil } // Cluster_EdsClusterConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_EdsClusterConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_EdsClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_EdsClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_EdsClusterConfigMultiError) AllErrors() []error { return m } // Cluster_EdsClusterConfigValidationError is the validation error returned by // Cluster_EdsClusterConfig.Validate if the designated constraints aren't met. type Cluster_EdsClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_EdsClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_EdsClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_EdsClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_EdsClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_EdsClusterConfigValidationError) ErrorName() string { return "Cluster_EdsClusterConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_EdsClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_EdsClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_EdsClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_EdsClusterConfigValidationError{} // Validate checks the field values on Cluster_LbSubsetConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_LbSubsetConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_LbSubsetConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_LbSubsetConfigMultiError, or nil if none found. func (m *Cluster_LbSubsetConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_LbSubsetConfig) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := Cluster_LbSubsetConfigValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultSubset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultSubset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LbSubsetConfigValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSubsetSelectors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LbSubsetConfigValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for LocalityWeightAware // no validation rules for ScaleLocalityWeight // no validation rules for PanicModeAny // no validation rules for ListAsAny if _, ok := Cluster_LbSubsetConfig_LbSubsetMetadataFallbackPolicy_name[int32(m.GetMetadataFallbackPolicy())]; !ok { err := Cluster_LbSubsetConfigValidationError{ field: "MetadataFallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Cluster_LbSubsetConfigMultiError(errors) } return nil } // Cluster_LbSubsetConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_LbSubsetConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_LbSubsetConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LbSubsetConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LbSubsetConfigMultiError) AllErrors() []error { return m } // Cluster_LbSubsetConfigValidationError is the validation error returned by // Cluster_LbSubsetConfig.Validate if the designated constraints aren't met. type Cluster_LbSubsetConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LbSubsetConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LbSubsetConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LbSubsetConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LbSubsetConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LbSubsetConfigValidationError) ErrorName() string { return "Cluster_LbSubsetConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_LbSubsetConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LbSubsetConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LbSubsetConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LbSubsetConfigValidationError{} // Validate checks the field values on Cluster_SlowStartConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_SlowStartConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_SlowStartConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_SlowStartConfigMultiError, or nil if none found. func (m *Cluster_SlowStartConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_SlowStartConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSlowStartWindow()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartWindow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAggression()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAggression()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinWeightPercent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinWeightPercent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_SlowStartConfigMultiError(errors) } return nil } // Cluster_SlowStartConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_SlowStartConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_SlowStartConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_SlowStartConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_SlowStartConfigMultiError) AllErrors() []error { return m } // Cluster_SlowStartConfigValidationError is the validation error returned by // Cluster_SlowStartConfig.Validate if the designated constraints aren't met. type Cluster_SlowStartConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_SlowStartConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_SlowStartConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_SlowStartConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_SlowStartConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_SlowStartConfigValidationError) ErrorName() string { return "Cluster_SlowStartConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_SlowStartConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_SlowStartConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_SlowStartConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_SlowStartConfigValidationError{} // Validate checks the field values on Cluster_RoundRobinLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_RoundRobinLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_RoundRobinLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_RoundRobinLbConfigMultiError, or nil if none found. func (m *Cluster_RoundRobinLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_RoundRobinLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSlowStartConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_RoundRobinLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_RoundRobinLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_RoundRobinLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_RoundRobinLbConfigMultiError(errors) } return nil } // Cluster_RoundRobinLbConfigMultiError is an error wrapping multiple // validation errors returned by Cluster_RoundRobinLbConfig.ValidateAll() if // the designated constraints aren't met. type Cluster_RoundRobinLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_RoundRobinLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_RoundRobinLbConfigMultiError) AllErrors() []error { return m } // Cluster_RoundRobinLbConfigValidationError is the validation error returned // by Cluster_RoundRobinLbConfig.Validate if the designated constraints aren't met. type Cluster_RoundRobinLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_RoundRobinLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_RoundRobinLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_RoundRobinLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_RoundRobinLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_RoundRobinLbConfigValidationError) ErrorName() string { return "Cluster_RoundRobinLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_RoundRobinLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_RoundRobinLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_RoundRobinLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_RoundRobinLbConfigValidationError{} // Validate checks the field values on Cluster_LeastRequestLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_LeastRequestLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_LeastRequestLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_LeastRequestLbConfigMultiError, or nil if none found. func (m *Cluster_LeastRequestLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_LeastRequestLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetChoiceCount(); wrapper != nil { if wrapper.GetValue() < 2 { err := Cluster_LeastRequestLbConfigValidationError{ field: "ChoiceCount", reason: "value must be greater than or equal to 2", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetActiveRequestBias()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LeastRequestLbConfigValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LeastRequestLbConfigValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetActiveRequestBias()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LeastRequestLbConfigValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSlowStartConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_LeastRequestLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_LeastRequestLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_LeastRequestLbConfigValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_LeastRequestLbConfigMultiError(errors) } return nil } // Cluster_LeastRequestLbConfigMultiError is an error wrapping multiple // validation errors returned by Cluster_LeastRequestLbConfig.ValidateAll() if // the designated constraints aren't met. type Cluster_LeastRequestLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LeastRequestLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LeastRequestLbConfigMultiError) AllErrors() []error { return m } // Cluster_LeastRequestLbConfigValidationError is the validation error returned // by Cluster_LeastRequestLbConfig.Validate if the designated constraints // aren't met. type Cluster_LeastRequestLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LeastRequestLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LeastRequestLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LeastRequestLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LeastRequestLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LeastRequestLbConfigValidationError) ErrorName() string { return "Cluster_LeastRequestLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_LeastRequestLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LeastRequestLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LeastRequestLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LeastRequestLbConfigValidationError{} // Validate checks the field values on Cluster_RingHashLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_RingHashLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_RingHashLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_RingHashLbConfigMultiError, or nil if none found. func (m *Cluster_RingHashLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_RingHashLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMinimumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := Cluster_RingHashLbConfigValidationError{ field: "MinimumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } if _, ok := Cluster_RingHashLbConfig_HashFunction_name[int32(m.GetHashFunction())]; !ok { err := Cluster_RingHashLbConfigValidationError{ field: "HashFunction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaximumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := Cluster_RingHashLbConfigValidationError{ field: "MaximumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_RingHashLbConfigMultiError(errors) } return nil } // Cluster_RingHashLbConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_RingHashLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_RingHashLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_RingHashLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_RingHashLbConfigMultiError) AllErrors() []error { return m } // Cluster_RingHashLbConfigValidationError is the validation error returned by // Cluster_RingHashLbConfig.Validate if the designated constraints aren't met. type Cluster_RingHashLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_RingHashLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_RingHashLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_RingHashLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_RingHashLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_RingHashLbConfigValidationError) ErrorName() string { return "Cluster_RingHashLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_RingHashLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_RingHashLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_RingHashLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_RingHashLbConfigValidationError{} // Validate checks the field values on Cluster_MaglevLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_MaglevLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_MaglevLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_MaglevLbConfigMultiError, or nil if none found. func (m *Cluster_MaglevLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_MaglevLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetTableSize(); wrapper != nil { if wrapper.GetValue() > 5000011 { err := Cluster_MaglevLbConfigValidationError{ field: "TableSize", reason: "value must be less than or equal to 5000011", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_MaglevLbConfigMultiError(errors) } return nil } // Cluster_MaglevLbConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_MaglevLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_MaglevLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_MaglevLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_MaglevLbConfigMultiError) AllErrors() []error { return m } // Cluster_MaglevLbConfigValidationError is the validation error returned by // Cluster_MaglevLbConfig.Validate if the designated constraints aren't met. type Cluster_MaglevLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_MaglevLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_MaglevLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_MaglevLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_MaglevLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_MaglevLbConfigValidationError) ErrorName() string { return "Cluster_MaglevLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_MaglevLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_MaglevLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_MaglevLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_MaglevLbConfigValidationError{} // Validate checks the field values on Cluster_OriginalDstLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_OriginalDstLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_OriginalDstLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_OriginalDstLbConfigMultiError, or nil if none found. func (m *Cluster_OriginalDstLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_OriginalDstLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseHttpHeader // no validation rules for HttpHeaderName if wrapper := m.GetUpstreamPortOverride(); wrapper != nil { if wrapper.GetValue() > 65535 { err := Cluster_OriginalDstLbConfigValidationError{ field: "UpstreamPortOverride", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_OriginalDstLbConfigValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_OriginalDstLbConfigValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_OriginalDstLbConfigValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Cluster_OriginalDstLbConfigMultiError(errors) } return nil } // Cluster_OriginalDstLbConfigMultiError is an error wrapping multiple // validation errors returned by Cluster_OriginalDstLbConfig.ValidateAll() if // the designated constraints aren't met. type Cluster_OriginalDstLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_OriginalDstLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_OriginalDstLbConfigMultiError) AllErrors() []error { return m } // Cluster_OriginalDstLbConfigValidationError is the validation error returned // by Cluster_OriginalDstLbConfig.Validate if the designated constraints // aren't met. type Cluster_OriginalDstLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_OriginalDstLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_OriginalDstLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_OriginalDstLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_OriginalDstLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_OriginalDstLbConfigValidationError) ErrorName() string { return "Cluster_OriginalDstLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_OriginalDstLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_OriginalDstLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_OriginalDstLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_OriginalDstLbConfigValidationError{} // Validate checks the field values on Cluster_CommonLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_CommonLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_CommonLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHealthyPanicThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthyPanicThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "HealthyPanicThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpdateMergeWindow()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpdateMergeWindow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "UpdateMergeWindow", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IgnoreNewHostsUntilFirstHc // no validation rules for CloseConnectionsOnHostSetChange if all { switch v := interface{}(m.GetConsistentHashingLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsistentHashingLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverrideHostStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "OverrideHostStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "OverrideHostStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrideHostStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "OverrideHostStatus", reason: "embedded message failed validation", cause: err, } } } switch v := m.LocalityConfigSpecifier.(type) { case *Cluster_CommonLbConfig_ZoneAwareLbConfig_: if v == nil { err := Cluster_CommonLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetZoneAwareLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetZoneAwareLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, } } } case *Cluster_CommonLbConfig_LocalityWeightedLbConfig_: if v == nil { err := Cluster_CommonLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityWeightedLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return Cluster_CommonLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfigMultiError is an error wrapping multiple validation // errors returned by Cluster_CommonLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_CommonLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfigValidationError is the validation error returned by // Cluster_CommonLbConfig.Validate if the designated constraints aren't met. type Cluster_CommonLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfigValidationError{} // Validate checks the field values on Cluster_RefreshRate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_RefreshRate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_RefreshRate with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_RefreshRateMultiError, or nil if none found. func (m *Cluster_RefreshRate) ValidateAll() error { return m.validate(true) } func (m *Cluster_RefreshRate) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := Cluster_RefreshRateValidationError{ field: "BaseInterval", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Cluster_RefreshRateValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur <= gt { err := Cluster_RefreshRateValidationError{ field: "MaxInterval", reason: "value must be greater than 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return Cluster_RefreshRateMultiError(errors) } return nil } // Cluster_RefreshRateMultiError is an error wrapping multiple validation // errors returned by Cluster_RefreshRate.ValidateAll() if the designated // constraints aren't met. type Cluster_RefreshRateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_RefreshRateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_RefreshRateMultiError) AllErrors() []error { return m } // Cluster_RefreshRateValidationError is the validation error returned by // Cluster_RefreshRate.Validate if the designated constraints aren't met. type Cluster_RefreshRateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_RefreshRateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_RefreshRateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_RefreshRateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_RefreshRateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_RefreshRateValidationError) ErrorName() string { return "Cluster_RefreshRateValidationError" } // Error satisfies the builtin error interface func (e Cluster_RefreshRateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_RefreshRate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_RefreshRateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_RefreshRateValidationError{} // Validate checks the field values on Cluster_PreconnectPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Cluster_PreconnectPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cluster_PreconnectPolicy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Cluster_PreconnectPolicyMultiError, or nil if none found. func (m *Cluster_PreconnectPolicy) ValidateAll() error { return m.validate(true) } func (m *Cluster_PreconnectPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetPerUpstreamPreconnectRatio(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 3 { err := Cluster_PreconnectPolicyValidationError{ field: "PerUpstreamPreconnectRatio", reason: "value must be inside range [1, 3]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetPredictivePreconnectRatio(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 3 { err := Cluster_PreconnectPolicyValidationError{ field: "PredictivePreconnectRatio", reason: "value must be inside range [1, 3]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_PreconnectPolicyMultiError(errors) } return nil } // Cluster_PreconnectPolicyMultiError is an error wrapping multiple validation // errors returned by Cluster_PreconnectPolicy.ValidateAll() if the designated // constraints aren't met. type Cluster_PreconnectPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_PreconnectPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_PreconnectPolicyMultiError) AllErrors() []error { return m } // Cluster_PreconnectPolicyValidationError is the validation error returned by // Cluster_PreconnectPolicy.Validate if the designated constraints aren't met. type Cluster_PreconnectPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_PreconnectPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_PreconnectPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_PreconnectPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_PreconnectPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_PreconnectPolicyValidationError) ErrorName() string { return "Cluster_PreconnectPolicyValidationError" } // Error satisfies the builtin error interface func (e Cluster_PreconnectPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_PreconnectPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_PreconnectPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_PreconnectPolicyValidationError{} // Validate checks the field values on Cluster_LbSubsetConfig_LbSubsetSelector // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_LbSubsetConfig_LbSubsetSelector with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // Cluster_LbSubsetConfig_LbSubsetSelectorMultiError, or nil if none found. func (m *Cluster_LbSubsetConfig_LbSubsetSelector) ValidateAll() error { return m.validate(true) } func (m *Cluster_LbSubsetConfig_LbSubsetSelector) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SingleHostPerSubset if _, ok := Cluster_LbSubsetConfig_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Cluster_LbSubsetConfig_LbSubsetSelectorMultiError(errors) } return nil } // Cluster_LbSubsetConfig_LbSubsetSelectorMultiError is an error wrapping // multiple validation errors returned by // Cluster_LbSubsetConfig_LbSubsetSelector.ValidateAll() if the designated // constraints aren't met. type Cluster_LbSubsetConfig_LbSubsetSelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_LbSubsetConfig_LbSubsetSelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_LbSubsetConfig_LbSubsetSelectorMultiError) AllErrors() []error { return m } // Cluster_LbSubsetConfig_LbSubsetSelectorValidationError is the validation // error returned by Cluster_LbSubsetConfig_LbSubsetSelector.Validate if the // designated constraints aren't met. type Cluster_LbSubsetConfig_LbSubsetSelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) ErrorName() string { return "Cluster_LbSubsetConfig_LbSubsetSelectorValidationError" } // Error satisfies the builtin error interface func (e Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_LbSubsetConfig_LbSubsetSelector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_LbSubsetConfig_LbSubsetSelectorValidationError{} // Validate checks the field values on Cluster_CommonLbConfig_ZoneAwareLbConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_ZoneAwareLbConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRoutingEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoutingEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinClusterSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinClusterSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailTrafficOnPanic if len(errors) > 0 { return Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError is an error wrapping // multiple validation errors returned by // Cluster_CommonLbConfig_ZoneAwareLbConfig.ValidateAll() if the designated // constraints aren't met. type Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_ZoneAwareLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError is the validation // error returned by Cluster_CommonLbConfig_ZoneAwareLbConfig.Validate if the // designated constraints aren't met. type Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_ZoneAwareLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError{} // Validate checks the field values on // Cluster_CommonLbConfig_LocalityWeightedLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_LocalityWeightedLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError is an error // wrapping multiple validation errors returned by // Cluster_CommonLbConfig_LocalityWeightedLbConfig.ValidateAll() if the // designated constraints aren't met. type Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_LocalityWeightedLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError is the // validation error returned by // Cluster_CommonLbConfig_LocalityWeightedLbConfig.Validate if the designated // constraints aren't met. type Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_LocalityWeightedLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError{} // Validate checks the field values on // Cluster_CommonLbConfig_ConsistentHashingLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Cluster_CommonLbConfig_ConsistentHashingLbConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError, or nil if none found. func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) ValidateAll() error { return m.validate(true) } func (m *Cluster_CommonLbConfig_ConsistentHashingLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseHostnameForHashing if wrapper := m.GetHashBalanceFactor(); wrapper != nil { if wrapper.GetValue() < 100 { err := Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError{ field: "HashBalanceFactor", reason: "value must be greater than or equal to 100", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError(errors) } return nil } // Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError is an error // wrapping multiple validation errors returned by // Cluster_CommonLbConfig_ConsistentHashingLbConfig.ValidateAll() if the // designated constraints aren't met. type Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Cluster_CommonLbConfig_ConsistentHashingLbConfigMultiError) AllErrors() []error { return m } // Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError is the // validation error returned by // Cluster_CommonLbConfig_ConsistentHashingLbConfig.Validate if the designated // constraints aren't met. type Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) ErrorName() string { return "Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError" } // Error satisfies the builtin error interface func (e Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCluster_CommonLbConfig_ConsistentHashingLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Cluster_CommonLbConfig_ConsistentHashingLbConfigValidationError{} // Validate checks the field values on LoadBalancingPolicy_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LoadBalancingPolicy_Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadBalancingPolicy_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadBalancingPolicy_PolicyMultiError, or nil if none found. func (m *LoadBalancingPolicy_Policy) ValidateAll() error { return m.validate(true) } func (m *LoadBalancingPolicy_Policy) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTypedExtensionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "TypedExtensionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadBalancingPolicy_PolicyValidationError{ field: "TypedExtensionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedExtensionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadBalancingPolicy_PolicyValidationError{ field: "TypedExtensionConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LoadBalancingPolicy_PolicyMultiError(errors) } return nil } // LoadBalancingPolicy_PolicyMultiError is an error wrapping multiple // validation errors returned by LoadBalancingPolicy_Policy.ValidateAll() if // the designated constraints aren't met. type LoadBalancingPolicy_PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadBalancingPolicy_PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadBalancingPolicy_PolicyMultiError) AllErrors() []error { return m } // LoadBalancingPolicy_PolicyValidationError is the validation error returned // by LoadBalancingPolicy_Policy.Validate if the designated constraints aren't met. type LoadBalancingPolicy_PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadBalancingPolicy_PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadBalancingPolicy_PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadBalancingPolicy_PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadBalancingPolicy_PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadBalancingPolicy_PolicyValidationError) ErrorName() string { return "LoadBalancingPolicy_PolicyValidationError" } // Error satisfies the builtin error interface func (e LoadBalancingPolicy_PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadBalancingPolicy_Policy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadBalancingPolicy_PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadBalancingPolicy_PolicyValidationError{} go-control-plane-0.12.0/envoy/config/cluster/v3/filter.pb.go000077500000000000000000000223771454502223200236210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/v3/filter.proto package clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. // Note that Envoy's :ref:`downstream network // filters ` are not valid upstream network filters. // Only one of typed_config or config_discovery can be used. TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` // Configuration source specifier for an extension configuration discovery // service. In case of a failure and without the default configuration, the // listener closes the connections. // Only one of typed_config or config_discovery can be used. ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,3,opt,name=config_discovery,json=configDiscovery,proto3" json:"config_discovery,omitempty"` } func (x *Filter) Reset() { *x = Filter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_filter_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Filter) ProtoMessage() {} func (x *Filter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_filter_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Filter.ProtoReflect.Descriptor instead. func (*Filter) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_filter_proto_rawDescGZIP(), []int{0} } func (x *Filter) GetName() string { if x != nil { return x.Name } return "" } func (x *Filter) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } func (x *Filter) GetConfigDiscovery() *v3.ExtensionConfigSource { if x != nil { return x.ConfigDiscovery } return nil } var File_envoy_config_cluster_v3_filter_proto protoreflect.FileDescriptor var file_envoy_config_cluster_v3_filter_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x88, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_v3_filter_proto_rawDescOnce sync.Once file_envoy_config_cluster_v3_filter_proto_rawDescData = file_envoy_config_cluster_v3_filter_proto_rawDesc ) func file_envoy_config_cluster_v3_filter_proto_rawDescGZIP() []byte { file_envoy_config_cluster_v3_filter_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_v3_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_v3_filter_proto_rawDescData) }) return file_envoy_config_cluster_v3_filter_proto_rawDescData } var file_envoy_config_cluster_v3_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_cluster_v3_filter_proto_goTypes = []interface{}{ (*Filter)(nil), // 0: envoy.config.cluster.v3.Filter (*any1.Any)(nil), // 1: google.protobuf.Any (*v3.ExtensionConfigSource)(nil), // 2: envoy.config.core.v3.ExtensionConfigSource } var file_envoy_config_cluster_v3_filter_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.v3.Filter.typed_config:type_name -> google.protobuf.Any 2, // 1: envoy.config.cluster.v3.Filter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_filter_proto_init() } func file_envoy_config_cluster_v3_filter_proto_init() { if File_envoy_config_cluster_v3_filter_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_v3_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_v3_filter_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_v3_filter_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_v3_filter_proto_depIdxs, MessageInfos: file_envoy_config_cluster_v3_filter_proto_msgTypes, }.Build() File_envoy_config_cluster_v3_filter_proto = out.File file_envoy_config_cluster_v3_filter_proto_rawDesc = nil file_envoy_config_cluster_v3_filter_proto_goTypes = nil file_envoy_config_cluster_v3_filter_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/v3/filter.pb.validate.go000077500000000000000000000115701454502223200254020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/v3/filter.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Filter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in FilterMultiError, or nil if none found. func (m *Filter) ValidateAll() error { return m.validate(true) } func (m *Filter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := FilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConfigDiscovery()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigDiscovery()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterMultiError(errors) } return nil } // FilterMultiError is an error wrapping multiple validation errors returned by // Filter.ValidateAll() if the designated constraints aren't met. type FilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterMultiError) AllErrors() []error { return m } // FilterValidationError is the validation error returned by Filter.Validate if // the designated constraints aren't met. type FilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterValidationError) ErrorName() string { return "FilterValidationError" } // Error satisfies the builtin error interface func (e FilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterValidationError{} go-control-plane-0.12.0/envoy/config/cluster/v3/outlier_detection.pb.go000077500000000000000000001137711454502223200260540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/cluster/v3/outlier_detection.proto package clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // See the :ref:`architecture overview ` for // more information on outlier detection. // [#next-free-field: 24] type OutlierDetection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of consecutive server-side error responses (for HTTP traffic, // 5xx responses; for TCP traffic, connection failures; for Redis, failure to // respond PONG; etc.) before a consecutive 5xx ejection occurs. Defaults to 5. Consecutive_5Xx *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"` // The time interval between ejection analysis sweeps. This can result in // both new ejections as well as hosts being returned to service. Defaults // to 10000ms or 10s. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // The base time that a host is ejected for. The real time is equal to the // base time multiplied by the number of times the host has been ejected and is // capped by :ref:`max_ejection_time`. // Defaults to 30000ms or 30s. BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` // The maximum % of an upstream cluster that can be ejected due to outlier // detection. Defaults to 10% but will eject at least one host regardless of the value. MaxEjectionPercent *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive 5xx. This setting can be used to disable // ejection or to ramp it up slowly. Defaults to 100. EnforcingConsecutive_5Xx *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=enforcing_consecutive_5xx,json=enforcingConsecutive5xx,proto3" json:"enforcing_consecutive_5xx,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through success rate statistics. This setting can be used to // disable ejection or to ramp it up slowly. Defaults to 100. EnforcingSuccessRate *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate,proto3" json:"enforcing_success_rate,omitempty"` // The number of hosts in a cluster that must have enough request volume to // detect success rate outliers. If the number of hosts is less than this // setting, outlier detection via success rate statistics is not performed // for any host in the cluster. Defaults to 5. SuccessRateMinimumHosts *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=success_rate_minimum_hosts,json=successRateMinimumHosts,proto3" json:"success_rate_minimum_hosts,omitempty"` // The minimum number of total requests that must be collected in one // interval (as defined by the interval duration above) to include this host // in success rate based outlier detection. If the volume is lower than this // setting, outlier detection via success rate statistics is not performed // for that host. Defaults to 100. SuccessRateRequestVolume *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=success_rate_request_volume,json=successRateRequestVolume,proto3" json:"success_rate_request_volume,omitempty"` // This factor is used to determine the ejection threshold for success rate // outlier ejection. The ejection threshold is the difference between the // mean success rate, and the product of this factor and the standard // deviation of the mean success rate: mean - (stdev * // success_rate_stdev_factor). This factor is divided by a thousand to get a // double. That is, if the desired factor is 1.9, the runtime value should // be 1900. Defaults to 1900. SuccessRateStdevFactor *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=success_rate_stdev_factor,json=successRateStdevFactor,proto3" json:"success_rate_stdev_factor,omitempty"` // The number of consecutive gateway failures (502, 503, 504 status codes) // before a consecutive gateway failure ejection occurs. Defaults to 5. ConsecutiveGatewayFailure *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=consecutive_gateway_failure,json=consecutiveGatewayFailure,proto3" json:"consecutive_gateway_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive gateway failures. This setting can be // used to disable ejection or to ramp it up slowly. Defaults to 0. EnforcingConsecutiveGatewayFailure *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=enforcing_consecutive_gateway_failure,json=enforcingConsecutiveGatewayFailure,proto3" json:"enforcing_consecutive_gateway_failure,omitempty"` // Determines whether to distinguish local origin failures from external errors. If set to true // the following configuration parameters are taken into account: // :ref:`consecutive_local_origin_failure`, // :ref:`enforcing_consecutive_local_origin_failure` // and // :ref:`enforcing_local_origin_success_rate`. // Defaults to false. SplitExternalLocalOriginErrors bool `protobuf:"varint,12,opt,name=split_external_local_origin_errors,json=splitExternalLocalOriginErrors,proto3" json:"split_external_local_origin_errors,omitempty"` // The number of consecutive locally originated failures before ejection // occurs. Defaults to 5. Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. ConsecutiveLocalOriginFailure *wrappers.UInt32Value `protobuf:"bytes,13,opt,name=consecutive_local_origin_failure,json=consecutiveLocalOriginFailure,proto3" json:"consecutive_local_origin_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive locally originated failures. This setting can be // used to disable ejection or to ramp it up slowly. Defaults to 100. // Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. EnforcingConsecutiveLocalOriginFailure *wrappers.UInt32Value `protobuf:"bytes,14,opt,name=enforcing_consecutive_local_origin_failure,json=enforcingConsecutiveLocalOriginFailure,proto3" json:"enforcing_consecutive_local_origin_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through success rate statistics for locally originated errors. // This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. // Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. EnforcingLocalOriginSuccessRate *wrappers.UInt32Value `protobuf:"bytes,15,opt,name=enforcing_local_origin_success_rate,json=enforcingLocalOriginSuccessRate,proto3" json:"enforcing_local_origin_success_rate,omitempty"` // The failure percentage to use when determining failure percentage-based outlier detection. If // the failure percentage of a given host is greater than or equal to this value, it will be // ejected. Defaults to 85. FailurePercentageThreshold *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=failure_percentage_threshold,json=failurePercentageThreshold,proto3" json:"failure_percentage_threshold,omitempty"` // The % chance that a host will be actually ejected when an outlier status is detected through // failure percentage statistics. This setting can be used to disable ejection or to ramp it up // slowly. Defaults to 0. // // [#next-major-version: setting this without setting failure_percentage_threshold should be // invalid in v4.] EnforcingFailurePercentage *wrappers.UInt32Value `protobuf:"bytes,17,opt,name=enforcing_failure_percentage,json=enforcingFailurePercentage,proto3" json:"enforcing_failure_percentage,omitempty"` // The % chance that a host will be actually ejected when an outlier status is detected through // local-origin failure percentage statistics. This setting can be used to disable ejection or to // ramp it up slowly. Defaults to 0. EnforcingFailurePercentageLocalOrigin *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=enforcing_failure_percentage_local_origin,json=enforcingFailurePercentageLocalOrigin,proto3" json:"enforcing_failure_percentage_local_origin,omitempty"` // The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. // If the total number of hosts in the cluster is less than this value, failure percentage-based // ejection will not be performed. Defaults to 5. FailurePercentageMinimumHosts *wrappers.UInt32Value `protobuf:"bytes,19,opt,name=failure_percentage_minimum_hosts,json=failurePercentageMinimumHosts,proto3" json:"failure_percentage_minimum_hosts,omitempty"` // The minimum number of total requests that must be collected in one interval (as defined by the // interval duration above) to perform failure percentage-based ejection for this host. If the // volume is lower than this setting, failure percentage-based ejection will not be performed for // this host. Defaults to 50. FailurePercentageRequestVolume *wrappers.UInt32Value `protobuf:"bytes,20,opt,name=failure_percentage_request_volume,json=failurePercentageRequestVolume,proto3" json:"failure_percentage_request_volume,omitempty"` // The maximum time that a host is ejected for. See :ref:`base_ejection_time` // for more information. If not specified, the default value (300000ms or 300s) or // :ref:`base_ejection_time` value is applied, whatever is larger. MaxEjectionTime *duration.Duration `protobuf:"bytes,21,opt,name=max_ejection_time,json=maxEjectionTime,proto3" json:"max_ejection_time,omitempty"` // The maximum amount of jitter to add to the ejection time, in order to prevent // a 'thundering herd' effect where all proxies try to reconnect to host at the same time. // See :ref:`max_ejection_time_jitter` // Defaults to 0s. MaxEjectionTimeJitter *duration.Duration `protobuf:"bytes,22,opt,name=max_ejection_time_jitter,json=maxEjectionTimeJitter,proto3" json:"max_ejection_time_jitter,omitempty"` // If active health checking is enabled and a host is ejected by outlier detection, a successful active health check // unejects the host by default and considers it as healthy. Unejection also clears all the outlier detection counters. // To change this default behavior set this config to “false“ where active health checking will not uneject the host. // Defaults to true. SuccessfulActiveHealthCheckUnejectHost *wrappers.BoolValue `protobuf:"bytes,23,opt,name=successful_active_health_check_uneject_host,json=successfulActiveHealthCheckUnejectHost,proto3" json:"successful_active_health_check_uneject_host,omitempty"` } func (x *OutlierDetection) Reset() { *x = OutlierDetection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_cluster_v3_outlier_detection_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierDetection) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierDetection) ProtoMessage() {} func (x *OutlierDetection) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_cluster_v3_outlier_detection_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead. func (*OutlierDetection) Descriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_outlier_detection_proto_rawDescGZIP(), []int{0} } func (x *OutlierDetection) GetConsecutive_5Xx() *wrappers.UInt32Value { if x != nil { return x.Consecutive_5Xx } return nil } func (x *OutlierDetection) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *OutlierDetection) GetBaseEjectionTime() *duration.Duration { if x != nil { return x.BaseEjectionTime } return nil } func (x *OutlierDetection) GetMaxEjectionPercent() *wrappers.UInt32Value { if x != nil { return x.MaxEjectionPercent } return nil } func (x *OutlierDetection) GetEnforcingConsecutive_5Xx() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutive_5Xx } return nil } func (x *OutlierDetection) GetEnforcingSuccessRate() *wrappers.UInt32Value { if x != nil { return x.EnforcingSuccessRate } return nil } func (x *OutlierDetection) GetSuccessRateMinimumHosts() *wrappers.UInt32Value { if x != nil { return x.SuccessRateMinimumHosts } return nil } func (x *OutlierDetection) GetSuccessRateRequestVolume() *wrappers.UInt32Value { if x != nil { return x.SuccessRateRequestVolume } return nil } func (x *OutlierDetection) GetSuccessRateStdevFactor() *wrappers.UInt32Value { if x != nil { return x.SuccessRateStdevFactor } return nil } func (x *OutlierDetection) GetConsecutiveGatewayFailure() *wrappers.UInt32Value { if x != nil { return x.ConsecutiveGatewayFailure } return nil } func (x *OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutiveGatewayFailure } return nil } func (x *OutlierDetection) GetSplitExternalLocalOriginErrors() bool { if x != nil { return x.SplitExternalLocalOriginErrors } return false } func (x *OutlierDetection) GetConsecutiveLocalOriginFailure() *wrappers.UInt32Value { if x != nil { return x.ConsecutiveLocalOriginFailure } return nil } func (x *OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure() *wrappers.UInt32Value { if x != nil { return x.EnforcingConsecutiveLocalOriginFailure } return nil } func (x *OutlierDetection) GetEnforcingLocalOriginSuccessRate() *wrappers.UInt32Value { if x != nil { return x.EnforcingLocalOriginSuccessRate } return nil } func (x *OutlierDetection) GetFailurePercentageThreshold() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageThreshold } return nil } func (x *OutlierDetection) GetEnforcingFailurePercentage() *wrappers.UInt32Value { if x != nil { return x.EnforcingFailurePercentage } return nil } func (x *OutlierDetection) GetEnforcingFailurePercentageLocalOrigin() *wrappers.UInt32Value { if x != nil { return x.EnforcingFailurePercentageLocalOrigin } return nil } func (x *OutlierDetection) GetFailurePercentageMinimumHosts() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageMinimumHosts } return nil } func (x *OutlierDetection) GetFailurePercentageRequestVolume() *wrappers.UInt32Value { if x != nil { return x.FailurePercentageRequestVolume } return nil } func (x *OutlierDetection) GetMaxEjectionTime() *duration.Duration { if x != nil { return x.MaxEjectionTime } return nil } func (x *OutlierDetection) GetMaxEjectionTimeJitter() *duration.Duration { if x != nil { return x.MaxEjectionTimeJitter } return nil } func (x *OutlierDetection) GetSuccessfulActiveHealthCheckUnejectHost() *wrappers.BoolValue { if x != nil { return x.SuccessfulActiveHealthCheckUnejectHost } return nil } var File_envoy_config_cluster_v3_outlier_detection_proto protoreflect.FileDescriptor var file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x12, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x35, 0x78, 0x78, 0x12, 0x3f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x51, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x19, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x35, 0x78, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x17, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x35, 0x78, 0x78, 0x12, 0x5b, 0x0a, 0x16, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x14, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x1a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x65, 0x76, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x64, 0x65, 0x76, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5c, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x78, 0x0a, 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x22, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x2a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x26, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x73, 0x0a, 0x23, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x67, 0x0a, 0x1c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x7f, 0x0a, 0x29, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x65, 0x0a, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x21, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x77, 0x0a, 0x2b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x6e, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x26, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x6e, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x92, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_cluster_v3_outlier_detection_proto_rawDescOnce sync.Once file_envoy_config_cluster_v3_outlier_detection_proto_rawDescData = file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc ) func file_envoy_config_cluster_v3_outlier_detection_proto_rawDescGZIP() []byte { file_envoy_config_cluster_v3_outlier_detection_proto_rawDescOnce.Do(func() { file_envoy_config_cluster_v3_outlier_detection_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_cluster_v3_outlier_detection_proto_rawDescData) }) return file_envoy_config_cluster_v3_outlier_detection_proto_rawDescData } var file_envoy_config_cluster_v3_outlier_detection_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_cluster_v3_outlier_detection_proto_goTypes = []interface{}{ (*OutlierDetection)(nil), // 0: envoy.config.cluster.v3.OutlierDetection (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*duration.Duration)(nil), // 2: google.protobuf.Duration (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue } var file_envoy_config_cluster_v3_outlier_detection_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.v3.OutlierDetection.consecutive_5xx:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.config.cluster.v3.OutlierDetection.interval:type_name -> google.protobuf.Duration 2, // 2: envoy.config.cluster.v3.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration 1, // 3: envoy.config.cluster.v3.OutlierDetection.max_ejection_percent:type_name -> google.protobuf.UInt32Value 1, // 4: envoy.config.cluster.v3.OutlierDetection.enforcing_consecutive_5xx:type_name -> google.protobuf.UInt32Value 1, // 5: envoy.config.cluster.v3.OutlierDetection.enforcing_success_rate:type_name -> google.protobuf.UInt32Value 1, // 6: envoy.config.cluster.v3.OutlierDetection.success_rate_minimum_hosts:type_name -> google.protobuf.UInt32Value 1, // 7: envoy.config.cluster.v3.OutlierDetection.success_rate_request_volume:type_name -> google.protobuf.UInt32Value 1, // 8: envoy.config.cluster.v3.OutlierDetection.success_rate_stdev_factor:type_name -> google.protobuf.UInt32Value 1, // 9: envoy.config.cluster.v3.OutlierDetection.consecutive_gateway_failure:type_name -> google.protobuf.UInt32Value 1, // 10: envoy.config.cluster.v3.OutlierDetection.enforcing_consecutive_gateway_failure:type_name -> google.protobuf.UInt32Value 1, // 11: envoy.config.cluster.v3.OutlierDetection.consecutive_local_origin_failure:type_name -> google.protobuf.UInt32Value 1, // 12: envoy.config.cluster.v3.OutlierDetection.enforcing_consecutive_local_origin_failure:type_name -> google.protobuf.UInt32Value 1, // 13: envoy.config.cluster.v3.OutlierDetection.enforcing_local_origin_success_rate:type_name -> google.protobuf.UInt32Value 1, // 14: envoy.config.cluster.v3.OutlierDetection.failure_percentage_threshold:type_name -> google.protobuf.UInt32Value 1, // 15: envoy.config.cluster.v3.OutlierDetection.enforcing_failure_percentage:type_name -> google.protobuf.UInt32Value 1, // 16: envoy.config.cluster.v3.OutlierDetection.enforcing_failure_percentage_local_origin:type_name -> google.protobuf.UInt32Value 1, // 17: envoy.config.cluster.v3.OutlierDetection.failure_percentage_minimum_hosts:type_name -> google.protobuf.UInt32Value 1, // 18: envoy.config.cluster.v3.OutlierDetection.failure_percentage_request_volume:type_name -> google.protobuf.UInt32Value 2, // 19: envoy.config.cluster.v3.OutlierDetection.max_ejection_time:type_name -> google.protobuf.Duration 2, // 20: envoy.config.cluster.v3.OutlierDetection.max_ejection_time_jitter:type_name -> google.protobuf.Duration 3, // 21: envoy.config.cluster.v3.OutlierDetection.successful_active_health_check_uneject_host:type_name -> google.protobuf.BoolValue 22, // [22:22] is the sub-list for method output_type 22, // [22:22] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name 22, // [22:22] is the sub-list for extension extendee 0, // [0:22] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_outlier_detection_proto_init() } func file_envoy_config_cluster_v3_outlier_detection_proto_init() { if File_envoy_config_cluster_v3_outlier_detection_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_cluster_v3_outlier_detection_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierDetection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_cluster_v3_outlier_detection_proto_goTypes, DependencyIndexes: file_envoy_config_cluster_v3_outlier_detection_proto_depIdxs, MessageInfos: file_envoy_config_cluster_v3_outlier_detection_proto_msgTypes, }.Build() File_envoy_config_cluster_v3_outlier_detection_proto = out.File file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc = nil file_envoy_config_cluster_v3_outlier_detection_proto_goTypes = nil file_envoy_config_cluster_v3_outlier_detection_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/cluster/v3/outlier_detection.pb.validate.go000077500000000000000000000417601454502223200276420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/cluster/v3/outlier_detection.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OutlierDetection with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OutlierDetection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierDetection with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierDetectionMultiError, or nil if none found. func (m *OutlierDetection) ValidateAll() error { return m.validate(true) } func (m *OutlierDetection) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConsecutive_5Xx()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutive_5Xx()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "Consecutive_5Xx", reason: "embedded message failed validation", cause: err, } } } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = OutlierDetectionValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := OutlierDetectionValidationError{ field: "Interval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetBaseEjectionTime(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = OutlierDetectionValidationError{ field: "BaseEjectionTime", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := OutlierDetectionValidationError{ field: "BaseEjectionTime", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetMaxEjectionPercent(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "MaxEjectionPercent", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingConsecutive_5Xx(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutive_5Xx", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingSuccessRate(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetSuccessRateMinimumHosts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateMinimumHosts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateMinimumHosts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRateRequestVolume()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateRequestVolume()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateRequestVolume", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessRateStdevFactor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessRateStdevFactor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessRateStdevFactor", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConsecutiveGatewayFailure()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutiveGatewayFailure()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "ConsecutiveGatewayFailure", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetEnforcingConsecutiveGatewayFailure(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutiveGatewayFailure", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } // no validation rules for SplitExternalLocalOriginErrors if all { switch v := interface{}(m.GetConsecutiveLocalOriginFailure()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsecutiveLocalOriginFailure()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "ConsecutiveLocalOriginFailure", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetEnforcingConsecutiveLocalOriginFailure(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingConsecutiveLocalOriginFailure", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingLocalOriginSuccessRate(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingLocalOriginSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetFailurePercentageThreshold(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "FailurePercentageThreshold", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingFailurePercentage(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingFailurePercentage", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetEnforcingFailurePercentageLocalOrigin(); wrapper != nil { if wrapper.GetValue() > 100 { err := OutlierDetectionValidationError{ field: "EnforcingFailurePercentageLocalOrigin", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetFailurePercentageMinimumHosts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailurePercentageMinimumHosts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "FailurePercentageMinimumHosts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFailurePercentageRequestVolume()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailurePercentageRequestVolume()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "FailurePercentageRequestVolume", reason: "embedded message failed validation", cause: err, } } } if d := m.GetMaxEjectionTime(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = OutlierDetectionValidationError{ field: "MaxEjectionTime", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := OutlierDetectionValidationError{ field: "MaxEjectionTime", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetMaxEjectionTimeJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "MaxEjectionTimeJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "MaxEjectionTimeJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxEjectionTimeJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "MaxEjectionTimeJitter", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSuccessfulActiveHealthCheckUnejectHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessfulActiveHealthCheckUnejectHost", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionValidationError{ field: "SuccessfulActiveHealthCheckUnejectHost", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessfulActiveHealthCheckUnejectHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionValidationError{ field: "SuccessfulActiveHealthCheckUnejectHost", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OutlierDetectionMultiError(errors) } return nil } // OutlierDetectionMultiError is an error wrapping multiple validation errors // returned by OutlierDetection.ValidateAll() if the designated constraints // aren't met. type OutlierDetectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierDetectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierDetectionMultiError) AllErrors() []error { return m } // OutlierDetectionValidationError is the validation error returned by // OutlierDetection.Validate if the designated constraints aren't met. type OutlierDetectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierDetectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierDetectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierDetectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierDetectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierDetectionValidationError) ErrorName() string { return "OutlierDetectionValidationError" } // Error satisfies the builtin error interface func (e OutlierDetectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierDetection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierDetectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierDetectionValidationError{} go-control-plane-0.12.0/envoy/config/common/000077500000000000000000000000001454502223200206465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/dynamic_forward_proxy/000077500000000000000000000000001454502223200252575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/dynamic_forward_proxy/v2alpha/000077500000000000000000000000001454502223200266145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/dynamic_forward_proxy/v2alpha/dns_cache.pb.go000077500000000000000000000400111454502223200314510ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/common/dynamic_forward_proxy/v2alpha/dns_cache.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the dynamic forward proxy DNS cache. See the :ref:`architecture overview // ` for more information. // [#next-free-field: 7] type DnsCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cache. Multiple named caches allow independent dynamic forward proxy // configurations to operate within a single Envoy process using different configurations. All // configurations with the same name *must* otherwise have the same settings when referenced // from different configuration components. Configuration will fail to load if this is not // the case. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The DNS lookup family to use during resolution. // // [#comment:TODO(mattklein123): Figure out how to support IPv4/IPv6 "happy eyeballs" mode. The // way this might work is a new lookup family which returns both IPv4 and IPv6 addresses, and // then configures a host to have a primary and fall back address. With this, we could very // likely build a "happy eyeballs" connection pool which would race the primary / fall back // address and return the one that wins. This same method could potentially also be used for // QUIC to TCP fall back.] DnsLookupFamily v2.Cluster_DnsLookupFamily `protobuf:"varint,2,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.api.v2.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"` // The DNS refresh rate for currently cached DNS hosts. If not specified defaults to 60s. // // .. note: // // The returned DNS TTL is not currently used to alter the refresh rate. This feature will be // added in a future change. // // .. note: // // The refresh rate is rounded to the closest millisecond, and must be at least 1ms. DnsRefreshRate *duration.Duration `protobuf:"bytes,3,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"` // The TTL for hosts that are unused. Hosts that have not been used in the configured time // interval will be purged. If not specified defaults to 5m. // // .. note: // // The TTL is only checked at the time of DNS refresh, as specified by *dns_refresh_rate*. This // means that if the configured TTL is shorter than the refresh rate the host may not be removed // immediately. // // .. note: // // The TTL has no relation to DNS TTL and is only used to control Envoy's resource usage. HostTtl *duration.Duration `protobuf:"bytes,4,opt,name=host_ttl,json=hostTtl,proto3" json:"host_ttl,omitempty"` // The maximum number of hosts that the cache will hold. If not specified defaults to 1024. // // .. note: // // The implementation is approximate and enforced independently on each worker thread, thus // it is possible for the maximum hosts in the cache to go slightly above the configured // value depending on timing. This is similar to how other circuit breakers work. MaxHosts *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=max_hosts,json=maxHosts,proto3" json:"max_hosts,omitempty"` // If the DNS failure refresh rate is specified, // this is used as the cache's DNS refresh rate when DNS requests are failing. If this setting is // not specified, the failure refresh rate defaults to the dns_refresh_rate. DnsFailureRefreshRate *v2.Cluster_RefreshRate `protobuf:"bytes,6,opt,name=dns_failure_refresh_rate,json=dnsFailureRefreshRate,proto3" json:"dns_failure_refresh_rate,omitempty"` } func (x *DnsCacheConfig) Reset() { *x = DnsCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsCacheConfig) ProtoMessage() {} func (x *DnsCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsCacheConfig.ProtoReflect.Descriptor instead. func (*DnsCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescGZIP(), []int{0} } func (x *DnsCacheConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *DnsCacheConfig) GetDnsLookupFamily() v2.Cluster_DnsLookupFamily { if x != nil { return x.DnsLookupFamily } return v2.Cluster_DnsLookupFamily(0) } func (x *DnsCacheConfig) GetDnsRefreshRate() *duration.Duration { if x != nil { return x.DnsRefreshRate } return nil } func (x *DnsCacheConfig) GetHostTtl() *duration.Duration { if x != nil { return x.HostTtl } return nil } func (x *DnsCacheConfig) GetMaxHosts() *wrappers.UInt32Value { if x != nil { return x.MaxHosts } return nil } func (x *DnsCacheConfig) GetDnsFailureRefreshRate() *v2.Cluster_RefreshRate { if x != nil { return x.DnsFailureRefreshRate } return nil } var File_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto protoreflect.FileDescriptor var file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x03, 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x54, 0x74, 0x6c, 0x12, 0x42, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x18, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x52, 0x15, 0x64, 0x6e, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x42, 0xec, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescOnce sync.Once file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescData = file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDesc ) func file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescGZIP() []byte { file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescOnce.Do(func() { file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescData) }) return file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDescData } var file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_goTypes = []interface{}{ (*DnsCacheConfig)(nil), // 0: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig (v2.Cluster_DnsLookupFamily)(0), // 1: envoy.api.v2.Cluster.DnsLookupFamily (*duration.Duration)(nil), // 2: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value (*v2.Cluster_RefreshRate)(nil), // 4: envoy.api.v2.Cluster.RefreshRate } var file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_depIdxs = []int32{ 1, // 0: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig.dns_lookup_family:type_name -> envoy.api.v2.Cluster.DnsLookupFamily 2, // 1: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig.dns_refresh_rate:type_name -> google.protobuf.Duration 2, // 2: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig.host_ttl:type_name -> google.protobuf.Duration 3, // 3: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig.max_hosts:type_name -> google.protobuf.UInt32Value 4, // 4: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig.dns_failure_refresh_rate:type_name -> envoy.api.v2.Cluster.RefreshRate 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_init() } func file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_init() { if File_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_goTypes, DependencyIndexes: file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_depIdxs, MessageInfos: file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_msgTypes, }.Build() File_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto = out.File file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_rawDesc = nil file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_goTypes = nil file_envoy_config_common_dynamic_forward_proxy_v2alpha_dns_cache_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/common/dynamic_forward_proxy/v2alpha/dns_cache.pb.validate.go000077500000000000000000000142261454502223200332520ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/common/dynamic_forward_proxy/v2alpha/dns_cache.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v2.Cluster_DnsLookupFamily(0) ) // Validate checks the field values on DnsCacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DnsCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsCacheConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DnsCacheConfigMultiError, // or nil if none found. func (m *DnsCacheConfig) ValidateAll() error { return m.validate(true) } func (m *DnsCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := DnsCacheConfigValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if _, ok := v2.Cluster_DnsLookupFamily_name[int32(m.GetDnsLookupFamily())]; !ok { err := DnsCacheConfigValidationError{ field: "DnsLookupFamily", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if d := m.GetDnsRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "DnsRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := DnsCacheConfigValidationError{ field: "DnsRefreshRate", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetHostTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "HostTtl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := DnsCacheConfigValidationError{ field: "HostTtl", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetMaxHosts(); wrapper != nil { if wrapper.GetValue() <= 0 { err := DnsCacheConfigValidationError{ field: "MaxHosts", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetDnsFailureRefreshRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsFailureRefreshRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DnsCacheConfigMultiError(errors) } return nil } // DnsCacheConfigMultiError is an error wrapping multiple validation errors // returned by DnsCacheConfig.ValidateAll() if the designated constraints // aren't met. type DnsCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsCacheConfigMultiError) AllErrors() []error { return m } // DnsCacheConfigValidationError is the validation error returned by // DnsCacheConfig.Validate if the designated constraints aren't met. type DnsCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsCacheConfigValidationError) ErrorName() string { return "DnsCacheConfigValidationError" } // Error satisfies the builtin error interface func (e DnsCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsCacheConfigValidationError{} go-control-plane-0.12.0/envoy/config/common/key_value/000077500000000000000000000000001454502223200226325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/key_value/v3/000077500000000000000000000000001454502223200231625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/key_value/v3/config.pb.go000077500000000000000000000177211454502223200253710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/common/key_value/v3/config.proto package key_valuev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This shared configuration for Envoy key value stores. type KeyValueStoreConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#extension-category: envoy.common.key_value] Config *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *KeyValueStoreConfig) Reset() { *x = KeyValueStoreConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_key_value_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyValueStoreConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyValueStoreConfig) ProtoMessage() {} func (x *KeyValueStoreConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_key_value_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyValueStoreConfig.ProtoReflect.Descriptor instead. func (*KeyValueStoreConfig) Descriptor() ([]byte, []int) { return file_envoy_config_common_key_value_v3_config_proto_rawDescGZIP(), []int{0} } func (x *KeyValueStoreConfig) GetConfig() *v3.TypedExtensionConfig { if x != nil { return x.Config } return nil } var File_envoy_config_common_key_value_v3_config_proto protoreflect.FileDescriptor var file_envoy_config_common_key_value_v3_config_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x13, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x42, 0x9c, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_common_key_value_v3_config_proto_rawDescOnce sync.Once file_envoy_config_common_key_value_v3_config_proto_rawDescData = file_envoy_config_common_key_value_v3_config_proto_rawDesc ) func file_envoy_config_common_key_value_v3_config_proto_rawDescGZIP() []byte { file_envoy_config_common_key_value_v3_config_proto_rawDescOnce.Do(func() { file_envoy_config_common_key_value_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_common_key_value_v3_config_proto_rawDescData) }) return file_envoy_config_common_key_value_v3_config_proto_rawDescData } var file_envoy_config_common_key_value_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_common_key_value_v3_config_proto_goTypes = []interface{}{ (*KeyValueStoreConfig)(nil), // 0: envoy.config.common.key_value.v3.KeyValueStoreConfig (*v3.TypedExtensionConfig)(nil), // 1: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_common_key_value_v3_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.common.key_value.v3.KeyValueStoreConfig.config:type_name -> envoy.config.core.v3.TypedExtensionConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_common_key_value_v3_config_proto_init() } func file_envoy_config_common_key_value_v3_config_proto_init() { if File_envoy_config_common_key_value_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_common_key_value_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyValueStoreConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_common_key_value_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_common_key_value_v3_config_proto_goTypes, DependencyIndexes: file_envoy_config_common_key_value_v3_config_proto_depIdxs, MessageInfos: file_envoy_config_common_key_value_v3_config_proto_msgTypes, }.Build() File_envoy_config_common_key_value_v3_config_proto = out.File file_envoy_config_common_key_value_v3_config_proto_rawDesc = nil file_envoy_config_common_key_value_v3_config_proto_goTypes = nil file_envoy_config_common_key_value_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/common/key_value/v3/config.pb.validate.go000077500000000000000000000105751454502223200271610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/common/key_value/v3/config.proto package key_valuev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KeyValueStoreConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *KeyValueStoreConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KeyValueStoreConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // KeyValueStoreConfigMultiError, or nil if none found. func (m *KeyValueStoreConfig) ValidateAll() error { return m.validate(true) } func (m *KeyValueStoreConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfig() == nil { err := KeyValueStoreConfigValidationError{ field: "Config", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KeyValueStoreConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KeyValueStoreConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KeyValueStoreConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return KeyValueStoreConfigMultiError(errors) } return nil } // KeyValueStoreConfigMultiError is an error wrapping multiple validation // errors returned by KeyValueStoreConfig.ValidateAll() if the designated // constraints aren't met. type KeyValueStoreConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KeyValueStoreConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KeyValueStoreConfigMultiError) AllErrors() []error { return m } // KeyValueStoreConfigValidationError is the validation error returned by // KeyValueStoreConfig.Validate if the designated constraints aren't met. type KeyValueStoreConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KeyValueStoreConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KeyValueStoreConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KeyValueStoreConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KeyValueStoreConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KeyValueStoreConfigValidationError) ErrorName() string { return "KeyValueStoreConfigValidationError" } // Error satisfies the builtin error interface func (e KeyValueStoreConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKeyValueStoreConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KeyValueStoreConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KeyValueStoreConfigValidationError{} go-control-plane-0.12.0/envoy/config/common/matcher/000077500000000000000000000000001454502223200222715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/matcher/v3/000077500000000000000000000000001454502223200226215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/matcher/v3/matcher.pb.go000077500000000000000000002337471454502223200252160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/common/matcher/v3/matcher.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A matcher, which may traverse a matching tree in order to result in a match action. // During matching, the tree will be traversed until a match is found, or if no match // is found the action specified by the most specific on_no_match will be evaluated. // As an on_no_match might result in another matching tree being evaluated, this process // might repeat several times until the final OnMatch (or no match) is decided. // // .. note:: // // Please use the syntactically equivalent :ref:`matching API ` type Matcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatcherType: // // *Matcher_MatcherList_ // *Matcher_MatcherTree_ MatcherType isMatcher_MatcherType `protobuf_oneof:"matcher_type"` // Optional OnMatch to use if the matcher failed. // If specified, the OnMatch is used, and the matcher is considered // to have matched. // If not specified, the matcher is considered not to have matched. OnNoMatch *Matcher_OnMatch `protobuf:"bytes,3,opt,name=on_no_match,json=onNoMatch,proto3" json:"on_no_match,omitempty"` } func (x *Matcher) Reset() { *x = Matcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher) ProtoMessage() {} func (x *Matcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher.ProtoReflect.Descriptor instead. func (*Matcher) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0} } func (m *Matcher) GetMatcherType() isMatcher_MatcherType { if m != nil { return m.MatcherType } return nil } func (x *Matcher) GetMatcherList() *Matcher_MatcherList { if x, ok := x.GetMatcherType().(*Matcher_MatcherList_); ok { return x.MatcherList } return nil } func (x *Matcher) GetMatcherTree() *Matcher_MatcherTree { if x, ok := x.GetMatcherType().(*Matcher_MatcherTree_); ok { return x.MatcherTree } return nil } func (x *Matcher) GetOnNoMatch() *Matcher_OnMatch { if x != nil { return x.OnNoMatch } return nil } type isMatcher_MatcherType interface { isMatcher_MatcherType() } type Matcher_MatcherList_ struct { // A linear list of matchers to evaluate. MatcherList *Matcher_MatcherList `protobuf:"bytes,1,opt,name=matcher_list,json=matcherList,proto3,oneof"` } type Matcher_MatcherTree_ struct { // A match tree to evaluate. MatcherTree *Matcher_MatcherTree `protobuf:"bytes,2,opt,name=matcher_tree,json=matcherTree,proto3,oneof"` } func (*Matcher_MatcherList_) isMatcher_MatcherType() {} func (*Matcher_MatcherTree_) isMatcher_MatcherType() {} // Match configuration. This is a recursive structure which allows complex nested match // configurations to be built using various logical operators. // [#next-free-field: 11] type MatchPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *MatchPredicate_OrMatch // *MatchPredicate_AndMatch // *MatchPredicate_NotMatch // *MatchPredicate_AnyMatch // *MatchPredicate_HttpRequestHeadersMatch // *MatchPredicate_HttpRequestTrailersMatch // *MatchPredicate_HttpResponseHeadersMatch // *MatchPredicate_HttpResponseTrailersMatch // *MatchPredicate_HttpRequestGenericBodyMatch // *MatchPredicate_HttpResponseGenericBodyMatch Rule isMatchPredicate_Rule `protobuf_oneof:"rule"` } func (x *MatchPredicate) Reset() { *x = MatchPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate) ProtoMessage() {} func (x *MatchPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate.ProtoReflect.Descriptor instead. func (*MatchPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{1} } func (m *MatchPredicate) GetRule() isMatchPredicate_Rule { if m != nil { return m.Rule } return nil } func (x *MatchPredicate) GetOrMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_OrMatch); ok { return x.OrMatch } return nil } func (x *MatchPredicate) GetAndMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_AndMatch); ok { return x.AndMatch } return nil } func (x *MatchPredicate) GetNotMatch() *MatchPredicate { if x, ok := x.GetRule().(*MatchPredicate_NotMatch); ok { return x.NotMatch } return nil } func (x *MatchPredicate) GetAnyMatch() bool { if x, ok := x.GetRule().(*MatchPredicate_AnyMatch); ok { return x.AnyMatch } return false } func (x *MatchPredicate) GetHttpRequestHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestHeadersMatch); ok { return x.HttpRequestHeadersMatch } return nil } func (x *MatchPredicate) GetHttpRequestTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestTrailersMatch); ok { return x.HttpRequestTrailersMatch } return nil } func (x *MatchPredicate) GetHttpResponseHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseHeadersMatch); ok { return x.HttpResponseHeadersMatch } return nil } func (x *MatchPredicate) GetHttpResponseTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseTrailersMatch); ok { return x.HttpResponseTrailersMatch } return nil } func (x *MatchPredicate) GetHttpRequestGenericBodyMatch() *HttpGenericBodyMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestGenericBodyMatch); ok { return x.HttpRequestGenericBodyMatch } return nil } func (x *MatchPredicate) GetHttpResponseGenericBodyMatch() *HttpGenericBodyMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseGenericBodyMatch); ok { return x.HttpResponseGenericBodyMatch } return nil } type isMatchPredicate_Rule interface { isMatchPredicate_Rule() } type MatchPredicate_OrMatch struct { // A set that describes a logical OR. If any member of the set matches, the match configuration // matches. OrMatch *MatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` } type MatchPredicate_AndMatch struct { // A set that describes a logical AND. If all members of the set match, the match configuration // matches. AndMatch *MatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` } type MatchPredicate_NotMatch struct { // A negation match. The match configuration will match if the negated match condition matches. NotMatch *MatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` } type MatchPredicate_AnyMatch struct { // The match configuration will always match. AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` } type MatchPredicate_HttpRequestHeadersMatch struct { // HTTP request headers match configuration. HttpRequestHeadersMatch *HttpHeadersMatch `protobuf:"bytes,5,opt,name=http_request_headers_match,json=httpRequestHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpRequestTrailersMatch struct { // HTTP request trailers match configuration. HttpRequestTrailersMatch *HttpHeadersMatch `protobuf:"bytes,6,opt,name=http_request_trailers_match,json=httpRequestTrailersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseHeadersMatch struct { // HTTP response headers match configuration. HttpResponseHeadersMatch *HttpHeadersMatch `protobuf:"bytes,7,opt,name=http_response_headers_match,json=httpResponseHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseTrailersMatch struct { // HTTP response trailers match configuration. HttpResponseTrailersMatch *HttpHeadersMatch `protobuf:"bytes,8,opt,name=http_response_trailers_match,json=httpResponseTrailersMatch,proto3,oneof"` } type MatchPredicate_HttpRequestGenericBodyMatch struct { // HTTP request generic body match configuration. HttpRequestGenericBodyMatch *HttpGenericBodyMatch `protobuf:"bytes,9,opt,name=http_request_generic_body_match,json=httpRequestGenericBodyMatch,proto3,oneof"` } type MatchPredicate_HttpResponseGenericBodyMatch struct { // HTTP response generic body match configuration. HttpResponseGenericBodyMatch *HttpGenericBodyMatch `protobuf:"bytes,10,opt,name=http_response_generic_body_match,json=httpResponseGenericBodyMatch,proto3,oneof"` } func (*MatchPredicate_OrMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AndMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_NotMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AnyMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestTrailersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseTrailersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestGenericBodyMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseGenericBodyMatch) isMatchPredicate_Rule() {} // HTTP headers match configuration. type HttpHeadersMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP headers to match. Headers []*v3.HeaderMatcher `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HttpHeadersMatch) Reset() { *x = HttpHeadersMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpHeadersMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpHeadersMatch) ProtoMessage() {} func (x *HttpHeadersMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpHeadersMatch.ProtoReflect.Descriptor instead. func (*HttpHeadersMatch) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{2} } func (x *HttpHeadersMatch) GetHeaders() []*v3.HeaderMatcher { if x != nil { return x.Headers } return nil } // HTTP generic body match configuration. // List of text strings and hex strings to be located in HTTP body. // All specified strings must be found in the HTTP body for positive match. // The search may be limited to specified number of bytes from the body start. // // .. attention:: // // Searching for patterns in HTTP body is potentially cpu intensive. For each specified pattern, http body is scanned byte by byte to find a match. // If multiple patterns are specified, the process is repeated for each pattern. If location of a pattern is known, ``bytes_limit`` should be specified // to scan only part of the http body. type HttpGenericBodyMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Limits search to specified number of bytes - default zero (no limit - match entire captured buffer). BytesLimit uint32 `protobuf:"varint,1,opt,name=bytes_limit,json=bytesLimit,proto3" json:"bytes_limit,omitempty"` // List of patterns to match. Patterns []*HttpGenericBodyMatch_GenericTextMatch `protobuf:"bytes,2,rep,name=patterns,proto3" json:"patterns,omitempty"` } func (x *HttpGenericBodyMatch) Reset() { *x = HttpGenericBodyMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGenericBodyMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGenericBodyMatch) ProtoMessage() {} func (x *HttpGenericBodyMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGenericBodyMatch.ProtoReflect.Descriptor instead. func (*HttpGenericBodyMatch) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{3} } func (x *HttpGenericBodyMatch) GetBytesLimit() uint32 { if x != nil { return x.BytesLimit } return 0 } func (x *HttpGenericBodyMatch) GetPatterns() []*HttpGenericBodyMatch_GenericTextMatch { if x != nil { return x.Patterns } return nil } // What to do if a match is successful. type Matcher_OnMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to OnMatch: // // *Matcher_OnMatch_Matcher // *Matcher_OnMatch_Action OnMatch isMatcher_OnMatch_OnMatch `protobuf_oneof:"on_match"` } func (x *Matcher_OnMatch) Reset() { *x = Matcher_OnMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_OnMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_OnMatch) ProtoMessage() {} func (x *Matcher_OnMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_OnMatch.ProtoReflect.Descriptor instead. func (*Matcher_OnMatch) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 0} } func (m *Matcher_OnMatch) GetOnMatch() isMatcher_OnMatch_OnMatch { if m != nil { return m.OnMatch } return nil } func (x *Matcher_OnMatch) GetMatcher() *Matcher { if x, ok := x.GetOnMatch().(*Matcher_OnMatch_Matcher); ok { return x.Matcher } return nil } func (x *Matcher_OnMatch) GetAction() *v31.TypedExtensionConfig { if x, ok := x.GetOnMatch().(*Matcher_OnMatch_Action); ok { return x.Action } return nil } type isMatcher_OnMatch_OnMatch interface { isMatcher_OnMatch_OnMatch() } type Matcher_OnMatch_Matcher struct { // Nested matcher to evaluate. // If the nested matcher does not match and does not specify // on_no_match, then this matcher is considered not to have // matched, even if a predicate at this level or above returned // true. Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3,oneof"` } type Matcher_OnMatch_Action struct { // Protocol-specific action to take. Action *v31.TypedExtensionConfig `protobuf:"bytes,2,opt,name=action,proto3,oneof"` } func (*Matcher_OnMatch_Matcher) isMatcher_OnMatch_OnMatch() {} func (*Matcher_OnMatch_Action) isMatcher_OnMatch_OnMatch() {} // A linear list of field matchers. // The field matchers are evaluated in order, and the first match // wins. type Matcher_MatcherList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A list of matchers. First match wins. Matchers []*Matcher_MatcherList_FieldMatcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"` } func (x *Matcher_MatcherList) Reset() { *x = Matcher_MatcherList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherList) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherList) ProtoMessage() {} func (x *Matcher_MatcherList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherList.ProtoReflect.Descriptor instead. func (*Matcher_MatcherList) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 1} } func (x *Matcher_MatcherList) GetMatchers() []*Matcher_MatcherList_FieldMatcher { if x != nil { return x.Matchers } return nil } type Matcher_MatcherTree struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Protocol-specific specification of input field to match on. Input *v31.TypedExtensionConfig `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` // Exact or prefix match maps in which to look up the input value. // If the lookup succeeds, the match is considered successful, and // the corresponding OnMatch is used. // // Types that are assignable to TreeType: // // *Matcher_MatcherTree_ExactMatchMap // *Matcher_MatcherTree_PrefixMatchMap // *Matcher_MatcherTree_CustomMatch TreeType isMatcher_MatcherTree_TreeType `protobuf_oneof:"tree_type"` } func (x *Matcher_MatcherTree) Reset() { *x = Matcher_MatcherTree{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherTree) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherTree) ProtoMessage() {} func (x *Matcher_MatcherTree) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherTree.ProtoReflect.Descriptor instead. func (*Matcher_MatcherTree) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 2} } func (x *Matcher_MatcherTree) GetInput() *v31.TypedExtensionConfig { if x != nil { return x.Input } return nil } func (m *Matcher_MatcherTree) GetTreeType() isMatcher_MatcherTree_TreeType { if m != nil { return m.TreeType } return nil } func (x *Matcher_MatcherTree) GetExactMatchMap() *Matcher_MatcherTree_MatchMap { if x, ok := x.GetTreeType().(*Matcher_MatcherTree_ExactMatchMap); ok { return x.ExactMatchMap } return nil } func (x *Matcher_MatcherTree) GetPrefixMatchMap() *Matcher_MatcherTree_MatchMap { if x, ok := x.GetTreeType().(*Matcher_MatcherTree_PrefixMatchMap); ok { return x.PrefixMatchMap } return nil } func (x *Matcher_MatcherTree) GetCustomMatch() *v31.TypedExtensionConfig { if x, ok := x.GetTreeType().(*Matcher_MatcherTree_CustomMatch); ok { return x.CustomMatch } return nil } type isMatcher_MatcherTree_TreeType interface { isMatcher_MatcherTree_TreeType() } type Matcher_MatcherTree_ExactMatchMap struct { ExactMatchMap *Matcher_MatcherTree_MatchMap `protobuf:"bytes,2,opt,name=exact_match_map,json=exactMatchMap,proto3,oneof"` } type Matcher_MatcherTree_PrefixMatchMap struct { // Longest matching prefix wins. PrefixMatchMap *Matcher_MatcherTree_MatchMap `protobuf:"bytes,3,opt,name=prefix_match_map,json=prefixMatchMap,proto3,oneof"` } type Matcher_MatcherTree_CustomMatch struct { // Extension for custom matching logic. CustomMatch *v31.TypedExtensionConfig `protobuf:"bytes,4,opt,name=custom_match,json=customMatch,proto3,oneof"` } func (*Matcher_MatcherTree_ExactMatchMap) isMatcher_MatcherTree_TreeType() {} func (*Matcher_MatcherTree_PrefixMatchMap) isMatcher_MatcherTree_TreeType() {} func (*Matcher_MatcherTree_CustomMatch) isMatcher_MatcherTree_TreeType() {} // Predicate to determine if a match is successful. type Matcher_MatcherList_Predicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchType: // // *Matcher_MatcherList_Predicate_SinglePredicate_ // *Matcher_MatcherList_Predicate_OrMatcher // *Matcher_MatcherList_Predicate_AndMatcher // *Matcher_MatcherList_Predicate_NotMatcher MatchType isMatcher_MatcherList_Predicate_MatchType `protobuf_oneof:"match_type"` } func (x *Matcher_MatcherList_Predicate) Reset() { *x = Matcher_MatcherList_Predicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherList_Predicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherList_Predicate) ProtoMessage() {} func (x *Matcher_MatcherList_Predicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherList_Predicate.ProtoReflect.Descriptor instead. func (*Matcher_MatcherList_Predicate) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 1, 0} } func (m *Matcher_MatcherList_Predicate) GetMatchType() isMatcher_MatcherList_Predicate_MatchType { if m != nil { return m.MatchType } return nil } func (x *Matcher_MatcherList_Predicate) GetSinglePredicate() *Matcher_MatcherList_Predicate_SinglePredicate { if x, ok := x.GetMatchType().(*Matcher_MatcherList_Predicate_SinglePredicate_); ok { return x.SinglePredicate } return nil } func (x *Matcher_MatcherList_Predicate) GetOrMatcher() *Matcher_MatcherList_Predicate_PredicateList { if x, ok := x.GetMatchType().(*Matcher_MatcherList_Predicate_OrMatcher); ok { return x.OrMatcher } return nil } func (x *Matcher_MatcherList_Predicate) GetAndMatcher() *Matcher_MatcherList_Predicate_PredicateList { if x, ok := x.GetMatchType().(*Matcher_MatcherList_Predicate_AndMatcher); ok { return x.AndMatcher } return nil } func (x *Matcher_MatcherList_Predicate) GetNotMatcher() *Matcher_MatcherList_Predicate { if x, ok := x.GetMatchType().(*Matcher_MatcherList_Predicate_NotMatcher); ok { return x.NotMatcher } return nil } type isMatcher_MatcherList_Predicate_MatchType interface { isMatcher_MatcherList_Predicate_MatchType() } type Matcher_MatcherList_Predicate_SinglePredicate_ struct { // A single predicate to evaluate. SinglePredicate *Matcher_MatcherList_Predicate_SinglePredicate `protobuf:"bytes,1,opt,name=single_predicate,json=singlePredicate,proto3,oneof"` } type Matcher_MatcherList_Predicate_OrMatcher struct { // A list of predicates to be OR-ed together. OrMatcher *Matcher_MatcherList_Predicate_PredicateList `protobuf:"bytes,2,opt,name=or_matcher,json=orMatcher,proto3,oneof"` } type Matcher_MatcherList_Predicate_AndMatcher struct { // A list of predicates to be AND-ed together. AndMatcher *Matcher_MatcherList_Predicate_PredicateList `protobuf:"bytes,3,opt,name=and_matcher,json=andMatcher,proto3,oneof"` } type Matcher_MatcherList_Predicate_NotMatcher struct { // The invert of a predicate NotMatcher *Matcher_MatcherList_Predicate `protobuf:"bytes,4,opt,name=not_matcher,json=notMatcher,proto3,oneof"` } func (*Matcher_MatcherList_Predicate_SinglePredicate_) isMatcher_MatcherList_Predicate_MatchType() {} func (*Matcher_MatcherList_Predicate_OrMatcher) isMatcher_MatcherList_Predicate_MatchType() {} func (*Matcher_MatcherList_Predicate_AndMatcher) isMatcher_MatcherList_Predicate_MatchType() {} func (*Matcher_MatcherList_Predicate_NotMatcher) isMatcher_MatcherList_Predicate_MatchType() {} // An individual matcher. type Matcher_MatcherList_FieldMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Determines if the match succeeds. Predicate *Matcher_MatcherList_Predicate `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` // What to do if the match succeeds. OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"` } func (x *Matcher_MatcherList_FieldMatcher) Reset() { *x = Matcher_MatcherList_FieldMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherList_FieldMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherList_FieldMatcher) ProtoMessage() {} func (x *Matcher_MatcherList_FieldMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherList_FieldMatcher.ProtoReflect.Descriptor instead. func (*Matcher_MatcherList_FieldMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 1, 1} } func (x *Matcher_MatcherList_FieldMatcher) GetPredicate() *Matcher_MatcherList_Predicate { if x != nil { return x.Predicate } return nil } func (x *Matcher_MatcherList_FieldMatcher) GetOnMatch() *Matcher_OnMatch { if x != nil { return x.OnMatch } return nil } // Predicate for a single input field. type Matcher_MatcherList_Predicate_SinglePredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Protocol-specific specification of input field to match on. // [#extension-category: envoy.matching.common_inputs] Input *v31.TypedExtensionConfig `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` // Types that are assignable to Matcher: // // *Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch // *Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch Matcher isMatcher_MatcherList_Predicate_SinglePredicate_Matcher `protobuf_oneof:"matcher"` } func (x *Matcher_MatcherList_Predicate_SinglePredicate) Reset() { *x = Matcher_MatcherList_Predicate_SinglePredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherList_Predicate_SinglePredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherList_Predicate_SinglePredicate) ProtoMessage() {} func (x *Matcher_MatcherList_Predicate_SinglePredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherList_Predicate_SinglePredicate.ProtoReflect.Descriptor instead. func (*Matcher_MatcherList_Predicate_SinglePredicate) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 1, 0, 0} } func (x *Matcher_MatcherList_Predicate_SinglePredicate) GetInput() *v31.TypedExtensionConfig { if x != nil { return x.Input } return nil } func (m *Matcher_MatcherList_Predicate_SinglePredicate) GetMatcher() isMatcher_MatcherList_Predicate_SinglePredicate_Matcher { if m != nil { return m.Matcher } return nil } func (x *Matcher_MatcherList_Predicate_SinglePredicate) GetValueMatch() *v32.StringMatcher { if x, ok := x.GetMatcher().(*Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch); ok { return x.ValueMatch } return nil } func (x *Matcher_MatcherList_Predicate_SinglePredicate) GetCustomMatch() *v31.TypedExtensionConfig { if x, ok := x.GetMatcher().(*Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch); ok { return x.CustomMatch } return nil } type isMatcher_MatcherList_Predicate_SinglePredicate_Matcher interface { isMatcher_MatcherList_Predicate_SinglePredicate_Matcher() } type Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch struct { // Built-in string matcher. ValueMatch *v32.StringMatcher `protobuf:"bytes,2,opt,name=value_match,json=valueMatch,proto3,oneof"` } type Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch struct { // Extension for custom matching logic. // [#extension-category: envoy.matching.input_matchers] CustomMatch *v31.TypedExtensionConfig `protobuf:"bytes,3,opt,name=custom_match,json=customMatch,proto3,oneof"` } func (*Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch) isMatcher_MatcherList_Predicate_SinglePredicate_Matcher() { } func (*Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch) isMatcher_MatcherList_Predicate_SinglePredicate_Matcher() { } // A list of two or more matchers. Used to allow using a list within a oneof. type Matcher_MatcherList_Predicate_PredicateList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Predicate []*Matcher_MatcherList_Predicate `protobuf:"bytes,1,rep,name=predicate,proto3" json:"predicate,omitempty"` } func (x *Matcher_MatcherList_Predicate_PredicateList) Reset() { *x = Matcher_MatcherList_Predicate_PredicateList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherList_Predicate_PredicateList) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherList_Predicate_PredicateList) ProtoMessage() {} func (x *Matcher_MatcherList_Predicate_PredicateList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherList_Predicate_PredicateList.ProtoReflect.Descriptor instead. func (*Matcher_MatcherList_Predicate_PredicateList) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 1, 0, 1} } func (x *Matcher_MatcherList_Predicate_PredicateList) GetPredicate() []*Matcher_MatcherList_Predicate { if x != nil { return x.Predicate } return nil } // A map of configured matchers. Used to allow using a map within a oneof. type Matcher_MatcherTree_MatchMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Map map[string]*Matcher_OnMatch `protobuf:"bytes,1,rep,name=map,proto3" json:"map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Matcher_MatcherTree_MatchMap) Reset() { *x = Matcher_MatcherTree_MatchMap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Matcher_MatcherTree_MatchMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Matcher_MatcherTree_MatchMap) ProtoMessage() {} func (x *Matcher_MatcherTree_MatchMap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Matcher_MatcherTree_MatchMap.ProtoReflect.Descriptor instead. func (*Matcher_MatcherTree_MatchMap) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{0, 2, 0} } func (x *Matcher_MatcherTree_MatchMap) GetMap() map[string]*Matcher_OnMatch { if x != nil { return x.Map } return nil } // A set of match configurations used for logical operations. type MatchPredicate_MatchSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules that make up the set. Rules []*MatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *MatchPredicate_MatchSet) Reset() { *x = MatchPredicate_MatchSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate_MatchSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate_MatchSet) ProtoMessage() {} func (x *MatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate_MatchSet.ProtoReflect.Descriptor instead. func (*MatchPredicate_MatchSet) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{1, 0} } func (x *MatchPredicate_MatchSet) GetRules() []*MatchPredicate { if x != nil { return x.Rules } return nil } type HttpGenericBodyMatch_GenericTextMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *HttpGenericBodyMatch_GenericTextMatch_StringMatch // *HttpGenericBodyMatch_GenericTextMatch_BinaryMatch Rule isHttpGenericBodyMatch_GenericTextMatch_Rule `protobuf_oneof:"rule"` } func (x *HttpGenericBodyMatch_GenericTextMatch) Reset() { *x = HttpGenericBodyMatch_GenericTextMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGenericBodyMatch_GenericTextMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGenericBodyMatch_GenericTextMatch) ProtoMessage() {} func (x *HttpGenericBodyMatch_GenericTextMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGenericBodyMatch_GenericTextMatch.ProtoReflect.Descriptor instead. func (*HttpGenericBodyMatch_GenericTextMatch) Descriptor() ([]byte, []int) { return file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP(), []int{3, 0} } func (m *HttpGenericBodyMatch_GenericTextMatch) GetRule() isHttpGenericBodyMatch_GenericTextMatch_Rule { if m != nil { return m.Rule } return nil } func (x *HttpGenericBodyMatch_GenericTextMatch) GetStringMatch() string { if x, ok := x.GetRule().(*HttpGenericBodyMatch_GenericTextMatch_StringMatch); ok { return x.StringMatch } return "" } func (x *HttpGenericBodyMatch_GenericTextMatch) GetBinaryMatch() []byte { if x, ok := x.GetRule().(*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch); ok { return x.BinaryMatch } return nil } type isHttpGenericBodyMatch_GenericTextMatch_Rule interface { isHttpGenericBodyMatch_GenericTextMatch_Rule() } type HttpGenericBodyMatch_GenericTextMatch_StringMatch struct { // Text string to be located in HTTP body. StringMatch string `protobuf:"bytes,1,opt,name=string_match,json=stringMatch,proto3,oneof"` } type HttpGenericBodyMatch_GenericTextMatch_BinaryMatch struct { // Sequence of bytes to be located in HTTP body. BinaryMatch []byte `protobuf:"bytes,2,opt,name=binary_match,json=binaryMatch,proto3,oneof"` } func (*HttpGenericBodyMatch_GenericTextMatch_StringMatch) isHttpGenericBodyMatch_GenericTextMatch_Rule() { } func (*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch) isHttpGenericBodyMatch_GenericTextMatch_Rule() { } var File_envoy_config_common_matcher_v3_matcher_proto protoreflect.FileDescriptor var file_envoy_config_common_matcher_v3_matcher_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x11, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x09, 0x6f, 0x6e, 0x4e, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xa5, 0x01, 0x0a, 0x07, 0x4f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xa2, 0x09, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x1a, 0xdc, 0x06, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x6c, 0x0a, 0x0a, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x6e, 0x0a, 0x0b, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x87, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x76, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x11, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xcb, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xe7, 0x04, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x66, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x68, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xd6, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x61, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x9a, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x1a, 0x67, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x13, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xe8, 0x08, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6f, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x71, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x71, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x73, 0x0a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x19, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x7c, 0x0a, 0x1f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x7e, 0x0a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x5a, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x52, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xa1, 0x02, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x6b, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x1a, 0x7b, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x97, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_common_matcher_v3_matcher_proto_rawDescOnce sync.Once file_envoy_config_common_matcher_v3_matcher_proto_rawDescData = file_envoy_config_common_matcher_v3_matcher_proto_rawDesc ) func file_envoy_config_common_matcher_v3_matcher_proto_rawDescGZIP() []byte { file_envoy_config_common_matcher_v3_matcher_proto_rawDescOnce.Do(func() { file_envoy_config_common_matcher_v3_matcher_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_common_matcher_v3_matcher_proto_rawDescData) }) return file_envoy_config_common_matcher_v3_matcher_proto_rawDescData } var file_envoy_config_common_matcher_v3_matcher_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_envoy_config_common_matcher_v3_matcher_proto_goTypes = []interface{}{ (*Matcher)(nil), // 0: envoy.config.common.matcher.v3.Matcher (*MatchPredicate)(nil), // 1: envoy.config.common.matcher.v3.MatchPredicate (*HttpHeadersMatch)(nil), // 2: envoy.config.common.matcher.v3.HttpHeadersMatch (*HttpGenericBodyMatch)(nil), // 3: envoy.config.common.matcher.v3.HttpGenericBodyMatch (*Matcher_OnMatch)(nil), // 4: envoy.config.common.matcher.v3.Matcher.OnMatch (*Matcher_MatcherList)(nil), // 5: envoy.config.common.matcher.v3.Matcher.MatcherList (*Matcher_MatcherTree)(nil), // 6: envoy.config.common.matcher.v3.Matcher.MatcherTree (*Matcher_MatcherList_Predicate)(nil), // 7: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate (*Matcher_MatcherList_FieldMatcher)(nil), // 8: envoy.config.common.matcher.v3.Matcher.MatcherList.FieldMatcher (*Matcher_MatcherList_Predicate_SinglePredicate)(nil), // 9: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate (*Matcher_MatcherList_Predicate_PredicateList)(nil), // 10: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.PredicateList (*Matcher_MatcherTree_MatchMap)(nil), // 11: envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap nil, // 12: envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap.MapEntry (*MatchPredicate_MatchSet)(nil), // 13: envoy.config.common.matcher.v3.MatchPredicate.MatchSet (*HttpGenericBodyMatch_GenericTextMatch)(nil), // 14: envoy.config.common.matcher.v3.HttpGenericBodyMatch.GenericTextMatch (*v3.HeaderMatcher)(nil), // 15: envoy.config.route.v3.HeaderMatcher (*v31.TypedExtensionConfig)(nil), // 16: envoy.config.core.v3.TypedExtensionConfig (*v32.StringMatcher)(nil), // 17: envoy.type.matcher.v3.StringMatcher } var file_envoy_config_common_matcher_v3_matcher_proto_depIdxs = []int32{ 5, // 0: envoy.config.common.matcher.v3.Matcher.matcher_list:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList 6, // 1: envoy.config.common.matcher.v3.Matcher.matcher_tree:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherTree 4, // 2: envoy.config.common.matcher.v3.Matcher.on_no_match:type_name -> envoy.config.common.matcher.v3.Matcher.OnMatch 13, // 3: envoy.config.common.matcher.v3.MatchPredicate.or_match:type_name -> envoy.config.common.matcher.v3.MatchPredicate.MatchSet 13, // 4: envoy.config.common.matcher.v3.MatchPredicate.and_match:type_name -> envoy.config.common.matcher.v3.MatchPredicate.MatchSet 1, // 5: envoy.config.common.matcher.v3.MatchPredicate.not_match:type_name -> envoy.config.common.matcher.v3.MatchPredicate 2, // 6: envoy.config.common.matcher.v3.MatchPredicate.http_request_headers_match:type_name -> envoy.config.common.matcher.v3.HttpHeadersMatch 2, // 7: envoy.config.common.matcher.v3.MatchPredicate.http_request_trailers_match:type_name -> envoy.config.common.matcher.v3.HttpHeadersMatch 2, // 8: envoy.config.common.matcher.v3.MatchPredicate.http_response_headers_match:type_name -> envoy.config.common.matcher.v3.HttpHeadersMatch 2, // 9: envoy.config.common.matcher.v3.MatchPredicate.http_response_trailers_match:type_name -> envoy.config.common.matcher.v3.HttpHeadersMatch 3, // 10: envoy.config.common.matcher.v3.MatchPredicate.http_request_generic_body_match:type_name -> envoy.config.common.matcher.v3.HttpGenericBodyMatch 3, // 11: envoy.config.common.matcher.v3.MatchPredicate.http_response_generic_body_match:type_name -> envoy.config.common.matcher.v3.HttpGenericBodyMatch 15, // 12: envoy.config.common.matcher.v3.HttpHeadersMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 14, // 13: envoy.config.common.matcher.v3.HttpGenericBodyMatch.patterns:type_name -> envoy.config.common.matcher.v3.HttpGenericBodyMatch.GenericTextMatch 0, // 14: envoy.config.common.matcher.v3.Matcher.OnMatch.matcher:type_name -> envoy.config.common.matcher.v3.Matcher 16, // 15: envoy.config.common.matcher.v3.Matcher.OnMatch.action:type_name -> envoy.config.core.v3.TypedExtensionConfig 8, // 16: envoy.config.common.matcher.v3.Matcher.MatcherList.matchers:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.FieldMatcher 16, // 17: envoy.config.common.matcher.v3.Matcher.MatcherTree.input:type_name -> envoy.config.core.v3.TypedExtensionConfig 11, // 18: envoy.config.common.matcher.v3.Matcher.MatcherTree.exact_match_map:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap 11, // 19: envoy.config.common.matcher.v3.Matcher.MatcherTree.prefix_match_map:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap 16, // 20: envoy.config.common.matcher.v3.Matcher.MatcherTree.custom_match:type_name -> envoy.config.core.v3.TypedExtensionConfig 9, // 21: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.single_predicate:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate 10, // 22: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.or_matcher:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.PredicateList 10, // 23: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.and_matcher:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.PredicateList 7, // 24: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.not_matcher:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate 7, // 25: envoy.config.common.matcher.v3.Matcher.MatcherList.FieldMatcher.predicate:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate 4, // 26: envoy.config.common.matcher.v3.Matcher.MatcherList.FieldMatcher.on_match:type_name -> envoy.config.common.matcher.v3.Matcher.OnMatch 16, // 27: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate.input:type_name -> envoy.config.core.v3.TypedExtensionConfig 17, // 28: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate.value_match:type_name -> envoy.type.matcher.v3.StringMatcher 16, // 29: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate.custom_match:type_name -> envoy.config.core.v3.TypedExtensionConfig 7, // 30: envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate.PredicateList.predicate:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherList.Predicate 12, // 31: envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap.map:type_name -> envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap.MapEntry 4, // 32: envoy.config.common.matcher.v3.Matcher.MatcherTree.MatchMap.MapEntry.value:type_name -> envoy.config.common.matcher.v3.Matcher.OnMatch 1, // 33: envoy.config.common.matcher.v3.MatchPredicate.MatchSet.rules:type_name -> envoy.config.common.matcher.v3.MatchPredicate 34, // [34:34] is the sub-list for method output_type 34, // [34:34] is the sub-list for method input_type 34, // [34:34] is the sub-list for extension type_name 34, // [34:34] is the sub-list for extension extendee 0, // [0:34] is the sub-list for field type_name } func init() { file_envoy_config_common_matcher_v3_matcher_proto_init() } func file_envoy_config_common_matcher_v3_matcher_proto_init() { if File_envoy_config_common_matcher_v3_matcher_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeadersMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGenericBodyMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_OnMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherTree); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherList_Predicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherList_FieldMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherList_Predicate_SinglePredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherList_Predicate_PredicateList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Matcher_MatcherTree_MatchMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate_MatchSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGenericBodyMatch_GenericTextMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Matcher_MatcherList_)(nil), (*Matcher_MatcherTree_)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MatchPredicate_OrMatch)(nil), (*MatchPredicate_AndMatch)(nil), (*MatchPredicate_NotMatch)(nil), (*MatchPredicate_AnyMatch)(nil), (*MatchPredicate_HttpRequestHeadersMatch)(nil), (*MatchPredicate_HttpRequestTrailersMatch)(nil), (*MatchPredicate_HttpResponseHeadersMatch)(nil), (*MatchPredicate_HttpResponseTrailersMatch)(nil), (*MatchPredicate_HttpRequestGenericBodyMatch)(nil), (*MatchPredicate_HttpResponseGenericBodyMatch)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[4].OneofWrappers = []interface{}{ (*Matcher_OnMatch_Matcher)(nil), (*Matcher_OnMatch_Action)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[6].OneofWrappers = []interface{}{ (*Matcher_MatcherTree_ExactMatchMap)(nil), (*Matcher_MatcherTree_PrefixMatchMap)(nil), (*Matcher_MatcherTree_CustomMatch)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[7].OneofWrappers = []interface{}{ (*Matcher_MatcherList_Predicate_SinglePredicate_)(nil), (*Matcher_MatcherList_Predicate_OrMatcher)(nil), (*Matcher_MatcherList_Predicate_AndMatcher)(nil), (*Matcher_MatcherList_Predicate_NotMatcher)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[9].OneofWrappers = []interface{}{ (*Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch)(nil), (*Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch)(nil), } file_envoy_config_common_matcher_v3_matcher_proto_msgTypes[14].OneofWrappers = []interface{}{ (*HttpGenericBodyMatch_GenericTextMatch_StringMatch)(nil), (*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_common_matcher_v3_matcher_proto_rawDesc, NumEnums: 0, NumMessages: 15, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_common_matcher_v3_matcher_proto_goTypes, DependencyIndexes: file_envoy_config_common_matcher_v3_matcher_proto_depIdxs, MessageInfos: file_envoy_config_common_matcher_v3_matcher_proto_msgTypes, }.Build() File_envoy_config_common_matcher_v3_matcher_proto = out.File file_envoy_config_common_matcher_v3_matcher_proto_rawDesc = nil file_envoy_config_common_matcher_v3_matcher_proto_goTypes = nil file_envoy_config_common_matcher_v3_matcher_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/common/matcher/v3/matcher.pb.validate.go000077500000000000000000002462401454502223200267760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/common/matcher/v3/matcher.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Matcher with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Matcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in MatcherMultiError, or nil if none found. func (m *Matcher) ValidateAll() error { return m.validate(true) } func (m *Matcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetOnNoMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatcherValidationError{ field: "OnNoMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatcherValidationError{ field: "OnNoMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnNoMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatcherValidationError{ field: "OnNoMatch", reason: "embedded message failed validation", cause: err, } } } oneofMatcherTypePresent := false switch v := m.MatcherType.(type) { case *Matcher_MatcherList_: if v == nil { err := MatcherValidationError{ field: "MatcherType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatcherTypePresent = true if all { switch v := interface{}(m.GetMatcherList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatcherValidationError{ field: "MatcherList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatcherValidationError{ field: "MatcherList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcherList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatcherValidationError{ field: "MatcherList", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherTree_: if v == nil { err := MatcherValidationError{ field: "MatcherType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatcherTypePresent = true if all { switch v := interface{}(m.GetMatcherTree()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatcherValidationError{ field: "MatcherTree", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatcherValidationError{ field: "MatcherTree", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcherTree()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatcherValidationError{ field: "MatcherTree", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatcherTypePresent { err := MatcherValidationError{ field: "MatcherType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MatcherMultiError(errors) } return nil } // MatcherMultiError is an error wrapping multiple validation errors returned // by Matcher.ValidateAll() if the designated constraints aren't met. type MatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatcherMultiError) AllErrors() []error { return m } // MatcherValidationError is the validation error returned by Matcher.Validate // if the designated constraints aren't met. type MatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatcherValidationError) ErrorName() string { return "MatcherValidationError" } // Error satisfies the builtin error interface func (e MatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatcherValidationError{} // Validate checks the field values on MatchPredicate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MatchPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MatchPredicateMultiError, // or nil if none found. func (m *MatchPredicate) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *MatchPredicate_OrMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AndMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_NotMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AnyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAnyMatch() != true { err := MatchPredicateValidationError{ field: "AnyMatch", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *MatchPredicate_HttpRequestHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpRequestTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpRequestGenericBodyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestGenericBodyMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestGenericBodyMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseGenericBodyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseGenericBodyMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseGenericBodyMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := MatchPredicateValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MatchPredicateMultiError(errors) } return nil } // MatchPredicateMultiError is an error wrapping multiple validation errors // returned by MatchPredicate.ValidateAll() if the designated constraints // aren't met. type MatchPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicateMultiError) AllErrors() []error { return m } // MatchPredicateValidationError is the validation error returned by // MatchPredicate.Validate if the designated constraints aren't met. type MatchPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicateValidationError) ErrorName() string { return "MatchPredicateValidationError" } // Error satisfies the builtin error interface func (e MatchPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicateValidationError{} // Validate checks the field values on HttpHeadersMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HttpHeadersMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpHeadersMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpHeadersMatchMultiError, or nil if none found. func (m *HttpHeadersMatch) ValidateAll() error { return m.validate(true) } func (m *HttpHeadersMatch) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpHeadersMatchMultiError(errors) } return nil } // HttpHeadersMatchMultiError is an error wrapping multiple validation errors // returned by HttpHeadersMatch.ValidateAll() if the designated constraints // aren't met. type HttpHeadersMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpHeadersMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpHeadersMatchMultiError) AllErrors() []error { return m } // HttpHeadersMatchValidationError is the validation error returned by // HttpHeadersMatch.Validate if the designated constraints aren't met. type HttpHeadersMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpHeadersMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpHeadersMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpHeadersMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpHeadersMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpHeadersMatchValidationError) ErrorName() string { return "HttpHeadersMatchValidationError" } // Error satisfies the builtin error interface func (e HttpHeadersMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpHeadersMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpHeadersMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpHeadersMatchValidationError{} // Validate checks the field values on HttpGenericBodyMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpGenericBodyMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGenericBodyMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpGenericBodyMatchMultiError, or nil if none found. func (m *HttpGenericBodyMatch) ValidateAll() error { return m.validate(true) } func (m *HttpGenericBodyMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BytesLimit if len(m.GetPatterns()) < 1 { err := HttpGenericBodyMatchValidationError{ field: "Patterns", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPatterns() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpGenericBodyMatchMultiError(errors) } return nil } // HttpGenericBodyMatchMultiError is an error wrapping multiple validation // errors returned by HttpGenericBodyMatch.ValidateAll() if the designated // constraints aren't met. type HttpGenericBodyMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGenericBodyMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGenericBodyMatchMultiError) AllErrors() []error { return m } // HttpGenericBodyMatchValidationError is the validation error returned by // HttpGenericBodyMatch.Validate if the designated constraints aren't met. type HttpGenericBodyMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGenericBodyMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGenericBodyMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGenericBodyMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGenericBodyMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGenericBodyMatchValidationError) ErrorName() string { return "HttpGenericBodyMatchValidationError" } // Error satisfies the builtin error interface func (e HttpGenericBodyMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGenericBodyMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGenericBodyMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGenericBodyMatchValidationError{} // Validate checks the field values on Matcher_OnMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *Matcher_OnMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_OnMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Matcher_OnMatchMultiError, or nil if none found. func (m *Matcher_OnMatch) ValidateAll() error { return m.validate(true) } func (m *Matcher_OnMatch) validate(all bool) error { if m == nil { return nil } var errors []error oneofOnMatchPresent := false switch v := m.OnMatch.(type) { case *Matcher_OnMatch_Matcher: if v == nil { err := Matcher_OnMatchValidationError{ field: "OnMatch", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOnMatchPresent = true if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_OnMatchValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_OnMatchValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_OnMatchValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } case *Matcher_OnMatch_Action: if v == nil { err := Matcher_OnMatchValidationError{ field: "OnMatch", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOnMatchPresent = true if all { switch v := interface{}(m.GetAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_OnMatchValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_OnMatchValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_OnMatchValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOnMatchPresent { err := Matcher_OnMatchValidationError{ field: "OnMatch", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Matcher_OnMatchMultiError(errors) } return nil } // Matcher_OnMatchMultiError is an error wrapping multiple validation errors // returned by Matcher_OnMatch.ValidateAll() if the designated constraints // aren't met. type Matcher_OnMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_OnMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_OnMatchMultiError) AllErrors() []error { return m } // Matcher_OnMatchValidationError is the validation error returned by // Matcher_OnMatch.Validate if the designated constraints aren't met. type Matcher_OnMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_OnMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_OnMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_OnMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_OnMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_OnMatchValidationError) ErrorName() string { return "Matcher_OnMatchValidationError" } // Error satisfies the builtin error interface func (e Matcher_OnMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_OnMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_OnMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_OnMatchValidationError{} // Validate checks the field values on Matcher_MatcherList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_MatcherList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Matcher_MatcherListMultiError, or nil if none found. func (m *Matcher_MatcherList) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetMatchers()) < 1 { err := Matcher_MatcherListValidationError{ field: "Matchers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetMatchers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherListValidationError{ field: fmt.Sprintf("Matchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherListValidationError{ field: fmt.Sprintf("Matchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherListValidationError{ field: fmt.Sprintf("Matchers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Matcher_MatcherListMultiError(errors) } return nil } // Matcher_MatcherListMultiError is an error wrapping multiple validation // errors returned by Matcher_MatcherList.ValidateAll() if the designated // constraints aren't met. type Matcher_MatcherListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherListMultiError) AllErrors() []error { return m } // Matcher_MatcherListValidationError is the validation error returned by // Matcher_MatcherList.Validate if the designated constraints aren't met. type Matcher_MatcherListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherListValidationError) ErrorName() string { return "Matcher_MatcherListValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherListValidationError{} // Validate checks the field values on Matcher_MatcherTree with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherTree) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_MatcherTree with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Matcher_MatcherTreeMultiError, or nil if none found. func (m *Matcher_MatcherTree) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherTree) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetInput() == nil { err := Matcher_MatcherTreeValidationError{ field: "Input", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetInput()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInput()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherTreeValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, } } } oneofTreeTypePresent := false switch v := m.TreeType.(type) { case *Matcher_MatcherTree_ExactMatchMap: if v == nil { err := Matcher_MatcherTreeValidationError{ field: "TreeType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTreeTypePresent = true if all { switch v := interface{}(m.GetExactMatchMap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "ExactMatchMap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "ExactMatchMap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExactMatchMap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherTreeValidationError{ field: "ExactMatchMap", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherTree_PrefixMatchMap: if v == nil { err := Matcher_MatcherTreeValidationError{ field: "TreeType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTreeTypePresent = true if all { switch v := interface{}(m.GetPrefixMatchMap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "PrefixMatchMap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "PrefixMatchMap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrefixMatchMap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherTreeValidationError{ field: "PrefixMatchMap", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherTree_CustomMatch: if v == nil { err := Matcher_MatcherTreeValidationError{ field: "TreeType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTreeTypePresent = true if all { switch v := interface{}(m.GetCustomMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherTreeValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherTreeValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTreeTypePresent { err := Matcher_MatcherTreeValidationError{ field: "TreeType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Matcher_MatcherTreeMultiError(errors) } return nil } // Matcher_MatcherTreeMultiError is an error wrapping multiple validation // errors returned by Matcher_MatcherTree.ValidateAll() if the designated // constraints aren't met. type Matcher_MatcherTreeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherTreeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherTreeMultiError) AllErrors() []error { return m } // Matcher_MatcherTreeValidationError is the validation error returned by // Matcher_MatcherTree.Validate if the designated constraints aren't met. type Matcher_MatcherTreeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherTreeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherTreeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherTreeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherTreeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherTreeValidationError) ErrorName() string { return "Matcher_MatcherTreeValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherTreeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherTree.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherTreeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherTreeValidationError{} // Validate checks the field values on Matcher_MatcherList_Predicate with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherList_Predicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_MatcherList_Predicate with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Matcher_MatcherList_PredicateMultiError, or nil if none found. func (m *Matcher_MatcherList_Predicate) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherList_Predicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchTypePresent := false switch v := m.MatchType.(type) { case *Matcher_MatcherList_Predicate_SinglePredicate_: if v == nil { err := Matcher_MatcherList_PredicateValidationError{ field: "MatchType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchTypePresent = true if all { switch v := interface{}(m.GetSinglePredicate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "SinglePredicate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "SinglePredicate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSinglePredicate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_PredicateValidationError{ field: "SinglePredicate", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherList_Predicate_OrMatcher: if v == nil { err := Matcher_MatcherList_PredicateValidationError{ field: "MatchType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchTypePresent = true if all { switch v := interface{}(m.GetOrMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "OrMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "OrMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_PredicateValidationError{ field: "OrMatcher", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherList_Predicate_AndMatcher: if v == nil { err := Matcher_MatcherList_PredicateValidationError{ field: "MatchType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchTypePresent = true if all { switch v := interface{}(m.GetAndMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "AndMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "AndMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_PredicateValidationError{ field: "AndMatcher", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherList_Predicate_NotMatcher: if v == nil { err := Matcher_MatcherList_PredicateValidationError{ field: "MatchType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchTypePresent = true if all { switch v := interface{}(m.GetNotMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "NotMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_PredicateValidationError{ field: "NotMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_PredicateValidationError{ field: "NotMatcher", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchTypePresent { err := Matcher_MatcherList_PredicateValidationError{ field: "MatchType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Matcher_MatcherList_PredicateMultiError(errors) } return nil } // Matcher_MatcherList_PredicateMultiError is an error wrapping multiple // validation errors returned by Matcher_MatcherList_Predicate.ValidateAll() // if the designated constraints aren't met. type Matcher_MatcherList_PredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherList_PredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherList_PredicateMultiError) AllErrors() []error { return m } // Matcher_MatcherList_PredicateValidationError is the validation error // returned by Matcher_MatcherList_Predicate.Validate if the designated // constraints aren't met. type Matcher_MatcherList_PredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherList_PredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherList_PredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherList_PredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherList_PredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherList_PredicateValidationError) ErrorName() string { return "Matcher_MatcherList_PredicateValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherList_PredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherList_Predicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherList_PredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherList_PredicateValidationError{} // Validate checks the field values on Matcher_MatcherList_FieldMatcher with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Matcher_MatcherList_FieldMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_MatcherList_FieldMatcher with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Matcher_MatcherList_FieldMatcherMultiError, or nil if none found. func (m *Matcher_MatcherList_FieldMatcher) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherList_FieldMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPredicate() == nil { err := Matcher_MatcherList_FieldMatcherValidationError{ field: "Predicate", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPredicate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_FieldMatcherValidationError{ field: "Predicate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_FieldMatcherValidationError{ field: "Predicate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPredicate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_FieldMatcherValidationError{ field: "Predicate", reason: "embedded message failed validation", cause: err, } } } if m.GetOnMatch() == nil { err := Matcher_MatcherList_FieldMatcherValidationError{ field: "OnMatch", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_FieldMatcherValidationError{ field: "OnMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_FieldMatcherValidationError{ field: "OnMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_FieldMatcherValidationError{ field: "OnMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Matcher_MatcherList_FieldMatcherMultiError(errors) } return nil } // Matcher_MatcherList_FieldMatcherMultiError is an error wrapping multiple // validation errors returned by // Matcher_MatcherList_FieldMatcher.ValidateAll() if the designated // constraints aren't met. type Matcher_MatcherList_FieldMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherList_FieldMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherList_FieldMatcherMultiError) AllErrors() []error { return m } // Matcher_MatcherList_FieldMatcherValidationError is the validation error // returned by Matcher_MatcherList_FieldMatcher.Validate if the designated // constraints aren't met. type Matcher_MatcherList_FieldMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherList_FieldMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherList_FieldMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherList_FieldMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherList_FieldMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherList_FieldMatcherValidationError) ErrorName() string { return "Matcher_MatcherList_FieldMatcherValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherList_FieldMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherList_FieldMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherList_FieldMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherList_FieldMatcherValidationError{} // Validate checks the field values on // Matcher_MatcherList_Predicate_SinglePredicate with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherList_Predicate_SinglePredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Matcher_MatcherList_Predicate_SinglePredicate with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Matcher_MatcherList_Predicate_SinglePredicateMultiError, or nil if none found. func (m *Matcher_MatcherList_Predicate_SinglePredicate) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherList_Predicate_SinglePredicate) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetInput() == nil { err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Input", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetInput()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInput()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Input", reason: "embedded message failed validation", cause: err, } } } oneofMatcherPresent := false switch v := m.Matcher.(type) { case *Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch: if v == nil { err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Matcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatcherPresent = true if all { switch v := interface{}(m.GetValueMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "ValueMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "ValueMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValueMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "ValueMatch", reason: "embedded message failed validation", cause: err, } } } case *Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch: if v == nil { err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Matcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatcherPresent = true if all { switch v := interface{}(m.GetCustomMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "CustomMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatcherPresent { err := Matcher_MatcherList_Predicate_SinglePredicateValidationError{ field: "Matcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Matcher_MatcherList_Predicate_SinglePredicateMultiError(errors) } return nil } // Matcher_MatcherList_Predicate_SinglePredicateMultiError is an error wrapping // multiple validation errors returned by // Matcher_MatcherList_Predicate_SinglePredicate.ValidateAll() if the // designated constraints aren't met. type Matcher_MatcherList_Predicate_SinglePredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherList_Predicate_SinglePredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherList_Predicate_SinglePredicateMultiError) AllErrors() []error { return m } // Matcher_MatcherList_Predicate_SinglePredicateValidationError is the // validation error returned by // Matcher_MatcherList_Predicate_SinglePredicate.Validate if the designated // constraints aren't met. type Matcher_MatcherList_Predicate_SinglePredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) ErrorName() string { return "Matcher_MatcherList_Predicate_SinglePredicateValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherList_Predicate_SinglePredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherList_Predicate_SinglePredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherList_Predicate_SinglePredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherList_Predicate_SinglePredicateValidationError{} // Validate checks the field values on // Matcher_MatcherList_Predicate_PredicateList with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherList_Predicate_PredicateList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Matcher_MatcherList_Predicate_PredicateList with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Matcher_MatcherList_Predicate_PredicateListMultiError, or nil if none found. func (m *Matcher_MatcherList_Predicate_PredicateList) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherList_Predicate_PredicateList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPredicate()) < 2 { err := Matcher_MatcherList_Predicate_PredicateListValidationError{ field: "Predicate", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPredicate() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_PredicateListValidationError{ field: fmt.Sprintf("Predicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherList_Predicate_PredicateListValidationError{ field: fmt.Sprintf("Predicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherList_Predicate_PredicateListValidationError{ field: fmt.Sprintf("Predicate[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Matcher_MatcherList_Predicate_PredicateListMultiError(errors) } return nil } // Matcher_MatcherList_Predicate_PredicateListMultiError is an error wrapping // multiple validation errors returned by // Matcher_MatcherList_Predicate_PredicateList.ValidateAll() if the designated // constraints aren't met. type Matcher_MatcherList_Predicate_PredicateListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherList_Predicate_PredicateListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherList_Predicate_PredicateListMultiError) AllErrors() []error { return m } // Matcher_MatcherList_Predicate_PredicateListValidationError is the validation // error returned by Matcher_MatcherList_Predicate_PredicateList.Validate if // the designated constraints aren't met. type Matcher_MatcherList_Predicate_PredicateListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherList_Predicate_PredicateListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherList_Predicate_PredicateListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherList_Predicate_PredicateListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherList_Predicate_PredicateListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherList_Predicate_PredicateListValidationError) ErrorName() string { return "Matcher_MatcherList_Predicate_PredicateListValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherList_Predicate_PredicateListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherList_Predicate_PredicateList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherList_Predicate_PredicateListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherList_Predicate_PredicateListValidationError{} // Validate checks the field values on Matcher_MatcherTree_MatchMap with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Matcher_MatcherTree_MatchMap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Matcher_MatcherTree_MatchMap with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Matcher_MatcherTree_MatchMapMultiError, or nil if none found. func (m *Matcher_MatcherTree_MatchMap) ValidateAll() error { return m.validate(true) } func (m *Matcher_MatcherTree_MatchMap) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetMap()) < 1 { err := Matcher_MatcherTree_MatchMapValidationError{ field: "Map", reason: "value must contain at least 1 pair(s)", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetMap())) i := 0 for key := range m.GetMap() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetMap()[key] _ = val // no validation rules for Map[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Matcher_MatcherTree_MatchMapValidationError{ field: fmt.Sprintf("Map[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Matcher_MatcherTree_MatchMapValidationError{ field: fmt.Sprintf("Map[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Matcher_MatcherTree_MatchMapValidationError{ field: fmt.Sprintf("Map[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return Matcher_MatcherTree_MatchMapMultiError(errors) } return nil } // Matcher_MatcherTree_MatchMapMultiError is an error wrapping multiple // validation errors returned by Matcher_MatcherTree_MatchMap.ValidateAll() if // the designated constraints aren't met. type Matcher_MatcherTree_MatchMapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Matcher_MatcherTree_MatchMapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Matcher_MatcherTree_MatchMapMultiError) AllErrors() []error { return m } // Matcher_MatcherTree_MatchMapValidationError is the validation error returned // by Matcher_MatcherTree_MatchMap.Validate if the designated constraints // aren't met. type Matcher_MatcherTree_MatchMapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Matcher_MatcherTree_MatchMapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Matcher_MatcherTree_MatchMapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Matcher_MatcherTree_MatchMapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Matcher_MatcherTree_MatchMapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Matcher_MatcherTree_MatchMapValidationError) ErrorName() string { return "Matcher_MatcherTree_MatchMapValidationError" } // Error satisfies the builtin error interface func (e Matcher_MatcherTree_MatchMapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatcher_MatcherTree_MatchMap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Matcher_MatcherTree_MatchMapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Matcher_MatcherTree_MatchMapValidationError{} // Validate checks the field values on MatchPredicate_MatchSet with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MatchPredicate_MatchSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate_MatchSet with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MatchPredicate_MatchSetMultiError, or nil if none found. func (m *MatchPredicate_MatchSet) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate_MatchSet) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 2 { err := MatchPredicate_MatchSetValidationError{ field: "Rules", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MatchPredicate_MatchSetMultiError(errors) } return nil } // MatchPredicate_MatchSetMultiError is an error wrapping multiple validation // errors returned by MatchPredicate_MatchSet.ValidateAll() if the designated // constraints aren't met. type MatchPredicate_MatchSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicate_MatchSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicate_MatchSetMultiError) AllErrors() []error { return m } // MatchPredicate_MatchSetValidationError is the validation error returned by // MatchPredicate_MatchSet.Validate if the designated constraints aren't met. type MatchPredicate_MatchSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicate_MatchSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicate_MatchSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicate_MatchSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicate_MatchSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicate_MatchSetValidationError) ErrorName() string { return "MatchPredicate_MatchSetValidationError" } // Error satisfies the builtin error interface func (e MatchPredicate_MatchSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate_MatchSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicate_MatchSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicate_MatchSetValidationError{} // Validate checks the field values on HttpGenericBodyMatch_GenericTextMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *HttpGenericBodyMatch_GenericTextMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGenericBodyMatch_GenericTextMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpGenericBodyMatch_GenericTextMatchMultiError, or nil if none found. func (m *HttpGenericBodyMatch_GenericTextMatch) ValidateAll() error { return m.validate(true) } func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *HttpGenericBodyMatch_GenericTextMatch_StringMatch: if v == nil { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if utf8.RuneCountInString(m.GetStringMatch()) < 1 { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "StringMatch", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HttpGenericBodyMatch_GenericTextMatch_BinaryMatch: if v == nil { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if len(m.GetBinaryMatch()) < 1 { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "BinaryMatch", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofRulePresent { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpGenericBodyMatch_GenericTextMatchMultiError(errors) } return nil } // HttpGenericBodyMatch_GenericTextMatchMultiError is an error wrapping // multiple validation errors returned by // HttpGenericBodyMatch_GenericTextMatch.ValidateAll() if the designated // constraints aren't met. type HttpGenericBodyMatch_GenericTextMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGenericBodyMatch_GenericTextMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGenericBodyMatch_GenericTextMatchMultiError) AllErrors() []error { return m } // HttpGenericBodyMatch_GenericTextMatchValidationError is the validation error // returned by HttpGenericBodyMatch_GenericTextMatch.Validate if the // designated constraints aren't met. type HttpGenericBodyMatch_GenericTextMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) ErrorName() string { return "HttpGenericBodyMatch_GenericTextMatchValidationError" } // Error satisfies the builtin error interface func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGenericBodyMatch_GenericTextMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGenericBodyMatch_GenericTextMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGenericBodyMatch_GenericTextMatchValidationError{} go-control-plane-0.12.0/envoy/config/common/mutation_rules/000077500000000000000000000000001454502223200237205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/mutation_rules/v3/000077500000000000000000000000001454502223200242505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/mutation_rules/v3/mutation_rules.pb.go000077500000000000000000000504141454502223200302600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/common/mutation_rules/v3/mutation_rules.proto package mutation_rulesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The HeaderMutationRules structure specifies what headers may be // manipulated by a processing filter. This set of rules makes it // possible to control which modifications a filter may make. // // By default, an external processing server may add, modify, or remove // any header except for an "Envoy internal" header (which is typically // denoted by an x-envoy prefix) or specific headers that may affect // further filter processing: // // * “host“ // * “:authority“ // * “:scheme“ // * “:method“ // // Every attempt to add, change, append, or remove a header will be // tested against the rules here. Disallowed header mutations will be // ignored unless “disallow_is_error“ is set to true. // // Attempts to remove headers are further constrained -- regardless of the // settings, system-defined headers (that start with “:“) and the “host“ // header may never be removed. // // In addition, a counter will be incremented whenever a mutation is // rejected. In the ext_proc filter, that counter is named // “rejected_header_mutations“. // [#next-free-field: 8] type HeaderMutationRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // By default, certain headers that could affect processing of subsequent // filters or request routing cannot be modified. These headers are // “host“, “:authority“, “:scheme“, and “:method“. Setting this parameter // to true allows these headers to be modified as well. AllowAllRouting *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_all_routing,json=allowAllRouting,proto3" json:"allow_all_routing,omitempty"` // If true, allow modification of envoy internal headers. By default, these // start with “x-envoy“ but this may be overridden in the “Bootstrap“ // configuration using the // :ref:`header_prefix ` // field. Default is false. AllowEnvoy *wrappers.BoolValue `protobuf:"bytes,2,opt,name=allow_envoy,json=allowEnvoy,proto3" json:"allow_envoy,omitempty"` // If true, prevent modification of any system header, defined as a header // that starts with a “:“ character, regardless of any other settings. // A processing server may still override the “:status“ of an HTTP response // using an “ImmediateResponse“ message. Default is false. DisallowSystem *wrappers.BoolValue `protobuf:"bytes,3,opt,name=disallow_system,json=disallowSystem,proto3" json:"disallow_system,omitempty"` // If true, prevent modifications of all header values, regardless of any // other settings. A processing server may still override the “:status“ // of an HTTP response using an “ImmediateResponse“ message. Default is false. DisallowAll *wrappers.BoolValue `protobuf:"bytes,4,opt,name=disallow_all,json=disallowAll,proto3" json:"disallow_all,omitempty"` // If set, specifically allow any header that matches this regular // expression. This overrides all other settings except for // “disallow_expression“. AllowExpression *v3.RegexMatcher `protobuf:"bytes,5,opt,name=allow_expression,json=allowExpression,proto3" json:"allow_expression,omitempty"` // If set, specifically disallow any header that matches this regular // expression regardless of any other settings. DisallowExpression *v3.RegexMatcher `protobuf:"bytes,6,opt,name=disallow_expression,json=disallowExpression,proto3" json:"disallow_expression,omitempty"` // If true, and if the rules in this list cause a header mutation to be // disallowed, then the filter using this configuration will terminate the // request with a 500 error. In addition, regardless of the setting of this // parameter, any attempt to set, add, or modify a disallowed header will // cause the “rejected_header_mutations“ counter to be incremented. // Default is false. DisallowIsError *wrappers.BoolValue `protobuf:"bytes,7,opt,name=disallow_is_error,json=disallowIsError,proto3" json:"disallow_is_error,omitempty"` } func (x *HeaderMutationRules) Reset() { *x = HeaderMutationRules{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutationRules) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutationRules) ProtoMessage() {} func (x *HeaderMutationRules) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutationRules.ProtoReflect.Descriptor instead. func (*HeaderMutationRules) Descriptor() ([]byte, []int) { return file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescGZIP(), []int{0} } func (x *HeaderMutationRules) GetAllowAllRouting() *wrappers.BoolValue { if x != nil { return x.AllowAllRouting } return nil } func (x *HeaderMutationRules) GetAllowEnvoy() *wrappers.BoolValue { if x != nil { return x.AllowEnvoy } return nil } func (x *HeaderMutationRules) GetDisallowSystem() *wrappers.BoolValue { if x != nil { return x.DisallowSystem } return nil } func (x *HeaderMutationRules) GetDisallowAll() *wrappers.BoolValue { if x != nil { return x.DisallowAll } return nil } func (x *HeaderMutationRules) GetAllowExpression() *v3.RegexMatcher { if x != nil { return x.AllowExpression } return nil } func (x *HeaderMutationRules) GetDisallowExpression() *v3.RegexMatcher { if x != nil { return x.DisallowExpression } return nil } func (x *HeaderMutationRules) GetDisallowIsError() *wrappers.BoolValue { if x != nil { return x.DisallowIsError } return nil } // The HeaderMutation structure specifies an action that may be taken on HTTP // headers. type HeaderMutation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Action: // // *HeaderMutation_Remove // *HeaderMutation_Append Action isHeaderMutation_Action `protobuf_oneof:"action"` } func (x *HeaderMutation) Reset() { *x = HeaderMutation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutation) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutation) ProtoMessage() {} func (x *HeaderMutation) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead. func (*HeaderMutation) Descriptor() ([]byte, []int) { return file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescGZIP(), []int{1} } func (m *HeaderMutation) GetAction() isHeaderMutation_Action { if m != nil { return m.Action } return nil } func (x *HeaderMutation) GetRemove() string { if x, ok := x.GetAction().(*HeaderMutation_Remove); ok { return x.Remove } return "" } func (x *HeaderMutation) GetAppend() *v31.HeaderValueOption { if x, ok := x.GetAction().(*HeaderMutation_Append); ok { return x.Append } return nil } type isHeaderMutation_Action interface { isHeaderMutation_Action() } type HeaderMutation_Remove struct { // Remove the specified header if it exists. Remove string `protobuf:"bytes,1,opt,name=remove,proto3,oneof"` } type HeaderMutation_Append struct { // Append new header by the specified HeaderValueOption. Append *v31.HeaderValueOption `protobuf:"bytes,2,opt,name=append,proto3,oneof"` } func (*HeaderMutation_Remove) isHeaderMutation_Action() {} func (*HeaderMutation_Append) isHeaderMutation_Action() {} var File_envoy_config_common_mutation_rules_v3_mutation_rules_proto protoreflect.FileDescriptor var file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x04, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x12, 0x43, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescOnce sync.Once file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescData = file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDesc ) func file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescGZIP() []byte { file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescOnce.Do(func() { file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescData) }) return file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDescData } var file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_goTypes = []interface{}{ (*HeaderMutationRules)(nil), // 0: envoy.config.common.mutation_rules.v3.HeaderMutationRules (*HeaderMutation)(nil), // 1: envoy.config.common.mutation_rules.v3.HeaderMutation (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue (*v3.RegexMatcher)(nil), // 3: envoy.type.matcher.v3.RegexMatcher (*v31.HeaderValueOption)(nil), // 4: envoy.config.core.v3.HeaderValueOption } var file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_depIdxs = []int32{ 2, // 0: envoy.config.common.mutation_rules.v3.HeaderMutationRules.allow_all_routing:type_name -> google.protobuf.BoolValue 2, // 1: envoy.config.common.mutation_rules.v3.HeaderMutationRules.allow_envoy:type_name -> google.protobuf.BoolValue 2, // 2: envoy.config.common.mutation_rules.v3.HeaderMutationRules.disallow_system:type_name -> google.protobuf.BoolValue 2, // 3: envoy.config.common.mutation_rules.v3.HeaderMutationRules.disallow_all:type_name -> google.protobuf.BoolValue 3, // 4: envoy.config.common.mutation_rules.v3.HeaderMutationRules.allow_expression:type_name -> envoy.type.matcher.v3.RegexMatcher 3, // 5: envoy.config.common.mutation_rules.v3.HeaderMutationRules.disallow_expression:type_name -> envoy.type.matcher.v3.RegexMatcher 2, // 6: envoy.config.common.mutation_rules.v3.HeaderMutationRules.disallow_is_error:type_name -> google.protobuf.BoolValue 4, // 7: envoy.config.common.mutation_rules.v3.HeaderMutation.append:type_name -> envoy.config.core.v3.HeaderValueOption 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_init() } func file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_init() { if File_envoy_config_common_mutation_rules_v3_mutation_rules_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutationRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HeaderMutation_Remove)(nil), (*HeaderMutation_Append)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_goTypes, DependencyIndexes: file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_depIdxs, MessageInfos: file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_msgTypes, }.Build() File_envoy_config_common_mutation_rules_v3_mutation_rules_proto = out.File file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_rawDesc = nil file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_goTypes = nil file_envoy_config_common_mutation_rules_v3_mutation_rules_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/common/mutation_rules/v3/mutation_rules.pb.validate.go000077500000000000000000000337731454502223200320610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/common/mutation_rules/v3/mutation_rules.proto package mutation_rulesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HeaderMutationRules with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderMutationRules) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutationRules with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderMutationRulesMultiError, or nil if none found. func (m *HeaderMutationRules) ValidateAll() error { return m.validate(true) } func (m *HeaderMutationRules) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowAllRouting()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowAllRouting", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowAllRouting", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowAllRouting()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "AllowAllRouting", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowEnvoy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowEnvoy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowEnvoy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowEnvoy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "AllowEnvoy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisallowSystem()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowSystem", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowSystem", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisallowSystem()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "DisallowSystem", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisallowAll()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowAll", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowAll", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisallowAll()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "DisallowAll", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowExpression()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowExpression", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "AllowExpression", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowExpression()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "AllowExpression", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisallowExpression()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowExpression", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowExpression", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisallowExpression()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "DisallowExpression", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisallowIsError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowIsError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationRulesValidationError{ field: "DisallowIsError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisallowIsError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationRulesValidationError{ field: "DisallowIsError", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderMutationRulesMultiError(errors) } return nil } // HeaderMutationRulesMultiError is an error wrapping multiple validation // errors returned by HeaderMutationRules.ValidateAll() if the designated // constraints aren't met. type HeaderMutationRulesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationRulesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationRulesMultiError) AllErrors() []error { return m } // HeaderMutationRulesValidationError is the validation error returned by // HeaderMutationRules.Validate if the designated constraints aren't met. type HeaderMutationRulesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationRulesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationRulesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationRulesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationRulesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationRulesValidationError) ErrorName() string { return "HeaderMutationRulesValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationRulesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutationRules.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationRulesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationRulesValidationError{} // Validate checks the field values on HeaderMutation with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMutation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutation with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMutationMultiError, // or nil if none found. func (m *HeaderMutation) ValidateAll() error { return m.validate(true) } func (m *HeaderMutation) validate(all bool) error { if m == nil { return nil } var errors []error oneofActionPresent := false switch v := m.Action.(type) { case *HeaderMutation_Remove: if v == nil { err := HeaderMutationValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if !_HeaderMutation_Remove_Pattern.MatchString(m.GetRemove()) { err := HeaderMutationValidationError{ field: "Remove", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *HeaderMutation_Append: if v == nil { err := HeaderMutationValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetAppend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAppend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionPresent { err := HeaderMutationValidationError{ field: "Action", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HeaderMutationMultiError(errors) } return nil } // HeaderMutationMultiError is an error wrapping multiple validation errors // returned by HeaderMutation.ValidateAll() if the designated constraints // aren't met. type HeaderMutationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationMultiError) AllErrors() []error { return m } // HeaderMutationValidationError is the validation error returned by // HeaderMutation.Validate if the designated constraints aren't met. type HeaderMutationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationValidationError) ErrorName() string { return "HeaderMutationValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationValidationError{} var _HeaderMutation_Remove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/config/common/tap/000077500000000000000000000000001454502223200214325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/tap/v2alpha/000077500000000000000000000000001454502223200227675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/common/tap/v2alpha/common.pb.go000077500000000000000000000304131454502223200252120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/common/tap/v2alpha/common.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/service/tap/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Common configuration for all tap extensions. type CommonExtensionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigType: // // *CommonExtensionConfig_AdminConfig // *CommonExtensionConfig_StaticConfig ConfigType isCommonExtensionConfig_ConfigType `protobuf_oneof:"config_type"` } func (x *CommonExtensionConfig) Reset() { *x = CommonExtensionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonExtensionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonExtensionConfig) ProtoMessage() {} func (x *CommonExtensionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonExtensionConfig.ProtoReflect.Descriptor instead. func (*CommonExtensionConfig) Descriptor() ([]byte, []int) { return file_envoy_config_common_tap_v2alpha_common_proto_rawDescGZIP(), []int{0} } func (m *CommonExtensionConfig) GetConfigType() isCommonExtensionConfig_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *CommonExtensionConfig) GetAdminConfig() *AdminConfig { if x, ok := x.GetConfigType().(*CommonExtensionConfig_AdminConfig); ok { return x.AdminConfig } return nil } func (x *CommonExtensionConfig) GetStaticConfig() *v2alpha.TapConfig { if x, ok := x.GetConfigType().(*CommonExtensionConfig_StaticConfig); ok { return x.StaticConfig } return nil } type isCommonExtensionConfig_ConfigType interface { isCommonExtensionConfig_ConfigType() } type CommonExtensionConfig_AdminConfig struct { // If specified, the tap filter will be configured via an admin handler. AdminConfig *AdminConfig `protobuf:"bytes,1,opt,name=admin_config,json=adminConfig,proto3,oneof"` } type CommonExtensionConfig_StaticConfig struct { // If specified, the tap filter will be configured via a static configuration that cannot be // changed. StaticConfig *v2alpha.TapConfig `protobuf:"bytes,2,opt,name=static_config,json=staticConfig,proto3,oneof"` } func (*CommonExtensionConfig_AdminConfig) isCommonExtensionConfig_ConfigType() {} func (*CommonExtensionConfig_StaticConfig) isCommonExtensionConfig_ConfigType() {} // Configuration for the admin handler. See :ref:`here ` for // more information. type AdminConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Opaque configuration ID. When requests are made to the admin handler, the passed opaque ID is // matched to the configured filter opaque ID to determine which filter to configure. ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` } func (x *AdminConfig) Reset() { *x = AdminConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminConfig) ProtoMessage() {} func (x *AdminConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdminConfig.ProtoReflect.Descriptor instead. func (*AdminConfig) Descriptor() ([]byte, []int) { return file_envoy_config_common_tap_v2alpha_common_proto_rawDescGZIP(), []int{1} } func (x *AdminConfig) GetConfigId() string { if x != nil { return x.ConfigId } return "" } var File_envoy_config_common_tap_v2alpha_common_proto protoreflect.FileDescriptor var file_envoy_config_common_tap_v2alpha_common_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x12, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x33, 0x0a, 0x0b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0xb4, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x20, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_common_tap_v2alpha_common_proto_rawDescOnce sync.Once file_envoy_config_common_tap_v2alpha_common_proto_rawDescData = file_envoy_config_common_tap_v2alpha_common_proto_rawDesc ) func file_envoy_config_common_tap_v2alpha_common_proto_rawDescGZIP() []byte { file_envoy_config_common_tap_v2alpha_common_proto_rawDescOnce.Do(func() { file_envoy_config_common_tap_v2alpha_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_common_tap_v2alpha_common_proto_rawDescData) }) return file_envoy_config_common_tap_v2alpha_common_proto_rawDescData } var file_envoy_config_common_tap_v2alpha_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_common_tap_v2alpha_common_proto_goTypes = []interface{}{ (*CommonExtensionConfig)(nil), // 0: envoy.config.common.tap.v2alpha.CommonExtensionConfig (*AdminConfig)(nil), // 1: envoy.config.common.tap.v2alpha.AdminConfig (*v2alpha.TapConfig)(nil), // 2: envoy.service.tap.v2alpha.TapConfig } var file_envoy_config_common_tap_v2alpha_common_proto_depIdxs = []int32{ 1, // 0: envoy.config.common.tap.v2alpha.CommonExtensionConfig.admin_config:type_name -> envoy.config.common.tap.v2alpha.AdminConfig 2, // 1: envoy.config.common.tap.v2alpha.CommonExtensionConfig.static_config:type_name -> envoy.service.tap.v2alpha.TapConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_common_tap_v2alpha_common_proto_init() } func file_envoy_config_common_tap_v2alpha_common_proto_init() { if File_envoy_config_common_tap_v2alpha_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonExtensionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_common_tap_v2alpha_common_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CommonExtensionConfig_AdminConfig)(nil), (*CommonExtensionConfig_StaticConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_common_tap_v2alpha_common_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_common_tap_v2alpha_common_proto_goTypes, DependencyIndexes: file_envoy_config_common_tap_v2alpha_common_proto_depIdxs, MessageInfos: file_envoy_config_common_tap_v2alpha_common_proto_msgTypes, }.Build() File_envoy_config_common_tap_v2alpha_common_proto = out.File file_envoy_config_common_tap_v2alpha_common_proto_rawDesc = nil file_envoy_config_common_tap_v2alpha_common_proto_goTypes = nil file_envoy_config_common_tap_v2alpha_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/common/tap/v2alpha/common.pb.validate.go000077500000000000000000000215251454502223200270060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/common/tap/v2alpha/common.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CommonExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonExtensionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonExtensionConfigMultiError, or nil if none found. func (m *CommonExtensionConfig) ValidateAll() error { return m.validate(true) } func (m *CommonExtensionConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofConfigTypePresent := false switch v := m.ConfigType.(type) { case *CommonExtensionConfig_AdminConfig: if v == nil { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigTypePresent = true if all { switch v := interface{}(m.GetAdminConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdminConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, } } } case *CommonExtensionConfig_StaticConfig: if v == nil { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigTypePresent = true if all { switch v := interface{}(m.GetStaticConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigTypePresent { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CommonExtensionConfigMultiError(errors) } return nil } // CommonExtensionConfigMultiError is an error wrapping multiple validation // errors returned by CommonExtensionConfig.ValidateAll() if the designated // constraints aren't met. type CommonExtensionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonExtensionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonExtensionConfigMultiError) AllErrors() []error { return m } // CommonExtensionConfigValidationError is the validation error returned by // CommonExtensionConfig.Validate if the designated constraints aren't met. type CommonExtensionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonExtensionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonExtensionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonExtensionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonExtensionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonExtensionConfigValidationError) ErrorName() string { return "CommonExtensionConfigValidationError" } // Error satisfies the builtin error interface func (e CommonExtensionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonExtensionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonExtensionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonExtensionConfigValidationError{} // Validate checks the field values on AdminConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdminConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdminConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AdminConfigMultiError, or // nil if none found. func (m *AdminConfig) ValidateAll() error { return m.validate(true) } func (m *AdminConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetConfigId()) < 1 { err := AdminConfigValidationError{ field: "ConfigId", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdminConfigMultiError(errors) } return nil } // AdminConfigMultiError is an error wrapping multiple validation errors // returned by AdminConfig.ValidateAll() if the designated constraints aren't met. type AdminConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdminConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdminConfigMultiError) AllErrors() []error { return m } // AdminConfigValidationError is the validation error returned by // AdminConfig.Validate if the designated constraints aren't met. type AdminConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdminConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdminConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdminConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdminConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdminConfigValidationError) ErrorName() string { return "AdminConfigValidationError" } // Error satisfies the builtin error interface func (e AdminConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdminConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdminConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdminConfigValidationError{} go-control-plane-0.12.0/envoy/config/core/000077500000000000000000000000001454502223200203065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/core/v3/000077500000000000000000000000001454502223200206365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/core/v3/address.pb.go000077500000000000000000001350771454502223200232320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/address.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SocketAddress_Protocol int32 const ( SocketAddress_TCP SocketAddress_Protocol = 0 SocketAddress_UDP SocketAddress_Protocol = 1 ) // Enum value maps for SocketAddress_Protocol. var ( SocketAddress_Protocol_name = map[int32]string{ 0: "TCP", 1: "UDP", } SocketAddress_Protocol_value = map[string]int32{ "TCP": 0, "UDP": 1, } ) func (x SocketAddress_Protocol) Enum() *SocketAddress_Protocol { p := new(SocketAddress_Protocol) *p = x return p } func (x SocketAddress_Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SocketAddress_Protocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_address_proto_enumTypes[0].Descriptor() } func (SocketAddress_Protocol) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_address_proto_enumTypes[0] } func (x SocketAddress_Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SocketAddress_Protocol.Descriptor instead. func (SocketAddress_Protocol) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{2, 0} } type Pipe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unix Domain Socket path. On Linux, paths starting with '@' will use the // abstract namespace. The starting '@' is replaced by a null byte by Envoy. // Paths starting with '@' will result in an error in environments other than // Linux. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The mode for the Pipe. Not applicable for abstract sockets. Mode uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` } func (x *Pipe) Reset() { *x = Pipe{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Pipe) String() string { return protoimpl.X.MessageStringOf(x) } func (*Pipe) ProtoMessage() {} func (x *Pipe) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Pipe.ProtoReflect.Descriptor instead. func (*Pipe) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{0} } func (x *Pipe) GetPath() string { if x != nil { return x.Path } return "" } func (x *Pipe) GetMode() uint32 { if x != nil { return x.Mode } return 0 } // The address represents an envoy internal listener. // [#comment: TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.] type EnvoyInternalAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to AddressNameSpecifier: // // *EnvoyInternalAddress_ServerListenerName AddressNameSpecifier isEnvoyInternalAddress_AddressNameSpecifier `protobuf_oneof:"address_name_specifier"` // Specifies an endpoint identifier to distinguish between multiple endpoints for the same internal listener in a // single upstream pool. Only used in the upstream addresses for tracking changes to individual endpoints. This, for // example, may be set to the final destination IP for the target internal listener. EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` } func (x *EnvoyInternalAddress) Reset() { *x = EnvoyInternalAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnvoyInternalAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnvoyInternalAddress) ProtoMessage() {} func (x *EnvoyInternalAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EnvoyInternalAddress.ProtoReflect.Descriptor instead. func (*EnvoyInternalAddress) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{1} } func (m *EnvoyInternalAddress) GetAddressNameSpecifier() isEnvoyInternalAddress_AddressNameSpecifier { if m != nil { return m.AddressNameSpecifier } return nil } func (x *EnvoyInternalAddress) GetServerListenerName() string { if x, ok := x.GetAddressNameSpecifier().(*EnvoyInternalAddress_ServerListenerName); ok { return x.ServerListenerName } return "" } func (x *EnvoyInternalAddress) GetEndpointId() string { if x != nil { return x.EndpointId } return "" } type isEnvoyInternalAddress_AddressNameSpecifier interface { isEnvoyInternalAddress_AddressNameSpecifier() } type EnvoyInternalAddress_ServerListenerName struct { // Specifies the :ref:`name ` of the // internal listener. ServerListenerName string `protobuf:"bytes,1,opt,name=server_listener_name,json=serverListenerName,proto3,oneof"` } func (*EnvoyInternalAddress_ServerListenerName) isEnvoyInternalAddress_AddressNameSpecifier() {} // [#next-free-field: 7] type SocketAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=envoy.config.core.v3.SocketAddress_Protocol" json:"protocol,omitempty"` // The address for this socket. :ref:`Listeners ` will bind // to the address. An empty address is not allowed. Specify “0.0.0.0“ or “::“ // to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: // It is possible to distinguish a Listener address via the prefix/suffix matching // in :ref:`FilterChainMatch `.] When used // within an upstream :ref:`BindConfig `, the address // controls the source address of outbound connections. For :ref:`clusters // `, the cluster type determines whether the // address must be an IP (“STATIC“ or “EDS“ clusters) or a hostname resolved by DNS // (“STRICT_DNS“ or “LOGICAL_DNS“ clusters). Address resolution can be customized // via :ref:`resolver_name `. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Types that are assignable to PortSpecifier: // // *SocketAddress_PortValue // *SocketAddress_NamedPort PortSpecifier isSocketAddress_PortSpecifier `protobuf_oneof:"port_specifier"` // The name of the custom resolver. This must have been registered with Envoy. If // this is empty, a context dependent default applies. If the address is a concrete // IP address, no resolution will occur. If address is a hostname this // should be set for resolution other than DNS. Specifying a custom resolver with // “STRICT_DNS“ or “LOGICAL_DNS“ will generate an error at runtime. ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"` // When binding to an IPv6 address above, this enables `IPv4 compatibility // `_. Binding to “::“ will // allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into // IPv6 space as “::FFFF:“. Ipv4Compat bool `protobuf:"varint,6,opt,name=ipv4_compat,json=ipv4Compat,proto3" json:"ipv4_compat,omitempty"` } func (x *SocketAddress) Reset() { *x = SocketAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketAddress) ProtoMessage() {} func (x *SocketAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketAddress.ProtoReflect.Descriptor instead. func (*SocketAddress) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{2} } func (x *SocketAddress) GetProtocol() SocketAddress_Protocol { if x != nil { return x.Protocol } return SocketAddress_TCP } func (x *SocketAddress) GetAddress() string { if x != nil { return x.Address } return "" } func (m *SocketAddress) GetPortSpecifier() isSocketAddress_PortSpecifier { if m != nil { return m.PortSpecifier } return nil } func (x *SocketAddress) GetPortValue() uint32 { if x, ok := x.GetPortSpecifier().(*SocketAddress_PortValue); ok { return x.PortValue } return 0 } func (x *SocketAddress) GetNamedPort() string { if x, ok := x.GetPortSpecifier().(*SocketAddress_NamedPort); ok { return x.NamedPort } return "" } func (x *SocketAddress) GetResolverName() string { if x != nil { return x.ResolverName } return "" } func (x *SocketAddress) GetIpv4Compat() bool { if x != nil { return x.Ipv4Compat } return false } type isSocketAddress_PortSpecifier interface { isSocketAddress_PortSpecifier() } type SocketAddress_PortValue struct { PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"` } type SocketAddress_NamedPort struct { // This is only valid if :ref:`resolver_name // ` is specified below and the // named resolver is capable of named port resolution. NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"` } func (*SocketAddress_PortValue) isSocketAddress_PortSpecifier() {} func (*SocketAddress_NamedPort) isSocketAddress_PortSpecifier() {} type TcpKeepalive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of keepalive probes to send without response before deciding // the connection is dead. Default is to use the OS level configuration (unless // overridden, Linux defaults to 9.) KeepaliveProbes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=keepalive_probes,json=keepaliveProbes,proto3" json:"keepalive_probes,omitempty"` // The number of seconds a connection needs to be idle before keep-alive probes // start being sent. Default is to use the OS level configuration (unless // overridden, Linux defaults to 7200s (i.e., 2 hours.) KeepaliveTime *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=keepalive_time,json=keepaliveTime,proto3" json:"keepalive_time,omitempty"` // The number of seconds between keep-alive probes. Default is to use the OS // level configuration (unless overridden, Linux defaults to 75s.) KeepaliveInterval *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` } func (x *TcpKeepalive) Reset() { *x = TcpKeepalive{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpKeepalive) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpKeepalive) ProtoMessage() {} func (x *TcpKeepalive) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpKeepalive.ProtoReflect.Descriptor instead. func (*TcpKeepalive) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{3} } func (x *TcpKeepalive) GetKeepaliveProbes() *wrappers.UInt32Value { if x != nil { return x.KeepaliveProbes } return nil } func (x *TcpKeepalive) GetKeepaliveTime() *wrappers.UInt32Value { if x != nil { return x.KeepaliveTime } return nil } func (x *TcpKeepalive) GetKeepaliveInterval() *wrappers.UInt32Value { if x != nil { return x.KeepaliveInterval } return nil } type ExtraSourceAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The additional address to bind. Address *SocketAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. If specified, this will override the // :ref:`socket_options ` // in the BindConfig. If specified with no // :ref:`socket_options ` // or an empty list of :ref:`socket_options `, // it means no socket option will apply. SocketOptions *SocketOptionsOverride `protobuf:"bytes,2,opt,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` } func (x *ExtraSourceAddress) Reset() { *x = ExtraSourceAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtraSourceAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtraSourceAddress) ProtoMessage() {} func (x *ExtraSourceAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtraSourceAddress.ProtoReflect.Descriptor instead. func (*ExtraSourceAddress) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{4} } func (x *ExtraSourceAddress) GetAddress() *SocketAddress { if x != nil { return x.Address } return nil } func (x *ExtraSourceAddress) GetSocketOptions() *SocketOptionsOverride { if x != nil { return x.SocketOptions } return nil } // [#next-free-field: 7] type BindConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address to bind to when creating a socket. SourceAddress *SocketAddress `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"` // Whether to set the “IP_FREEBIND“ option when creating the socket. When this // flag is set to true, allows the :ref:`source_address // ` to be an IP address // that is not configured on the system running Envoy. When this flag is set // to false, the option “IP_FREEBIND“ is disabled on the socket. When this // flag is not set (default), the socket is not modified, i.e. the option is // neither enabled nor disabled. Freebind *wrappers.BoolValue `protobuf:"bytes,2,opt,name=freebind,proto3" json:"freebind,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. SocketOptions []*SocketOption `protobuf:"bytes,3,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` // Extra source addresses appended to the address specified in the “source_address“ // field. This enables to specify multiple source addresses. // The source address selection is determined by :ref:`local_address_selector // `. ExtraSourceAddresses []*ExtraSourceAddress `protobuf:"bytes,5,rep,name=extra_source_addresses,json=extraSourceAddresses,proto3" json:"extra_source_addresses,omitempty"` // Deprecated by // :ref:`extra_source_addresses ` // // Deprecated: Marked as deprecated in envoy/config/core/v3/address.proto. AdditionalSourceAddresses []*SocketAddress `protobuf:"bytes,4,rep,name=additional_source_addresses,json=additionalSourceAddresses,proto3" json:"additional_source_addresses,omitempty"` // Custom local address selector to override the default (i.e. // :ref:`DefaultLocalAddressSelector // `). // [#extension-category: envoy.upstream.local_address_selector] LocalAddressSelector *TypedExtensionConfig `protobuf:"bytes,6,opt,name=local_address_selector,json=localAddressSelector,proto3" json:"local_address_selector,omitempty"` } func (x *BindConfig) Reset() { *x = BindConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BindConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*BindConfig) ProtoMessage() {} func (x *BindConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BindConfig.ProtoReflect.Descriptor instead. func (*BindConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{5} } func (x *BindConfig) GetSourceAddress() *SocketAddress { if x != nil { return x.SourceAddress } return nil } func (x *BindConfig) GetFreebind() *wrappers.BoolValue { if x != nil { return x.Freebind } return nil } func (x *BindConfig) GetSocketOptions() []*SocketOption { if x != nil { return x.SocketOptions } return nil } func (x *BindConfig) GetExtraSourceAddresses() []*ExtraSourceAddress { if x != nil { return x.ExtraSourceAddresses } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/address.proto. func (x *BindConfig) GetAdditionalSourceAddresses() []*SocketAddress { if x != nil { return x.AdditionalSourceAddresses } return nil } func (x *BindConfig) GetLocalAddressSelector() *TypedExtensionConfig { if x != nil { return x.LocalAddressSelector } return nil } // Addresses specify either a logical or physical address and port, which are // used to tell Envoy where to bind/listen, connect to upstream and find // management servers. type Address struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Address: // // *Address_SocketAddress // *Address_Pipe // *Address_EnvoyInternalAddress Address isAddress_Address `protobuf_oneof:"address"` } func (x *Address) Reset() { *x = Address{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Address) String() string { return protoimpl.X.MessageStringOf(x) } func (*Address) ProtoMessage() {} func (x *Address) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Address.ProtoReflect.Descriptor instead. func (*Address) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{6} } func (m *Address) GetAddress() isAddress_Address { if m != nil { return m.Address } return nil } func (x *Address) GetSocketAddress() *SocketAddress { if x, ok := x.GetAddress().(*Address_SocketAddress); ok { return x.SocketAddress } return nil } func (x *Address) GetPipe() *Pipe { if x, ok := x.GetAddress().(*Address_Pipe); ok { return x.Pipe } return nil } func (x *Address) GetEnvoyInternalAddress() *EnvoyInternalAddress { if x, ok := x.GetAddress().(*Address_EnvoyInternalAddress); ok { return x.EnvoyInternalAddress } return nil } type isAddress_Address interface { isAddress_Address() } type Address_SocketAddress struct { SocketAddress *SocketAddress `protobuf:"bytes,1,opt,name=socket_address,json=socketAddress,proto3,oneof"` } type Address_Pipe struct { Pipe *Pipe `protobuf:"bytes,2,opt,name=pipe,proto3,oneof"` } type Address_EnvoyInternalAddress struct { // Specifies a user-space address handled by :ref:`internal listeners // `. EnvoyInternalAddress *EnvoyInternalAddress `protobuf:"bytes,3,opt,name=envoy_internal_address,json=envoyInternalAddress,proto3,oneof"` } func (*Address_SocketAddress) isAddress_Address() {} func (*Address_Pipe) isAddress_Address() {} func (*Address_EnvoyInternalAddress) isAddress_Address() {} // CidrRange specifies an IP Address and a prefix length to construct // the subnet mask for a `CIDR `_ range. type CidrRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // IPv4 or IPv6 address, e.g. “192.0.0.0“ or “2001:db8::“. AddressPrefix string `protobuf:"bytes,1,opt,name=address_prefix,json=addressPrefix,proto3" json:"address_prefix,omitempty"` // Length of prefix, e.g. 0, 32. Defaults to 0 when unset. PrefixLen *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` } func (x *CidrRange) Reset() { *x = CidrRange{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_address_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CidrRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*CidrRange) ProtoMessage() {} func (x *CidrRange) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_address_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CidrRange.ProtoReflect.Descriptor instead. func (*CidrRange) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_address_proto_rawDescGZIP(), []int{7} } func (x *CidrRange) GetAddressPrefix() string { if x != nil { return x.AddressPrefix } return "" } func (x *CidrRange) GetPrefixLen() *wrappers.UInt32Value { if x != nil { return x.PrefixLen } return nil } var File_envoy_config_core_v3_address_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_address_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x04, 0x50, 0x69, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0xff, 0x03, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x1d, 0x0a, 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf6, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x22, 0x1c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x90, 0x02, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb4, 0x04, 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x1b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9f, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x70, 0x65, 0x12, 0x62, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x20, 0x9a, 0xc5, 0x88, 0x1e, 0x1b, 0x0a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x80, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_address_proto_rawDescOnce sync.Once file_envoy_config_core_v3_address_proto_rawDescData = file_envoy_config_core_v3_address_proto_rawDesc ) func file_envoy_config_core_v3_address_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_address_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_address_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_address_proto_rawDescData) }) return file_envoy_config_core_v3_address_proto_rawDescData } var file_envoy_config_core_v3_address_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_core_v3_address_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_config_core_v3_address_proto_goTypes = []interface{}{ (SocketAddress_Protocol)(0), // 0: envoy.config.core.v3.SocketAddress.Protocol (*Pipe)(nil), // 1: envoy.config.core.v3.Pipe (*EnvoyInternalAddress)(nil), // 2: envoy.config.core.v3.EnvoyInternalAddress (*SocketAddress)(nil), // 3: envoy.config.core.v3.SocketAddress (*TcpKeepalive)(nil), // 4: envoy.config.core.v3.TcpKeepalive (*ExtraSourceAddress)(nil), // 5: envoy.config.core.v3.ExtraSourceAddress (*BindConfig)(nil), // 6: envoy.config.core.v3.BindConfig (*Address)(nil), // 7: envoy.config.core.v3.Address (*CidrRange)(nil), // 8: envoy.config.core.v3.CidrRange (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*SocketOptionsOverride)(nil), // 10: envoy.config.core.v3.SocketOptionsOverride (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue (*SocketOption)(nil), // 12: envoy.config.core.v3.SocketOption (*TypedExtensionConfig)(nil), // 13: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_core_v3_address_proto_depIdxs = []int32{ 0, // 0: envoy.config.core.v3.SocketAddress.protocol:type_name -> envoy.config.core.v3.SocketAddress.Protocol 9, // 1: envoy.config.core.v3.TcpKeepalive.keepalive_probes:type_name -> google.protobuf.UInt32Value 9, // 2: envoy.config.core.v3.TcpKeepalive.keepalive_time:type_name -> google.protobuf.UInt32Value 9, // 3: envoy.config.core.v3.TcpKeepalive.keepalive_interval:type_name -> google.protobuf.UInt32Value 3, // 4: envoy.config.core.v3.ExtraSourceAddress.address:type_name -> envoy.config.core.v3.SocketAddress 10, // 5: envoy.config.core.v3.ExtraSourceAddress.socket_options:type_name -> envoy.config.core.v3.SocketOptionsOverride 3, // 6: envoy.config.core.v3.BindConfig.source_address:type_name -> envoy.config.core.v3.SocketAddress 11, // 7: envoy.config.core.v3.BindConfig.freebind:type_name -> google.protobuf.BoolValue 12, // 8: envoy.config.core.v3.BindConfig.socket_options:type_name -> envoy.config.core.v3.SocketOption 5, // 9: envoy.config.core.v3.BindConfig.extra_source_addresses:type_name -> envoy.config.core.v3.ExtraSourceAddress 3, // 10: envoy.config.core.v3.BindConfig.additional_source_addresses:type_name -> envoy.config.core.v3.SocketAddress 13, // 11: envoy.config.core.v3.BindConfig.local_address_selector:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 12: envoy.config.core.v3.Address.socket_address:type_name -> envoy.config.core.v3.SocketAddress 1, // 13: envoy.config.core.v3.Address.pipe:type_name -> envoy.config.core.v3.Pipe 2, // 14: envoy.config.core.v3.Address.envoy_internal_address:type_name -> envoy.config.core.v3.EnvoyInternalAddress 9, // 15: envoy.config.core.v3.CidrRange.prefix_len:type_name -> google.protobuf.UInt32Value 16, // [16:16] is the sub-list for method output_type 16, // [16:16] is the sub-list for method input_type 16, // [16:16] is the sub-list for extension type_name 16, // [16:16] is the sub-list for extension extendee 0, // [0:16] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_address_proto_init() } func file_envoy_config_core_v3_address_proto_init() { if File_envoy_config_core_v3_address_proto != nil { return } file_envoy_config_core_v3_extension_proto_init() file_envoy_config_core_v3_socket_option_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_address_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pipe); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvoyInternalAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpKeepalive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtraSourceAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BindConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Address); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_address_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CidrRange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_address_proto_msgTypes[1].OneofWrappers = []interface{}{ (*EnvoyInternalAddress_ServerListenerName)(nil), } file_envoy_config_core_v3_address_proto_msgTypes[2].OneofWrappers = []interface{}{ (*SocketAddress_PortValue)(nil), (*SocketAddress_NamedPort)(nil), } file_envoy_config_core_v3_address_proto_msgTypes[6].OneofWrappers = []interface{}{ (*Address_SocketAddress)(nil), (*Address_Pipe)(nil), (*Address_EnvoyInternalAddress)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_address_proto_rawDesc, NumEnums: 1, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_address_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_address_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_address_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_address_proto_msgTypes, }.Build() File_envoy_config_core_v3_address_proto = out.File file_envoy_config_core_v3_address_proto_rawDesc = nil file_envoy_config_core_v3_address_proto_goTypes = nil file_envoy_config_core_v3_address_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/address.pb.validate.go000077500000000000000000001141171454502223200250120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/address.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Pipe with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Pipe) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Pipe with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PipeMultiError, or nil if none found. func (m *Pipe) ValidateAll() error { return m.validate(true) } func (m *Pipe) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPath()) < 1 { err := PipeValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetMode() > 511 { err := PipeValidationError{ field: "Mode", reason: "value must be less than or equal to 511", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PipeMultiError(errors) } return nil } // PipeMultiError is an error wrapping multiple validation errors returned by // Pipe.ValidateAll() if the designated constraints aren't met. type PipeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PipeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PipeMultiError) AllErrors() []error { return m } // PipeValidationError is the validation error returned by Pipe.Validate if the // designated constraints aren't met. type PipeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PipeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PipeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PipeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PipeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PipeValidationError) ErrorName() string { return "PipeValidationError" } // Error satisfies the builtin error interface func (e PipeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPipe.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PipeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PipeValidationError{} // Validate checks the field values on EnvoyInternalAddress with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EnvoyInternalAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EnvoyInternalAddress with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EnvoyInternalAddressMultiError, or nil if none found. func (m *EnvoyInternalAddress) ValidateAll() error { return m.validate(true) } func (m *EnvoyInternalAddress) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EndpointId oneofAddressNameSpecifierPresent := false switch v := m.AddressNameSpecifier.(type) { case *EnvoyInternalAddress_ServerListenerName: if v == nil { err := EnvoyInternalAddressValidationError{ field: "AddressNameSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressNameSpecifierPresent = true // no validation rules for ServerListenerName default: _ = v // ensures v is used } if !oneofAddressNameSpecifierPresent { err := EnvoyInternalAddressValidationError{ field: "AddressNameSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return EnvoyInternalAddressMultiError(errors) } return nil } // EnvoyInternalAddressMultiError is an error wrapping multiple validation // errors returned by EnvoyInternalAddress.ValidateAll() if the designated // constraints aren't met. type EnvoyInternalAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EnvoyInternalAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EnvoyInternalAddressMultiError) AllErrors() []error { return m } // EnvoyInternalAddressValidationError is the validation error returned by // EnvoyInternalAddress.Validate if the designated constraints aren't met. type EnvoyInternalAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EnvoyInternalAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EnvoyInternalAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EnvoyInternalAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EnvoyInternalAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EnvoyInternalAddressValidationError) ErrorName() string { return "EnvoyInternalAddressValidationError" } // Error satisfies the builtin error interface func (e EnvoyInternalAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEnvoyInternalAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EnvoyInternalAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EnvoyInternalAddressValidationError{} // Validate checks the field values on SocketAddress with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketAddress with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketAddressMultiError, or // nil if none found. func (m *SocketAddress) ValidateAll() error { return m.validate(true) } func (m *SocketAddress) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := SocketAddress_Protocol_name[int32(m.GetProtocol())]; !ok { err := SocketAddressValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetAddress()) < 1 { err := SocketAddressValidationError{ field: "Address", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for ResolverName // no validation rules for Ipv4Compat oneofPortSpecifierPresent := false switch v := m.PortSpecifier.(type) { case *SocketAddress_PortValue: if v == nil { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPortSpecifierPresent = true if m.GetPortValue() > 65535 { err := SocketAddressValidationError{ field: "PortValue", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } case *SocketAddress_NamedPort: if v == nil { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPortSpecifierPresent = true // no validation rules for NamedPort default: _ = v // ensures v is used } if !oneofPortSpecifierPresent { err := SocketAddressValidationError{ field: "PortSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SocketAddressMultiError(errors) } return nil } // SocketAddressMultiError is an error wrapping multiple validation errors // returned by SocketAddress.ValidateAll() if the designated constraints // aren't met. type SocketAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketAddressMultiError) AllErrors() []error { return m } // SocketAddressValidationError is the validation error returned by // SocketAddress.Validate if the designated constraints aren't met. type SocketAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketAddressValidationError) ErrorName() string { return "SocketAddressValidationError" } // Error satisfies the builtin error interface func (e SocketAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketAddressValidationError{} // Validate checks the field values on TcpKeepalive with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TcpKeepalive) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpKeepalive with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TcpKeepaliveMultiError, or // nil if none found. func (m *TcpKeepalive) ValidateAll() error { return m.validate(true) } func (m *TcpKeepalive) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetKeepaliveProbes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveProbes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveProbes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKeepaliveTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKeepaliveInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeepaliveInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpKeepaliveValidationError{ field: "KeepaliveInterval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpKeepaliveMultiError(errors) } return nil } // TcpKeepaliveMultiError is an error wrapping multiple validation errors // returned by TcpKeepalive.ValidateAll() if the designated constraints aren't met. type TcpKeepaliveMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpKeepaliveMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpKeepaliveMultiError) AllErrors() []error { return m } // TcpKeepaliveValidationError is the validation error returned by // TcpKeepalive.Validate if the designated constraints aren't met. type TcpKeepaliveValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpKeepaliveValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpKeepaliveValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpKeepaliveValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpKeepaliveValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpKeepaliveValidationError) ErrorName() string { return "TcpKeepaliveValidationError" } // Error satisfies the builtin error interface func (e TcpKeepaliveValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpKeepalive.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpKeepaliveValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpKeepaliveValidationError{} // Validate checks the field values on ExtraSourceAddress with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ExtraSourceAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtraSourceAddress with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtraSourceAddressMultiError, or nil if none found. func (m *ExtraSourceAddress) ValidateAll() error { return m.validate(true) } func (m *ExtraSourceAddress) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetAddress() == nil { err := ExtraSourceAddressValidationError{ field: "Address", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtraSourceAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtraSourceAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtraSourceAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSocketOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtraSourceAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtraSourceAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtraSourceAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ExtraSourceAddressMultiError(errors) } return nil } // ExtraSourceAddressMultiError is an error wrapping multiple validation errors // returned by ExtraSourceAddress.ValidateAll() if the designated constraints // aren't met. type ExtraSourceAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtraSourceAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtraSourceAddressMultiError) AllErrors() []error { return m } // ExtraSourceAddressValidationError is the validation error returned by // ExtraSourceAddress.Validate if the designated constraints aren't met. type ExtraSourceAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtraSourceAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtraSourceAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtraSourceAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtraSourceAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtraSourceAddressValidationError) ErrorName() string { return "ExtraSourceAddressValidationError" } // Error satisfies the builtin error interface func (e ExtraSourceAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtraSourceAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtraSourceAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtraSourceAddressValidationError{} // Validate checks the field values on BindConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BindConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BindConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BindConfigMultiError, or // nil if none found. func (m *BindConfig) ValidateAll() error { return m.validate(true) } func (m *BindConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSourceAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: "SourceAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFreebind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetExtraSourceAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: fmt.Sprintf("ExtraSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetAdditionalSourceAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: fmt.Sprintf("AdditionalSourceAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLocalAddressSelector()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BindConfigValidationError{ field: "LocalAddressSelector", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BindConfigValidationError{ field: "LocalAddressSelector", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalAddressSelector()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BindConfigValidationError{ field: "LocalAddressSelector", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BindConfigMultiError(errors) } return nil } // BindConfigMultiError is an error wrapping multiple validation errors // returned by BindConfig.ValidateAll() if the designated constraints aren't met. type BindConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BindConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BindConfigMultiError) AllErrors() []error { return m } // BindConfigValidationError is the validation error returned by // BindConfig.Validate if the designated constraints aren't met. type BindConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BindConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BindConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BindConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BindConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BindConfigValidationError) ErrorName() string { return "BindConfigValidationError" } // Error satisfies the builtin error interface func (e BindConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBindConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BindConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BindConfigValidationError{} // Validate checks the field values on Address with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Address) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Address with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AddressMultiError, or nil if none found. func (m *Address) ValidateAll() error { return m.validate(true) } func (m *Address) validate(all bool) error { if m == nil { return nil } var errors []error oneofAddressPresent := false switch v := m.Address.(type) { case *Address_SocketAddress: if v == nil { err := AddressValidationError{ field: "Address", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressPresent = true if all { switch v := interface{}(m.GetSocketAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AddressValidationError{ field: "SocketAddress", reason: "embedded message failed validation", cause: err, } } } case *Address_Pipe: if v == nil { err := AddressValidationError{ field: "Address", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressPresent = true if all { switch v := interface{}(m.GetPipe()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPipe()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AddressValidationError{ field: "Pipe", reason: "embedded message failed validation", cause: err, } } } case *Address_EnvoyInternalAddress: if v == nil { err := AddressValidationError{ field: "Address", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofAddressPresent = true if all { switch v := interface{}(m.GetEnvoyInternalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AddressValidationError{ field: "EnvoyInternalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AddressValidationError{ field: "EnvoyInternalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvoyInternalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AddressValidationError{ field: "EnvoyInternalAddress", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofAddressPresent { err := AddressValidationError{ field: "Address", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AddressMultiError(errors) } return nil } // AddressMultiError is an error wrapping multiple validation errors returned // by Address.ValidateAll() if the designated constraints aren't met. type AddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AddressMultiError) AllErrors() []error { return m } // AddressValidationError is the validation error returned by Address.Validate // if the designated constraints aren't met. type AddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AddressValidationError) ErrorName() string { return "AddressValidationError" } // Error satisfies the builtin error interface func (e AddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AddressValidationError{} // Validate checks the field values on CidrRange with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CidrRange) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CidrRange with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CidrRangeMultiError, or nil // if none found. func (m *CidrRange) ValidateAll() error { return m.validate(true) } func (m *CidrRange) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetAddressPrefix()) < 1 { err := CidrRangeValidationError{ field: "AddressPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetPrefixLen(); wrapper != nil { if wrapper.GetValue() > 128 { err := CidrRangeValidationError{ field: "PrefixLen", reason: "value must be less than or equal to 128", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return CidrRangeMultiError(errors) } return nil } // CidrRangeMultiError is an error wrapping multiple validation errors returned // by CidrRange.ValidateAll() if the designated constraints aren't met. type CidrRangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CidrRangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CidrRangeMultiError) AllErrors() []error { return m } // CidrRangeValidationError is the validation error returned by // CidrRange.Validate if the designated constraints aren't met. type CidrRangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CidrRangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CidrRangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CidrRangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CidrRangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CidrRangeValidationError) ErrorName() string { return "CidrRangeValidationError" } // Error satisfies the builtin error interface func (e CidrRangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCidrRange.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CidrRangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CidrRangeValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/backoff.pb.go000077500000000000000000000212301454502223200231610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/backoff.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration defining a jittered exponential back off strategy. type BackoffStrategy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The base interval to be used for the next back off computation. It should // be greater than zero and less than or equal to :ref:`max_interval // `. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between retries. This parameter is optional, // but must be greater than or equal to the :ref:`base_interval // ` if set. The default // is 10 times the :ref:`base_interval // `. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *BackoffStrategy) Reset() { *x = BackoffStrategy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_backoff_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackoffStrategy) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackoffStrategy) ProtoMessage() {} func (x *BackoffStrategy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_backoff_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BackoffStrategy.ProtoReflect.Descriptor instead. func (*BackoffStrategy) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_backoff_proto_rawDescGZIP(), []int{0} } func (x *BackoffStrategy) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *BackoffStrategy) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } var File_envoy_config_core_v3_backoff_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_backoff_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x80, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_backoff_proto_rawDescOnce sync.Once file_envoy_config_core_v3_backoff_proto_rawDescData = file_envoy_config_core_v3_backoff_proto_rawDesc ) func file_envoy_config_core_v3_backoff_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_backoff_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_backoff_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_backoff_proto_rawDescData) }) return file_envoy_config_core_v3_backoff_proto_rawDescData } var file_envoy_config_core_v3_backoff_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_backoff_proto_goTypes = []interface{}{ (*BackoffStrategy)(nil), // 0: envoy.config.core.v3.BackoffStrategy (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_config_core_v3_backoff_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.BackoffStrategy.base_interval:type_name -> google.protobuf.Duration 1, // 1: envoy.config.core.v3.BackoffStrategy.max_interval:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_backoff_proto_init() } func file_envoy_config_core_v3_backoff_proto_init() { if File_envoy_config_core_v3_backoff_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_backoff_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackoffStrategy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_backoff_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_backoff_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_backoff_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_backoff_proto_msgTypes, }.Build() File_envoy_config_core_v3_backoff_proto = out.File file_envoy_config_core_v3_backoff_proto_rawDesc = nil file_envoy_config_core_v3_backoff_proto_goTypes = nil file_envoy_config_core_v3_backoff_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/backoff.pb.validate.go000077500000000000000000000112211454502223200247500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/backoff.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on BackoffStrategy with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *BackoffStrategy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BackoffStrategy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BackoffStrategyMultiError, or nil if none found. func (m *BackoffStrategy) ValidateAll() error { return m.validate(true) } func (m *BackoffStrategy) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := BackoffStrategyValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BackoffStrategyValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := BackoffStrategyValidationError{ field: "BaseInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BackoffStrategyValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := BackoffStrategyValidationError{ field: "MaxInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return BackoffStrategyMultiError(errors) } return nil } // BackoffStrategyMultiError is an error wrapping multiple validation errors // returned by BackoffStrategy.ValidateAll() if the designated constraints // aren't met. type BackoffStrategyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BackoffStrategyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BackoffStrategyMultiError) AllErrors() []error { return m } // BackoffStrategyValidationError is the validation error returned by // BackoffStrategy.Validate if the designated constraints aren't met. type BackoffStrategyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BackoffStrategyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BackoffStrategyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BackoffStrategyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BackoffStrategyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BackoffStrategyValidationError) ErrorName() string { return "BackoffStrategyValidationError" } // Error satisfies the builtin error interface func (e BackoffStrategyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBackoffStrategy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BackoffStrategyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BackoffStrategyValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/base.pb.go000077500000000000000000003225151454502223200225120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/base.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/cncf/xds/go/xds/core/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy supports :ref:`upstream priority routing // ` both at the route and the virtual // cluster level. The current priority implementation uses different connection // pool and circuit breaking settings for each priority level. This means that // even for HTTP/2 requests, two physical connections will be used to an // upstream host. In the future Envoy will likely support true HTTP/2 priority // over a single upstream connection. type RoutingPriority int32 const ( RoutingPriority_DEFAULT RoutingPriority = 0 RoutingPriority_HIGH RoutingPriority = 1 ) // Enum value maps for RoutingPriority. var ( RoutingPriority_name = map[int32]string{ 0: "DEFAULT", 1: "HIGH", } RoutingPriority_value = map[string]int32{ "DEFAULT": 0, "HIGH": 1, } ) func (x RoutingPriority) Enum() *RoutingPriority { p := new(RoutingPriority) *p = x return p } func (x RoutingPriority) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RoutingPriority) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_base_proto_enumTypes[0].Descriptor() } func (RoutingPriority) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_base_proto_enumTypes[0] } func (x RoutingPriority) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RoutingPriority.Descriptor instead. func (RoutingPriority) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{0} } // HTTP request method. type RequestMethod int32 const ( RequestMethod_METHOD_UNSPECIFIED RequestMethod = 0 RequestMethod_GET RequestMethod = 1 RequestMethod_HEAD RequestMethod = 2 RequestMethod_POST RequestMethod = 3 RequestMethod_PUT RequestMethod = 4 RequestMethod_DELETE RequestMethod = 5 RequestMethod_CONNECT RequestMethod = 6 RequestMethod_OPTIONS RequestMethod = 7 RequestMethod_TRACE RequestMethod = 8 RequestMethod_PATCH RequestMethod = 9 ) // Enum value maps for RequestMethod. var ( RequestMethod_name = map[int32]string{ 0: "METHOD_UNSPECIFIED", 1: "GET", 2: "HEAD", 3: "POST", 4: "PUT", 5: "DELETE", 6: "CONNECT", 7: "OPTIONS", 8: "TRACE", 9: "PATCH", } RequestMethod_value = map[string]int32{ "METHOD_UNSPECIFIED": 0, "GET": 1, "HEAD": 2, "POST": 3, "PUT": 4, "DELETE": 5, "CONNECT": 6, "OPTIONS": 7, "TRACE": 8, "PATCH": 9, } ) func (x RequestMethod) Enum() *RequestMethod { p := new(RequestMethod) *p = x return p } func (x RequestMethod) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RequestMethod) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_base_proto_enumTypes[1].Descriptor() } func (RequestMethod) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_base_proto_enumTypes[1] } func (x RequestMethod) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RequestMethod.Descriptor instead. func (RequestMethod) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{1} } // Identifies the direction of the traffic relative to the local Envoy. type TrafficDirection int32 const ( // Default option is unspecified. TrafficDirection_UNSPECIFIED TrafficDirection = 0 // The transport is used for incoming traffic. TrafficDirection_INBOUND TrafficDirection = 1 // The transport is used for outgoing traffic. TrafficDirection_OUTBOUND TrafficDirection = 2 ) // Enum value maps for TrafficDirection. var ( TrafficDirection_name = map[int32]string{ 0: "UNSPECIFIED", 1: "INBOUND", 2: "OUTBOUND", } TrafficDirection_value = map[string]int32{ "UNSPECIFIED": 0, "INBOUND": 1, "OUTBOUND": 2, } ) func (x TrafficDirection) Enum() *TrafficDirection { p := new(TrafficDirection) *p = x return p } func (x TrafficDirection) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TrafficDirection) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_base_proto_enumTypes[2].Descriptor() } func (TrafficDirection) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_base_proto_enumTypes[2] } func (x TrafficDirection) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TrafficDirection.Descriptor instead. func (TrafficDirection) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{2} } // Describes the supported actions types for header append action. type HeaderValueOption_HeaderAppendAction int32 const ( // This action will append the specified value to the existing values if the header // already exists. If the header doesn't exist then this will add the header with // specified key and value. HeaderValueOption_APPEND_IF_EXISTS_OR_ADD HeaderValueOption_HeaderAppendAction = 0 // This action will add the header if it doesn't already exist. If the header // already exists then this will be a no-op. HeaderValueOption_ADD_IF_ABSENT HeaderValueOption_HeaderAppendAction = 1 // This action will overwrite the specified value by discarding any existing values if // the header already exists. If the header doesn't exist then this will add the header // with specified key and value. HeaderValueOption_OVERWRITE_IF_EXISTS_OR_ADD HeaderValueOption_HeaderAppendAction = 2 // This action will overwrite the specified value by discarding any existing values if // the header already exists. If the header doesn't exist then this will be no-op. HeaderValueOption_OVERWRITE_IF_EXISTS HeaderValueOption_HeaderAppendAction = 3 ) // Enum value maps for HeaderValueOption_HeaderAppendAction. var ( HeaderValueOption_HeaderAppendAction_name = map[int32]string{ 0: "APPEND_IF_EXISTS_OR_ADD", 1: "ADD_IF_ABSENT", 2: "OVERWRITE_IF_EXISTS_OR_ADD", 3: "OVERWRITE_IF_EXISTS", } HeaderValueOption_HeaderAppendAction_value = map[string]int32{ "APPEND_IF_EXISTS_OR_ADD": 0, "ADD_IF_ABSENT": 1, "OVERWRITE_IF_EXISTS_OR_ADD": 2, "OVERWRITE_IF_EXISTS": 3, } ) func (x HeaderValueOption_HeaderAppendAction) Enum() *HeaderValueOption_HeaderAppendAction { p := new(HeaderValueOption_HeaderAppendAction) *p = x return p } func (x HeaderValueOption_HeaderAppendAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HeaderValueOption_HeaderAppendAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_base_proto_enumTypes[3].Descriptor() } func (HeaderValueOption_HeaderAppendAction) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_base_proto_enumTypes[3] } func (x HeaderValueOption_HeaderAppendAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HeaderValueOption_HeaderAppendAction.Descriptor instead. func (HeaderValueOption_HeaderAppendAction) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{11, 0} } // Identifies location of where either Envoy runs or where upstream hosts run. type Locality struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Region this :ref:`zone ` belongs to. Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` // Defines the local service zone where Envoy is running. Though optional, it // should be set if discovery service routing is used and the discovery // service exposes :ref:`zone data `, // either in this message or via :option:`--service-zone`. The meaning of zone // is context dependent, e.g. `Availability Zone (AZ) // `_ // on AWS, `Zone `_ on // GCP, etc. Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // When used for locality of upstream hosts, this field further splits zone // into smaller chunks of sub-zones so they can be load balanced // independently. SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` } func (x *Locality) Reset() { *x = Locality{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Locality) String() string { return protoimpl.X.MessageStringOf(x) } func (*Locality) ProtoMessage() {} func (x *Locality) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Locality.ProtoReflect.Descriptor instead. func (*Locality) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{0} } func (x *Locality) GetRegion() string { if x != nil { return x.Region } return "" } func (x *Locality) GetZone() string { if x != nil { return x.Zone } return "" } func (x *Locality) GetSubZone() string { if x != nil { return x.SubZone } return "" } // BuildVersion combines SemVer version of extension with free-form build information // (i.e. 'alpha', 'private-build') as a set of strings. type BuildVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SemVer version of extension. Version *v3.SemanticVersion `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Free-form build information. // Envoy defines several well known keys in the source/common/version/version.h file Metadata *_struct.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *BuildVersion) Reset() { *x = BuildVersion{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BuildVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*BuildVersion) ProtoMessage() {} func (x *BuildVersion) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BuildVersion.ProtoReflect.Descriptor instead. func (*BuildVersion) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{1} } func (x *BuildVersion) GetVersion() *v3.SemanticVersion { if x != nil { return x.Version } return nil } func (x *BuildVersion) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } // Version and identification for an Envoy extension. // [#next-free-field: 7] type Extension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is the name of the Envoy filter as specified in the Envoy // configuration, e.g. envoy.filters.http.router, com.acme.widget. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Category of the extension. // Extension category names use reverse DNS notation. For instance "envoy.filters.listener" // for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from // acme.com vendor. // [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.] Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // [#not-implemented-hide:] Type descriptor of extension configuration proto. // [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.] // [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.] // // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. TypeDescriptor string `protobuf:"bytes,3,opt,name=type_descriptor,json=typeDescriptor,proto3" json:"type_descriptor,omitempty"` // The version is a property of the extension and maintained independently // of other extensions and the Envoy API. // This field is not set when extension did not provide version information. Version *BuildVersion `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // Indicates that the extension is present but was disabled via dynamic configuration. Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` // Type URLs of extension configuration protos. TypeUrls []string `protobuf:"bytes,6,rep,name=type_urls,json=typeUrls,proto3" json:"type_urls,omitempty"` } func (x *Extension) Reset() { *x = Extension{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Extension) String() string { return protoimpl.X.MessageStringOf(x) } func (*Extension) ProtoMessage() {} func (x *Extension) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Extension.ProtoReflect.Descriptor instead. func (*Extension) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{2} } func (x *Extension) GetName() string { if x != nil { return x.Name } return "" } func (x *Extension) GetCategory() string { if x != nil { return x.Category } return "" } // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. func (x *Extension) GetTypeDescriptor() string { if x != nil { return x.TypeDescriptor } return "" } func (x *Extension) GetVersion() *BuildVersion { if x != nil { return x.Version } return nil } func (x *Extension) GetDisabled() bool { if x != nil { return x.Disabled } return false } func (x *Extension) GetTypeUrls() []string { if x != nil { return x.TypeUrls } return nil } // Identifies a specific Envoy instance. The node identifier is presented to the // management server, which may use this identifier to distinguish per Envoy // configuration for serving. // [#next-free-field: 13] type Node struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An opaque node identifier for the Envoy node. This also provides the local // service node name. It should be set if any of the following features are // used: :ref:`statsd `, :ref:`CDS // `, and :ref:`HTTP tracing // `, either in this message or via // :option:`--service-node`. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Defines the local service cluster name where Envoy is running. Though // optional, it should be set if any of the following features are used: // :ref:`statsd `, :ref:`health check cluster // verification // `, // :ref:`runtime override directory `, // :ref:`user agent addition // `, // :ref:`HTTP global rate limiting `, // :ref:`CDS `, and :ref:`HTTP tracing // `, either in this message or via // :option:`--service-cluster`. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // Opaque metadata extending the node identifier. Envoy will pass this // directly to the management server. Metadata *_struct.Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // Map from xDS resource type URL to dynamic context parameters. These may vary at runtime (unlike // other fields in this message). For example, the xDS client may have a shard identifier that // changes during the lifetime of the xDS client. In Envoy, this would be achieved by updating the // dynamic context on the Server::Instance's LocalInfo context provider. The shard ID dynamic // parameter then appears in this field during future discovery requests. DynamicParameters map[string]*v31.ContextParams `protobuf:"bytes,12,rep,name=dynamic_parameters,json=dynamicParameters,proto3" json:"dynamic_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Locality specifying where the Envoy instance is running. Locality *Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` // Free-form string that identifies the entity requesting config. // E.g. "envoy" or "grpc" UserAgentName string `protobuf:"bytes,6,opt,name=user_agent_name,json=userAgentName,proto3" json:"user_agent_name,omitempty"` // Types that are assignable to UserAgentVersionType: // // *Node_UserAgentVersion // *Node_UserAgentBuildVersion UserAgentVersionType isNode_UserAgentVersionType `protobuf_oneof:"user_agent_version_type"` // List of extensions and their versions supported by the node. Extensions []*Extension `protobuf:"bytes,9,rep,name=extensions,proto3" json:"extensions,omitempty"` // Client feature support list. These are well known features described // in the Envoy API repository for a given major version of an API. Client features // use reverse DNS naming scheme, for example “com.acme.feature“. // See :ref:`the list of features ` that xDS client may // support. ClientFeatures []string `protobuf:"bytes,10,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"` // Known listening ports on the node as a generic hint to the management server // for filtering :ref:`listeners ` to be returned. For example, // if there is a listener bound to port 80, the list can optionally contain the // SocketAddress “(0.0.0.0,80)“. The field is optional and just a hint. // // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. ListeningAddresses []*Address `protobuf:"bytes,11,rep,name=listening_addresses,json=listeningAddresses,proto3" json:"listening_addresses,omitempty"` } func (x *Node) Reset() { *x = Node{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Node) String() string { return protoimpl.X.MessageStringOf(x) } func (*Node) ProtoMessage() {} func (x *Node) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Node.ProtoReflect.Descriptor instead. func (*Node) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{3} } func (x *Node) GetId() string { if x != nil { return x.Id } return "" } func (x *Node) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *Node) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } func (x *Node) GetDynamicParameters() map[string]*v31.ContextParams { if x != nil { return x.DynamicParameters } return nil } func (x *Node) GetLocality() *Locality { if x != nil { return x.Locality } return nil } func (x *Node) GetUserAgentName() string { if x != nil { return x.UserAgentName } return "" } func (m *Node) GetUserAgentVersionType() isNode_UserAgentVersionType { if m != nil { return m.UserAgentVersionType } return nil } func (x *Node) GetUserAgentVersion() string { if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentVersion); ok { return x.UserAgentVersion } return "" } func (x *Node) GetUserAgentBuildVersion() *BuildVersion { if x, ok := x.GetUserAgentVersionType().(*Node_UserAgentBuildVersion); ok { return x.UserAgentBuildVersion } return nil } func (x *Node) GetExtensions() []*Extension { if x != nil { return x.Extensions } return nil } func (x *Node) GetClientFeatures() []string { if x != nil { return x.ClientFeatures } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. func (x *Node) GetListeningAddresses() []*Address { if x != nil { return x.ListeningAddresses } return nil } type isNode_UserAgentVersionType interface { isNode_UserAgentVersionType() } type Node_UserAgentVersion struct { // Free-form string that identifies the version of the entity requesting config. // E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild" UserAgentVersion string `protobuf:"bytes,7,opt,name=user_agent_version,json=userAgentVersion,proto3,oneof"` } type Node_UserAgentBuildVersion struct { // Structured version of the entity requesting config. UserAgentBuildVersion *BuildVersion `protobuf:"bytes,8,opt,name=user_agent_build_version,json=userAgentBuildVersion,proto3,oneof"` } func (*Node_UserAgentVersion) isNode_UserAgentVersionType() {} func (*Node_UserAgentBuildVersion) isNode_UserAgentVersionType() {} // Metadata provides additional inputs to filters based on matched listeners, // filter chains, routes and endpoints. It is structured as a map, usually from // filter name (in reverse DNS format) to metadata specific to the filter. Metadata // key-values for a filter are merged as connection and request handling occurs, // with later values for the same key overriding earlier values. // // An example use of metadata is providing additional values to // http_connection_manager in the envoy.http_connection_manager.access_log // namespace. // // Another example use of metadata is to per service config info in cluster metadata, which may get // consumed by multiple filters. // // For load balancing, Metadata provides a means to subset cluster endpoints. // Endpoints have a Metadata object associated and routes contain a Metadata // object to match against. There are some well defined metadata used today for // this purpose: // // - “{"envoy.lb": {"canary": }}“ This indicates the canary status of an // endpoint and is also used during header processing // (x-envoy-upstream-canary) and for stats purposes. // // [#next-major-version: move to type/metadata/v2] type Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Key is the reverse DNS filter name, e.g. com.acme.widget. The “envoy.*“ // namespace is reserved for Envoy's built-in filters. // If both “filter_metadata“ and // :ref:`typed_filter_metadata ` // fields are present in the metadata with same keys, // only “typed_filter_metadata“ field will be parsed. FilterMetadata map[string]*_struct.Struct `protobuf:"bytes,1,rep,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Key is the reverse DNS filter name, e.g. com.acme.widget. The “envoy.*“ // namespace is reserved for Envoy's built-in filters. // The value is encoded as google.protobuf.Any. // If both :ref:`filter_metadata ` // and “typed_filter_metadata“ fields are present in the metadata with same keys, // only “typed_filter_metadata“ field will be parsed. TypedFilterMetadata map[string]*any1.Any `protobuf:"bytes,2,rep,name=typed_filter_metadata,json=typedFilterMetadata,proto3" json:"typed_filter_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{4} } func (x *Metadata) GetFilterMetadata() map[string]*_struct.Struct { if x != nil { return x.FilterMetadata } return nil } func (x *Metadata) GetTypedFilterMetadata() map[string]*any1.Any { if x != nil { return x.TypedFilterMetadata } return nil } // Runtime derived uint32 with a default when not specified. type RuntimeUInt32 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue uint32 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. RuntimeKey string `protobuf:"bytes,3,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeUInt32) Reset() { *x = RuntimeUInt32{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeUInt32) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeUInt32) ProtoMessage() {} func (x *RuntimeUInt32) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeUInt32.ProtoReflect.Descriptor instead. func (*RuntimeUInt32) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{5} } func (x *RuntimeUInt32) GetDefaultValue() uint32 { if x != nil { return x.DefaultValue } return 0 } func (x *RuntimeUInt32) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Runtime derived percentage with a default when not specified. type RuntimePercent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue *v3.Percent `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimePercent) Reset() { *x = RuntimePercent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimePercent) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimePercent) ProtoMessage() {} func (x *RuntimePercent) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimePercent.ProtoReflect.Descriptor instead. func (*RuntimePercent) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{6} } func (x *RuntimePercent) GetDefaultValue() *v3.Percent { if x != nil { return x.DefaultValue } return nil } func (x *RuntimePercent) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Runtime derived double with a default when not specified. type RuntimeDouble struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue float64 `protobuf:"fixed64,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeDouble) Reset() { *x = RuntimeDouble{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeDouble) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeDouble) ProtoMessage() {} func (x *RuntimeDouble) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeDouble.ProtoReflect.Descriptor instead. func (*RuntimeDouble) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{7} } func (x *RuntimeDouble) GetDefaultValue() float64 { if x != nil { return x.DefaultValue } return 0 } func (x *RuntimeDouble) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Runtime derived bool with a default when not specified. type RuntimeFeatureFlag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if runtime value is not available. DefaultValue *wrappers.BoolValue `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key to get value for comparison. This value is used if defined. The boolean value must // be represented via its // `canonical JSON encoding `_. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeFeatureFlag) Reset() { *x = RuntimeFeatureFlag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFeatureFlag) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFeatureFlag) ProtoMessage() {} func (x *RuntimeFeatureFlag) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFeatureFlag.ProtoReflect.Descriptor instead. func (*RuntimeFeatureFlag) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{8} } func (x *RuntimeFeatureFlag) GetDefaultValue() *wrappers.BoolValue { if x != nil { return x.DefaultValue } return nil } func (x *RuntimeFeatureFlag) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Query parameter name/value pair. type QueryParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key of the query parameter. Case sensitive. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The value of the query parameter. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *QueryParameter) Reset() { *x = QueryParameter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryParameter) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryParameter) ProtoMessage() {} func (x *QueryParameter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueryParameter.ProtoReflect.Descriptor instead. func (*QueryParameter) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{9} } func (x *QueryParameter) GetKey() string { if x != nil { return x.Key } return "" } func (x *QueryParameter) GetValue() string { if x != nil { return x.Value } return "" } // Header name/value pair. type HeaderValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Header value. // // The same :ref:`format specifier ` as used for // :ref:`HTTP access logging ` applies here, however // unknown header values are replaced with the empty string instead of “-“. // Header value is encoded as string. This does not work for non-utf8 characters. // Only one of “value“ or “raw_value“ can be set. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // Header value is encoded as bytes which can support non-utf8 characters. // Only one of “value“ or “raw_value“ can be set. RawValue []byte `protobuf:"bytes,3,opt,name=raw_value,json=rawValue,proto3" json:"raw_value,omitempty"` } func (x *HeaderValue) Reset() { *x = HeaderValue{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValue) ProtoMessage() {} func (x *HeaderValue) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValue.ProtoReflect.Descriptor instead. func (*HeaderValue) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{10} } func (x *HeaderValue) GetKey() string { if x != nil { return x.Key } return "" } func (x *HeaderValue) GetValue() string { if x != nil { return x.Value } return "" } func (x *HeaderValue) GetRawValue() []byte { if x != nil { return x.RawValue } return nil } // Header name/value pair plus option to control append behavior. type HeaderValueOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name/value pair that this option applies to. Header *HeaderValue `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // Should the value be appended? If true (default), the value is appended to // existing values. Otherwise it replaces any existing values. // This field is deprecated and please use // :ref:`append_action ` as replacement. // // .. note:: // // The :ref:`external authorization service ` and // :ref:`external processor service ` have // default value (``false``) for this field. // // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. Append *wrappers.BoolValue `protobuf:"bytes,2,opt,name=append,proto3" json:"append,omitempty"` // Describes the action taken to append/overwrite the given value for an existing header // or to only add this header if it's absent. // Value defaults to :ref:`APPEND_IF_EXISTS_OR_ADD // `. AppendAction HeaderValueOption_HeaderAppendAction `protobuf:"varint,3,opt,name=append_action,json=appendAction,proto3,enum=envoy.config.core.v3.HeaderValueOption_HeaderAppendAction" json:"append_action,omitempty"` // Is the header value allowed to be empty? If false (default), custom headers with empty values are dropped, // otherwise they are added. KeepEmptyValue bool `protobuf:"varint,4,opt,name=keep_empty_value,json=keepEmptyValue,proto3" json:"keep_empty_value,omitempty"` } func (x *HeaderValueOption) Reset() { *x = HeaderValueOption{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValueOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValueOption) ProtoMessage() {} func (x *HeaderValueOption) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValueOption.ProtoReflect.Descriptor instead. func (*HeaderValueOption) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{11} } func (x *HeaderValueOption) GetHeader() *HeaderValue { if x != nil { return x.Header } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. func (x *HeaderValueOption) GetAppend() *wrappers.BoolValue { if x != nil { return x.Append } return nil } func (x *HeaderValueOption) GetAppendAction() HeaderValueOption_HeaderAppendAction { if x != nil { return x.AppendAction } return HeaderValueOption_APPEND_IF_EXISTS_OR_ADD } func (x *HeaderValueOption) GetKeepEmptyValue() bool { if x != nil { return x.KeepEmptyValue } return false } // Wrapper for a set of headers. type HeaderMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Headers []*HeaderValue `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HeaderMap) Reset() { *x = HeaderMap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMap) ProtoMessage() {} func (x *HeaderMap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMap.ProtoReflect.Descriptor instead. func (*HeaderMap) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{12} } func (x *HeaderMap) GetHeaders() []*HeaderValue { if x != nil { return x.Headers } return nil } // A directory that is watched for changes, e.g. by inotify on Linux. Move/rename // events inside this directory trigger the watch. type WatchedDirectory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Directory path to watch. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` } func (x *WatchedDirectory) Reset() { *x = WatchedDirectory{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WatchedDirectory) String() string { return protoimpl.X.MessageStringOf(x) } func (*WatchedDirectory) ProtoMessage() {} func (x *WatchedDirectory) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WatchedDirectory.ProtoReflect.Descriptor instead. func (*WatchedDirectory) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{13} } func (x *WatchedDirectory) GetPath() string { if x != nil { return x.Path } return "" } // Data source consisting of a file, an inline value, or an environment variable. type DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Specifier: // // *DataSource_Filename // *DataSource_InlineBytes // *DataSource_InlineString // *DataSource_EnvironmentVariable Specifier isDataSource_Specifier `protobuf_oneof:"specifier"` } func (x *DataSource) Reset() { *x = DataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*DataSource) ProtoMessage() {} func (x *DataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DataSource.ProtoReflect.Descriptor instead. func (*DataSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{14} } func (m *DataSource) GetSpecifier() isDataSource_Specifier { if m != nil { return m.Specifier } return nil } func (x *DataSource) GetFilename() string { if x, ok := x.GetSpecifier().(*DataSource_Filename); ok { return x.Filename } return "" } func (x *DataSource) GetInlineBytes() []byte { if x, ok := x.GetSpecifier().(*DataSource_InlineBytes); ok { return x.InlineBytes } return nil } func (x *DataSource) GetInlineString() string { if x, ok := x.GetSpecifier().(*DataSource_InlineString); ok { return x.InlineString } return "" } func (x *DataSource) GetEnvironmentVariable() string { if x, ok := x.GetSpecifier().(*DataSource_EnvironmentVariable); ok { return x.EnvironmentVariable } return "" } type isDataSource_Specifier interface { isDataSource_Specifier() } type DataSource_Filename struct { // Local filesystem data source. Filename string `protobuf:"bytes,1,opt,name=filename,proto3,oneof"` } type DataSource_InlineBytes struct { // Bytes inlined in the configuration. InlineBytes []byte `protobuf:"bytes,2,opt,name=inline_bytes,json=inlineBytes,proto3,oneof"` } type DataSource_InlineString struct { // String inlined in the configuration. InlineString string `protobuf:"bytes,3,opt,name=inline_string,json=inlineString,proto3,oneof"` } type DataSource_EnvironmentVariable struct { // Environment variable data source. EnvironmentVariable string `protobuf:"bytes,4,opt,name=environment_variable,json=environmentVariable,proto3,oneof"` } func (*DataSource_Filename) isDataSource_Specifier() {} func (*DataSource_InlineBytes) isDataSource_Specifier() {} func (*DataSource_InlineString) isDataSource_Specifier() {} func (*DataSource_EnvironmentVariable) isDataSource_Specifier() {} // The message specifies the retry policy of remote data source when fetching fails. type RetryPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies parameters that control :ref:`retry backoff strategy `. // This parameter is optional, in which case the default base interval is 1000 milliseconds. The // default maximum interval is 10 times the base interval. RetryBackOff *BackoffStrategy `protobuf:"bytes,1,opt,name=retry_back_off,json=retryBackOff,proto3" json:"retry_back_off,omitempty"` // Specifies the allowed number of retries. This parameter is optional and // defaults to 1. NumRetries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"` } func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{15} } func (x *RetryPolicy) GetRetryBackOff() *BackoffStrategy { if x != nil { return x.RetryBackOff } return nil } func (x *RetryPolicy) GetNumRetries() *wrappers.UInt32Value { if x != nil { return x.NumRetries } return nil } // The message specifies how to fetch data from remote and how to verify it. type RemoteDataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP URI to fetch the remote data. HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // SHA256 string for verifying data. Sha256 string `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"` // Retry policy for fetching remote data. RetryPolicy *RetryPolicy `protobuf:"bytes,3,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` } func (x *RemoteDataSource) Reset() { *x = RemoteDataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteDataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteDataSource) ProtoMessage() {} func (x *RemoteDataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemoteDataSource.ProtoReflect.Descriptor instead. func (*RemoteDataSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{16} } func (x *RemoteDataSource) GetHttpUri() *HttpUri { if x != nil { return x.HttpUri } return nil } func (x *RemoteDataSource) GetSha256() string { if x != nil { return x.Sha256 } return "" } func (x *RemoteDataSource) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } // Async data source which support async data fetch. type AsyncDataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Specifier: // // *AsyncDataSource_Local // *AsyncDataSource_Remote Specifier isAsyncDataSource_Specifier `protobuf_oneof:"specifier"` } func (x *AsyncDataSource) Reset() { *x = AsyncDataSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AsyncDataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*AsyncDataSource) ProtoMessage() {} func (x *AsyncDataSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsyncDataSource.ProtoReflect.Descriptor instead. func (*AsyncDataSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{17} } func (m *AsyncDataSource) GetSpecifier() isAsyncDataSource_Specifier { if m != nil { return m.Specifier } return nil } func (x *AsyncDataSource) GetLocal() *DataSource { if x, ok := x.GetSpecifier().(*AsyncDataSource_Local); ok { return x.Local } return nil } func (x *AsyncDataSource) GetRemote() *RemoteDataSource { if x, ok := x.GetSpecifier().(*AsyncDataSource_Remote); ok { return x.Remote } return nil } type isAsyncDataSource_Specifier interface { isAsyncDataSource_Specifier() } type AsyncDataSource_Local struct { // Local async data source. Local *DataSource `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } type AsyncDataSource_Remote struct { // Remote async data source. Remote *RemoteDataSource `protobuf:"bytes,2,opt,name=remote,proto3,oneof"` } func (*AsyncDataSource_Local) isAsyncDataSource_Specifier() {} func (*AsyncDataSource_Remote) isAsyncDataSource_Specifier() {} // Configuration for transport socket in :ref:`listeners ` and // :ref:`clusters `. If the configuration is // empty, a default transport socket implementation and configuration will be // chosen based on the platform and existence of tls_context. type TransportSocket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the transport socket to instantiate. The name must match a supported transport // socket implementation. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Implementation specific configuration which depends on the implementation being instantiated. // See the supported transport socket implementations for further documentation. // // Types that are assignable to ConfigType: // // *TransportSocket_TypedConfig ConfigType isTransportSocket_ConfigType `protobuf_oneof:"config_type"` } func (x *TransportSocket) Reset() { *x = TransportSocket{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransportSocket) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransportSocket) ProtoMessage() {} func (x *TransportSocket) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TransportSocket.ProtoReflect.Descriptor instead. func (*TransportSocket) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{18} } func (x *TransportSocket) GetName() string { if x != nil { return x.Name } return "" } func (m *TransportSocket) GetConfigType() isTransportSocket_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *TransportSocket) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*TransportSocket_TypedConfig); ok { return x.TypedConfig } return nil } type isTransportSocket_ConfigType interface { isTransportSocket_ConfigType() } type TransportSocket_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*TransportSocket_TypedConfig) isTransportSocket_ConfigType() {} // Runtime derived FractionalPercent with defaults for when the numerator or denominator is not // specified via a runtime key. // // .. note:: // // Parsing of the runtime key's data is implemented such that it may be represented as a // :ref:`FractionalPercent ` proto represented as JSON/YAML // and may also be represented as an integer with the assumption that the value is an integral // percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse // as a ``FractionalPercent`` whose numerator is 42 and denominator is HUNDRED. type RuntimeFractionalPercent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Default value if the runtime value's for the numerator/denominator keys are not available. DefaultValue *v3.FractionalPercent `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Runtime key for a YAML representation of a FractionalPercent. RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` } func (x *RuntimeFractionalPercent) Reset() { *x = RuntimeFractionalPercent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFractionalPercent) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFractionalPercent) ProtoMessage() {} func (x *RuntimeFractionalPercent) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFractionalPercent.ProtoReflect.Descriptor instead. func (*RuntimeFractionalPercent) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{19} } func (x *RuntimeFractionalPercent) GetDefaultValue() *v3.FractionalPercent { if x != nil { return x.DefaultValue } return nil } func (x *RuntimeFractionalPercent) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } // Identifies a specific ControlPlane instance that Envoy is connected to. type ControlPlane struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An opaque control plane identifier that uniquely identifies an instance // of control plane. This can be used to identify which control plane instance, // the Envoy is connected to. Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` } func (x *ControlPlane) Reset() { *x = ControlPlane{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ControlPlane) String() string { return protoimpl.X.MessageStringOf(x) } func (*ControlPlane) ProtoMessage() {} func (x *ControlPlane) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ControlPlane.ProtoReflect.Descriptor instead. func (*ControlPlane) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{20} } func (x *ControlPlane) GetIdentifier() string { if x != nil { return x.Identifier } return "" } var File_envoy_config_core_v3_base_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_base_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x3a, 0x21, 0x9a, 0xc5, 0x88, 0x1e, 0x1c, 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x60, 0x0a, 0x12, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x60, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x03, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6b, 0x0a, 0x15, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x74, 0x79, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5a, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x18, 0x54, 0x79, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x21, 0x9a, 0xc5, 0x88, 0x1e, 0x1c, 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x22, 0x77, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x41, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x10, 0x01, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xfa, 0x42, 0x0c, 0x72, 0x0a, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x12, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x1d, 0xfa, 0x42, 0x08, 0x7a, 0x06, 0x10, 0x00, 0x18, 0x80, 0x80, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x12, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd9, 0x03, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x69, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x03, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x22, 0x2f, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xf4, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x13, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x52, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x13, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xe8, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x2a, 0x28, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x2a, 0x89, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x09, 0x2a, 0x3e, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x7d, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x42, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_base_proto_rawDescOnce sync.Once file_envoy_config_core_v3_base_proto_rawDescData = file_envoy_config_core_v3_base_proto_rawDesc ) func file_envoy_config_core_v3_base_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_base_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_base_proto_rawDescData) }) return file_envoy_config_core_v3_base_proto_rawDescData } var file_envoy_config_core_v3_base_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_config_core_v3_base_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_envoy_config_core_v3_base_proto_goTypes = []interface{}{ (RoutingPriority)(0), // 0: envoy.config.core.v3.RoutingPriority (RequestMethod)(0), // 1: envoy.config.core.v3.RequestMethod (TrafficDirection)(0), // 2: envoy.config.core.v3.TrafficDirection (HeaderValueOption_HeaderAppendAction)(0), // 3: envoy.config.core.v3.HeaderValueOption.HeaderAppendAction (*Locality)(nil), // 4: envoy.config.core.v3.Locality (*BuildVersion)(nil), // 5: envoy.config.core.v3.BuildVersion (*Extension)(nil), // 6: envoy.config.core.v3.Extension (*Node)(nil), // 7: envoy.config.core.v3.Node (*Metadata)(nil), // 8: envoy.config.core.v3.Metadata (*RuntimeUInt32)(nil), // 9: envoy.config.core.v3.RuntimeUInt32 (*RuntimePercent)(nil), // 10: envoy.config.core.v3.RuntimePercent (*RuntimeDouble)(nil), // 11: envoy.config.core.v3.RuntimeDouble (*RuntimeFeatureFlag)(nil), // 12: envoy.config.core.v3.RuntimeFeatureFlag (*QueryParameter)(nil), // 13: envoy.config.core.v3.QueryParameter (*HeaderValue)(nil), // 14: envoy.config.core.v3.HeaderValue (*HeaderValueOption)(nil), // 15: envoy.config.core.v3.HeaderValueOption (*HeaderMap)(nil), // 16: envoy.config.core.v3.HeaderMap (*WatchedDirectory)(nil), // 17: envoy.config.core.v3.WatchedDirectory (*DataSource)(nil), // 18: envoy.config.core.v3.DataSource (*RetryPolicy)(nil), // 19: envoy.config.core.v3.RetryPolicy (*RemoteDataSource)(nil), // 20: envoy.config.core.v3.RemoteDataSource (*AsyncDataSource)(nil), // 21: envoy.config.core.v3.AsyncDataSource (*TransportSocket)(nil), // 22: envoy.config.core.v3.TransportSocket (*RuntimeFractionalPercent)(nil), // 23: envoy.config.core.v3.RuntimeFractionalPercent (*ControlPlane)(nil), // 24: envoy.config.core.v3.ControlPlane nil, // 25: envoy.config.core.v3.Node.DynamicParametersEntry nil, // 26: envoy.config.core.v3.Metadata.FilterMetadataEntry nil, // 27: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry (*v3.SemanticVersion)(nil), // 28: envoy.type.v3.SemanticVersion (*_struct.Struct)(nil), // 29: google.protobuf.Struct (*Address)(nil), // 30: envoy.config.core.v3.Address (*v3.Percent)(nil), // 31: envoy.type.v3.Percent (*wrappers.BoolValue)(nil), // 32: google.protobuf.BoolValue (*BackoffStrategy)(nil), // 33: envoy.config.core.v3.BackoffStrategy (*wrappers.UInt32Value)(nil), // 34: google.protobuf.UInt32Value (*HttpUri)(nil), // 35: envoy.config.core.v3.HttpUri (*any1.Any)(nil), // 36: google.protobuf.Any (*v3.FractionalPercent)(nil), // 37: envoy.type.v3.FractionalPercent (*v31.ContextParams)(nil), // 38: xds.core.v3.ContextParams } var file_envoy_config_core_v3_base_proto_depIdxs = []int32{ 28, // 0: envoy.config.core.v3.BuildVersion.version:type_name -> envoy.type.v3.SemanticVersion 29, // 1: envoy.config.core.v3.BuildVersion.metadata:type_name -> google.protobuf.Struct 5, // 2: envoy.config.core.v3.Extension.version:type_name -> envoy.config.core.v3.BuildVersion 29, // 3: envoy.config.core.v3.Node.metadata:type_name -> google.protobuf.Struct 25, // 4: envoy.config.core.v3.Node.dynamic_parameters:type_name -> envoy.config.core.v3.Node.DynamicParametersEntry 4, // 5: envoy.config.core.v3.Node.locality:type_name -> envoy.config.core.v3.Locality 5, // 6: envoy.config.core.v3.Node.user_agent_build_version:type_name -> envoy.config.core.v3.BuildVersion 6, // 7: envoy.config.core.v3.Node.extensions:type_name -> envoy.config.core.v3.Extension 30, // 8: envoy.config.core.v3.Node.listening_addresses:type_name -> envoy.config.core.v3.Address 26, // 9: envoy.config.core.v3.Metadata.filter_metadata:type_name -> envoy.config.core.v3.Metadata.FilterMetadataEntry 27, // 10: envoy.config.core.v3.Metadata.typed_filter_metadata:type_name -> envoy.config.core.v3.Metadata.TypedFilterMetadataEntry 31, // 11: envoy.config.core.v3.RuntimePercent.default_value:type_name -> envoy.type.v3.Percent 32, // 12: envoy.config.core.v3.RuntimeFeatureFlag.default_value:type_name -> google.protobuf.BoolValue 14, // 13: envoy.config.core.v3.HeaderValueOption.header:type_name -> envoy.config.core.v3.HeaderValue 32, // 14: envoy.config.core.v3.HeaderValueOption.append:type_name -> google.protobuf.BoolValue 3, // 15: envoy.config.core.v3.HeaderValueOption.append_action:type_name -> envoy.config.core.v3.HeaderValueOption.HeaderAppendAction 14, // 16: envoy.config.core.v3.HeaderMap.headers:type_name -> envoy.config.core.v3.HeaderValue 33, // 17: envoy.config.core.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.core.v3.BackoffStrategy 34, // 18: envoy.config.core.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value 35, // 19: envoy.config.core.v3.RemoteDataSource.http_uri:type_name -> envoy.config.core.v3.HttpUri 19, // 20: envoy.config.core.v3.RemoteDataSource.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy 18, // 21: envoy.config.core.v3.AsyncDataSource.local:type_name -> envoy.config.core.v3.DataSource 20, // 22: envoy.config.core.v3.AsyncDataSource.remote:type_name -> envoy.config.core.v3.RemoteDataSource 36, // 23: envoy.config.core.v3.TransportSocket.typed_config:type_name -> google.protobuf.Any 37, // 24: envoy.config.core.v3.RuntimeFractionalPercent.default_value:type_name -> envoy.type.v3.FractionalPercent 38, // 25: envoy.config.core.v3.Node.DynamicParametersEntry.value:type_name -> xds.core.v3.ContextParams 29, // 26: envoy.config.core.v3.Metadata.FilterMetadataEntry.value:type_name -> google.protobuf.Struct 36, // 27: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry.value:type_name -> google.protobuf.Any 28, // [28:28] is the sub-list for method output_type 28, // [28:28] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_base_proto_init() } func file_envoy_config_core_v3_base_proto_init() { if File_envoy_config_core_v3_base_proto != nil { return } file_envoy_config_core_v3_address_proto_init() file_envoy_config_core_v3_backoff_proto_init() file_envoy_config_core_v3_http_uri_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Locality); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BuildVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Extension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Node); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeUInt32); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimePercent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeDouble); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFeatureFlag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParameter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValueOption); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WatchedDirectory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteDataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AsyncDataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransportSocket); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFractionalPercent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_base_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ControlPlane); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_base_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Node_UserAgentVersion)(nil), (*Node_UserAgentBuildVersion)(nil), } file_envoy_config_core_v3_base_proto_msgTypes[14].OneofWrappers = []interface{}{ (*DataSource_Filename)(nil), (*DataSource_InlineBytes)(nil), (*DataSource_InlineString)(nil), (*DataSource_EnvironmentVariable)(nil), } file_envoy_config_core_v3_base_proto_msgTypes[17].OneofWrappers = []interface{}{ (*AsyncDataSource_Local)(nil), (*AsyncDataSource_Remote)(nil), } file_envoy_config_core_v3_base_proto_msgTypes[18].OneofWrappers = []interface{}{ (*TransportSocket_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_base_proto_rawDesc, NumEnums: 4, NumMessages: 24, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_base_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_base_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_base_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_base_proto_msgTypes, }.Build() File_envoy_config_core_v3_base_proto = out.File file_envoy_config_core_v3_base_proto_rawDesc = nil file_envoy_config_core_v3_base_proto_goTypes = nil file_envoy_config_core_v3_base_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/base.pb.validate.go000077500000000000000000002541301454502223200242770ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/base.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Locality with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Locality) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Locality with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalityMultiError, or nil // if none found. func (m *Locality) ValidateAll() error { return m.validate(true) } func (m *Locality) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Region // no validation rules for Zone // no validation rules for SubZone if len(errors) > 0 { return LocalityMultiError(errors) } return nil } // LocalityMultiError is an error wrapping multiple validation errors returned // by Locality.ValidateAll() if the designated constraints aren't met. type LocalityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityMultiError) AllErrors() []error { return m } // LocalityValidationError is the validation error returned by // Locality.Validate if the designated constraints aren't met. type LocalityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityValidationError) ErrorName() string { return "LocalityValidationError" } // Error satisfies the builtin error interface func (e LocalityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocality.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityValidationError{} // Validate checks the field values on BuildVersion with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BuildVersion) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BuildVersion with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BuildVersionMultiError, or // nil if none found. func (m *BuildVersion) ValidateAll() error { return m.validate(true) } func (m *BuildVersion) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BuildVersionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BuildVersionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BuildVersionMultiError(errors) } return nil } // BuildVersionMultiError is an error wrapping multiple validation errors // returned by BuildVersion.ValidateAll() if the designated constraints aren't met. type BuildVersionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BuildVersionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BuildVersionMultiError) AllErrors() []error { return m } // BuildVersionValidationError is the validation error returned by // BuildVersion.Validate if the designated constraints aren't met. type BuildVersionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BuildVersionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BuildVersionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BuildVersionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BuildVersionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BuildVersionValidationError) ErrorName() string { return "BuildVersionValidationError" } // Error satisfies the builtin error interface func (e BuildVersionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBuildVersion.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BuildVersionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BuildVersionValidationError{} // Validate checks the field values on Extension with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Extension) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Extension with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtensionMultiError, or nil // if none found. func (m *Extension) ValidateAll() error { return m.validate(true) } func (m *Extension) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for Category // no validation rules for TypeDescriptor if all { switch v := interface{}(m.GetVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionValidationError{ field: "Version", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Disabled if len(errors) > 0 { return ExtensionMultiError(errors) } return nil } // ExtensionMultiError is an error wrapping multiple validation errors returned // by Extension.ValidateAll() if the designated constraints aren't met. type ExtensionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionMultiError) AllErrors() []error { return m } // ExtensionValidationError is the validation error returned by // Extension.Validate if the designated constraints aren't met. type ExtensionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionValidationError) ErrorName() string { return "ExtensionValidationError" } // Error satisfies the builtin error interface func (e ExtensionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtension.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionValidationError{} // Validate checks the field values on Node with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Node) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Node with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in NodeMultiError, or nil if none found. func (m *Node) ValidateAll() error { return m.validate(true) } func (m *Node) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id // no validation rules for Cluster if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetDynamicParameters())) i := 0 for key := range m.GetDynamicParameters() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetDynamicParameters()[key] _ = val // no validation rules for DynamicParameters[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("DynamicParameters[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("DynamicParameters[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: fmt.Sprintf("DynamicParameters[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UserAgentName for idx, item := range m.GetExtensions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: fmt.Sprintf("Extensions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetListeningAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: fmt.Sprintf("ListeningAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } switch v := m.UserAgentVersionType.(type) { case *Node_UserAgentVersion: if v == nil { err := NodeValidationError{ field: "UserAgentVersionType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for UserAgentVersion case *Node_UserAgentBuildVersion: if v == nil { err := NodeValidationError{ field: "UserAgentVersionType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUserAgentBuildVersion()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUserAgentBuildVersion()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeValidationError{ field: "UserAgentBuildVersion", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return NodeMultiError(errors) } return nil } // NodeMultiError is an error wrapping multiple validation errors returned by // Node.ValidateAll() if the designated constraints aren't met. type NodeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NodeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NodeMultiError) AllErrors() []error { return m } // NodeValidationError is the validation error returned by Node.Validate if the // designated constraints aren't met. type NodeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NodeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NodeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NodeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NodeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NodeValidationError) ErrorName() string { return "NodeValidationError" } // Error satisfies the builtin error interface func (e NodeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNode.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NodeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NodeValidationError{} // Validate checks the field values on Metadata with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Metadata with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataMultiError, or nil // if none found. func (m *Metadata) ValidateAll() error { return m.validate(true) } func (m *Metadata) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetFilterMetadata())) i := 0 for key := range m.GetFilterMetadata() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetFilterMetadata()[key] _ = val // no validation rules for FilterMetadata[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataValidationError{ field: fmt.Sprintf("FilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } { sorted_keys := make([]string, len(m.GetTypedFilterMetadata())) i := 0 for key := range m.GetTypedFilterMetadata() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedFilterMetadata()[key] _ = val // no validation rules for TypedFilterMetadata[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("TypedFilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataValidationError{ field: fmt.Sprintf("TypedFilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataValidationError{ field: fmt.Sprintf("TypedFilterMetadata[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return MetadataMultiError(errors) } return nil } // MetadataMultiError is an error wrapping multiple validation errors returned // by Metadata.ValidateAll() if the designated constraints aren't met. type MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMultiError) AllErrors() []error { return m } // MetadataValidationError is the validation error returned by // Metadata.Validate if the designated constraints aren't met. type MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataValidationError) ErrorName() string { return "MetadataValidationError" } // Error satisfies the builtin error interface func (e MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataValidationError{} // Validate checks the field values on RuntimeUInt32 with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeUInt32) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeUInt32 with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeUInt32MultiError, or // nil if none found. func (m *RuntimeUInt32) ValidateAll() error { return m.validate(true) } func (m *RuntimeUInt32) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DefaultValue if utf8.RuneCountInString(m.GetRuntimeKey()) < 1 { err := RuntimeUInt32ValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeUInt32MultiError(errors) } return nil } // RuntimeUInt32MultiError is an error wrapping multiple validation errors // returned by RuntimeUInt32.ValidateAll() if the designated constraints // aren't met. type RuntimeUInt32MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeUInt32MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeUInt32MultiError) AllErrors() []error { return m } // RuntimeUInt32ValidationError is the validation error returned by // RuntimeUInt32.Validate if the designated constraints aren't met. type RuntimeUInt32ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeUInt32ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeUInt32ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeUInt32ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeUInt32ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeUInt32ValidationError) ErrorName() string { return "RuntimeUInt32ValidationError" } // Error satisfies the builtin error interface func (e RuntimeUInt32ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeUInt32.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeUInt32ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeUInt32ValidationError{} // Validate checks the field values on RuntimePercent with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimePercent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimePercent with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimePercentMultiError, // or nil if none found. func (m *RuntimePercent) ValidateAll() error { return m.validate(true) } func (m *RuntimePercent) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDefaultValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimePercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimePercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimePercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetRuntimeKey()) < 1 { err := RuntimePercentValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimePercentMultiError(errors) } return nil } // RuntimePercentMultiError is an error wrapping multiple validation errors // returned by RuntimePercent.ValidateAll() if the designated constraints // aren't met. type RuntimePercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimePercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimePercentMultiError) AllErrors() []error { return m } // RuntimePercentValidationError is the validation error returned by // RuntimePercent.Validate if the designated constraints aren't met. type RuntimePercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimePercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimePercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimePercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimePercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimePercentValidationError) ErrorName() string { return "RuntimePercentValidationError" } // Error satisfies the builtin error interface func (e RuntimePercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimePercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimePercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimePercentValidationError{} // Validate checks the field values on RuntimeDouble with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeDouble) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeDouble with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeDoubleMultiError, or // nil if none found. func (m *RuntimeDouble) ValidateAll() error { return m.validate(true) } func (m *RuntimeDouble) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DefaultValue if utf8.RuneCountInString(m.GetRuntimeKey()) < 1 { err := RuntimeDoubleValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeDoubleMultiError(errors) } return nil } // RuntimeDoubleMultiError is an error wrapping multiple validation errors // returned by RuntimeDouble.ValidateAll() if the designated constraints // aren't met. type RuntimeDoubleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeDoubleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeDoubleMultiError) AllErrors() []error { return m } // RuntimeDoubleValidationError is the validation error returned by // RuntimeDouble.Validate if the designated constraints aren't met. type RuntimeDoubleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeDoubleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeDoubleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeDoubleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeDoubleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeDoubleValidationError) ErrorName() string { return "RuntimeDoubleValidationError" } // Error satisfies the builtin error interface func (e RuntimeDoubleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeDouble.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeDoubleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeDoubleValidationError{} // Validate checks the field values on RuntimeFeatureFlag with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeFeatureFlag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFeatureFlag with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeFeatureFlagMultiError, or nil if none found. func (m *RuntimeFeatureFlag) ValidateAll() error { return m.validate(true) } func (m *RuntimeFeatureFlag) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValue() == nil { err := RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFeatureFlagValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetRuntimeKey()) < 1 { err := RuntimeFeatureFlagValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RuntimeFeatureFlagMultiError(errors) } return nil } // RuntimeFeatureFlagMultiError is an error wrapping multiple validation errors // returned by RuntimeFeatureFlag.ValidateAll() if the designated constraints // aren't met. type RuntimeFeatureFlagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFeatureFlagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFeatureFlagMultiError) AllErrors() []error { return m } // RuntimeFeatureFlagValidationError is the validation error returned by // RuntimeFeatureFlag.Validate if the designated constraints aren't met. type RuntimeFeatureFlagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFeatureFlagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFeatureFlagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFeatureFlagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFeatureFlagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFeatureFlagValidationError) ErrorName() string { return "RuntimeFeatureFlagValidationError" } // Error satisfies the builtin error interface func (e RuntimeFeatureFlagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFeatureFlag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFeatureFlagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFeatureFlagValidationError{} // Validate checks the field values on QueryParameter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *QueryParameter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QueryParameter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in QueryParameterMultiError, // or nil if none found. func (m *QueryParameter) ValidateAll() error { return m.validate(true) } func (m *QueryParameter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := QueryParameterValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Value if len(errors) > 0 { return QueryParameterMultiError(errors) } return nil } // QueryParameterMultiError is an error wrapping multiple validation errors // returned by QueryParameter.ValidateAll() if the designated constraints // aren't met. type QueryParameterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QueryParameterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QueryParameterMultiError) AllErrors() []error { return m } // QueryParameterValidationError is the validation error returned by // QueryParameter.Validate if the designated constraints aren't met. type QueryParameterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QueryParameterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QueryParameterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QueryParameterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QueryParameterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QueryParameterValidationError) ErrorName() string { return "QueryParameterValidationError" } // Error satisfies the builtin error interface func (e QueryParameterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQueryParameter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QueryParameterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QueryParameterValidationError{} // Validate checks the field values on HeaderValue with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderValue) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderValue with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderValueMultiError, or // nil if none found. func (m *HeaderValue) ValidateAll() error { return m.validate(true) } func (m *HeaderValue) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := HeaderValueValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetKey()) > 16384 { err := HeaderValueValidationError{ field: "Key", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_HeaderValue_Key_Pattern.MatchString(m.GetKey()) { err := HeaderValueValidationError{ field: "Key", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(m.GetValue()) > 16384 { err := HeaderValueValidationError{ field: "Value", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_HeaderValue_Value_Pattern.MatchString(m.GetValue()) { err := HeaderValueValidationError{ field: "Value", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if l := len(m.GetRawValue()); l < 0 || l > 16384 { err := HeaderValueValidationError{ field: "RawValue", reason: "value length must be between 0 and 16384 bytes, inclusive", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HeaderValueMultiError(errors) } return nil } // HeaderValueMultiError is an error wrapping multiple validation errors // returned by HeaderValue.ValidateAll() if the designated constraints aren't met. type HeaderValueMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValueMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValueMultiError) AllErrors() []error { return m } // HeaderValueValidationError is the validation error returned by // HeaderValue.Validate if the designated constraints aren't met. type HeaderValueValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValueValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValueValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValueValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValueValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValueValidationError) ErrorName() string { return "HeaderValueValidationError" } // Error satisfies the builtin error interface func (e HeaderValueValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValue.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValueValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValueValidationError{} var _HeaderValue_Key_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HeaderValue_Value_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HeaderValueOption with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HeaderValueOption) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderValueOption with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderValueOptionMultiError, or nil if none found. func (m *HeaderValueOption) ValidateAll() error { return m.validate(true) } func (m *HeaderValueOption) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHeader() == nil { err := HeaderValueOptionValidationError{ field: "Header", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValueOptionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAppend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAppend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValueOptionValidationError{ field: "Append", reason: "embedded message failed validation", cause: err, } } } if _, ok := HeaderValueOption_HeaderAppendAction_name[int32(m.GetAppendAction())]; !ok { err := HeaderValueOptionValidationError{ field: "AppendAction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for KeepEmptyValue if len(errors) > 0 { return HeaderValueOptionMultiError(errors) } return nil } // HeaderValueOptionMultiError is an error wrapping multiple validation errors // returned by HeaderValueOption.ValidateAll() if the designated constraints // aren't met. type HeaderValueOptionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValueOptionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValueOptionMultiError) AllErrors() []error { return m } // HeaderValueOptionValidationError is the validation error returned by // HeaderValueOption.Validate if the designated constraints aren't met. type HeaderValueOptionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValueOptionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValueOptionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValueOptionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValueOptionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValueOptionValidationError) ErrorName() string { return "HeaderValueOptionValidationError" } // Error satisfies the builtin error interface func (e HeaderValueOptionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValueOption.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValueOptionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValueOptionValidationError{} // Validate checks the field values on HeaderMap with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMap with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMapMultiError, or nil // if none found. func (m *HeaderMap) ValidateAll() error { return m.validate(true) } func (m *HeaderMap) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMapValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HeaderMapMultiError(errors) } return nil } // HeaderMapMultiError is an error wrapping multiple validation errors returned // by HeaderMap.ValidateAll() if the designated constraints aren't met. type HeaderMapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMapMultiError) AllErrors() []error { return m } // HeaderMapValidationError is the validation error returned by // HeaderMap.Validate if the designated constraints aren't met. type HeaderMapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMapValidationError) ErrorName() string { return "HeaderMapValidationError" } // Error satisfies the builtin error interface func (e HeaderMapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMapValidationError{} // Validate checks the field values on WatchedDirectory with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *WatchedDirectory) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WatchedDirectory with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // WatchedDirectoryMultiError, or nil if none found. func (m *WatchedDirectory) ValidateAll() error { return m.validate(true) } func (m *WatchedDirectory) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPath()) < 1 { err := WatchedDirectoryValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return WatchedDirectoryMultiError(errors) } return nil } // WatchedDirectoryMultiError is an error wrapping multiple validation errors // returned by WatchedDirectory.ValidateAll() if the designated constraints // aren't met. type WatchedDirectoryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WatchedDirectoryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WatchedDirectoryMultiError) AllErrors() []error { return m } // WatchedDirectoryValidationError is the validation error returned by // WatchedDirectory.Validate if the designated constraints aren't met. type WatchedDirectoryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WatchedDirectoryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WatchedDirectoryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WatchedDirectoryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WatchedDirectoryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WatchedDirectoryValidationError) ErrorName() string { return "WatchedDirectoryValidationError" } // Error satisfies the builtin error interface func (e WatchedDirectoryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWatchedDirectory.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WatchedDirectoryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WatchedDirectoryValidationError{} // Validate checks the field values on DataSource with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DataSource with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DataSourceMultiError, or // nil if none found. func (m *DataSource) ValidateAll() error { return m.validate(true) } func (m *DataSource) validate(all bool) error { if m == nil { return nil } var errors []error oneofSpecifierPresent := false switch v := m.Specifier.(type) { case *DataSource_Filename: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if utf8.RuneCountInString(m.GetFilename()) < 1 { err := DataSourceValidationError{ field: "Filename", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *DataSource_InlineBytes: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true // no validation rules for InlineBytes case *DataSource_InlineString: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true // no validation rules for InlineString case *DataSource_EnvironmentVariable: if v == nil { err := DataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if utf8.RuneCountInString(m.GetEnvironmentVariable()) < 1 { err := DataSourceValidationError{ field: "EnvironmentVariable", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSpecifierPresent { err := DataSourceValidationError{ field: "Specifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DataSourceMultiError(errors) } return nil } // DataSourceMultiError is an error wrapping multiple validation errors // returned by DataSource.ValidateAll() if the designated constraints aren't met. type DataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DataSourceMultiError) AllErrors() []error { return m } // DataSourceValidationError is the validation error returned by // DataSource.Validate if the designated constraints aren't met. type DataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DataSourceValidationError) ErrorName() string { return "DataSourceValidationError" } // Error satisfies the builtin error interface func (e DataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DataSourceValidationError{} // Validate checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RetryPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RetryPolicyMultiError, or // nil if none found. func (m *RetryPolicy) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRetryBackOff()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBackOff()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetNumRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNumRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RetryPolicyMultiError(errors) } return nil } // RetryPolicyMultiError is an error wrapping multiple validation errors // returned by RetryPolicy.ValidateAll() if the designated constraints aren't met. type RetryPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicyMultiError) AllErrors() []error { return m } // RetryPolicyValidationError is the validation error returned by // RetryPolicy.Validate if the designated constraints aren't met. type RetryPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicyValidationError) ErrorName() string { return "RetryPolicyValidationError" } // Error satisfies the builtin error interface func (e RetryPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicyValidationError{} // Validate checks the field values on RemoteDataSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RemoteDataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RemoteDataSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RemoteDataSourceMultiError, or nil if none found. func (m *RemoteDataSource) ValidateAll() error { return m.validate(true) } func (m *RemoteDataSource) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHttpUri() == nil { err := RemoteDataSourceValidationError{ field: "HttpUri", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteDataSourceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetSha256()) < 1 { err := RemoteDataSourceValidationError{ field: "Sha256", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteDataSourceValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RemoteDataSourceMultiError(errors) } return nil } // RemoteDataSourceMultiError is an error wrapping multiple validation errors // returned by RemoteDataSource.ValidateAll() if the designated constraints // aren't met. type RemoteDataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RemoteDataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RemoteDataSourceMultiError) AllErrors() []error { return m } // RemoteDataSourceValidationError is the validation error returned by // RemoteDataSource.Validate if the designated constraints aren't met. type RemoteDataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RemoteDataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RemoteDataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RemoteDataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RemoteDataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RemoteDataSourceValidationError) ErrorName() string { return "RemoteDataSourceValidationError" } // Error satisfies the builtin error interface func (e RemoteDataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRemoteDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RemoteDataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RemoteDataSourceValidationError{} // Validate checks the field values on AsyncDataSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AsyncDataSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AsyncDataSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AsyncDataSourceMultiError, or nil if none found. func (m *AsyncDataSource) ValidateAll() error { return m.validate(true) } func (m *AsyncDataSource) validate(all bool) error { if m == nil { return nil } var errors []error oneofSpecifierPresent := false switch v := m.Specifier.(type) { case *AsyncDataSource_Local: if v == nil { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if all { switch v := interface{}(m.GetLocal()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocal()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AsyncDataSourceValidationError{ field: "Local", reason: "embedded message failed validation", cause: err, } } } case *AsyncDataSource_Remote: if v == nil { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSpecifierPresent = true if all { switch v := interface{}(m.GetRemote()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemote()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AsyncDataSourceValidationError{ field: "Remote", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofSpecifierPresent { err := AsyncDataSourceValidationError{ field: "Specifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AsyncDataSourceMultiError(errors) } return nil } // AsyncDataSourceMultiError is an error wrapping multiple validation errors // returned by AsyncDataSource.ValidateAll() if the designated constraints // aren't met. type AsyncDataSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AsyncDataSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AsyncDataSourceMultiError) AllErrors() []error { return m } // AsyncDataSourceValidationError is the validation error returned by // AsyncDataSource.Validate if the designated constraints aren't met. type AsyncDataSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AsyncDataSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AsyncDataSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AsyncDataSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AsyncDataSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AsyncDataSourceValidationError) ErrorName() string { return "AsyncDataSourceValidationError" } // Error satisfies the builtin error interface func (e AsyncDataSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAsyncDataSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AsyncDataSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AsyncDataSourceValidationError{} // Validate checks the field values on TransportSocket with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TransportSocket) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TransportSocket with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TransportSocketMultiError, or nil if none found. func (m *TransportSocket) ValidateAll() error { return m.validate(true) } func (m *TransportSocket) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := TransportSocketValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *TransportSocket_TypedConfig: if v == nil { err := TransportSocketValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TransportSocketValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return TransportSocketMultiError(errors) } return nil } // TransportSocketMultiError is an error wrapping multiple validation errors // returned by TransportSocket.ValidateAll() if the designated constraints // aren't met. type TransportSocketMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TransportSocketMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TransportSocketMultiError) AllErrors() []error { return m } // TransportSocketValidationError is the validation error returned by // TransportSocket.Validate if the designated constraints aren't met. type TransportSocketValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TransportSocketValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TransportSocketValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TransportSocketValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TransportSocketValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TransportSocketValidationError) ErrorName() string { return "TransportSocketValidationError" } // Error satisfies the builtin error interface func (e TransportSocketValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTransportSocket.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TransportSocketValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TransportSocketValidationError{} // Validate checks the field values on RuntimeFractionalPercent with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RuntimeFractionalPercent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFractionalPercent with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeFractionalPercentMultiError, or nil if none found. func (m *RuntimeFractionalPercent) ValidateAll() error { return m.validate(true) } func (m *RuntimeFractionalPercent) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValue() == nil { err := RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFractionalPercentValidationError{ field: "DefaultValue", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RuntimeKey if len(errors) > 0 { return RuntimeFractionalPercentMultiError(errors) } return nil } // RuntimeFractionalPercentMultiError is an error wrapping multiple validation // errors returned by RuntimeFractionalPercent.ValidateAll() if the designated // constraints aren't met. type RuntimeFractionalPercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFractionalPercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFractionalPercentMultiError) AllErrors() []error { return m } // RuntimeFractionalPercentValidationError is the validation error returned by // RuntimeFractionalPercent.Validate if the designated constraints aren't met. type RuntimeFractionalPercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFractionalPercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFractionalPercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFractionalPercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFractionalPercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFractionalPercentValidationError) ErrorName() string { return "RuntimeFractionalPercentValidationError" } // Error satisfies the builtin error interface func (e RuntimeFractionalPercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFractionalPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFractionalPercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFractionalPercentValidationError{} // Validate checks the field values on ControlPlane with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ControlPlane) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ControlPlane with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ControlPlaneMultiError, or // nil if none found. func (m *ControlPlane) ValidateAll() error { return m.validate(true) } func (m *ControlPlane) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Identifier if len(errors) > 0 { return ControlPlaneMultiError(errors) } return nil } // ControlPlaneMultiError is an error wrapping multiple validation errors // returned by ControlPlane.ValidateAll() if the designated constraints aren't met. type ControlPlaneMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ControlPlaneMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ControlPlaneMultiError) AllErrors() []error { return m } // ControlPlaneValidationError is the validation error returned by // ControlPlane.Validate if the designated constraints aren't met. type ControlPlaneValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ControlPlaneValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ControlPlaneValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ControlPlaneValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ControlPlaneValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ControlPlaneValidationError) ErrorName() string { return "ControlPlaneValidationError" } // Error satisfies the builtin error interface func (e ControlPlaneValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sControlPlane.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ControlPlaneValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ControlPlaneValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/config_source.pb.go000077500000000000000000001563061454502223200244300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/config_source.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/cncf/xds/go/xds/core/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // xDS API and non-xDS services version. This is used to describe both resource and transport // protocol versions (in distinct configuration fields). type ApiVersion int32 const ( // When not specified, we assume v2, to ease migration to Envoy's stable API // versioning. If a client does not support v2 (e.g. due to deprecation), this // is an invalid value. // // Deprecated: Marked as deprecated in envoy/config/core/v3/config_source.proto. ApiVersion_AUTO ApiVersion = 0 // Use xDS v2 API. // // Deprecated: Marked as deprecated in envoy/config/core/v3/config_source.proto. ApiVersion_V2 ApiVersion = 1 // Use xDS v3 API. ApiVersion_V3 ApiVersion = 2 ) // Enum value maps for ApiVersion. var ( ApiVersion_name = map[int32]string{ 0: "AUTO", 1: "V2", 2: "V3", } ApiVersion_value = map[string]int32{ "AUTO": 0, "V2": 1, "V3": 2, } ) func (x ApiVersion) Enum() *ApiVersion { p := new(ApiVersion) *p = x return p } func (x ApiVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ApiVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_config_source_proto_enumTypes[0].Descriptor() } func (ApiVersion) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_config_source_proto_enumTypes[0] } func (x ApiVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ApiVersion.Descriptor instead. func (ApiVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0} } // APIs may be fetched via either REST or gRPC. type ApiConfigSource_ApiType int32 const ( // Ideally this would be 'reserved 0' but one can't reserve the default // value. Instead we throw an exception if this is ever used. // // Deprecated: Marked as deprecated in envoy/config/core/v3/config_source.proto. ApiConfigSource_DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE ApiConfigSource_ApiType = 0 // REST-JSON v2 API. The `canonical JSON encoding // `_ for // the v2 protos is used. ApiConfigSource_REST ApiConfigSource_ApiType = 1 // SotW gRPC service. ApiConfigSource_GRPC ApiConfigSource_ApiType = 2 // Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response} // rather than Discovery{Request,Response}. Rather than sending Envoy the entire state // with every update, the xDS server only sends what has changed since the last update. ApiConfigSource_DELTA_GRPC ApiConfigSource_ApiType = 3 // SotW xDS gRPC with ADS. All resources which resolve to this configuration source will be // multiplexed on a single connection to an ADS endpoint. // [#not-implemented-hide:] ApiConfigSource_AGGREGATED_GRPC ApiConfigSource_ApiType = 5 // Delta xDS gRPC with ADS. All resources which resolve to this configuration source will be // multiplexed on a single connection to an ADS endpoint. // [#not-implemented-hide:] ApiConfigSource_AGGREGATED_DELTA_GRPC ApiConfigSource_ApiType = 6 ) // Enum value maps for ApiConfigSource_ApiType. var ( ApiConfigSource_ApiType_name = map[int32]string{ 0: "DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE", 1: "REST", 2: "GRPC", 3: "DELTA_GRPC", 5: "AGGREGATED_GRPC", 6: "AGGREGATED_DELTA_GRPC", } ApiConfigSource_ApiType_value = map[string]int32{ "DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE": 0, "REST": 1, "GRPC": 2, "DELTA_GRPC": 3, "AGGREGATED_GRPC": 5, "AGGREGATED_DELTA_GRPC": 6, } ) func (x ApiConfigSource_ApiType) Enum() *ApiConfigSource_ApiType { p := new(ApiConfigSource_ApiType) *p = x return p } func (x ApiConfigSource_ApiType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ApiConfigSource_ApiType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_config_source_proto_enumTypes[1].Descriptor() } func (ApiConfigSource_ApiType) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_config_source_proto_enumTypes[1] } func (x ApiConfigSource_ApiType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ApiConfigSource_ApiType.Descriptor instead. func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0, 0} } // API configuration source. This identifies the API type and cluster that Envoy // will use to fetch an xDS API. // [#next-free-field: 10] type ApiConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // API type (gRPC, REST, delta gRPC) ApiType ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.config.core.v3.ApiConfigSource_ApiType" json:"api_type,omitempty"` // API version for xDS transport protocol. This describes the xDS gRPC/REST // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire. TransportApiVersion ApiVersion `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` // Cluster names should be used only with REST. If > 1 // cluster is defined, clusters will be cycled through if any kind of failure // occurs. // // .. note:: // // The cluster with name ``cluster_name`` must be statically defined and its // type must not be ``EDS``. ClusterNames []string `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"` // Multiple gRPC services be provided for GRPC. If > 1 cluster is defined, // services will be cycled through if any kind of failure occurs. GrpcServices []*GrpcService `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"` // For REST APIs, the delay between successive polls. RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"` // For REST APIs, the request timeout. If not set, a default value of 1s will be used. RequestTimeout *duration.Duration `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be // rate limited. RateLimitSettings *RateLimitSettings `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"` // Skip the node identifier in subsequent discovery requests for streaming gRPC config types. SetNodeOnFirstMessageOnly bool `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"` // A list of config validators that will be executed when a new update is // received from the ApiConfigSource. Note that each validator handles a // specific xDS service type, and only the validators corresponding to the // type url (in “:ref: DiscoveryResponse“ or “:ref: DeltaDiscoveryResponse“) // will be invoked. // If the validator returns false or throws an exception, the config will be rejected by // the client, and a NACK will be sent. // [#extension-category: envoy.config.validators] ConfigValidators []*TypedExtensionConfig `protobuf:"bytes,9,rep,name=config_validators,json=configValidators,proto3" json:"config_validators,omitempty"` } func (x *ApiConfigSource) Reset() { *x = ApiConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApiConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApiConfigSource) ProtoMessage() {} func (x *ApiConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApiConfigSource.ProtoReflect.Descriptor instead. func (*ApiConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0} } func (x *ApiConfigSource) GetApiType() ApiConfigSource_ApiType { if x != nil { return x.ApiType } return ApiConfigSource_DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE } func (x *ApiConfigSource) GetTransportApiVersion() ApiVersion { if x != nil { return x.TransportApiVersion } return ApiVersion_AUTO } func (x *ApiConfigSource) GetClusterNames() []string { if x != nil { return x.ClusterNames } return nil } func (x *ApiConfigSource) GetGrpcServices() []*GrpcService { if x != nil { return x.GrpcServices } return nil } func (x *ApiConfigSource) GetRefreshDelay() *duration.Duration { if x != nil { return x.RefreshDelay } return nil } func (x *ApiConfigSource) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings { if x != nil { return x.RateLimitSettings } return nil } func (x *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool { if x != nil { return x.SetNodeOnFirstMessageOnly } return false } func (x *ApiConfigSource) GetConfigValidators() []*TypedExtensionConfig { if x != nil { return x.ConfigValidators } return nil } // Aggregated Discovery Service (ADS) options. This is currently empty, but when // set in :ref:`ConfigSource ` can be used to // specify that ADS is to be used. type AggregatedConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AggregatedConfigSource) Reset() { *x = AggregatedConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AggregatedConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*AggregatedConfigSource) ProtoMessage() {} func (x *AggregatedConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AggregatedConfigSource.ProtoReflect.Descriptor instead. func (*AggregatedConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{1} } // [#not-implemented-hide:] // Self-referencing config source options. This is currently empty, but when // set in :ref:`ConfigSource ` can be used to // specify that other data can be obtained from the same server. type SelfConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // API version for xDS transport protocol. This describes the xDS gRPC/REST // endpoint and version of [Delta]DiscoveryRequest/Response used on the wire. TransportApiVersion ApiVersion `protobuf:"varint,1,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` } func (x *SelfConfigSource) Reset() { *x = SelfConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelfConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelfConfigSource) ProtoMessage() {} func (x *SelfConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SelfConfigSource.ProtoReflect.Descriptor instead. func (*SelfConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{2} } func (x *SelfConfigSource) GetTransportApiVersion() ApiVersion { if x != nil { return x.TransportApiVersion } return ApiVersion_AUTO } // Rate Limit settings to be applied for discovery requests made by Envoy. type RateLimitSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of tokens to be used for rate limiting discovery request calls. If not set, a // default value of 100 will be used. MaxTokens *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"` // Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens // per second will be used. The minimal fill rate is once per year. Lower // fill rates will be set to once per year. FillRate *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"` } func (x *RateLimitSettings) Reset() { *x = RateLimitSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitSettings) ProtoMessage() {} func (x *RateLimitSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitSettings.ProtoReflect.Descriptor instead. func (*RateLimitSettings) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{3} } func (x *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value { if x != nil { return x.MaxTokens } return nil } func (x *RateLimitSettings) GetFillRate() *wrappers.DoubleValue { if x != nil { return x.FillRate } return nil } // Local filesystem path configuration source. type PathConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Path on the filesystem to source and watch for configuration updates. // When sourcing configuration for a :ref:`secret `, // the certificate and key files are also watched for updates. // // .. note:: // // The path to the source must exist at config load time. // // .. note:: // // If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*. // This is because in general only moves are atomic. The same method of swapping files as is // demonstrated in the :ref:`runtime documentation ` can be // used here also. If ``watched_directory`` is configured, no watch will be placed directly on // this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of // this path. This is required in certain deployment scenarios. See below for more information. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // If configured, this directory will be watched for *moves*. When an entry in this directory is // moved to, the “path“ will be reloaded. This is required in certain deployment scenarios. // // Specifically, if trying to load an xDS resource using a // `Kubernetes ConfigMap `_, the // following configuration might be used: // 1. Store xds.yaml inside a ConfigMap. // 2. Mount the ConfigMap to “/config_map/xds“ // 3. Configure path “/config_map/xds/xds.yaml“ // 4. Configure watched directory “/config_map/xds“ // // The above configuration will ensure that Envoy watches the owning directory for moves which is // required due to how Kubernetes manages ConfigMap symbolic links during atomic updates. WatchedDirectory *WatchedDirectory `protobuf:"bytes,2,opt,name=watched_directory,json=watchedDirectory,proto3" json:"watched_directory,omitempty"` } func (x *PathConfigSource) Reset() { *x = PathConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathConfigSource) ProtoMessage() {} func (x *PathConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathConfigSource.ProtoReflect.Descriptor instead. func (*PathConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{4} } func (x *PathConfigSource) GetPath() string { if x != nil { return x.Path } return "" } func (x *PathConfigSource) GetWatchedDirectory() *WatchedDirectory { if x != nil { return x.WatchedDirectory } return nil } // Configuration for :ref:`listeners `, :ref:`clusters // `, :ref:`routes // `, :ref:`endpoints // ` etc. may either be sourced from the // filesystem or from an xDS API source. Filesystem configs are watched with // inotify for updates. // [#next-free-field: 9] type ConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Authorities that this config source may be used for. An authority specified in a xdstp:// URL // is resolved to a “ConfigSource“ prior to configuration fetch. This field provides the // association between authority name and configuration source. // [#not-implemented-hide:] Authorities []*v3.Authority `protobuf:"bytes,7,rep,name=authorities,proto3" json:"authorities,omitempty"` // Types that are assignable to ConfigSourceSpecifier: // // *ConfigSource_Path // *ConfigSource_PathConfigSource // *ConfigSource_ApiConfigSource // *ConfigSource_Ads // *ConfigSource_Self ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"` // When this timeout is specified, Envoy will wait no longer than the specified time for first // config response on this xDS subscription during the :ref:`initialization process // `. After reaching the timeout, Envoy will move to the next // initialization phase, even if the first config is not delivered yet. The timer is activated // when the xDS API subscription starts, and is disarmed on first config update or on error. 0 // means no timeout - Envoy will wait indefinitely for the first xDS config (unless another // timeout applies). The default is 15s. InitialFetchTimeout *duration.Duration `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"` // API version for xDS resources. This implies the type URLs that the client // will request for resources and the resource type that the client will in // turn expect to be delivered. ResourceApiVersion ApiVersion `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"resource_api_version,omitempty"` } func (x *ConfigSource) Reset() { *x = ConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSource) ProtoMessage() {} func (x *ConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead. func (*ConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{5} } func (x *ConfigSource) GetAuthorities() []*v3.Authority { if x != nil { return x.Authorities } return nil } func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier { if m != nil { return m.ConfigSourceSpecifier } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/config_source.proto. func (x *ConfigSource) GetPath() string { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Path); ok { return x.Path } return "" } func (x *ConfigSource) GetPathConfigSource() *PathConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_PathConfigSource); ok { return x.PathConfigSource } return nil } func (x *ConfigSource) GetApiConfigSource() *ApiConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok { return x.ApiConfigSource } return nil } func (x *ConfigSource) GetAds() *AggregatedConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok { return x.Ads } return nil } func (x *ConfigSource) GetSelf() *SelfConfigSource { if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Self); ok { return x.Self } return nil } func (x *ConfigSource) GetInitialFetchTimeout() *duration.Duration { if x != nil { return x.InitialFetchTimeout } return nil } func (x *ConfigSource) GetResourceApiVersion() ApiVersion { if x != nil { return x.ResourceApiVersion } return ApiVersion_AUTO } type isConfigSource_ConfigSourceSpecifier interface { isConfigSource_ConfigSourceSpecifier() } type ConfigSource_Path struct { // Deprecated in favor of “path_config_source“. Use that field instead. // // Deprecated: Marked as deprecated in envoy/config/core/v3/config_source.proto. Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"` } type ConfigSource_PathConfigSource struct { // Local filesystem path configuration source. PathConfigSource *PathConfigSource `protobuf:"bytes,8,opt,name=path_config_source,json=pathConfigSource,proto3,oneof"` } type ConfigSource_ApiConfigSource struct { // API configuration source. ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"` } type ConfigSource_Ads struct { // When set, ADS will be used to fetch resources. The ADS API configuration // source in the bootstrap configuration is used. Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"` } type ConfigSource_Self struct { // [#not-implemented-hide:] // When set, the client will access the resources from the same server it got the // ConfigSource from, although not necessarily from the same stream. This is similar to the // :ref:`ads` field, except that the client may use a // different stream to the same server. As a result, this field can be used for things // like LRS that cannot be sent on an ADS stream. It can also be used to link from (e.g.) // LDS to RDS on the same server without requiring the management server to know its name // or required credentials. // [#next-major-version: In xDS v3, consider replacing the ads field with this one, since // this field can implicitly mean to use the same stream in the case where the ConfigSource // is provided via ADS and the specified data can also be obtained via ADS.] Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"` } func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_PathConfigSource) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {} func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {} // Configuration source specifier for a late-bound extension configuration. The // parent resource is warmed until all the initial extension configurations are // received, unless the flag to apply the default configuration is set. // Subsequent extension updates are atomic on a per-worker basis. Once an // extension configuration is applied to a request or a connection, it remains // constant for the duration of processing. If the initial delivery of the // extension configuration fails, due to a timeout for example, the optional // default configuration is applied. Without a default configuration, the // extension is disabled, until an extension configuration is received. The // behavior of a disabled extension depends on the context. For example, a // filter chain with a disabled extension filter rejects all incoming streams. type ExtensionConfigSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConfigSource *ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // Optional default configuration to use as the initial configuration if // there is a failure to receive the initial extension configuration or if // “apply_default_config_without_warming“ flag is set. DefaultConfig *any1.Any `protobuf:"bytes,2,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"` // Use the default config as the initial configuration without warming and // waiting for the first discovery response. Requires the default configuration // to be supplied. ApplyDefaultConfigWithoutWarming bool `protobuf:"varint,3,opt,name=apply_default_config_without_warming,json=applyDefaultConfigWithoutWarming,proto3" json:"apply_default_config_without_warming,omitempty"` // A set of permitted extension type URLs. Extension configuration updates are rejected // if they do not match any type URL in the set. TypeUrls []string `protobuf:"bytes,4,rep,name=type_urls,json=typeUrls,proto3" json:"type_urls,omitempty"` } func (x *ExtensionConfigSource) Reset() { *x = ExtensionConfigSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtensionConfigSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtensionConfigSource) ProtoMessage() {} func (x *ExtensionConfigSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtensionConfigSource.ProtoReflect.Descriptor instead. func (*ExtensionConfigSource) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{6} } func (x *ExtensionConfigSource) GetConfigSource() *ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *ExtensionConfigSource) GetDefaultConfig() *any1.Any { if x != nil { return x.DefaultConfig } return nil } func (x *ExtensionConfigSource) GetApplyDefaultConfigWithoutWarming() bool { if x != nil { return x.ApplyDefaultConfigWithoutWarming } return false } func (x *ExtensionConfigSource) GetTypeUrls() []string { if x != nil { return x.TypeUrls } return nil } var File_envoy_config_core_v3_config_source_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_config_source_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x78, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x06, 0x0a, 0x0f, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x57, 0x0a, 0x13, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x11, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x1e, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x25, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x00, 0x1a, 0x08, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01, 0x08, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x06, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x8c, 0x05, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x56, 0x0a, 0x12, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x03, 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x03, 0x61, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x4d, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x9e, 0x02, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xa2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x24, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x57, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x2a, 0x40, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x1a, 0x0b, 0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30, 0x08, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x1a, 0x0b, 0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30, 0x08, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x02, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_config_source_proto_rawDescOnce sync.Once file_envoy_config_core_v3_config_source_proto_rawDescData = file_envoy_config_core_v3_config_source_proto_rawDesc ) func file_envoy_config_core_v3_config_source_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_config_source_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_config_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_config_source_proto_rawDescData) }) return file_envoy_config_core_v3_config_source_proto_rawDescData } var file_envoy_config_core_v3_config_source_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_core_v3_config_source_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_config_core_v3_config_source_proto_goTypes = []interface{}{ (ApiVersion)(0), // 0: envoy.config.core.v3.ApiVersion (ApiConfigSource_ApiType)(0), // 1: envoy.config.core.v3.ApiConfigSource.ApiType (*ApiConfigSource)(nil), // 2: envoy.config.core.v3.ApiConfigSource (*AggregatedConfigSource)(nil), // 3: envoy.config.core.v3.AggregatedConfigSource (*SelfConfigSource)(nil), // 4: envoy.config.core.v3.SelfConfigSource (*RateLimitSettings)(nil), // 5: envoy.config.core.v3.RateLimitSettings (*PathConfigSource)(nil), // 6: envoy.config.core.v3.PathConfigSource (*ConfigSource)(nil), // 7: envoy.config.core.v3.ConfigSource (*ExtensionConfigSource)(nil), // 8: envoy.config.core.v3.ExtensionConfigSource (*GrpcService)(nil), // 9: envoy.config.core.v3.GrpcService (*duration.Duration)(nil), // 10: google.protobuf.Duration (*TypedExtensionConfig)(nil), // 11: envoy.config.core.v3.TypedExtensionConfig (*wrappers.UInt32Value)(nil), // 12: google.protobuf.UInt32Value (*wrappers.DoubleValue)(nil), // 13: google.protobuf.DoubleValue (*WatchedDirectory)(nil), // 14: envoy.config.core.v3.WatchedDirectory (*v3.Authority)(nil), // 15: xds.core.v3.Authority (*any1.Any)(nil), // 16: google.protobuf.Any } var file_envoy_config_core_v3_config_source_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.ApiConfigSource.api_type:type_name -> envoy.config.core.v3.ApiConfigSource.ApiType 0, // 1: envoy.config.core.v3.ApiConfigSource.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 9, // 2: envoy.config.core.v3.ApiConfigSource.grpc_services:type_name -> envoy.config.core.v3.GrpcService 10, // 3: envoy.config.core.v3.ApiConfigSource.refresh_delay:type_name -> google.protobuf.Duration 10, // 4: envoy.config.core.v3.ApiConfigSource.request_timeout:type_name -> google.protobuf.Duration 5, // 5: envoy.config.core.v3.ApiConfigSource.rate_limit_settings:type_name -> envoy.config.core.v3.RateLimitSettings 11, // 6: envoy.config.core.v3.ApiConfigSource.config_validators:type_name -> envoy.config.core.v3.TypedExtensionConfig 0, // 7: envoy.config.core.v3.SelfConfigSource.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 12, // 8: envoy.config.core.v3.RateLimitSettings.max_tokens:type_name -> google.protobuf.UInt32Value 13, // 9: envoy.config.core.v3.RateLimitSettings.fill_rate:type_name -> google.protobuf.DoubleValue 14, // 10: envoy.config.core.v3.PathConfigSource.watched_directory:type_name -> envoy.config.core.v3.WatchedDirectory 15, // 11: envoy.config.core.v3.ConfigSource.authorities:type_name -> xds.core.v3.Authority 6, // 12: envoy.config.core.v3.ConfigSource.path_config_source:type_name -> envoy.config.core.v3.PathConfigSource 2, // 13: envoy.config.core.v3.ConfigSource.api_config_source:type_name -> envoy.config.core.v3.ApiConfigSource 3, // 14: envoy.config.core.v3.ConfigSource.ads:type_name -> envoy.config.core.v3.AggregatedConfigSource 4, // 15: envoy.config.core.v3.ConfigSource.self:type_name -> envoy.config.core.v3.SelfConfigSource 10, // 16: envoy.config.core.v3.ConfigSource.initial_fetch_timeout:type_name -> google.protobuf.Duration 0, // 17: envoy.config.core.v3.ConfigSource.resource_api_version:type_name -> envoy.config.core.v3.ApiVersion 7, // 18: envoy.config.core.v3.ExtensionConfigSource.config_source:type_name -> envoy.config.core.v3.ConfigSource 16, // 19: envoy.config.core.v3.ExtensionConfigSource.default_config:type_name -> google.protobuf.Any 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_config_source_proto_init() } func file_envoy_config_core_v3_config_source_proto_init() { if File_envoy_config_core_v3_config_source_proto != nil { return } file_envoy_config_core_v3_base_proto_init() file_envoy_config_core_v3_extension_proto_init() file_envoy_config_core_v3_grpc_service_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_config_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApiConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AggregatedConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelfConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_config_source_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtensionConfigSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_config_source_proto_msgTypes[5].OneofWrappers = []interface{}{ (*ConfigSource_Path)(nil), (*ConfigSource_PathConfigSource)(nil), (*ConfigSource_ApiConfigSource)(nil), (*ConfigSource_Ads)(nil), (*ConfigSource_Self)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_config_source_proto_rawDesc, NumEnums: 2, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_config_source_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_config_source_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_config_source_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_config_source_proto_msgTypes, }.Build() File_envoy_config_core_v3_config_source_proto = out.File file_envoy_config_core_v3_config_source_proto_rawDesc = nil file_envoy_config_core_v3_config_source_proto_goTypes = nil file_envoy_config_core_v3_config_source_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/config_source.pb.validate.go000077500000000000000000001071521454502223200262130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/config_source.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ApiConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ApiConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApiConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ApiConfigSourceMultiError, or nil if none found. func (m *ApiConfigSource) ValidateAll() error { return m.validate(true) } func (m *ApiConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ApiConfigSource_ApiType_name[int32(m.GetApiType())]; !ok { err := ApiConfigSourceValidationError{ field: "ApiType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := ApiConfigSourceValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetGrpcServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: fmt.Sprintf("GrpcServices[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetRefreshDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, } } } if d := m.GetRequestTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ApiConfigSourceValidationError{ field: "RequestTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ApiConfigSourceValidationError{ field: "RequestTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRateLimitSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: "RateLimitSettings", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SetNodeOnFirstMessageOnly for idx, item := range m.GetConfigValidators() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("ConfigValidators[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiConfigSourceValidationError{ field: fmt.Sprintf("ConfigValidators[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiConfigSourceValidationError{ field: fmt.Sprintf("ConfigValidators[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ApiConfigSourceMultiError(errors) } return nil } // ApiConfigSourceMultiError is an error wrapping multiple validation errors // returned by ApiConfigSource.ValidateAll() if the designated constraints // aren't met. type ApiConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApiConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApiConfigSourceMultiError) AllErrors() []error { return m } // ApiConfigSourceValidationError is the validation error returned by // ApiConfigSource.Validate if the designated constraints aren't met. type ApiConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApiConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApiConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApiConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApiConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApiConfigSourceValidationError) ErrorName() string { return "ApiConfigSourceValidationError" } // Error satisfies the builtin error interface func (e ApiConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApiConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApiConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApiConfigSourceValidationError{} // Validate checks the field values on AggregatedConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AggregatedConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AggregatedConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AggregatedConfigSourceMultiError, or nil if none found. func (m *AggregatedConfigSource) ValidateAll() error { return m.validate(true) } func (m *AggregatedConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return AggregatedConfigSourceMultiError(errors) } return nil } // AggregatedConfigSourceMultiError is an error wrapping multiple validation // errors returned by AggregatedConfigSource.ValidateAll() if the designated // constraints aren't met. type AggregatedConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AggregatedConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AggregatedConfigSourceMultiError) AllErrors() []error { return m } // AggregatedConfigSourceValidationError is the validation error returned by // AggregatedConfigSource.Validate if the designated constraints aren't met. type AggregatedConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AggregatedConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AggregatedConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AggregatedConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AggregatedConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AggregatedConfigSourceValidationError) ErrorName() string { return "AggregatedConfigSourceValidationError" } // Error satisfies the builtin error interface func (e AggregatedConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAggregatedConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AggregatedConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AggregatedConfigSourceValidationError{} // Validate checks the field values on SelfConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SelfConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SelfConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SelfConfigSourceMultiError, or nil if none found. func (m *SelfConfigSource) ValidateAll() error { return m.validate(true) } func (m *SelfConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := SelfConfigSourceValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SelfConfigSourceMultiError(errors) } return nil } // SelfConfigSourceMultiError is an error wrapping multiple validation errors // returned by SelfConfigSource.ValidateAll() if the designated constraints // aren't met. type SelfConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SelfConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SelfConfigSourceMultiError) AllErrors() []error { return m } // SelfConfigSourceValidationError is the validation error returned by // SelfConfigSource.Validate if the designated constraints aren't met. type SelfConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SelfConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SelfConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SelfConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SelfConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SelfConfigSourceValidationError) ErrorName() string { return "SelfConfigSourceValidationError" } // Error satisfies the builtin error interface func (e SelfConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSelfConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SelfConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SelfConfigSourceValidationError{} // Validate checks the field values on RateLimitSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitSettingsMultiError, or nil if none found. func (m *RateLimitSettings) ValidateAll() error { return m.validate(true) } func (m *RateLimitSettings) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxTokens()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxTokens()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitSettingsValidationError{ field: "MaxTokens", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetFillRate(); wrapper != nil { if wrapper.GetValue() <= 0 { err := RateLimitSettingsValidationError{ field: "FillRate", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return RateLimitSettingsMultiError(errors) } return nil } // RateLimitSettingsMultiError is an error wrapping multiple validation errors // returned by RateLimitSettings.ValidateAll() if the designated constraints // aren't met. type RateLimitSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitSettingsMultiError) AllErrors() []error { return m } // RateLimitSettingsValidationError is the validation error returned by // RateLimitSettings.Validate if the designated constraints aren't met. type RateLimitSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitSettingsValidationError) ErrorName() string { return "RateLimitSettingsValidationError" } // Error satisfies the builtin error interface func (e RateLimitSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitSettingsValidationError{} // Validate checks the field values on PathConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *PathConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PathConfigSourceMultiError, or nil if none found. func (m *PathConfigSource) ValidateAll() error { return m.validate(true) } func (m *PathConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPath()) < 1 { err := PathConfigSourceValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetWatchedDirectory()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathConfigSourceValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathConfigSourceValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchedDirectory()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathConfigSourceValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PathConfigSourceMultiError(errors) } return nil } // PathConfigSourceMultiError is an error wrapping multiple validation errors // returned by PathConfigSource.ValidateAll() if the designated constraints // aren't met. type PathConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathConfigSourceMultiError) AllErrors() []error { return m } // PathConfigSourceValidationError is the validation error returned by // PathConfigSource.Validate if the designated constraints aren't met. type PathConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathConfigSourceValidationError) ErrorName() string { return "PathConfigSourceValidationError" } // Error satisfies the builtin error interface func (e PathConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathConfigSourceValidationError{} // Validate checks the field values on ConfigSource with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConfigSource with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConfigSourceMultiError, or // nil if none found. func (m *ConfigSource) ValidateAll() error { return m.validate(true) } func (m *ConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAuthorities() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: fmt.Sprintf("Authorities[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: fmt.Sprintf("Authorities[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: fmt.Sprintf("Authorities[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetInitialFetchTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInitialFetchTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "InitialFetchTimeout", reason: "embedded message failed validation", cause: err, } } } if _, ok := ApiVersion_name[int32(m.GetResourceApiVersion())]; !ok { err := ConfigSourceValidationError{ field: "ResourceApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent := false switch v := m.ConfigSourceSpecifier.(type) { case *ConfigSource_Path: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true // no validation rules for Path case *ConfigSource_PathConfigSource: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetPathConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "PathConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "PathConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPathConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "PathConfigSource", reason: "embedded message failed validation", cause: err, } } } case *ConfigSource_ApiConfigSource: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetApiConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "ApiConfigSource", reason: "embedded message failed validation", cause: err, } } } case *ConfigSource_Ads: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetAds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "Ads", reason: "embedded message failed validation", cause: err, } } } case *ConfigSource_Self: if v == nil { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetSelf()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSelf()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigSourceValidationError{ field: "Self", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSourceSpecifierPresent { err := ConfigSourceValidationError{ field: "ConfigSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigSourceMultiError(errors) } return nil } // ConfigSourceMultiError is an error wrapping multiple validation errors // returned by ConfigSource.ValidateAll() if the designated constraints aren't met. type ConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigSourceMultiError) AllErrors() []error { return m } // ConfigSourceValidationError is the validation error returned by // ConfigSource.Validate if the designated constraints aren't met. type ConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigSourceValidationError) ErrorName() string { return "ConfigSourceValidationError" } // Error satisfies the builtin error interface func (e ConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigSourceValidationError{} // Validate checks the field values on ExtensionConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ExtensionConfigSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtensionConfigSource with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtensionConfigSourceMultiError, or nil if none found. func (m *ExtensionConfigSource) ValidateAll() error { return m.validate(true) } func (m *ExtensionConfigSource) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := ExtensionConfigSourceValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if a := m.GetConfigSource(); a != nil { } if all { switch v := interface{}(m.GetDefaultConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionConfigSourceValidationError{ field: "DefaultConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionConfigSourceValidationError{ field: "DefaultConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionConfigSourceValidationError{ field: "DefaultConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ApplyDefaultConfigWithoutWarming if len(m.GetTypeUrls()) < 1 { err := ExtensionConfigSourceValidationError{ field: "TypeUrls", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ExtensionConfigSourceMultiError(errors) } return nil } // ExtensionConfigSourceMultiError is an error wrapping multiple validation // errors returned by ExtensionConfigSource.ValidateAll() if the designated // constraints aren't met. type ExtensionConfigSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionConfigSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionConfigSourceMultiError) AllErrors() []error { return m } // ExtensionConfigSourceValidationError is the validation error returned by // ExtensionConfigSource.Validate if the designated constraints aren't met. type ExtensionConfigSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionConfigSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionConfigSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionConfigSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionConfigSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionConfigSourceValidationError) ErrorName() string { return "ExtensionConfigSourceValidationError" } // Error satisfies the builtin error interface func (e ExtensionConfigSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtensionConfigSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionConfigSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionConfigSourceValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/event_service_config.pb.go000077500000000000000000000217441454502223200257660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/event_service_config.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] // Configuration of the event reporting service endpoint. type EventServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigSourceSpecifier: // // *EventServiceConfig_GrpcService ConfigSourceSpecifier isEventServiceConfig_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"` } func (x *EventServiceConfig) Reset() { *x = EventServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_event_service_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EventServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EventServiceConfig) ProtoMessage() {} func (x *EventServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_event_service_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EventServiceConfig.ProtoReflect.Descriptor instead. func (*EventServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_event_service_config_proto_rawDescGZIP(), []int{0} } func (m *EventServiceConfig) GetConfigSourceSpecifier() isEventServiceConfig_ConfigSourceSpecifier { if m != nil { return m.ConfigSourceSpecifier } return nil } func (x *EventServiceConfig) GetGrpcService() *GrpcService { if x, ok := x.GetConfigSourceSpecifier().(*EventServiceConfig_GrpcService); ok { return x.GrpcService } return nil } type isEventServiceConfig_ConfigSourceSpecifier interface { isEventServiceConfig_ConfigSourceSpecifier() } type EventServiceConfig_GrpcService struct { // Specifies the gRPC service that hosts the event reporting service. GrpcService *GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"` } func (*EventServiceConfig_GrpcService) isEventServiceConfig_ConfigSourceSpecifier() {} var File_envoy_config_core_v3_event_service_config_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_event_service_config_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_event_service_config_proto_rawDescOnce sync.Once file_envoy_config_core_v3_event_service_config_proto_rawDescData = file_envoy_config_core_v3_event_service_config_proto_rawDesc ) func file_envoy_config_core_v3_event_service_config_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_event_service_config_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_event_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_event_service_config_proto_rawDescData) }) return file_envoy_config_core_v3_event_service_config_proto_rawDescData } var file_envoy_config_core_v3_event_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_event_service_config_proto_goTypes = []interface{}{ (*EventServiceConfig)(nil), // 0: envoy.config.core.v3.EventServiceConfig (*GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService } var file_envoy_config_core_v3_event_service_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.EventServiceConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_event_service_config_proto_init() } func file_envoy_config_core_v3_event_service_config_proto_init() { if File_envoy_config_core_v3_event_service_config_proto != nil { return } file_envoy_config_core_v3_grpc_service_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_event_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_event_service_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*EventServiceConfig_GrpcService)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_event_service_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_event_service_config_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_event_service_config_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_event_service_config_proto_msgTypes, }.Build() File_envoy_config_core_v3_event_service_config_proto = out.File file_envoy_config_core_v3_event_service_config_proto_rawDesc = nil file_envoy_config_core_v3_event_service_config_proto_goTypes = nil file_envoy_config_core_v3_event_service_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/event_service_config.pb.validate.go000077500000000000000000000115431454502223200275520ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/event_service_config.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EventServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EventServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EventServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EventServiceConfigMultiError, or nil if none found. func (m *EventServiceConfig) ValidateAll() error { return m.validate(true) } func (m *EventServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofConfigSourceSpecifierPresent := false switch v := m.ConfigSourceSpecifier.(type) { case *EventServiceConfig_GrpcService: if v == nil { err := EventServiceConfigValidationError{ field: "ConfigSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourceSpecifierPresent = true if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EventServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSourceSpecifierPresent { err := EventServiceConfigValidationError{ field: "ConfigSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return EventServiceConfigMultiError(errors) } return nil } // EventServiceConfigMultiError is an error wrapping multiple validation errors // returned by EventServiceConfig.ValidateAll() if the designated constraints // aren't met. type EventServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EventServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EventServiceConfigMultiError) AllErrors() []error { return m } // EventServiceConfigValidationError is the validation error returned by // EventServiceConfig.Validate if the designated constraints aren't met. type EventServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EventServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EventServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EventServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EventServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EventServiceConfigValidationError) ErrorName() string { return "EventServiceConfigValidationError" } // Error satisfies the builtin error interface func (e EventServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEventServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EventServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EventServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/extension.pb.go000077500000000000000000000175151454502223200236150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/extension.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Message type for extension configuration. // [#next-major-version: revisit all existing typed_config that doesn't use this wrapper.]. type TypedExtensionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of an extension. This is not used to select the extension, instead // it serves the role of an opaque identifier. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The typed config for the extension. The type URL will be used to identify // the extension. In the case that the type URL is “xds.type.v3.TypedStruct“ // (or, for historical reasons, “udpa.type.v1.TypedStruct“), the inner type // URL of “TypedStruct“ will be utilized. See the // :ref:`extension configuration overview // ` for further details. TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *TypedExtensionConfig) Reset() { *x = TypedExtensionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_extension_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TypedExtensionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TypedExtensionConfig) ProtoMessage() {} func (x *TypedExtensionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_extension_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TypedExtensionConfig.ProtoReflect.Descriptor instead. func (*TypedExtensionConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_extension_proto_rawDescGZIP(), []int{0} } func (x *TypedExtensionConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *TypedExtensionConfig) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } var File_envoy_config_core_v3_extension_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_extension_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x14, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xa2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_extension_proto_rawDescOnce sync.Once file_envoy_config_core_v3_extension_proto_rawDescData = file_envoy_config_core_v3_extension_proto_rawDesc ) func file_envoy_config_core_v3_extension_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_extension_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_extension_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_extension_proto_rawDescData) }) return file_envoy_config_core_v3_extension_proto_rawDescData } var file_envoy_config_core_v3_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_extension_proto_goTypes = []interface{}{ (*TypedExtensionConfig)(nil), // 0: envoy.config.core.v3.TypedExtensionConfig (*any1.Any)(nil), // 1: google.protobuf.Any } var file_envoy_config_core_v3_extension_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.TypedExtensionConfig.typed_config:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_extension_proto_init() } func file_envoy_config_core_v3_extension_proto_init() { if File_envoy_config_core_v3_extension_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_extension_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TypedExtensionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_extension_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_extension_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_extension_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_extension_proto_msgTypes, }.Build() File_envoy_config_core_v3_extension_proto = out.File file_envoy_config_core_v3_extension_proto_rawDesc = nil file_envoy_config_core_v3_extension_proto_goTypes = nil file_envoy_config_core_v3_extension_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/extension.pb.validate.go000077500000000000000000000075461454502223200254100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/extension.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TypedExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TypedExtensionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TypedExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TypedExtensionConfigMultiError, or nil if none found. func (m *TypedExtensionConfig) ValidateAll() error { return m.validate(true) } func (m *TypedExtensionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := TypedExtensionConfigValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTypedConfig() == nil { err := TypedExtensionConfigValidationError{ field: "TypedConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if a := m.GetTypedConfig(); a != nil { } if len(errors) > 0 { return TypedExtensionConfigMultiError(errors) } return nil } // TypedExtensionConfigMultiError is an error wrapping multiple validation // errors returned by TypedExtensionConfig.ValidateAll() if the designated // constraints aren't met. type TypedExtensionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TypedExtensionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TypedExtensionConfigMultiError) AllErrors() []error { return m } // TypedExtensionConfigValidationError is the validation error returned by // TypedExtensionConfig.Validate if the designated constraints aren't met. type TypedExtensionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TypedExtensionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TypedExtensionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TypedExtensionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TypedExtensionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TypedExtensionConfigValidationError) ErrorName() string { return "TypedExtensionConfigValidationError" } // Error satisfies the builtin error interface func (e TypedExtensionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTypedExtensionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TypedExtensionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TypedExtensionConfigValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/grpc_method_list.pb.go000077500000000000000000000241271454502223200251240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/grpc_method_list.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A list of gRPC methods which can be used as an allowlist, for example. type GrpcMethodList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Services []*GrpcMethodList_Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` } func (x *GrpcMethodList) Reset() { *x = GrpcMethodList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcMethodList) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcMethodList) ProtoMessage() {} func (x *GrpcMethodList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcMethodList.ProtoReflect.Descriptor instead. func (*GrpcMethodList) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_method_list_proto_rawDescGZIP(), []int{0} } func (x *GrpcMethodList) GetServices() []*GrpcMethodList_Service { if x != nil { return x.Services } return nil } type GrpcMethodList_Service struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the gRPC service. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The names of the gRPC methods in this service. MethodNames []string `protobuf:"bytes,2,rep,name=method_names,json=methodNames,proto3" json:"method_names,omitempty"` } func (x *GrpcMethodList_Service) Reset() { *x = GrpcMethodList_Service{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcMethodList_Service) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcMethodList_Service) ProtoMessage() {} func (x *GrpcMethodList_Service) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcMethodList_Service.ProtoReflect.Descriptor instead. func (*GrpcMethodList_Service) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_method_list_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcMethodList_Service) GetName() string { if x != nil { return x.Name } return "" } func (x *GrpcMethodList_Service) GetMethodNames() []string { if x != nil { return x.MethodNames } return nil } var File_envoy_config_core_v3_grpc_method_list_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_grpc_method_list_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_grpc_method_list_proto_rawDescOnce sync.Once file_envoy_config_core_v3_grpc_method_list_proto_rawDescData = file_envoy_config_core_v3_grpc_method_list_proto_rawDesc ) func file_envoy_config_core_v3_grpc_method_list_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_grpc_method_list_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_grpc_method_list_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_grpc_method_list_proto_rawDescData) }) return file_envoy_config_core_v3_grpc_method_list_proto_rawDescData } var file_envoy_config_core_v3_grpc_method_list_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_core_v3_grpc_method_list_proto_goTypes = []interface{}{ (*GrpcMethodList)(nil), // 0: envoy.config.core.v3.GrpcMethodList (*GrpcMethodList_Service)(nil), // 1: envoy.config.core.v3.GrpcMethodList.Service } var file_envoy_config_core_v3_grpc_method_list_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.GrpcMethodList.services:type_name -> envoy.config.core.v3.GrpcMethodList.Service 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_grpc_method_list_proto_init() } func file_envoy_config_core_v3_grpc_method_list_proto_init() { if File_envoy_config_core_v3_grpc_method_list_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcMethodList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_method_list_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcMethodList_Service); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_grpc_method_list_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_grpc_method_list_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_grpc_method_list_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_grpc_method_list_proto_msgTypes, }.Build() File_envoy_config_core_v3_grpc_method_list_proto = out.File file_envoy_config_core_v3_grpc_method_list_proto_rawDesc = nil file_envoy_config_core_v3_grpc_method_list_proto_goTypes = nil file_envoy_config_core_v3_grpc_method_list_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/grpc_method_list.pb.validate.go000077500000000000000000000170031454502223200267070ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/grpc_method_list.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcMethodList with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcMethodList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcMethodList with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GrpcMethodListMultiError, // or nil if none found. func (m *GrpcMethodList) ValidateAll() error { return m.validate(true) } func (m *GrpcMethodList) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcMethodListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return GrpcMethodListMultiError(errors) } return nil } // GrpcMethodListMultiError is an error wrapping multiple validation errors // returned by GrpcMethodList.ValidateAll() if the designated constraints // aren't met. type GrpcMethodListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcMethodListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcMethodListMultiError) AllErrors() []error { return m } // GrpcMethodListValidationError is the validation error returned by // GrpcMethodList.Validate if the designated constraints aren't met. type GrpcMethodListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcMethodListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcMethodListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcMethodListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcMethodListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcMethodListValidationError) ErrorName() string { return "GrpcMethodListValidationError" } // Error satisfies the builtin error interface func (e GrpcMethodListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcMethodList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcMethodListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcMethodListValidationError{} // Validate checks the field values on GrpcMethodList_Service with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcMethodList_Service) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcMethodList_Service with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcMethodList_ServiceMultiError, or nil if none found. func (m *GrpcMethodList_Service) ValidateAll() error { return m.validate(true) } func (m *GrpcMethodList_Service) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := GrpcMethodList_ServiceValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetMethodNames()) < 1 { err := GrpcMethodList_ServiceValidationError{ field: "MethodNames", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcMethodList_ServiceMultiError(errors) } return nil } // GrpcMethodList_ServiceMultiError is an error wrapping multiple validation // errors returned by GrpcMethodList_Service.ValidateAll() if the designated // constraints aren't met. type GrpcMethodList_ServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcMethodList_ServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcMethodList_ServiceMultiError) AllErrors() []error { return m } // GrpcMethodList_ServiceValidationError is the validation error returned by // GrpcMethodList_Service.Validate if the designated constraints aren't met. type GrpcMethodList_ServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcMethodList_ServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcMethodList_ServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcMethodList_ServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcMethodList_ServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcMethodList_ServiceValidationError) ErrorName() string { return "GrpcMethodList_ServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcMethodList_ServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcMethodList_Service.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcMethodList_ServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcMethodList_ServiceValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/grpc_service.pb.go000077500000000000000000002516031454502223200242520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/grpc_service.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC service configuration. This is used by :ref:`ApiConfigSource // ` and filter configurations. // [#next-free-field: 6] type GrpcService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to TargetSpecifier: // // *GrpcService_EnvoyGrpc_ // *GrpcService_GoogleGrpc_ TargetSpecifier isGrpcService_TargetSpecifier `protobuf_oneof:"target_specifier"` // The timeout for the gRPC request. This is the timeout for a specific // request. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // Additional metadata to include in streams initiated to the GrpcService. This can be used for // scenarios in which additional ad hoc authorization headers (e.g. “x-foo-bar: baz-key“) are to // be injected. For more information, including details on header value syntax, see the // documentation on :ref:`custom request headers // `. InitialMetadata []*HeaderValue `protobuf:"bytes,5,rep,name=initial_metadata,json=initialMetadata,proto3" json:"initial_metadata,omitempty"` } func (x *GrpcService) Reset() { *x = GrpcService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService) ProtoMessage() {} func (x *GrpcService) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService.ProtoReflect.Descriptor instead. func (*GrpcService) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0} } func (m *GrpcService) GetTargetSpecifier() isGrpcService_TargetSpecifier { if m != nil { return m.TargetSpecifier } return nil } func (x *GrpcService) GetEnvoyGrpc() *GrpcService_EnvoyGrpc { if x, ok := x.GetTargetSpecifier().(*GrpcService_EnvoyGrpc_); ok { return x.EnvoyGrpc } return nil } func (x *GrpcService) GetGoogleGrpc() *GrpcService_GoogleGrpc { if x, ok := x.GetTargetSpecifier().(*GrpcService_GoogleGrpc_); ok { return x.GoogleGrpc } return nil } func (x *GrpcService) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *GrpcService) GetInitialMetadata() []*HeaderValue { if x != nil { return x.InitialMetadata } return nil } type isGrpcService_TargetSpecifier interface { isGrpcService_TargetSpecifier() } type GrpcService_EnvoyGrpc_ struct { // Envoy's in-built gRPC client. // See the :ref:`gRPC services overview ` // documentation for discussion on gRPC client selection. EnvoyGrpc *GrpcService_EnvoyGrpc `protobuf:"bytes,1,opt,name=envoy_grpc,json=envoyGrpc,proto3,oneof"` } type GrpcService_GoogleGrpc_ struct { // `Google C++ gRPC client `_ // See the :ref:`gRPC services overview ` // documentation for discussion on gRPC client selection. GoogleGrpc *GrpcService_GoogleGrpc `protobuf:"bytes,2,opt,name=google_grpc,json=googleGrpc,proto3,oneof"` } func (*GrpcService_EnvoyGrpc_) isGrpcService_TargetSpecifier() {} func (*GrpcService_GoogleGrpc_) isGrpcService_TargetSpecifier() {} type GrpcService_EnvoyGrpc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the upstream gRPC cluster. SSL credentials will be supplied // in the :ref:`Cluster ` :ref:`transport_socket // `. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // The “:authority“ header in the grpc request. If this field is not set, the authority header value will be “cluster_name“. // Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster. Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` // Indicates the retry policy for re-establishing the gRPC stream // This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. // Currently only supported for xDS gRPC streams. // If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. RetryPolicy *RetryPolicy `protobuf:"bytes,3,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` } func (x *GrpcService_EnvoyGrpc) Reset() { *x = GrpcService_EnvoyGrpc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_EnvoyGrpc) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_EnvoyGrpc) ProtoMessage() {} func (x *GrpcService_EnvoyGrpc) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_EnvoyGrpc.ProtoReflect.Descriptor instead. func (*GrpcService_EnvoyGrpc) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcService_EnvoyGrpc) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *GrpcService_EnvoyGrpc) GetAuthority() string { if x != nil { return x.Authority } return "" } func (x *GrpcService_EnvoyGrpc) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } // [#next-free-field: 9] type GrpcService_GoogleGrpc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The target URI when using the `Google C++ gRPC client // `_. SSL credentials will be supplied in // :ref:`channel_credentials `. TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"` ChannelCredentials *GrpcService_GoogleGrpc_ChannelCredentials `protobuf:"bytes,2,opt,name=channel_credentials,json=channelCredentials,proto3" json:"channel_credentials,omitempty"` // A set of call credentials that can be composed with `channel credentials // `_. CallCredentials []*GrpcService_GoogleGrpc_CallCredentials `protobuf:"bytes,3,rep,name=call_credentials,json=callCredentials,proto3" json:"call_credentials,omitempty"` // The human readable prefix to use when emitting statistics for the gRPC // service. // // .. csv-table:: // // :header: Name, Type, Description // :widths: 1, 1, 2 // // streams_total, Counter, Total number of streams opened // streams_closed_, Counter, Total streams closed with StatPrefix string `protobuf:"bytes,4,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The name of the Google gRPC credentials factory to use. This must have been registered with // Envoy. If this is empty, a default credentials factory will be used that sets up channel // credentials based on other configuration parameters. CredentialsFactoryName string `protobuf:"bytes,5,opt,name=credentials_factory_name,json=credentialsFactoryName,proto3" json:"credentials_factory_name,omitempty"` // Additional configuration for site-specific customizations of the Google // gRPC library. Config *_struct.Struct `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` // How many bytes each stream can buffer internally. // If not set an implementation defined default is applied (1MiB). PerStreamBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=per_stream_buffer_limit_bytes,json=perStreamBufferLimitBytes,proto3" json:"per_stream_buffer_limit_bytes,omitempty"` // Custom channels args. ChannelArgs *GrpcService_GoogleGrpc_ChannelArgs `protobuf:"bytes,8,opt,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"` } func (x *GrpcService_GoogleGrpc) Reset() { *x = GrpcService_GoogleGrpc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc) ProtoMessage() {} func (x *GrpcService_GoogleGrpc) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1} } func (x *GrpcService_GoogleGrpc) GetTargetUri() string { if x != nil { return x.TargetUri } return "" } func (x *GrpcService_GoogleGrpc) GetChannelCredentials() *GrpcService_GoogleGrpc_ChannelCredentials { if x != nil { return x.ChannelCredentials } return nil } func (x *GrpcService_GoogleGrpc) GetCallCredentials() []*GrpcService_GoogleGrpc_CallCredentials { if x != nil { return x.CallCredentials } return nil } func (x *GrpcService_GoogleGrpc) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *GrpcService_GoogleGrpc) GetCredentialsFactoryName() string { if x != nil { return x.CredentialsFactoryName } return "" } func (x *GrpcService_GoogleGrpc) GetConfig() *_struct.Struct { if x != nil { return x.Config } return nil } func (x *GrpcService_GoogleGrpc) GetPerStreamBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerStreamBufferLimitBytes } return nil } func (x *GrpcService_GoogleGrpc) GetChannelArgs() *GrpcService_GoogleGrpc_ChannelArgs { if x != nil { return x.ChannelArgs } return nil } // See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html. type GrpcService_GoogleGrpc_SslCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // PEM encoded server root certificates. RootCerts *DataSource `protobuf:"bytes,1,opt,name=root_certs,json=rootCerts,proto3" json:"root_certs,omitempty"` // PEM encoded client private key. PrivateKey *DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // PEM encoded client certificate chain. CertChain *DataSource `protobuf:"bytes,3,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"` } func (x *GrpcService_GoogleGrpc_SslCredentials) Reset() { *x = GrpcService_GoogleGrpc_SslCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_SslCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_SslCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_SslCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_SslCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_SslCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 0} } func (x *GrpcService_GoogleGrpc_SslCredentials) GetRootCerts() *DataSource { if x != nil { return x.RootCerts } return nil } func (x *GrpcService_GoogleGrpc_SslCredentials) GetPrivateKey() *DataSource { if x != nil { return x.PrivateKey } return nil } func (x *GrpcService_GoogleGrpc_SslCredentials) GetCertChain() *DataSource { if x != nil { return x.CertChain } return nil } // Local channel credentials. Only UDS is supported for now. // See https://github.com/grpc/grpc/pull/15909. type GrpcService_GoogleGrpc_GoogleLocalCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) Reset() { *x = GrpcService_GoogleGrpc_GoogleLocalCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_GoogleLocalCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_GoogleLocalCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_GoogleLocalCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 1} } // See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call // credential types. type GrpcService_GoogleGrpc_ChannelCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to CredentialSpecifier: // // *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials // *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault // *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials CredentialSpecifier isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"` } func (x *GrpcService_GoogleGrpc_ChannelCredentials) Reset() { *x = GrpcService_GoogleGrpc_ChannelCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_ChannelCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_ChannelCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_ChannelCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_ChannelCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_ChannelCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 2} } func (m *GrpcService_GoogleGrpc_ChannelCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier { if m != nil { return m.CredentialSpecifier } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetSslCredentials() *GrpcService_GoogleGrpc_SslCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials); ok { return x.SslCredentials } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetGoogleDefault() *emptypb.Empty { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault); ok { return x.GoogleDefault } return nil } func (x *GrpcService_GoogleGrpc_ChannelCredentials) GetLocalCredentials() *GrpcService_GoogleGrpc_GoogleLocalCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials); ok { return x.LocalCredentials } return nil } type isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier interface { isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() } type GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials struct { SslCredentials *GrpcService_GoogleGrpc_SslCredentials `protobuf:"bytes,1,opt,name=ssl_credentials,json=sslCredentials,proto3,oneof"` } type GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault struct { // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61 GoogleDefault *emptypb.Empty `protobuf:"bytes,2,opt,name=google_default,json=googleDefault,proto3,oneof"` } type GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials struct { LocalCredentials *GrpcService_GoogleGrpc_GoogleLocalCredentials `protobuf:"bytes,3,opt,name=local_credentials,json=localCredentials,proto3,oneof"` } func (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials) isGrpcService_GoogleGrpc_ChannelCredentials_CredentialSpecifier() { } // [#next-free-field: 8] type GrpcService_GoogleGrpc_CallCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to CredentialSpecifier: // // *GrpcService_GoogleGrpc_CallCredentials_AccessToken // *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine // *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken // *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess // *GrpcService_GoogleGrpc_CallCredentials_GoogleIam // *GrpcService_GoogleGrpc_CallCredentials_FromPlugin // *GrpcService_GoogleGrpc_CallCredentials_StsService_ CredentialSpecifier isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier `protobuf_oneof:"credential_specifier"` } func (x *GrpcService_GoogleGrpc_CallCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3} } func (m *GrpcService_GoogleGrpc_CallCredentials) GetCredentialSpecifier() isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier { if m != nil { return m.CredentialSpecifier } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetAccessToken() string { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_AccessToken); ok { return x.AccessToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleComputeEngine() *emptypb.Empty { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine); ok { return x.GoogleComputeEngine } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleRefreshToken() string { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken); ok { return x.GoogleRefreshToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials) GetServiceAccountJwtAccess() *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess); ok { return x.ServiceAccountJwtAccess } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetGoogleIam() *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_GoogleIam); ok { return x.GoogleIam } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetFromPlugin() *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_FromPlugin); ok { return x.FromPlugin } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials) GetStsService() *GrpcService_GoogleGrpc_CallCredentials_StsService { if x, ok := x.GetCredentialSpecifier().(*GrpcService_GoogleGrpc_CallCredentials_StsService_); ok { return x.StsService } return nil } type isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier interface { isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() } type GrpcService_GoogleGrpc_CallCredentials_AccessToken struct { // Access token credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d. AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine struct { // Google Compute Engine credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61 GoogleComputeEngine *emptypb.Empty `protobuf:"bytes,2,opt,name=google_compute_engine,json=googleComputeEngine,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken struct { // Google refresh token credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c. GoogleRefreshToken string `protobuf:"bytes,3,opt,name=google_refresh_token,json=googleRefreshToken,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess struct { // Service Account JWT Access credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa. ServiceAccountJwtAccess *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials `protobuf:"bytes,4,opt,name=service_account_jwt_access,json=serviceAccountJwtAccess,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_GoogleIam struct { // Google IAM credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0. GoogleIam *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials `protobuf:"bytes,5,opt,name=google_iam,json=googleIam,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_FromPlugin struct { // Custom authenticator credentials. // https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07. // https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms. FromPlugin *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin `protobuf:"bytes,6,opt,name=from_plugin,json=fromPlugin,proto3,oneof"` } type GrpcService_GoogleGrpc_CallCredentials_StsService_ struct { // Custom security token service which implements OAuth 2.0 token exchange. // https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 // See https://github.com/grpc/grpc/pull/19587. StsService *GrpcService_GoogleGrpc_CallCredentials_StsService `protobuf:"bytes,7,opt,name=sts_service,json=stsService,proto3,oneof"` } func (*GrpcService_GoogleGrpc_CallCredentials_AccessToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } func (*GrpcService_GoogleGrpc_CallCredentials_StsService_) isGrpcService_GoogleGrpc_CallCredentials_CredentialSpecifier() { } // Channel arguments. type GrpcService_GoogleGrpc_ChannelArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // See grpc_types.h GRPC_ARG #defines for keys that work here. Args map[string]*GrpcService_GoogleGrpc_ChannelArgs_Value `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *GrpcService_GoogleGrpc_ChannelArgs) Reset() { *x = GrpcService_GoogleGrpc_ChannelArgs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_ChannelArgs) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_ChannelArgs) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_ChannelArgs) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_ChannelArgs.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_ChannelArgs) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 4} } func (x *GrpcService_GoogleGrpc_ChannelArgs) GetArgs() map[string]*GrpcService_GoogleGrpc_ChannelArgs_Value { if x != nil { return x.Args } return nil } type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JsonKey string `protobuf:"bytes,1,opt,name=json_key,json=jsonKey,proto3" json:"json_key,omitempty"` TokenLifetimeSeconds uint64 `protobuf:"varint,2,opt,name=token_lifetime_seconds,json=tokenLifetimeSeconds,proto3" json:"token_lifetime_seconds,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 0} } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetJsonKey() string { if x != nil { return x.JsonKey } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) GetTokenLifetimeSeconds() uint64 { if x != nil { return x.TokenLifetimeSeconds } return 0 } type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AuthorizationToken string `protobuf:"bytes,1,opt,name=authorization_token,json=authorizationToken,proto3" json:"authorization_token,omitempty"` AuthoritySelector string `protobuf:"bytes,2,opt,name=authority_selector,json=authoritySelector,proto3" json:"authority_selector,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 1} } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthorizationToken() string { if x != nil { return x.AuthorizationToken } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) GetAuthoritySelector() string { if x != nil { return x.AuthoritySelector } return "" } type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // [#extension-category: envoy.grpc_credentials] // // Types that are assignable to ConfigType: // // *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig ConfigType isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType `protobuf_oneof:"config_type"` } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 2} } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetName() string { if x != nil { return x.Name } return "" } func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetConfigType() isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig); ok { return x.TypedConfig } return nil } type isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType interface { isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() } type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig) isGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_ConfigType() { } // Security token service configuration that allows Google gRPC to // fetch security token from an OAuth 2.0 authorization server. // See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 and // https://github.com/grpc/grpc/pull/19587. // [#next-free-field: 10] type GrpcService_GoogleGrpc_CallCredentials_StsService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // URI of the token exchange service that handles token exchange requests. // [#comment:TODO(asraa): Add URI validation when implemented. Tracked by // https://github.com/bufbuild/protoc-gen-validate/issues/303] TokenExchangeServiceUri string `protobuf:"bytes,1,opt,name=token_exchange_service_uri,json=tokenExchangeServiceUri,proto3" json:"token_exchange_service_uri,omitempty"` // Location of the target service or resource where the client // intends to use the requested security token. Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` // Logical name of the target service where the client intends to // use the requested security token. Audience string `protobuf:"bytes,3,opt,name=audience,proto3" json:"audience,omitempty"` // The desired scope of the requested security token in the // context of the service or resource where the token will be used. Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` // Type of the requested security token. RequestedTokenType string `protobuf:"bytes,5,opt,name=requested_token_type,json=requestedTokenType,proto3" json:"requested_token_type,omitempty"` // The path of subject token, a security token that represents the // identity of the party on behalf of whom the request is being made. SubjectTokenPath string `protobuf:"bytes,6,opt,name=subject_token_path,json=subjectTokenPath,proto3" json:"subject_token_path,omitempty"` // Type of the subject token. SubjectTokenType string `protobuf:"bytes,7,opt,name=subject_token_type,json=subjectTokenType,proto3" json:"subject_token_type,omitempty"` // The path of actor token, a security token that represents the identity // of the acting party. The acting party is authorized to use the // requested security token and act on behalf of the subject. ActorTokenPath string `protobuf:"bytes,8,opt,name=actor_token_path,json=actorTokenPath,proto3" json:"actor_token_path,omitempty"` // Type of the actor token. ActorTokenType string `protobuf:"bytes,9,opt,name=actor_token_type,json=actorTokenType,proto3" json:"actor_token_type,omitempty"` } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) Reset() { *x = GrpcService_GoogleGrpc_CallCredentials_StsService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_CallCredentials_StsService.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_CallCredentials_StsService) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 3, 3} } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetTokenExchangeServiceUri() string { if x != nil { return x.TokenExchangeServiceUri } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetResource() string { if x != nil { return x.Resource } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetAudience() string { if x != nil { return x.Audience } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetScope() string { if x != nil { return x.Scope } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetRequestedTokenType() string { if x != nil { return x.RequestedTokenType } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenPath() string { if x != nil { return x.SubjectTokenPath } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetSubjectTokenType() string { if x != nil { return x.SubjectTokenType } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenPath() string { if x != nil { return x.ActorTokenPath } return "" } func (x *GrpcService_GoogleGrpc_CallCredentials_StsService) GetActorTokenType() string { if x != nil { return x.ActorTokenType } return "" } type GrpcService_GoogleGrpc_ChannelArgs_Value struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Pointer values are not supported, since they don't make any sense when // delivered via the API. // // Types that are assignable to ValueSpecifier: // // *GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue // *GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue ValueSpecifier isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier `protobuf_oneof:"value_specifier"` } func (x *GrpcService_GoogleGrpc_ChannelArgs_Value) Reset() { *x = GrpcService_GoogleGrpc_ChannelArgs_Value{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcService_GoogleGrpc_ChannelArgs_Value) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcService_GoogleGrpc_ChannelArgs_Value) ProtoMessage() {} func (x *GrpcService_GoogleGrpc_ChannelArgs_Value) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_grpc_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcService_GoogleGrpc_ChannelArgs_Value.ProtoReflect.Descriptor instead. func (*GrpcService_GoogleGrpc_ChannelArgs_Value) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP(), []int{0, 1, 4, 0} } func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) GetValueSpecifier() isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier { if m != nil { return m.ValueSpecifier } return nil } func (x *GrpcService_GoogleGrpc_ChannelArgs_Value) GetStringValue() string { if x, ok := x.GetValueSpecifier().(*GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue); ok { return x.StringValue } return "" } func (x *GrpcService_GoogleGrpc_ChannelArgs_Value) GetIntValue() int64 { if x, ok := x.GetValueSpecifier().(*GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue); ok { return x.IntValue } return 0 } type isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier interface { isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier() } type GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue struct { StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"` } type GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue struct { IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"` } func (*GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue) isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier() { } func (*GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue) isGrpcService_GoogleGrpc_ChannelArgs_Value_ValueSpecifier() { } var File_envoy_config_core_v3_grpc_service_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_grpc_service_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x21, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x12, 0x4f, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xde, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x10, 0x00, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x47, 0x72, 0x70, 0x63, 0x1a, 0xfa, 0x1c, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x12, 0x26, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12, 0x70, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x70, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x0e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x60, 0x0a, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x92, 0x03, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x72, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x88, 0x0f, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x9e, 0x01, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x77, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x72, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x61, 0x6d, 0x12, 0x7d, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x6a, 0x0a, 0x0b, 0x73, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0xd9, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x62, 0x9a, 0xc5, 0x88, 0x1e, 0x5d, 0x0a, 0x5b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x57, 0x54, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xcc, 0x01, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x54, 0x9a, 0xc5, 0x88, 0x1e, 0x4f, 0x0a, 0x4d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x41, 0x4d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xea, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x5d, 0x9a, 0xc5, 0x88, 0x1e, 0x58, 0x0a, 0x56, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd7, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x1b, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xc3, 0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x63, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x77, 0x0a, 0x09, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x63, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_grpc_service_proto_rawDescOnce sync.Once file_envoy_config_core_v3_grpc_service_proto_rawDescData = file_envoy_config_core_v3_grpc_service_proto_rawDesc ) func file_envoy_config_core_v3_grpc_service_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_grpc_service_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_grpc_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_grpc_service_proto_rawDescData) }) return file_envoy_config_core_v3_grpc_service_proto_rawDescData } var file_envoy_config_core_v3_grpc_service_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_envoy_config_core_v3_grpc_service_proto_goTypes = []interface{}{ (*GrpcService)(nil), // 0: envoy.config.core.v3.GrpcService (*GrpcService_EnvoyGrpc)(nil), // 1: envoy.config.core.v3.GrpcService.EnvoyGrpc (*GrpcService_GoogleGrpc)(nil), // 2: envoy.config.core.v3.GrpcService.GoogleGrpc (*GrpcService_GoogleGrpc_SslCredentials)(nil), // 3: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials (*GrpcService_GoogleGrpc_GoogleLocalCredentials)(nil), // 4: envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials (*GrpcService_GoogleGrpc_ChannelCredentials)(nil), // 5: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials (*GrpcService_GoogleGrpc_CallCredentials)(nil), // 6: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials (*GrpcService_GoogleGrpc_ChannelArgs)(nil), // 7: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials)(nil), // 8: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials (*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials)(nil), // 9: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin)(nil), // 10: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin (*GrpcService_GoogleGrpc_CallCredentials_StsService)(nil), // 11: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService (*GrpcService_GoogleGrpc_ChannelArgs_Value)(nil), // 12: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.Value nil, // 13: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry (*duration.Duration)(nil), // 14: google.protobuf.Duration (*HeaderValue)(nil), // 15: envoy.config.core.v3.HeaderValue (*RetryPolicy)(nil), // 16: envoy.config.core.v3.RetryPolicy (*_struct.Struct)(nil), // 17: google.protobuf.Struct (*wrappers.UInt32Value)(nil), // 18: google.protobuf.UInt32Value (*DataSource)(nil), // 19: envoy.config.core.v3.DataSource (*emptypb.Empty)(nil), // 20: google.protobuf.Empty (*any1.Any)(nil), // 21: google.protobuf.Any } var file_envoy_config_core_v3_grpc_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.GrpcService.envoy_grpc:type_name -> envoy.config.core.v3.GrpcService.EnvoyGrpc 2, // 1: envoy.config.core.v3.GrpcService.google_grpc:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc 14, // 2: envoy.config.core.v3.GrpcService.timeout:type_name -> google.protobuf.Duration 15, // 3: envoy.config.core.v3.GrpcService.initial_metadata:type_name -> envoy.config.core.v3.HeaderValue 16, // 4: envoy.config.core.v3.GrpcService.EnvoyGrpc.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy 5, // 5: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials 6, // 6: envoy.config.core.v3.GrpcService.GoogleGrpc.call_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials 17, // 7: envoy.config.core.v3.GrpcService.GoogleGrpc.config:type_name -> google.protobuf.Struct 18, // 8: envoy.config.core.v3.GrpcService.GoogleGrpc.per_stream_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 7, // 9: envoy.config.core.v3.GrpcService.GoogleGrpc.channel_args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs 19, // 10: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.root_certs:type_name -> envoy.config.core.v3.DataSource 19, // 11: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.private_key:type_name -> envoy.config.core.v3.DataSource 19, // 12: envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials.cert_chain:type_name -> envoy.config.core.v3.DataSource 3, // 13: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.ssl_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials 20, // 14: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.google_default:type_name -> google.protobuf.Empty 4, // 15: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials.local_credentials:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials 20, // 16: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_compute_engine:type_name -> google.protobuf.Empty 8, // 17: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.service_account_jwt_access:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials 9, // 18: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.google_iam:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials 10, // 19: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.from_plugin:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin 11, // 20: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.sts_service:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService 13, // 21: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.args:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry 21, // 22: envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.typed_config:type_name -> google.protobuf.Any 12, // 23: envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.ArgsEntry.value:type_name -> envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs.Value 24, // [24:24] is the sub-list for method output_type 24, // [24:24] is the sub-list for method input_type 24, // [24:24] is the sub-list for extension type_name 24, // [24:24] is the sub-list for extension extendee 0, // [0:24] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_grpc_service_proto_init() } func file_envoy_config_core_v3_grpc_service_proto_init() { if File_envoy_config_core_v3_grpc_service_proto != nil { return } file_envoy_config_core_v3_base_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_grpc_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_EnvoyGrpc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_SslCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_GoogleLocalCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_ChannelCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_ChannelArgs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_CallCredentials_StsService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcService_GoogleGrpc_ChannelArgs_Value); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_grpc_service_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GrpcService_EnvoyGrpc_)(nil), (*GrpcService_GoogleGrpc_)(nil), } file_envoy_config_core_v3_grpc_service_proto_msgTypes[5].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials)(nil), (*GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault)(nil), (*GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials)(nil), } file_envoy_config_core_v3_grpc_service_proto_msgTypes[6].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_CallCredentials_AccessToken)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken)(nil), (*GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess)(nil), (*GrpcService_GoogleGrpc_CallCredentials_GoogleIam)(nil), (*GrpcService_GoogleGrpc_CallCredentials_FromPlugin)(nil), (*GrpcService_GoogleGrpc_CallCredentials_StsService_)(nil), } file_envoy_config_core_v3_grpc_service_proto_msgTypes[10].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig)(nil), } file_envoy_config_core_v3_grpc_service_proto_msgTypes[12].OneofWrappers = []interface{}{ (*GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue)(nil), (*GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_grpc_service_proto_rawDesc, NumEnums: 0, NumMessages: 14, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_grpc_service_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_grpc_service_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_grpc_service_proto_msgTypes, }.Build() File_envoy_config_core_v3_grpc_service_proto = out.File file_envoy_config_core_v3_grpc_service_proto_rawDesc = nil file_envoy_config_core_v3_grpc_service_proto_goTypes = nil file_envoy_config_core_v3_grpc_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/grpc_service.pb.validate.go000077500000000000000000002250551454502223200260440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/grpc_service.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GrpcServiceMultiError, or // nil if none found. func (m *GrpcService) ValidateAll() error { return m.validate(true) } func (m *GrpcService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetInitialMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofTargetSpecifierPresent := false switch v := m.TargetSpecifier.(type) { case *GrpcService_EnvoyGrpc_: if v == nil { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTargetSpecifierPresent = true if all { switch v := interface{}(m.GetEnvoyGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvoyGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "EnvoyGrpc", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_: if v == nil { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTargetSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcServiceValidationError{ field: "GoogleGrpc", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTargetSpecifierPresent { err := GrpcServiceValidationError{ field: "TargetSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcServiceMultiError(errors) } return nil } // GrpcServiceMultiError is an error wrapping multiple validation errors // returned by GrpcService.ValidateAll() if the designated constraints aren't met. type GrpcServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcServiceMultiError) AllErrors() []error { return m } // GrpcServiceValidationError is the validation error returned by // GrpcService.Validate if the designated constraints aren't met. type GrpcServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcServiceValidationError) ErrorName() string { return "GrpcServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcServiceValidationError{} // Validate checks the field values on GrpcService_EnvoyGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_EnvoyGrpc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_EnvoyGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_EnvoyGrpcMultiError, or nil if none found. func (m *GrpcService_EnvoyGrpc) ValidateAll() error { return m.validate(true) } func (m *GrpcService_EnvoyGrpc) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := GrpcService_EnvoyGrpcValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetAuthority()) < 0 { err := GrpcService_EnvoyGrpcValidationError{ field: "Authority", reason: "value length must be at least 0 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetAuthority()) > 16384 { err := GrpcService_EnvoyGrpcValidationError{ field: "Authority", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_GrpcService_EnvoyGrpc_Authority_Pattern.MatchString(m.GetAuthority()) { err := GrpcService_EnvoyGrpcValidationError{ field: "Authority", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_EnvoyGrpcValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_EnvoyGrpcValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_EnvoyGrpcValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcService_EnvoyGrpcMultiError(errors) } return nil } // GrpcService_EnvoyGrpcMultiError is an error wrapping multiple validation // errors returned by GrpcService_EnvoyGrpc.ValidateAll() if the designated // constraints aren't met. type GrpcService_EnvoyGrpcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_EnvoyGrpcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_EnvoyGrpcMultiError) AllErrors() []error { return m } // GrpcService_EnvoyGrpcValidationError is the validation error returned by // GrpcService_EnvoyGrpc.Validate if the designated constraints aren't met. type GrpcService_EnvoyGrpcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_EnvoyGrpcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_EnvoyGrpcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_EnvoyGrpcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_EnvoyGrpcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_EnvoyGrpcValidationError) ErrorName() string { return "GrpcService_EnvoyGrpcValidationError" } // Error satisfies the builtin error interface func (e GrpcService_EnvoyGrpcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_EnvoyGrpc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_EnvoyGrpcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_EnvoyGrpcValidationError{} var _GrpcService_EnvoyGrpc_Authority_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on GrpcService_GoogleGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_GoogleGrpc with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpcMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetTargetUri()) < 1 { err := GrpcService_GoogleGrpcValidationError{ field: "TargetUri", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetChannelCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetChannelCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "ChannelCredentials", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCallCredentials() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: fmt.Sprintf("CallCredentials[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := GrpcService_GoogleGrpcValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for CredentialsFactoryName if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerStreamBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "PerStreamBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "PerStreamBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerStreamBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "PerStreamBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetChannelArgs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelArgs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpcValidationError{ field: "ChannelArgs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetChannelArgs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpcValidationError{ field: "ChannelArgs", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcService_GoogleGrpcMultiError(errors) } return nil } // GrpcService_GoogleGrpcMultiError is an error wrapping multiple validation // errors returned by GrpcService_GoogleGrpc.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpcMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpcValidationError is the validation error returned by // GrpcService_GoogleGrpc.Validate if the designated constraints aren't met. type GrpcService_GoogleGrpcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpcValidationError) ErrorName() string { return "GrpcService_GoogleGrpcValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpcValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_SslCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_SslCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_GoogleGrpc_SslCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_SslCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_SslCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_SslCredentials) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRootCerts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRootCerts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "RootCerts", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCertChain()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCertChain()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_SslCredentialsValidationError{ field: "CertChain", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcService_GoogleGrpc_SslCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_SslCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_SslCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_SslCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_SslCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_SslCredentialsValidationError is the validation error // returned by GrpcService_GoogleGrpc_SslCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_SslCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_SslCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_SslCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_SslCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_SslCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_SslCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_GoogleLocalCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_GoogleLocalCredentials) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_GoogleLocalCredentials.ValidateAll() if the // designated constraints aren't met. type GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_GoogleLocalCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError is the // validation error returned by // GrpcService_GoogleGrpc_GoogleLocalCredentials.Validate if the designated // constraints aren't met. type GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_GoogleLocalCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_GoogleLocalCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_ChannelCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_ChannelCredentials with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcService_GoogleGrpc_ChannelCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_ChannelCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_ChannelCredentials) validate(all bool) error { if m == nil { return nil } var errors []error oneofCredentialSpecifierPresent := false switch v := m.CredentialSpecifier.(type) { case *GrpcService_GoogleGrpc_ChannelCredentials_SslCredentials: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetSslCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSslCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "SslCredentials", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_ChannelCredentials_GoogleDefault: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleDefault()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleDefault()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "GoogleDefault", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_ChannelCredentials_LocalCredentials: if v == nil { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetLocalCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "LocalCredentials", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofCredentialSpecifierPresent { err := GrpcService_GoogleGrpc_ChannelCredentialsValidationError{ field: "CredentialSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_GoogleGrpc_ChannelCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_ChannelCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_ChannelCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_ChannelCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_ChannelCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_ChannelCredentialsValidationError is the validation // error returned by GrpcService_GoogleGrpc_ChannelCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_ChannelCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_ChannelCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_ChannelCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_ChannelCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_ChannelCredentialsValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_CallCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentialsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials) validate(all bool) error { if m == nil { return nil } var errors []error oneofCredentialSpecifierPresent := false switch v := m.CredentialSpecifier.(type) { case *GrpcService_GoogleGrpc_CallCredentials_AccessToken: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true // no validation rules for AccessToken case *GrpcService_GoogleGrpc_CallCredentials_GoogleComputeEngine: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleComputeEngine()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleComputeEngine()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleComputeEngine", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_GoogleRefreshToken: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true // no validation rules for GoogleRefreshToken case *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJwtAccess: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetServiceAccountJwtAccess()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServiceAccountJwtAccess()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "ServiceAccountJwtAccess", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_GoogleIam: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetGoogleIam()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleIam()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "GoogleIam", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_FromPlugin: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetFromPlugin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFromPlugin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "FromPlugin", reason: "embedded message failed validation", cause: err, } } } case *GrpcService_GoogleGrpc_CallCredentials_StsService_: if v == nil { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofCredentialSpecifierPresent = true if all { switch v := interface{}(m.GetStsService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStsService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "StsService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofCredentialSpecifierPresent { err := GrpcService_GoogleGrpc_CallCredentialsValidationError{ field: "CredentialSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentialsMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_CallCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentialsValidationError is the validation // error returned by GrpcService_GoogleGrpc_CallCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentialsValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_ChannelArgs with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *GrpcService_GoogleGrpc_ChannelArgs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcService_GoogleGrpc_ChannelArgs // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_ChannelArgsMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_ChannelArgs) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_ChannelArgs) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetArgs())) i := 0 for key := range m.GetArgs() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetArgs()[key] _ = val // no validation rules for Args[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelArgsValidationError{ field: fmt.Sprintf("Args[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_ChannelArgsValidationError{ field: fmt.Sprintf("Args[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_ChannelArgsValidationError{ field: fmt.Sprintf("Args[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return GrpcService_GoogleGrpc_ChannelArgsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_ChannelArgsMultiError is an error wrapping multiple // validation errors returned by // GrpcService_GoogleGrpc_ChannelArgs.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_ChannelArgsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_ChannelArgsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_ChannelArgsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_ChannelArgsValidationError is the validation error // returned by GrpcService_GoogleGrpc_ChannelArgs.Validate if the designated // constraints aren't met. type GrpcService_GoogleGrpc_ChannelArgsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_ChannelArgsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_ChannelArgsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_ChannelArgs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_ChannelArgsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_ChannelArgsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError, // or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for JsonKey // no validation rules for TokenLifetimeSeconds if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError // is an error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.Validate // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError, or // nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AuthorizationToken // no validation rules for AuthoritySelector if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError is an // error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentialsValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError, // or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_TypedConfig: if v == nil { err := GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError // is an error wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.ValidateAll() // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError // is the validation error returned by // GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.Validate // if the designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPluginValidationError{} // Validate checks the field values on // GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_CallCredentials_StsService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_CallCredentials_StsService) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TokenExchangeServiceUri // no validation rules for Resource // no validation rules for Audience // no validation rules for Scope // no validation rules for RequestedTokenType if utf8.RuneCountInString(m.GetSubjectTokenPath()) < 1 { err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{ field: "SubjectTokenPath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetSubjectTokenType()) < 1 { err := GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{ field: "SubjectTokenType", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for ActorTokenPath // no validation rules for ActorTokenType if len(errors) > 0 { return GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError(errors) } return nil } // GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError is an error // wrapping multiple validation errors returned by // GrpcService_GoogleGrpc_CallCredentials_StsService.ValidateAll() if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_CallCredentials_StsServiceMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError is the // validation error returned by // GrpcService_GoogleGrpc_CallCredentials_StsService.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_CallCredentials_StsService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_CallCredentials_StsServiceValidationError{} // Validate checks the field values on GrpcService_GoogleGrpc_ChannelArgs_Value // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcService_GoogleGrpc_ChannelArgs_Value with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError, or nil if none found. func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) ValidateAll() error { return m.validate(true) } func (m *GrpcService_GoogleGrpc_ChannelArgs_Value) validate(all bool) error { if m == nil { return nil } var errors []error oneofValueSpecifierPresent := false switch v := m.ValueSpecifier.(type) { case *GrpcService_GoogleGrpc_ChannelArgs_Value_StringValue: if v == nil { err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{ field: "ValueSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValueSpecifierPresent = true // no validation rules for StringValue case *GrpcService_GoogleGrpc_ChannelArgs_Value_IntValue: if v == nil { err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{ field: "ValueSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValueSpecifierPresent = true // no validation rules for IntValue default: _ = v // ensures v is used } if !oneofValueSpecifierPresent { err := GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{ field: "ValueSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError(errors) } return nil } // GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError is an error wrapping // multiple validation errors returned by // GrpcService_GoogleGrpc_ChannelArgs_Value.ValidateAll() if the designated // constraints aren't met. type GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcService_GoogleGrpc_ChannelArgs_ValueMultiError) AllErrors() []error { return m } // GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError is the validation // error returned by GrpcService_GoogleGrpc_ChannelArgs_Value.Validate if the // designated constraints aren't met. type GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) ErrorName() string { return "GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError" } // Error satisfies the builtin error interface func (e GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcService_GoogleGrpc_ChannelArgs_Value.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcService_GoogleGrpc_ChannelArgs_ValueValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/health_check.pb.go000077500000000000000000002413241454502223200242000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/health_check.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Endpoint health status. type HealthStatus int32 const ( // The health status is not known. This is interpreted by Envoy as “HEALTHY“. HealthStatus_UNKNOWN HealthStatus = 0 // Healthy. HealthStatus_HEALTHY HealthStatus = 1 // Unhealthy. HealthStatus_UNHEALTHY HealthStatus = 2 // Connection draining in progress. E.g., // ``_ // or // ``_. // This is interpreted by Envoy as “UNHEALTHY“. HealthStatus_DRAINING HealthStatus = 3 // Health check timed out. This is part of HDS and is interpreted by Envoy as // “UNHEALTHY“. HealthStatus_TIMEOUT HealthStatus = 4 // Degraded. HealthStatus_DEGRADED HealthStatus = 5 ) // Enum value maps for HealthStatus. var ( HealthStatus_name = map[int32]string{ 0: "UNKNOWN", 1: "HEALTHY", 2: "UNHEALTHY", 3: "DRAINING", 4: "TIMEOUT", 5: "DEGRADED", } HealthStatus_value = map[string]int32{ "UNKNOWN": 0, "HEALTHY": 1, "UNHEALTHY": 2, "DRAINING": 3, "TIMEOUT": 4, "DEGRADED": 5, } ) func (x HealthStatus) Enum() *HealthStatus { p := new(HealthStatus) *p = x return p } func (x HealthStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_health_check_proto_enumTypes[0].Descriptor() } func (HealthStatus) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_health_check_proto_enumTypes[0] } func (x HealthStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthStatus.Descriptor instead. func (HealthStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{0} } type HealthStatusSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An order-independent set of health status. Statuses []HealthStatus `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=envoy.config.core.v3.HealthStatus" json:"statuses,omitempty"` } func (x *HealthStatusSet) Reset() { *x = HealthStatusSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthStatusSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthStatusSet) ProtoMessage() {} func (x *HealthStatusSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthStatusSet.ProtoReflect.Descriptor instead. func (*HealthStatusSet) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{0} } func (x *HealthStatusSet) GetStatuses() []HealthStatus { if x != nil { return x.Statuses } return nil } // [#next-free-field: 26] type HealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The time to wait for a health check response. If the timeout is reached the // health check attempt will be considered a failure. Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` // The interval between health checks. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` // An optional jitter amount in milliseconds. If specified, Envoy will start health // checking after for a random time in ms between 0 and initial_jitter. This only // applies to the first health check. InitialJitter *duration.Duration `protobuf:"bytes,20,opt,name=initial_jitter,json=initialJitter,proto3" json:"initial_jitter,omitempty"` // An optional jitter amount in milliseconds. If specified, during every // interval Envoy will add interval_jitter to the wait time. IntervalJitter *duration.Duration `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"` // An optional jitter amount as a percentage of interval_ms. If specified, // during every interval Envoy will add “interval_ms“ * // “interval_jitter_percent“ / 100 to the wait time. // // If interval_jitter_ms and interval_jitter_percent are both set, both of // them will be used to increase the wait time. IntervalJitterPercent uint32 `protobuf:"varint,18,opt,name=interval_jitter_percent,json=intervalJitterPercent,proto3" json:"interval_jitter_percent,omitempty"` // The number of unhealthy health checks required before a host is marked // unhealthy. Note that for “http“ health checking if a host responds with a code not in // :ref:`expected_statuses ` // or :ref:`retriable_statuses `, // this threshold is ignored and the host is considered immediately unhealthy. UnhealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=unhealthy_threshold,json=unhealthyThreshold,proto3" json:"unhealthy_threshold,omitempty"` // The number of healthy health checks required before a host is marked // healthy. Note that during startup, only a single successful health check is // required to mark a host healthy. HealthyThreshold *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=healthy_threshold,json=healthyThreshold,proto3" json:"healthy_threshold,omitempty"` // [#not-implemented-hide:] Non-serving port for health checking. AltPort *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=alt_port,json=altPort,proto3" json:"alt_port,omitempty"` // Reuse health check connection between health checks. Default is true. ReuseConnection *wrappers.BoolValue `protobuf:"bytes,7,opt,name=reuse_connection,json=reuseConnection,proto3" json:"reuse_connection,omitempty"` // Types that are assignable to HealthChecker: // // *HealthCheck_HttpHealthCheck_ // *HealthCheck_TcpHealthCheck_ // *HealthCheck_GrpcHealthCheck_ // *HealthCheck_CustomHealthCheck_ HealthChecker isHealthCheck_HealthChecker `protobuf_oneof:"health_checker"` // The "no traffic interval" is a special health check interval that is used when a cluster has // never had traffic routed to it. This lower interval allows cluster information to be kept up to // date, without sending a potentially large amount of active health checking traffic for no // reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the // standard health check interval that is defined. Note that this interval takes precedence over // any other. // // The default value for "no traffic interval" is 60 seconds. NoTrafficInterval *duration.Duration `protobuf:"bytes,12,opt,name=no_traffic_interval,json=noTrafficInterval,proto3" json:"no_traffic_interval,omitempty"` // The "no traffic healthy interval" is a special health check interval that // is used for hosts that are currently passing active health checking // (including new hosts) when the cluster has received no traffic. // // This is useful for when we want to send frequent health checks with // “no_traffic_interval“ but then revert to lower frequency “no_traffic_healthy_interval“ once // a host in the cluster is marked as healthy. // // Once a cluster has been used for traffic routing, Envoy will shift back to using the // standard health check interval that is defined. // // If no_traffic_healthy_interval is not set, it will default to the // no traffic interval and send that interval regardless of health state. NoTrafficHealthyInterval *duration.Duration `protobuf:"bytes,24,opt,name=no_traffic_healthy_interval,json=noTrafficHealthyInterval,proto3" json:"no_traffic_healthy_interval,omitempty"` // The "unhealthy interval" is a health check interval that is used for hosts that are marked as // unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the // standard health check interval that is defined. // // The default value for "unhealthy interval" is the same as "interval". UnhealthyInterval *duration.Duration `protobuf:"bytes,14,opt,name=unhealthy_interval,json=unhealthyInterval,proto3" json:"unhealthy_interval,omitempty"` // The "unhealthy edge interval" is a special health check interval that is used for the first // health check right after a host is marked as unhealthy. For subsequent health checks // Envoy will shift back to using either "unhealthy interval" if present or the standard health // check interval that is defined. // // The default value for "unhealthy edge interval" is the same as "unhealthy interval". UnhealthyEdgeInterval *duration.Duration `protobuf:"bytes,15,opt,name=unhealthy_edge_interval,json=unhealthyEdgeInterval,proto3" json:"unhealthy_edge_interval,omitempty"` // The "healthy edge interval" is a special health check interval that is used for the first // health check right after a host is marked as healthy. For subsequent health checks // Envoy will shift back to using the standard health check interval that is defined. // // The default value for "healthy edge interval" is the same as the default interval. HealthyEdgeInterval *duration.Duration `protobuf:"bytes,16,opt,name=healthy_edge_interval,json=healthyEdgeInterval,proto3" json:"healthy_edge_interval,omitempty"` // .. attention:: // This field is deprecated in favor of the extension // :ref:`event_logger ` and // :ref:`event_log_path ` // in the file sink extension. // // Specifies the path to the :ref:`health check event log `. // // Deprecated: Marked as deprecated in envoy/config/core/v3/health_check.proto. EventLogPath string `protobuf:"bytes,17,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"` // A list of event log sinks to process the health check event. // [#extension-category: envoy.health_check.event_sinks] EventLogger []*TypedExtensionConfig `protobuf:"bytes,25,rep,name=event_logger,json=eventLogger,proto3" json:"event_logger,omitempty"` // [#not-implemented-hide:] // The gRPC service for the health check event service. // If empty, health check events won't be sent to a remote endpoint. EventService *EventServiceConfig `protobuf:"bytes,22,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"` // If set to true, health check failure events will always be logged. If set to false, only the // initial health check failure event will be logged. // The default value is false. AlwaysLogHealthCheckFailures bool `protobuf:"varint,19,opt,name=always_log_health_check_failures,json=alwaysLogHealthCheckFailures,proto3" json:"always_log_health_check_failures,omitempty"` // This allows overriding the cluster TLS settings, just for health check connections. TlsOptions *HealthCheck_TlsOptions `protobuf:"bytes,21,opt,name=tls_options,json=tlsOptions,proto3" json:"tls_options,omitempty"` // Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's // :ref:`tranport socket matches `. // For example, the following match criteria // // .. code-block:: yaml // // transport_socket_match_criteria: // useMTLS: true // // Will match the following :ref:`cluster socket match ` // // .. code-block:: yaml // // transport_socket_matches: // - name: "useMTLS" // match: // useMTLS: true // transport_socket: // name: envoy.transport_sockets.tls // config: { ... } # tls socket configuration // // If this field is set, then for health checks it will supersede an entry of “envoy.transport_socket“ in the // :ref:`LbEndpoint.Metadata `. // This allows using different transport socket capabilities for health checking versus proxying to the // endpoint. // // If the key/values pairs specified do not match any // :ref:`transport socket matches `, // the cluster's :ref:`transport socket ` // will be used for health check socket configuration. TransportSocketMatchCriteria *_struct.Struct `protobuf:"bytes,23,opt,name=transport_socket_match_criteria,json=transportSocketMatchCriteria,proto3" json:"transport_socket_match_criteria,omitempty"` } func (x *HealthCheck) Reset() { *x = HealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck) ProtoMessage() {} func (x *HealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1} } func (x *HealthCheck) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *HealthCheck) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *HealthCheck) GetInitialJitter() *duration.Duration { if x != nil { return x.InitialJitter } return nil } func (x *HealthCheck) GetIntervalJitter() *duration.Duration { if x != nil { return x.IntervalJitter } return nil } func (x *HealthCheck) GetIntervalJitterPercent() uint32 { if x != nil { return x.IntervalJitterPercent } return 0 } func (x *HealthCheck) GetUnhealthyThreshold() *wrappers.UInt32Value { if x != nil { return x.UnhealthyThreshold } return nil } func (x *HealthCheck) GetHealthyThreshold() *wrappers.UInt32Value { if x != nil { return x.HealthyThreshold } return nil } func (x *HealthCheck) GetAltPort() *wrappers.UInt32Value { if x != nil { return x.AltPort } return nil } func (x *HealthCheck) GetReuseConnection() *wrappers.BoolValue { if x != nil { return x.ReuseConnection } return nil } func (m *HealthCheck) GetHealthChecker() isHealthCheck_HealthChecker { if m != nil { return m.HealthChecker } return nil } func (x *HealthCheck) GetHttpHealthCheck() *HealthCheck_HttpHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_HttpHealthCheck_); ok { return x.HttpHealthCheck } return nil } func (x *HealthCheck) GetTcpHealthCheck() *HealthCheck_TcpHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_TcpHealthCheck_); ok { return x.TcpHealthCheck } return nil } func (x *HealthCheck) GetGrpcHealthCheck() *HealthCheck_GrpcHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_GrpcHealthCheck_); ok { return x.GrpcHealthCheck } return nil } func (x *HealthCheck) GetCustomHealthCheck() *HealthCheck_CustomHealthCheck { if x, ok := x.GetHealthChecker().(*HealthCheck_CustomHealthCheck_); ok { return x.CustomHealthCheck } return nil } func (x *HealthCheck) GetNoTrafficInterval() *duration.Duration { if x != nil { return x.NoTrafficInterval } return nil } func (x *HealthCheck) GetNoTrafficHealthyInterval() *duration.Duration { if x != nil { return x.NoTrafficHealthyInterval } return nil } func (x *HealthCheck) GetUnhealthyInterval() *duration.Duration { if x != nil { return x.UnhealthyInterval } return nil } func (x *HealthCheck) GetUnhealthyEdgeInterval() *duration.Duration { if x != nil { return x.UnhealthyEdgeInterval } return nil } func (x *HealthCheck) GetHealthyEdgeInterval() *duration.Duration { if x != nil { return x.HealthyEdgeInterval } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/health_check.proto. func (x *HealthCheck) GetEventLogPath() string { if x != nil { return x.EventLogPath } return "" } func (x *HealthCheck) GetEventLogger() []*TypedExtensionConfig { if x != nil { return x.EventLogger } return nil } func (x *HealthCheck) GetEventService() *EventServiceConfig { if x != nil { return x.EventService } return nil } func (x *HealthCheck) GetAlwaysLogHealthCheckFailures() bool { if x != nil { return x.AlwaysLogHealthCheckFailures } return false } func (x *HealthCheck) GetTlsOptions() *HealthCheck_TlsOptions { if x != nil { return x.TlsOptions } return nil } func (x *HealthCheck) GetTransportSocketMatchCriteria() *_struct.Struct { if x != nil { return x.TransportSocketMatchCriteria } return nil } type isHealthCheck_HealthChecker interface { isHealthCheck_HealthChecker() } type HealthCheck_HttpHealthCheck_ struct { // HTTP health check. HttpHealthCheck *HealthCheck_HttpHealthCheck `protobuf:"bytes,8,opt,name=http_health_check,json=httpHealthCheck,proto3,oneof"` } type HealthCheck_TcpHealthCheck_ struct { // TCP health check. TcpHealthCheck *HealthCheck_TcpHealthCheck `protobuf:"bytes,9,opt,name=tcp_health_check,json=tcpHealthCheck,proto3,oneof"` } type HealthCheck_GrpcHealthCheck_ struct { // gRPC health check. GrpcHealthCheck *HealthCheck_GrpcHealthCheck `protobuf:"bytes,11,opt,name=grpc_health_check,json=grpcHealthCheck,proto3,oneof"` } type HealthCheck_CustomHealthCheck_ struct { // Custom health check. CustomHealthCheck *HealthCheck_CustomHealthCheck `protobuf:"bytes,13,opt,name=custom_health_check,json=customHealthCheck,proto3,oneof"` } func (*HealthCheck_HttpHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_TcpHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_GrpcHealthCheck_) isHealthCheck_HealthChecker() {} func (*HealthCheck_CustomHealthCheck_) isHealthCheck_HealthChecker() {} // Describes the encoding of the payload bytes in the payload. type HealthCheck_Payload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Payload: // // *HealthCheck_Payload_Text // *HealthCheck_Payload_Binary Payload isHealthCheck_Payload_Payload `protobuf_oneof:"payload"` } func (x *HealthCheck_Payload) Reset() { *x = HealthCheck_Payload{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_Payload) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_Payload) ProtoMessage() {} func (x *HealthCheck_Payload) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_Payload.ProtoReflect.Descriptor instead. func (*HealthCheck_Payload) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 0} } func (m *HealthCheck_Payload) GetPayload() isHealthCheck_Payload_Payload { if m != nil { return m.Payload } return nil } func (x *HealthCheck_Payload) GetText() string { if x, ok := x.GetPayload().(*HealthCheck_Payload_Text); ok { return x.Text } return "" } func (x *HealthCheck_Payload) GetBinary() []byte { if x, ok := x.GetPayload().(*HealthCheck_Payload_Binary); ok { return x.Binary } return nil } type isHealthCheck_Payload_Payload interface { isHealthCheck_Payload_Payload() } type HealthCheck_Payload_Text struct { // Hex encoded payload. E.g., "000000FF". Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` } type HealthCheck_Payload_Binary struct { // Binary payload. Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"` } func (*HealthCheck_Payload_Text) isHealthCheck_Payload_Payload() {} func (*HealthCheck_Payload_Binary) isHealthCheck_Payload_Payload() {} // [#next-free-field: 15] type HealthCheck_HttpHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value of the host header in the HTTP health check request. If // left empty (default value), the name of the cluster this health check is associated // with will be used. The host header can be customized for a specific endpoint by setting the // :ref:`hostname ` field. Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Specifies the HTTP path that will be requested during health checking. For example // “/healthcheck“. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // [#not-implemented-hide:] HTTP specific payload. Send *HealthCheck_Payload `protobuf:"bytes,3,opt,name=send,proto3" json:"send,omitempty"` // Specifies a list of HTTP expected responses to match in the first “response_buffer_size“ bytes of the response body. // If it is set, both the expected response check and status code determine the health check. // When checking the response, “fuzzy” matching is performed such that each payload block must be found, // and in the order specified, but not necessarily contiguous. // // .. note:: // // It is recommended to set ``response_buffer_size`` based on the total Payload size for efficiency. // The default buffer size is 1024 bytes when it is not set. Receive []*HealthCheck_Payload `protobuf:"bytes,4,rep,name=receive,proto3" json:"receive,omitempty"` // Specifies the size of response buffer in bytes that is used to Payload match. // The default value is 1024. Setting to 0 implies that the Payload will be matched against the entire response. ResponseBufferSize *wrappers.UInt64Value `protobuf:"bytes,14,opt,name=response_buffer_size,json=responseBufferSize,proto3" json:"response_buffer_size,omitempty"` // Specifies a list of HTTP headers that should be added to each request that is sent to the // health checked cluster. For more information, including details on header value syntax, see // the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request that is sent to the // health checked cluster. RequestHeadersToRemove []string `protobuf:"bytes,8,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a list of HTTP response statuses considered healthy. If provided, replaces default // 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open // semantics of :ref:`Int64Range `. The start and end of each // range are required. Only statuses in the range [100, 600) are allowed. ExpectedStatuses []*v3.Int64Range `protobuf:"bytes,9,rep,name=expected_statuses,json=expectedStatuses,proto3" json:"expected_statuses,omitempty"` // Specifies a list of HTTP response statuses considered retriable. If provided, responses in this range // will count towards the configured :ref:`unhealthy_threshold `, // but will not result in the host being considered immediately unhealthy. Ranges follow half-open semantics of // :ref:`Int64Range `. The start and end of each range are required. // Only statuses in the range [100, 600) are allowed. The :ref:`expected_statuses ` // field takes precedence for any range overlaps with this field i.e. if status code 200 is both retriable and expected, a 200 response will // be considered a successful health check. By default all responses not in // :ref:`expected_statuses ` will result in // the host being considered immediately unhealthy i.e. if status code 200 is expected and there are no configured retriable statuses, any // non-200 response will result in the host being marked unhealthy. RetriableStatuses []*v3.Int64Range `protobuf:"bytes,12,rep,name=retriable_statuses,json=retriableStatuses,proto3" json:"retriable_statuses,omitempty"` // Use specified application protocol for health checks. CodecClientType v3.CodecClientType `protobuf:"varint,10,opt,name=codec_client_type,json=codecClientType,proto3,enum=envoy.type.v3.CodecClientType" json:"codec_client_type,omitempty"` // An optional service name parameter which is used to validate the identity of // the health checked cluster using a :ref:`StringMatcher // `. See the :ref:`architecture overview // ` for more information. ServiceNameMatcher *v31.StringMatcher `protobuf:"bytes,11,opt,name=service_name_matcher,json=serviceNameMatcher,proto3" json:"service_name_matcher,omitempty"` // HTTP Method that will be used for health checking, default is "GET". // GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, PATCH methods are supported, but making request body is not supported. // CONNECT method is disallowed because it is not appropriate for health check request. // If a non-200 response is expected by the method, it needs to be set in :ref:`expected_statuses `. Method RequestMethod `protobuf:"varint,13,opt,name=method,proto3,enum=envoy.config.core.v3.RequestMethod" json:"method,omitempty"` } func (x *HealthCheck_HttpHealthCheck) Reset() { *x = HealthCheck_HttpHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_HttpHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_HttpHealthCheck) ProtoMessage() {} func (x *HealthCheck_HttpHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_HttpHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_HttpHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 1} } func (x *HealthCheck_HttpHealthCheck) GetHost() string { if x != nil { return x.Host } return "" } func (x *HealthCheck_HttpHealthCheck) GetPath() string { if x != nil { return x.Path } return "" } func (x *HealthCheck_HttpHealthCheck) GetSend() *HealthCheck_Payload { if x != nil { return x.Send } return nil } func (x *HealthCheck_HttpHealthCheck) GetReceive() []*HealthCheck_Payload { if x != nil { return x.Receive } return nil } func (x *HealthCheck_HttpHealthCheck) GetResponseBufferSize() *wrappers.UInt64Value { if x != nil { return x.ResponseBufferSize } return nil } func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToAdd() []*HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *HealthCheck_HttpHealthCheck) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *HealthCheck_HttpHealthCheck) GetExpectedStatuses() []*v3.Int64Range { if x != nil { return x.ExpectedStatuses } return nil } func (x *HealthCheck_HttpHealthCheck) GetRetriableStatuses() []*v3.Int64Range { if x != nil { return x.RetriableStatuses } return nil } func (x *HealthCheck_HttpHealthCheck) GetCodecClientType() v3.CodecClientType { if x != nil { return x.CodecClientType } return v3.CodecClientType(0) } func (x *HealthCheck_HttpHealthCheck) GetServiceNameMatcher() *v31.StringMatcher { if x != nil { return x.ServiceNameMatcher } return nil } func (x *HealthCheck_HttpHealthCheck) GetMethod() RequestMethod { if x != nil { return x.Method } return RequestMethod_METHOD_UNSPECIFIED } type HealthCheck_TcpHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Empty payloads imply a connect-only health check. Send *HealthCheck_Payload `protobuf:"bytes,1,opt,name=send,proto3" json:"send,omitempty"` // When checking the response, “fuzzy” matching is performed such that each // payload block must be found, and in the order specified, but not // necessarily contiguous. Receive []*HealthCheck_Payload `protobuf:"bytes,2,rep,name=receive,proto3" json:"receive,omitempty"` } func (x *HealthCheck_TcpHealthCheck) Reset() { *x = HealthCheck_TcpHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_TcpHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_TcpHealthCheck) ProtoMessage() {} func (x *HealthCheck_TcpHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_TcpHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_TcpHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 2} } func (x *HealthCheck_TcpHealthCheck) GetSend() *HealthCheck_Payload { if x != nil { return x.Send } return nil } func (x *HealthCheck_TcpHealthCheck) GetReceive() []*HealthCheck_Payload { if x != nil { return x.Receive } return nil } type HealthCheck_RedisHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, optionally perform “EXISTS “ instead of “PING“. A return value // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance // by setting the specified key to any value and waiting for traffic to drain. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *HealthCheck_RedisHealthCheck) Reset() { *x = HealthCheck_RedisHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_RedisHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_RedisHealthCheck) ProtoMessage() {} func (x *HealthCheck_RedisHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_RedisHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_RedisHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 3} } func (x *HealthCheck_RedisHealthCheck) GetKey() string { if x != nil { return x.Key } return "" } // `grpc.health.v1.Health // `_-based // healthcheck. See `gRPC doc `_ // for details. type HealthCheck_GrpcHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional service name parameter which will be sent to gRPC service in // `grpc.health.v1.HealthCheckRequest // `_. // message. See `gRPC health-checking overview // `_ for more information. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The value of the :authority header in the gRPC health check request. If // left empty (default value), the name of the cluster this health check is associated // with will be used. The authority header can be customized for a specific endpoint by setting // the :ref:`hostname ` field. Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` // Specifies a list of key-value pairs that should be added to the metadata of each GRPC call // that is sent to the health checked cluster. For more information, including details on header value syntax, // see the documentation on :ref:`custom request headers // `. InitialMetadata []*HeaderValueOption `protobuf:"bytes,3,rep,name=initial_metadata,json=initialMetadata,proto3" json:"initial_metadata,omitempty"` } func (x *HealthCheck_GrpcHealthCheck) Reset() { *x = HealthCheck_GrpcHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_GrpcHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_GrpcHealthCheck) ProtoMessage() {} func (x *HealthCheck_GrpcHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_GrpcHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_GrpcHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 4} } func (x *HealthCheck_GrpcHealthCheck) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *HealthCheck_GrpcHealthCheck) GetAuthority() string { if x != nil { return x.Authority } return "" } func (x *HealthCheck_GrpcHealthCheck) GetInitialMetadata() []*HeaderValueOption { if x != nil { return x.InitialMetadata } return nil } // Custom health check. type HealthCheck_CustomHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The registered name of the custom health checker. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A custom health checker specific configuration which depends on the custom health checker // being instantiated. See :api:`envoy/config/health_checker` for reference. // [#extension-category: envoy.health_checkers] // // Types that are assignable to ConfigType: // // *HealthCheck_CustomHealthCheck_TypedConfig ConfigType isHealthCheck_CustomHealthCheck_ConfigType `protobuf_oneof:"config_type"` } func (x *HealthCheck_CustomHealthCheck) Reset() { *x = HealthCheck_CustomHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_CustomHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_CustomHealthCheck) ProtoMessage() {} func (x *HealthCheck_CustomHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_CustomHealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck_CustomHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 5} } func (x *HealthCheck_CustomHealthCheck) GetName() string { if x != nil { return x.Name } return "" } func (m *HealthCheck_CustomHealthCheck) GetConfigType() isHealthCheck_CustomHealthCheck_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *HealthCheck_CustomHealthCheck) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*HealthCheck_CustomHealthCheck_TypedConfig); ok { return x.TypedConfig } return nil } type isHealthCheck_CustomHealthCheck_ConfigType interface { isHealthCheck_CustomHealthCheck_ConfigType() } type HealthCheck_CustomHealthCheck_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*HealthCheck_CustomHealthCheck_TypedConfig) isHealthCheck_CustomHealthCheck_ConfigType() {} // Health checks occur over the transport socket specified for the cluster. This implies that if a // cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. // // This allows overriding the cluster TLS settings, just for health check connections. type HealthCheck_TlsOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the ALPN protocols for health check connections. This is useful if the // corresponding upstream is using ALPN-based :ref:`FilterChainMatch // ` along with different protocols for health checks // versus data connections. If empty, no ALPN protocols will be set on health check connections. AlpnProtocols []string `protobuf:"bytes,1,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"` } func (x *HealthCheck_TlsOptions) Reset() { *x = HealthCheck_TlsOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck_TlsOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck_TlsOptions) ProtoMessage() {} func (x *HealthCheck_TlsOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_health_check_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck_TlsOptions.ProtoReflect.Descriptor instead. func (*HealthCheck_TlsOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_health_check_proto_rawDescGZIP(), []int{1, 6} } func (x *HealthCheck_TlsOptions) GetAlpnProtocols() []string { if x != nil { return x.AlpnProtocols } return nil } var File_envoy_config_core_v3_health_check_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_health_check_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x65, 0x74, 0x12, 0x4d, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xed, 0x1e, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x13, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x53, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x5f, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x65, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x53, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x6e, 0x6f, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x62, 0x0a, 0x1b, 0x6e, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x18, 0x6e, 0x6f, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x17, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x57, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4c, 0x6f, 0x67, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x1a, 0x80, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xcc, 0x07, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x06, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x1a, 0xc9, 0x01, 0x0a, 0x0e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0x5b, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0xf4, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0xc0, 0x01, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x64, 0x0a, 0x0a, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x54, 0x6c, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x15, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x2a, 0x60, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0x05, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_health_check_proto_rawDescOnce sync.Once file_envoy_config_core_v3_health_check_proto_rawDescData = file_envoy_config_core_v3_health_check_proto_rawDesc ) func file_envoy_config_core_v3_health_check_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_health_check_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_health_check_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_health_check_proto_rawDescData) }) return file_envoy_config_core_v3_health_check_proto_rawDescData } var file_envoy_config_core_v3_health_check_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_core_v3_health_check_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_envoy_config_core_v3_health_check_proto_goTypes = []interface{}{ (HealthStatus)(0), // 0: envoy.config.core.v3.HealthStatus (*HealthStatusSet)(nil), // 1: envoy.config.core.v3.HealthStatusSet (*HealthCheck)(nil), // 2: envoy.config.core.v3.HealthCheck (*HealthCheck_Payload)(nil), // 3: envoy.config.core.v3.HealthCheck.Payload (*HealthCheck_HttpHealthCheck)(nil), // 4: envoy.config.core.v3.HealthCheck.HttpHealthCheck (*HealthCheck_TcpHealthCheck)(nil), // 5: envoy.config.core.v3.HealthCheck.TcpHealthCheck (*HealthCheck_RedisHealthCheck)(nil), // 6: envoy.config.core.v3.HealthCheck.RedisHealthCheck (*HealthCheck_GrpcHealthCheck)(nil), // 7: envoy.config.core.v3.HealthCheck.GrpcHealthCheck (*HealthCheck_CustomHealthCheck)(nil), // 8: envoy.config.core.v3.HealthCheck.CustomHealthCheck (*HealthCheck_TlsOptions)(nil), // 9: envoy.config.core.v3.HealthCheck.TlsOptions (*duration.Duration)(nil), // 10: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue (*TypedExtensionConfig)(nil), // 13: envoy.config.core.v3.TypedExtensionConfig (*EventServiceConfig)(nil), // 14: envoy.config.core.v3.EventServiceConfig (*_struct.Struct)(nil), // 15: google.protobuf.Struct (*wrappers.UInt64Value)(nil), // 16: google.protobuf.UInt64Value (*HeaderValueOption)(nil), // 17: envoy.config.core.v3.HeaderValueOption (*v3.Int64Range)(nil), // 18: envoy.type.v3.Int64Range (v3.CodecClientType)(0), // 19: envoy.type.v3.CodecClientType (*v31.StringMatcher)(nil), // 20: envoy.type.matcher.v3.StringMatcher (RequestMethod)(0), // 21: envoy.config.core.v3.RequestMethod (*any1.Any)(nil), // 22: google.protobuf.Any } var file_envoy_config_core_v3_health_check_proto_depIdxs = []int32{ 0, // 0: envoy.config.core.v3.HealthStatusSet.statuses:type_name -> envoy.config.core.v3.HealthStatus 10, // 1: envoy.config.core.v3.HealthCheck.timeout:type_name -> google.protobuf.Duration 10, // 2: envoy.config.core.v3.HealthCheck.interval:type_name -> google.protobuf.Duration 10, // 3: envoy.config.core.v3.HealthCheck.initial_jitter:type_name -> google.protobuf.Duration 10, // 4: envoy.config.core.v3.HealthCheck.interval_jitter:type_name -> google.protobuf.Duration 11, // 5: envoy.config.core.v3.HealthCheck.unhealthy_threshold:type_name -> google.protobuf.UInt32Value 11, // 6: envoy.config.core.v3.HealthCheck.healthy_threshold:type_name -> google.protobuf.UInt32Value 11, // 7: envoy.config.core.v3.HealthCheck.alt_port:type_name -> google.protobuf.UInt32Value 12, // 8: envoy.config.core.v3.HealthCheck.reuse_connection:type_name -> google.protobuf.BoolValue 4, // 9: envoy.config.core.v3.HealthCheck.http_health_check:type_name -> envoy.config.core.v3.HealthCheck.HttpHealthCheck 5, // 10: envoy.config.core.v3.HealthCheck.tcp_health_check:type_name -> envoy.config.core.v3.HealthCheck.TcpHealthCheck 7, // 11: envoy.config.core.v3.HealthCheck.grpc_health_check:type_name -> envoy.config.core.v3.HealthCheck.GrpcHealthCheck 8, // 12: envoy.config.core.v3.HealthCheck.custom_health_check:type_name -> envoy.config.core.v3.HealthCheck.CustomHealthCheck 10, // 13: envoy.config.core.v3.HealthCheck.no_traffic_interval:type_name -> google.protobuf.Duration 10, // 14: envoy.config.core.v3.HealthCheck.no_traffic_healthy_interval:type_name -> google.protobuf.Duration 10, // 15: envoy.config.core.v3.HealthCheck.unhealthy_interval:type_name -> google.protobuf.Duration 10, // 16: envoy.config.core.v3.HealthCheck.unhealthy_edge_interval:type_name -> google.protobuf.Duration 10, // 17: envoy.config.core.v3.HealthCheck.healthy_edge_interval:type_name -> google.protobuf.Duration 13, // 18: envoy.config.core.v3.HealthCheck.event_logger:type_name -> envoy.config.core.v3.TypedExtensionConfig 14, // 19: envoy.config.core.v3.HealthCheck.event_service:type_name -> envoy.config.core.v3.EventServiceConfig 9, // 20: envoy.config.core.v3.HealthCheck.tls_options:type_name -> envoy.config.core.v3.HealthCheck.TlsOptions 15, // 21: envoy.config.core.v3.HealthCheck.transport_socket_match_criteria:type_name -> google.protobuf.Struct 3, // 22: envoy.config.core.v3.HealthCheck.HttpHealthCheck.send:type_name -> envoy.config.core.v3.HealthCheck.Payload 3, // 23: envoy.config.core.v3.HealthCheck.HttpHealthCheck.receive:type_name -> envoy.config.core.v3.HealthCheck.Payload 16, // 24: envoy.config.core.v3.HealthCheck.HttpHealthCheck.response_buffer_size:type_name -> google.protobuf.UInt64Value 17, // 25: envoy.config.core.v3.HealthCheck.HttpHealthCheck.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 18, // 26: envoy.config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses:type_name -> envoy.type.v3.Int64Range 18, // 27: envoy.config.core.v3.HealthCheck.HttpHealthCheck.retriable_statuses:type_name -> envoy.type.v3.Int64Range 19, // 28: envoy.config.core.v3.HealthCheck.HttpHealthCheck.codec_client_type:type_name -> envoy.type.v3.CodecClientType 20, // 29: envoy.config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher:type_name -> envoy.type.matcher.v3.StringMatcher 21, // 30: envoy.config.core.v3.HealthCheck.HttpHealthCheck.method:type_name -> envoy.config.core.v3.RequestMethod 3, // 31: envoy.config.core.v3.HealthCheck.TcpHealthCheck.send:type_name -> envoy.config.core.v3.HealthCheck.Payload 3, // 32: envoy.config.core.v3.HealthCheck.TcpHealthCheck.receive:type_name -> envoy.config.core.v3.HealthCheck.Payload 17, // 33: envoy.config.core.v3.HealthCheck.GrpcHealthCheck.initial_metadata:type_name -> envoy.config.core.v3.HeaderValueOption 22, // 34: envoy.config.core.v3.HealthCheck.CustomHealthCheck.typed_config:type_name -> google.protobuf.Any 35, // [35:35] is the sub-list for method output_type 35, // [35:35] is the sub-list for method input_type 35, // [35:35] is the sub-list for extension type_name 35, // [35:35] is the sub-list for extension extendee 0, // [0:35] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_health_check_proto_init() } func file_envoy_config_core_v3_health_check_proto_init() { if File_envoy_config_core_v3_health_check_proto != nil { return } file_envoy_config_core_v3_base_proto_init() file_envoy_config_core_v3_event_service_config_proto_init() file_envoy_config_core_v3_extension_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_health_check_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthStatusSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_Payload); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_HttpHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_TcpHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_RedisHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_GrpcHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_CustomHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_health_check_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck_TlsOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_health_check_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HealthCheck_HttpHealthCheck_)(nil), (*HealthCheck_TcpHealthCheck_)(nil), (*HealthCheck_GrpcHealthCheck_)(nil), (*HealthCheck_CustomHealthCheck_)(nil), } file_envoy_config_core_v3_health_check_proto_msgTypes[2].OneofWrappers = []interface{}{ (*HealthCheck_Payload_Text)(nil), (*HealthCheck_Payload_Binary)(nil), } file_envoy_config_core_v3_health_check_proto_msgTypes[7].OneofWrappers = []interface{}{ (*HealthCheck_CustomHealthCheck_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_health_check_proto_rawDesc, NumEnums: 1, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_health_check_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_health_check_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_health_check_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_health_check_proto_msgTypes, }.Build() File_envoy_config_core_v3_health_check_proto = out.File file_envoy_config_core_v3_health_check_proto_rawDesc = nil file_envoy_config_core_v3_health_check_proto_goTypes = nil file_envoy_config_core_v3_health_check_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/health_check.pb.validate.go000077500000000000000000001701271454502223200257720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/health_check.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.CodecClientType(0) ) // Validate checks the field values on HealthStatusSet with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HealthStatusSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthStatusSet with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthStatusSetMultiError, or nil if none found. func (m *HealthStatusSet) ValidateAll() error { return m.validate(true) } func (m *HealthStatusSet) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStatuses() { _, _ = idx, item if _, ok := HealthStatus_name[int32(item)]; !ok { err := HealthStatusSetValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return HealthStatusSetMultiError(errors) } return nil } // HealthStatusSetMultiError is an error wrapping multiple validation errors // returned by HealthStatusSet.ValidateAll() if the designated constraints // aren't met. type HealthStatusSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthStatusSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthStatusSetMultiError) AllErrors() []error { return m } // HealthStatusSetValidationError is the validation error returned by // HealthStatusSet.Validate if the designated constraints aren't met. type HealthStatusSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthStatusSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthStatusSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthStatusSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthStatusSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthStatusSetValidationError) ErrorName() string { return "HealthStatusSetValidationError" } // Error satisfies the builtin error interface func (e HealthStatusSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthStatusSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthStatusSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthStatusSetValidationError{} // Validate checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HealthCheckMultiError, or // nil if none found. func (m *HealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTimeout() == nil { err := HealthCheckValidationError{ field: "Timeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "Timeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "Timeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if m.GetInterval() == nil { err := HealthCheckValidationError{ field: "Interval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "Interval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetInitialJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInitialJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "InitialJitter", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIntervalJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIntervalJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IntervalJitterPercent if m.GetUnhealthyThreshold() == nil { err := HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUnhealthyThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUnhealthyThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "UnhealthyThreshold", reason: "embedded message failed validation", cause: err, } } } if m.GetHealthyThreshold() == nil { err := HealthCheckValidationError{ field: "HealthyThreshold", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHealthyThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthyThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "HealthyThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAltPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAltPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "AltPort", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetReuseConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReuseConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "ReuseConnection", reason: "embedded message failed validation", cause: err, } } } if d := m.GetNoTrafficInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "NoTrafficInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "NoTrafficInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetNoTrafficHealthyInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "NoTrafficHealthyInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "NoTrafficHealthyInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetUnhealthyInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "UnhealthyInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "UnhealthyInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetUnhealthyEdgeInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "UnhealthyEdgeInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "UnhealthyEdgeInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetHealthyEdgeInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HealthCheckValidationError{ field: "HealthyEdgeInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := HealthCheckValidationError{ field: "HealthyEdgeInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for EventLogPath for idx, item := range m.GetEventLogger() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("EventLogger[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("EventLogger[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: fmt.Sprintf("EventLogger[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetEventService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEventService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "EventService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AlwaysLogHealthCheckFailures if all { switch v := interface{}(m.GetTlsOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "TlsOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocketMatchCriteria()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TransportSocketMatchCriteria", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TransportSocketMatchCriteria", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocketMatchCriteria()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "TransportSocketMatchCriteria", reason: "embedded message failed validation", cause: err, } } } oneofHealthCheckerPresent := false switch v := m.HealthChecker.(type) { case *HealthCheck_HttpHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetHttpHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "HttpHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_TcpHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetTcpHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "TcpHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_GrpcHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetGrpcHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "GrpcHealthCheck", reason: "embedded message failed validation", cause: err, } } } case *HealthCheck_CustomHealthCheck_: if v == nil { err := HealthCheckValidationError{ field: "HealthChecker", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHealthCheckerPresent = true if all { switch v := interface{}(m.GetCustomHealthCheck()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomHealthCheck()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "CustomHealthCheck", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofHealthCheckerPresent { err := HealthCheckValidationError{ field: "HealthChecker", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckMultiError(errors) } return nil } // HealthCheckMultiError is an error wrapping multiple validation errors // returned by HealthCheck.ValidateAll() if the designated constraints aren't met. type HealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckMultiError) AllErrors() []error { return m } // HealthCheckValidationError is the validation error returned by // HealthCheck.Validate if the designated constraints aren't met. type HealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckValidationError) ErrorName() string { return "HealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckValidationError{} // Validate checks the field values on HealthCheck_Payload with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_Payload) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_Payload with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_PayloadMultiError, or nil if none found. func (m *HealthCheck_Payload) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_Payload) validate(all bool) error { if m == nil { return nil } var errors []error oneofPayloadPresent := false switch v := m.Payload.(type) { case *HealthCheck_Payload_Text: if v == nil { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPayloadPresent = true if utf8.RuneCountInString(m.GetText()) < 1 { err := HealthCheck_PayloadValidationError{ field: "Text", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HealthCheck_Payload_Binary: if v == nil { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPayloadPresent = true // no validation rules for Binary default: _ = v // ensures v is used } if !oneofPayloadPresent { err := HealthCheck_PayloadValidationError{ field: "Payload", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheck_PayloadMultiError(errors) } return nil } // HealthCheck_PayloadMultiError is an error wrapping multiple validation // errors returned by HealthCheck_Payload.ValidateAll() if the designated // constraints aren't met. type HealthCheck_PayloadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_PayloadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_PayloadMultiError) AllErrors() []error { return m } // HealthCheck_PayloadValidationError is the validation error returned by // HealthCheck_Payload.Validate if the designated constraints aren't met. type HealthCheck_PayloadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_PayloadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_PayloadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_PayloadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_PayloadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_PayloadValidationError) ErrorName() string { return "HealthCheck_PayloadValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_PayloadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_Payload.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_PayloadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_PayloadValidationError{} // Validate checks the field values on HealthCheck_HttpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_HttpHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_HttpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_HttpHealthCheckMultiError, or nil if none found. func (m *HealthCheck_HttpHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_HttpHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if !_HealthCheck_HttpHealthCheck_Host_Pattern.MatchString(m.GetHost()) { err := HealthCheck_HttpHealthCheckValidationError{ field: "Host", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetPath()) < 1 { err := HealthCheck_HttpHealthCheckValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_HealthCheck_HttpHealthCheck_Path_Pattern.MatchString(m.GetPath()) { err := HealthCheck_HttpHealthCheckValidationError{ field: "Path", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetReceive() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetResponseBufferSize(); wrapper != nil { if wrapper.GetValue() < 0 { err := HealthCheck_HttpHealthCheckValidationError{ field: "ResponseBufferSize", reason: "value must be greater than or equal to 0", } if !all { return err } errors = append(errors, err) } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := HealthCheck_HttpHealthCheckValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if !_HealthCheck_HttpHealthCheck_RequestHeadersToRemove_Pattern.MatchString(item) { err := HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetExpectedStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("ExpectedStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRetriableStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RetriableStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RetriableStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: fmt.Sprintf("RetriableStatuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := v3.CodecClientType_name[int32(m.GetCodecClientType())]; !ok { err := HealthCheck_HttpHealthCheckValidationError{ field: "CodecClientType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetServiceNameMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServiceNameMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_HttpHealthCheckValidationError{ field: "ServiceNameMatcher", reason: "embedded message failed validation", cause: err, } } } if _, ok := _HealthCheck_HttpHealthCheck_Method_NotInLookup[m.GetMethod()]; ok { err := HealthCheck_HttpHealthCheckValidationError{ field: "Method", reason: "value must not be in list [CONNECT]", } if !all { return err } errors = append(errors, err) } if _, ok := RequestMethod_name[int32(m.GetMethod())]; !ok { err := HealthCheck_HttpHealthCheckValidationError{ field: "Method", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheck_HttpHealthCheckMultiError(errors) } return nil } // HealthCheck_HttpHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_HttpHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_HttpHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_HttpHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_HttpHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_HttpHealthCheckValidationError is the validation error returned // by HealthCheck_HttpHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_HttpHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_HttpHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_HttpHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_HttpHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_HttpHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_HttpHealthCheckValidationError) ErrorName() string { return "HealthCheck_HttpHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_HttpHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_HttpHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_HttpHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_HttpHealthCheckValidationError{} var _HealthCheck_HttpHealthCheck_Host_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HealthCheck_HttpHealthCheck_Path_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HealthCheck_HttpHealthCheck_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HealthCheck_HttpHealthCheck_Method_NotInLookup = map[RequestMethod]struct{}{ 6: {}, } // Validate checks the field values on HealthCheck_TcpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_TcpHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_TcpHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_TcpHealthCheckMultiError, or nil if none found. func (m *HealthCheck_TcpHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_TcpHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_TcpHealthCheckValidationError{ field: "Send", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetReceive() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_TcpHealthCheckValidationError{ field: fmt.Sprintf("Receive[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HealthCheck_TcpHealthCheckMultiError(errors) } return nil } // HealthCheck_TcpHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_TcpHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_TcpHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_TcpHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_TcpHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_TcpHealthCheckValidationError is the validation error returned // by HealthCheck_TcpHealthCheck.Validate if the designated constraints aren't met. type HealthCheck_TcpHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_TcpHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_TcpHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_TcpHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_TcpHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_TcpHealthCheckValidationError) ErrorName() string { return "HealthCheck_TcpHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_TcpHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_TcpHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_TcpHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_TcpHealthCheckValidationError{} // Validate checks the field values on HealthCheck_RedisHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_RedisHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_RedisHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_RedisHealthCheckMultiError, or nil if none found. func (m *HealthCheck_RedisHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_RedisHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key if len(errors) > 0 { return HealthCheck_RedisHealthCheckMultiError(errors) } return nil } // HealthCheck_RedisHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_RedisHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_RedisHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_RedisHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_RedisHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_RedisHealthCheckValidationError is the validation error returned // by HealthCheck_RedisHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_RedisHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_RedisHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_RedisHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_RedisHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_RedisHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_RedisHealthCheckValidationError) ErrorName() string { return "HealthCheck_RedisHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_RedisHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_RedisHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_RedisHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_RedisHealthCheckValidationError{} // Validate checks the field values on HealthCheck_GrpcHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_GrpcHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_GrpcHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_GrpcHealthCheckMultiError, or nil if none found. func (m *HealthCheck_GrpcHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_GrpcHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ServiceName if !_HealthCheck_GrpcHealthCheck_Authority_Pattern.MatchString(m.GetAuthority()) { err := HealthCheck_GrpcHealthCheckValidationError{ field: "Authority", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(m.GetInitialMetadata()) > 1000 { err := HealthCheck_GrpcHealthCheckValidationError{ field: "InitialMetadata", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetInitialMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_GrpcHealthCheckValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_GrpcHealthCheckValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_GrpcHealthCheckValidationError{ field: fmt.Sprintf("InitialMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HealthCheck_GrpcHealthCheckMultiError(errors) } return nil } // HealthCheck_GrpcHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_GrpcHealthCheck.ValidateAll() if // the designated constraints aren't met. type HealthCheck_GrpcHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_GrpcHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_GrpcHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_GrpcHealthCheckValidationError is the validation error returned // by HealthCheck_GrpcHealthCheck.Validate if the designated constraints // aren't met. type HealthCheck_GrpcHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_GrpcHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_GrpcHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_GrpcHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_GrpcHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_GrpcHealthCheckValidationError) ErrorName() string { return "HealthCheck_GrpcHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_GrpcHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_GrpcHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_GrpcHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_GrpcHealthCheckValidationError{} var _HealthCheck_GrpcHealthCheck_Authority_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HealthCheck_CustomHealthCheck with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_CustomHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_CustomHealthCheck with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HealthCheck_CustomHealthCheckMultiError, or nil if none found. func (m *HealthCheck_CustomHealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_CustomHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := HealthCheck_CustomHealthCheckValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *HealthCheck_CustomHealthCheck_TypedConfig: if v == nil { err := HealthCheck_CustomHealthCheckValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheck_CustomHealthCheckValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HealthCheck_CustomHealthCheckMultiError(errors) } return nil } // HealthCheck_CustomHealthCheckMultiError is an error wrapping multiple // validation errors returned by HealthCheck_CustomHealthCheck.ValidateAll() // if the designated constraints aren't met. type HealthCheck_CustomHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_CustomHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_CustomHealthCheckMultiError) AllErrors() []error { return m } // HealthCheck_CustomHealthCheckValidationError is the validation error // returned by HealthCheck_CustomHealthCheck.Validate if the designated // constraints aren't met. type HealthCheck_CustomHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_CustomHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_CustomHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_CustomHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_CustomHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_CustomHealthCheckValidationError) ErrorName() string { return "HealthCheck_CustomHealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_CustomHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_CustomHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_CustomHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_CustomHealthCheckValidationError{} // Validate checks the field values on HealthCheck_TlsOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheck_TlsOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck_TlsOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheck_TlsOptionsMultiError, or nil if none found. func (m *HealthCheck_TlsOptions) ValidateAll() error { return m.validate(true) } func (m *HealthCheck_TlsOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HealthCheck_TlsOptionsMultiError(errors) } return nil } // HealthCheck_TlsOptionsMultiError is an error wrapping multiple validation // errors returned by HealthCheck_TlsOptions.ValidateAll() if the designated // constraints aren't met. type HealthCheck_TlsOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheck_TlsOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheck_TlsOptionsMultiError) AllErrors() []error { return m } // HealthCheck_TlsOptionsValidationError is the validation error returned by // HealthCheck_TlsOptions.Validate if the designated constraints aren't met. type HealthCheck_TlsOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheck_TlsOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheck_TlsOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheck_TlsOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheck_TlsOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheck_TlsOptionsValidationError) ErrorName() string { return "HealthCheck_TlsOptionsValidationError" } // Error satisfies the builtin error interface func (e HealthCheck_TlsOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck_TlsOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheck_TlsOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheck_TlsOptionsValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/http_service.pb.go000077500000000000000000000206661454502223200243010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/http_service.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HTTP service configuration. type HttpService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The service's HTTP URI. For example: // // .. code-block:: yaml // // http_uri: // uri: https://www.myserviceapi.com/v1/data // cluster: www.myserviceapi.com|443 HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Specifies a list of HTTP headers that should be added to each request // handled by this virtual host. RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,2,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` } func (x *HttpService) Reset() { *x = HttpService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_http_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpService) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpService) ProtoMessage() {} func (x *HttpService) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_http_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpService.ProtoReflect.Descriptor instead. func (*HttpService) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_http_service_proto_rawDescGZIP(), []int{0} } func (x *HttpService) GetHttpUri() *HttpUri { if x != nil { return x.HttpUri } return nil } func (x *HttpService) GetRequestHeadersToAdd() []*HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } var File_envoy_config_core_v3_http_service_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_http_service_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_http_service_proto_rawDescOnce sync.Once file_envoy_config_core_v3_http_service_proto_rawDescData = file_envoy_config_core_v3_http_service_proto_rawDesc ) func file_envoy_config_core_v3_http_service_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_http_service_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_http_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_http_service_proto_rawDescData) }) return file_envoy_config_core_v3_http_service_proto_rawDescData } var file_envoy_config_core_v3_http_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_http_service_proto_goTypes = []interface{}{ (*HttpService)(nil), // 0: envoy.config.core.v3.HttpService (*HttpUri)(nil), // 1: envoy.config.core.v3.HttpUri (*HeaderValueOption)(nil), // 2: envoy.config.core.v3.HeaderValueOption } var file_envoy_config_core_v3_http_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.HttpService.http_uri:type_name -> envoy.config.core.v3.HttpUri 2, // 1: envoy.config.core.v3.HttpService.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_http_service_proto_init() } func file_envoy_config_core_v3_http_service_proto_init() { if File_envoy_config_core_v3_http_service_proto != nil { return } file_envoy_config_core_v3_base_proto_init() file_envoy_config_core_v3_http_uri_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_http_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_http_service_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_http_service_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_http_service_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_http_service_proto_msgTypes, }.Build() File_envoy_config_core_v3_http_service_proto = out.File file_envoy_config_core_v3_http_service_proto_rawDesc = nil file_envoy_config_core_v3_http_service_proto_goTypes = nil file_envoy_config_core_v3_http_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/http_service.pb.validate.go000077500000000000000000000122571454502223200260660ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/http_service.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpServiceMultiError, or // nil if none found. func (m *HttpService) ValidateAll() error { return m.validate(true) } func (m *HttpService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := HttpServiceValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpServiceMultiError(errors) } return nil } // HttpServiceMultiError is an error wrapping multiple validation errors // returned by HttpService.ValidateAll() if the designated constraints aren't met. type HttpServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpServiceMultiError) AllErrors() []error { return m } // HttpServiceValidationError is the validation error returned by // HttpService.Validate if the designated constraints aren't met. type HttpServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpServiceValidationError) ErrorName() string { return "HttpServiceValidationError" } // Error satisfies the builtin error interface func (e HttpServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpServiceValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/http_uri.pb.go000077500000000000000000000223161454502223200234320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/http_uri.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy external URI descriptor type HttpUri struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP server URI. It should be a full FQDN with protocol, host and path. // // Example: // // .. code-block:: yaml // // uri: https://www.googleapis.com/oauth2/v1/certs Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // Specify how “uri“ is to be fetched. Today, this requires an explicit // cluster, but in the future we may support dynamic cluster creation or // inline DNS resolution. See `issue // `_. // // Types that are assignable to HttpUpstreamType: // // *HttpUri_Cluster HttpUpstreamType isHttpUri_HttpUpstreamType `protobuf_oneof:"http_upstream_type"` // Sets the maximum duration in milliseconds that a response can take to arrive upon request. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *HttpUri) Reset() { *x = HttpUri{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_http_uri_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpUri) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpUri) ProtoMessage() {} func (x *HttpUri) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_http_uri_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpUri.ProtoReflect.Descriptor instead. func (*HttpUri) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_http_uri_proto_rawDescGZIP(), []int{0} } func (x *HttpUri) GetUri() string { if x != nil { return x.Uri } return "" } func (m *HttpUri) GetHttpUpstreamType() isHttpUri_HttpUpstreamType { if m != nil { return m.HttpUpstreamType } return nil } func (x *HttpUri) GetCluster() string { if x, ok := x.GetHttpUpstreamType().(*HttpUri_Cluster); ok { return x.Cluster } return "" } func (x *HttpUri) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } type isHttpUri_HttpUpstreamType interface { isHttpUri_HttpUpstreamType() } type HttpUri_Cluster struct { // A cluster is created in the Envoy "cluster_manager" config // section. This field specifies the cluster name. // // Example: // // .. code-block:: yaml // // cluster: jwks_cluster Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } func (*HttpUri_Cluster) isHttpUri_HttpUpstreamType() {} var File_envoy_config_core_v3_http_uri_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_http_uri_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x07, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0xaa, 0x01, 0x0c, 0x08, 0x01, 0x1a, 0x06, 0x08, 0x80, 0x80, 0x80, 0x80, 0x10, 0x32, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3a, 0x20, 0x9a, 0xc5, 0x88, 0x1e, 0x1b, 0x0a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x19, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x80, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_http_uri_proto_rawDescOnce sync.Once file_envoy_config_core_v3_http_uri_proto_rawDescData = file_envoy_config_core_v3_http_uri_proto_rawDesc ) func file_envoy_config_core_v3_http_uri_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_http_uri_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_http_uri_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_http_uri_proto_rawDescData) }) return file_envoy_config_core_v3_http_uri_proto_rawDescData } var file_envoy_config_core_v3_http_uri_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_http_uri_proto_goTypes = []interface{}{ (*HttpUri)(nil), // 0: envoy.config.core.v3.HttpUri (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_config_core_v3_http_uri_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.HttpUri.timeout:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_http_uri_proto_init() } func file_envoy_config_core_v3_http_uri_proto_init() { if File_envoy_config_core_v3_http_uri_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_http_uri_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpUri); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_http_uri_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HttpUri_Cluster)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_http_uri_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_http_uri_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_http_uri_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_http_uri_proto_msgTypes, }.Build() File_envoy_config_core_v3_http_uri_proto = out.File file_envoy_config_core_v3_http_uri_proto_rawDesc = nil file_envoy_config_core_v3_http_uri_proto_goTypes = nil file_envoy_config_core_v3_http_uri_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/http_uri.pb.validate.go000077500000000000000000000116371454502223200252260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/http_uri.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpUri with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpUri) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpUri with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in HttpUriMultiError, or nil if none found. func (m *HttpUri) ValidateAll() error { return m.validate(true) } func (m *HttpUri) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetUri()) < 1 { err := HttpUriValidationError{ field: "Uri", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTimeout() == nil { err := HttpUriValidationError{ field: "Timeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HttpUriValidationError{ field: "Timeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(4294967296*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte || dur >= lt { err := HttpUriValidationError{ field: "Timeout", reason: "value must be inside range [0s, 1193046h28m16s)", } if !all { return err } errors = append(errors, err) } } } oneofHttpUpstreamTypePresent := false switch v := m.HttpUpstreamType.(type) { case *HttpUri_Cluster: if v == nil { err := HttpUriValidationError{ field: "HttpUpstreamType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHttpUpstreamTypePresent = true if utf8.RuneCountInString(m.GetCluster()) < 1 { err := HttpUriValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofHttpUpstreamTypePresent { err := HttpUriValidationError{ field: "HttpUpstreamType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpUriMultiError(errors) } return nil } // HttpUriMultiError is an error wrapping multiple validation errors returned // by HttpUri.ValidateAll() if the designated constraints aren't met. type HttpUriMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpUriMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpUriMultiError) AllErrors() []error { return m } // HttpUriValidationError is the validation error returned by HttpUri.Validate // if the designated constraints aren't met. type HttpUriValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpUriValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpUriValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpUriValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpUriValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpUriValidationError) ErrorName() string { return "HttpUriValidationError" } // Error satisfies the builtin error interface func (e HttpUriValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpUri.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpUriValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpUriValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/protocol.pb.go000077500000000000000000003726661454502223200234550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/protocol.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Action to take when Envoy receives client request with header names containing underscore // characters. // Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented // as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore // characters. type HttpProtocolOptions_HeadersWithUnderscoresAction int32 const ( // Allow headers with underscores. This is the default behavior. HttpProtocolOptions_ALLOW HttpProtocolOptions_HeadersWithUnderscoresAction = 0 // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests // end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter // is incremented for each rejected request. HttpProtocolOptions_REJECT_REQUEST HttpProtocolOptions_HeadersWithUnderscoresAction = 1 // Drop the client header with name containing underscores. The header is dropped before the filter chain is // invoked and as such filters will not see dropped headers. The // "httpN.dropped_headers_with_underscores" is incremented for each dropped header. HttpProtocolOptions_DROP_HEADER HttpProtocolOptions_HeadersWithUnderscoresAction = 2 ) // Enum value maps for HttpProtocolOptions_HeadersWithUnderscoresAction. var ( HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{ 0: "ALLOW", 1: "REJECT_REQUEST", 2: "DROP_HEADER", } HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{ "ALLOW": 0, "REJECT_REQUEST": 1, "DROP_HEADER": 2, } ) func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Enum() *HttpProtocolOptions_HeadersWithUnderscoresAction { p := new(HttpProtocolOptions_HeadersWithUnderscoresAction) *p = x return p } func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_protocol_proto_enumTypes[0].Descriptor() } func (HttpProtocolOptions_HeadersWithUnderscoresAction) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_protocol_proto_enumTypes[0] } func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead. func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{5, 0} } // [#not-implemented-hide:] type TcpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TcpProtocolOptions) Reset() { *x = TcpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProtocolOptions) ProtoMessage() {} func (x *TcpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProtocolOptions.ProtoReflect.Descriptor instead. func (*TcpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{0} } // Config for keepalive probes in a QUIC connection. // Note that QUIC keep-alive probing packets work differently from HTTP/2 keep-alive PINGs in a sense that the probing packet // itself doesn't timeout waiting for a probing response. Quic has a shorter idle timeout than TCP, so it doesn't rely on such probing to discover dead connections. If the peer fails to respond, the connection will idle timeout eventually. Thus, they are configured differently from :ref:`connection_keepalive `. type QuicKeepAliveSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The max interval for a connection to send keep-alive probing packets (with PING or PATH_RESPONSE). The value should be smaller than :ref:`connection idle_timeout ` to prevent idle timeout while not less than 1s to avoid throttling the connection or flooding the peer with probes. // // If :ref:`initial_interval ` is absent or zero, a client connection will use this value to start probing. // // If zero, disable keepalive probing. // If absent, use the QUICHE default interval to probe. MaxInterval *duration.Duration `protobuf:"bytes,1,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` // The interval to send the first few keep-alive probing packets to prevent connection from hitting the idle timeout. Subsequent probes will be sent, each one with an interval exponentially longer than previous one, till it reaches :ref:`max_interval `. And the probes afterwards will always use :ref:`max_interval `. // // The value should be smaller than :ref:`connection idle_timeout ` to prevent idle timeout and smaller than max_interval to take effect. // // If absent or zero, disable keepalive probing for a server connection. For a client connection, if :ref:`max_interval ` is also zero, do not keepalive, otherwise use max_interval or QUICHE default to probe all the time. InitialInterval *duration.Duration `protobuf:"bytes,2,opt,name=initial_interval,json=initialInterval,proto3" json:"initial_interval,omitempty"` } func (x *QuicKeepAliveSettings) Reset() { *x = QuicKeepAliveSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicKeepAliveSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicKeepAliveSettings) ProtoMessage() {} func (x *QuicKeepAliveSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicKeepAliveSettings.ProtoReflect.Descriptor instead. func (*QuicKeepAliveSettings) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{1} } func (x *QuicKeepAliveSettings) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } func (x *QuicKeepAliveSettings) GetInitialInterval() *duration.Duration { if x != nil { return x.InitialInterval } return nil } // QUIC protocol options which apply to both downstream and upstream connections. // [#next-free-field: 8] type QuicProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of streams that the client can negotiate per connection. 100 // if not specified. MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` // `Initial stream-level flow-control receive window // `_ size. Valid values range from // 1 to 16777216 (2^24, maximum supported by QUICHE) and defaults to 65536 (2^16). // // NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. If configured smaller than it, we will use 16384 instead. // QUICHE IETF Quic implementation supports 1 bytes window. We only support increasing the default window size now, so it's also the minimum. // // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the // QUIC stream send and receive buffers. Once the buffer reaches this pointer, watermark callbacks will fire to // stop the flow of data to the stream buffers. InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` // Similar to “initial_stream_window_size“, but for connection-level // flow-control. Valid values rage from 1 to 25165824 (24MB, maximum supported by QUICHE) and defaults to 65536 (2^16). // window. Currently, this has the same minimum/default as “initial_stream_window_size“. // // NOTE: 16384 (2^14) is the minimum window size supported in Google QUIC. We only support increasing the default // window size now, so it's also the minimum. InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` // The number of timeouts that can occur before port migration is triggered for QUIC clients. // This defaults to 4. If set to 0, port migration will not occur on path degrading. // Timeout here refers to QUIC internal path degrading timeout mechanism, such as PTO. // This has no effect on server sessions. NumTimeoutsToTriggerPortMigration *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=num_timeouts_to_trigger_port_migration,json=numTimeoutsToTriggerPortMigration,proto3" json:"num_timeouts_to_trigger_port_migration,omitempty"` // Probes the peer at the configured interval to solicit traffic, i.e. ACK or PATH_RESPONSE, from the peer to push back connection idle timeout. // If absent, use the default keepalive behavior of which a client connection sends PINGs every 15s, and a server connection doesn't do anything. ConnectionKeepalive *QuicKeepAliveSettings `protobuf:"bytes,5,opt,name=connection_keepalive,json=connectionKeepalive,proto3" json:"connection_keepalive,omitempty"` // A comma-separated list of strings representing QUIC connection options defined in // `QUICHE `_ and to be sent by upstream connections. ConnectionOptions string `protobuf:"bytes,6,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"` // A comma-separated list of strings representing QUIC client connection options defined in // `QUICHE `_ and to be sent by upstream connections. ClientConnectionOptions string `protobuf:"bytes,7,opt,name=client_connection_options,json=clientConnectionOptions,proto3" json:"client_connection_options,omitempty"` } func (x *QuicProtocolOptions) Reset() { *x = QuicProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicProtocolOptions) ProtoMessage() {} func (x *QuicProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicProtocolOptions.ProtoReflect.Descriptor instead. func (*QuicProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{2} } func (x *QuicProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrentStreams } return nil } func (x *QuicProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialStreamWindowSize } return nil } func (x *QuicProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialConnectionWindowSize } return nil } func (x *QuicProtocolOptions) GetNumTimeoutsToTriggerPortMigration() *wrappers.UInt32Value { if x != nil { return x.NumTimeoutsToTriggerPortMigration } return nil } func (x *QuicProtocolOptions) GetConnectionKeepalive() *QuicKeepAliveSettings { if x != nil { return x.ConnectionKeepalive } return nil } func (x *QuicProtocolOptions) GetConnectionOptions() string { if x != nil { return x.ConnectionOptions } return "" } func (x *QuicProtocolOptions) GetClientConnectionOptions() string { if x != nil { return x.ClientConnectionOptions } return "" } type UpstreamHttpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Set transport socket `SNI `_ for new // upstream connections based on the downstream HTTP host/authority header or any other arbitrary // header when :ref:`override_auto_sni_header ` // is set, as seen by the :ref:`router filter `. // Does nothing if a filter before the http router filter sets the corresponding metadata. AutoSni bool `protobuf:"varint,1,opt,name=auto_sni,json=autoSni,proto3" json:"auto_sni,omitempty"` // Automatic validate upstream presented certificate for new upstream connections based on the // downstream HTTP host/authority header or any other arbitrary header when :ref:`override_auto_sni_header ` // is set, as seen by the :ref:`router filter `. // This field is intended to be set with “auto_sni“ field. // Does nothing if a filter before the http router filter sets the corresponding metadata. AutoSanValidation bool `protobuf:"varint,2,opt,name=auto_san_validation,json=autoSanValidation,proto3" json:"auto_san_validation,omitempty"` // An optional alternative to the host/authority header to be used for setting the SNI value. // It should be a valid downstream HTTP header, as seen by the // :ref:`router filter `. // If unset, host/authority header will be used for populating the SNI. If the specified header // is not found or the value is empty, host/authority header will be used instead. // This field is intended to be set with “auto_sni“ and/or “auto_san_validation“ fields. // If none of these fields are set then setting this would be a no-op. // Does nothing if a filter before the http router filter sets the corresponding metadata. OverrideAutoSniHeader string `protobuf:"bytes,3,opt,name=override_auto_sni_header,json=overrideAutoSniHeader,proto3" json:"override_auto_sni_header,omitempty"` } func (x *UpstreamHttpProtocolOptions) Reset() { *x = UpstreamHttpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamHttpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamHttpProtocolOptions) ProtoMessage() {} func (x *UpstreamHttpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamHttpProtocolOptions.ProtoReflect.Descriptor instead. func (*UpstreamHttpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{3} } func (x *UpstreamHttpProtocolOptions) GetAutoSni() bool { if x != nil { return x.AutoSni } return false } func (x *UpstreamHttpProtocolOptions) GetAutoSanValidation() bool { if x != nil { return x.AutoSanValidation } return false } func (x *UpstreamHttpProtocolOptions) GetOverrideAutoSniHeader() string { if x != nil { return x.OverrideAutoSniHeader } return "" } // Configures the alternate protocols cache which tracks alternate protocols that can be used to // make an HTTP connection to an origin server. See https://tools.ietf.org/html/rfc7838 for // HTTP Alternative Services and https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-04 // for the "HTTPS" DNS resource record. // [#next-free-field: 6] type AlternateProtocolsCacheOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cache. Multiple named caches allow independent alternate protocols cache // configurations to operate within a single Envoy process using different configurations. All // alternate protocols cache options with the same name *must* be equal in all fields when // referenced from different configuration components. Configuration will fail to load if this is // not the case. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The maximum number of entries that the cache will hold. If not specified defaults to 1024. // // .. note: // // The implementation is approximate and enforced independently on each worker thread, thus // it is possible for the maximum entries in the cache to go slightly above the configured // value depending on timing. This is similar to how other circuit breakers work. MaxEntries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_entries,json=maxEntries,proto3" json:"max_entries,omitempty"` // Allows configuring a persistent // :ref:`key value store ` to flush // alternate protocols entries to disk. // This function is currently only supported if concurrency is 1 // Cached entries will take precedence over pre-populated entries below. KeyValueStoreConfig *TypedExtensionConfig `protobuf:"bytes,3,opt,name=key_value_store_config,json=keyValueStoreConfig,proto3" json:"key_value_store_config,omitempty"` // Allows pre-populating the cache with entries, as described above. PrepopulatedEntries []*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry `protobuf:"bytes,4,rep,name=prepopulated_entries,json=prepopulatedEntries,proto3" json:"prepopulated_entries,omitempty"` // Optional list of hostnames suffixes for which Alt-Svc entries can be shared. For example, if // this list contained the value “.c.example.com“, then an Alt-Svc entry for “foo.c.example.com“ // could be shared with “bar.c.example.com“ but would not be shared with “baz.example.com“. On // the other hand, if the list contained the value “.example.com“ then all three hosts could share // Alt-Svc entries. Each entry must start with “.“. If a hostname matches multiple suffixes, the // first listed suffix will be used. // // Since lookup in this list is O(n), it is recommended that the number of suffixes be limited. // [#not-implemented-hide:] CanonicalSuffixes []string `protobuf:"bytes,5,rep,name=canonical_suffixes,json=canonicalSuffixes,proto3" json:"canonical_suffixes,omitempty"` } func (x *AlternateProtocolsCacheOptions) Reset() { *x = AlternateProtocolsCacheOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlternateProtocolsCacheOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlternateProtocolsCacheOptions) ProtoMessage() {} func (x *AlternateProtocolsCacheOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AlternateProtocolsCacheOptions.ProtoReflect.Descriptor instead. func (*AlternateProtocolsCacheOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{4} } func (x *AlternateProtocolsCacheOptions) GetName() string { if x != nil { return x.Name } return "" } func (x *AlternateProtocolsCacheOptions) GetMaxEntries() *wrappers.UInt32Value { if x != nil { return x.MaxEntries } return nil } func (x *AlternateProtocolsCacheOptions) GetKeyValueStoreConfig() *TypedExtensionConfig { if x != nil { return x.KeyValueStoreConfig } return nil } func (x *AlternateProtocolsCacheOptions) GetPrepopulatedEntries() []*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry { if x != nil { return x.PrepopulatedEntries } return nil } func (x *AlternateProtocolsCacheOptions) GetCanonicalSuffixes() []string { if x != nil { return x.CanonicalSuffixes } return nil } // [#next-free-field: 7] type HttpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The idle timeout for connections. The idle timeout is defined as the // period in which there are no active requests. When the // idle timeout is reached the connection will be closed. If the connection is an HTTP/2 // downstream connection a drain sequence will occur prior to closing the connection, see // :ref:`drain_timeout // `. // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. // If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0. // // .. warning:: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. // // If the :ref:`overload action ` "envoy.overload_actions.reduce_timeouts" // is configured, this timeout is scaled for downstream connections according to the value for // :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE `. IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // The maximum duration of a connection. The duration is defined as a period since a connection // was established. If not set, there is no max duration. When max_connection_duration is reached // and if there are no active streams, the connection will be closed. If the connection is a // downstream connection and there are any active streams, the drain sequence will kick-in, // and the connection will be force-closed after the drain period. See :ref:`drain_timeout // `. MaxConnectionDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"` // The maximum number of headers. If unconfigured, the default // maximum number of request headers allowed is 100. Requests that exceed this limit will receive // a 431 response for HTTP/1.x and cause a stream reset for HTTP/2. MaxHeadersCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"` // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be // reset independent of any other timeouts. If not specified, this value is not set. MaxStreamDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` // Action to take when a client request with a header name containing underscore characters is received. // If this setting is not specified, the value defaults to ALLOW. // Note: upstream responses are not affected by this setting. // Note: this only affects client headers. It does not affect headers added // by Envoy filters and does not have any impact if added to cluster config. HeadersWithUnderscoresAction HttpProtocolOptions_HeadersWithUnderscoresAction `protobuf:"varint,5,opt,name=headers_with_underscores_action,json=headersWithUnderscoresAction,proto3,enum=envoy.config.core.v3.HttpProtocolOptions_HeadersWithUnderscoresAction" json:"headers_with_underscores_action,omitempty"` // Optional maximum requests for both upstream and downstream connections. // If not specified, there is no limit. // Setting this parameter to 1 will effectively disable keep alive. // For HTTP/2 and HTTP/3, due to concurrent stream processing, the limit is approximate. MaxRequestsPerConnection *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` } func (x *HttpProtocolOptions) Reset() { *x = HttpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions) ProtoMessage() {} func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{5} } func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *HttpProtocolOptions) GetMaxConnectionDuration() *duration.Duration { if x != nil { return x.MaxConnectionDuration } return nil } func (x *HttpProtocolOptions) GetMaxHeadersCount() *wrappers.UInt32Value { if x != nil { return x.MaxHeadersCount } return nil } func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration { if x != nil { return x.MaxStreamDuration } return nil } func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction { if x != nil { return x.HeadersWithUnderscoresAction } return HttpProtocolOptions_ALLOW } func (x *HttpProtocolOptions) GetMaxRequestsPerConnection() *wrappers.UInt32Value { if x != nil { return x.MaxRequestsPerConnection } return nil } // [#next-free-field: 11] type Http1ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Handle HTTP requests with absolute URLs in the requests. These requests // are generally sent by clients to forward/explicit proxies. This allows clients to configure // envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the // “http_proxy“ environment variable. AllowAbsoluteUrl *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl,proto3" json:"allow_absolute_url,omitempty"` // Handle incoming HTTP/1.0 and HTTP 0.9 requests. // This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1 // style connect logic, dechunking, and handling lack of client host iff // “default_host_for_http_10“ is configured. AcceptHttp_10 bool `protobuf:"varint,2,opt,name=accept_http_10,json=acceptHttp10,proto3" json:"accept_http_10,omitempty"` // A default host for HTTP/1.0 requests. This is highly suggested if “accept_http_10“ is true as // Envoy does not otherwise support HTTP/1.0 without a Host header. // This is a no-op if “accept_http_10“ is not true. DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"` // Describes how the keys for response headers should be formatted. By default, all header keys // are lower cased. HeaderKeyFormat *Http1ProtocolOptions_HeaderKeyFormat `protobuf:"bytes,4,opt,name=header_key_format,json=headerKeyFormat,proto3" json:"header_key_format,omitempty"` // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers. // // .. attention:: // // Note that this only happens when Envoy is chunk encoding which occurs when: // - The request is HTTP/1.1. // - Is neither a HEAD only request nor a HTTP Upgrade. // - Not a response to a HEAD request. // - The content length header is not present. EnableTrailers bool `protobuf:"varint,5,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"` // Allows Envoy to process requests/responses with both “Content-Length“ and “Transfer-Encoding“ // headers set. By default such messages are rejected, but if option is enabled - Envoy will // remove Content-Length header and process message. // See `RFC7230, sec. 3.3.3 `_ for details. // // .. attention:: // // Enabling this option might lead to request smuggling vulnerability, especially if traffic // is proxied via multiple layers of proxies. // // [#comment:TODO: This field is ignored when the // :ref:`header validation configuration ` // is present.] AllowChunkedLength bool `protobuf:"varint,6,opt,name=allow_chunked_length,json=allowChunkedLength,proto3" json:"allow_chunked_length,omitempty"` // Allows invalid HTTP messaging. When this option is false, then Envoy will terminate // HTTP/1.1 connections upon receiving an invalid HTTP message. However, // when this option is true, then Envoy will leave the HTTP/1.1 connection // open where possible. // If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging // `. OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `protobuf:"bytes,7,opt,name=override_stream_error_on_invalid_http_message,json=overrideStreamErrorOnInvalidHttpMessage,proto3" json:"override_stream_error_on_invalid_http_message,omitempty"` // Allows sending fully qualified URLs when proxying the first line of the // response. By default, Envoy will only send the path components in the first line. // If this is true, Envoy will create a fully qualified URI composing scheme // (inferred if not present), host (from the host/:authority header) and path // (from first line or :path header). SendFullyQualifiedUrl bool `protobuf:"varint,8,opt,name=send_fully_qualified_url,json=sendFullyQualifiedUrl,proto3" json:"send_fully_qualified_url,omitempty"` // [#not-implemented-hide:] Hiding so that field can be removed after BalsaParser is rolled out. // If set, force HTTP/1 parser: BalsaParser if true, http-parser if false. // If unset, HTTP/1 parser is selected based on // envoy.reloadable_features.http1_use_balsa_parser. // See issue #21245. UseBalsaParser *wrappers.BoolValue `protobuf:"bytes,9,opt,name=use_balsa_parser,json=useBalsaParser,proto3" json:"use_balsa_parser,omitempty"` // [#not-implemented-hide:] Hiding so that field can be removed. // If true, and BalsaParser is used (either `use_balsa_parser` above is true, // or `envoy.reloadable_features.http1_use_balsa_parser` is true and // `use_balsa_parser` is unset), then every non-empty method with only valid // characters is accepted. Otherwise, methods not on the hard-coded list are // rejected. // Once UHV is enabled, this field should be removed, and BalsaParser should // allow any method. UHV validates the method, rejecting empty string or // invalid characters, and provides :ref:`restrict_http_methods // ` // to reject custom methods. AllowCustomMethods bool `protobuf:"varint,10,opt,name=allow_custom_methods,json=allowCustomMethods,proto3" json:"allow_custom_methods,omitempty"` } func (x *Http1ProtocolOptions) Reset() { *x = Http1ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions) ProtoMessage() {} func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{6} } func (x *Http1ProtocolOptions) GetAllowAbsoluteUrl() *wrappers.BoolValue { if x != nil { return x.AllowAbsoluteUrl } return nil } func (x *Http1ProtocolOptions) GetAcceptHttp_10() bool { if x != nil { return x.AcceptHttp_10 } return false } func (x *Http1ProtocolOptions) GetDefaultHostForHttp_10() string { if x != nil { return x.DefaultHostForHttp_10 } return "" } func (x *Http1ProtocolOptions) GetHeaderKeyFormat() *Http1ProtocolOptions_HeaderKeyFormat { if x != nil { return x.HeaderKeyFormat } return nil } func (x *Http1ProtocolOptions) GetEnableTrailers() bool { if x != nil { return x.EnableTrailers } return false } func (x *Http1ProtocolOptions) GetAllowChunkedLength() bool { if x != nil { return x.AllowChunkedLength } return false } func (x *Http1ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue { if x != nil { return x.OverrideStreamErrorOnInvalidHttpMessage } return nil } func (x *Http1ProtocolOptions) GetSendFullyQualifiedUrl() bool { if x != nil { return x.SendFullyQualifiedUrl } return false } func (x *Http1ProtocolOptions) GetUseBalsaParser() *wrappers.BoolValue { if x != nil { return x.UseBalsaParser } return nil } func (x *Http1ProtocolOptions) GetAllowCustomMethods() bool { if x != nil { return x.AllowCustomMethods } return false } type KeepaliveSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Send HTTP/2 PING frames at this period, in order to test that the connection is still alive. // If this is zero, interval PINGs will not be sent. Interval *duration.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // How long to wait for a response to a keepalive PING. If a response is not received within this // time period, the connection will be aborted. Note that in order to prevent the influence of // Head-of-line (HOL) blocking the timeout period is extended when *any* frame is received on // the connection, under the assumption that if a frame is received the connection is healthy. Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"` // A random jitter amount as a percentage of interval that will be added to each interval. // A value of zero means there will be no jitter. // The default value is 15%. IntervalJitter *v3.Percent `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"` // If the connection has been idle for this duration, send a HTTP/2 ping ahead // of new stream creation, to quickly detect dead connections. // If this is zero, this type of PING will not be sent. // If an interval ping is outstanding, a second ping will not be sent as the // interval ping will determine if the connection is dead. // // The same feature for HTTP/3 is given by inheritance from QUICHE which uses :ref:`connection idle_timeout ` and the current PTO of the connection to decide whether to probe before sending a new request. ConnectionIdleInterval *duration.Duration `protobuf:"bytes,4,opt,name=connection_idle_interval,json=connectionIdleInterval,proto3" json:"connection_idle_interval,omitempty"` } func (x *KeepaliveSettings) Reset() { *x = KeepaliveSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeepaliveSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeepaliveSettings) ProtoMessage() {} func (x *KeepaliveSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeepaliveSettings.ProtoReflect.Descriptor instead. func (*KeepaliveSettings) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{7} } func (x *KeepaliveSettings) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *KeepaliveSettings) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *KeepaliveSettings) GetIntervalJitter() *v3.Percent { if x != nil { return x.IntervalJitter } return nil } func (x *KeepaliveSettings) GetConnectionIdleInterval() *duration.Duration { if x != nil { return x.ConnectionIdleInterval } return nil } // [#next-free-field: 17] type Http2ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // `Maximum table size `_ // (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values // range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header // compression. HpackTableSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=hpack_table_size,json=hpackTableSize,proto3" json:"hpack_table_size,omitempty"` // `Maximum concurrent streams `_ // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1) // and defaults to 2147483647. // // For upstream connections, this also limits how many streams Envoy will initiate concurrently // on a single connection. If the limit is reached, Envoy may queue requests or establish // additional connections (as allowed per circuit breaker limits). // // This acts as an upper bound: Envoy will lower the max concurrent streams allowed on a given // connection based on upstream settings. Config dumps will reflect the configured upper bound, // not the per-connection negotiated limits. MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` // `Initial stream-level flow-control window // `_ size. Valid values range from 65535 // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456 // (256 * 1024 * 1024). // // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default // window size now, so it's also the minimum. // // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to // stop the flow of data to the codec buffers. InitialStreamWindowSize *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` // Similar to “initial_stream_window_size“, but for connection-level flow-control // window. Currently, this has the same minimum/maximum/default as “initial_stream_window_size“. InitialConnectionWindowSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` // Allows proxying Websocket and other upgrades over H2 connect. AllowConnect bool `protobuf:"varint,5,opt,name=allow_connect,json=allowConnect,proto3" json:"allow_connect,omitempty"` // [#not-implemented-hide:] Hiding until envoy has full metadata support. // Still under implementation. DO NOT USE. // // Allows metadata. See [metadata // docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more // information. AllowMetadata bool `protobuf:"varint,6,opt,name=allow_metadata,json=allowMetadata,proto3" json:"allow_metadata,omitempty"` // Limit the number of pending outbound downstream frames of all types (frames that are waiting to // be written into the socket). Exceeding this limit triggers flood mitigation and connection is // terminated. The “http2.outbound_flood“ stat tracks the number of terminated connections due // to flood mitigation. The default limit is 10000. MaxOutboundFrames *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_outbound_frames,json=maxOutboundFrames,proto3" json:"max_outbound_frames,omitempty"` // Limit the number of pending outbound downstream frames of types PING, SETTINGS and RST_STREAM, // preventing high memory utilization when receiving continuous stream of these frames. Exceeding // this limit triggers flood mitigation and connection is terminated. The // “http2.outbound_control_flood“ stat tracks the number of terminated connections due to flood // mitigation. The default limit is 1000. MaxOutboundControlFrames *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=max_outbound_control_frames,json=maxOutboundControlFrames,proto3" json:"max_outbound_control_frames,omitempty"` // Limit the number of consecutive inbound frames of types HEADERS, CONTINUATION and DATA with an // empty payload and no end stream flag. Those frames have no legitimate use and are abusive, but // might be a result of a broken HTTP/2 implementation. The `http2.inbound_empty_frames_flood“ // stat tracks the number of connections terminated due to flood mitigation. // Setting this to 0 will terminate connection upon receiving first frame with an empty payload // and no end stream flag. The default limit is 1. MaxConsecutiveInboundFramesWithEmptyPayload *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=max_consecutive_inbound_frames_with_empty_payload,json=maxConsecutiveInboundFramesWithEmptyPayload,proto3" json:"max_consecutive_inbound_frames_with_empty_payload,omitempty"` // Limit the number of inbound PRIORITY frames allowed per each opened stream. If the number // of PRIORITY frames received over the lifetime of connection exceeds the value calculated // using this formula:: // // ``max_inbound_priority_frames_per_stream`` * (1 + ``opened_streams``) // // the connection is terminated. For downstream connections the “opened_streams“ is incremented when // Envoy receives complete response headers from the upstream server. For upstream connection the // “opened_streams“ is incremented when Envoy send the HEADERS frame for a new stream. The // “http2.inbound_priority_frames_flood“ stat tracks // the number of connections terminated due to flood mitigation. The default limit is 100. MaxInboundPriorityFramesPerStream *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=max_inbound_priority_frames_per_stream,json=maxInboundPriorityFramesPerStream,proto3" json:"max_inbound_priority_frames_per_stream,omitempty"` // Limit the number of inbound WINDOW_UPDATE frames allowed per DATA frame sent. If the number // of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated // using this formula:: // // 5 + 2 * (``opened_streams`` + // ``max_inbound_window_update_frames_per_data_frame_sent`` * ``outbound_data_frames``) // // the connection is terminated. For downstream connections the “opened_streams“ is incremented when // Envoy receives complete response headers from the upstream server. For upstream connections the // “opened_streams“ is incremented when Envoy sends the HEADERS frame for a new stream. The // “http2.inbound_priority_frames_flood“ stat tracks the number of connections terminated due to // flood mitigation. The default max_inbound_window_update_frames_per_data_frame_sent value is 10. // Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control, // but more complex implementations that try to estimate available bandwidth require at least 2. MaxInboundWindowUpdateFramesPerDataFrameSent *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=max_inbound_window_update_frames_per_data_frame_sent,json=maxInboundWindowUpdateFramesPerDataFrameSent,proto3" json:"max_inbound_window_update_frames_per_data_frame_sent,omitempty"` // Allows invalid HTTP messaging and headers. When this option is disabled (default), then // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However, // when this option is enabled, only the offending stream is terminated. // // This is overridden by HCM :ref:`stream_error_on_invalid_http_messaging // ` // iff present. // // This is deprecated in favor of :ref:`override_stream_error_on_invalid_http_message // ` // // See `RFC7540, sec. 8.1 `_ for details. // // Deprecated: Marked as deprecated in envoy/config/core/v3/protocol.proto. StreamErrorOnInvalidHttpMessaging bool `protobuf:"varint,12,opt,name=stream_error_on_invalid_http_messaging,json=streamErrorOnInvalidHttpMessaging,proto3" json:"stream_error_on_invalid_http_messaging,omitempty"` // Allows invalid HTTP messaging and headers. When this option is disabled (default), then // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However, // when this option is enabled, only the offending stream is terminated. // // This overrides any HCM :ref:`stream_error_on_invalid_http_messaging // ` // // See `RFC7540, sec. 8.1 `_ for details. OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `protobuf:"bytes,14,opt,name=override_stream_error_on_invalid_http_message,json=overrideStreamErrorOnInvalidHttpMessage,proto3" json:"override_stream_error_on_invalid_http_message,omitempty"` // [#not-implemented-hide:] // Specifies SETTINGS frame parameters to be sent to the peer, with two exceptions: // // 1. SETTINGS_ENABLE_PUSH (0x2) is not configurable as HTTP/2 server push is not supported by // Envoy. // // 2. SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) is only configurable through the named field // 'allow_connect'. // // Note that custom parameters specified through this field can not also be set in the // corresponding named parameters: // // .. code-block:: text // // ID Field Name // ---------------- // 0x1 hpack_table_size // 0x3 max_concurrent_streams // 0x4 initial_stream_window_size // // Collisions will trigger config validation failure on load/update. Likewise, inconsistencies // between custom parameters with the same identifier will trigger a failure. // // See `IANA HTTP/2 Settings // `_ for // standardized identifiers. CustomSettingsParameters []*Http2ProtocolOptions_SettingsParameter `protobuf:"bytes,13,rep,name=custom_settings_parameters,json=customSettingsParameters,proto3" json:"custom_settings_parameters,omitempty"` // Send HTTP/2 PING frames to verify that the connection is still healthy. If the remote peer // does not respond within the configured timeout, the connection will be aborted. ConnectionKeepalive *KeepaliveSettings `protobuf:"bytes,15,opt,name=connection_keepalive,json=connectionKeepalive,proto3" json:"connection_keepalive,omitempty"` // [#not-implemented-hide:] Hiding so that the field can be removed after oghttp2 is rolled out. // If set, force use of a particular HTTP/2 codec: oghttp2 if true, nghttp2 if false. // If unset, HTTP/2 codec is selected based on envoy.reloadable_features.http2_use_oghttp2. UseOghttp2Codec *wrappers.BoolValue `protobuf:"bytes,16,opt,name=use_oghttp2_codec,json=useOghttp2Codec,proto3" json:"use_oghttp2_codec,omitempty"` } func (x *Http2ProtocolOptions) Reset() { *x = Http2ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http2ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http2ProtocolOptions) ProtoMessage() {} func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http2ProtocolOptions.ProtoReflect.Descriptor instead. func (*Http2ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{8} } func (x *Http2ProtocolOptions) GetHpackTableSize() *wrappers.UInt32Value { if x != nil { return x.HpackTableSize } return nil } func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrentStreams } return nil } func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialStreamWindowSize } return nil } func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value { if x != nil { return x.InitialConnectionWindowSize } return nil } func (x *Http2ProtocolOptions) GetAllowConnect() bool { if x != nil { return x.AllowConnect } return false } func (x *Http2ProtocolOptions) GetAllowMetadata() bool { if x != nil { return x.AllowMetadata } return false } func (x *Http2ProtocolOptions) GetMaxOutboundFrames() *wrappers.UInt32Value { if x != nil { return x.MaxOutboundFrames } return nil } func (x *Http2ProtocolOptions) GetMaxOutboundControlFrames() *wrappers.UInt32Value { if x != nil { return x.MaxOutboundControlFrames } return nil } func (x *Http2ProtocolOptions) GetMaxConsecutiveInboundFramesWithEmptyPayload() *wrappers.UInt32Value { if x != nil { return x.MaxConsecutiveInboundFramesWithEmptyPayload } return nil } func (x *Http2ProtocolOptions) GetMaxInboundPriorityFramesPerStream() *wrappers.UInt32Value { if x != nil { return x.MaxInboundPriorityFramesPerStream } return nil } func (x *Http2ProtocolOptions) GetMaxInboundWindowUpdateFramesPerDataFrameSent() *wrappers.UInt32Value { if x != nil { return x.MaxInboundWindowUpdateFramesPerDataFrameSent } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/protocol.proto. func (x *Http2ProtocolOptions) GetStreamErrorOnInvalidHttpMessaging() bool { if x != nil { return x.StreamErrorOnInvalidHttpMessaging } return false } func (x *Http2ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue { if x != nil { return x.OverrideStreamErrorOnInvalidHttpMessage } return nil } func (x *Http2ProtocolOptions) GetCustomSettingsParameters() []*Http2ProtocolOptions_SettingsParameter { if x != nil { return x.CustomSettingsParameters } return nil } func (x *Http2ProtocolOptions) GetConnectionKeepalive() *KeepaliveSettings { if x != nil { return x.ConnectionKeepalive } return nil } func (x *Http2ProtocolOptions) GetUseOghttp2Codec() *wrappers.BoolValue { if x != nil { return x.UseOghttp2Codec } return nil } // [#not-implemented-hide:] type GrpcProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,1,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` } func (x *GrpcProtocolOptions) Reset() { *x = GrpcProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcProtocolOptions) ProtoMessage() {} func (x *GrpcProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcProtocolOptions.ProtoReflect.Descriptor instead. func (*GrpcProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{9} } func (x *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } // A message which allows using HTTP/3. // [#next-free-field: 6] type Http3ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields QuicProtocolOptions *QuicProtocolOptions `protobuf:"bytes,1,opt,name=quic_protocol_options,json=quicProtocolOptions,proto3" json:"quic_protocol_options,omitempty"` // Allows invalid HTTP messaging and headers. When this option is disabled (default), then // the whole HTTP/3 connection is terminated upon receiving invalid HEADERS frame. However, // when this option is enabled, only the offending stream is terminated. // // If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging // `. OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `protobuf:"bytes,2,opt,name=override_stream_error_on_invalid_http_message,json=overrideStreamErrorOnInvalidHttpMessage,proto3" json:"override_stream_error_on_invalid_http_message,omitempty"` // Allows proxying Websocket and other upgrades over HTTP/3 CONNECT using // the header mechanisms from the `HTTP/2 extended connect RFC // `_ // and settings `proposed for HTTP/3 // `_ // Note that HTTP/3 CONNECT is not yet an RFC. AllowExtendedConnect bool `protobuf:"varint,5,opt,name=allow_extended_connect,json=allowExtendedConnect,proto3" json:"allow_extended_connect,omitempty"` } func (x *Http3ProtocolOptions) Reset() { *x = Http3ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http3ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http3ProtocolOptions) ProtoMessage() {} func (x *Http3ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http3ProtocolOptions.ProtoReflect.Descriptor instead. func (*Http3ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{10} } func (x *Http3ProtocolOptions) GetQuicProtocolOptions() *QuicProtocolOptions { if x != nil { return x.QuicProtocolOptions } return nil } func (x *Http3ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue { if x != nil { return x.OverrideStreamErrorOnInvalidHttpMessage } return nil } func (x *Http3ProtocolOptions) GetAllowExtendedConnect() bool { if x != nil { return x.AllowExtendedConnect } return false } // A message to control transformations to the :scheme header type SchemeHeaderTransformation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Transformation: // // *SchemeHeaderTransformation_SchemeToOverwrite Transformation isSchemeHeaderTransformation_Transformation `protobuf_oneof:"transformation"` } func (x *SchemeHeaderTransformation) Reset() { *x = SchemeHeaderTransformation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SchemeHeaderTransformation) String() string { return protoimpl.X.MessageStringOf(x) } func (*SchemeHeaderTransformation) ProtoMessage() {} func (x *SchemeHeaderTransformation) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SchemeHeaderTransformation.ProtoReflect.Descriptor instead. func (*SchemeHeaderTransformation) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{11} } func (m *SchemeHeaderTransformation) GetTransformation() isSchemeHeaderTransformation_Transformation { if m != nil { return m.Transformation } return nil } func (x *SchemeHeaderTransformation) GetSchemeToOverwrite() string { if x, ok := x.GetTransformation().(*SchemeHeaderTransformation_SchemeToOverwrite); ok { return x.SchemeToOverwrite } return "" } type isSchemeHeaderTransformation_Transformation interface { isSchemeHeaderTransformation_Transformation() } type SchemeHeaderTransformation_SchemeToOverwrite struct { // Overwrite any Scheme header with the contents of this string. SchemeToOverwrite string `protobuf:"bytes,1,opt,name=scheme_to_overwrite,json=schemeToOverwrite,proto3,oneof"` } func (*SchemeHeaderTransformation_SchemeToOverwrite) isSchemeHeaderTransformation_Transformation() {} // Allows pre-populating the cache with HTTP/3 alternate protocols entries with a 7 day lifetime. // This will cause Envoy to attempt HTTP/3 to those upstreams, even if the upstreams have not // advertised HTTP/3 support. These entries will be overwritten by alt-svc // response headers or cached values. // As with regular cached entries, if the origin response would result in clearing an existing // alternate protocol cache entry, pre-populated entries will also be cleared. // Adding a cache entry with hostname=foo.com port=123 is the equivalent of getting // response headers // alt-svc: h3=:"123"; ma=86400" in a response to a request to foo.com:123 type AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The host name for the alternate protocol entry. Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` // The port for the alternate protocol entry. Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` } func (x *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) Reset() { *x = AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) ProtoMessage() {} func (x *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry.ProtoReflect.Descriptor instead. func (*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{4, 0} } func (x *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) GetPort() uint32 { if x != nil { return x.Port } return 0 } // [#next-free-field: 9] type Http1ProtocolOptions_HeaderKeyFormat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to HeaderFormat: // // *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ // *Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter HeaderFormat isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat `protobuf_oneof:"header_format"` } func (x *Http1ProtocolOptions_HeaderKeyFormat) Reset() { *x = Http1ProtocolOptions_HeaderKeyFormat{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions_HeaderKeyFormat) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions_HeaderKeyFormat) ProtoMessage() {} func (x *Http1ProtocolOptions_HeaderKeyFormat) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions_HeaderKeyFormat) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{6, 0} } func (m *Http1ProtocolOptions_HeaderKeyFormat) GetHeaderFormat() isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat { if m != nil { return m.HeaderFormat } return nil } func (x *Http1ProtocolOptions_HeaderKeyFormat) GetProperCaseWords() *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords { if x, ok := x.GetHeaderFormat().(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_); ok { return x.ProperCaseWords } return nil } func (x *Http1ProtocolOptions_HeaderKeyFormat) GetStatefulFormatter() *TypedExtensionConfig { if x, ok := x.GetHeaderFormat().(*Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter); ok { return x.StatefulFormatter } return nil } type isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat interface { isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() } type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_ struct { // Formats the header by proper casing words: the first character and any character following // a special character will be capitalized if it's an alpha character. For example, // "content-type" becomes "Content-Type", and "foo$b#$are" becomes "Foo$B#$Are". // Note that while this results in most headers following conventional casing, certain headers // are not covered. For example, the "TE" header will be formatted as "Te". ProperCaseWords *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords `protobuf:"bytes,1,opt,name=proper_case_words,json=properCaseWords,proto3,oneof"` } type Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter struct { // Configuration for stateful formatter extensions that allow using received headers to // affect the output of encoding headers. E.g., preserving case during proxying. // [#extension-category: envoy.http.stateful_header_formatters] StatefulFormatter *TypedExtensionConfig `protobuf:"bytes,8,opt,name=stateful_formatter,json=statefulFormatter,proto3,oneof"` } func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_) isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() { } func (*Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter) isHttp1ProtocolOptions_HeaderKeyFormat_HeaderFormat() { } type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Reset() { *x = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoMessage() {} func (x *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ProtoReflect.Descriptor instead. func (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{6, 0, 0} } // Defines a parameter to be sent in the SETTINGS frame. // See `RFC7540, sec. 6.5.1 `_ for details. type Http2ProtocolOptions_SettingsParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The 16 bit parameter identifier. Identifier *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // The 32 bit parameter value. Value *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *Http2ProtocolOptions_SettingsParameter) Reset() { *x = Http2ProtocolOptions_SettingsParameter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http2ProtocolOptions_SettingsParameter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http2ProtocolOptions_SettingsParameter) ProtoMessage() {} func (x *Http2ProtocolOptions_SettingsParameter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_protocol_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http2ProtocolOptions_SettingsParameter.ProtoReflect.Descriptor instead. func (*Http2ProtocolOptions_SettingsParameter) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_protocol_proto_rawDescGZIP(), []int{8, 0} } func (x *Http2ProtocolOptions_SettingsParameter) GetIdentifier() *wrappers.UInt32Value { if x != nil { return x.Identifier } return nil } func (x *Http2ProtocolOptions_SettingsParameter) GetValue() *wrappers.UInt32Value { if x != nil { return x.Value } return nil } var File_envoy_config_core_v3_protocol_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_protocol_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x12, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x22, 0x00, 0x32, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x22, 0x00, 0x32, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x93, 0x05, 0x0a, 0x13, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x80, 0x08, 0x28, 0x01, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6f, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x80, 0x0c, 0x28, 0x01, 0x52, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x7a, 0x0a, 0x26, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x05, 0x28, 0x00, 0x52, 0x21, 0x6e, 0x75, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x54, 0x6f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x18, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x69, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x69, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x04, 0x0a, 0x1e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x84, 0x01, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x70, 0x72, 0x65, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x1a, 0x68, 0x0a, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xff, 0xff, 0x03, 0x20, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xaf, 0x05, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8d, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x93, 0x09, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x48, 0x74, 0x74, 0x70, 0x31, 0x30, 0x12, 0x66, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x7a, 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, 0x6e, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x42, 0x61, 0x6c, 0x73, 0x61, 0x50, 0x61, 0x72, 0x73, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x1a, 0x9f, 0x03, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x78, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x1a, 0x60, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc1, 0x02, 0x0a, 0x11, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xd0, 0x0e, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x68, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x2a, 0x08, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x1a, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x72, 0x0a, 0x1e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x2a, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0x07, 0x28, 0xff, 0xff, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x31, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2b, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x6f, 0x0a, 0x26, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x91, 0x01, 0x0a, 0x34, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x2c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x21, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x7a, 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x7a, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x67, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x4f, 0x67, 0x68, 0x74, 0x74, 0x70, 0x32, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x1a, 0xe2, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x00, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x71, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x1a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x72, 0x0d, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x52, 0x05, 0x68, 0x74, 0x74, 0x70, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x54, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x81, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_protocol_proto_rawDescOnce sync.Once file_envoy_config_core_v3_protocol_proto_rawDescData = file_envoy_config_core_v3_protocol_proto_rawDesc ) func file_envoy_config_core_v3_protocol_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_protocol_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_protocol_proto_rawDescData) }) return file_envoy_config_core_v3_protocol_proto_rawDescData } var file_envoy_config_core_v3_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_core_v3_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_envoy_config_core_v3_protocol_proto_goTypes = []interface{}{ (HttpProtocolOptions_HeadersWithUnderscoresAction)(0), // 0: envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction (*TcpProtocolOptions)(nil), // 1: envoy.config.core.v3.TcpProtocolOptions (*QuicKeepAliveSettings)(nil), // 2: envoy.config.core.v3.QuicKeepAliveSettings (*QuicProtocolOptions)(nil), // 3: envoy.config.core.v3.QuicProtocolOptions (*UpstreamHttpProtocolOptions)(nil), // 4: envoy.config.core.v3.UpstreamHttpProtocolOptions (*AlternateProtocolsCacheOptions)(nil), // 5: envoy.config.core.v3.AlternateProtocolsCacheOptions (*HttpProtocolOptions)(nil), // 6: envoy.config.core.v3.HttpProtocolOptions (*Http1ProtocolOptions)(nil), // 7: envoy.config.core.v3.Http1ProtocolOptions (*KeepaliveSettings)(nil), // 8: envoy.config.core.v3.KeepaliveSettings (*Http2ProtocolOptions)(nil), // 9: envoy.config.core.v3.Http2ProtocolOptions (*GrpcProtocolOptions)(nil), // 10: envoy.config.core.v3.GrpcProtocolOptions (*Http3ProtocolOptions)(nil), // 11: envoy.config.core.v3.Http3ProtocolOptions (*SchemeHeaderTransformation)(nil), // 12: envoy.config.core.v3.SchemeHeaderTransformation (*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry)(nil), // 13: envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry (*Http1ProtocolOptions_HeaderKeyFormat)(nil), // 14: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords)(nil), // 15: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords (*Http2ProtocolOptions_SettingsParameter)(nil), // 16: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter (*duration.Duration)(nil), // 17: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 18: google.protobuf.UInt32Value (*TypedExtensionConfig)(nil), // 19: envoy.config.core.v3.TypedExtensionConfig (*wrappers.BoolValue)(nil), // 20: google.protobuf.BoolValue (*v3.Percent)(nil), // 21: envoy.type.v3.Percent } var file_envoy_config_core_v3_protocol_proto_depIdxs = []int32{ 17, // 0: envoy.config.core.v3.QuicKeepAliveSettings.max_interval:type_name -> google.protobuf.Duration 17, // 1: envoy.config.core.v3.QuicKeepAliveSettings.initial_interval:type_name -> google.protobuf.Duration 18, // 2: envoy.config.core.v3.QuicProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value 18, // 3: envoy.config.core.v3.QuicProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value 18, // 4: envoy.config.core.v3.QuicProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value 18, // 5: envoy.config.core.v3.QuicProtocolOptions.num_timeouts_to_trigger_port_migration:type_name -> google.protobuf.UInt32Value 2, // 6: envoy.config.core.v3.QuicProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.QuicKeepAliveSettings 18, // 7: envoy.config.core.v3.AlternateProtocolsCacheOptions.max_entries:type_name -> google.protobuf.UInt32Value 19, // 8: envoy.config.core.v3.AlternateProtocolsCacheOptions.key_value_store_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 13, // 9: envoy.config.core.v3.AlternateProtocolsCacheOptions.prepopulated_entries:type_name -> envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry 17, // 10: envoy.config.core.v3.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 17, // 11: envoy.config.core.v3.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration 18, // 12: envoy.config.core.v3.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value 17, // 13: envoy.config.core.v3.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration 0, // 14: envoy.config.core.v3.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction 18, // 15: envoy.config.core.v3.HttpProtocolOptions.max_requests_per_connection:type_name -> google.protobuf.UInt32Value 20, // 16: envoy.config.core.v3.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue 14, // 17: envoy.config.core.v3.Http1ProtocolOptions.header_key_format:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat 20, // 18: envoy.config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue 20, // 19: envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser:type_name -> google.protobuf.BoolValue 17, // 20: envoy.config.core.v3.KeepaliveSettings.interval:type_name -> google.protobuf.Duration 17, // 21: envoy.config.core.v3.KeepaliveSettings.timeout:type_name -> google.protobuf.Duration 21, // 22: envoy.config.core.v3.KeepaliveSettings.interval_jitter:type_name -> envoy.type.v3.Percent 17, // 23: envoy.config.core.v3.KeepaliveSettings.connection_idle_interval:type_name -> google.protobuf.Duration 18, // 24: envoy.config.core.v3.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value 18, // 25: envoy.config.core.v3.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value 18, // 26: envoy.config.core.v3.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value 18, // 27: envoy.config.core.v3.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value 18, // 28: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value 18, // 29: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value 18, // 30: envoy.config.core.v3.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value 18, // 31: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value 18, // 32: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value 20, // 33: envoy.config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue 16, // 34: envoy.config.core.v3.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter 8, // 35: envoy.config.core.v3.Http2ProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.KeepaliveSettings 20, // 36: envoy.config.core.v3.Http2ProtocolOptions.use_oghttp2_codec:type_name -> google.protobuf.BoolValue 9, // 37: envoy.config.core.v3.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 3, // 38: envoy.config.core.v3.Http3ProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions 20, // 39: envoy.config.core.v3.Http3ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue 15, // 40: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords 19, // 41: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.stateful_formatter:type_name -> envoy.config.core.v3.TypedExtensionConfig 18, // 42: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value 18, // 43: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value 44, // [44:44] is the sub-list for method output_type 44, // [44:44] is the sub-list for method input_type 44, // [44:44] is the sub-list for extension type_name 44, // [44:44] is the sub-list for extension extendee 0, // [0:44] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_protocol_proto_init() } func file_envoy_config_core_v3_protocol_proto_init() { if File_envoy_config_core_v3_protocol_proto != nil { return } file_envoy_config_core_v3_extension_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicKeepAliveSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamHttpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlternateProtocolsCacheOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeepaliveSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http2ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http3ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SchemeHeaderTransformation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_protocol_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http2ProtocolOptions_SettingsParameter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_protocol_proto_msgTypes[11].OneofWrappers = []interface{}{ (*SchemeHeaderTransformation_SchemeToOverwrite)(nil), } file_envoy_config_core_v3_protocol_proto_msgTypes[13].OneofWrappers = []interface{}{ (*Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_)(nil), (*Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_protocol_proto_rawDesc, NumEnums: 1, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_protocol_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_protocol_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_protocol_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_protocol_proto_msgTypes, }.Build() File_envoy_config_core_v3_protocol_proto = out.File file_envoy_config_core_v3_protocol_proto_rawDesc = nil file_envoy_config_core_v3_protocol_proto_goTypes = nil file_envoy_config_core_v3_protocol_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/protocol.pb.validate.go000077500000000000000000002467661454502223200252460ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/protocol.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProtocolOptionsMultiError, or nil if none found. func (m *TcpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *TcpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TcpProtocolOptionsMultiError(errors) } return nil } // TcpProtocolOptionsMultiError is an error wrapping multiple validation errors // returned by TcpProtocolOptions.ValidateAll() if the designated constraints // aren't met. type TcpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProtocolOptionsMultiError) AllErrors() []error { return m } // TcpProtocolOptionsValidationError is the validation error returned by // TcpProtocolOptions.Validate if the designated constraints aren't met. type TcpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProtocolOptionsValidationError) ErrorName() string { return "TcpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e TcpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProtocolOptionsValidationError{} // Validate checks the field values on QuicKeepAliveSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicKeepAliveSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicKeepAliveSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicKeepAliveSettingsMultiError, or nil if none found. func (m *QuicKeepAliveSettings) ValidateAll() error { return m.validate(true) } func (m *QuicKeepAliveSettings) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = QuicKeepAliveSettingsValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lte := time.Duration(0*time.Second + 0*time.Nanosecond) gte := time.Duration(1*time.Second + 0*time.Nanosecond) if dur > lte && dur < gte { err := QuicKeepAliveSettingsValidationError{ field: "MaxInterval", reason: "value must be outside range (0s, 1s)", } if !all { return err } errors = append(errors, err) } } } if d := m.GetInitialInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = QuicKeepAliveSettingsValidationError{ field: "InitialInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lte := time.Duration(0*time.Second + 0*time.Nanosecond) gte := time.Duration(1*time.Second + 0*time.Nanosecond) if dur > lte && dur < gte { err := QuicKeepAliveSettingsValidationError{ field: "InitialInterval", reason: "value must be outside range (0s, 1s)", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return QuicKeepAliveSettingsMultiError(errors) } return nil } // QuicKeepAliveSettingsMultiError is an error wrapping multiple validation // errors returned by QuicKeepAliveSettings.ValidateAll() if the designated // constraints aren't met. type QuicKeepAliveSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicKeepAliveSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicKeepAliveSettingsMultiError) AllErrors() []error { return m } // QuicKeepAliveSettingsValidationError is the validation error returned by // QuicKeepAliveSettings.Validate if the designated constraints aren't met. type QuicKeepAliveSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicKeepAliveSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicKeepAliveSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicKeepAliveSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicKeepAliveSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicKeepAliveSettingsValidationError) ErrorName() string { return "QuicKeepAliveSettingsValidationError" } // Error satisfies the builtin error interface func (e QuicKeepAliveSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicKeepAliveSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicKeepAliveSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicKeepAliveSettingsValidationError{} // Validate checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicProtocolOptionsMultiError, or nil if none found. func (m *QuicProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *QuicProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxConcurrentStreams(); wrapper != nil { if wrapper.GetValue() < 1 { err := QuicProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialStreamWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 16777216 { err := QuicProtocolOptionsValidationError{ field: "InitialStreamWindowSize", reason: "value must be inside range [1, 16777216]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialConnectionWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 25165824 { err := QuicProtocolOptionsValidationError{ field: "InitialConnectionWindowSize", reason: "value must be inside range [1, 25165824]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetNumTimeoutsToTriggerPortMigration(); wrapper != nil { if val := wrapper.GetValue(); val < 0 || val > 5 { err := QuicProtocolOptionsValidationError{ field: "NumTimeoutsToTriggerPortMigration", reason: "value must be inside range [0, 5]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetConnectionKeepalive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionKeepalive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ConnectionOptions // no validation rules for ClientConnectionOptions if len(errors) > 0 { return QuicProtocolOptionsMultiError(errors) } return nil } // QuicProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by QuicProtocolOptions.ValidateAll() if the designated // constraints aren't met. type QuicProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicProtocolOptionsMultiError) AllErrors() []error { return m } // QuicProtocolOptionsValidationError is the validation error returned by // QuicProtocolOptions.Validate if the designated constraints aren't met. type QuicProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicProtocolOptionsValidationError) ErrorName() string { return "QuicProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e QuicProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicProtocolOptionsValidationError{} // Validate checks the field values on UpstreamHttpProtocolOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamHttpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamHttpProtocolOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamHttpProtocolOptionsMultiError, or nil if none found. func (m *UpstreamHttpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *UpstreamHttpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AutoSni // no validation rules for AutoSanValidation if m.GetOverrideAutoSniHeader() != "" { if !_UpstreamHttpProtocolOptions_OverrideAutoSniHeader_Pattern.MatchString(m.GetOverrideAutoSniHeader()) { err := UpstreamHttpProtocolOptionsValidationError{ field: "OverrideAutoSniHeader", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return UpstreamHttpProtocolOptionsMultiError(errors) } return nil } // UpstreamHttpProtocolOptionsMultiError is an error wrapping multiple // validation errors returned by UpstreamHttpProtocolOptions.ValidateAll() if // the designated constraints aren't met. type UpstreamHttpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamHttpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamHttpProtocolOptionsMultiError) AllErrors() []error { return m } // UpstreamHttpProtocolOptionsValidationError is the validation error returned // by UpstreamHttpProtocolOptions.Validate if the designated constraints // aren't met. type UpstreamHttpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamHttpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamHttpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamHttpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamHttpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamHttpProtocolOptionsValidationError) ErrorName() string { return "UpstreamHttpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e UpstreamHttpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamHttpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamHttpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamHttpProtocolOptionsValidationError{} var _UpstreamHttpProtocolOptions_OverrideAutoSniHeader_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") // Validate checks the field values on AlternateProtocolsCacheOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AlternateProtocolsCacheOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AlternateProtocolsCacheOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // AlternateProtocolsCacheOptionsMultiError, or nil if none found. func (m *AlternateProtocolsCacheOptions) ValidateAll() error { return m.validate(true) } func (m *AlternateProtocolsCacheOptions) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := AlternateProtocolsCacheOptionsValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaxEntries(); wrapper != nil { if wrapper.GetValue() <= 0 { err := AlternateProtocolsCacheOptionsValidationError{ field: "MaxEntries", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetKeyValueStoreConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AlternateProtocolsCacheOptionsValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AlternateProtocolsCacheOptionsValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyValueStoreConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AlternateProtocolsCacheOptionsValidationError{ field: "KeyValueStoreConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetPrepopulatedEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AlternateProtocolsCacheOptionsValidationError{ field: fmt.Sprintf("PrepopulatedEntries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AlternateProtocolsCacheOptionsValidationError{ field: fmt.Sprintf("PrepopulatedEntries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AlternateProtocolsCacheOptionsValidationError{ field: fmt.Sprintf("PrepopulatedEntries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AlternateProtocolsCacheOptionsMultiError(errors) } return nil } // AlternateProtocolsCacheOptionsMultiError is an error wrapping multiple // validation errors returned by AlternateProtocolsCacheOptions.ValidateAll() // if the designated constraints aren't met. type AlternateProtocolsCacheOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AlternateProtocolsCacheOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AlternateProtocolsCacheOptionsMultiError) AllErrors() []error { return m } // AlternateProtocolsCacheOptionsValidationError is the validation error // returned by AlternateProtocolsCacheOptions.Validate if the designated // constraints aren't met. type AlternateProtocolsCacheOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AlternateProtocolsCacheOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AlternateProtocolsCacheOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AlternateProtocolsCacheOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AlternateProtocolsCacheOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AlternateProtocolsCacheOptionsValidationError) ErrorName() string { return "AlternateProtocolsCacheOptionsValidationError" } // Error satisfies the builtin error interface func (e AlternateProtocolsCacheOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAlternateProtocolsCacheOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AlternateProtocolsCacheOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AlternateProtocolsCacheOptionsValidationError{} // Validate checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpProtocolOptionsMultiError, or nil if none found. func (m *HttpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxConnectionDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnectionDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "MaxConnectionDuration", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxHeadersCount(); wrapper != nil { if wrapper.GetValue() < 1 { err := HttpProtocolOptionsValidationError{ field: "MaxHeadersCount", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMaxStreamDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxStreamDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HeadersWithUnderscoresAction if all { switch v := interface{}(m.GetMaxRequestsPerConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequestsPerConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpProtocolOptionsMultiError(errors) } return nil } // HttpProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by HttpProtocolOptions.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptionsMultiError) AllErrors() []error { return m } // HttpProtocolOptionsValidationError is the validation error returned by // HttpProtocolOptions.Validate if the designated constraints aren't met. type HttpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptionsValidationError) ErrorName() string { return "HttpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptionsValidationError{} // Validate checks the field values on Http1ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http1ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http1ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http1ProtocolOptionsMultiError, or nil if none found. func (m *Http1ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowAbsoluteUrl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowAbsoluteUrl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "AllowAbsoluteUrl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AcceptHttp_10 // no validation rules for DefaultHostForHttp_10 if all { switch v := interface{}(m.GetHeaderKeyFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderKeyFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "HeaderKeyFormat", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableTrailers // no validation rules for AllowChunkedLength if all { switch v := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SendFullyQualifiedUrl if all { switch v := interface{}(m.GetUseBalsaParser()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "UseBalsaParser", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptionsValidationError{ field: "UseBalsaParser", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseBalsaParser()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptionsValidationError{ field: "UseBalsaParser", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowCustomMethods if len(errors) > 0 { return Http1ProtocolOptionsMultiError(errors) } return nil } // Http1ProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by Http1ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type Http1ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptionsMultiError) AllErrors() []error { return m } // Http1ProtocolOptionsValidationError is the validation error returned by // Http1ProtocolOptions.Validate if the designated constraints aren't met. type Http1ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptionsValidationError) ErrorName() string { return "Http1ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptionsValidationError{} // Validate checks the field values on KeepaliveSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *KeepaliveSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KeepaliveSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // KeepaliveSettingsMultiError, or nil if none found. func (m *KeepaliveSettings) ValidateAll() error { return m.validate(true) } func (m *KeepaliveSettings) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = KeepaliveSettingsValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := KeepaliveSettingsValidationError{ field: "Interval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if m.GetTimeout() == nil { err := KeepaliveSettingsValidationError{ field: "Timeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = KeepaliveSettingsValidationError{ field: "Timeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := KeepaliveSettingsValidationError{ field: "Timeout", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetIntervalJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KeepaliveSettingsValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KeepaliveSettingsValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIntervalJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KeepaliveSettingsValidationError{ field: "IntervalJitter", reason: "embedded message failed validation", cause: err, } } } if d := m.GetConnectionIdleInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = KeepaliveSettingsValidationError{ field: "ConnectionIdleInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := KeepaliveSettingsValidationError{ field: "ConnectionIdleInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return KeepaliveSettingsMultiError(errors) } return nil } // KeepaliveSettingsMultiError is an error wrapping multiple validation errors // returned by KeepaliveSettings.ValidateAll() if the designated constraints // aren't met. type KeepaliveSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KeepaliveSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KeepaliveSettingsMultiError) AllErrors() []error { return m } // KeepaliveSettingsValidationError is the validation error returned by // KeepaliveSettings.Validate if the designated constraints aren't met. type KeepaliveSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KeepaliveSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KeepaliveSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KeepaliveSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KeepaliveSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KeepaliveSettingsValidationError) ErrorName() string { return "KeepaliveSettingsValidationError" } // Error satisfies the builtin error interface func (e KeepaliveSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKeepaliveSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KeepaliveSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KeepaliveSettingsValidationError{} // Validate checks the field values on Http2ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http2ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http2ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http2ProtocolOptionsMultiError, or nil if none found. func (m *Http2ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *Http2ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHpackTableSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHpackTableSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "HpackTableSize", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxConcurrentStreams(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "MaxConcurrentStreams", reason: "value must be inside range [1, 2147483647]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialStreamWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 65535 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "InitialStreamWindowSize", reason: "value must be inside range [65535, 2147483647]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInitialConnectionWindowSize(); wrapper != nil { if val := wrapper.GetValue(); val < 65535 || val > 2147483647 { err := Http2ProtocolOptionsValidationError{ field: "InitialConnectionWindowSize", reason: "value must be inside range [65535, 2147483647]", } if !all { return err } errors = append(errors, err) } } // no validation rules for AllowConnect // no validation rules for AllowMetadata if wrapper := m.GetMaxOutboundFrames(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxOutboundFrames", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetMaxOutboundControlFrames(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxOutboundControlFrames", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConsecutiveInboundFramesWithEmptyPayload()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "MaxConsecutiveInboundFramesWithEmptyPayload", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxInboundPriorityFramesPerStream()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "MaxInboundPriorityFramesPerStream", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxInboundWindowUpdateFramesPerDataFrameSent(); wrapper != nil { if wrapper.GetValue() < 1 { err := Http2ProtocolOptionsValidationError{ field: "MaxInboundWindowUpdateFramesPerDataFrameSent", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } // no validation rules for StreamErrorOnInvalidHttpMessaging if all { switch v := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomSettingsParameters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: fmt.Sprintf("CustomSettingsParameters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetConnectionKeepalive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionKeepalive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "ConnectionKeepalive", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUseOghttp2Codec()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "UseOghttp2Codec", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptionsValidationError{ field: "UseOghttp2Codec", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseOghttp2Codec()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptionsValidationError{ field: "UseOghttp2Codec", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Http2ProtocolOptionsMultiError(errors) } return nil } // Http2ProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by Http2ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type Http2ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http2ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http2ProtocolOptionsMultiError) AllErrors() []error { return m } // Http2ProtocolOptionsValidationError is the validation error returned by // Http2ProtocolOptions.Validate if the designated constraints aren't met. type Http2ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http2ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http2ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http2ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http2ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http2ProtocolOptionsValidationError) ErrorName() string { return "Http2ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e Http2ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp2ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http2ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http2ProtocolOptionsValidationError{} // Validate checks the field values on GrpcProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcProtocolOptionsMultiError, or nil if none found. func (m *GrpcProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *GrpcProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcProtocolOptionsValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GrpcProtocolOptionsMultiError(errors) } return nil } // GrpcProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by GrpcProtocolOptions.ValidateAll() if the designated // constraints aren't met. type GrpcProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcProtocolOptionsMultiError) AllErrors() []error { return m } // GrpcProtocolOptionsValidationError is the validation error returned by // GrpcProtocolOptions.Validate if the designated constraints aren't met. type GrpcProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcProtocolOptionsValidationError) ErrorName() string { return "GrpcProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e GrpcProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcProtocolOptionsValidationError{} // Validate checks the field values on Http3ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http3ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http3ProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http3ProtocolOptionsMultiError, or nil if none found. func (m *Http3ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *Http3ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetQuicProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http3ProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http3ProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuicProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http3ProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http3ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http3ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrideStreamErrorOnInvalidHttpMessage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http3ProtocolOptionsValidationError{ field: "OverrideStreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowExtendedConnect if len(errors) > 0 { return Http3ProtocolOptionsMultiError(errors) } return nil } // Http3ProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by Http3ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type Http3ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http3ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http3ProtocolOptionsMultiError) AllErrors() []error { return m } // Http3ProtocolOptionsValidationError is the validation error returned by // Http3ProtocolOptions.Validate if the designated constraints aren't met. type Http3ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http3ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http3ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http3ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http3ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http3ProtocolOptionsValidationError) ErrorName() string { return "Http3ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e Http3ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp3ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http3ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http3ProtocolOptionsValidationError{} // Validate checks the field values on SchemeHeaderTransformation with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SchemeHeaderTransformation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SchemeHeaderTransformation with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SchemeHeaderTransformationMultiError, or nil if none found. func (m *SchemeHeaderTransformation) ValidateAll() error { return m.validate(true) } func (m *SchemeHeaderTransformation) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Transformation.(type) { case *SchemeHeaderTransformation_SchemeToOverwrite: if v == nil { err := SchemeHeaderTransformationValidationError{ field: "Transformation", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if _, ok := _SchemeHeaderTransformation_SchemeToOverwrite_InLookup[m.GetSchemeToOverwrite()]; !ok { err := SchemeHeaderTransformationValidationError{ field: "SchemeToOverwrite", reason: "value must be in list [http https]", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return SchemeHeaderTransformationMultiError(errors) } return nil } // SchemeHeaderTransformationMultiError is an error wrapping multiple // validation errors returned by SchemeHeaderTransformation.ValidateAll() if // the designated constraints aren't met. type SchemeHeaderTransformationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SchemeHeaderTransformationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SchemeHeaderTransformationMultiError) AllErrors() []error { return m } // SchemeHeaderTransformationValidationError is the validation error returned // by SchemeHeaderTransformation.Validate if the designated constraints aren't met. type SchemeHeaderTransformationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SchemeHeaderTransformationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SchemeHeaderTransformationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SchemeHeaderTransformationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SchemeHeaderTransformationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SchemeHeaderTransformationValidationError) ErrorName() string { return "SchemeHeaderTransformationValidationError" } // Error satisfies the builtin error interface func (e SchemeHeaderTransformationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSchemeHeaderTransformation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SchemeHeaderTransformationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SchemeHeaderTransformationValidationError{} var _SchemeHeaderTransformation_SchemeToOverwrite_InLookup = map[string]struct{}{ "http": {}, "https": {}, } // Validate checks the field values on // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError, or // nil if none found. func (m *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) ValidateAll() error { return m.validate(true) } func (m *AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHostname() != "" { if !_AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry_Hostname_Pattern.MatchString(m.GetHostname()) { err := AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError{ field: "Hostname", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if val := m.GetPort(); val <= 0 || val >= 65535 { err := AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError{ field: "Port", reason: "value must be inside range (0, 65535)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError(errors) } return nil } // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError is an // error wrapping multiple validation errors returned by // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry.ValidateAll() // if the designated constraints aren't met. type AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryMultiError) AllErrors() []error { return m } // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError // is the validation error returned by // AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry.Validate if the // designated constraints aren't met. type AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) ErrorName() string { return "AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError" } // Error satisfies the builtin error interface func (e AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntryValidationError{} var _AlternateProtocolsCacheOptions_AlternateProtocolsCacheEntry_Hostname_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") // Validate checks the field values on Http1ProtocolOptions_HeaderKeyFormat // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Http1ProtocolOptions_HeaderKeyFormat) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http1ProtocolOptions_HeaderKeyFormat // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Http1ProtocolOptions_HeaderKeyFormatMultiError, or nil if none found. func (m *Http1ProtocolOptions_HeaderKeyFormat) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions_HeaderKeyFormat) validate(all bool) error { if m == nil { return nil } var errors []error oneofHeaderFormatPresent := false switch v := m.HeaderFormat.(type) { case *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords_: if v == nil { err := Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "HeaderFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHeaderFormatPresent = true if all { switch v := interface{}(m.GetProperCaseWords()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProperCaseWords()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "ProperCaseWords", reason: "embedded message failed validation", cause: err, } } } case *Http1ProtocolOptions_HeaderKeyFormat_StatefulFormatter: if v == nil { err := Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "HeaderFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofHeaderFormatPresent = true if all { switch v := interface{}(m.GetStatefulFormatter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "StatefulFormatter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "StatefulFormatter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatefulFormatter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "StatefulFormatter", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofHeaderFormatPresent { err := Http1ProtocolOptions_HeaderKeyFormatValidationError{ field: "HeaderFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Http1ProtocolOptions_HeaderKeyFormatMultiError(errors) } return nil } // Http1ProtocolOptions_HeaderKeyFormatMultiError is an error wrapping multiple // validation errors returned by // Http1ProtocolOptions_HeaderKeyFormat.ValidateAll() if the designated // constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormatMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptions_HeaderKeyFormatMultiError) AllErrors() []error { return m } // Http1ProtocolOptions_HeaderKeyFormatValidationError is the validation error // returned by Http1ProtocolOptions_HeaderKeyFormat.Validate if the designated // constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormatValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) ErrorName() string { return "Http1ProtocolOptions_HeaderKeyFormatValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptions_HeaderKeyFormatValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions_HeaderKeyFormat.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptions_HeaderKeyFormatValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptions_HeaderKeyFormatValidationError{} // Validate checks the field values on // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError, or nil if // none found. func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) ValidateAll() error { return m.validate(true) } func (m *Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError(errors) } return nil } // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError is an error // wrapping multiple validation errors returned by // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.ValidateAll() if the // designated constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsMultiError) AllErrors() []error { return m } // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError is the // validation error returned by // Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.Validate if the // designated constraints aren't met. type Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) ErrorName() string { return "Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError" } // Error satisfies the builtin error interface func (e Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp1ProtocolOptions_HeaderKeyFormat_ProperCaseWords.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWordsValidationError{} // Validate checks the field values on Http2ProtocolOptions_SettingsParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Http2ProtocolOptions_SettingsParameter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Http2ProtocolOptions_SettingsParameter with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // Http2ProtocolOptions_SettingsParameterMultiError, or nil if none found. func (m *Http2ProtocolOptions_SettingsParameter) ValidateAll() error { return m.validate(true) } func (m *Http2ProtocolOptions_SettingsParameter) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetIdentifier(); wrapper != nil { if val := wrapper.GetValue(); val < 0 || val > 65535 { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Identifier", reason: "value must be inside range [0, 65535]", } if !all { return err } errors = append(errors, err) } } else { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Identifier", reason: "value is required and must not be nil.", } if !all { return err } errors = append(errors, err) } if m.GetValue() == nil { err := Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http2ProtocolOptions_SettingsParameterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Http2ProtocolOptions_SettingsParameterMultiError(errors) } return nil } // Http2ProtocolOptions_SettingsParameterMultiError is an error wrapping // multiple validation errors returned by // Http2ProtocolOptions_SettingsParameter.ValidateAll() if the designated // constraints aren't met. type Http2ProtocolOptions_SettingsParameterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http2ProtocolOptions_SettingsParameterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http2ProtocolOptions_SettingsParameterMultiError) AllErrors() []error { return m } // Http2ProtocolOptions_SettingsParameterValidationError is the validation // error returned by Http2ProtocolOptions_SettingsParameter.Validate if the // designated constraints aren't met. type Http2ProtocolOptions_SettingsParameterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http2ProtocolOptions_SettingsParameterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http2ProtocolOptions_SettingsParameterValidationError) ErrorName() string { return "Http2ProtocolOptions_SettingsParameterValidationError" } // Error satisfies the builtin error interface func (e Http2ProtocolOptions_SettingsParameterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp2ProtocolOptions_SettingsParameter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http2ProtocolOptions_SettingsParameterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http2ProtocolOptions_SettingsParameterValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/proxy_protocol.pb.go000077500000000000000000000374371454502223200247100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/proxy_protocol.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ProxyProtocolPassThroughTLVs_PassTLVsMatchType int32 const ( // Pass all TLVs. ProxyProtocolPassThroughTLVs_INCLUDE_ALL ProxyProtocolPassThroughTLVs_PassTLVsMatchType = 0 // Pass specific TLVs defined in tlv_type. ProxyProtocolPassThroughTLVs_INCLUDE ProxyProtocolPassThroughTLVs_PassTLVsMatchType = 1 ) // Enum value maps for ProxyProtocolPassThroughTLVs_PassTLVsMatchType. var ( ProxyProtocolPassThroughTLVs_PassTLVsMatchType_name = map[int32]string{ 0: "INCLUDE_ALL", 1: "INCLUDE", } ProxyProtocolPassThroughTLVs_PassTLVsMatchType_value = map[string]int32{ "INCLUDE_ALL": 0, "INCLUDE": 1, } ) func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Enum() *ProxyProtocolPassThroughTLVs_PassTLVsMatchType { p := new(ProxyProtocolPassThroughTLVs_PassTLVsMatchType) *p = x return p } func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0].Descriptor() } func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[0] } func (x ProxyProtocolPassThroughTLVs_PassTLVsMatchType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProxyProtocolPassThroughTLVs_PassTLVsMatchType.Descriptor instead. func (ProxyProtocolPassThroughTLVs_PassTLVsMatchType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0, 0} } type ProxyProtocolConfig_Version int32 const ( // PROXY protocol version 1. Human readable format. ProxyProtocolConfig_V1 ProxyProtocolConfig_Version = 0 // PROXY protocol version 2. Binary format. ProxyProtocolConfig_V2 ProxyProtocolConfig_Version = 1 ) // Enum value maps for ProxyProtocolConfig_Version. var ( ProxyProtocolConfig_Version_name = map[int32]string{ 0: "V1", 1: "V2", } ProxyProtocolConfig_Version_value = map[string]int32{ "V1": 0, "V2": 1, } ) func (x ProxyProtocolConfig_Version) Enum() *ProxyProtocolConfig_Version { p := new(ProxyProtocolConfig_Version) *p = x return p } func (x ProxyProtocolConfig_Version) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProxyProtocolConfig_Version) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[1].Descriptor() } func (ProxyProtocolConfig_Version) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_proxy_protocol_proto_enumTypes[1] } func (x ProxyProtocolConfig_Version) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProxyProtocolConfig_Version.Descriptor instead. func (ProxyProtocolConfig_Version) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{1, 0} } type ProxyProtocolPassThroughTLVs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The strategy to pass through TLVs. Default is INCLUDE_ALL. // If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field. MatchType ProxyProtocolPassThroughTLVs_PassTLVsMatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=envoy.config.core.v3.ProxyProtocolPassThroughTLVs_PassTLVsMatchType" json:"match_type,omitempty"` // The TLV types that are applied based on match_type. // TLV type is defined as uint8_t in proxy protocol. See `the spec // `_ for details. TlvType []uint32 `protobuf:"varint,2,rep,packed,name=tlv_type,json=tlvType,proto3" json:"tlv_type,omitempty"` } func (x *ProxyProtocolPassThroughTLVs) Reset() { *x = ProxyProtocolPassThroughTLVs{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocolPassThroughTLVs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocolPassThroughTLVs) ProtoMessage() {} func (x *ProxyProtocolPassThroughTLVs) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocolPassThroughTLVs.ProtoReflect.Descriptor instead. func (*ProxyProtocolPassThroughTLVs) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{0} } func (x *ProxyProtocolPassThroughTLVs) GetMatchType() ProxyProtocolPassThroughTLVs_PassTLVsMatchType { if x != nil { return x.MatchType } return ProxyProtocolPassThroughTLVs_INCLUDE_ALL } func (x *ProxyProtocolPassThroughTLVs) GetTlvType() []uint32 { if x != nil { return x.TlvType } return nil } type ProxyProtocolConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details Version ProxyProtocolConfig_Version `protobuf:"varint,1,opt,name=version,proto3,enum=envoy.config.core.v3.ProxyProtocolConfig_Version" json:"version,omitempty"` // This config controls which TLVs can be passed to upstream if it is Proxy Protocol // V2 header. If there is no setting for this field, no TLVs will be passed through. PassThroughTlvs *ProxyProtocolPassThroughTLVs `protobuf:"bytes,2,opt,name=pass_through_tlvs,json=passThroughTlvs,proto3" json:"pass_through_tlvs,omitempty"` } func (x *ProxyProtocolConfig) Reset() { *x = ProxyProtocolConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocolConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocolConfig) ProtoMessage() {} func (x *ProxyProtocolConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocolConfig.ProtoReflect.Descriptor instead. func (*ProxyProtocolConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP(), []int{1} } func (x *ProxyProtocolConfig) GetVersion() ProxyProtocolConfig_Version { if x != nil { return x.Version } return ProxyProtocolConfig_V1 } func (x *ProxyProtocolConfig) GetPassThroughTlvs() *ProxyProtocolPassThroughTLVs { if x != nil { return x.PassThroughTlvs } return nil } var File_envoy_config_core_v3_proxy_protocol_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_proxy_protocol_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73, 0x12, 0x63, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x4c, 0x56, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x2a, 0x03, 0x10, 0x80, 0x02, 0x52, 0x07, 0x74, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x31, 0x0a, 0x11, 0x50, 0x61, 0x73, 0x73, 0x54, 0x4c, 0x56, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6c, 0x76, 0x73, 0x22, 0x19, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x42, 0x86, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_proxy_protocol_proto_rawDescOnce sync.Once file_envoy_config_core_v3_proxy_protocol_proto_rawDescData = file_envoy_config_core_v3_proxy_protocol_proto_rawDesc ) func file_envoy_config_core_v3_proxy_protocol_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_proxy_protocol_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_proxy_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_proxy_protocol_proto_rawDescData) }) return file_envoy_config_core_v3_proxy_protocol_proto_rawDescData } var file_envoy_config_core_v3_proxy_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_core_v3_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_core_v3_proxy_protocol_proto_goTypes = []interface{}{ (ProxyProtocolPassThroughTLVs_PassTLVsMatchType)(0), // 0: envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType (ProxyProtocolConfig_Version)(0), // 1: envoy.config.core.v3.ProxyProtocolConfig.Version (*ProxyProtocolPassThroughTLVs)(nil), // 2: envoy.config.core.v3.ProxyProtocolPassThroughTLVs (*ProxyProtocolConfig)(nil), // 3: envoy.config.core.v3.ProxyProtocolConfig } var file_envoy_config_core_v3_proxy_protocol_proto_depIdxs = []int32{ 0, // 0: envoy.config.core.v3.ProxyProtocolPassThroughTLVs.match_type:type_name -> envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType 1, // 1: envoy.config.core.v3.ProxyProtocolConfig.version:type_name -> envoy.config.core.v3.ProxyProtocolConfig.Version 2, // 2: envoy.config.core.v3.ProxyProtocolConfig.pass_through_tlvs:type_name -> envoy.config.core.v3.ProxyProtocolPassThroughTLVs 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_proxy_protocol_proto_init() } func file_envoy_config_core_v3_proxy_protocol_proto_init() { if File_envoy_config_core_v3_proxy_protocol_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocolPassThroughTLVs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_proxy_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocolConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_proxy_protocol_proto_rawDesc, NumEnums: 2, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_proxy_protocol_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_proxy_protocol_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_proxy_protocol_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_proxy_protocol_proto_msgTypes, }.Build() File_envoy_config_core_v3_proxy_protocol_proto = out.File file_envoy_config_core_v3_proxy_protocol_proto_rawDesc = nil file_envoy_config_core_v3_proxy_protocol_proto_goTypes = nil file_envoy_config_core_v3_proxy_protocol_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/proxy_protocol.pb.validate.go000077500000000000000000000171531454502223200264710ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/proxy_protocol.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProxyProtocolPassThroughTLVs with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProxyProtocolPassThroughTLVs) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocolPassThroughTLVs with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProxyProtocolPassThroughTLVsMultiError, or nil if none found. func (m *ProxyProtocolPassThroughTLVs) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocolPassThroughTLVs) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MatchType for idx, item := range m.GetTlvType() { _, _ = idx, item if item >= 256 { err := ProxyProtocolPassThroughTLVsValidationError{ field: fmt.Sprintf("TlvType[%v]", idx), reason: "value must be less than 256", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ProxyProtocolPassThroughTLVsMultiError(errors) } return nil } // ProxyProtocolPassThroughTLVsMultiError is an error wrapping multiple // validation errors returned by ProxyProtocolPassThroughTLVs.ValidateAll() if // the designated constraints aren't met. type ProxyProtocolPassThroughTLVsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocolPassThroughTLVsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocolPassThroughTLVsMultiError) AllErrors() []error { return m } // ProxyProtocolPassThroughTLVsValidationError is the validation error returned // by ProxyProtocolPassThroughTLVs.Validate if the designated constraints // aren't met. type ProxyProtocolPassThroughTLVsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocolPassThroughTLVsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocolPassThroughTLVsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocolPassThroughTLVsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocolPassThroughTLVsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocolPassThroughTLVsValidationError) ErrorName() string { return "ProxyProtocolPassThroughTLVsValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocolPassThroughTLVsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocolPassThroughTLVs.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocolPassThroughTLVsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocolPassThroughTLVsValidationError{} // Validate checks the field values on ProxyProtocolConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProxyProtocolConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocolConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProxyProtocolConfigMultiError, or nil if none found. func (m *ProxyProtocolConfig) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocolConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Version if all { switch v := interface{}(m.GetPassThroughTlvs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocolConfigValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocolConfigValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassThroughTlvs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocolConfigValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ProxyProtocolConfigMultiError(errors) } return nil } // ProxyProtocolConfigMultiError is an error wrapping multiple validation // errors returned by ProxyProtocolConfig.ValidateAll() if the designated // constraints aren't met. type ProxyProtocolConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocolConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocolConfigMultiError) AllErrors() []error { return m } // ProxyProtocolConfigValidationError is the validation error returned by // ProxyProtocolConfig.Validate if the designated constraints aren't met. type ProxyProtocolConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocolConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocolConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocolConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocolConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocolConfigValidationError) ErrorName() string { return "ProxyProtocolConfigValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocolConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocolConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocolConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocolConfigValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/resolver.pb.go000077500000000000000000000263161454502223200234410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/resolver.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration of DNS resolver option flags which control the behavior of the DNS resolver. type DnsResolverOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Use TCP for all DNS queries instead of the default protocol UDP. UseTcpForDnsLookups bool `protobuf:"varint,1,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` // Do not use the default search domains; only query hostnames as-is or as aliases. NoDefaultSearchDomain bool `protobuf:"varint,2,opt,name=no_default_search_domain,json=noDefaultSearchDomain,proto3" json:"no_default_search_domain,omitempty"` } func (x *DnsResolverOptions) Reset() { *x = DnsResolverOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_resolver_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsResolverOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsResolverOptions) ProtoMessage() {} func (x *DnsResolverOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_resolver_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsResolverOptions.ProtoReflect.Descriptor instead. func (*DnsResolverOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_resolver_proto_rawDescGZIP(), []int{0} } func (x *DnsResolverOptions) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } func (x *DnsResolverOptions) GetNoDefaultSearchDomain() bool { if x != nil { return x.NoDefaultSearchDomain } return false } // DNS resolution configuration which includes the underlying dns resolver addresses and options. type DnsResolutionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A list of dns resolver addresses. If specified, the DNS client library will perform resolution // via the underlying DNS resolvers. Otherwise, the default system resolvers // (e.g., /etc/resolv.conf) will be used. Resolvers []*Address `protobuf:"bytes,1,rep,name=resolvers,proto3" json:"resolvers,omitempty"` // Configuration of DNS resolver option flags which control the behavior of the DNS resolver. DnsResolverOptions *DnsResolverOptions `protobuf:"bytes,2,opt,name=dns_resolver_options,json=dnsResolverOptions,proto3" json:"dns_resolver_options,omitempty"` } func (x *DnsResolutionConfig) Reset() { *x = DnsResolutionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_resolver_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsResolutionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsResolutionConfig) ProtoMessage() {} func (x *DnsResolutionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_resolver_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsResolutionConfig.ProtoReflect.Descriptor instead. func (*DnsResolutionConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_resolver_proto_rawDescGZIP(), []int{1} } func (x *DnsResolutionConfig) GetResolvers() []*Address { if x != nil { return x.Resolvers } return nil } func (x *DnsResolutionConfig) GetDnsResolverOptions() *DnsResolverOptions { if x != nil { return x.DnsResolverOptions } return nil } var File_envoy_config_core_v3_resolver_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_resolver_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6e, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x81, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_resolver_proto_rawDescOnce sync.Once file_envoy_config_core_v3_resolver_proto_rawDescData = file_envoy_config_core_v3_resolver_proto_rawDesc ) func file_envoy_config_core_v3_resolver_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_resolver_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_resolver_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_resolver_proto_rawDescData) }) return file_envoy_config_core_v3_resolver_proto_rawDescData } var file_envoy_config_core_v3_resolver_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_core_v3_resolver_proto_goTypes = []interface{}{ (*DnsResolverOptions)(nil), // 0: envoy.config.core.v3.DnsResolverOptions (*DnsResolutionConfig)(nil), // 1: envoy.config.core.v3.DnsResolutionConfig (*Address)(nil), // 2: envoy.config.core.v3.Address } var file_envoy_config_core_v3_resolver_proto_depIdxs = []int32{ 2, // 0: envoy.config.core.v3.DnsResolutionConfig.resolvers:type_name -> envoy.config.core.v3.Address 0, // 1: envoy.config.core.v3.DnsResolutionConfig.dns_resolver_options:type_name -> envoy.config.core.v3.DnsResolverOptions 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_resolver_proto_init() } func file_envoy_config_core_v3_resolver_proto_init() { if File_envoy_config_core_v3_resolver_proto != nil { return } file_envoy_config_core_v3_address_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_resolver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsResolverOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_resolver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsResolutionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_resolver_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_resolver_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_resolver_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_resolver_proto_msgTypes, }.Build() File_envoy_config_core_v3_resolver_proto = out.File file_envoy_config_core_v3_resolver_proto_rawDesc = nil file_envoy_config_core_v3_resolver_proto_goTypes = nil file_envoy_config_core_v3_resolver_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/resolver.pb.validate.go000077500000000000000000000204311454502223200252210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/resolver.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DnsResolverOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsResolverOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsResolverOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsResolverOptionsMultiError, or nil if none found. func (m *DnsResolverOptions) ValidateAll() error { return m.validate(true) } func (m *DnsResolverOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseTcpForDnsLookups // no validation rules for NoDefaultSearchDomain if len(errors) > 0 { return DnsResolverOptionsMultiError(errors) } return nil } // DnsResolverOptionsMultiError is an error wrapping multiple validation errors // returned by DnsResolverOptions.ValidateAll() if the designated constraints // aren't met. type DnsResolverOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsResolverOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsResolverOptionsMultiError) AllErrors() []error { return m } // DnsResolverOptionsValidationError is the validation error returned by // DnsResolverOptions.Validate if the designated constraints aren't met. type DnsResolverOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsResolverOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsResolverOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsResolverOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsResolverOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsResolverOptionsValidationError) ErrorName() string { return "DnsResolverOptionsValidationError" } // Error satisfies the builtin error interface func (e DnsResolverOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsResolverOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsResolverOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsResolverOptionsValidationError{} // Validate checks the field values on DnsResolutionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsResolutionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsResolutionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsResolutionConfigMultiError, or nil if none found. func (m *DnsResolutionConfig) ValidateAll() error { return m.validate(true) } func (m *DnsResolutionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetResolvers()) < 1 { err := DnsResolutionConfigValidationError{ field: "Resolvers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResolvers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsResolutionConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsResolutionConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsResolutionConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDnsResolverOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsResolutionConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsResolutionConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolverOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsResolutionConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DnsResolutionConfigMultiError(errors) } return nil } // DnsResolutionConfigMultiError is an error wrapping multiple validation // errors returned by DnsResolutionConfig.ValidateAll() if the designated // constraints aren't met. type DnsResolutionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsResolutionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsResolutionConfigMultiError) AllErrors() []error { return m } // DnsResolutionConfigValidationError is the validation error returned by // DnsResolutionConfig.Validate if the designated constraints aren't met. type DnsResolutionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsResolutionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsResolutionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsResolutionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsResolutionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsResolutionConfigValidationError) ErrorName() string { return "DnsResolutionConfigValidationError" } // Error satisfies the builtin error interface func (e DnsResolutionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsResolutionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsResolutionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsResolutionConfigValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/socket_option.pb.go000077500000000000000000000372611454502223200244610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/socket_option.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SocketOption_SocketState int32 const ( // Socket options are applied after socket creation but before binding the socket to a port SocketOption_STATE_PREBIND SocketOption_SocketState = 0 // Socket options are applied after binding the socket to a port but before calling listen() SocketOption_STATE_BOUND SocketOption_SocketState = 1 // Socket options are applied after calling listen() SocketOption_STATE_LISTENING SocketOption_SocketState = 2 ) // Enum value maps for SocketOption_SocketState. var ( SocketOption_SocketState_name = map[int32]string{ 0: "STATE_PREBIND", 1: "STATE_BOUND", 2: "STATE_LISTENING", } SocketOption_SocketState_value = map[string]int32{ "STATE_PREBIND": 0, "STATE_BOUND": 1, "STATE_LISTENING": 2, } ) func (x SocketOption_SocketState) Enum() *SocketOption_SocketState { p := new(SocketOption_SocketState) *p = x return p } func (x SocketOption_SocketState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SocketOption_SocketState) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_core_v3_socket_option_proto_enumTypes[0].Descriptor() } func (SocketOption_SocketState) Type() protoreflect.EnumType { return &file_envoy_config_core_v3_socket_option_proto_enumTypes[0] } func (x SocketOption_SocketState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SocketOption_SocketState.Descriptor instead. func (SocketOption_SocketState) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{0, 0} } // Generic socket option message. This would be used to set socket options that // might not exist in upstream kernels or precompiled Envoy binaries. // // For example: // // .. code-block:: json // // { // "description": "support tcp keep alive", // "state": 0, // "level": 1, // "name": 9, // "int_value": 1, // } // // 1 means SOL_SOCKET and 9 means SO_KEEPALIVE on Linux. // With the above configuration, `TCP Keep-Alives `_ // can be enabled in socket with Linux, which can be used in // :ref:`listener's` or // :ref:`admin's ` socket_options etc. // // It should be noted that the name or level may have different values on different platforms. // [#next-free-field: 7] type SocketOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional name to give this socket option for debugging, etc. // Uniqueness is not required and no special meaning is assumed. Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` // Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP Level int64 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` // The numeric name as passed to setsockopt Name int64 `protobuf:"varint,3,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Value: // // *SocketOption_IntValue // *SocketOption_BufValue Value isSocketOption_Value `protobuf_oneof:"value"` // The state in which the option will be applied. When used in BindConfig // STATE_PREBIND is currently the only valid value. State SocketOption_SocketState `protobuf:"varint,6,opt,name=state,proto3,enum=envoy.config.core.v3.SocketOption_SocketState" json:"state,omitempty"` } func (x *SocketOption) Reset() { *x = SocketOption{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_socket_option_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketOption) ProtoMessage() {} func (x *SocketOption) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_socket_option_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketOption.ProtoReflect.Descriptor instead. func (*SocketOption) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{0} } func (x *SocketOption) GetDescription() string { if x != nil { return x.Description } return "" } func (x *SocketOption) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *SocketOption) GetName() int64 { if x != nil { return x.Name } return 0 } func (m *SocketOption) GetValue() isSocketOption_Value { if m != nil { return m.Value } return nil } func (x *SocketOption) GetIntValue() int64 { if x, ok := x.GetValue().(*SocketOption_IntValue); ok { return x.IntValue } return 0 } func (x *SocketOption) GetBufValue() []byte { if x, ok := x.GetValue().(*SocketOption_BufValue); ok { return x.BufValue } return nil } func (x *SocketOption) GetState() SocketOption_SocketState { if x != nil { return x.State } return SocketOption_STATE_PREBIND } type isSocketOption_Value interface { isSocketOption_Value() } type SocketOption_IntValue struct { // Because many sockopts take an int value. IntValue int64 `protobuf:"varint,4,opt,name=int_value,json=intValue,proto3,oneof"` } type SocketOption_BufValue struct { // Otherwise it's a byte buffer. BufValue []byte `protobuf:"bytes,5,opt,name=buf_value,json=bufValue,proto3,oneof"` } func (*SocketOption_IntValue) isSocketOption_Value() {} func (*SocketOption_BufValue) isSocketOption_Value() {} type SocketOptionsOverride struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SocketOptions []*SocketOption `protobuf:"bytes,1,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` } func (x *SocketOptionsOverride) Reset() { *x = SocketOptionsOverride{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_socket_option_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketOptionsOverride) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketOptionsOverride) ProtoMessage() {} func (x *SocketOptionsOverride) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_socket_option_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketOptionsOverride.ProtoReflect.Descriptor instead. func (*SocketOptionsOverride) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{1} } func (x *SocketOptionsOverride) GetSocketOptions() []*SocketOption { if x != nil { return x.SocketOptions } return nil } var File_envoy_config_core_v3_socket_option_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_socket_option_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x62, 0x75, 0x66, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x62, 0x75, 0x66, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x46, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x62, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_socket_option_proto_rawDescOnce sync.Once file_envoy_config_core_v3_socket_option_proto_rawDescData = file_envoy_config_core_v3_socket_option_proto_rawDesc ) func file_envoy_config_core_v3_socket_option_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_socket_option_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_socket_option_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_socket_option_proto_rawDescData) }) return file_envoy_config_core_v3_socket_option_proto_rawDescData } var file_envoy_config_core_v3_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_core_v3_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_core_v3_socket_option_proto_goTypes = []interface{}{ (SocketOption_SocketState)(0), // 0: envoy.config.core.v3.SocketOption.SocketState (*SocketOption)(nil), // 1: envoy.config.core.v3.SocketOption (*SocketOptionsOverride)(nil), // 2: envoy.config.core.v3.SocketOptionsOverride } var file_envoy_config_core_v3_socket_option_proto_depIdxs = []int32{ 0, // 0: envoy.config.core.v3.SocketOption.state:type_name -> envoy.config.core.v3.SocketOption.SocketState 1, // 1: envoy.config.core.v3.SocketOptionsOverride.socket_options:type_name -> envoy.config.core.v3.SocketOption 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_socket_option_proto_init() } func file_envoy_config_core_v3_socket_option_proto_init() { if File_envoy_config_core_v3_socket_option_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_socket_option_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketOption); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_socket_option_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketOptionsOverride); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_socket_option_proto_msgTypes[0].OneofWrappers = []interface{}{ (*SocketOption_IntValue)(nil), (*SocketOption_BufValue)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_socket_option_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_socket_option_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_socket_option_proto_depIdxs, EnumInfos: file_envoy_config_core_v3_socket_option_proto_enumTypes, MessageInfos: file_envoy_config_core_v3_socket_option_proto_msgTypes, }.Build() File_envoy_config_core_v3_socket_option_proto = out.File file_envoy_config_core_v3_socket_option_proto_rawDesc = nil file_envoy_config_core_v3_socket_option_proto_goTypes = nil file_envoy_config_core_v3_socket_option_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/socket_option.pb.validate.go000077500000000000000000000203431454502223200262420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/socket_option.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SocketOption with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketOption) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketOption with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketOptionMultiError, or // nil if none found. func (m *SocketOption) ValidateAll() error { return m.validate(true) } func (m *SocketOption) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Description // no validation rules for Level // no validation rules for Name if _, ok := SocketOption_SocketState_name[int32(m.GetState())]; !ok { err := SocketOptionValidationError{ field: "State", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofValuePresent := false switch v := m.Value.(type) { case *SocketOption_IntValue: if v == nil { err := SocketOptionValidationError{ field: "Value", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValuePresent = true // no validation rules for IntValue case *SocketOption_BufValue: if v == nil { err := SocketOptionValidationError{ field: "Value", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValuePresent = true // no validation rules for BufValue default: _ = v // ensures v is used } if !oneofValuePresent { err := SocketOptionValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SocketOptionMultiError(errors) } return nil } // SocketOptionMultiError is an error wrapping multiple validation errors // returned by SocketOption.ValidateAll() if the designated constraints aren't met. type SocketOptionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketOptionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketOptionMultiError) AllErrors() []error { return m } // SocketOptionValidationError is the validation error returned by // SocketOption.Validate if the designated constraints aren't met. type SocketOptionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketOptionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketOptionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketOptionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketOptionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketOptionValidationError) ErrorName() string { return "SocketOptionValidationError" } // Error satisfies the builtin error interface func (e SocketOptionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketOption.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketOptionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketOptionValidationError{} // Validate checks the field values on SocketOptionsOverride with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketOptionsOverride) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketOptionsOverride with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketOptionsOverrideMultiError, or nil if none found. func (m *SocketOptionsOverride) ValidateAll() error { return m.validate(true) } func (m *SocketOptionsOverride) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketOptionsOverrideValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketOptionsOverrideValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketOptionsOverrideValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return SocketOptionsOverrideMultiError(errors) } return nil } // SocketOptionsOverrideMultiError is an error wrapping multiple validation // errors returned by SocketOptionsOverride.ValidateAll() if the designated // constraints aren't met. type SocketOptionsOverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketOptionsOverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketOptionsOverrideMultiError) AllErrors() []error { return m } // SocketOptionsOverrideValidationError is the validation error returned by // SocketOptionsOverride.Validate if the designated constraints aren't met. type SocketOptionsOverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketOptionsOverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketOptionsOverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketOptionsOverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketOptionsOverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketOptionsOverrideValidationError) ErrorName() string { return "SocketOptionsOverrideValidationError" } // Error satisfies the builtin error interface func (e SocketOptionsOverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketOptionsOverride.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketOptionsOverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketOptionsOverrideValidationError{} go-control-plane-0.12.0/envoy/config/core/v3/substitution_format_string.pb.go000077500000000000000000000470741454502223200273160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/substitution_format_string.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Optional configuration options to be used with json_format. type JsonFormatOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The output JSON string properties will be sorted. SortProperties bool `protobuf:"varint,1,opt,name=sort_properties,json=sortProperties,proto3" json:"sort_properties,omitempty"` } func (x *JsonFormatOptions) Reset() { *x = JsonFormatOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonFormatOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonFormatOptions) ProtoMessage() {} func (x *JsonFormatOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonFormatOptions.ProtoReflect.Descriptor instead. func (*JsonFormatOptions) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_substitution_format_string_proto_rawDescGZIP(), []int{0} } func (x *JsonFormatOptions) GetSortProperties() bool { if x != nil { return x.SortProperties } return false } // Configuration to use multiple :ref:`command operators ` // to generate a new string in either plain text or JSON format. // [#next-free-field: 8] type SubstitutionFormatString struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Format: // // *SubstitutionFormatString_TextFormat // *SubstitutionFormatString_JsonFormat // *SubstitutionFormatString_TextFormatSource Format isSubstitutionFormatString_Format `protobuf_oneof:"format"` // If set to true, when command operators are evaluated to null, // // - for “text_format“, the output of the empty operator is changed from “-“ to an // empty string, so that empty values are omitted entirely. // - for “json_format“ the keys with null values are omitted in the output structure. OmitEmptyValues bool `protobuf:"varint,3,opt,name=omit_empty_values,json=omitEmptyValues,proto3" json:"omit_empty_values,omitempty"` // Specify a “content_type“ field. // If this field is not set then “text/plain“ is used for “text_format“ and // “application/json“ is used for “json_format“. // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // content_type: "text/html; charset=UTF-8" ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // Specifies a collection of Formatter plugins that can be called from the access log configuration. // See the formatters extensions documentation for details. // [#extension-category: envoy.formatter] Formatters []*TypedExtensionConfig `protobuf:"bytes,6,rep,name=formatters,proto3" json:"formatters,omitempty"` // If json_format is used, the options will be applied to the output JSON string. JsonFormatOptions *JsonFormatOptions `protobuf:"bytes,7,opt,name=json_format_options,json=jsonFormatOptions,proto3" json:"json_format_options,omitempty"` } func (x *SubstitutionFormatString) Reset() { *x = SubstitutionFormatString{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubstitutionFormatString) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubstitutionFormatString) ProtoMessage() {} func (x *SubstitutionFormatString) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubstitutionFormatString.ProtoReflect.Descriptor instead. func (*SubstitutionFormatString) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_substitution_format_string_proto_rawDescGZIP(), []int{1} } func (m *SubstitutionFormatString) GetFormat() isSubstitutionFormatString_Format { if m != nil { return m.Format } return nil } // Deprecated: Marked as deprecated in envoy/config/core/v3/substitution_format_string.proto. func (x *SubstitutionFormatString) GetTextFormat() string { if x, ok := x.GetFormat().(*SubstitutionFormatString_TextFormat); ok { return x.TextFormat } return "" } func (x *SubstitutionFormatString) GetJsonFormat() *_struct.Struct { if x, ok := x.GetFormat().(*SubstitutionFormatString_JsonFormat); ok { return x.JsonFormat } return nil } func (x *SubstitutionFormatString) GetTextFormatSource() *DataSource { if x, ok := x.GetFormat().(*SubstitutionFormatString_TextFormatSource); ok { return x.TextFormatSource } return nil } func (x *SubstitutionFormatString) GetOmitEmptyValues() bool { if x != nil { return x.OmitEmptyValues } return false } func (x *SubstitutionFormatString) GetContentType() string { if x != nil { return x.ContentType } return "" } func (x *SubstitutionFormatString) GetFormatters() []*TypedExtensionConfig { if x != nil { return x.Formatters } return nil } func (x *SubstitutionFormatString) GetJsonFormatOptions() *JsonFormatOptions { if x != nil { return x.JsonFormatOptions } return nil } type isSubstitutionFormatString_Format interface { isSubstitutionFormatString_Format() } type SubstitutionFormatString_TextFormat struct { // Specify a format with command operators to form a text string. // Its details is described in :ref:`format string`. // // For example, setting “text_format“ like below, // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // text_format: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n" // // generates plain text similar to: // // .. code-block:: text // // upstream connect error:503:path=/foo // // Deprecated in favor of :ref:`text_format_source `. To migrate text format strings, use the :ref:`inline_string ` field. // // Deprecated: Marked as deprecated in envoy/config/core/v3/substitution_format_string.proto. TextFormat string `protobuf:"bytes,1,opt,name=text_format,json=textFormat,proto3,oneof"` } type SubstitutionFormatString_JsonFormat struct { // Specify a format with command operators to form a JSON string. // Its details is described in :ref:`format dictionary`. // Values are rendered as strings, numbers, or boolean values as appropriate. // Nested JSON objects may be produced by some command operators (e.g. FILTER_STATE or DYNAMIC_METADATA). // See the documentation for a specific command operator for details. // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // json_format: // status: "%RESPONSE_CODE%" // message: "%LOCAL_REPLY_BODY%" // // The following JSON object would be created: // // .. code-block:: json // // { // "status": 500, // "message": "My error message" // } JsonFormat *_struct.Struct `protobuf:"bytes,2,opt,name=json_format,json=jsonFormat,proto3,oneof"` } type SubstitutionFormatString_TextFormatSource struct { // Specify a format with command operators to form a text string. // Its details is described in :ref:`format string`. // // For example, setting “text_format“ like below, // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // text_format_source: // inline_string: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n" // // generates plain text similar to: // // .. code-block:: text // // upstream connect error:503:path=/foo TextFormatSource *DataSource `protobuf:"bytes,5,opt,name=text_format_source,json=textFormatSource,proto3,oneof"` } func (*SubstitutionFormatString_TextFormat) isSubstitutionFormatString_Format() {} func (*SubstitutionFormatString_JsonFormat) isSubstitutionFormatString_Format() {} func (*SubstitutionFormatString_TextFormatSource) isSubstitutionFormatString_Format() {} var File_envoy_config_core_v3_substitution_format_string_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_substitution_format_string_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xf2, 0x03, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x50, 0x0a, 0x12, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6d, 0x69, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x13, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x91, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x1d, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_substitution_format_string_proto_rawDescOnce sync.Once file_envoy_config_core_v3_substitution_format_string_proto_rawDescData = file_envoy_config_core_v3_substitution_format_string_proto_rawDesc ) func file_envoy_config_core_v3_substitution_format_string_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_substitution_format_string_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_substitution_format_string_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_substitution_format_string_proto_rawDescData) }) return file_envoy_config_core_v3_substitution_format_string_proto_rawDescData } var file_envoy_config_core_v3_substitution_format_string_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_core_v3_substitution_format_string_proto_goTypes = []interface{}{ (*JsonFormatOptions)(nil), // 0: envoy.config.core.v3.JsonFormatOptions (*SubstitutionFormatString)(nil), // 1: envoy.config.core.v3.SubstitutionFormatString (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*DataSource)(nil), // 3: envoy.config.core.v3.DataSource (*TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_core_v3_substitution_format_string_proto_depIdxs = []int32{ 2, // 0: envoy.config.core.v3.SubstitutionFormatString.json_format:type_name -> google.protobuf.Struct 3, // 1: envoy.config.core.v3.SubstitutionFormatString.text_format_source:type_name -> envoy.config.core.v3.DataSource 4, // 2: envoy.config.core.v3.SubstitutionFormatString.formatters:type_name -> envoy.config.core.v3.TypedExtensionConfig 0, // 3: envoy.config.core.v3.SubstitutionFormatString.json_format_options:type_name -> envoy.config.core.v3.JsonFormatOptions 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_substitution_format_string_proto_init() } func file_envoy_config_core_v3_substitution_format_string_proto_init() { if File_envoy_config_core_v3_substitution_format_string_proto != nil { return } file_envoy_config_core_v3_base_proto_init() file_envoy_config_core_v3_extension_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonFormatOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubstitutionFormatString); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_core_v3_substitution_format_string_proto_msgTypes[1].OneofWrappers = []interface{}{ (*SubstitutionFormatString_TextFormat)(nil), (*SubstitutionFormatString_JsonFormat)(nil), (*SubstitutionFormatString_TextFormatSource)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_substitution_format_string_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_substitution_format_string_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_substitution_format_string_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_substitution_format_string_proto_msgTypes, }.Build() File_envoy_config_core_v3_substitution_format_string_proto = out.File file_envoy_config_core_v3_substitution_format_string_proto_rawDesc = nil file_envoy_config_core_v3_substitution_format_string_proto_goTypes = nil file_envoy_config_core_v3_substitution_format_string_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/substitution_format_string.pb.validate.go000077500000000000000000000273631454502223200311050ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/substitution_format_string.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on JsonFormatOptions with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *JsonFormatOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonFormatOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JsonFormatOptionsMultiError, or nil if none found. func (m *JsonFormatOptions) ValidateAll() error { return m.validate(true) } func (m *JsonFormatOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SortProperties if len(errors) > 0 { return JsonFormatOptionsMultiError(errors) } return nil } // JsonFormatOptionsMultiError is an error wrapping multiple validation errors // returned by JsonFormatOptions.ValidateAll() if the designated constraints // aren't met. type JsonFormatOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonFormatOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonFormatOptionsMultiError) AllErrors() []error { return m } // JsonFormatOptionsValidationError is the validation error returned by // JsonFormatOptions.Validate if the designated constraints aren't met. type JsonFormatOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonFormatOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonFormatOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonFormatOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonFormatOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonFormatOptionsValidationError) ErrorName() string { return "JsonFormatOptionsValidationError" } // Error satisfies the builtin error interface func (e JsonFormatOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonFormatOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonFormatOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonFormatOptionsValidationError{} // Validate checks the field values on SubstitutionFormatString with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SubstitutionFormatString) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubstitutionFormatString with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubstitutionFormatStringMultiError, or nil if none found. func (m *SubstitutionFormatString) ValidateAll() error { return m.validate(true) } func (m *SubstitutionFormatString) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for OmitEmptyValues if !_SubstitutionFormatString_ContentType_Pattern.MatchString(m.GetContentType()) { err := SubstitutionFormatStringValidationError{ field: "ContentType", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFormatters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: fmt.Sprintf("Formatters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: fmt.Sprintf("Formatters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubstitutionFormatStringValidationError{ field: fmt.Sprintf("Formatters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetJsonFormatOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "JsonFormatOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "JsonFormatOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJsonFormatOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubstitutionFormatStringValidationError{ field: "JsonFormatOptions", reason: "embedded message failed validation", cause: err, } } } oneofFormatPresent := false switch v := m.Format.(type) { case *SubstitutionFormatString_TextFormat: if v == nil { err := SubstitutionFormatStringValidationError{ field: "Format", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFormatPresent = true // no validation rules for TextFormat case *SubstitutionFormatString_JsonFormat: if v == nil { err := SubstitutionFormatStringValidationError{ field: "Format", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFormatPresent = true if m.GetJsonFormat() == nil { err := SubstitutionFormatStringValidationError{ field: "JsonFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubstitutionFormatStringValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, } } } case *SubstitutionFormatString_TextFormatSource: if v == nil { err := SubstitutionFormatStringValidationError{ field: "Format", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFormatPresent = true if all { switch v := interface{}(m.GetTextFormatSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "TextFormatSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubstitutionFormatStringValidationError{ field: "TextFormatSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTextFormatSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubstitutionFormatStringValidationError{ field: "TextFormatSource", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFormatPresent { err := SubstitutionFormatStringValidationError{ field: "Format", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SubstitutionFormatStringMultiError(errors) } return nil } // SubstitutionFormatStringMultiError is an error wrapping multiple validation // errors returned by SubstitutionFormatString.ValidateAll() if the designated // constraints aren't met. type SubstitutionFormatStringMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubstitutionFormatStringMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubstitutionFormatStringMultiError) AllErrors() []error { return m } // SubstitutionFormatStringValidationError is the validation error returned by // SubstitutionFormatString.Validate if the designated constraints aren't met. type SubstitutionFormatStringValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubstitutionFormatStringValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubstitutionFormatStringValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubstitutionFormatStringValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubstitutionFormatStringValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubstitutionFormatStringValidationError) ErrorName() string { return "SubstitutionFormatStringValidationError" } // Error satisfies the builtin error interface func (e SubstitutionFormatStringValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubstitutionFormatString.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubstitutionFormatStringValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubstitutionFormatStringValidationError{} var _SubstitutionFormatString_ContentType_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/config/core/v3/udp_socket_config.pb.go000077500000000000000000000213021454502223200252530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/core/v3/udp_socket_config.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Generic UDP socket configuration. type UdpSocketConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum size of received UDP datagrams. Using a larger size will cause Envoy to allocate // more memory per socket. Received datagrams above this size will be dropped. If not set // defaults to 1500 bytes. MaxRxDatagramSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=max_rx_datagram_size,json=maxRxDatagramSize,proto3" json:"max_rx_datagram_size,omitempty"` // Configures whether Generic Receive Offload (GRO) // _ is preferred when reading from the // UDP socket. The default is context dependent and is documented where UdpSocketConfig is used. // This option affects performance but not functionality. If GRO is not supported by the operating // system, non-GRO receive will be used. PreferGro *wrappers.BoolValue `protobuf:"bytes,2,opt,name=prefer_gro,json=preferGro,proto3" json:"prefer_gro,omitempty"` } func (x *UdpSocketConfig) Reset() { *x = UdpSocketConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_core_v3_udp_socket_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpSocketConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpSocketConfig) ProtoMessage() {} func (x *UdpSocketConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_core_v3_udp_socket_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpSocketConfig.ProtoReflect.Descriptor instead. func (*UdpSocketConfig) Descriptor() ([]byte, []int) { return file_envoy_config_core_v3_udp_socket_config_proto_rawDescGZIP(), []int{0} } func (x *UdpSocketConfig) GetMaxRxDatagramSize() *wrappers.UInt64Value { if x != nil { return x.MaxRxDatagramSize } return nil } func (x *UdpSocketConfig) GetPreferGro() *wrappers.BoolValue { if x != nil { return x.PreferGro } return nil } var File_envoy_config_core_v3_udp_socket_config_proto protoreflect.FileDescriptor var file_envoy_config_core_v3_udp_socket_config_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x55, 0x64, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x32, 0x06, 0x10, 0x80, 0x80, 0x04, 0x20, 0x00, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x52, 0x78, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x42, 0x88, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x55, 0x64, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_core_v3_udp_socket_config_proto_rawDescOnce sync.Once file_envoy_config_core_v3_udp_socket_config_proto_rawDescData = file_envoy_config_core_v3_udp_socket_config_proto_rawDesc ) func file_envoy_config_core_v3_udp_socket_config_proto_rawDescGZIP() []byte { file_envoy_config_core_v3_udp_socket_config_proto_rawDescOnce.Do(func() { file_envoy_config_core_v3_udp_socket_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_udp_socket_config_proto_rawDescData) }) return file_envoy_config_core_v3_udp_socket_config_proto_rawDescData } var file_envoy_config_core_v3_udp_socket_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_udp_socket_config_proto_goTypes = []interface{}{ (*UdpSocketConfig)(nil), // 0: envoy.config.core.v3.UdpSocketConfig (*wrappers.UInt64Value)(nil), // 1: google.protobuf.UInt64Value (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue } var file_envoy_config_core_v3_udp_socket_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.UdpSocketConfig.max_rx_datagram_size:type_name -> google.protobuf.UInt64Value 2, // 1: envoy.config.core.v3.UdpSocketConfig.prefer_gro:type_name -> google.protobuf.BoolValue 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_udp_socket_config_proto_init() } func file_envoy_config_core_v3_udp_socket_config_proto_init() { if File_envoy_config_core_v3_udp_socket_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_core_v3_udp_socket_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpSocketConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_core_v3_udp_socket_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_core_v3_udp_socket_config_proto_goTypes, DependencyIndexes: file_envoy_config_core_v3_udp_socket_config_proto_depIdxs, MessageInfos: file_envoy_config_core_v3_udp_socket_config_proto_msgTypes, }.Build() File_envoy_config_core_v3_udp_socket_config_proto = out.File file_envoy_config_core_v3_udp_socket_config_proto_rawDesc = nil file_envoy_config_core_v3_udp_socket_config_proto_goTypes = nil file_envoy_config_core_v3_udp_socket_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/core/v3/udp_socket_config.pb.validate.go000077500000000000000000000106301454502223200270450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/core/v3/udp_socket_config.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpSocketConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *UdpSocketConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpSocketConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpSocketConfigMultiError, or nil if none found. func (m *UdpSocketConfig) ValidateAll() error { return m.validate(true) } func (m *UdpSocketConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxRxDatagramSize(); wrapper != nil { if val := wrapper.GetValue(); val <= 0 || val >= 65536 { err := UdpSocketConfigValidationError{ field: "MaxRxDatagramSize", reason: "value must be inside range (0, 65536)", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetPreferGro()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpSocketConfigValidationError{ field: "PreferGro", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpSocketConfigValidationError{ field: "PreferGro", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPreferGro()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpSocketConfigValidationError{ field: "PreferGro", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UdpSocketConfigMultiError(errors) } return nil } // UdpSocketConfigMultiError is an error wrapping multiple validation errors // returned by UdpSocketConfig.ValidateAll() if the designated constraints // aren't met. type UdpSocketConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpSocketConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpSocketConfigMultiError) AllErrors() []error { return m } // UdpSocketConfigValidationError is the validation error returned by // UdpSocketConfig.Validate if the designated constraints aren't met. type UdpSocketConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpSocketConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpSocketConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpSocketConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpSocketConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpSocketConfigValidationError) ErrorName() string { return "UdpSocketConfigValidationError" } // Error satisfies the builtin error interface func (e UdpSocketConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpSocketConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpSocketConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpSocketConfigValidationError{} go-control-plane-0.12.0/envoy/config/endpoint/000077500000000000000000000000001454502223200211765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/endpoint/v3/000077500000000000000000000000001454502223200215265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/endpoint/v3/endpoint.pb.go000077500000000000000000000622541454502223200243110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/endpoint/v3/endpoint.proto package endpointv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Each route from RDS will map to a single cluster or traffic split across // clusters using weights expressed in the RDS WeightedCluster. // // With EDS, each cluster is treated independently from a LB perspective, with // LB taking place between the Localities within a cluster and at a finer // granularity between the hosts within a locality. The percentage of traffic // for each endpoint is determined by both its load_balancing_weight, and the // load_balancing_weight of its locality. First, a locality will be selected, // then an endpoint within that locality will be chose based on its weight. // [#next-free-field: 6] type ClusterLoadAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the cluster. This will be the :ref:`service_name // ` value if specified // in the cluster :ref:`EdsClusterConfig // `. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // List of endpoints to load balance to. Endpoints []*LocalityLbEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // Map of named endpoints that can be referenced in LocalityLbEndpoints. // [#not-implemented-hide:] NamedEndpoints map[string]*Endpoint `protobuf:"bytes,5,rep,name=named_endpoints,json=namedEndpoints,proto3" json:"named_endpoints,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Load balancing policy settings. Policy *ClusterLoadAssignment_Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"` } func (x *ClusterLoadAssignment) Reset() { *x = ClusterLoadAssignment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment) ProtoMessage() {} func (x *ClusterLoadAssignment) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_proto_rawDescGZIP(), []int{0} } func (x *ClusterLoadAssignment) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterLoadAssignment) GetEndpoints() []*LocalityLbEndpoints { if x != nil { return x.Endpoints } return nil } func (x *ClusterLoadAssignment) GetNamedEndpoints() map[string]*Endpoint { if x != nil { return x.NamedEndpoints } return nil } func (x *ClusterLoadAssignment) GetPolicy() *ClusterLoadAssignment_Policy { if x != nil { return x.Policy } return nil } // Load balancing policy settings. // [#next-free-field: 7] type ClusterLoadAssignment_Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Action to trim the overall incoming traffic to protect the upstream // hosts. This action allows protection in case the hosts are unable to // recover from an outage, or unable to autoscale or unable to handle // incoming traffic volume for any reason. // // At the client each category is applied one after the other to generate // the 'actual' drop percentage on all outgoing traffic. For example: // // .. code-block:: json // // { "drop_overloads": [ // { "category": "throttle", "drop_percentage": 60 } // { "category": "lb", "drop_percentage": 50 } // ]} // // The actual drop percentages applied to the traffic at the clients will be // // "throttle"_drop = 60% // "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%. // actual_outgoing_load = 20% // remaining after applying all categories. // // Envoy supports only one element and will NACK if more than one element is present. // Other xDS-capable data planes will not necessarily have this limitation. DropOverloads []*ClusterLoadAssignment_Policy_DropOverload `protobuf:"bytes,2,rep,name=drop_overloads,json=dropOverloads,proto3" json:"drop_overloads,omitempty"` // Priority levels and localities are considered overprovisioned with this // factor (in percentage). This means that we don't consider a priority // level or locality unhealthy until the fraction of healthy hosts // multiplied by the overprovisioning factor drops below 100. // With the default value 140(1.4), Envoy doesn't consider a priority level // or a locality unhealthy until their percentage of healthy hosts drops // below 72%. For example: // // .. code-block:: json // // { "overprovisioning_factor": 100 } // // Read more at :ref:`priority levels ` and // :ref:`localities `. OverprovisioningFactor *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=overprovisioning_factor,json=overprovisioningFactor,proto3" json:"overprovisioning_factor,omitempty"` // The max time until which the endpoints from this assignment can be used. // If no new assignments are received before this time expires the endpoints // are considered stale and should be marked unhealthy. // Defaults to 0 which means endpoints never go stale. EndpointStaleAfter *duration.Duration `protobuf:"bytes,4,opt,name=endpoint_stale_after,json=endpointStaleAfter,proto3" json:"endpoint_stale_after,omitempty"` // If true, use the :ref:`load balancing weight // ` of healthy and unhealthy // hosts to determine the health of the priority level. If false, use the number of healthy and unhealthy hosts // to determine the health of the priority level, or in other words assume each host has a weight of 1 for // this calculation. // // Note: this is not currently implemented for // :ref:`locality weighted load balancing `. WeightedPriorityHealth bool `protobuf:"varint,6,opt,name=weighted_priority_health,json=weightedPriorityHealth,proto3" json:"weighted_priority_health,omitempty"` } func (x *ClusterLoadAssignment_Policy) Reset() { *x = ClusterLoadAssignment_Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment_Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment_Policy) ProtoMessage() {} func (x *ClusterLoadAssignment_Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment_Policy.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment_Policy) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_proto_rawDescGZIP(), []int{0, 0} } func (x *ClusterLoadAssignment_Policy) GetDropOverloads() []*ClusterLoadAssignment_Policy_DropOverload { if x != nil { return x.DropOverloads } return nil } func (x *ClusterLoadAssignment_Policy) GetOverprovisioningFactor() *wrappers.UInt32Value { if x != nil { return x.OverprovisioningFactor } return nil } func (x *ClusterLoadAssignment_Policy) GetEndpointStaleAfter() *duration.Duration { if x != nil { return x.EndpointStaleAfter } return nil } func (x *ClusterLoadAssignment_Policy) GetWeightedPriorityHealth() bool { if x != nil { return x.WeightedPriorityHealth } return false } type ClusterLoadAssignment_Policy_DropOverload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier for the policy specifying the drop. Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // Percentage of traffic that should be dropped for the category. DropPercentage *v3.FractionalPercent `protobuf:"bytes,2,opt,name=drop_percentage,json=dropPercentage,proto3" json:"drop_percentage,omitempty"` } func (x *ClusterLoadAssignment_Policy_DropOverload) Reset() { *x = ClusterLoadAssignment_Policy_DropOverload{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterLoadAssignment_Policy_DropOverload) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterLoadAssignment_Policy_DropOverload) ProtoMessage() {} func (x *ClusterLoadAssignment_Policy_DropOverload) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterLoadAssignment_Policy_DropOverload.ProtoReflect.Descriptor instead. func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *ClusterLoadAssignment_Policy_DropOverload) GetCategory() string { if x != nil { return x.Category } return "" } func (x *ClusterLoadAssignment_Policy_DropOverload) GetDropPercentage() *v3.FractionalPercent { if x != nil { return x.DropPercentage } return nil } var File_envoy_config_endpoint_v3_endpoint_proto protoreflect.FileDescriptor var file_envoy_config_endpoint_v3_endpoint_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x08, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xfd, 0x04, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x5e, 0x0a, 0x17, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x1a, 0xbd, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x1a, 0x65, 0x0a, 0x13, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_endpoint_v3_endpoint_proto_rawDescOnce sync.Once file_envoy_config_endpoint_v3_endpoint_proto_rawDescData = file_envoy_config_endpoint_v3_endpoint_proto_rawDesc ) func file_envoy_config_endpoint_v3_endpoint_proto_rawDescGZIP() []byte { file_envoy_config_endpoint_v3_endpoint_proto_rawDescOnce.Do(func() { file_envoy_config_endpoint_v3_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_endpoint_v3_endpoint_proto_rawDescData) }) return file_envoy_config_endpoint_v3_endpoint_proto_rawDescData } var file_envoy_config_endpoint_v3_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_config_endpoint_v3_endpoint_proto_goTypes = []interface{}{ (*ClusterLoadAssignment)(nil), // 0: envoy.config.endpoint.v3.ClusterLoadAssignment (*ClusterLoadAssignment_Policy)(nil), // 1: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy nil, // 2: envoy.config.endpoint.v3.ClusterLoadAssignment.NamedEndpointsEntry (*ClusterLoadAssignment_Policy_DropOverload)(nil), // 3: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.DropOverload (*LocalityLbEndpoints)(nil), // 4: envoy.config.endpoint.v3.LocalityLbEndpoints (*wrappers.UInt32Value)(nil), // 5: google.protobuf.UInt32Value (*duration.Duration)(nil), // 6: google.protobuf.Duration (*Endpoint)(nil), // 7: envoy.config.endpoint.v3.Endpoint (*v3.FractionalPercent)(nil), // 8: envoy.type.v3.FractionalPercent } var file_envoy_config_endpoint_v3_endpoint_proto_depIdxs = []int32{ 4, // 0: envoy.config.endpoint.v3.ClusterLoadAssignment.endpoints:type_name -> envoy.config.endpoint.v3.LocalityLbEndpoints 2, // 1: envoy.config.endpoint.v3.ClusterLoadAssignment.named_endpoints:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment.NamedEndpointsEntry 1, // 2: envoy.config.endpoint.v3.ClusterLoadAssignment.policy:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment.Policy 3, // 3: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.drop_overloads:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.DropOverload 5, // 4: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.overprovisioning_factor:type_name -> google.protobuf.UInt32Value 6, // 5: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.endpoint_stale_after:type_name -> google.protobuf.Duration 7, // 6: envoy.config.endpoint.v3.ClusterLoadAssignment.NamedEndpointsEntry.value:type_name -> envoy.config.endpoint.v3.Endpoint 8, // 7: envoy.config.endpoint.v3.ClusterLoadAssignment.Policy.DropOverload.drop_percentage:type_name -> envoy.type.v3.FractionalPercent 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_config_endpoint_v3_endpoint_proto_init() } func file_envoy_config_endpoint_v3_endpoint_proto_init() { if File_envoy_config_endpoint_v3_endpoint_proto != nil { return } file_envoy_config_endpoint_v3_endpoint_components_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment_Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterLoadAssignment_Policy_DropOverload); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_endpoint_v3_endpoint_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_endpoint_v3_endpoint_proto_goTypes, DependencyIndexes: file_envoy_config_endpoint_v3_endpoint_proto_depIdxs, MessageInfos: file_envoy_config_endpoint_v3_endpoint_proto_msgTypes, }.Build() File_envoy_config_endpoint_v3_endpoint_proto = out.File file_envoy_config_endpoint_v3_endpoint_proto_rawDesc = nil file_envoy_config_endpoint_v3_endpoint_proto_goTypes = nil file_envoy_config_endpoint_v3_endpoint_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/endpoint/v3/endpoint.pb.validate.go000077500000000000000000000404411454502223200260730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/endpoint/v3/endpoint.proto package endpointv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterLoadAssignment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterLoadAssignment with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterLoadAssignmentMultiError, or nil if none found. func (m *ClusterLoadAssignment) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := ClusterLoadAssignmentValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } { sorted_keys := make([]string, len(m.GetNamedEndpoints())) i := 0 for key := range m.GetNamedEndpoints() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetNamedEndpoints()[key] _ = val // no validation rules for NamedEndpoints[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: fmt.Sprintf("NamedEndpoints[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignmentValidationError{ field: "Policy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterLoadAssignmentMultiError(errors) } return nil } // ClusterLoadAssignmentMultiError is an error wrapping multiple validation // errors returned by ClusterLoadAssignment.ValidateAll() if the designated // constraints aren't met. type ClusterLoadAssignmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignmentMultiError) AllErrors() []error { return m } // ClusterLoadAssignmentValidationError is the validation error returned by // ClusterLoadAssignment.Validate if the designated constraints aren't met. type ClusterLoadAssignmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignmentValidationError) ErrorName() string { return "ClusterLoadAssignmentValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignmentValidationError{} // Validate checks the field values on ClusterLoadAssignment_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment_Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterLoadAssignment_Policy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterLoadAssignment_PolicyMultiError, or nil if none found. func (m *ClusterLoadAssignment_Policy) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment_Policy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetDropOverloads() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignment_PolicyValidationError{ field: fmt.Sprintf("DropOverloads[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetOverprovisioningFactor(); wrapper != nil { if wrapper.GetValue() <= 0 { err := ClusterLoadAssignment_PolicyValidationError{ field: "OverprovisioningFactor", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if d := m.GetEndpointStaleAfter(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ClusterLoadAssignment_PolicyValidationError{ field: "EndpointStaleAfter", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := ClusterLoadAssignment_PolicyValidationError{ field: "EndpointStaleAfter", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for WeightedPriorityHealth if len(errors) > 0 { return ClusterLoadAssignment_PolicyMultiError(errors) } return nil } // ClusterLoadAssignment_PolicyMultiError is an error wrapping multiple // validation errors returned by ClusterLoadAssignment_Policy.ValidateAll() if // the designated constraints aren't met. type ClusterLoadAssignment_PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignment_PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignment_PolicyMultiError) AllErrors() []error { return m } // ClusterLoadAssignment_PolicyValidationError is the validation error returned // by ClusterLoadAssignment_Policy.Validate if the designated constraints // aren't met. type ClusterLoadAssignment_PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignment_PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignment_PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignment_PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignment_PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignment_PolicyValidationError) ErrorName() string { return "ClusterLoadAssignment_PolicyValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignment_PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment_Policy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignment_PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignment_PolicyValidationError{} // Validate checks the field values on // ClusterLoadAssignment_Policy_DropOverload with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterLoadAssignment_Policy_DropOverload) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ClusterLoadAssignment_Policy_DropOverload with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ClusterLoadAssignment_Policy_DropOverloadMultiError, or nil if none found. func (m *ClusterLoadAssignment_Policy_DropOverload) ValidateAll() error { return m.validate(true) } func (m *ClusterLoadAssignment_Policy_DropOverload) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCategory()) < 1 { err := ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "Category", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDropPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDropPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterLoadAssignment_Policy_DropOverloadValidationError{ field: "DropPercentage", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterLoadAssignment_Policy_DropOverloadMultiError(errors) } return nil } // ClusterLoadAssignment_Policy_DropOverloadMultiError is an error wrapping // multiple validation errors returned by // ClusterLoadAssignment_Policy_DropOverload.ValidateAll() if the designated // constraints aren't met. type ClusterLoadAssignment_Policy_DropOverloadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterLoadAssignment_Policy_DropOverloadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterLoadAssignment_Policy_DropOverloadMultiError) AllErrors() []error { return m } // ClusterLoadAssignment_Policy_DropOverloadValidationError is the validation // error returned by ClusterLoadAssignment_Policy_DropOverload.Validate if the // designated constraints aren't met. type ClusterLoadAssignment_Policy_DropOverloadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) ErrorName() string { return "ClusterLoadAssignment_Policy_DropOverloadValidationError" } // Error satisfies the builtin error interface func (e ClusterLoadAssignment_Policy_DropOverloadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterLoadAssignment_Policy_DropOverload.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterLoadAssignment_Policy_DropOverloadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterLoadAssignment_Policy_DropOverloadValidationError{} go-control-plane-0.12.0/envoy/config/endpoint/v3/endpoint_components.pb.go000077500000000000000000001323541454502223200265550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/endpoint/v3/endpoint_components.proto package endpointv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Upstream host identifier. type Endpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream host address. // // .. attention:: // // The form of host address depends on the given cluster type. For STATIC or EDS, // it is expected to be a direct IP address (or something resolvable by the // specified :ref:`resolver ` // in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname, // and will be resolved via DNS. Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // The optional health check configuration is used as configuration for the // health checker to contact the health checked host. // // .. attention:: // // This takes into effect only for upstream clusters with // :ref:`active health checking ` enabled. HealthCheckConfig *Endpoint_HealthCheckConfig `protobuf:"bytes,2,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"` // The hostname associated with this endpoint. This hostname is not used for routing or address // resolution. If provided, it will be associated with the endpoint, and can be used for features // that require a hostname, like // :ref:`auto_host_rewrite `. Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` // An ordered list of addresses that together with “address“ comprise the // list of addresses for an endpoint. The address given in the “address“ is // prepended to this list. It is assumed that the list must already be // sorted by preference order of the addresses. This will only be supported // for STATIC and EDS clusters. AdditionalAddresses []*Endpoint_AdditionalAddress `protobuf:"bytes,4,rep,name=additional_addresses,json=additionalAddresses,proto3" json:"additional_addresses,omitempty"` } func (x *Endpoint) Reset() { *x = Endpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Endpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*Endpoint) ProtoMessage() {} func (x *Endpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. func (*Endpoint) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{0} } func (x *Endpoint) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *Endpoint) GetHealthCheckConfig() *Endpoint_HealthCheckConfig { if x != nil { return x.HealthCheckConfig } return nil } func (x *Endpoint) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *Endpoint) GetAdditionalAddresses() []*Endpoint_AdditionalAddress { if x != nil { return x.AdditionalAddresses } return nil } // An Endpoint that Envoy can route traffic to. // [#next-free-field: 6] type LbEndpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream host identifier or a named reference. // // Types that are assignable to HostIdentifier: // // *LbEndpoint_Endpoint // *LbEndpoint_EndpointName HostIdentifier isLbEndpoint_HostIdentifier `protobuf_oneof:"host_identifier"` // Optional health status when known and supplied by EDS server. HealthStatus v3.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.config.core.v3.HealthStatus" json:"health_status,omitempty"` // The endpoint metadata specifies values that may be used by the load // balancer to select endpoints in a cluster for a given request. The filter // name should be specified as “envoy.lb“. An example boolean key-value pair // is “canary“, providing the optional canary status of the upstream host. // This may be matched against in a route's // :ref:`RouteAction ` metadata_match field // to subset the endpoints considered in cluster load balancing. Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // The optional load balancing weight of the upstream host; at least 1. // Envoy uses the load balancing weight in some of the built in load // balancers. The load balancing weight for an endpoint is divided by the sum // of the weights of all endpoints in the endpoint's locality to produce a // percentage of traffic for the endpoint. This percentage is then further // weighted by the endpoint's locality's load balancing weight from // LocalityLbEndpoints. If unspecified, will be treated as 1. The sum // of the weights of all endpoints in the endpoint's locality must not // exceed uint32_t maximal value (4294967295). LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"` } func (x *LbEndpoint) Reset() { *x = LbEndpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LbEndpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*LbEndpoint) ProtoMessage() {} func (x *LbEndpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LbEndpoint.ProtoReflect.Descriptor instead. func (*LbEndpoint) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{1} } func (m *LbEndpoint) GetHostIdentifier() isLbEndpoint_HostIdentifier { if m != nil { return m.HostIdentifier } return nil } func (x *LbEndpoint) GetEndpoint() *Endpoint { if x, ok := x.GetHostIdentifier().(*LbEndpoint_Endpoint); ok { return x.Endpoint } return nil } func (x *LbEndpoint) GetEndpointName() string { if x, ok := x.GetHostIdentifier().(*LbEndpoint_EndpointName); ok { return x.EndpointName } return "" } func (x *LbEndpoint) GetHealthStatus() v3.HealthStatus { if x != nil { return x.HealthStatus } return v3.HealthStatus(0) } func (x *LbEndpoint) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } func (x *LbEndpoint) GetLoadBalancingWeight() *wrappers.UInt32Value { if x != nil { return x.LoadBalancingWeight } return nil } type isLbEndpoint_HostIdentifier interface { isLbEndpoint_HostIdentifier() } type LbEndpoint_Endpoint struct { Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3,oneof"` } type LbEndpoint_EndpointName struct { // [#not-implemented-hide:] EndpointName string `protobuf:"bytes,5,opt,name=endpoint_name,json=endpointName,proto3,oneof"` } func (*LbEndpoint_Endpoint) isLbEndpoint_HostIdentifier() {} func (*LbEndpoint_EndpointName) isLbEndpoint_HostIdentifier() {} // [#not-implemented-hide:] // A configuration for a LEDS collection. type LedsClusterLocalityConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for the source of LEDS updates for a Locality. LedsConfig *v3.ConfigSource `protobuf:"bytes,1,opt,name=leds_config,json=ledsConfig,proto3" json:"leds_config,omitempty"` // The xDS transport protocol glob collection resource name. // The service is only supported in delta xDS (incremental) mode. LedsCollectionName string `protobuf:"bytes,2,opt,name=leds_collection_name,json=ledsCollectionName,proto3" json:"leds_collection_name,omitempty"` } func (x *LedsClusterLocalityConfig) Reset() { *x = LedsClusterLocalityConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LedsClusterLocalityConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LedsClusterLocalityConfig) ProtoMessage() {} func (x *LedsClusterLocalityConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LedsClusterLocalityConfig.ProtoReflect.Descriptor instead. func (*LedsClusterLocalityConfig) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{2} } func (x *LedsClusterLocalityConfig) GetLedsConfig() *v3.ConfigSource { if x != nil { return x.LedsConfig } return nil } func (x *LedsClusterLocalityConfig) GetLedsCollectionName() string { if x != nil { return x.LedsCollectionName } return "" } // A group of endpoints belonging to a Locality. // One can have multiple LocalityLbEndpoints for a locality, but only if // they have different priorities. // [#next-free-field: 9] type LocalityLbEndpoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifies location of where the upstream hosts run. Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` // The group of endpoints belonging to the locality specified. // [#comment:TODO(adisuissa): Once LEDS is implemented this field needs to be // deprecated and replaced by “load_balancer_endpoints“.] LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"` // [#not-implemented-hide:] // // Types that are assignable to LbConfig: // // *LocalityLbEndpoints_LoadBalancerEndpoints // *LocalityLbEndpoints_LedsClusterLocalityConfig LbConfig isLocalityLbEndpoints_LbConfig `protobuf_oneof:"lb_config"` // Optional: Per priority/region/zone/sub_zone weight; at least 1. The load // balancing weight for a locality is divided by the sum of the weights of all // localities at the same priority level to produce the effective percentage // of traffic for the locality. The sum of the weights of all localities at // the same priority level must not exceed uint32_t maximal value (4294967295). // // Locality weights are only considered when :ref:`locality weighted load // balancing ` is // configured. These weights are ignored otherwise. If no weights are // specified when locality weighted load balancing is enabled, the locality is // assigned no load. LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"` // Optional: the priority for this LocalityLbEndpoints. If unspecified this will // default to the highest priority (0). // // Under usual circumstances, Envoy will only select endpoints for the highest // priority (0). In the event that enough endpoints for a particular priority are // unavailable/unhealthy, Envoy will fail over to selecting endpoints for the // next highest priority group. Read more at :ref:`priority levels `. // // Priorities should range from 0 (highest) to N (lowest) without skipping. Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` // Optional: Per locality proximity value which indicates how close this // locality is from the source locality. This value only provides ordering // information (lower the value, closer it is to the source locality). // This will be consumed by load balancing schemes that need proximity order // to determine where to route the requests. // [#not-implemented-hide:] Proximity *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=proximity,proto3" json:"proximity,omitempty"` } func (x *LocalityLbEndpoints) Reset() { *x = LocalityLbEndpoints{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbEndpoints) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbEndpoints) ProtoMessage() {} func (x *LocalityLbEndpoints) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbEndpoints.ProtoReflect.Descriptor instead. func (*LocalityLbEndpoints) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{3} } func (x *LocalityLbEndpoints) GetLocality() *v3.Locality { if x != nil { return x.Locality } return nil } func (x *LocalityLbEndpoints) GetLbEndpoints() []*LbEndpoint { if x != nil { return x.LbEndpoints } return nil } func (m *LocalityLbEndpoints) GetLbConfig() isLocalityLbEndpoints_LbConfig { if m != nil { return m.LbConfig } return nil } func (x *LocalityLbEndpoints) GetLoadBalancerEndpoints() *LocalityLbEndpoints_LbEndpointList { if x, ok := x.GetLbConfig().(*LocalityLbEndpoints_LoadBalancerEndpoints); ok { return x.LoadBalancerEndpoints } return nil } func (x *LocalityLbEndpoints) GetLedsClusterLocalityConfig() *LedsClusterLocalityConfig { if x, ok := x.GetLbConfig().(*LocalityLbEndpoints_LedsClusterLocalityConfig); ok { return x.LedsClusterLocalityConfig } return nil } func (x *LocalityLbEndpoints) GetLoadBalancingWeight() *wrappers.UInt32Value { if x != nil { return x.LoadBalancingWeight } return nil } func (x *LocalityLbEndpoints) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *LocalityLbEndpoints) GetProximity() *wrappers.UInt32Value { if x != nil { return x.Proximity } return nil } type isLocalityLbEndpoints_LbConfig interface { isLocalityLbEndpoints_LbConfig() } type LocalityLbEndpoints_LoadBalancerEndpoints struct { // The group of endpoints belonging to the locality. // [#comment:TODO(adisuissa): Once LEDS is implemented the “lb_endpoints“ field // needs to be deprecated.] LoadBalancerEndpoints *LocalityLbEndpoints_LbEndpointList `protobuf:"bytes,7,opt,name=load_balancer_endpoints,json=loadBalancerEndpoints,proto3,oneof"` } type LocalityLbEndpoints_LedsClusterLocalityConfig struct { // LEDS Configuration for the current locality. LedsClusterLocalityConfig *LedsClusterLocalityConfig `protobuf:"bytes,8,opt,name=leds_cluster_locality_config,json=ledsClusterLocalityConfig,proto3,oneof"` } func (*LocalityLbEndpoints_LoadBalancerEndpoints) isLocalityLbEndpoints_LbConfig() {} func (*LocalityLbEndpoints_LedsClusterLocalityConfig) isLocalityLbEndpoints_LbConfig() {} // The optional health check configuration. type Endpoint_HealthCheckConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional alternative health check port value. // // By default the health check address port of an upstream host is the same // as the host's serving address port. This provides an alternative health // check port. Setting this with a non-zero value allows an upstream host // to have different health check address port. PortValue uint32 `protobuf:"varint,1,opt,name=port_value,json=portValue,proto3" json:"port_value,omitempty"` // By default, the host header for L7 health checks is controlled by cluster level configuration // (see: :ref:`host ` and // :ref:`authority `). Setting this // to a non-empty value allows overriding the cluster level configuration for a specific // endpoint. Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"` // Optional alternative health check host address. // // .. attention:: // // The form of the health check host address is expected to be a direct IP address. Address *v3.Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // Optional flag to control if perform active health check for this endpoint. // Active health check is enabled by default if there is a health checker. DisableActiveHealthCheck bool `protobuf:"varint,4,opt,name=disable_active_health_check,json=disableActiveHealthCheck,proto3" json:"disable_active_health_check,omitempty"` } func (x *Endpoint_HealthCheckConfig) Reset() { *x = Endpoint_HealthCheckConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Endpoint_HealthCheckConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Endpoint_HealthCheckConfig) ProtoMessage() {} func (x *Endpoint_HealthCheckConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Endpoint_HealthCheckConfig.ProtoReflect.Descriptor instead. func (*Endpoint_HealthCheckConfig) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{0, 0} } func (x *Endpoint_HealthCheckConfig) GetPortValue() uint32 { if x != nil { return x.PortValue } return 0 } func (x *Endpoint_HealthCheckConfig) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *Endpoint_HealthCheckConfig) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *Endpoint_HealthCheckConfig) GetDisableActiveHealthCheck() bool { if x != nil { return x.DisableActiveHealthCheck } return false } type Endpoint_AdditionalAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Additional address that is associated with the endpoint. Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } func (x *Endpoint_AdditionalAddress) Reset() { *x = Endpoint_AdditionalAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Endpoint_AdditionalAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*Endpoint_AdditionalAddress) ProtoMessage() {} func (x *Endpoint_AdditionalAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Endpoint_AdditionalAddress.ProtoReflect.Descriptor instead. func (*Endpoint_AdditionalAddress) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{0, 1} } func (x *Endpoint_AdditionalAddress) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } // [#not-implemented-hide:] // A list of endpoints of a specific locality. type LocalityLbEndpoints_LbEndpointList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LbEndpoints []*LbEndpoint `protobuf:"bytes,1,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"` } func (x *LocalityLbEndpoints_LbEndpointList) Reset() { *x = LocalityLbEndpoints_LbEndpointList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbEndpoints_LbEndpointList) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbEndpoints_LbEndpointList) ProtoMessage() {} func (x *LocalityLbEndpoints_LbEndpointList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbEndpoints_LbEndpointList.ProtoReflect.Descriptor instead. func (*LocalityLbEndpoints_LbEndpointList) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{3, 0} } func (x *LocalityLbEndpoints_LbEndpointList) GetLbEndpoints() []*LbEndpoint { if x != nil { return x.LbEndpoints } return nil } var File_envoy_config_endpoint_v3_endpoint_components_proto protoreflect.FileDescriptor var file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x05, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x64, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x8a, 0x02, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x4c, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x0a, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x19, 0x4c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0b, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe1, 0x05, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x17, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x1c, 0x6c, 0x65, 0x64, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x6c, 0x65, 0x64, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x1a, 0x59, 0x0a, 0x0e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x97, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescOnce sync.Once file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescData = file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc ) func file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP() []byte { file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescOnce.Do(func() { file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescData) }) return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescData } var file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_config_endpoint_v3_endpoint_components_proto_goTypes = []interface{}{ (*Endpoint)(nil), // 0: envoy.config.endpoint.v3.Endpoint (*LbEndpoint)(nil), // 1: envoy.config.endpoint.v3.LbEndpoint (*LedsClusterLocalityConfig)(nil), // 2: envoy.config.endpoint.v3.LedsClusterLocalityConfig (*LocalityLbEndpoints)(nil), // 3: envoy.config.endpoint.v3.LocalityLbEndpoints (*Endpoint_HealthCheckConfig)(nil), // 4: envoy.config.endpoint.v3.Endpoint.HealthCheckConfig (*Endpoint_AdditionalAddress)(nil), // 5: envoy.config.endpoint.v3.Endpoint.AdditionalAddress (*LocalityLbEndpoints_LbEndpointList)(nil), // 6: envoy.config.endpoint.v3.LocalityLbEndpoints.LbEndpointList (*v3.Address)(nil), // 7: envoy.config.core.v3.Address (v3.HealthStatus)(0), // 8: envoy.config.core.v3.HealthStatus (*v3.Metadata)(nil), // 9: envoy.config.core.v3.Metadata (*wrappers.UInt32Value)(nil), // 10: google.protobuf.UInt32Value (*v3.ConfigSource)(nil), // 11: envoy.config.core.v3.ConfigSource (*v3.Locality)(nil), // 12: envoy.config.core.v3.Locality } var file_envoy_config_endpoint_v3_endpoint_components_proto_depIdxs = []int32{ 7, // 0: envoy.config.endpoint.v3.Endpoint.address:type_name -> envoy.config.core.v3.Address 4, // 1: envoy.config.endpoint.v3.Endpoint.health_check_config:type_name -> envoy.config.endpoint.v3.Endpoint.HealthCheckConfig 5, // 2: envoy.config.endpoint.v3.Endpoint.additional_addresses:type_name -> envoy.config.endpoint.v3.Endpoint.AdditionalAddress 0, // 3: envoy.config.endpoint.v3.LbEndpoint.endpoint:type_name -> envoy.config.endpoint.v3.Endpoint 8, // 4: envoy.config.endpoint.v3.LbEndpoint.health_status:type_name -> envoy.config.core.v3.HealthStatus 9, // 5: envoy.config.endpoint.v3.LbEndpoint.metadata:type_name -> envoy.config.core.v3.Metadata 10, // 6: envoy.config.endpoint.v3.LbEndpoint.load_balancing_weight:type_name -> google.protobuf.UInt32Value 11, // 7: envoy.config.endpoint.v3.LedsClusterLocalityConfig.leds_config:type_name -> envoy.config.core.v3.ConfigSource 12, // 8: envoy.config.endpoint.v3.LocalityLbEndpoints.locality:type_name -> envoy.config.core.v3.Locality 1, // 9: envoy.config.endpoint.v3.LocalityLbEndpoints.lb_endpoints:type_name -> envoy.config.endpoint.v3.LbEndpoint 6, // 10: envoy.config.endpoint.v3.LocalityLbEndpoints.load_balancer_endpoints:type_name -> envoy.config.endpoint.v3.LocalityLbEndpoints.LbEndpointList 2, // 11: envoy.config.endpoint.v3.LocalityLbEndpoints.leds_cluster_locality_config:type_name -> envoy.config.endpoint.v3.LedsClusterLocalityConfig 10, // 12: envoy.config.endpoint.v3.LocalityLbEndpoints.load_balancing_weight:type_name -> google.protobuf.UInt32Value 10, // 13: envoy.config.endpoint.v3.LocalityLbEndpoints.proximity:type_name -> google.protobuf.UInt32Value 7, // 14: envoy.config.endpoint.v3.Endpoint.HealthCheckConfig.address:type_name -> envoy.config.core.v3.Address 7, // 15: envoy.config.endpoint.v3.Endpoint.AdditionalAddress.address:type_name -> envoy.config.core.v3.Address 1, // 16: envoy.config.endpoint.v3.LocalityLbEndpoints.LbEndpointList.lb_endpoints:type_name -> envoy.config.endpoint.v3.LbEndpoint 17, // [17:17] is the sub-list for method output_type 17, // [17:17] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_envoy_config_endpoint_v3_endpoint_components_proto_init() } func file_envoy_config_endpoint_v3_endpoint_components_proto_init() { if File_envoy_config_endpoint_v3_endpoint_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Endpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LbEndpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LedsClusterLocalityConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbEndpoints); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Endpoint_HealthCheckConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Endpoint_AdditionalAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbEndpoints_LbEndpointList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[1].OneofWrappers = []interface{}{ (*LbEndpoint_Endpoint)(nil), (*LbEndpoint_EndpointName)(nil), } file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes[3].OneofWrappers = []interface{}{ (*LocalityLbEndpoints_LoadBalancerEndpoints)(nil), (*LocalityLbEndpoints_LedsClusterLocalityConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_endpoint_v3_endpoint_components_proto_goTypes, DependencyIndexes: file_envoy_config_endpoint_v3_endpoint_components_proto_depIdxs, MessageInfos: file_envoy_config_endpoint_v3_endpoint_components_proto_msgTypes, }.Build() File_envoy_config_endpoint_v3_endpoint_components_proto = out.File file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = nil file_envoy_config_endpoint_v3_endpoint_components_proto_goTypes = nil file_envoy_config_endpoint_v3_endpoint_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/endpoint/v3/endpoint_components.pb.validate.go000077500000000000000000001063771454502223200303530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/endpoint/v3/endpoint_components.proto package endpointv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.HealthStatus(0) ) // Validate checks the field values on Endpoint with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Endpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Endpoint with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EndpointMultiError, or nil // if none found. func (m *Endpoint) ValidateAll() error { return m.validate(true) } func (m *Endpoint) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHealthCheckConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointValidationError{ field: "HealthCheckConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Hostname for idx, item := range m.GetAdditionalAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return EndpointMultiError(errors) } return nil } // EndpointMultiError is an error wrapping multiple validation errors returned // by Endpoint.ValidateAll() if the designated constraints aren't met. type EndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointMultiError) AllErrors() []error { return m } // EndpointValidationError is the validation error returned by // Endpoint.Validate if the designated constraints aren't met. type EndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointValidationError) ErrorName() string { return "EndpointValidationError" } // Error satisfies the builtin error interface func (e EndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointValidationError{} // Validate checks the field values on LbEndpoint with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LbEndpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LbEndpoint with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LbEndpointMultiError, or // nil if none found. func (m *LbEndpoint) ValidateAll() error { return m.validate(true) } func (m *LbEndpoint) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for HealthStatus if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LbEndpointValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetLoadBalancingWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := LbEndpointValidationError{ field: "LoadBalancingWeight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } switch v := m.HostIdentifier.(type) { case *LbEndpoint_Endpoint: if v == nil { err := LbEndpointValidationError{ field: "HostIdentifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LbEndpointValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } case *LbEndpoint_EndpointName: if v == nil { err := LbEndpointValidationError{ field: "HostIdentifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for EndpointName default: _ = v // ensures v is used } if len(errors) > 0 { return LbEndpointMultiError(errors) } return nil } // LbEndpointMultiError is an error wrapping multiple validation errors // returned by LbEndpoint.ValidateAll() if the designated constraints aren't met. type LbEndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LbEndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LbEndpointMultiError) AllErrors() []error { return m } // LbEndpointValidationError is the validation error returned by // LbEndpoint.Validate if the designated constraints aren't met. type LbEndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LbEndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LbEndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LbEndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LbEndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LbEndpointValidationError) ErrorName() string { return "LbEndpointValidationError" } // Error satisfies the builtin error interface func (e LbEndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLbEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LbEndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LbEndpointValidationError{} // Validate checks the field values on LedsClusterLocalityConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LedsClusterLocalityConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LedsClusterLocalityConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LedsClusterLocalityConfigMultiError, or nil if none found. func (m *LedsClusterLocalityConfig) ValidateAll() error { return m.validate(true) } func (m *LedsClusterLocalityConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLedsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LedsClusterLocalityConfigValidationError{ field: "LedsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LedsClusterLocalityConfigValidationError{ field: "LedsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLedsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LedsClusterLocalityConfigValidationError{ field: "LedsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LedsCollectionName if len(errors) > 0 { return LedsClusterLocalityConfigMultiError(errors) } return nil } // LedsClusterLocalityConfigMultiError is an error wrapping multiple validation // errors returned by LedsClusterLocalityConfig.ValidateAll() if the // designated constraints aren't met. type LedsClusterLocalityConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LedsClusterLocalityConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LedsClusterLocalityConfigMultiError) AllErrors() []error { return m } // LedsClusterLocalityConfigValidationError is the validation error returned by // LedsClusterLocalityConfig.Validate if the designated constraints aren't met. type LedsClusterLocalityConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LedsClusterLocalityConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LedsClusterLocalityConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LedsClusterLocalityConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LedsClusterLocalityConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LedsClusterLocalityConfigValidationError) ErrorName() string { return "LedsClusterLocalityConfigValidationError" } // Error satisfies the builtin error interface func (e LedsClusterLocalityConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLedsClusterLocalityConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LedsClusterLocalityConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LedsClusterLocalityConfigValidationError{} // Validate checks the field values on LocalityLbEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LocalityLbEndpoints) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityLbEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityLbEndpointsMultiError, or nil if none found. func (m *LocalityLbEndpoints) ValidateAll() error { return m.validate(true) } func (m *LocalityLbEndpoints) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetLbEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetLoadBalancingWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := LocalityLbEndpointsValidationError{ field: "LoadBalancingWeight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if m.GetPriority() > 128 { err := LocalityLbEndpointsValidationError{ field: "Priority", reason: "value must be less than or equal to 128", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProximity()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProximity()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "Proximity", reason: "embedded message failed validation", cause: err, } } } switch v := m.LbConfig.(type) { case *LocalityLbEndpoints_LoadBalancerEndpoints: if v == nil { err := LocalityLbEndpointsValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLoadBalancerEndpoints()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "LoadBalancerEndpoints", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "LoadBalancerEndpoints", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadBalancerEndpoints()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "LoadBalancerEndpoints", reason: "embedded message failed validation", cause: err, } } } case *LocalityLbEndpoints_LedsClusterLocalityConfig: if v == nil { err := LocalityLbEndpointsValidationError{ field: "LbConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLedsClusterLocalityConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "LedsClusterLocalityConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpointsValidationError{ field: "LedsClusterLocalityConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLedsClusterLocalityConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpointsValidationError{ field: "LedsClusterLocalityConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return LocalityLbEndpointsMultiError(errors) } return nil } // LocalityLbEndpointsMultiError is an error wrapping multiple validation // errors returned by LocalityLbEndpoints.ValidateAll() if the designated // constraints aren't met. type LocalityLbEndpointsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbEndpointsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbEndpointsMultiError) AllErrors() []error { return m } // LocalityLbEndpointsValidationError is the validation error returned by // LocalityLbEndpoints.Validate if the designated constraints aren't met. type LocalityLbEndpointsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbEndpointsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbEndpointsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbEndpointsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbEndpointsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbEndpointsValidationError) ErrorName() string { return "LocalityLbEndpointsValidationError" } // Error satisfies the builtin error interface func (e LocalityLbEndpointsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbEndpoints.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbEndpointsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbEndpointsValidationError{} // Validate checks the field values on Endpoint_HealthCheckConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Endpoint_HealthCheckConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Endpoint_HealthCheckConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Endpoint_HealthCheckConfigMultiError, or nil if none found. func (m *Endpoint_HealthCheckConfig) ValidateAll() error { return m.validate(true) } func (m *Endpoint_HealthCheckConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPortValue() > 65535 { err := Endpoint_HealthCheckConfigValidationError{ field: "PortValue", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } // no validation rules for Hostname if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Endpoint_HealthCheckConfigValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Endpoint_HealthCheckConfigValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Endpoint_HealthCheckConfigValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableActiveHealthCheck if len(errors) > 0 { return Endpoint_HealthCheckConfigMultiError(errors) } return nil } // Endpoint_HealthCheckConfigMultiError is an error wrapping multiple // validation errors returned by Endpoint_HealthCheckConfig.ValidateAll() if // the designated constraints aren't met. type Endpoint_HealthCheckConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Endpoint_HealthCheckConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Endpoint_HealthCheckConfigMultiError) AllErrors() []error { return m } // Endpoint_HealthCheckConfigValidationError is the validation error returned // by Endpoint_HealthCheckConfig.Validate if the designated constraints aren't met. type Endpoint_HealthCheckConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Endpoint_HealthCheckConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Endpoint_HealthCheckConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Endpoint_HealthCheckConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Endpoint_HealthCheckConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Endpoint_HealthCheckConfigValidationError) ErrorName() string { return "Endpoint_HealthCheckConfigValidationError" } // Error satisfies the builtin error interface func (e Endpoint_HealthCheckConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpoint_HealthCheckConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Endpoint_HealthCheckConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Endpoint_HealthCheckConfigValidationError{} // Validate checks the field values on Endpoint_AdditionalAddress with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Endpoint_AdditionalAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Endpoint_AdditionalAddress with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Endpoint_AdditionalAddressMultiError, or nil if none found. func (m *Endpoint_AdditionalAddress) ValidateAll() error { return m.validate(true) } func (m *Endpoint_AdditionalAddress) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Endpoint_AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Endpoint_AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Endpoint_AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Endpoint_AdditionalAddressMultiError(errors) } return nil } // Endpoint_AdditionalAddressMultiError is an error wrapping multiple // validation errors returned by Endpoint_AdditionalAddress.ValidateAll() if // the designated constraints aren't met. type Endpoint_AdditionalAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Endpoint_AdditionalAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Endpoint_AdditionalAddressMultiError) AllErrors() []error { return m } // Endpoint_AdditionalAddressValidationError is the validation error returned // by Endpoint_AdditionalAddress.Validate if the designated constraints aren't met. type Endpoint_AdditionalAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Endpoint_AdditionalAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Endpoint_AdditionalAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Endpoint_AdditionalAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Endpoint_AdditionalAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Endpoint_AdditionalAddressValidationError) ErrorName() string { return "Endpoint_AdditionalAddressValidationError" } // Error satisfies the builtin error interface func (e Endpoint_AdditionalAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpoint_AdditionalAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Endpoint_AdditionalAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Endpoint_AdditionalAddressValidationError{} // Validate checks the field values on LocalityLbEndpoints_LbEndpointList with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *LocalityLbEndpoints_LbEndpointList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityLbEndpoints_LbEndpointList // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // LocalityLbEndpoints_LbEndpointListMultiError, or nil if none found. func (m *LocalityLbEndpoints_LbEndpointList) ValidateAll() error { return m.validate(true) } func (m *LocalityLbEndpoints_LbEndpointList) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetLbEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbEndpoints_LbEndpointListValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbEndpoints_LbEndpointListValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbEndpoints_LbEndpointListValidationError{ field: fmt.Sprintf("LbEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LocalityLbEndpoints_LbEndpointListMultiError(errors) } return nil } // LocalityLbEndpoints_LbEndpointListMultiError is an error wrapping multiple // validation errors returned by // LocalityLbEndpoints_LbEndpointList.ValidateAll() if the designated // constraints aren't met. type LocalityLbEndpoints_LbEndpointListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbEndpoints_LbEndpointListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbEndpoints_LbEndpointListMultiError) AllErrors() []error { return m } // LocalityLbEndpoints_LbEndpointListValidationError is the validation error // returned by LocalityLbEndpoints_LbEndpointList.Validate if the designated // constraints aren't met. type LocalityLbEndpoints_LbEndpointListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbEndpoints_LbEndpointListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbEndpoints_LbEndpointListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbEndpoints_LbEndpointListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbEndpoints_LbEndpointListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbEndpoints_LbEndpointListValidationError) ErrorName() string { return "LocalityLbEndpoints_LbEndpointListValidationError" } // Error satisfies the builtin error interface func (e LocalityLbEndpoints_LbEndpointListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbEndpoints_LbEndpointList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbEndpoints_LbEndpointListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbEndpoints_LbEndpointListValidationError{} go-control-plane-0.12.0/envoy/config/endpoint/v3/load_report.pb.go000077500000000000000000001117011454502223200247730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/endpoint/v3/load_report.proto package endpointv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // These are stats Envoy reports to the management server at a frequency defined by // :ref:`LoadStatsResponse.load_reporting_interval`. // Stats per upstream region/zone and optionally per subzone. // [#next-free-field: 9] type UpstreamLocalityStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of zone, region and optionally endpoint group these metrics were // collected from. Zone and region names could be empty if unknown. Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` // The total number of requests successfully completed by the endpoints in the // locality. TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` // The total number of unfinished requests TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` // The total number of requests that failed due to errors at the endpoint, // aggregated over all endpoints in the locality. TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` // The total number of requests that were issued by this Envoy since // the last report. This information is aggregated over all the // upstream endpoints in the locality. TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` // Stats for multi-dimensional load balancing. LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` // Endpoint granularity stats information for this locality. This information // is populated if the Server requests it by setting // :ref:`LoadStatsResponse.report_endpoint_granularity`. UpstreamEndpointStats []*UpstreamEndpointStats `protobuf:"bytes,7,rep,name=upstream_endpoint_stats,json=upstreamEndpointStats,proto3" json:"upstream_endpoint_stats,omitempty"` // [#not-implemented-hide:] The priority of the endpoint group these metrics // were collected from. Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` } func (x *UpstreamLocalityStats) Reset() { *x = UpstreamLocalityStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamLocalityStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamLocalityStats) ProtoMessage() {} func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead. func (*UpstreamLocalityStats) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{0} } func (x *UpstreamLocalityStats) GetLocality() *v3.Locality { if x != nil { return x.Locality } return nil } func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64 { if x != nil { return x.TotalSuccessfulRequests } return 0 } func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64 { if x != nil { return x.TotalRequestsInProgress } return 0 } func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64 { if x != nil { return x.TotalErrorRequests } return 0 } func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64 { if x != nil { return x.TotalIssuedRequests } return 0 } func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats { if x != nil { return x.LoadMetricStats } return nil } func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats { if x != nil { return x.UpstreamEndpointStats } return nil } func (x *UpstreamLocalityStats) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } // [#next-free-field: 8] type UpstreamEndpointStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream host address. Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Opaque and implementation dependent metadata of the // endpoint. Envoy will pass this directly to the management server. Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // The total number of requests successfully completed by the endpoints in the // locality. These include non-5xx responses for HTTP, where errors // originate at the client and the endpoint responded successfully. For gRPC, // the grpc-status values are those not covered by total_error_requests below. TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` // The total number of unfinished requests for this endpoint. TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` // The total number of requests that failed due to errors at the endpoint. // For HTTP these are responses with 5xx status codes and for gRPC the // grpc-status values: // // - DeadlineExceeded // - Unimplemented // - Internal // - Unavailable // - Unknown // - DataLoss TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` // The total number of requests that were issued to this endpoint // since the last report. A single TCP connection, HTTP or gRPC // request or stream is counted as one request. TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` // Stats for multi-dimensional load balancing. LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` } func (x *UpstreamEndpointStats) Reset() { *x = UpstreamEndpointStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamEndpointStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamEndpointStats) ProtoMessage() {} func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead. func (*UpstreamEndpointStats) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{1} } func (x *UpstreamEndpointStats) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *UpstreamEndpointStats) GetMetadata() *_struct.Struct { if x != nil { return x.Metadata } return nil } func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64 { if x != nil { return x.TotalSuccessfulRequests } return 0 } func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64 { if x != nil { return x.TotalRequestsInProgress } return 0 } func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64 { if x != nil { return x.TotalErrorRequests } return 0 } func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64 { if x != nil { return x.TotalIssuedRequests } return 0 } func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats { if x != nil { return x.LoadMetricStats } return nil } type EndpointLoadMetricStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the metric; may be empty. MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` // Number of calls that finished and included this metric. NumRequestsFinishedWithMetric uint64 `protobuf:"varint,2,opt,name=num_requests_finished_with_metric,json=numRequestsFinishedWithMetric,proto3" json:"num_requests_finished_with_metric,omitempty"` // Sum of metric values across all calls that finished with this metric for // load_reporting_interval. TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"` } func (x *EndpointLoadMetricStats) Reset() { *x = EndpointLoadMetricStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointLoadMetricStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointLoadMetricStats) ProtoMessage() {} func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead. func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{2} } func (x *EndpointLoadMetricStats) GetMetricName() string { if x != nil { return x.MetricName } return "" } func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64 { if x != nil { return x.NumRequestsFinishedWithMetric } return 0 } func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64 { if x != nil { return x.TotalMetricValue } return 0 } // Per cluster load stats. Envoy reports these stats a management server in a // :ref:`LoadStatsRequest` // Next ID: 7 // [#next-free-field: 7] type ClusterStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cluster. ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // The eds_cluster_config service_name of the cluster. // It's possible that two clusters send the same service_name to EDS, // in that case, the management server is supposed to do aggregation on the load reports. ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"` // Need at least one. UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats,proto3" json:"upstream_locality_stats,omitempty"` // Cluster-level stats such as total_successful_requests may be computed by // summing upstream_locality_stats. In addition, below there are additional // cluster-wide stats. // // The total number of dropped requests. This covers requests // deliberately dropped by the drop_overload policy and circuit breaking. TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"` // Information about deliberately dropped requests for each category specified // in the DropOverload policy. DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"` // Period over which the actual load report occurred. This will be guaranteed to include every // request reported. Due to system load and delays between the “LoadStatsRequest“ sent from Envoy // and the “LoadStatsResponse“ message sent from the management server, this may be longer than // the requested load reporting interval in the “LoadStatsResponse“. LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"` } func (x *ClusterStats) Reset() { *x = ClusterStats{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStats) ProtoMessage() {} func (x *ClusterStats) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead. func (*ClusterStats) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3} } func (x *ClusterStats) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterStats) GetClusterServiceName() string { if x != nil { return x.ClusterServiceName } return "" } func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats { if x != nil { return x.UpstreamLocalityStats } return nil } func (x *ClusterStats) GetTotalDroppedRequests() uint64 { if x != nil { return x.TotalDroppedRequests } return 0 } func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests { if x != nil { return x.DroppedRequests } return nil } func (x *ClusterStats) GetLoadReportInterval() *duration.Duration { if x != nil { return x.LoadReportInterval } return nil } type ClusterStats_DroppedRequests struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier for the policy specifying the drop. Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // Total number of deliberately dropped requests for the category. DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"` } func (x *ClusterStats_DroppedRequests) Reset() { *x = ClusterStats_DroppedRequests{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterStats_DroppedRequests) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterStats_DroppedRequests) ProtoMessage() {} func (x *ClusterStats_DroppedRequests) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead. func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3, 0} } func (x *ClusterStats_DroppedRequests) GetCategory() string { if x != nil { return x.Category } return "" } func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64 { if x != nil { return x.DroppedCount } return 0 } var File_envoy_config_endpoint_v3_load_report_proto protoreflect.FileDescriptor var file_envoy_config_endpoint_v3_load_report_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xf7, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x89, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x96, 0x01, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x8f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce sync.Once file_envoy_config_endpoint_v3_load_report_proto_rawDescData = file_envoy_config_endpoint_v3_load_report_proto_rawDesc ) func file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP() []byte { file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce.Do(func() { file_envoy_config_endpoint_v3_load_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_endpoint_v3_load_report_proto_rawDescData) }) return file_envoy_config_endpoint_v3_load_report_proto_rawDescData } var file_envoy_config_endpoint_v3_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_config_endpoint_v3_load_report_proto_goTypes = []interface{}{ (*UpstreamLocalityStats)(nil), // 0: envoy.config.endpoint.v3.UpstreamLocalityStats (*UpstreamEndpointStats)(nil), // 1: envoy.config.endpoint.v3.UpstreamEndpointStats (*EndpointLoadMetricStats)(nil), // 2: envoy.config.endpoint.v3.EndpointLoadMetricStats (*ClusterStats)(nil), // 3: envoy.config.endpoint.v3.ClusterStats (*ClusterStats_DroppedRequests)(nil), // 4: envoy.config.endpoint.v3.ClusterStats.DroppedRequests (*v3.Locality)(nil), // 5: envoy.config.core.v3.Locality (*v3.Address)(nil), // 6: envoy.config.core.v3.Address (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*duration.Duration)(nil), // 8: google.protobuf.Duration } var file_envoy_config_endpoint_v3_load_report_proto_depIdxs = []int32{ 5, // 0: envoy.config.endpoint.v3.UpstreamLocalityStats.locality:type_name -> envoy.config.core.v3.Locality 2, // 1: envoy.config.endpoint.v3.UpstreamLocalityStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats 1, // 2: envoy.config.endpoint.v3.UpstreamLocalityStats.upstream_endpoint_stats:type_name -> envoy.config.endpoint.v3.UpstreamEndpointStats 6, // 3: envoy.config.endpoint.v3.UpstreamEndpointStats.address:type_name -> envoy.config.core.v3.Address 7, // 4: envoy.config.endpoint.v3.UpstreamEndpointStats.metadata:type_name -> google.protobuf.Struct 2, // 5: envoy.config.endpoint.v3.UpstreamEndpointStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats 0, // 6: envoy.config.endpoint.v3.ClusterStats.upstream_locality_stats:type_name -> envoy.config.endpoint.v3.UpstreamLocalityStats 4, // 7: envoy.config.endpoint.v3.ClusterStats.dropped_requests:type_name -> envoy.config.endpoint.v3.ClusterStats.DroppedRequests 8, // 8: envoy.config.endpoint.v3.ClusterStats.load_report_interval:type_name -> google.protobuf.Duration 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_config_endpoint_v3_load_report_proto_init() } func file_envoy_config_endpoint_v3_load_report_proto_init() { if File_envoy_config_endpoint_v3_load_report_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamLocalityStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamEndpointStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointLoadMetricStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStats_DroppedRequests); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_endpoint_v3_load_report_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_endpoint_v3_load_report_proto_goTypes, DependencyIndexes: file_envoy_config_endpoint_v3_load_report_proto_depIdxs, MessageInfos: file_envoy_config_endpoint_v3_load_report_proto_msgTypes, }.Build() File_envoy_config_endpoint_v3_load_report_proto = out.File file_envoy_config_endpoint_v3_load_report_proto_rawDesc = nil file_envoy_config_endpoint_v3_load_report_proto_goTypes = nil file_envoy_config_endpoint_v3_load_report_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/endpoint/v3/load_report.pb.validate.go000077500000000000000000000610001454502223200265570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/endpoint/v3/load_report.proto package endpointv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamLocalityStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamLocalityStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamLocalityStats with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamLocalityStatsMultiError, or nil if none found. func (m *UpstreamLocalityStats) ValidateAll() error { return m.validate(true) } func (m *UpstreamLocalityStats) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TotalSuccessfulRequests // no validation rules for TotalRequestsInProgress // no validation rules for TotalErrorRequests // no validation rules for TotalIssuedRequests for idx, item := range m.GetLoadMetricStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetUpstreamEndpointStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamLocalityStatsValidationError{ field: fmt.Sprintf("UpstreamEndpointStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Priority if len(errors) > 0 { return UpstreamLocalityStatsMultiError(errors) } return nil } // UpstreamLocalityStatsMultiError is an error wrapping multiple validation // errors returned by UpstreamLocalityStats.ValidateAll() if the designated // constraints aren't met. type UpstreamLocalityStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamLocalityStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamLocalityStatsMultiError) AllErrors() []error { return m } // UpstreamLocalityStatsValidationError is the validation error returned by // UpstreamLocalityStats.Validate if the designated constraints aren't met. type UpstreamLocalityStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamLocalityStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamLocalityStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamLocalityStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamLocalityStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamLocalityStatsValidationError) ErrorName() string { return "UpstreamLocalityStatsValidationError" } // Error satisfies the builtin error interface func (e UpstreamLocalityStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamLocalityStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamLocalityStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamLocalityStatsValidationError{} // Validate checks the field values on UpstreamEndpointStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamEndpointStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamEndpointStats with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamEndpointStatsMultiError, or nil if none found. func (m *UpstreamEndpointStats) ValidateAll() error { return m.validate(true) } func (m *UpstreamEndpointStats) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TotalSuccessfulRequests // no validation rules for TotalRequestsInProgress // no validation rules for TotalErrorRequests // no validation rules for TotalIssuedRequests for idx, item := range m.GetLoadMetricStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamEndpointStatsValidationError{ field: fmt.Sprintf("LoadMetricStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return UpstreamEndpointStatsMultiError(errors) } return nil } // UpstreamEndpointStatsMultiError is an error wrapping multiple validation // errors returned by UpstreamEndpointStats.ValidateAll() if the designated // constraints aren't met. type UpstreamEndpointStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamEndpointStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamEndpointStatsMultiError) AllErrors() []error { return m } // UpstreamEndpointStatsValidationError is the validation error returned by // UpstreamEndpointStats.Validate if the designated constraints aren't met. type UpstreamEndpointStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamEndpointStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamEndpointStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamEndpointStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamEndpointStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamEndpointStatsValidationError) ErrorName() string { return "UpstreamEndpointStatsValidationError" } // Error satisfies the builtin error interface func (e UpstreamEndpointStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamEndpointStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamEndpointStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamEndpointStatsValidationError{} // Validate checks the field values on EndpointLoadMetricStats with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EndpointLoadMetricStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointLoadMetricStats with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EndpointLoadMetricStatsMultiError, or nil if none found. func (m *EndpointLoadMetricStats) ValidateAll() error { return m.validate(true) } func (m *EndpointLoadMetricStats) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetricName // no validation rules for NumRequestsFinishedWithMetric // no validation rules for TotalMetricValue if len(errors) > 0 { return EndpointLoadMetricStatsMultiError(errors) } return nil } // EndpointLoadMetricStatsMultiError is an error wrapping multiple validation // errors returned by EndpointLoadMetricStats.ValidateAll() if the designated // constraints aren't met. type EndpointLoadMetricStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointLoadMetricStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointLoadMetricStatsMultiError) AllErrors() []error { return m } // EndpointLoadMetricStatsValidationError is the validation error returned by // EndpointLoadMetricStats.Validate if the designated constraints aren't met. type EndpointLoadMetricStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointLoadMetricStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointLoadMetricStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointLoadMetricStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointLoadMetricStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointLoadMetricStatsValidationError) ErrorName() string { return "EndpointLoadMetricStatsValidationError" } // Error satisfies the builtin error interface func (e EndpointLoadMetricStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointLoadMetricStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointLoadMetricStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointLoadMetricStatsValidationError{} // Validate checks the field values on ClusterStats with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterStats) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStats with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterStatsMultiError, or // nil if none found. func (m *ClusterStats) ValidateAll() error { return m.validate(true) } func (m *ClusterStats) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := ClusterStatsValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for ClusterServiceName if len(m.GetUpstreamLocalityStats()) < 1 { err := ClusterStatsValidationError{ field: "UpstreamLocalityStats", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetUpstreamLocalityStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: fmt.Sprintf("UpstreamLocalityStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for TotalDroppedRequests for idx, item := range m.GetDroppedRequests() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: fmt.Sprintf("DroppedRequests[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLoadReportInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadReportInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterStatsValidationError{ field: "LoadReportInterval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterStatsMultiError(errors) } return nil } // ClusterStatsMultiError is an error wrapping multiple validation errors // returned by ClusterStats.ValidateAll() if the designated constraints aren't met. type ClusterStatsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStatsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStatsMultiError) AllErrors() []error { return m } // ClusterStatsValidationError is the validation error returned by // ClusterStats.Validate if the designated constraints aren't met. type ClusterStatsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStatsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStatsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStatsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStatsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStatsValidationError) ErrorName() string { return "ClusterStatsValidationError" } // Error satisfies the builtin error interface func (e ClusterStatsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStats.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStatsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStatsValidationError{} // Validate checks the field values on ClusterStats_DroppedRequests with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterStats_DroppedRequests) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterStats_DroppedRequests with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterStats_DroppedRequestsMultiError, or nil if none found. func (m *ClusterStats_DroppedRequests) ValidateAll() error { return m.validate(true) } func (m *ClusterStats_DroppedRequests) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCategory()) < 1 { err := ClusterStats_DroppedRequestsValidationError{ field: "Category", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for DroppedCount if len(errors) > 0 { return ClusterStats_DroppedRequestsMultiError(errors) } return nil } // ClusterStats_DroppedRequestsMultiError is an error wrapping multiple // validation errors returned by ClusterStats_DroppedRequests.ValidateAll() if // the designated constraints aren't met. type ClusterStats_DroppedRequestsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterStats_DroppedRequestsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterStats_DroppedRequestsMultiError) AllErrors() []error { return m } // ClusterStats_DroppedRequestsValidationError is the validation error returned // by ClusterStats_DroppedRequests.Validate if the designated constraints // aren't met. type ClusterStats_DroppedRequestsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterStats_DroppedRequestsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterStats_DroppedRequestsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterStats_DroppedRequestsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterStats_DroppedRequestsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterStats_DroppedRequestsValidationError) ErrorName() string { return "ClusterStats_DroppedRequestsValidationError" } // Error satisfies the builtin error interface func (e ClusterStats_DroppedRequestsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterStats_DroppedRequests.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterStats_DroppedRequestsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterStats_DroppedRequestsValidationError{} go-control-plane-0.12.0/envoy/config/filter/000077500000000000000000000000001454502223200206435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/accesslog/000077500000000000000000000000001454502223200226065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/accesslog/v2/000077500000000000000000000000001454502223200231355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/accesslog/v2/accesslog.pb.go000077500000000000000000002120011454502223200260260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/accesslog/v2/accesslog.proto package accesslogv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ComparisonFilter_Op int32 const ( // = ComparisonFilter_EQ ComparisonFilter_Op = 0 // >= ComparisonFilter_GE ComparisonFilter_Op = 1 // <= ComparisonFilter_LE ComparisonFilter_Op = 2 ) // Enum value maps for ComparisonFilter_Op. var ( ComparisonFilter_Op_name = map[int32]string{ 0: "EQ", 1: "GE", 2: "LE", } ComparisonFilter_Op_value = map[string]int32{ "EQ": 0, "GE": 1, "LE": 2, } ) func (x ComparisonFilter_Op) Enum() *ComparisonFilter_Op { p := new(ComparisonFilter_Op) *p = x return p } func (x ComparisonFilter_Op) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ComparisonFilter_Op) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes[0].Descriptor() } func (ComparisonFilter_Op) Type() protoreflect.EnumType { return &file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes[0] } func (x ComparisonFilter_Op) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ComparisonFilter_Op.Descriptor instead. func (ComparisonFilter_Op) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{2, 0} } type GrpcStatusFilter_Status int32 const ( GrpcStatusFilter_OK GrpcStatusFilter_Status = 0 GrpcStatusFilter_CANCELED GrpcStatusFilter_Status = 1 GrpcStatusFilter_UNKNOWN GrpcStatusFilter_Status = 2 GrpcStatusFilter_INVALID_ARGUMENT GrpcStatusFilter_Status = 3 GrpcStatusFilter_DEADLINE_EXCEEDED GrpcStatusFilter_Status = 4 GrpcStatusFilter_NOT_FOUND GrpcStatusFilter_Status = 5 GrpcStatusFilter_ALREADY_EXISTS GrpcStatusFilter_Status = 6 GrpcStatusFilter_PERMISSION_DENIED GrpcStatusFilter_Status = 7 GrpcStatusFilter_RESOURCE_EXHAUSTED GrpcStatusFilter_Status = 8 GrpcStatusFilter_FAILED_PRECONDITION GrpcStatusFilter_Status = 9 GrpcStatusFilter_ABORTED GrpcStatusFilter_Status = 10 GrpcStatusFilter_OUT_OF_RANGE GrpcStatusFilter_Status = 11 GrpcStatusFilter_UNIMPLEMENTED GrpcStatusFilter_Status = 12 GrpcStatusFilter_INTERNAL GrpcStatusFilter_Status = 13 GrpcStatusFilter_UNAVAILABLE GrpcStatusFilter_Status = 14 GrpcStatusFilter_DATA_LOSS GrpcStatusFilter_Status = 15 GrpcStatusFilter_UNAUTHENTICATED GrpcStatusFilter_Status = 16 ) // Enum value maps for GrpcStatusFilter_Status. var ( GrpcStatusFilter_Status_name = map[int32]string{ 0: "OK", 1: "CANCELED", 2: "UNKNOWN", 3: "INVALID_ARGUMENT", 4: "DEADLINE_EXCEEDED", 5: "NOT_FOUND", 6: "ALREADY_EXISTS", 7: "PERMISSION_DENIED", 8: "RESOURCE_EXHAUSTED", 9: "FAILED_PRECONDITION", 10: "ABORTED", 11: "OUT_OF_RANGE", 12: "UNIMPLEMENTED", 13: "INTERNAL", 14: "UNAVAILABLE", 15: "DATA_LOSS", 16: "UNAUTHENTICATED", } GrpcStatusFilter_Status_value = map[string]int32{ "OK": 0, "CANCELED": 1, "UNKNOWN": 2, "INVALID_ARGUMENT": 3, "DEADLINE_EXCEEDED": 4, "NOT_FOUND": 5, "ALREADY_EXISTS": 6, "PERMISSION_DENIED": 7, "RESOURCE_EXHAUSTED": 8, "FAILED_PRECONDITION": 9, "ABORTED": 10, "OUT_OF_RANGE": 11, "UNIMPLEMENTED": 12, "INTERNAL": 13, "UNAVAILABLE": 14, "DATA_LOSS": 15, "UNAUTHENTICATED": 16, } ) func (x GrpcStatusFilter_Status) Enum() *GrpcStatusFilter_Status { p := new(GrpcStatusFilter_Status) *p = x return p } func (x GrpcStatusFilter_Status) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GrpcStatusFilter_Status) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes[1].Descriptor() } func (GrpcStatusFilter_Status) Type() protoreflect.EnumType { return &file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes[1] } func (x GrpcStatusFilter_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GrpcStatusFilter_Status.Descriptor instead. func (GrpcStatusFilter_Status) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{12, 0} } type AccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the access log implementation to instantiate. The name must // match a statically registered access log. Current built-in loggers include: // // #. "envoy.access_loggers.file" // #. "envoy.access_loggers.http_grpc" // #. "envoy.access_loggers.tcp_grpc" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter which is used to determine if the access log needs to be written. Filter *AccessLogFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Custom configuration that depends on the access log being instantiated. Built-in // configurations include: // // #. "envoy.access_loggers.file": :ref:`FileAccessLog // // ` // // #. "envoy.access_loggers.http_grpc": :ref:`HttpGrpcAccessLogConfig // // ` // // #. "envoy.access_loggers.tcp_grpc": :ref:`TcpGrpcAccessLogConfig // // ` // // Types that are assignable to ConfigType: // // *AccessLog_Config // *AccessLog_TypedConfig ConfigType isAccessLog_ConfigType `protobuf_oneof:"config_type"` } func (x *AccessLog) Reset() { *x = AccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLog) ProtoMessage() {} func (x *AccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLog.ProtoReflect.Descriptor instead. func (*AccessLog) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{0} } func (x *AccessLog) GetName() string { if x != nil { return x.Name } return "" } func (x *AccessLog) GetFilter() *AccessLogFilter { if x != nil { return x.Filter } return nil } func (m *AccessLog) GetConfigType() isAccessLog_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/accesslog/v2/accesslog.proto. func (x *AccessLog) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*AccessLog_Config); ok { return x.Config } return nil } func (x *AccessLog) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*AccessLog_TypedConfig); ok { return x.TypedConfig } return nil } type isAccessLog_ConfigType interface { isAccessLog_ConfigType() } type AccessLog_Config struct { // Deprecated: Marked as deprecated in envoy/config/filter/accesslog/v2/accesslog.proto. Config *_struct.Struct `protobuf:"bytes,3,opt,name=config,proto3,oneof"` } type AccessLog_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*AccessLog_Config) isAccessLog_ConfigType() {} func (*AccessLog_TypedConfig) isAccessLog_ConfigType() {} // [#next-free-field: 12] type AccessLogFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to FilterSpecifier: // // *AccessLogFilter_StatusCodeFilter // *AccessLogFilter_DurationFilter // *AccessLogFilter_NotHealthCheckFilter // *AccessLogFilter_TraceableFilter // *AccessLogFilter_RuntimeFilter // *AccessLogFilter_AndFilter // *AccessLogFilter_OrFilter // *AccessLogFilter_HeaderFilter // *AccessLogFilter_ResponseFlagFilter // *AccessLogFilter_GrpcStatusFilter // *AccessLogFilter_ExtensionFilter FilterSpecifier isAccessLogFilter_FilterSpecifier `protobuf_oneof:"filter_specifier"` } func (x *AccessLogFilter) Reset() { *x = AccessLogFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLogFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLogFilter) ProtoMessage() {} func (x *AccessLogFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLogFilter.ProtoReflect.Descriptor instead. func (*AccessLogFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{1} } func (m *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { if m != nil { return m.FilterSpecifier } return nil } func (x *AccessLogFilter) GetStatusCodeFilter() *StatusCodeFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_StatusCodeFilter); ok { return x.StatusCodeFilter } return nil } func (x *AccessLogFilter) GetDurationFilter() *DurationFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_DurationFilter); ok { return x.DurationFilter } return nil } func (x *AccessLogFilter) GetNotHealthCheckFilter() *NotHealthCheckFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_NotHealthCheckFilter); ok { return x.NotHealthCheckFilter } return nil } func (x *AccessLogFilter) GetTraceableFilter() *TraceableFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_TraceableFilter); ok { return x.TraceableFilter } return nil } func (x *AccessLogFilter) GetRuntimeFilter() *RuntimeFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_RuntimeFilter); ok { return x.RuntimeFilter } return nil } func (x *AccessLogFilter) GetAndFilter() *AndFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_AndFilter); ok { return x.AndFilter } return nil } func (x *AccessLogFilter) GetOrFilter() *OrFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_OrFilter); ok { return x.OrFilter } return nil } func (x *AccessLogFilter) GetHeaderFilter() *HeaderFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_HeaderFilter); ok { return x.HeaderFilter } return nil } func (x *AccessLogFilter) GetResponseFlagFilter() *ResponseFlagFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ResponseFlagFilter); ok { return x.ResponseFlagFilter } return nil } func (x *AccessLogFilter) GetGrpcStatusFilter() *GrpcStatusFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_GrpcStatusFilter); ok { return x.GrpcStatusFilter } return nil } func (x *AccessLogFilter) GetExtensionFilter() *ExtensionFilter { if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ExtensionFilter); ok { return x.ExtensionFilter } return nil } type isAccessLogFilter_FilterSpecifier interface { isAccessLogFilter_FilterSpecifier() } type AccessLogFilter_StatusCodeFilter struct { // Status code filter. StatusCodeFilter *StatusCodeFilter `protobuf:"bytes,1,opt,name=status_code_filter,json=statusCodeFilter,proto3,oneof"` } type AccessLogFilter_DurationFilter struct { // Duration filter. DurationFilter *DurationFilter `protobuf:"bytes,2,opt,name=duration_filter,json=durationFilter,proto3,oneof"` } type AccessLogFilter_NotHealthCheckFilter struct { // Not health check filter. NotHealthCheckFilter *NotHealthCheckFilter `protobuf:"bytes,3,opt,name=not_health_check_filter,json=notHealthCheckFilter,proto3,oneof"` } type AccessLogFilter_TraceableFilter struct { // Traceable filter. TraceableFilter *TraceableFilter `protobuf:"bytes,4,opt,name=traceable_filter,json=traceableFilter,proto3,oneof"` } type AccessLogFilter_RuntimeFilter struct { // Runtime filter. RuntimeFilter *RuntimeFilter `protobuf:"bytes,5,opt,name=runtime_filter,json=runtimeFilter,proto3,oneof"` } type AccessLogFilter_AndFilter struct { // And filter. AndFilter *AndFilter `protobuf:"bytes,6,opt,name=and_filter,json=andFilter,proto3,oneof"` } type AccessLogFilter_OrFilter struct { // Or filter. OrFilter *OrFilter `protobuf:"bytes,7,opt,name=or_filter,json=orFilter,proto3,oneof"` } type AccessLogFilter_HeaderFilter struct { // Header filter. HeaderFilter *HeaderFilter `protobuf:"bytes,8,opt,name=header_filter,json=headerFilter,proto3,oneof"` } type AccessLogFilter_ResponseFlagFilter struct { // Response flag filter. ResponseFlagFilter *ResponseFlagFilter `protobuf:"bytes,9,opt,name=response_flag_filter,json=responseFlagFilter,proto3,oneof"` } type AccessLogFilter_GrpcStatusFilter struct { // gRPC status filter. GrpcStatusFilter *GrpcStatusFilter `protobuf:"bytes,10,opt,name=grpc_status_filter,json=grpcStatusFilter,proto3,oneof"` } type AccessLogFilter_ExtensionFilter struct { // Extension filter. ExtensionFilter *ExtensionFilter `protobuf:"bytes,11,opt,name=extension_filter,json=extensionFilter,proto3,oneof"` } func (*AccessLogFilter_StatusCodeFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_DurationFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_NotHealthCheckFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_TraceableFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_RuntimeFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_AndFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_OrFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_HeaderFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_ResponseFlagFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_GrpcStatusFilter) isAccessLogFilter_FilterSpecifier() {} func (*AccessLogFilter_ExtensionFilter) isAccessLogFilter_FilterSpecifier() {} // Filter on an integer comparison. type ComparisonFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison operator. Op ComparisonFilter_Op `protobuf:"varint,1,opt,name=op,proto3,enum=envoy.config.filter.accesslog.v2.ComparisonFilter_Op" json:"op,omitempty"` // Value to compare against. Value *core.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *ComparisonFilter) Reset() { *x = ComparisonFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComparisonFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComparisonFilter) ProtoMessage() {} func (x *ComparisonFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComparisonFilter.ProtoReflect.Descriptor instead. func (*ComparisonFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{2} } func (x *ComparisonFilter) GetOp() ComparisonFilter_Op { if x != nil { return x.Op } return ComparisonFilter_EQ } func (x *ComparisonFilter) GetValue() *core.RuntimeUInt32 { if x != nil { return x.Value } return nil } // Filters on HTTP response/status code. type StatusCodeFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison. Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *StatusCodeFilter) Reset() { *x = StatusCodeFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusCodeFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusCodeFilter) ProtoMessage() {} func (x *StatusCodeFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatusCodeFilter.ProtoReflect.Descriptor instead. func (*StatusCodeFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{3} } func (x *StatusCodeFilter) GetComparison() *ComparisonFilter { if x != nil { return x.Comparison } return nil } // Filters on total request duration in milliseconds. type DurationFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Comparison. Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *DurationFilter) Reset() { *x = DurationFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DurationFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*DurationFilter) ProtoMessage() {} func (x *DurationFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DurationFilter.ProtoReflect.Descriptor instead. func (*DurationFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{4} } func (x *DurationFilter) GetComparison() *ComparisonFilter { if x != nil { return x.Comparison } return nil } // Filters for requests that are not health check requests. A health check // request is marked by the health check filter. type NotHealthCheckFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NotHealthCheckFilter) Reset() { *x = NotHealthCheckFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotHealthCheckFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotHealthCheckFilter) ProtoMessage() {} func (x *NotHealthCheckFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NotHealthCheckFilter.ProtoReflect.Descriptor instead. func (*NotHealthCheckFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{5} } // Filters for requests that are traceable. See the tracing overview for more // information on how a request becomes traceable. type TraceableFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TraceableFilter) Reset() { *x = TraceableFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceableFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceableFilter) ProtoMessage() {} func (x *TraceableFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceableFilter.ProtoReflect.Descriptor instead. func (*TraceableFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{6} } // Filters for random sampling of requests. type RuntimeFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime key to get an optional overridden numerator for use in the *percent_sampled* field. // If found in runtime, this value will replace the default numerator. RuntimeKey string `protobuf:"bytes,1,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` // The default sampling percentage. If not specified, defaults to 0% with denominator of 100. PercentSampled *_type.FractionalPercent `protobuf:"bytes,2,opt,name=percent_sampled,json=percentSampled,proto3" json:"percent_sampled,omitempty"` // By default, sampling pivots on the header // :ref:`x-request-id` being present. If // :ref:`x-request-id` is present, the filter will // consistently sample across multiple hosts based on the runtime key value and the value // extracted from :ref:`x-request-id`. If it is // missing, or *use_independent_randomness* is set to true, the filter will randomly sample based // on the runtime key value alone. *use_independent_randomness* can be used for logging kill // switches within complex nested :ref:`AndFilter // ` and :ref:`OrFilter // ` blocks that are easier to reason about // from a probability perspective (i.e., setting to true will cause the filter to behave like // an independent random variable when composed within logical operator filters). UseIndependentRandomness bool `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"` } func (x *RuntimeFilter) Reset() { *x = RuntimeFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFilter) ProtoMessage() {} func (x *RuntimeFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFilter.ProtoReflect.Descriptor instead. func (*RuntimeFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{7} } func (x *RuntimeFilter) GetRuntimeKey() string { if x != nil { return x.RuntimeKey } return "" } func (x *RuntimeFilter) GetPercentSampled() *_type.FractionalPercent { if x != nil { return x.PercentSampled } return nil } func (x *RuntimeFilter) GetUseIndependentRandomness() bool { if x != nil { return x.UseIndependentRandomness } return false } // Performs a logical “and” operation on the result of each filter in filters. // Filters are evaluated sequentially and if one of them returns false, the // filter returns false immediately. type AndFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *AndFilter) Reset() { *x = AndFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AndFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*AndFilter) ProtoMessage() {} func (x *AndFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AndFilter.ProtoReflect.Descriptor instead. func (*AndFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{8} } func (x *AndFilter) GetFilters() []*AccessLogFilter { if x != nil { return x.Filters } return nil } // Performs a logical “or” operation on the result of each individual filter. // Filters are evaluated sequentially and if one of them returns true, the // filter returns true immediately. type OrFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *OrFilter) Reset() { *x = OrFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrFilter) ProtoMessage() {} func (x *OrFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OrFilter.ProtoReflect.Descriptor instead. func (*OrFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{9} } func (x *OrFilter) GetFilters() []*AccessLogFilter { if x != nil { return x.Filters } return nil } // Filters requests based on the presence or value of a request header. type HeaderFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only requests with a header which matches the specified HeaderMatcher will pass the filter // check. Header *route.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` } func (x *HeaderFilter) Reset() { *x = HeaderFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderFilter) ProtoMessage() {} func (x *HeaderFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderFilter.ProtoReflect.Descriptor instead. func (*HeaderFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{10} } func (x *HeaderFilter) GetHeader() *route.HeaderMatcher { if x != nil { return x.Header } return nil } // Filters requests that received responses with an Envoy response flag set. // A list of the response flags can be found // in the access log formatter :ref:`documentation`. type ResponseFlagFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only responses with the any of the flags listed in this field will be logged. // This field is optional. If it is not specified, then any response flag will pass // the filter check. Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` } func (x *ResponseFlagFilter) Reset() { *x = ResponseFlagFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlagFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlagFilter) ProtoMessage() {} func (x *ResponseFlagFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlagFilter.ProtoReflect.Descriptor instead. func (*ResponseFlagFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{11} } func (x *ResponseFlagFilter) GetFlags() []string { if x != nil { return x.Flags } return nil } // Filters gRPC requests based on their response status. If a gRPC status is not provided, the // filter will infer the status from the HTTP status code. type GrpcStatusFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Logs only responses that have any one of the gRPC statuses in this field. Statuses []GrpcStatusFilter_Status `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=envoy.config.filter.accesslog.v2.GrpcStatusFilter_Status" json:"statuses,omitempty"` // If included and set to true, the filter will instead block all responses with a gRPC status or // inferred gRPC status enumerated in statuses, and allow all other responses. Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` } func (x *GrpcStatusFilter) Reset() { *x = GrpcStatusFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcStatusFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcStatusFilter) ProtoMessage() {} func (x *GrpcStatusFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcStatusFilter.ProtoReflect.Descriptor instead. func (*GrpcStatusFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{12} } func (x *GrpcStatusFilter) GetStatuses() []GrpcStatusFilter_Status { if x != nil { return x.Statuses } return nil } func (x *GrpcStatusFilter) GetExclude() bool { if x != nil { return x.Exclude } return false } // Extension filter is statically registered at runtime. type ExtensionFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter implementation to instantiate. The name must // match a statically registered filter. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Custom configuration that depends on the filter being instantiated. // // Types that are assignable to ConfigType: // // *ExtensionFilter_Config // *ExtensionFilter_TypedConfig ConfigType isExtensionFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *ExtensionFilter) Reset() { *x = ExtensionFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtensionFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtensionFilter) ProtoMessage() {} func (x *ExtensionFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtensionFilter.ProtoReflect.Descriptor instead. func (*ExtensionFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{13} } func (x *ExtensionFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ExtensionFilter) GetConfigType() isExtensionFilter_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/accesslog/v2/accesslog.proto. func (x *ExtensionFilter) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*ExtensionFilter_Config); ok { return x.Config } return nil } func (x *ExtensionFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ExtensionFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isExtensionFilter_ConfigType interface { isExtensionFilter_ConfigType() } type ExtensionFilter_Config struct { // Deprecated: Marked as deprecated in envoy/config/filter/accesslog/v2/accesslog.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type ExtensionFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ExtensionFilter_Config) isExtensionFilter_ConfigType() {} func (*ExtensionFilter_TypedConfig) isExtensionFilter_ConfigType() {} var File_envoy_config_filter_accesslog_v2_accesslog_proto protoreflect.FileDescriptor var file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb4, 0x08, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x09, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x17, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x70, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x22, 0x6e, 0x0a, 0x0e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x22, 0x62, 0x0a, 0x09, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x61, 0x0a, 0x08, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x53, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x72, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x5c, 0xfa, 0x42, 0x59, 0x92, 0x01, 0x56, 0x22, 0x54, 0x72, 0x52, 0x52, 0x02, 0x4c, 0x48, 0x52, 0x02, 0x55, 0x48, 0x52, 0x02, 0x55, 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55, 0x52, 0x52, 0x02, 0x55, 0x46, 0x52, 0x02, 0x55, 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e, 0x52, 0x52, 0x02, 0x44, 0x49, 0x52, 0x02, 0x46, 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55, 0x41, 0x45, 0x58, 0x52, 0x04, 0x52, 0x4c, 0x53, 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55, 0x52, 0x58, 0x52, 0x02, 0x53, 0x49, 0x52, 0x02, 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xcd, 0x03, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x22, 0xa6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xc0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1b, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescOnce sync.Once file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescData = file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDesc ) func file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescGZIP() []byte { file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescOnce.Do(func() { file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescData) }) return file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDescData } var file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_envoy_config_filter_accesslog_v2_accesslog_proto_goTypes = []interface{}{ (ComparisonFilter_Op)(0), // 0: envoy.config.filter.accesslog.v2.ComparisonFilter.Op (GrpcStatusFilter_Status)(0), // 1: envoy.config.filter.accesslog.v2.GrpcStatusFilter.Status (*AccessLog)(nil), // 2: envoy.config.filter.accesslog.v2.AccessLog (*AccessLogFilter)(nil), // 3: envoy.config.filter.accesslog.v2.AccessLogFilter (*ComparisonFilter)(nil), // 4: envoy.config.filter.accesslog.v2.ComparisonFilter (*StatusCodeFilter)(nil), // 5: envoy.config.filter.accesslog.v2.StatusCodeFilter (*DurationFilter)(nil), // 6: envoy.config.filter.accesslog.v2.DurationFilter (*NotHealthCheckFilter)(nil), // 7: envoy.config.filter.accesslog.v2.NotHealthCheckFilter (*TraceableFilter)(nil), // 8: envoy.config.filter.accesslog.v2.TraceableFilter (*RuntimeFilter)(nil), // 9: envoy.config.filter.accesslog.v2.RuntimeFilter (*AndFilter)(nil), // 10: envoy.config.filter.accesslog.v2.AndFilter (*OrFilter)(nil), // 11: envoy.config.filter.accesslog.v2.OrFilter (*HeaderFilter)(nil), // 12: envoy.config.filter.accesslog.v2.HeaderFilter (*ResponseFlagFilter)(nil), // 13: envoy.config.filter.accesslog.v2.ResponseFlagFilter (*GrpcStatusFilter)(nil), // 14: envoy.config.filter.accesslog.v2.GrpcStatusFilter (*ExtensionFilter)(nil), // 15: envoy.config.filter.accesslog.v2.ExtensionFilter (*_struct.Struct)(nil), // 16: google.protobuf.Struct (*any1.Any)(nil), // 17: google.protobuf.Any (*core.RuntimeUInt32)(nil), // 18: envoy.api.v2.core.RuntimeUInt32 (*_type.FractionalPercent)(nil), // 19: envoy.type.FractionalPercent (*route.HeaderMatcher)(nil), // 20: envoy.api.v2.route.HeaderMatcher } var file_envoy_config_filter_accesslog_v2_accesslog_proto_depIdxs = []int32{ 3, // 0: envoy.config.filter.accesslog.v2.AccessLog.filter:type_name -> envoy.config.filter.accesslog.v2.AccessLogFilter 16, // 1: envoy.config.filter.accesslog.v2.AccessLog.config:type_name -> google.protobuf.Struct 17, // 2: envoy.config.filter.accesslog.v2.AccessLog.typed_config:type_name -> google.protobuf.Any 5, // 3: envoy.config.filter.accesslog.v2.AccessLogFilter.status_code_filter:type_name -> envoy.config.filter.accesslog.v2.StatusCodeFilter 6, // 4: envoy.config.filter.accesslog.v2.AccessLogFilter.duration_filter:type_name -> envoy.config.filter.accesslog.v2.DurationFilter 7, // 5: envoy.config.filter.accesslog.v2.AccessLogFilter.not_health_check_filter:type_name -> envoy.config.filter.accesslog.v2.NotHealthCheckFilter 8, // 6: envoy.config.filter.accesslog.v2.AccessLogFilter.traceable_filter:type_name -> envoy.config.filter.accesslog.v2.TraceableFilter 9, // 7: envoy.config.filter.accesslog.v2.AccessLogFilter.runtime_filter:type_name -> envoy.config.filter.accesslog.v2.RuntimeFilter 10, // 8: envoy.config.filter.accesslog.v2.AccessLogFilter.and_filter:type_name -> envoy.config.filter.accesslog.v2.AndFilter 11, // 9: envoy.config.filter.accesslog.v2.AccessLogFilter.or_filter:type_name -> envoy.config.filter.accesslog.v2.OrFilter 12, // 10: envoy.config.filter.accesslog.v2.AccessLogFilter.header_filter:type_name -> envoy.config.filter.accesslog.v2.HeaderFilter 13, // 11: envoy.config.filter.accesslog.v2.AccessLogFilter.response_flag_filter:type_name -> envoy.config.filter.accesslog.v2.ResponseFlagFilter 14, // 12: envoy.config.filter.accesslog.v2.AccessLogFilter.grpc_status_filter:type_name -> envoy.config.filter.accesslog.v2.GrpcStatusFilter 15, // 13: envoy.config.filter.accesslog.v2.AccessLogFilter.extension_filter:type_name -> envoy.config.filter.accesslog.v2.ExtensionFilter 0, // 14: envoy.config.filter.accesslog.v2.ComparisonFilter.op:type_name -> envoy.config.filter.accesslog.v2.ComparisonFilter.Op 18, // 15: envoy.config.filter.accesslog.v2.ComparisonFilter.value:type_name -> envoy.api.v2.core.RuntimeUInt32 4, // 16: envoy.config.filter.accesslog.v2.StatusCodeFilter.comparison:type_name -> envoy.config.filter.accesslog.v2.ComparisonFilter 4, // 17: envoy.config.filter.accesslog.v2.DurationFilter.comparison:type_name -> envoy.config.filter.accesslog.v2.ComparisonFilter 19, // 18: envoy.config.filter.accesslog.v2.RuntimeFilter.percent_sampled:type_name -> envoy.type.FractionalPercent 3, // 19: envoy.config.filter.accesslog.v2.AndFilter.filters:type_name -> envoy.config.filter.accesslog.v2.AccessLogFilter 3, // 20: envoy.config.filter.accesslog.v2.OrFilter.filters:type_name -> envoy.config.filter.accesslog.v2.AccessLogFilter 20, // 21: envoy.config.filter.accesslog.v2.HeaderFilter.header:type_name -> envoy.api.v2.route.HeaderMatcher 1, // 22: envoy.config.filter.accesslog.v2.GrpcStatusFilter.statuses:type_name -> envoy.config.filter.accesslog.v2.GrpcStatusFilter.Status 16, // 23: envoy.config.filter.accesslog.v2.ExtensionFilter.config:type_name -> google.protobuf.Struct 17, // 24: envoy.config.filter.accesslog.v2.ExtensionFilter.typed_config:type_name -> google.protobuf.Any 25, // [25:25] is the sub-list for method output_type 25, // [25:25] is the sub-list for method input_type 25, // [25:25] is the sub-list for extension type_name 25, // [25:25] is the sub-list for extension extendee 0, // [0:25] is the sub-list for field type_name } func init() { file_envoy_config_filter_accesslog_v2_accesslog_proto_init() } func file_envoy_config_filter_accesslog_v2_accesslog_proto_init() { if File_envoy_config_filter_accesslog_v2_accesslog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLogFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComparisonFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusCodeFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DurationFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotHealthCheckFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceableFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AndFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlagFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcStatusFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtensionFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[0].OneofWrappers = []interface{}{ (*AccessLog_Config)(nil), (*AccessLog_TypedConfig)(nil), } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[1].OneofWrappers = []interface{}{ (*AccessLogFilter_StatusCodeFilter)(nil), (*AccessLogFilter_DurationFilter)(nil), (*AccessLogFilter_NotHealthCheckFilter)(nil), (*AccessLogFilter_TraceableFilter)(nil), (*AccessLogFilter_RuntimeFilter)(nil), (*AccessLogFilter_AndFilter)(nil), (*AccessLogFilter_OrFilter)(nil), (*AccessLogFilter_HeaderFilter)(nil), (*AccessLogFilter_ResponseFlagFilter)(nil), (*AccessLogFilter_GrpcStatusFilter)(nil), (*AccessLogFilter_ExtensionFilter)(nil), } file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes[13].OneofWrappers = []interface{}{ (*ExtensionFilter_Config)(nil), (*ExtensionFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDesc, NumEnums: 2, NumMessages: 14, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_accesslog_v2_accesslog_proto_goTypes, DependencyIndexes: file_envoy_config_filter_accesslog_v2_accesslog_proto_depIdxs, EnumInfos: file_envoy_config_filter_accesslog_v2_accesslog_proto_enumTypes, MessageInfos: file_envoy_config_filter_accesslog_v2_accesslog_proto_msgTypes, }.Build() File_envoy_config_filter_accesslog_v2_accesslog_proto = out.File file_envoy_config_filter_accesslog_v2_accesslog_proto_rawDesc = nil file_envoy_config_filter_accesslog_v2_accesslog_proto_goTypes = nil file_envoy_config_filter_accesslog_v2_accesslog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/accesslog/v2/accesslog.pb.validate.go000077500000000000000000002013161454502223200276250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/accesslog/v2/accesslog.proto package accesslogv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AccessLog with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLog with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AccessLogMultiError, or nil // if none found. func (m *AccessLog) ValidateAll() error { return m.validate(true) } func (m *AccessLog) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, } } } switch v := m.ConfigType.(type) { case *AccessLog_Config: if v == nil { err := AccessLogValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *AccessLog_TypedConfig: if v == nil { err := AccessLogValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return AccessLogMultiError(errors) } return nil } // AccessLogMultiError is an error wrapping multiple validation errors returned // by AccessLog.ValidateAll() if the designated constraints aren't met. type AccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogMultiError) AllErrors() []error { return m } // AccessLogValidationError is the validation error returned by // AccessLog.Validate if the designated constraints aren't met. type AccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogValidationError) ErrorName() string { return "AccessLogValidationError" } // Error satisfies the builtin error interface func (e AccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogValidationError{} // Validate checks the field values on AccessLogFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AccessLogFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLogFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AccessLogFilterMultiError, or nil if none found. func (m *AccessLogFilter) ValidateAll() error { return m.validate(true) } func (m *AccessLogFilter) validate(all bool) error { if m == nil { return nil } var errors []error oneofFilterSpecifierPresent := false switch v := m.FilterSpecifier.(type) { case *AccessLogFilter_StatusCodeFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetStatusCodeFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatusCodeFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "StatusCodeFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_DurationFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetDurationFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDurationFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "DurationFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_NotHealthCheckFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetNotHealthCheckFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotHealthCheckFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "NotHealthCheckFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_TraceableFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetTraceableFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceableFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "TraceableFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_RuntimeFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetRuntimeFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "RuntimeFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_AndFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetAndFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "AndFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_OrFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetOrFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "OrFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_HeaderFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetHeaderFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "HeaderFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_ResponseFlagFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetResponseFlagFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseFlagFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "ResponseFlagFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_GrpcStatusFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetGrpcStatusFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcStatusFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "GrpcStatusFilter", reason: "embedded message failed validation", cause: err, } } } case *AccessLogFilter_ExtensionFilter: if v == nil { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFilterSpecifierPresent = true if all { switch v := interface{}(m.GetExtensionFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtensionFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogFilterValidationError{ field: "ExtensionFilter", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFilterSpecifierPresent { err := AccessLogFilterValidationError{ field: "FilterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AccessLogFilterMultiError(errors) } return nil } // AccessLogFilterMultiError is an error wrapping multiple validation errors // returned by AccessLogFilter.ValidateAll() if the designated constraints // aren't met. type AccessLogFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogFilterMultiError) AllErrors() []error { return m } // AccessLogFilterValidationError is the validation error returned by // AccessLogFilter.Validate if the designated constraints aren't met. type AccessLogFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogFilterValidationError) ErrorName() string { return "AccessLogFilterValidationError" } // Error satisfies the builtin error interface func (e AccessLogFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLogFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogFilterValidationError{} // Validate checks the field values on ComparisonFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ComparisonFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ComparisonFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ComparisonFilterMultiError, or nil if none found. func (m *ComparisonFilter) ValidateAll() error { return m.validate(true) } func (m *ComparisonFilter) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ComparisonFilter_Op_name[int32(m.GetOp())]; !ok { err := ComparisonFilterValidationError{ field: "Op", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ComparisonFilterValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ComparisonFilterMultiError(errors) } return nil } // ComparisonFilterMultiError is an error wrapping multiple validation errors // returned by ComparisonFilter.ValidateAll() if the designated constraints // aren't met. type ComparisonFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ComparisonFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ComparisonFilterMultiError) AllErrors() []error { return m } // ComparisonFilterValidationError is the validation error returned by // ComparisonFilter.Validate if the designated constraints aren't met. type ComparisonFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ComparisonFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ComparisonFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ComparisonFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ComparisonFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ComparisonFilterValidationError) ErrorName() string { return "ComparisonFilterValidationError" } // Error satisfies the builtin error interface func (e ComparisonFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sComparisonFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ComparisonFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ComparisonFilterValidationError{} // Validate checks the field values on StatusCodeFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StatusCodeFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatusCodeFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StatusCodeFilterMultiError, or nil if none found. func (m *StatusCodeFilter) ValidateAll() error { return m.validate(true) } func (m *StatusCodeFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetComparison() == nil { err := StatusCodeFilterValidationError{ field: "Comparison", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetComparison()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetComparison()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatusCodeFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StatusCodeFilterMultiError(errors) } return nil } // StatusCodeFilterMultiError is an error wrapping multiple validation errors // returned by StatusCodeFilter.ValidateAll() if the designated constraints // aren't met. type StatusCodeFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatusCodeFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatusCodeFilterMultiError) AllErrors() []error { return m } // StatusCodeFilterValidationError is the validation error returned by // StatusCodeFilter.Validate if the designated constraints aren't met. type StatusCodeFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatusCodeFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatusCodeFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatusCodeFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatusCodeFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatusCodeFilterValidationError) ErrorName() string { return "StatusCodeFilterValidationError" } // Error satisfies the builtin error interface func (e StatusCodeFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatusCodeFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatusCodeFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatusCodeFilterValidationError{} // Validate checks the field values on DurationFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DurationFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DurationFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DurationFilterMultiError, // or nil if none found. func (m *DurationFilter) ValidateAll() error { return m.validate(true) } func (m *DurationFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetComparison() == nil { err := DurationFilterValidationError{ field: "Comparison", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetComparison()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetComparison()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DurationFilterValidationError{ field: "Comparison", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DurationFilterMultiError(errors) } return nil } // DurationFilterMultiError is an error wrapping multiple validation errors // returned by DurationFilter.ValidateAll() if the designated constraints // aren't met. type DurationFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DurationFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DurationFilterMultiError) AllErrors() []error { return m } // DurationFilterValidationError is the validation error returned by // DurationFilter.Validate if the designated constraints aren't met. type DurationFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DurationFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DurationFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DurationFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DurationFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DurationFilterValidationError) ErrorName() string { return "DurationFilterValidationError" } // Error satisfies the builtin error interface func (e DurationFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDurationFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DurationFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DurationFilterValidationError{} // Validate checks the field values on NotHealthCheckFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *NotHealthCheckFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NotHealthCheckFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // NotHealthCheckFilterMultiError, or nil if none found. func (m *NotHealthCheckFilter) ValidateAll() error { return m.validate(true) } func (m *NotHealthCheckFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return NotHealthCheckFilterMultiError(errors) } return nil } // NotHealthCheckFilterMultiError is an error wrapping multiple validation // errors returned by NotHealthCheckFilter.ValidateAll() if the designated // constraints aren't met. type NotHealthCheckFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NotHealthCheckFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NotHealthCheckFilterMultiError) AllErrors() []error { return m } // NotHealthCheckFilterValidationError is the validation error returned by // NotHealthCheckFilter.Validate if the designated constraints aren't met. type NotHealthCheckFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NotHealthCheckFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NotHealthCheckFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NotHealthCheckFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NotHealthCheckFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NotHealthCheckFilterValidationError) ErrorName() string { return "NotHealthCheckFilterValidationError" } // Error satisfies the builtin error interface func (e NotHealthCheckFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNotHealthCheckFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NotHealthCheckFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NotHealthCheckFilterValidationError{} // Validate checks the field values on TraceableFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TraceableFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceableFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraceableFilterMultiError, or nil if none found. func (m *TraceableFilter) ValidateAll() error { return m.validate(true) } func (m *TraceableFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TraceableFilterMultiError(errors) } return nil } // TraceableFilterMultiError is an error wrapping multiple validation errors // returned by TraceableFilter.ValidateAll() if the designated constraints // aren't met. type TraceableFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceableFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceableFilterMultiError) AllErrors() []error { return m } // TraceableFilterValidationError is the validation error returned by // TraceableFilter.Validate if the designated constraints aren't met. type TraceableFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceableFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceableFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceableFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceableFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceableFilterValidationError) ErrorName() string { return "TraceableFilterValidationError" } // Error satisfies the builtin error interface func (e TraceableFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceableFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceableFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceableFilterValidationError{} // Validate checks the field values on RuntimeFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RuntimeFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RuntimeFilterMultiError, or // nil if none found. func (m *RuntimeFilter) ValidateAll() error { return m.validate(true) } func (m *RuntimeFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRuntimeKey()) < 1 { err := RuntimeFilterValidationError{ field: "RuntimeKey", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPercentSampled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentSampled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFilterValidationError{ field: "PercentSampled", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseIndependentRandomness if len(errors) > 0 { return RuntimeFilterMultiError(errors) } return nil } // RuntimeFilterMultiError is an error wrapping multiple validation errors // returned by RuntimeFilter.ValidateAll() if the designated constraints // aren't met. type RuntimeFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFilterMultiError) AllErrors() []error { return m } // RuntimeFilterValidationError is the validation error returned by // RuntimeFilter.Validate if the designated constraints aren't met. type RuntimeFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFilterValidationError) ErrorName() string { return "RuntimeFilterValidationError" } // Error satisfies the builtin error interface func (e RuntimeFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFilterValidationError{} // Validate checks the field values on AndFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AndFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AndFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AndFilterMultiError, or nil // if none found. func (m *AndFilter) ValidateAll() error { return m.validate(true) } func (m *AndFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFilters()) < 2 { err := AndFilterValidationError{ field: "Filters", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AndFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AndFilterMultiError(errors) } return nil } // AndFilterMultiError is an error wrapping multiple validation errors returned // by AndFilter.ValidateAll() if the designated constraints aren't met. type AndFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AndFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AndFilterMultiError) AllErrors() []error { return m } // AndFilterValidationError is the validation error returned by // AndFilter.Validate if the designated constraints aren't met. type AndFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AndFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AndFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AndFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AndFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AndFilterValidationError) ErrorName() string { return "AndFilterValidationError" } // Error satisfies the builtin error interface func (e AndFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAndFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AndFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AndFilterValidationError{} // Validate checks the field values on OrFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OrFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OrFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OrFilterMultiError, or nil // if none found. func (m *OrFilter) ValidateAll() error { return m.validate(true) } func (m *OrFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFilters()) < 2 { err := OrFilterValidationError{ field: "Filters", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OrFilterValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OrFilterMultiError(errors) } return nil } // OrFilterMultiError is an error wrapping multiple validation errors returned // by OrFilter.ValidateAll() if the designated constraints aren't met. type OrFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OrFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OrFilterMultiError) AllErrors() []error { return m } // OrFilterValidationError is the validation error returned by // OrFilter.Validate if the designated constraints aren't met. type OrFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OrFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OrFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OrFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OrFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OrFilterValidationError) ErrorName() string { return "OrFilterValidationError" } // Error satisfies the builtin error interface func (e OrFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOrFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OrFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OrFilterValidationError{} // Validate checks the field values on HeaderFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderFilterMultiError, or // nil if none found. func (m *HeaderFilter) ValidateAll() error { return m.validate(true) } func (m *HeaderFilter) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHeader() == nil { err := HeaderFilterValidationError{ field: "Header", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderFilterValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderFilterMultiError(errors) } return nil } // HeaderFilterMultiError is an error wrapping multiple validation errors // returned by HeaderFilter.ValidateAll() if the designated constraints aren't met. type HeaderFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderFilterMultiError) AllErrors() []error { return m } // HeaderFilterValidationError is the validation error returned by // HeaderFilter.Validate if the designated constraints aren't met. type HeaderFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderFilterValidationError) ErrorName() string { return "HeaderFilterValidationError" } // Error satisfies the builtin error interface func (e HeaderFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderFilterValidationError{} // Validate checks the field values on ResponseFlagFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResponseFlagFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlagFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResponseFlagFilterMultiError, or nil if none found. func (m *ResponseFlagFilter) ValidateAll() error { return m.validate(true) } func (m *ResponseFlagFilter) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetFlags() { _, _ = idx, item if _, ok := _ResponseFlagFilter_Flags_InLookup[item]; !ok { err := ResponseFlagFilterValidationError{ field: fmt.Sprintf("Flags[%v]", idx), reason: "value must be in list [LH UH UT LR UR UF UC UO NR DI FI RL UAEX RLSE DC URX SI IH DPE]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ResponseFlagFilterMultiError(errors) } return nil } // ResponseFlagFilterMultiError is an error wrapping multiple validation errors // returned by ResponseFlagFilter.ValidateAll() if the designated constraints // aren't met. type ResponseFlagFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlagFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlagFilterMultiError) AllErrors() []error { return m } // ResponseFlagFilterValidationError is the validation error returned by // ResponseFlagFilter.Validate if the designated constraints aren't met. type ResponseFlagFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlagFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlagFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlagFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlagFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlagFilterValidationError) ErrorName() string { return "ResponseFlagFilterValidationError" } // Error satisfies the builtin error interface func (e ResponseFlagFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlagFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlagFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlagFilterValidationError{} var _ResponseFlagFilter_Flags_InLookup = map[string]struct{}{ "LH": {}, "UH": {}, "UT": {}, "LR": {}, "UR": {}, "UF": {}, "UC": {}, "UO": {}, "NR": {}, "DI": {}, "FI": {}, "RL": {}, "UAEX": {}, "RLSE": {}, "DC": {}, "URX": {}, "SI": {}, "IH": {}, "DPE": {}, } // Validate checks the field values on GrpcStatusFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *GrpcStatusFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcStatusFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcStatusFilterMultiError, or nil if none found. func (m *GrpcStatusFilter) ValidateAll() error { return m.validate(true) } func (m *GrpcStatusFilter) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStatuses() { _, _ = idx, item if _, ok := GrpcStatusFilter_Status_name[int32(item)]; !ok { err := GrpcStatusFilterValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } // no validation rules for Exclude if len(errors) > 0 { return GrpcStatusFilterMultiError(errors) } return nil } // GrpcStatusFilterMultiError is an error wrapping multiple validation errors // returned by GrpcStatusFilter.ValidateAll() if the designated constraints // aren't met. type GrpcStatusFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcStatusFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcStatusFilterMultiError) AllErrors() []error { return m } // GrpcStatusFilterValidationError is the validation error returned by // GrpcStatusFilter.Validate if the designated constraints aren't met. type GrpcStatusFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcStatusFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcStatusFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcStatusFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcStatusFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcStatusFilterValidationError) ErrorName() string { return "GrpcStatusFilterValidationError" } // Error satisfies the builtin error interface func (e GrpcStatusFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcStatusFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcStatusFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcStatusFilterValidationError{} // Validate checks the field values on ExtensionFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtensionFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtensionFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtensionFilterMultiError, or nil if none found. func (m *ExtensionFilter) ValidateAll() error { return m.validate(true) } func (m *ExtensionFilter) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *ExtensionFilter_Config: if v == nil { err := ExtensionFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *ExtensionFilter_TypedConfig: if v == nil { err := ExtensionFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ExtensionFilterMultiError(errors) } return nil } // ExtensionFilterMultiError is an error wrapping multiple validation errors // returned by ExtensionFilter.ValidateAll() if the designated constraints // aren't met. type ExtensionFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionFilterMultiError) AllErrors() []error { return m } // ExtensionFilterValidationError is the validation error returned by // ExtensionFilter.Validate if the designated constraints aren't met. type ExtensionFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionFilterValidationError) ErrorName() string { return "ExtensionFilterValidationError" } // Error satisfies the builtin error interface func (e ExtensionFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtensionFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionFilterValidationError{} go-control-plane-0.12.0/envoy/config/filter/dubbo/000077500000000000000000000000001454502223200217365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/dubbo/router/000077500000000000000000000000001454502223200232565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/dubbo/router/v2alpha1/000077500000000000000000000000001454502223200246745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/dubbo/router/v2alpha1/router.pb.go000077500000000000000000000156511454502223200271560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/dubbo/router/v2alpha1/router.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_dubbo_router_v2alpha1_router_proto protoreflect.FileDescriptor var file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDesc = []byte{ 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x08, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xe0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x38, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescOnce sync.Once file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescData = file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDesc ) func file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescGZIP() []byte { file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescOnce.Do(func() { file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescData) }) return file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDescData } var file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.config.filter.dubbo.router.v2alpha1.Router } var file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_init() } func file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_init() { if File_envoy_config_filter_dubbo_router_v2alpha1_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_goTypes, DependencyIndexes: file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_depIdxs, MessageInfos: file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_msgTypes, }.Build() File_envoy_config_filter_dubbo_router_v2alpha1_router_proto = out.File file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_rawDesc = nil file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_goTypes = nil file_envoy_config_filter_dubbo_router_v2alpha1_router_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/dubbo/router/v2alpha1/router.pb.validate.go000077500000000000000000000060631454502223200307430ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/dubbo/router/v2alpha1/router.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/envoy/config/filter/fault/000077500000000000000000000000001454502223200217565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/fault/v2/000077500000000000000000000000001454502223200223055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/fault/v2/fault.pb.go000077500000000000000000000622001454502223200243520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/fault/v2/fault.proto package faultv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FaultDelay_FaultDelayType int32 const ( // Unused and deprecated. FaultDelay_FIXED FaultDelay_FaultDelayType = 0 ) // Enum value maps for FaultDelay_FaultDelayType. var ( FaultDelay_FaultDelayType_name = map[int32]string{ 0: "FIXED", } FaultDelay_FaultDelayType_value = map[string]int32{ "FIXED": 0, } ) func (x FaultDelay_FaultDelayType) Enum() *FaultDelay_FaultDelayType { p := new(FaultDelay_FaultDelayType) *p = x return p } func (x FaultDelay_FaultDelayType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FaultDelay_FaultDelayType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_fault_v2_fault_proto_enumTypes[0].Descriptor() } func (FaultDelay_FaultDelayType) Type() protoreflect.EnumType { return &file_envoy_config_filter_fault_v2_fault_proto_enumTypes[0] } func (x FaultDelay_FaultDelayType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FaultDelay_FaultDelayType.Descriptor instead. func (FaultDelay_FaultDelayType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{0, 0} } // Delay specification is used to inject latency into the // HTTP/gRPC/Mongo/Redis operation or delay proxying of TCP connections. // [#next-free-field: 6] type FaultDelay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unused and deprecated. Will be removed in the next release. // // Deprecated: Marked as deprecated in envoy/config/filter/fault/v2/fault.proto. Type FaultDelay_FaultDelayType `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.config.filter.fault.v2.FaultDelay_FaultDelayType" json:"type,omitempty"` // Types that are assignable to FaultDelaySecifier: // // *FaultDelay_FixedDelay // *FaultDelay_HeaderDelay_ FaultDelaySecifier isFaultDelay_FaultDelaySecifier `protobuf_oneof:"fault_delay_secifier"` // The percentage of operations/connections/requests on which the delay will be injected. Percentage *_type.FractionalPercent `protobuf:"bytes,4,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultDelay) Reset() { *x = FaultDelay{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultDelay) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultDelay) ProtoMessage() {} func (x *FaultDelay) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultDelay.ProtoReflect.Descriptor instead. func (*FaultDelay) Descriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/config/filter/fault/v2/fault.proto. func (x *FaultDelay) GetType() FaultDelay_FaultDelayType { if x != nil { return x.Type } return FaultDelay_FIXED } func (m *FaultDelay) GetFaultDelaySecifier() isFaultDelay_FaultDelaySecifier { if m != nil { return m.FaultDelaySecifier } return nil } func (x *FaultDelay) GetFixedDelay() *duration.Duration { if x, ok := x.GetFaultDelaySecifier().(*FaultDelay_FixedDelay); ok { return x.FixedDelay } return nil } func (x *FaultDelay) GetHeaderDelay() *FaultDelay_HeaderDelay { if x, ok := x.GetFaultDelaySecifier().(*FaultDelay_HeaderDelay_); ok { return x.HeaderDelay } return nil } func (x *FaultDelay) GetPercentage() *_type.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultDelay_FaultDelaySecifier interface { isFaultDelay_FaultDelaySecifier() } type FaultDelay_FixedDelay struct { // Add a fixed delay before forwarding the operation upstream. See // https://developers.google.com/protocol-buffers/docs/proto3#json for // the JSON/YAML Duration mapping. For HTTP/Mongo/Redis, the specified // delay will be injected before a new request/operation. For TCP // connections, the proxying of the connection upstream will be delayed // for the specified period. This is required if type is FIXED. FixedDelay *duration.Duration `protobuf:"bytes,3,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"` } type FaultDelay_HeaderDelay_ struct { // Fault delays are controlled via an HTTP header (if applicable). HeaderDelay *FaultDelay_HeaderDelay `protobuf:"bytes,5,opt,name=header_delay,json=headerDelay,proto3,oneof"` } func (*FaultDelay_FixedDelay) isFaultDelay_FaultDelaySecifier() {} func (*FaultDelay_HeaderDelay_) isFaultDelay_FaultDelaySecifier() {} // Describes a rate limit to be applied. type FaultRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to LimitType: // // *FaultRateLimit_FixedLimit_ // *FaultRateLimit_HeaderLimit_ LimitType isFaultRateLimit_LimitType `protobuf_oneof:"limit_type"` // The percentage of operations/connections/requests on which the rate limit will be injected. Percentage *_type.FractionalPercent `protobuf:"bytes,2,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultRateLimit) Reset() { *x = FaultRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit) ProtoMessage() {} func (x *FaultRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{1} } func (m *FaultRateLimit) GetLimitType() isFaultRateLimit_LimitType { if m != nil { return m.LimitType } return nil } func (x *FaultRateLimit) GetFixedLimit() *FaultRateLimit_FixedLimit { if x, ok := x.GetLimitType().(*FaultRateLimit_FixedLimit_); ok { return x.FixedLimit } return nil } func (x *FaultRateLimit) GetHeaderLimit() *FaultRateLimit_HeaderLimit { if x, ok := x.GetLimitType().(*FaultRateLimit_HeaderLimit_); ok { return x.HeaderLimit } return nil } func (x *FaultRateLimit) GetPercentage() *_type.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultRateLimit_LimitType interface { isFaultRateLimit_LimitType() } type FaultRateLimit_FixedLimit_ struct { // A fixed rate limit. FixedLimit *FaultRateLimit_FixedLimit `protobuf:"bytes,1,opt,name=fixed_limit,json=fixedLimit,proto3,oneof"` } type FaultRateLimit_HeaderLimit_ struct { // Rate limits are controlled via an HTTP header (if applicable). HeaderLimit *FaultRateLimit_HeaderLimit `protobuf:"bytes,3,opt,name=header_limit,json=headerLimit,proto3,oneof"` } func (*FaultRateLimit_FixedLimit_) isFaultRateLimit_LimitType() {} func (*FaultRateLimit_HeaderLimit_) isFaultRateLimit_LimitType() {} // Fault delays are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultDelay_HeaderDelay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultDelay_HeaderDelay) Reset() { *x = FaultDelay_HeaderDelay{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultDelay_HeaderDelay) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultDelay_HeaderDelay) ProtoMessage() {} func (x *FaultDelay_HeaderDelay) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultDelay_HeaderDelay.ProtoReflect.Descriptor instead. func (*FaultDelay_HeaderDelay) Descriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{0, 0} } // Describes a fixed/constant rate limit. type FaultRateLimit_FixedLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The limit supplied in KiB/s. LimitKbps uint64 `protobuf:"varint,1,opt,name=limit_kbps,json=limitKbps,proto3" json:"limit_kbps,omitempty"` } func (x *FaultRateLimit_FixedLimit) Reset() { *x = FaultRateLimit_FixedLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit_FixedLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit_FixedLimit) ProtoMessage() {} func (x *FaultRateLimit_FixedLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit_FixedLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit_FixedLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{1, 0} } func (x *FaultRateLimit_FixedLimit) GetLimitKbps() uint64 { if x != nil { return x.LimitKbps } return 0 } // Rate limits are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultRateLimit_HeaderLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultRateLimit_HeaderLimit) Reset() { *x = FaultRateLimit_HeaderLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit_HeaderLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit_HeaderLimit) ProtoMessage() {} func (x *FaultRateLimit_HeaderLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_fault_v2_fault_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit_HeaderLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit_HeaderLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP(), []int{1, 1} } var File_envoy_config_filter_fault_v2_fault_proto protoreflect.FileDescriptor var file_envoy_config_filter_fault_v2_fault_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x03, 0x0a, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x55, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x59, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x0d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x1b, 0x0a, 0x0e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x58, 0x45, 0x44, 0x10, 0x00, 0x42, 0x1b, 0x0a, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xe2, 0x02, 0x0a, 0x0e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5d, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x34, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6b, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4b, 0x62, 0x70, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x11, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xbf, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2a, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_fault_v2_fault_proto_rawDescOnce sync.Once file_envoy_config_filter_fault_v2_fault_proto_rawDescData = file_envoy_config_filter_fault_v2_fault_proto_rawDesc ) func file_envoy_config_filter_fault_v2_fault_proto_rawDescGZIP() []byte { file_envoy_config_filter_fault_v2_fault_proto_rawDescOnce.Do(func() { file_envoy_config_filter_fault_v2_fault_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_fault_v2_fault_proto_rawDescData) }) return file_envoy_config_filter_fault_v2_fault_proto_rawDescData } var file_envoy_config_filter_fault_v2_fault_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_filter_fault_v2_fault_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_config_filter_fault_v2_fault_proto_goTypes = []interface{}{ (FaultDelay_FaultDelayType)(0), // 0: envoy.config.filter.fault.v2.FaultDelay.FaultDelayType (*FaultDelay)(nil), // 1: envoy.config.filter.fault.v2.FaultDelay (*FaultRateLimit)(nil), // 2: envoy.config.filter.fault.v2.FaultRateLimit (*FaultDelay_HeaderDelay)(nil), // 3: envoy.config.filter.fault.v2.FaultDelay.HeaderDelay (*FaultRateLimit_FixedLimit)(nil), // 4: envoy.config.filter.fault.v2.FaultRateLimit.FixedLimit (*FaultRateLimit_HeaderLimit)(nil), // 5: envoy.config.filter.fault.v2.FaultRateLimit.HeaderLimit (*duration.Duration)(nil), // 6: google.protobuf.Duration (*_type.FractionalPercent)(nil), // 7: envoy.type.FractionalPercent } var file_envoy_config_filter_fault_v2_fault_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.fault.v2.FaultDelay.type:type_name -> envoy.config.filter.fault.v2.FaultDelay.FaultDelayType 6, // 1: envoy.config.filter.fault.v2.FaultDelay.fixed_delay:type_name -> google.protobuf.Duration 3, // 2: envoy.config.filter.fault.v2.FaultDelay.header_delay:type_name -> envoy.config.filter.fault.v2.FaultDelay.HeaderDelay 7, // 3: envoy.config.filter.fault.v2.FaultDelay.percentage:type_name -> envoy.type.FractionalPercent 4, // 4: envoy.config.filter.fault.v2.FaultRateLimit.fixed_limit:type_name -> envoy.config.filter.fault.v2.FaultRateLimit.FixedLimit 5, // 5: envoy.config.filter.fault.v2.FaultRateLimit.header_limit:type_name -> envoy.config.filter.fault.v2.FaultRateLimit.HeaderLimit 7, // 6: envoy.config.filter.fault.v2.FaultRateLimit.percentage:type_name -> envoy.type.FractionalPercent 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_config_filter_fault_v2_fault_proto_init() } func file_envoy_config_filter_fault_v2_fault_proto_init() { if File_envoy_config_filter_fault_v2_fault_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_fault_v2_fault_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultDelay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultDelay_HeaderDelay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit_FixedLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit_HeaderLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FaultDelay_FixedDelay)(nil), (*FaultDelay_HeaderDelay_)(nil), } file_envoy_config_filter_fault_v2_fault_proto_msgTypes[1].OneofWrappers = []interface{}{ (*FaultRateLimit_FixedLimit_)(nil), (*FaultRateLimit_HeaderLimit_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_fault_v2_fault_proto_rawDesc, NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_fault_v2_fault_proto_goTypes, DependencyIndexes: file_envoy_config_filter_fault_v2_fault_proto_depIdxs, EnumInfos: file_envoy_config_filter_fault_v2_fault_proto_enumTypes, MessageInfos: file_envoy_config_filter_fault_v2_fault_proto_msgTypes, }.Build() File_envoy_config_filter_fault_v2_fault_proto = out.File file_envoy_config_filter_fault_v2_fault_proto_rawDesc = nil file_envoy_config_filter_fault_v2_fault_proto_goTypes = nil file_envoy_config_filter_fault_v2_fault_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/fault/v2/fault.pb.validate.go000077500000000000000000000524661454502223200261570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/fault/v2/fault.proto package faultv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FaultDelay with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultDelay) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultDelay with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultDelayMultiError, or // nil if none found. func (m *FaultDelay) ValidateAll() error { return m.validate(true) } func (m *FaultDelay) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofFaultDelaySecifierPresent := false switch v := m.FaultDelaySecifier.(type) { case *FaultDelay_FixedDelay: if v == nil { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFaultDelaySecifierPresent = true if d := m.GetFixedDelay(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = FaultDelayValidationError{ field: "FixedDelay", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := FaultDelayValidationError{ field: "FixedDelay", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } case *FaultDelay_HeaderDelay_: if v == nil { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFaultDelaySecifierPresent = true if all { switch v := interface{}(m.GetHeaderDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFaultDelaySecifierPresent { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultDelayMultiError(errors) } return nil } // FaultDelayMultiError is an error wrapping multiple validation errors // returned by FaultDelay.ValidateAll() if the designated constraints aren't met. type FaultDelayMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultDelayMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultDelayMultiError) AllErrors() []error { return m } // FaultDelayValidationError is the validation error returned by // FaultDelay.Validate if the designated constraints aren't met. type FaultDelayValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultDelayValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultDelayValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultDelayValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultDelayValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultDelayValidationError) ErrorName() string { return "FaultDelayValidationError" } // Error satisfies the builtin error interface func (e FaultDelayValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultDelay.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultDelayValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultDelayValidationError{} // Validate checks the field values on FaultRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultRateLimitMultiError, // or nil if none found. func (m *FaultRateLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofLimitTypePresent := false switch v := m.LimitType.(type) { case *FaultRateLimit_FixedLimit_: if v == nil { err := FaultRateLimitValidationError{ field: "LimitType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLimitTypePresent = true if all { switch v := interface{}(m.GetFixedLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFixedLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, } } } case *FaultRateLimit_HeaderLimit_: if v == nil { err := FaultRateLimitValidationError{ field: "LimitType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLimitTypePresent = true if all { switch v := interface{}(m.GetHeaderLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLimitTypePresent { err := FaultRateLimitValidationError{ field: "LimitType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultRateLimitMultiError(errors) } return nil } // FaultRateLimitMultiError is an error wrapping multiple validation errors // returned by FaultRateLimit.ValidateAll() if the designated constraints // aren't met. type FaultRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimitMultiError) AllErrors() []error { return m } // FaultRateLimitValidationError is the validation error returned by // FaultRateLimit.Validate if the designated constraints aren't met. type FaultRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimitValidationError) ErrorName() string { return "FaultRateLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimitValidationError{} // Validate checks the field values on FaultDelay_HeaderDelay with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultDelay_HeaderDelay) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultDelay_HeaderDelay with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultDelay_HeaderDelayMultiError, or nil if none found. func (m *FaultDelay_HeaderDelay) ValidateAll() error { return m.validate(true) } func (m *FaultDelay_HeaderDelay) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultDelay_HeaderDelayMultiError(errors) } return nil } // FaultDelay_HeaderDelayMultiError is an error wrapping multiple validation // errors returned by FaultDelay_HeaderDelay.ValidateAll() if the designated // constraints aren't met. type FaultDelay_HeaderDelayMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultDelay_HeaderDelayMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultDelay_HeaderDelayMultiError) AllErrors() []error { return m } // FaultDelay_HeaderDelayValidationError is the validation error returned by // FaultDelay_HeaderDelay.Validate if the designated constraints aren't met. type FaultDelay_HeaderDelayValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultDelay_HeaderDelayValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultDelay_HeaderDelayValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultDelay_HeaderDelayValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultDelay_HeaderDelayValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultDelay_HeaderDelayValidationError) ErrorName() string { return "FaultDelay_HeaderDelayValidationError" } // Error satisfies the builtin error interface func (e FaultDelay_HeaderDelayValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultDelay_HeaderDelay.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultDelay_HeaderDelayValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultDelay_HeaderDelayValidationError{} // Validate checks the field values on FaultRateLimit_FixedLimit with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit_FixedLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit_FixedLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultRateLimit_FixedLimitMultiError, or nil if none found. func (m *FaultRateLimit_FixedLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit_FixedLimit) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetLimitKbps() < 1 { err := FaultRateLimit_FixedLimitValidationError{ field: "LimitKbps", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultRateLimit_FixedLimitMultiError(errors) } return nil } // FaultRateLimit_FixedLimitMultiError is an error wrapping multiple validation // errors returned by FaultRateLimit_FixedLimit.ValidateAll() if the // designated constraints aren't met. type FaultRateLimit_FixedLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimit_FixedLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimit_FixedLimitMultiError) AllErrors() []error { return m } // FaultRateLimit_FixedLimitValidationError is the validation error returned by // FaultRateLimit_FixedLimit.Validate if the designated constraints aren't met. type FaultRateLimit_FixedLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimit_FixedLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimit_FixedLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimit_FixedLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimit_FixedLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimit_FixedLimitValidationError) ErrorName() string { return "FaultRateLimit_FixedLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimit_FixedLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit_FixedLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimit_FixedLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimit_FixedLimitValidationError{} // Validate checks the field values on FaultRateLimit_HeaderLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit_HeaderLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit_HeaderLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultRateLimit_HeaderLimitMultiError, or nil if none found. func (m *FaultRateLimit_HeaderLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit_HeaderLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultRateLimit_HeaderLimitMultiError(errors) } return nil } // FaultRateLimit_HeaderLimitMultiError is an error wrapping multiple // validation errors returned by FaultRateLimit_HeaderLimit.ValidateAll() if // the designated constraints aren't met. type FaultRateLimit_HeaderLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimit_HeaderLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimit_HeaderLimitMultiError) AllErrors() []error { return m } // FaultRateLimit_HeaderLimitValidationError is the validation error returned // by FaultRateLimit_HeaderLimit.Validate if the designated constraints aren't met. type FaultRateLimit_HeaderLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimit_HeaderLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimit_HeaderLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimit_HeaderLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimit_HeaderLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimit_HeaderLimitValidationError) ErrorName() string { return "FaultRateLimit_HeaderLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimit_HeaderLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit_HeaderLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimit_HeaderLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimit_HeaderLimitValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/000077500000000000000000000000001454502223200216225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/adaptive_concurrency/000077500000000000000000000000001454502223200260315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/adaptive_concurrency/v2alpha/000077500000000000000000000000001454502223200273665ustar00rootroot00000000000000adaptive_concurrency.pb.go000077500000000000000000000772661454502223200344720ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/adaptive_concurrency/v2alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/adaptive_concurrency/v2alpha/adaptive_concurrency.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration parameters for the gradient controller. type GradientControllerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The percentile to use when summarizing aggregated samples. Defaults to p50. SampleAggregatePercentile *_type.Percent `protobuf:"bytes,1,opt,name=sample_aggregate_percentile,json=sampleAggregatePercentile,proto3" json:"sample_aggregate_percentile,omitempty"` ConcurrencyLimitParams *GradientControllerConfig_ConcurrencyLimitCalculationParams `protobuf:"bytes,2,opt,name=concurrency_limit_params,json=concurrencyLimitParams,proto3" json:"concurrency_limit_params,omitempty"` MinRttCalcParams *GradientControllerConfig_MinimumRTTCalculationParams `protobuf:"bytes,3,opt,name=min_rtt_calc_params,json=minRttCalcParams,proto3" json:"min_rtt_calc_params,omitempty"` } func (x *GradientControllerConfig) Reset() { *x = GradientControllerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig) ProtoMessage() {} func (x *GradientControllerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig.ProtoReflect.Descriptor instead. func (*GradientControllerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescGZIP(), []int{0} } func (x *GradientControllerConfig) GetSampleAggregatePercentile() *_type.Percent { if x != nil { return x.SampleAggregatePercentile } return nil } func (x *GradientControllerConfig) GetConcurrencyLimitParams() *GradientControllerConfig_ConcurrencyLimitCalculationParams { if x != nil { return x.ConcurrencyLimitParams } return nil } func (x *GradientControllerConfig) GetMinRttCalcParams() *GradientControllerConfig_MinimumRTTCalculationParams { if x != nil { return x.MinRttCalcParams } return nil } type AdaptiveConcurrency struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConcurrencyControllerConfig: // // *AdaptiveConcurrency_GradientControllerConfig ConcurrencyControllerConfig isAdaptiveConcurrency_ConcurrencyControllerConfig `protobuf_oneof:"concurrency_controller_config"` // If set to false, the adaptive concurrency filter will operate as a pass-through filter. If the // message is unspecified, the filter will be enabled. Enabled *core.RuntimeFeatureFlag `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *AdaptiveConcurrency) Reset() { *x = AdaptiveConcurrency{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdaptiveConcurrency) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdaptiveConcurrency) ProtoMessage() {} func (x *AdaptiveConcurrency) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdaptiveConcurrency.ProtoReflect.Descriptor instead. func (*AdaptiveConcurrency) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescGZIP(), []int{1} } func (m *AdaptiveConcurrency) GetConcurrencyControllerConfig() isAdaptiveConcurrency_ConcurrencyControllerConfig { if m != nil { return m.ConcurrencyControllerConfig } return nil } func (x *AdaptiveConcurrency) GetGradientControllerConfig() *GradientControllerConfig { if x, ok := x.GetConcurrencyControllerConfig().(*AdaptiveConcurrency_GradientControllerConfig); ok { return x.GradientControllerConfig } return nil } func (x *AdaptiveConcurrency) GetEnabled() *core.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } type isAdaptiveConcurrency_ConcurrencyControllerConfig interface { isAdaptiveConcurrency_ConcurrencyControllerConfig() } type AdaptiveConcurrency_GradientControllerConfig struct { // Gradient concurrency control will be used. GradientControllerConfig *GradientControllerConfig `protobuf:"bytes,1,opt,name=gradient_controller_config,json=gradientControllerConfig,proto3,oneof"` } func (*AdaptiveConcurrency_GradientControllerConfig) isAdaptiveConcurrency_ConcurrencyControllerConfig() { } // Parameters controlling the periodic recalculation of the concurrency limit from sampled request // latencies. type GradientControllerConfig_ConcurrencyLimitCalculationParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The allowed upper-bound on the calculated concurrency limit. Defaults to 1000. MaxConcurrencyLimit *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrency_limit,json=maxConcurrencyLimit,proto3" json:"max_concurrency_limit,omitempty"` // The period of time samples are taken to recalculate the concurrency limit. ConcurrencyUpdateInterval *duration.Duration `protobuf:"bytes,3,opt,name=concurrency_update_interval,json=concurrencyUpdateInterval,proto3" json:"concurrency_update_interval,omitempty"` } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) Reset() { *x = GradientControllerConfig_ConcurrencyLimitCalculationParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig_ConcurrencyLimitCalculationParams) ProtoMessage() {} func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig_ConcurrencyLimitCalculationParams.ProtoReflect.Descriptor instead. func (*GradientControllerConfig_ConcurrencyLimitCalculationParams) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescGZIP(), []int{0, 0} } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) GetMaxConcurrencyLimit() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrencyLimit } return nil } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) GetConcurrencyUpdateInterval() *duration.Duration { if x != nil { return x.ConcurrencyUpdateInterval } return nil } // Parameters controlling the periodic minRTT recalculation. // [#next-free-field: 6] type GradientControllerConfig_MinimumRTTCalculationParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The time interval between recalculating the minimum request round-trip time. Interval *duration.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // The number of requests to aggregate/sample during the minRTT recalculation window before // updating. Defaults to 50. RequestCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=request_count,json=requestCount,proto3" json:"request_count,omitempty"` // Randomized time delta that will be introduced to the start of the minRTT calculation window. // This is represented as a percentage of the interval duration. Defaults to 15%. // // Example: If the interval is 10s and the jitter is 15%, the next window will begin // somewhere in the range (10s - 11.5s). Jitter *_type.Percent `protobuf:"bytes,3,opt,name=jitter,proto3" json:"jitter,omitempty"` // The concurrency limit set while measuring the minRTT. Defaults to 3. MinConcurrency *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=min_concurrency,json=minConcurrency,proto3" json:"min_concurrency,omitempty"` // Amount added to the measured minRTT to add stability to the concurrency limit during natural // variability in latency. This is expressed as a percentage of the measured value and can be // adjusted to allow more or less tolerance to the sampled latency values. // // Defaults to 25%. Buffer *_type.Percent `protobuf:"bytes,5,opt,name=buffer,proto3" json:"buffer,omitempty"` } func (x *GradientControllerConfig_MinimumRTTCalculationParams) Reset() { *x = GradientControllerConfig_MinimumRTTCalculationParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig_MinimumRTTCalculationParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig_MinimumRTTCalculationParams) ProtoMessage() {} func (x *GradientControllerConfig_MinimumRTTCalculationParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig_MinimumRTTCalculationParams.ProtoReflect.Descriptor instead. func (*GradientControllerConfig_MinimumRTTCalculationParams) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescGZIP(), []int{0, 1} } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetRequestCount() *wrappers.UInt32Value { if x != nil { return x.RequestCount } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetJitter() *_type.Percent { if x != nil { return x.Jitter } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetMinConcurrency() *wrappers.UInt32Value { if x != nil { return x.MinConcurrency } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetBuffer() *_type.Percent { if x != nil { return x.Buffer } return nil } var File_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDesc = []byte{ 0x0a, 0x50, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x08, 0x0a, 0x18, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x71, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x54, 0x54, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x52, 0x74, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xe5, 0x01, 0x0a, 0x21, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x59, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x65, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0xd6, 0x02, 0x0a, 0x1b, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x54, 0x54, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x98, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x99, 0x01, 0x0a, 0x1a, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x18, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x24, 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x84, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x37, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x18, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescOnce sync.Once file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescData = file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDesc ) func file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescData) }) return file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDescData } var file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_goTypes = []interface{}{ (*GradientControllerConfig)(nil), // 0: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig (*AdaptiveConcurrency)(nil), // 1: envoy.config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency (*GradientControllerConfig_ConcurrencyLimitCalculationParams)(nil), // 2: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams (*GradientControllerConfig_MinimumRTTCalculationParams)(nil), // 3: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams (*_type.Percent)(nil), // 4: envoy.type.Percent (*core.RuntimeFeatureFlag)(nil), // 5: envoy.api.v2.core.RuntimeFeatureFlag (*wrappers.UInt32Value)(nil), // 6: google.protobuf.UInt32Value (*duration.Duration)(nil), // 7: google.protobuf.Duration } var file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_depIdxs = []int32{ 4, // 0: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.sample_aggregate_percentile:type_name -> envoy.type.Percent 2, // 1: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.concurrency_limit_params:type_name -> envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams 3, // 2: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.min_rtt_calc_params:type_name -> envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams 0, // 3: envoy.config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency.gradient_controller_config:type_name -> envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig 5, // 4: envoy.config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency.enabled:type_name -> envoy.api.v2.core.RuntimeFeatureFlag 6, // 5: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams.max_concurrency_limit:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams.concurrency_update_interval:type_name -> google.protobuf.Duration 7, // 7: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams.interval:type_name -> google.protobuf.Duration 6, // 8: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams.request_count:type_name -> google.protobuf.UInt32Value 4, // 9: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams.jitter:type_name -> envoy.type.Percent 6, // 10: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams.min_concurrency:type_name -> google.protobuf.UInt32Value 4, // 11: envoy.config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams.buffer:type_name -> envoy.type.Percent 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_init() } func file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_init() { if File_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdaptiveConcurrency); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig_ConcurrencyLimitCalculationParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig_MinimumRTTCalculationParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes[1].OneofWrappers = []interface{}{ (*AdaptiveConcurrency_GradientControllerConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_msgTypes, }.Build() File_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto = out.File file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_rawDesc = nil file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_goTypes = nil file_envoy_config_filter_http_adaptive_concurrency_v2alpha_adaptive_concurrency_proto_depIdxs = nil } adaptive_concurrency.pb.validate.go000077500000000000000000000602241454502223200362440ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/adaptive_concurrency/v2alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/adaptive_concurrency/v2alpha/adaptive_concurrency.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GradientControllerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GradientControllerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GradientControllerConfigMultiError, or nil if none found. func (m *GradientControllerConfig) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSampleAggregatePercentile()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSampleAggregatePercentile()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, } } } if m.GetConcurrencyLimitParams() == nil { err := GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConcurrencyLimitParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConcurrencyLimitParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, } } } if m.GetMinRttCalcParams() == nil { err := GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMinRttCalcParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinRttCalcParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GradientControllerConfigMultiError(errors) } return nil } // GradientControllerConfigMultiError is an error wrapping multiple validation // errors returned by GradientControllerConfig.ValidateAll() if the designated // constraints aren't met. type GradientControllerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfigMultiError) AllErrors() []error { return m } // GradientControllerConfigValidationError is the validation error returned by // GradientControllerConfig.Validate if the designated constraints aren't met. type GradientControllerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfigValidationError) ErrorName() string { return "GradientControllerConfigValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfigValidationError{} // Validate checks the field values on AdaptiveConcurrency with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AdaptiveConcurrency) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdaptiveConcurrency with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AdaptiveConcurrencyMultiError, or nil if none found. func (m *AdaptiveConcurrency) ValidateAll() error { return m.validate(true) } func (m *AdaptiveConcurrency) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } oneofConcurrencyControllerConfigPresent := false switch v := m.ConcurrencyControllerConfig.(type) { case *AdaptiveConcurrency_GradientControllerConfig: if v == nil { err := AdaptiveConcurrencyValidationError{ field: "ConcurrencyControllerConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConcurrencyControllerConfigPresent = true if m.GetGradientControllerConfig() == nil { err := AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGradientControllerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGradientControllerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConcurrencyControllerConfigPresent { err := AdaptiveConcurrencyValidationError{ field: "ConcurrencyControllerConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdaptiveConcurrencyMultiError(errors) } return nil } // AdaptiveConcurrencyMultiError is an error wrapping multiple validation // errors returned by AdaptiveConcurrency.ValidateAll() if the designated // constraints aren't met. type AdaptiveConcurrencyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdaptiveConcurrencyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdaptiveConcurrencyMultiError) AllErrors() []error { return m } // AdaptiveConcurrencyValidationError is the validation error returned by // AdaptiveConcurrency.Validate if the designated constraints aren't met. type AdaptiveConcurrencyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdaptiveConcurrencyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdaptiveConcurrencyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdaptiveConcurrencyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdaptiveConcurrencyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdaptiveConcurrencyValidationError) ErrorName() string { return "AdaptiveConcurrencyValidationError" } // Error satisfies the builtin error interface func (e AdaptiveConcurrencyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdaptiveConcurrency.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdaptiveConcurrencyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdaptiveConcurrencyValidationError{} // Validate checks the field values on // GradientControllerConfig_ConcurrencyLimitCalculationParams with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GradientControllerConfig_ConcurrencyLimitCalculationParams with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError, or // nil if none found. func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxConcurrencyLimit(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "MaxConcurrencyLimit", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if m.GetConcurrencyUpdateInterval() == nil { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetConcurrencyUpdateInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError(errors) } return nil } // GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError is an // error wrapping multiple validation errors returned by // GradientControllerConfig_ConcurrencyLimitCalculationParams.ValidateAll() if // the designated constraints aren't met. type GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError) AllErrors() []error { return m } // GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError is // the validation error returned by // GradientControllerConfig_ConcurrencyLimitCalculationParams.Validate if the // designated constraints aren't met. type GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) ErrorName() string { return "GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig_ConcurrencyLimitCalculationParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{} // Validate checks the field values on // GradientControllerConfig_MinimumRTTCalculationParams with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig_MinimumRTTCalculationParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GradientControllerConfig_MinimumRTTCalculationParams with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // GradientControllerConfig_MinimumRTTCalculationParamsMultiError, or nil if // none found. func (m *GradientControllerConfig_MinimumRTTCalculationParams) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig_MinimumRTTCalculationParams) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetInterval() == nil { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetRequestCount(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "RequestCount", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMinConcurrency(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "MinConcurrency", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetBuffer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBuffer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GradientControllerConfig_MinimumRTTCalculationParamsMultiError(errors) } return nil } // GradientControllerConfig_MinimumRTTCalculationParamsMultiError is an error // wrapping multiple validation errors returned by // GradientControllerConfig_MinimumRTTCalculationParams.ValidateAll() if the // designated constraints aren't met. type GradientControllerConfig_MinimumRTTCalculationParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfig_MinimumRTTCalculationParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfig_MinimumRTTCalculationParamsMultiError) AllErrors() []error { return m } // GradientControllerConfig_MinimumRTTCalculationParamsValidationError is the // validation error returned by // GradientControllerConfig_MinimumRTTCalculationParams.Validate if the // designated constraints aren't met. type GradientControllerConfig_MinimumRTTCalculationParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) ErrorName() string { return "GradientControllerConfig_MinimumRTTCalculationParamsValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig_MinimumRTTCalculationParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/aws_lambda/000077500000000000000000000000001454502223200237145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/aws_lambda/v2alpha/000077500000000000000000000000001454502223200252515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/aws_lambda/v2alpha/aws_lambda.pb.go000077500000000000000000000354131454502223200303030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/aws_lambda/v2alpha/aws_lambda.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config_InvocationMode int32 const ( // This is the more common mode of invocation, in which Lambda responds after it has completed the function. In // this mode the output of the Lambda function becomes the response of the HTTP request. Config_SYNCHRONOUS Config_InvocationMode = 0 // In this mode Lambda responds immediately but continues to process the function asynchronously. This mode can be // used to signal events for example. In this mode, Lambda responds with an acknowledgment that it received the // call which is translated to an HTTP 200 OK by the filter. Config_ASYNCHRONOUS Config_InvocationMode = 1 ) // Enum value maps for Config_InvocationMode. var ( Config_InvocationMode_name = map[int32]string{ 0: "SYNCHRONOUS", 1: "ASYNCHRONOUS", } Config_InvocationMode_value = map[string]int32{ "SYNCHRONOUS": 0, "ASYNCHRONOUS": 1, } ) func (x Config_InvocationMode) Enum() *Config_InvocationMode { p := new(Config_InvocationMode) *p = x return p } func (x Config_InvocationMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_InvocationMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_enumTypes[0].Descriptor() } func (Config_InvocationMode) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_enumTypes[0] } func (x Config_InvocationMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_InvocationMode.Descriptor instead. func (Config_InvocationMode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescGZIP(), []int{0, 0} } // AWS Lambda filter config type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ARN of the AWS Lambda to invoke when the filter is engaged // Must be in the following format: // arn::lambda:::function: Arn string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"` // Whether to transform the request (headers and body) to a JSON payload or pass it as is. PayloadPassthrough bool `protobuf:"varint,2,opt,name=payload_passthrough,json=payloadPassthrough,proto3" json:"payload_passthrough,omitempty"` // Determines the way to invoke the Lambda function. InvocationMode Config_InvocationMode `protobuf:"varint,3,opt,name=invocation_mode,json=invocationMode,proto3,enum=envoy.config.filter.http.aws_lambda.v2alpha.Config_InvocationMode" json:"invocation_mode,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescGZIP(), []int{0} } func (x *Config) GetArn() string { if x != nil { return x.Arn } return "" } func (x *Config) GetPayloadPassthrough() bool { if x != nil { return x.PayloadPassthrough } return false } func (x *Config) GetInvocationMode() Config_InvocationMode { if x != nil { return x.InvocationMode } return Config_SYNCHRONOUS } // Per-route configuration for AWS Lambda. This can be useful when invoking a different Lambda function or a different // version of the same Lambda depending on the route. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InvokeConfig *Config `protobuf:"bytes,1,opt,name=invoke_config,json=invokeConfig,proto3" json:"invoke_config,omitempty"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescGZIP(), []int{1} } func (x *PerRouteConfig) GetInvokeConfig() *Config { if x != nil { return x.InvokeConfig } return nil } var File_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x03, 0x61, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x61, 0x72, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x75, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x33, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x10, 0x01, 0x22, 0x6a, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xde, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x01, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x41, 0x77, 0x73, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescOnce sync.Once file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescData = file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDesc ) func file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescData) }) return file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDescData } var file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_goTypes = []interface{}{ (Config_InvocationMode)(0), // 0: envoy.config.filter.http.aws_lambda.v2alpha.Config.InvocationMode (*Config)(nil), // 1: envoy.config.filter.http.aws_lambda.v2alpha.Config (*PerRouteConfig)(nil), // 2: envoy.config.filter.http.aws_lambda.v2alpha.PerRouteConfig } var file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.http.aws_lambda.v2alpha.Config.invocation_mode:type_name -> envoy.config.filter.http.aws_lambda.v2alpha.Config.InvocationMode 1, // 1: envoy.config.filter.http.aws_lambda.v2alpha.PerRouteConfig.invoke_config:type_name -> envoy.config.filter.http.aws_lambda.v2alpha.Config 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_init() } func file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_init() { if File_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_depIdxs, EnumInfos: file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_enumTypes, MessageInfos: file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_msgTypes, }.Build() File_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto = out.File file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_rawDesc = nil file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_goTypes = nil file_envoy_config_filter_http_aws_lambda_v2alpha_aws_lambda_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/aws_lambda/v2alpha/aws_lambda.pb.validate.go000077500000000000000000000161131454502223200320670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/aws_lambda/v2alpha/aws_lambda.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetArn()) < 1 { err := ConfigValidationError{ field: "Arn", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for PayloadPassthrough if _, ok := Config_InvocationMode_name[int32(m.GetInvocationMode())]; !ok { err := ConfigValidationError{ field: "InvocationMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetInvokeConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInvokeConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/aws_request_signing/000077500000000000000000000000001454502223200257025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/aws_request_signing/v2alpha/000077500000000000000000000000001454502223200272375ustar00rootroot00000000000000aws_request_signing.pb.go000077500000000000000000000251451454502223200342010ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/aws_request_signing/v2alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/aws_request_signing/v2alpha/aws_request_signing.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Top level configuration for the AWS request signing filter. type AwsRequestSigning struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The `service namespace // `_ // of the HTTP endpoint. // // Example: s3 ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The `region `_ hosting the HTTP // endpoint. // // Example: us-west-2 Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` // Indicates that before signing headers, the host header will be swapped with // this value. If not set or empty, the original host header value // will be used and no rewrite will happen. // // Note: this rewrite affects both signing and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite ` given that the // value set here would be used for signing whereas the value set in the HCM would be used // for host header forwarding which is not the desired outcome. HostRewrite string `protobuf:"bytes,3,opt,name=host_rewrite,json=hostRewrite,proto3" json:"host_rewrite,omitempty"` } func (x *AwsRequestSigning) Reset() { *x = AwsRequestSigning{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AwsRequestSigning) String() string { return protoimpl.X.MessageStringOf(x) } func (*AwsRequestSigning) ProtoMessage() {} func (x *AwsRequestSigning) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AwsRequestSigning.ProtoReflect.Descriptor instead. func (*AwsRequestSigning) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescGZIP(), []int{0} } func (x *AwsRequestSigning) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *AwsRequestSigning) GetRegion() string { if x != nil { return x.Region } return "" } func (x *AwsRequestSigning) GetHostRewrite() string { if x != nil { return x.HostRewrite } return "" } var File_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xff, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x36, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x16, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescOnce sync.Once file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescData = file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDesc ) func file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescData) }) return file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDescData } var file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_goTypes = []interface{}{ (*AwsRequestSigning)(nil), // 0: envoy.config.filter.http.aws_request_signing.v2alpha.AwsRequestSigning } var file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_init() } func file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_init() { if File_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AwsRequestSigning); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_msgTypes, }.Build() File_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto = out.File file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_rawDesc = nil file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_goTypes = nil file_envoy_config_filter_http_aws_request_signing_v2alpha_aws_request_signing_proto_depIdxs = nil } aws_request_signing.pb.validate.go000077500000000000000000000075031454502223200357670ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/aws_request_signing/v2alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/aws_request_signing/v2alpha/aws_request_signing.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AwsRequestSigning with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AwsRequestSigning) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AwsRequestSigning with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AwsRequestSigningMultiError, or nil if none found. func (m *AwsRequestSigning) ValidateAll() error { return m.validate(true) } func (m *AwsRequestSigning) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetServiceName()) < 1 { err := AwsRequestSigningValidationError{ field: "ServiceName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetRegion()) < 1 { err := AwsRequestSigningValidationError{ field: "Region", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for HostRewrite if len(errors) > 0 { return AwsRequestSigningMultiError(errors) } return nil } // AwsRequestSigningMultiError is an error wrapping multiple validation errors // returned by AwsRequestSigning.ValidateAll() if the designated constraints // aren't met. type AwsRequestSigningMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AwsRequestSigningMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AwsRequestSigningMultiError) AllErrors() []error { return m } // AwsRequestSigningValidationError is the validation error returned by // AwsRequestSigning.Validate if the designated constraints aren't met. type AwsRequestSigningValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AwsRequestSigningValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AwsRequestSigningValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AwsRequestSigningValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AwsRequestSigningValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AwsRequestSigningValidationError) ErrorName() string { return "AwsRequestSigningValidationError" } // Error satisfies the builtin error interface func (e AwsRequestSigningValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAwsRequestSigning.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AwsRequestSigningValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AwsRequestSigningValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/buffer/000077500000000000000000000000001454502223200230735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/buffer/v2/000077500000000000000000000000001454502223200234225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/buffer/v2/buffer.pb.go000077500000000000000000000275251454502223200256400ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/buffer/v2/buffer.proto package bufferv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Buffer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum request size that the filter will buffer before the connection // manager will stop buffering and return a 413 response. MaxRequestBytes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` } func (x *Buffer) Reset() { *x = Buffer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Buffer) String() string { return protoimpl.X.MessageStringOf(x) } func (*Buffer) ProtoMessage() {} func (x *Buffer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Buffer.ProtoReflect.Descriptor instead. func (*Buffer) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescGZIP(), []int{0} } func (x *Buffer) GetMaxRequestBytes() *wrappers.UInt32Value { if x != nil { return x.MaxRequestBytes } return nil } type BufferPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *BufferPerRoute_Disabled // *BufferPerRoute_Buffer Override isBufferPerRoute_Override `protobuf_oneof:"override"` } func (x *BufferPerRoute) Reset() { *x = BufferPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferPerRoute) ProtoMessage() {} func (x *BufferPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferPerRoute.ProtoReflect.Descriptor instead. func (*BufferPerRoute) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescGZIP(), []int{1} } func (m *BufferPerRoute) GetOverride() isBufferPerRoute_Override { if m != nil { return m.Override } return nil } func (x *BufferPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*BufferPerRoute_Disabled); ok { return x.Disabled } return false } func (x *BufferPerRoute) GetBuffer() *Buffer { if x, ok := x.GetOverride().(*BufferPerRoute_Buffer); ok { return x.Buffer } return nil } type isBufferPerRoute_Override interface { isBufferPerRoute_Override() } type BufferPerRoute_Disabled struct { // Disable the buffer filter for this particular vhost or route. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type BufferPerRoute_Buffer struct { // Override the global configuration of the filter with this new config. Buffer *Buffer `protobuf:"bytes,2,opt,name=buffer,proto3,oneof"` } func (*BufferPerRoute_Disabled) isBufferPerRoute_Override() {} func (*BufferPerRoute_Buffer) isBufferPerRoute_Override() {} var File_envoy_config_filter_http_buffer_v2_buffer_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x06, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xcc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescOnce sync.Once file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescData = file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDesc ) func file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescData) }) return file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDescData } var file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_buffer_v2_buffer_proto_goTypes = []interface{}{ (*Buffer)(nil), // 0: envoy.config.filter.http.buffer.v2.Buffer (*BufferPerRoute)(nil), // 1: envoy.config.filter.http.buffer.v2.BufferPerRoute (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_config_filter_http_buffer_v2_buffer_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.buffer.v2.Buffer.max_request_bytes:type_name -> google.protobuf.UInt32Value 0, // 1: envoy.config.filter.http.buffer.v2.BufferPerRoute.buffer:type_name -> envoy.config.filter.http.buffer.v2.Buffer 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_buffer_v2_buffer_proto_init() } func file_envoy_config_filter_http_buffer_v2_buffer_proto_init() { if File_envoy_config_filter_http_buffer_v2_buffer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Buffer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes[1].OneofWrappers = []interface{}{ (*BufferPerRoute_Disabled)(nil), (*BufferPerRoute_Buffer)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_buffer_v2_buffer_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_buffer_v2_buffer_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_buffer_v2_buffer_proto_msgTypes, }.Build() File_envoy_config_filter_http_buffer_v2_buffer_proto = out.File file_envoy_config_filter_http_buffer_v2_buffer_proto_rawDesc = nil file_envoy_config_filter_http_buffer_v2_buffer_proto_goTypes = nil file_envoy_config_filter_http_buffer_v2_buffer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/buffer/v2/buffer.pb.validate.go000077500000000000000000000203211454502223200274130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/buffer/v2/buffer.proto package bufferv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Buffer with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Buffer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Buffer with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BufferMultiError, or nil if none found. func (m *Buffer) ValidateAll() error { return m.validate(true) } func (m *Buffer) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxRequestBytes(); wrapper != nil { if wrapper.GetValue() <= 0 { err := BufferValidationError{ field: "MaxRequestBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } else { err := BufferValidationError{ field: "MaxRequestBytes", reason: "value is required and must not be nil.", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferMultiError(errors) } return nil } // BufferMultiError is an error wrapping multiple validation errors returned by // Buffer.ValidateAll() if the designated constraints aren't met. type BufferMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferMultiError) AllErrors() []error { return m } // BufferValidationError is the validation error returned by Buffer.Validate if // the designated constraints aren't met. type BufferValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferValidationError) ErrorName() string { return "BufferValidationError" } // Error satisfies the builtin error interface func (e BufferValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBuffer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferValidationError{} // Validate checks the field values on BufferPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BufferPerRouteMultiError, // or nil if none found. func (m *BufferPerRoute) ValidateAll() error { return m.validate(true) } func (m *BufferPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *BufferPerRoute_Disabled: if v == nil { err := BufferPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := BufferPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *BufferPerRoute_Buffer: if v == nil { err := BufferPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetBuffer() == nil { err := BufferPerRouteValidationError{ field: "Buffer", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBuffer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBuffer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := BufferPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferPerRouteMultiError(errors) } return nil } // BufferPerRouteMultiError is an error wrapping multiple validation errors // returned by BufferPerRoute.ValidateAll() if the designated constraints // aren't met. type BufferPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferPerRouteMultiError) AllErrors() []error { return m } // BufferPerRouteValidationError is the validation error returned by // BufferPerRoute.Validate if the designated constraints aren't met. type BufferPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferPerRouteValidationError) ErrorName() string { return "BufferPerRouteValidationError" } // Error satisfies the builtin error interface func (e BufferPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferPerRouteValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/cache/000077500000000000000000000000001454502223200226655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/cache/v2alpha/000077500000000000000000000000001454502223200242225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/cache/v2alpha/cache.pb.go000077500000000000000000000437131454502223200262270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/cache/v2alpha/cache.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Config specific to the cache storage implementation. TypedConfig *any1.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` // List of matching rules that defines allowed *Vary* headers. // // The *vary* response header holds a list of header names that affect the // contents of a response, as described by // https://httpwg.org/specs/rfc7234.html#caching.negotiated.responses. // // During insertion, *allowed_vary_headers* acts as a allowlist: if a // response's *vary* header mentions any header names that aren't matched by any rules in // *allowed_vary_headers*, that response will not be cached. // // During lookup, *allowed_vary_headers* controls what request headers will be // sent to the cache storage implementation. AllowedVaryHeaders []*matcher.StringMatcher `protobuf:"bytes,2,rep,name=allowed_vary_headers,json=allowedVaryHeaders,proto3" json:"allowed_vary_headers,omitempty"` // [#not-implemented-hide:] // // // Modifies cache key creation by restricting which parts of the URL are included. KeyCreatorParams *CacheConfig_KeyCreatorParams `protobuf:"bytes,3,opt,name=key_creator_params,json=keyCreatorParams,proto3" json:"key_creator_params,omitempty"` // [#not-implemented-hide:] // // // Max body size the cache filter will insert into a cache. 0 means unlimited (though the cache // storage implementation may have its own limit beyond which it will reject insertions). MaxBodyBytes uint32 `protobuf:"varint,4,opt,name=max_body_bytes,json=maxBodyBytes,proto3" json:"max_body_bytes,omitempty"` } func (x *CacheConfig) Reset() { *x = CacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheConfig) ProtoMessage() {} func (x *CacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CacheConfig.ProtoReflect.Descriptor instead. func (*CacheConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescGZIP(), []int{0} } func (x *CacheConfig) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } func (x *CacheConfig) GetAllowedVaryHeaders() []*matcher.StringMatcher { if x != nil { return x.AllowedVaryHeaders } return nil } func (x *CacheConfig) GetKeyCreatorParams() *CacheConfig_KeyCreatorParams { if x != nil { return x.KeyCreatorParams } return nil } func (x *CacheConfig) GetMaxBodyBytes() uint32 { if x != nil { return x.MaxBodyBytes } return 0 } // [#not-implemented-hide:] // Modifies cache key creation by restricting which parts of the URL are included. type CacheConfig_KeyCreatorParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, exclude the URL scheme from the cache key. Set to true if your origins always // produce the same response for http and https requests. ExcludeScheme bool `protobuf:"varint,1,opt,name=exclude_scheme,json=excludeScheme,proto3" json:"exclude_scheme,omitempty"` // If true, exclude the host from the cache key. Set to true if your origins' responses don't // ever depend on host. ExcludeHost bool `protobuf:"varint,2,opt,name=exclude_host,json=excludeHost,proto3" json:"exclude_host,omitempty"` // If *query_parameters_included* is nonempty, only query parameters matched // by one or more of its matchers are included in the cache key. Any other // query params will not affect cache lookup. QueryParametersIncluded []*route.QueryParameterMatcher `protobuf:"bytes,3,rep,name=query_parameters_included,json=queryParametersIncluded,proto3" json:"query_parameters_included,omitempty"` // If *query_parameters_excluded* is nonempty, query parameters matched by one // or more of its matchers are excluded from the cache key (even if also // matched by *query_parameters_included*), and will not affect cache lookup. QueryParametersExcluded []*route.QueryParameterMatcher `protobuf:"bytes,4,rep,name=query_parameters_excluded,json=queryParametersExcluded,proto3" json:"query_parameters_excluded,omitempty"` } func (x *CacheConfig_KeyCreatorParams) Reset() { *x = CacheConfig_KeyCreatorParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CacheConfig_KeyCreatorParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheConfig_KeyCreatorParams) ProtoMessage() {} func (x *CacheConfig_KeyCreatorParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CacheConfig_KeyCreatorParams.ProtoReflect.Descriptor instead. func (*CacheConfig_KeyCreatorParams) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescGZIP(), []int{0, 0} } func (x *CacheConfig_KeyCreatorParams) GetExcludeScheme() bool { if x != nil { return x.ExcludeScheme } return false } func (x *CacheConfig_KeyCreatorParams) GetExcludeHost() bool { if x != nil { return x.ExcludeHost } return false } func (x *CacheConfig_KeyCreatorParams) GetQueryParametersIncluded() []*route.QueryParameterMatcher { if x != nil { return x.QueryParametersIncluded } return nil } func (x *CacheConfig_KeyCreatorParams) GetQueryParametersExcluded() []*route.QueryParameterMatcher { if x != nil { return x.QueryParametersExcluded } return nil } var File_envoy_config_filter_http_cache_v2alpha_cache_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x04, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xa2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xaa, 0x02, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x19, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x19, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x42, 0xd0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescOnce sync.Once file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescData = file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDesc ) func file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescData) }) return file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDescData } var file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_cache_v2alpha_cache_proto_goTypes = []interface{}{ (*CacheConfig)(nil), // 0: envoy.config.filter.http.cache.v2alpha.CacheConfig (*CacheConfig_KeyCreatorParams)(nil), // 1: envoy.config.filter.http.cache.v2alpha.CacheConfig.KeyCreatorParams (*any1.Any)(nil), // 2: google.protobuf.Any (*matcher.StringMatcher)(nil), // 3: envoy.type.matcher.StringMatcher (*route.QueryParameterMatcher)(nil), // 4: envoy.api.v2.route.QueryParameterMatcher } var file_envoy_config_filter_http_cache_v2alpha_cache_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.cache.v2alpha.CacheConfig.typed_config:type_name -> google.protobuf.Any 3, // 1: envoy.config.filter.http.cache.v2alpha.CacheConfig.allowed_vary_headers:type_name -> envoy.type.matcher.StringMatcher 1, // 2: envoy.config.filter.http.cache.v2alpha.CacheConfig.key_creator_params:type_name -> envoy.config.filter.http.cache.v2alpha.CacheConfig.KeyCreatorParams 4, // 3: envoy.config.filter.http.cache.v2alpha.CacheConfig.KeyCreatorParams.query_parameters_included:type_name -> envoy.api.v2.route.QueryParameterMatcher 4, // 4: envoy.config.filter.http.cache.v2alpha.CacheConfig.KeyCreatorParams.query_parameters_excluded:type_name -> envoy.api.v2.route.QueryParameterMatcher 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_cache_v2alpha_cache_proto_init() } func file_envoy_config_filter_http_cache_v2alpha_cache_proto_init() { if File_envoy_config_filter_http_cache_v2alpha_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CacheConfig_KeyCreatorParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_cache_v2alpha_cache_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_cache_v2alpha_cache_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_cache_v2alpha_cache_proto_msgTypes, }.Build() File_envoy_config_filter_http_cache_v2alpha_cache_proto = out.File file_envoy_config_filter_http_cache_v2alpha_cache_proto_rawDesc = nil file_envoy_config_filter_http_cache_v2alpha_cache_proto_goTypes = nil file_envoy_config_filter_http_cache_v2alpha_cache_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/cache/v2alpha/cache.pb.validate.go000077500000000000000000000247131454502223200300160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/cache/v2alpha/cache.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CacheConfigMultiError, or // nil if none found. func (m *CacheConfig) ValidateAll() error { return m.validate(true) } func (m *CacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTypedConfig() == nil { err := CacheConfigValidationError{ field: "TypedConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if a := m.GetTypedConfig(); a != nil { } for idx, item := range m.GetAllowedVaryHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetKeyCreatorParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyCreatorParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MaxBodyBytes if len(errors) > 0 { return CacheConfigMultiError(errors) } return nil } // CacheConfigMultiError is an error wrapping multiple validation errors // returned by CacheConfig.ValidateAll() if the designated constraints aren't met. type CacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CacheConfigMultiError) AllErrors() []error { return m } // CacheConfigValidationError is the validation error returned by // CacheConfig.Validate if the designated constraints aren't met. type CacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CacheConfigValidationError) ErrorName() string { return "CacheConfigValidationError" } // Error satisfies the builtin error interface func (e CacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CacheConfigValidationError{} // Validate checks the field values on CacheConfig_KeyCreatorParams with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CacheConfig_KeyCreatorParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CacheConfig_KeyCreatorParams with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CacheConfig_KeyCreatorParamsMultiError, or nil if none found. func (m *CacheConfig_KeyCreatorParams) ValidateAll() error { return m.validate(true) } func (m *CacheConfig_KeyCreatorParams) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ExcludeScheme // no validation rules for ExcludeHost for idx, item := range m.GetQueryParametersIncluded() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetQueryParametersExcluded() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CacheConfig_KeyCreatorParamsMultiError(errors) } return nil } // CacheConfig_KeyCreatorParamsMultiError is an error wrapping multiple // validation errors returned by CacheConfig_KeyCreatorParams.ValidateAll() if // the designated constraints aren't met. type CacheConfig_KeyCreatorParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CacheConfig_KeyCreatorParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CacheConfig_KeyCreatorParamsMultiError) AllErrors() []error { return m } // CacheConfig_KeyCreatorParamsValidationError is the validation error returned // by CacheConfig_KeyCreatorParams.Validate if the designated constraints // aren't met. type CacheConfig_KeyCreatorParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CacheConfig_KeyCreatorParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CacheConfig_KeyCreatorParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CacheConfig_KeyCreatorParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CacheConfig_KeyCreatorParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CacheConfig_KeyCreatorParamsValidationError) ErrorName() string { return "CacheConfig_KeyCreatorParamsValidationError" } // Error satisfies the builtin error interface func (e CacheConfig_KeyCreatorParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCacheConfig_KeyCreatorParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CacheConfig_KeyCreatorParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CacheConfig_KeyCreatorParamsValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/compressor/000077500000000000000000000000001454502223200240165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/compressor/v2/000077500000000000000000000000001454502223200243455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/compressor/v2/compressor.pb.go000077500000000000000000000302441454502223200274760ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/compressor/v2/compressor.proto package compressorv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type Compressor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum response length, in bytes, which will trigger compression. The default value is 30. ContentLength *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // Set of strings that allows specifying which mime-types yield compression; e.g., // application/json, text/html, etc. When this field is not defined, compression will be applied // to the following mime-types: "application/javascript", "application/json", // "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml" // and their synonyms. ContentType []string `protobuf:"bytes,2,rep,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // If true, disables compression when the response contains an etag header. When it is false, the // filter will preserve weak etags and remove the ones that require strong validation. DisableOnEtagHeader bool `protobuf:"varint,3,opt,name=disable_on_etag_header,json=disableOnEtagHeader,proto3" json:"disable_on_etag_header,omitempty"` // If true, removes accept-encoding from the request headers before dispatching it to the upstream // so that responses do not get compressed before reaching the filter. // .. attention: // // To avoid interfering with other compression filters in the same chain use this option in // the filter closest to the upstream. RemoveAcceptEncodingHeader bool `protobuf:"varint,4,opt,name=remove_accept_encoding_header,json=removeAcceptEncodingHeader,proto3" json:"remove_accept_encoding_header,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If set to false, the // filter will operate as a pass-through filter. If not specified, defaults to enabled. RuntimeEnabled *core.RuntimeFeatureFlag `protobuf:"bytes,5,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` } func (x *Compressor) Reset() { *x = Compressor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_compressor_v2_compressor_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Compressor) String() string { return protoimpl.X.MessageStringOf(x) } func (*Compressor) ProtoMessage() {} func (x *Compressor) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_compressor_v2_compressor_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Compressor.ProtoReflect.Descriptor instead. func (*Compressor) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescGZIP(), []int{0} } func (x *Compressor) GetContentLength() *wrappers.UInt32Value { if x != nil { return x.ContentLength } return nil } func (x *Compressor) GetContentType() []string { if x != nil { return x.ContentType } return nil } func (x *Compressor) GetDisableOnEtagHeader() bool { if x != nil { return x.DisableOnEtagHeader } return false } func (x *Compressor) GetRemoveAcceptEncodingHeader() bool { if x != nil { return x.RemoveAcceptEncodingHeader } return false } func (x *Compressor) GetRuntimeEnabled() *core.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } var File_envoy_config_filter_http_compressor_v2_compressor_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x45, 0x74, 0x61, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xe0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescOnce sync.Once file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescData = file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDesc ) func file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescData) }) return file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDescData } var file_envoy_config_filter_http_compressor_v2_compressor_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_compressor_v2_compressor_proto_goTypes = []interface{}{ (*Compressor)(nil), // 0: envoy.config.filter.http.compressor.v2.Compressor (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*core.RuntimeFeatureFlag)(nil), // 2: envoy.api.v2.core.RuntimeFeatureFlag } var file_envoy_config_filter_http_compressor_v2_compressor_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.compressor.v2.Compressor.content_length:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.config.filter.http.compressor.v2.Compressor.runtime_enabled:type_name -> envoy.api.v2.core.RuntimeFeatureFlag 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_compressor_v2_compressor_proto_init() } func file_envoy_config_filter_http_compressor_v2_compressor_proto_init() { if File_envoy_config_filter_http_compressor_v2_compressor_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_compressor_v2_compressor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Compressor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_compressor_v2_compressor_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_compressor_v2_compressor_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_compressor_v2_compressor_proto_msgTypes, }.Build() File_envoy_config_filter_http_compressor_v2_compressor_proto = out.File file_envoy_config_filter_http_compressor_v2_compressor_proto_rawDesc = nil file_envoy_config_filter_http_compressor_v2_compressor_proto_goTypes = nil file_envoy_config_filter_http_compressor_v2_compressor_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/compressor/v2/compressor.pb.validate.go000077500000000000000000000116411454502223200312660ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/compressor/v2/compressor.proto package compressorv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Compressor with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Compressor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Compressor with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CompressorMultiError, or // nil if none found. func (m *Compressor) ValidateAll() error { return m.validate(true) } func (m *Compressor) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetContentLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetContentLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableOnEtagHeader // no validation rules for RemoveAcceptEncodingHeader if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CompressorMultiError(errors) } return nil } // CompressorMultiError is an error wrapping multiple validation errors // returned by Compressor.ValidateAll() if the designated constraints aren't met. type CompressorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CompressorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CompressorMultiError) AllErrors() []error { return m } // CompressorValidationError is the validation error returned by // Compressor.Validate if the designated constraints aren't met. type CompressorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CompressorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CompressorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CompressorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CompressorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CompressorValidationError) ErrorName() string { return "CompressorValidationError" } // Error satisfies the builtin error interface func (e CompressorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CompressorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CompressorValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/cors/000077500000000000000000000000001454502223200225705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/cors/v2/000077500000000000000000000000001454502223200231175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/cors/v2/cors.pb.go000077500000000000000000000144451454502223200250270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/cors/v2/cors.proto package corsv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Cors filter config. type Cors struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Cors) Reset() { *x = Cors{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_cors_v2_cors_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cors) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cors) ProtoMessage() {} func (x *Cors) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_cors_v2_cors_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cors.ProtoReflect.Descriptor instead. func (*Cors) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_cors_v2_cors_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_http_cors_v2_cors_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_cors_v2_cors_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x06, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x42, 0xc2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x27, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x63, 0x6f, 0x72, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_cors_v2_cors_proto_rawDescOnce sync.Once file_envoy_config_filter_http_cors_v2_cors_proto_rawDescData = file_envoy_config_filter_http_cors_v2_cors_proto_rawDesc ) func file_envoy_config_filter_http_cors_v2_cors_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_cors_v2_cors_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_cors_v2_cors_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_cors_v2_cors_proto_rawDescData) }) return file_envoy_config_filter_http_cors_v2_cors_proto_rawDescData } var file_envoy_config_filter_http_cors_v2_cors_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_cors_v2_cors_proto_goTypes = []interface{}{ (*Cors)(nil), // 0: envoy.config.filter.http.cors.v2.Cors } var file_envoy_config_filter_http_cors_v2_cors_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_cors_v2_cors_proto_init() } func file_envoy_config_filter_http_cors_v2_cors_proto_init() { if File_envoy_config_filter_http_cors_v2_cors_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_cors_v2_cors_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cors); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_cors_v2_cors_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_cors_v2_cors_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_cors_v2_cors_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_cors_v2_cors_proto_msgTypes, }.Build() File_envoy_config_filter_http_cors_v2_cors_proto = out.File file_envoy_config_filter_http_cors_v2_cors_proto_rawDesc = nil file_envoy_config_filter_http_cors_v2_cors_proto_goTypes = nil file_envoy_config_filter_http_cors_v2_cors_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/cors/v2/cors.pb.validate.go000077500000000000000000000057641454502223200266230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/cors/v2/cors.proto package corsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Cors with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Cors) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cors with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in CorsMultiError, or nil if none found. func (m *Cors) ValidateAll() error { return m.validate(true) } func (m *Cors) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CorsMultiError(errors) } return nil } // CorsMultiError is an error wrapping multiple validation errors returned by // Cors.ValidateAll() if the designated constraints aren't met. type CorsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CorsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CorsMultiError) AllErrors() []error { return m } // CorsValidationError is the validation error returned by Cors.Validate if the // designated constraints aren't met. type CorsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CorsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CorsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CorsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CorsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CorsValidationError) ErrorName() string { return "CorsValidationError" } // Error satisfies the builtin error interface func (e CorsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCors.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CorsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CorsValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/csrf/000077500000000000000000000000001454502223200225575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/csrf/v2/000077500000000000000000000000001454502223200231065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/csrf/v2/csrf.pb.go000077500000000000000000000261511454502223200250020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/csrf/v2/csrf.proto package csrfv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // CSRF filter config. type CsrfPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the % of requests for which the CSRF filter is enabled. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests to filter. // // .. note:: // // This field defaults to 100/:ref:`HUNDRED // `. FilterEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,1,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // Specifies that CSRF policies will be evaluated and tracked, but not enforced. // // This is intended to be used when “filter_enabled“ is off and will be ignored otherwise. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate // and track the request's *Origin* and *Destination* to determine if it's valid, but will not // enforce any policies. ShadowEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` // Specifies additional source origins that will be allowed in addition to // the destination origin. // // More information on how this can be configured via runtime can be found // :ref:`here `. AdditionalOrigins []*matcher.StringMatcher `protobuf:"bytes,3,rep,name=additional_origins,json=additionalOrigins,proto3" json:"additional_origins,omitempty"` } func (x *CsrfPolicy) Reset() { *x = CsrfPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_csrf_v2_csrf_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CsrfPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CsrfPolicy) ProtoMessage() {} func (x *CsrfPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_csrf_v2_csrf_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CsrfPolicy.ProtoReflect.Descriptor instead. func (*CsrfPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescGZIP(), []int{0} } func (x *CsrfPolicy) GetFilterEnabled() *core.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *CsrfPolicy) GetShadowEnabled() *core.RuntimeFractionalPercent { if x != nil { return x.ShadowEnabled } return nil } func (x *CsrfPolicy) GetAdditionalOrigins() []*matcher.StringMatcher { if x != nil { return x.AdditionalOrigins } return nil } var File_envoy_config_filter_http_csrf_v2_csrf_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x43, 0x73, 0x72, 0x66, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5c, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x50, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x42, 0xc2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x27, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x43, 0x73, 0x72, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2f, 0x76, 0x32, 0x3b, 0x63, 0x73, 0x72, 0x66, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescOnce sync.Once file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescData = file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDesc ) func file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescData) }) return file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDescData } var file_envoy_config_filter_http_csrf_v2_csrf_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_csrf_v2_csrf_proto_goTypes = []interface{}{ (*CsrfPolicy)(nil), // 0: envoy.config.filter.http.csrf.v2.CsrfPolicy (*core.RuntimeFractionalPercent)(nil), // 1: envoy.api.v2.core.RuntimeFractionalPercent (*matcher.StringMatcher)(nil), // 2: envoy.type.matcher.StringMatcher } var file_envoy_config_filter_http_csrf_v2_csrf_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.csrf.v2.CsrfPolicy.filter_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 1, // 1: envoy.config.filter.http.csrf.v2.CsrfPolicy.shadow_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 2, // 2: envoy.config.filter.http.csrf.v2.CsrfPolicy.additional_origins:type_name -> envoy.type.matcher.StringMatcher 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_csrf_v2_csrf_proto_init() } func file_envoy_config_filter_http_csrf_v2_csrf_proto_init() { if File_envoy_config_filter_http_csrf_v2_csrf_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_csrf_v2_csrf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CsrfPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_csrf_v2_csrf_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_csrf_v2_csrf_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_csrf_v2_csrf_proto_msgTypes, }.Build() File_envoy_config_filter_http_csrf_v2_csrf_proto = out.File file_envoy_config_filter_http_csrf_v2_csrf_proto_rawDesc = nil file_envoy_config_filter_http_csrf_v2_csrf_proto_goTypes = nil file_envoy_config_filter_http_csrf_v2_csrf_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/csrf/v2/csrf.pb.validate.go000077500000000000000000000137071454502223200265750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/csrf/v2/csrf.proto package csrfv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CsrfPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CsrfPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CsrfPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CsrfPolicyMultiError, or // nil if none found. func (m *CsrfPolicy) ValidateAll() error { return m.validate(true) } func (m *CsrfPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetFilterEnabled() == nil { err := CsrfPolicyValidationError{ field: "FilterEnabled", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAdditionalOrigins() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CsrfPolicyMultiError(errors) } return nil } // CsrfPolicyMultiError is an error wrapping multiple validation errors // returned by CsrfPolicy.ValidateAll() if the designated constraints aren't met. type CsrfPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CsrfPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CsrfPolicyMultiError) AllErrors() []error { return m } // CsrfPolicyValidationError is the validation error returned by // CsrfPolicy.Validate if the designated constraints aren't met. type CsrfPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CsrfPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CsrfPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CsrfPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CsrfPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CsrfPolicyValidationError) ErrorName() string { return "CsrfPolicyValidationError" } // Error satisfies the builtin error interface func (e CsrfPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCsrfPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CsrfPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CsrfPolicyValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/dynamic_forward_proxy/000077500000000000000000000000001454502223200262335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/dynamic_forward_proxy/v2alpha/000077500000000000000000000000001454502223200275705ustar00rootroot00000000000000dynamic_forward_proxy.pb.go000077500000000000000000000405231454502223200350600ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/dynamic_forward_proxy/v2alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/dynamic_forward_proxy/v2alpha/dynamic_forward_proxy.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/config/common/dynamic_forward_proxy/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the dynamic forward proxy HTTP filter. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.filters.http.dynamic_forward_proxy] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The DNS cache configuration that the filter will attach to. Note this configuration must // match that of associated :ref:`dynamic forward proxy cluster configuration // `. DnsCacheConfig *v2alpha.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3" json:"dns_cache_config,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetDnsCacheConfig() *v2alpha.DnsCacheConfig { if x != nil { return x.DnsCacheConfig } return nil } // Per route Configuration for the dynamic forward proxy HTTP filter. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to HostRewriteSpecifier: // // *PerRouteConfig_HostRewrite // *PerRouteConfig_AutoHostRewriteHeader HostRewriteSpecifier isPerRouteConfig_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescGZIP(), []int{1} } func (m *PerRouteConfig) GetHostRewriteSpecifier() isPerRouteConfig_HostRewriteSpecifier { if m != nil { return m.HostRewriteSpecifier } return nil } func (x *PerRouteConfig) GetHostRewrite() string { if x, ok := x.GetHostRewriteSpecifier().(*PerRouteConfig_HostRewrite); ok { return x.HostRewrite } return "" } func (x *PerRouteConfig) GetAutoHostRewriteHeader() string { if x, ok := x.GetHostRewriteSpecifier().(*PerRouteConfig_AutoHostRewriteHeader); ok { return x.AutoHostRewriteHeader } return "" } type isPerRouteConfig_HostRewriteSpecifier interface { isPerRouteConfig_HostRewriteSpecifier() } type PerRouteConfig_HostRewrite struct { // Indicates that before DNS lookup, the host header will be swapped with // this value. If not set or empty, the original host header value // will be used and no rewrite will happen. // // Note: this rewrite affects both DNS lookup and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite ` given that the // value set here would be used for DNS lookups whereas the value set in the HCM would be used // for host header forwarding which is not the desired outcome. HostRewrite string `protobuf:"bytes,1,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"` } type PerRouteConfig_AutoHostRewriteHeader struct { // Indicates that before DNS lookup, the host header will be swapped with // the value of this header. If not set or empty, the original host header // value will be used and no rewrite will happen. // // Note: this rewrite affects both DNS lookup and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite header ` // given that the value set here would be used for DNS lookups whereas the value set in the HCM // would be used for host header forwarding which is not the desired outcome. // // .. note:: // // If the header appears multiple times only the first value is used. AutoHostRewriteHeader string `protobuf:"bytes,2,opt,name=auto_host_rewrite_header,json=autoHostRewriteHeader,proto3,oneof"` } func (*PerRouteConfig_HostRewrite) isPerRouteConfig_HostRewriteSpecifier() {} func (*PerRouteConfig_AutoHostRewriteHeader) isPerRouteConfig_HostRewriteSpecifier() {} var File_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x15, 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x87, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x38, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x18, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescData = file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDesc ) func file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescData) }) return file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDescData } var file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.config.filter.http.dynamic_forward_proxy.v2alpha.FilterConfig (*PerRouteConfig)(nil), // 1: envoy.config.filter.http.dynamic_forward_proxy.v2alpha.PerRouteConfig (*v2alpha.DnsCacheConfig)(nil), // 2: envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig } var file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.dynamic_forward_proxy.v2alpha.FilterConfig.dns_cache_config:type_name -> envoy.config.common.dynamic_forward_proxy.v2alpha.DnsCacheConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_init() } func file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_init() { if File_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PerRouteConfig_HostRewrite)(nil), (*PerRouteConfig_AutoHostRewriteHeader)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto = out.File file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_rawDesc = nil file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_goTypes = nil file_envoy_config_filter_http_dynamic_forward_proxy_v2alpha_dynamic_forward_proxy_proto_depIdxs = nil } dynamic_forward_proxy.pb.validate.go000077500000000000000000000171531454502223200366530ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/dynamic_forward_proxy/v2alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/dynamic_forward_proxy/v2alpha/dynamic_forward_proxy.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDnsCacheConfig() == nil { err := FilterConfigValidationError{ field: "DnsCacheConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.HostRewriteSpecifier.(type) { case *PerRouteConfig_HostRewrite: if v == nil { err := PerRouteConfigValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for HostRewrite case *PerRouteConfig_AutoHostRewriteHeader: if v == nil { err := PerRouteConfigValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for AutoHostRewriteHeader default: _ = v // ensures v is used } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/dynamo/000077500000000000000000000000001454502223200231115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/dynamo/v2/000077500000000000000000000000001454502223200234405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/dynamo/v2/dynamo.pb.go000077500000000000000000000150421454502223200256630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/dynamo/v2/dynamo.proto package dynamov2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Dynamo filter config. type Dynamo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Dynamo) Reset() { *x = Dynamo{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_dynamo_v2_dynamo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dynamo) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dynamo) ProtoMessage() {} func (x *Dynamo) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_dynamo_v2_dynamo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dynamo.ProtoReflect.Descriptor instead. func (*Dynamo) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_http_dynamo_v2_dynamo_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x08, 0x0a, 0x06, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x42, 0xcc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x6f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescOnce sync.Once file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescData = file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDesc ) func file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescData) }) return file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDescData } var file_envoy_config_filter_http_dynamo_v2_dynamo_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_dynamo_v2_dynamo_proto_goTypes = []interface{}{ (*Dynamo)(nil), // 0: envoy.config.filter.http.dynamo.v2.Dynamo } var file_envoy_config_filter_http_dynamo_v2_dynamo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_dynamo_v2_dynamo_proto_init() } func file_envoy_config_filter_http_dynamo_v2_dynamo_proto_init() { if File_envoy_config_filter_http_dynamo_v2_dynamo_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_dynamo_v2_dynamo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dynamo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_dynamo_v2_dynamo_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_dynamo_v2_dynamo_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_dynamo_v2_dynamo_proto_msgTypes, }.Build() File_envoy_config_filter_http_dynamo_v2_dynamo_proto = out.File file_envoy_config_filter_http_dynamo_v2_dynamo_proto_rawDesc = nil file_envoy_config_filter_http_dynamo_v2_dynamo_proto_goTypes = nil file_envoy_config_filter_http_dynamo_v2_dynamo_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/dynamo/v2/dynamo.pb.validate.go000077500000000000000000000060541454502223200274560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/dynamo/v2/dynamo.proto package dynamov2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Dynamo with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Dynamo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Dynamo with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in DynamoMultiError, or nil if none found. func (m *Dynamo) ValidateAll() error { return m.validate(true) } func (m *Dynamo) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DynamoMultiError(errors) } return nil } // DynamoMultiError is an error wrapping multiple validation errors returned by // Dynamo.ValidateAll() if the designated constraints aren't met. type DynamoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamoMultiError) AllErrors() []error { return m } // DynamoValidationError is the validation error returned by Dynamo.Validate if // the designated constraints aren't met. type DynamoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamoValidationError) ErrorName() string { return "DynamoValidationError" } // Error satisfies the builtin error interface func (e DynamoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamo.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamoValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/ext_authz/000077500000000000000000000000001454502223200236355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/ext_authz/v2/000077500000000000000000000000001454502223200241645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/ext_authz/v2/ext_authz.pb.go000077500000000000000000001406431454502223200271410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/ext_authz/v2/ext_authz.proto package ext_authzv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 12] type ExtAuthz struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // External authorization service configuration. // // Types that are assignable to Services: // // *ExtAuthz_GrpcService // *ExtAuthz_HttpService Services isExtAuthz_Services `protobuf_oneof:"services"` // Changes filter's behaviour on errors: // // 1. When set to true, the filter will *accept* client request even if the communication with // the authorization service has failed, or if the authorization service has returned a HTTP 5xx // error. // // 2. When set to false, ext-authz will *reject* client requests and return a *Forbidden* // response if the communication with the authorization service has failed, or if the // authorization service has returned a HTTP 5xx error. // // Note that errors can be *always* tracked in the :ref:`stats // `. FailureModeAllow bool `protobuf:"varint,2,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` // [#not-implemented-hide: Support for this field has been removed.] // // Deprecated: Marked as deprecated in envoy/config/filter/http/ext_authz/v2/ext_authz.proto. UseAlpha bool `protobuf:"varint,4,opt,name=use_alpha,json=useAlpha,proto3" json:"use_alpha,omitempty"` // Enables filter to buffer the client request body and send it within the authorization request. // A “x-envoy-auth-partial-body: false|true“ metadata header will be added to the authorization // request message indicating if the body data is partial. WithRequestBody *BufferSettings `protobuf:"bytes,5,opt,name=with_request_body,json=withRequestBody,proto3" json:"with_request_body,omitempty"` // Clears route cache in order to allow the external authorization service to correctly affect // routing decisions. Filter clears all cached routes when: // // 1. The field is set to *true*. // // 2. The status returned from the authorization service is a HTTP 200 or gRPC 0. // // 3. At least one *authorization response header* is added to the client request, or is used for // altering another client request header. ClearRouteCache bool `protobuf:"varint,6,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` // Sets the HTTP status that is returned to the client when there is a network error between the // filter and the authorization server. The default status is HTTP 403 Forbidden. StatusOnError *_type.HttpStatus `protobuf:"bytes,7,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"` // Specifies a list of metadata namespaces whose values, if present, will be passed to the // ext_authz service as an opaque *protobuf::Struct*. // // For example, if the *jwt_authn* filter is used and :ref:`payload_in_metadata // ` is set, // then the following will pass the jwt payload to the authorization server. // // .. code-block:: yaml // // metadata_context_namespaces: // - envoy.filters.http.jwt_authn MetadataContextNamespaces []string `protobuf:"bytes,8,rep,name=metadata_context_namespaces,json=metadataContextNamespaces,proto3" json:"metadata_context_namespaces,omitempty"` // Specifies if the filter is enabled. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests to filter. // // If this field is not specified, the filter will be enabled for all requests. FilterEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // Specifies whether to deny the requests, when the filter is disabled. // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to determine whether to deny request for // filter protected path at filter disabling. If filter is disabled in // typed_per_filter_config for the path, requests will not be denied. // // If this field is not specified, all requests will be allowed when disabled. DenyAtDisable *core.RuntimeFeatureFlag `protobuf:"bytes,11,opt,name=deny_at_disable,json=denyAtDisable,proto3" json:"deny_at_disable,omitempty"` // Specifies if the peer certificate is sent to the external service. // // When this field is true, Envoy will include the peer X.509 certificate, if available, in the // :ref:`certificate`. IncludePeerCertificate bool `protobuf:"varint,10,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"` } func (x *ExtAuthz) Reset() { *x = ExtAuthz{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthz) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthz) ProtoMessage() {} func (x *ExtAuthz) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthz.ProtoReflect.Descriptor instead. func (*ExtAuthz) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{0} } func (m *ExtAuthz) GetServices() isExtAuthz_Services { if m != nil { return m.Services } return nil } func (x *ExtAuthz) GetGrpcService() *core.GrpcService { if x, ok := x.GetServices().(*ExtAuthz_GrpcService); ok { return x.GrpcService } return nil } func (x *ExtAuthz) GetHttpService() *HttpService { if x, ok := x.GetServices().(*ExtAuthz_HttpService); ok { return x.HttpService } return nil } func (x *ExtAuthz) GetFailureModeAllow() bool { if x != nil { return x.FailureModeAllow } return false } // Deprecated: Marked as deprecated in envoy/config/filter/http/ext_authz/v2/ext_authz.proto. func (x *ExtAuthz) GetUseAlpha() bool { if x != nil { return x.UseAlpha } return false } func (x *ExtAuthz) GetWithRequestBody() *BufferSettings { if x != nil { return x.WithRequestBody } return nil } func (x *ExtAuthz) GetClearRouteCache() bool { if x != nil { return x.ClearRouteCache } return false } func (x *ExtAuthz) GetStatusOnError() *_type.HttpStatus { if x != nil { return x.StatusOnError } return nil } func (x *ExtAuthz) GetMetadataContextNamespaces() []string { if x != nil { return x.MetadataContextNamespaces } return nil } func (x *ExtAuthz) GetFilterEnabled() *core.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *ExtAuthz) GetDenyAtDisable() *core.RuntimeFeatureFlag { if x != nil { return x.DenyAtDisable } return nil } func (x *ExtAuthz) GetIncludePeerCertificate() bool { if x != nil { return x.IncludePeerCertificate } return false } type isExtAuthz_Services interface { isExtAuthz_Services() } type ExtAuthz_GrpcService struct { // gRPC service configuration (default timeout: 200ms). GrpcService *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"` } type ExtAuthz_HttpService struct { // HTTP service configuration (default timeout: 200ms). HttpService *HttpService `protobuf:"bytes,3,opt,name=http_service,json=httpService,proto3,oneof"` } func (*ExtAuthz_GrpcService) isExtAuthz_Services() {} func (*ExtAuthz_HttpService) isExtAuthz_Services() {} // Configuration for buffering the request data. type BufferSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the maximum size of a message body that the filter will hold in memory. Envoy will return // *HTTP 413* and will *not* initiate the authorization process when buffer reaches the number // set in this field. Note that this setting will have precedence over :ref:`failure_mode_allow // `. MaxRequestBytes uint32 `protobuf:"varint,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` // When this field is true, Envoy will buffer the message until *max_request_bytes* is reached. // The authorization request will be dispatched and no 413 HTTP error will be returned by the // filter. AllowPartialMessage bool `protobuf:"varint,2,opt,name=allow_partial_message,json=allowPartialMessage,proto3" json:"allow_partial_message,omitempty"` } func (x *BufferSettings) Reset() { *x = BufferSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferSettings) ProtoMessage() {} func (x *BufferSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferSettings.ProtoReflect.Descriptor instead. func (*BufferSettings) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{1} } func (x *BufferSettings) GetMaxRequestBytes() uint32 { if x != nil { return x.MaxRequestBytes } return 0 } func (x *BufferSettings) GetAllowPartialMessage() bool { if x != nil { return x.AllowPartialMessage } return false } // HttpService is used for raw HTTP communication between the filter and the authorization service. // When configured, the filter will parse the client request and use these attributes to call the // authorization server. Depending on the response, the filter may reject or accept the client // request. Note that in any of these events, metadata can be added, removed or overridden by the // filter: // // *On authorization request*, a list of allowed request headers may be supplied. See // :ref:`allowed_headers // ` // for details. Additional headers metadata may be added to the authorization request. See // :ref:`headers_to_add // ` for // details. // // On authorization response status HTTP 200 OK, the filter will allow traffic to the upstream and // additional headers metadata may be added to the original client request. See // :ref:`allowed_upstream_headers // ` // for details. // // On other authorization response statuses, the filter will not allow traffic. Additional headers // metadata as well as body may be added to the client's response. See :ref:`allowed_client_headers // ` // for details. // [#next-free-field: 9] type HttpService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the HTTP server URI which the authorization requests must be sent to. ServerUri *core.HttpUri `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` // Sets a prefix to the value of authorization request header *Path*. PathPrefix string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` // Settings used for controlling authorization request metadata. AuthorizationRequest *AuthorizationRequest `protobuf:"bytes,7,opt,name=authorization_request,json=authorizationRequest,proto3" json:"authorization_request,omitempty"` // Settings used for controlling authorization response metadata. AuthorizationResponse *AuthorizationResponse `protobuf:"bytes,8,opt,name=authorization_response,json=authorizationResponse,proto3" json:"authorization_response,omitempty"` } func (x *HttpService) Reset() { *x = HttpService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpService) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpService) ProtoMessage() {} func (x *HttpService) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpService.ProtoReflect.Descriptor instead. func (*HttpService) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{2} } func (x *HttpService) GetServerUri() *core.HttpUri { if x != nil { return x.ServerUri } return nil } func (x *HttpService) GetPathPrefix() string { if x != nil { return x.PathPrefix } return "" } func (x *HttpService) GetAuthorizationRequest() *AuthorizationRequest { if x != nil { return x.AuthorizationRequest } return nil } func (x *HttpService) GetAuthorizationResponse() *AuthorizationResponse { if x != nil { return x.AuthorizationResponse } return nil } type AuthorizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Authorization request will include the client request headers that have a correspondent match // in the :ref:`list `. Note that in addition to the // user's supplied matchers: // // 1. *Host*, *Method*, *Path* and *Content-Length* are automatically included to the list. // // 2. *Content-Length* will be set to 0 and the request to the authorization service will not have // a message body. However, the authorization request can include the buffered client request body // (controlled by :ref:`with_request_body // ` setting), // consequently the value of *Content-Length* of the authorization request reflects the size of // its payload size. AllowedHeaders *matcher.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` // Sets a list of headers that will be included to the request to authorization service. Note that // client request of the same key will be overridden. HeadersToAdd []*core.HeaderValue `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` } func (x *AuthorizationRequest) Reset() { *x = AuthorizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthorizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthorizationRequest) ProtoMessage() {} func (x *AuthorizationRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AuthorizationRequest.ProtoReflect.Descriptor instead. func (*AuthorizationRequest) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{3} } func (x *AuthorizationRequest) GetAllowedHeaders() *matcher.ListStringMatcher { if x != nil { return x.AllowedHeaders } return nil } func (x *AuthorizationRequest) GetHeadersToAdd() []*core.HeaderValue { if x != nil { return x.HeadersToAdd } return nil } type AuthorizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the original client request. // Note that coexistent headers will be overridden. AllowedUpstreamHeaders *matcher.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"` // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the client's response. Note // that when this list is *not* set, all the authorization response headers, except *Authority // (Host)* will be in the response to the client. When a header is included in this list, *Path*, // *Status*, *Content-Length*, *WWWAuthenticate* and *Location* are automatically added. AllowedClientHeaders *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=allowed_client_headers,json=allowedClientHeaders,proto3" json:"allowed_client_headers,omitempty"` } func (x *AuthorizationResponse) Reset() { *x = AuthorizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthorizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthorizationResponse) ProtoMessage() {} func (x *AuthorizationResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AuthorizationResponse.ProtoReflect.Descriptor instead. func (*AuthorizationResponse) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{4} } func (x *AuthorizationResponse) GetAllowedUpstreamHeaders() *matcher.ListStringMatcher { if x != nil { return x.AllowedUpstreamHeaders } return nil } func (x *AuthorizationResponse) GetAllowedClientHeaders() *matcher.ListStringMatcher { if x != nil { return x.AllowedClientHeaders } return nil } // Extra settings on a per virtualhost/route/weighted-cluster level. type ExtAuthzPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *ExtAuthzPerRoute_Disabled // *ExtAuthzPerRoute_CheckSettings Override isExtAuthzPerRoute_Override `protobuf_oneof:"override"` } func (x *ExtAuthzPerRoute) Reset() { *x = ExtAuthzPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthzPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthzPerRoute) ProtoMessage() {} func (x *ExtAuthzPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthzPerRoute.ProtoReflect.Descriptor instead. func (*ExtAuthzPerRoute) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{5} } func (m *ExtAuthzPerRoute) GetOverride() isExtAuthzPerRoute_Override { if m != nil { return m.Override } return nil } func (x *ExtAuthzPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*ExtAuthzPerRoute_Disabled); ok { return x.Disabled } return false } func (x *ExtAuthzPerRoute) GetCheckSettings() *CheckSettings { if x, ok := x.GetOverride().(*ExtAuthzPerRoute_CheckSettings); ok { return x.CheckSettings } return nil } type isExtAuthzPerRoute_Override interface { isExtAuthzPerRoute_Override() } type ExtAuthzPerRoute_Disabled struct { // Disable the ext auth filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type ExtAuthzPerRoute_CheckSettings struct { // Check request settings for this route. CheckSettings *CheckSettings `protobuf:"bytes,2,opt,name=check_settings,json=checkSettings,proto3,oneof"` } func (*ExtAuthzPerRoute_Disabled) isExtAuthzPerRoute_Override() {} func (*ExtAuthzPerRoute_CheckSettings) isExtAuthzPerRoute_Override() {} // Extra settings for the check request. You can use this to provide extra context for the // external authorization server on specific virtual hosts \ routes. For example, adding a context // extension on the virtual host level can give the ext-authz server information on what virtual // host is used without needing to parse the host header. If CheckSettings is specified in multiple // per-filter-configs, they will be merged in order, and the result will be used. type CheckSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Context extensions to set on the CheckRequest's // :ref:`AttributeContext.context_extensions` // // Merge semantics for this field are such that keys from more specific configs override. // // .. note:: // // These settings are only applied to a filter configured with a // :ref:`grpc_service`. ContextExtensions map[string]string `protobuf:"bytes,1,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CheckSettings) Reset() { *x = CheckSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckSettings) ProtoMessage() {} func (x *CheckSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckSettings.ProtoReflect.Descriptor instead. func (*CheckSettings) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{6} } func (x *CheckSettings) GetContextExtensions() map[string]string { if x != nil { return x.ContextExtensions } return nil } var File_envoy_config_filter_http_ext_authz_v2_ext_authz_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x05, 0x0a, 0x08, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x43, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x61, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x19, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x61, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x64, 0x65, 0x6e, 0x79, 0x41, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x70, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x67, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xda, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescOnce sync.Once file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescData = file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDesc ) func file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescData) }) return file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDescData } var file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_goTypes = []interface{}{ (*ExtAuthz)(nil), // 0: envoy.config.filter.http.ext_authz.v2.ExtAuthz (*BufferSettings)(nil), // 1: envoy.config.filter.http.ext_authz.v2.BufferSettings (*HttpService)(nil), // 2: envoy.config.filter.http.ext_authz.v2.HttpService (*AuthorizationRequest)(nil), // 3: envoy.config.filter.http.ext_authz.v2.AuthorizationRequest (*AuthorizationResponse)(nil), // 4: envoy.config.filter.http.ext_authz.v2.AuthorizationResponse (*ExtAuthzPerRoute)(nil), // 5: envoy.config.filter.http.ext_authz.v2.ExtAuthzPerRoute (*CheckSettings)(nil), // 6: envoy.config.filter.http.ext_authz.v2.CheckSettings nil, // 7: envoy.config.filter.http.ext_authz.v2.CheckSettings.ContextExtensionsEntry (*core.GrpcService)(nil), // 8: envoy.api.v2.core.GrpcService (*_type.HttpStatus)(nil), // 9: envoy.type.HttpStatus (*core.RuntimeFractionalPercent)(nil), // 10: envoy.api.v2.core.RuntimeFractionalPercent (*core.RuntimeFeatureFlag)(nil), // 11: envoy.api.v2.core.RuntimeFeatureFlag (*core.HttpUri)(nil), // 12: envoy.api.v2.core.HttpUri (*matcher.ListStringMatcher)(nil), // 13: envoy.type.matcher.ListStringMatcher (*core.HeaderValue)(nil), // 14: envoy.api.v2.core.HeaderValue } var file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_depIdxs = []int32{ 8, // 0: envoy.config.filter.http.ext_authz.v2.ExtAuthz.grpc_service:type_name -> envoy.api.v2.core.GrpcService 2, // 1: envoy.config.filter.http.ext_authz.v2.ExtAuthz.http_service:type_name -> envoy.config.filter.http.ext_authz.v2.HttpService 1, // 2: envoy.config.filter.http.ext_authz.v2.ExtAuthz.with_request_body:type_name -> envoy.config.filter.http.ext_authz.v2.BufferSettings 9, // 3: envoy.config.filter.http.ext_authz.v2.ExtAuthz.status_on_error:type_name -> envoy.type.HttpStatus 10, // 4: envoy.config.filter.http.ext_authz.v2.ExtAuthz.filter_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 11, // 5: envoy.config.filter.http.ext_authz.v2.ExtAuthz.deny_at_disable:type_name -> envoy.api.v2.core.RuntimeFeatureFlag 12, // 6: envoy.config.filter.http.ext_authz.v2.HttpService.server_uri:type_name -> envoy.api.v2.core.HttpUri 3, // 7: envoy.config.filter.http.ext_authz.v2.HttpService.authorization_request:type_name -> envoy.config.filter.http.ext_authz.v2.AuthorizationRequest 4, // 8: envoy.config.filter.http.ext_authz.v2.HttpService.authorization_response:type_name -> envoy.config.filter.http.ext_authz.v2.AuthorizationResponse 13, // 9: envoy.config.filter.http.ext_authz.v2.AuthorizationRequest.allowed_headers:type_name -> envoy.type.matcher.ListStringMatcher 14, // 10: envoy.config.filter.http.ext_authz.v2.AuthorizationRequest.headers_to_add:type_name -> envoy.api.v2.core.HeaderValue 13, // 11: envoy.config.filter.http.ext_authz.v2.AuthorizationResponse.allowed_upstream_headers:type_name -> envoy.type.matcher.ListStringMatcher 13, // 12: envoy.config.filter.http.ext_authz.v2.AuthorizationResponse.allowed_client_headers:type_name -> envoy.type.matcher.ListStringMatcher 6, // 13: envoy.config.filter.http.ext_authz.v2.ExtAuthzPerRoute.check_settings:type_name -> envoy.config.filter.http.ext_authz.v2.CheckSettings 7, // 14: envoy.config.filter.http.ext_authz.v2.CheckSettings.context_extensions:type_name -> envoy.config.filter.http.ext_authz.v2.CheckSettings.ContextExtensionsEntry 15, // [15:15] is the sub-list for method output_type 15, // [15:15] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_init() } func file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_init() { if File_envoy_config_filter_http_ext_authz_v2_ext_authz_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthz); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthorizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthorizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthzPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ExtAuthz_GrpcService)(nil), (*ExtAuthz_HttpService)(nil), } file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes[5].OneofWrappers = []interface{}{ (*ExtAuthzPerRoute_Disabled)(nil), (*ExtAuthzPerRoute_CheckSettings)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_msgTypes, }.Build() File_envoy_config_filter_http_ext_authz_v2_ext_authz_proto = out.File file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_rawDesc = nil file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_goTypes = nil file_envoy_config_filter_http_ext_authz_v2_ext_authz_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/ext_authz/v2/ext_authz.pb.validate.go000077500000000000000000001032251454502223200307240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/ext_authz/v2/ext_authz.proto package ext_authzv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ExtAuthz with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ExtAuthz) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthz with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtAuthzMultiError, or nil // if none found. func (m *ExtAuthz) ValidateAll() error { return m.validate(true) } func (m *ExtAuthz) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FailureModeAllow // no validation rules for UseAlpha if all { switch v := interface{}(m.GetWithRequestBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWithRequestBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClearRouteCache if all { switch v := interface{}(m.GetStatusOnError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatusOnError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDenyAtDisable()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDenyAtDisable()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IncludePeerCertificate switch v := m.Services.(type) { case *ExtAuthz_GrpcService: if v == nil { err := ExtAuthzValidationError{ field: "Services", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } case *ExtAuthz_HttpService: if v == nil { err := ExtAuthzValidationError{ field: "Services", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHttpService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ExtAuthzMultiError(errors) } return nil } // ExtAuthzMultiError is an error wrapping multiple validation errors returned // by ExtAuthz.ValidateAll() if the designated constraints aren't met. type ExtAuthzMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzMultiError) AllErrors() []error { return m } // ExtAuthzValidationError is the validation error returned by // ExtAuthz.Validate if the designated constraints aren't met. type ExtAuthzValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzValidationError) ErrorName() string { return "ExtAuthzValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthz.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzValidationError{} // Validate checks the field values on BufferSettings with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BufferSettingsMultiError, // or nil if none found. func (m *BufferSettings) ValidateAll() error { return m.validate(true) } func (m *BufferSettings) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxRequestBytes() <= 0 { err := BufferSettingsValidationError{ field: "MaxRequestBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowPartialMessage if len(errors) > 0 { return BufferSettingsMultiError(errors) } return nil } // BufferSettingsMultiError is an error wrapping multiple validation errors // returned by BufferSettings.ValidateAll() if the designated constraints // aren't met. type BufferSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferSettingsMultiError) AllErrors() []error { return m } // BufferSettingsValidationError is the validation error returned by // BufferSettings.Validate if the designated constraints aren't met. type BufferSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferSettingsValidationError) ErrorName() string { return "BufferSettingsValidationError" } // Error satisfies the builtin error interface func (e BufferSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferSettingsValidationError{} // Validate checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpServiceMultiError, or // nil if none found. func (m *HttpService) ValidateAll() error { return m.validate(true) } func (m *HttpService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetServerUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServerUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, } } } // no validation rules for PathPrefix if all { switch v := interface{}(m.GetAuthorizationRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthorizationRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAuthorizationResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthorizationResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpServiceMultiError(errors) } return nil } // HttpServiceMultiError is an error wrapping multiple validation errors // returned by HttpService.ValidateAll() if the designated constraints aren't met. type HttpServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpServiceMultiError) AllErrors() []error { return m } // HttpServiceValidationError is the validation error returned by // HttpService.Validate if the designated constraints aren't met. type HttpServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpServiceValidationError) ErrorName() string { return "HttpServiceValidationError" } // Error satisfies the builtin error interface func (e HttpServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpServiceValidationError{} // Validate checks the field values on AuthorizationRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AuthorizationRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AuthorizationRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AuthorizationRequestMultiError, or nil if none found. func (m *AuthorizationRequest) ValidateAll() error { return m.validate(true) } func (m *AuthorizationRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowedHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AuthorizationRequestMultiError(errors) } return nil } // AuthorizationRequestMultiError is an error wrapping multiple validation // errors returned by AuthorizationRequest.ValidateAll() if the designated // constraints aren't met. type AuthorizationRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AuthorizationRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AuthorizationRequestMultiError) AllErrors() []error { return m } // AuthorizationRequestValidationError is the validation error returned by // AuthorizationRequest.Validate if the designated constraints aren't met. type AuthorizationRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AuthorizationRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AuthorizationRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AuthorizationRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AuthorizationRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AuthorizationRequestValidationError) ErrorName() string { return "AuthorizationRequestValidationError" } // Error satisfies the builtin error interface func (e AuthorizationRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAuthorizationRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AuthorizationRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AuthorizationRequestValidationError{} // Validate checks the field values on AuthorizationResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AuthorizationResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AuthorizationResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AuthorizationResponseMultiError, or nil if none found. func (m *AuthorizationResponse) ValidateAll() error { return m.validate(true) } func (m *AuthorizationResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowedUpstreamHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedUpstreamHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowedClientHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedClientHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AuthorizationResponseMultiError(errors) } return nil } // AuthorizationResponseMultiError is an error wrapping multiple validation // errors returned by AuthorizationResponse.ValidateAll() if the designated // constraints aren't met. type AuthorizationResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AuthorizationResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AuthorizationResponseMultiError) AllErrors() []error { return m } // AuthorizationResponseValidationError is the validation error returned by // AuthorizationResponse.Validate if the designated constraints aren't met. type AuthorizationResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AuthorizationResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AuthorizationResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AuthorizationResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AuthorizationResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AuthorizationResponseValidationError) ErrorName() string { return "AuthorizationResponseValidationError" } // Error satisfies the builtin error interface func (e AuthorizationResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAuthorizationResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AuthorizationResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AuthorizationResponseValidationError{} // Validate checks the field values on ExtAuthzPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtAuthzPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthzPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtAuthzPerRouteMultiError, or nil if none found. func (m *ExtAuthzPerRoute) ValidateAll() error { return m.validate(true) } func (m *ExtAuthzPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *ExtAuthzPerRoute_Disabled: if v == nil { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := ExtAuthzPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *ExtAuthzPerRoute_CheckSettings: if v == nil { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetCheckSettings() == nil { err := ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCheckSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCheckSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ExtAuthzPerRouteMultiError(errors) } return nil } // ExtAuthzPerRouteMultiError is an error wrapping multiple validation errors // returned by ExtAuthzPerRoute.ValidateAll() if the designated constraints // aren't met. type ExtAuthzPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzPerRouteMultiError) AllErrors() []error { return m } // ExtAuthzPerRouteValidationError is the validation error returned by // ExtAuthzPerRoute.Validate if the designated constraints aren't met. type ExtAuthzPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzPerRouteValidationError) ErrorName() string { return "ExtAuthzPerRouteValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthzPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzPerRouteValidationError{} // Validate checks the field values on CheckSettings with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckSettingsMultiError, or // nil if none found. func (m *CheckSettings) ValidateAll() error { return m.validate(true) } func (m *CheckSettings) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ContextExtensions if len(errors) > 0 { return CheckSettingsMultiError(errors) } return nil } // CheckSettingsMultiError is an error wrapping multiple validation errors // returned by CheckSettings.ValidateAll() if the designated constraints // aren't met. type CheckSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckSettingsMultiError) AllErrors() []error { return m } // CheckSettingsValidationError is the validation error returned by // CheckSettings.Validate if the designated constraints aren't met. type CheckSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckSettingsValidationError) ErrorName() string { return "CheckSettingsValidationError" } // Error satisfies the builtin error interface func (e CheckSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckSettingsValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/fault/000077500000000000000000000000001454502223200227355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/fault/v2/000077500000000000000000000000001454502223200232645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/fault/v2/fault.pb.go000077500000000000000000000655301454502223200253420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/fault/v2/fault.proto package faultv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/fault/v2" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FaultAbort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ErrorType: // // *FaultAbort_HttpStatus // *FaultAbort_HeaderAbort_ ErrorType isFaultAbort_ErrorType `protobuf_oneof:"error_type"` // The percentage of requests/operations/connections that will be aborted with the error code // provided. Percentage *_type.FractionalPercent `protobuf:"bytes,3,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultAbort) Reset() { *x = FaultAbort{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultAbort) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultAbort) ProtoMessage() {} func (x *FaultAbort) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultAbort.ProtoReflect.Descriptor instead. func (*FaultAbort) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_fault_v2_fault_proto_rawDescGZIP(), []int{0} } func (m *FaultAbort) GetErrorType() isFaultAbort_ErrorType { if m != nil { return m.ErrorType } return nil } func (x *FaultAbort) GetHttpStatus() uint32 { if x, ok := x.GetErrorType().(*FaultAbort_HttpStatus); ok { return x.HttpStatus } return 0 } func (x *FaultAbort) GetHeaderAbort() *FaultAbort_HeaderAbort { if x, ok := x.GetErrorType().(*FaultAbort_HeaderAbort_); ok { return x.HeaderAbort } return nil } func (x *FaultAbort) GetPercentage() *_type.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultAbort_ErrorType interface { isFaultAbort_ErrorType() } type FaultAbort_HttpStatus struct { // HTTP status code to use to abort the HTTP request. HttpStatus uint32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"` } type FaultAbort_HeaderAbort_ struct { // Fault aborts are controlled via an HTTP header (if applicable). HeaderAbort *FaultAbort_HeaderAbort `protobuf:"bytes,4,opt,name=header_abort,json=headerAbort,proto3,oneof"` } func (*FaultAbort_HttpStatus) isFaultAbort_ErrorType() {} func (*FaultAbort_HeaderAbort_) isFaultAbort_ErrorType() {} // [#next-free-field: 14] type HTTPFault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If specified, the filter will inject delays based on the values in the // object. Delay *v2.FaultDelay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` // If specified, the filter will abort requests based on the values in // the object. At least *abort* or *delay* must be specified. Abort *FaultAbort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` // Specifies the name of the (destination) upstream cluster that the // filter should match on. Fault injection will be restricted to requests // bound to the specific upstream cluster. UpstreamCluster string `protobuf:"bytes,3,opt,name=upstream_cluster,json=upstreamCluster,proto3" json:"upstream_cluster,omitempty"` // Specifies a set of headers that the filter should match on. The fault // injection filter can be applied selectively to requests that match a set of // headers specified in the fault filter config. The chances of actual fault // injection further depend on the value of the :ref:`percentage // ` field. // The filter will check the request's headers against all the specified // headers in the filter config. A match will happen if all the headers in the // config are present in the request with the same values (or based on // presence if the *value* field is not in the config). Headers []*route.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` // Faults are injected for the specified list of downstream hosts. If this // setting is not set, faults are injected for all downstream nodes. // Downstream node name is taken from :ref:`the HTTP // x-envoy-downstream-service-node // ` header and compared // against downstream_nodes list. DownstreamNodes []string `protobuf:"bytes,5,rep,name=downstream_nodes,json=downstreamNodes,proto3" json:"downstream_nodes,omitempty"` // The maximum number of faults that can be active at a single time via the configured fault // filter. Note that because this setting can be overridden at the route level, it's possible // for the number of active faults to be greater than this value (if injected via a different // route). If not specified, defaults to unlimited. This setting can be overridden via // `runtime ` and any faults that are not injected // due to overflow will be indicated via the `faults_overflow // ` stat. // // .. attention:: // // Like other :ref:`circuit breakers ` in Envoy, this is a fuzzy // limit. It's possible for the number of active faults to rise slightly above the configured // amount due to the implementation details. MaxActiveFaults *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=max_active_faults,json=maxActiveFaults,proto3" json:"max_active_faults,omitempty"` // The response rate limit to be applied to the response body of the stream. When configured, // the percentage can be overridden by the :ref:`fault.http.rate_limit.response_percent // ` runtime key. // // .. attention:: // // This is a per-stream limit versus a connection level limit. This means that concurrent streams // will each get an independent limit. ResponseRateLimit *v2.FaultRateLimit `protobuf:"bytes,7,opt,name=response_rate_limit,json=responseRateLimit,proto3" json:"response_rate_limit,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.delay.fixed_delay_percent DelayPercentRuntime string `protobuf:"bytes,8,opt,name=delay_percent_runtime,json=delayPercentRuntime,proto3" json:"delay_percent_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.abort.abort_percent AbortPercentRuntime string `protobuf:"bytes,9,opt,name=abort_percent_runtime,json=abortPercentRuntime,proto3" json:"abort_percent_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.delay.fixed_duration_ms DelayDurationRuntime string `protobuf:"bytes,10,opt,name=delay_duration_runtime,json=delayDurationRuntime,proto3" json:"delay_duration_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.abort.http_status AbortHttpStatusRuntime string `protobuf:"bytes,11,opt,name=abort_http_status_runtime,json=abortHttpStatusRuntime,proto3" json:"abort_http_status_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.max_active_faults MaxActiveFaultsRuntime string `protobuf:"bytes,12,opt,name=max_active_faults_runtime,json=maxActiveFaultsRuntime,proto3" json:"max_active_faults_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.rate_limit.response_percent ResponseRateLimitPercentRuntime string `protobuf:"bytes,13,opt,name=response_rate_limit_percent_runtime,json=responseRateLimitPercentRuntime,proto3" json:"response_rate_limit_percent_runtime,omitempty"` } func (x *HTTPFault) Reset() { *x = HTTPFault{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPFault) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPFault) ProtoMessage() {} func (x *HTTPFault) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPFault.ProtoReflect.Descriptor instead. func (*HTTPFault) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_fault_v2_fault_proto_rawDescGZIP(), []int{1} } func (x *HTTPFault) GetDelay() *v2.FaultDelay { if x != nil { return x.Delay } return nil } func (x *HTTPFault) GetAbort() *FaultAbort { if x != nil { return x.Abort } return nil } func (x *HTTPFault) GetUpstreamCluster() string { if x != nil { return x.UpstreamCluster } return "" } func (x *HTTPFault) GetHeaders() []*route.HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *HTTPFault) GetDownstreamNodes() []string { if x != nil { return x.DownstreamNodes } return nil } func (x *HTTPFault) GetMaxActiveFaults() *wrappers.UInt32Value { if x != nil { return x.MaxActiveFaults } return nil } func (x *HTTPFault) GetResponseRateLimit() *v2.FaultRateLimit { if x != nil { return x.ResponseRateLimit } return nil } func (x *HTTPFault) GetDelayPercentRuntime() string { if x != nil { return x.DelayPercentRuntime } return "" } func (x *HTTPFault) GetAbortPercentRuntime() string { if x != nil { return x.AbortPercentRuntime } return "" } func (x *HTTPFault) GetDelayDurationRuntime() string { if x != nil { return x.DelayDurationRuntime } return "" } func (x *HTTPFault) GetAbortHttpStatusRuntime() string { if x != nil { return x.AbortHttpStatusRuntime } return "" } func (x *HTTPFault) GetMaxActiveFaultsRuntime() string { if x != nil { return x.MaxActiveFaultsRuntime } return "" } func (x *HTTPFault) GetResponseRateLimitPercentRuntime() string { if x != nil { return x.ResponseRateLimitPercentRuntime } return "" } // Fault aborts are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultAbort_HeaderAbort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultAbort_HeaderAbort) Reset() { *x = FaultAbort_HeaderAbort{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultAbort_HeaderAbort) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultAbort_HeaderAbort) ProtoMessage() {} func (x *FaultAbort_HeaderAbort) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultAbort_HeaderAbort.ProtoReflect.Descriptor instead. func (*FaultAbort_HeaderAbort) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_fault_v2_fault_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_config_filter_http_fault_v2_fault_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_fault_v2_fault_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x02, 0x0a, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 0x28, 0xc8, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5e, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x0d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x42, 0x11, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xad, 0x06, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0xc7, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x28, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_fault_v2_fault_proto_rawDescOnce sync.Once file_envoy_config_filter_http_fault_v2_fault_proto_rawDescData = file_envoy_config_filter_http_fault_v2_fault_proto_rawDesc ) func file_envoy_config_filter_http_fault_v2_fault_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_fault_v2_fault_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_fault_v2_fault_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_fault_v2_fault_proto_rawDescData) }) return file_envoy_config_filter_http_fault_v2_fault_proto_rawDescData } var file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_filter_http_fault_v2_fault_proto_goTypes = []interface{}{ (*FaultAbort)(nil), // 0: envoy.config.filter.http.fault.v2.FaultAbort (*HTTPFault)(nil), // 1: envoy.config.filter.http.fault.v2.HTTPFault (*FaultAbort_HeaderAbort)(nil), // 2: envoy.config.filter.http.fault.v2.FaultAbort.HeaderAbort (*_type.FractionalPercent)(nil), // 3: envoy.type.FractionalPercent (*v2.FaultDelay)(nil), // 4: envoy.config.filter.fault.v2.FaultDelay (*route.HeaderMatcher)(nil), // 5: envoy.api.v2.route.HeaderMatcher (*wrappers.UInt32Value)(nil), // 6: google.protobuf.UInt32Value (*v2.FaultRateLimit)(nil), // 7: envoy.config.filter.fault.v2.FaultRateLimit } var file_envoy_config_filter_http_fault_v2_fault_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.fault.v2.FaultAbort.header_abort:type_name -> envoy.config.filter.http.fault.v2.FaultAbort.HeaderAbort 3, // 1: envoy.config.filter.http.fault.v2.FaultAbort.percentage:type_name -> envoy.type.FractionalPercent 4, // 2: envoy.config.filter.http.fault.v2.HTTPFault.delay:type_name -> envoy.config.filter.fault.v2.FaultDelay 0, // 3: envoy.config.filter.http.fault.v2.HTTPFault.abort:type_name -> envoy.config.filter.http.fault.v2.FaultAbort 5, // 4: envoy.config.filter.http.fault.v2.HTTPFault.headers:type_name -> envoy.api.v2.route.HeaderMatcher 6, // 5: envoy.config.filter.http.fault.v2.HTTPFault.max_active_faults:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.config.filter.http.fault.v2.HTTPFault.response_rate_limit:type_name -> envoy.config.filter.fault.v2.FaultRateLimit 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_fault_v2_fault_proto_init() } func file_envoy_config_filter_http_fault_v2_fault_proto_init() { if File_envoy_config_filter_http_fault_v2_fault_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultAbort); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPFault); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultAbort_HeaderAbort); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FaultAbort_HttpStatus)(nil), (*FaultAbort_HeaderAbort_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_fault_v2_fault_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_fault_v2_fault_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_fault_v2_fault_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_fault_v2_fault_proto_msgTypes, }.Build() File_envoy_config_filter_http_fault_v2_fault_proto = out.File file_envoy_config_filter_http_fault_v2_fault_proto_rawDesc = nil file_envoy_config_filter_http_fault_v2_fault_proto_goTypes = nil file_envoy_config_filter_http_fault_v2_fault_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/fault/v2/fault.pb.validate.go000077500000000000000000000374061454502223200271330ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/fault/v2/fault.proto package faultv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FaultAbort with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultAbort) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultAbort with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultAbortMultiError, or // nil if none found. func (m *FaultAbort) ValidateAll() error { return m.validate(true) } func (m *FaultAbort) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofErrorTypePresent := false switch v := m.ErrorType.(type) { case *FaultAbort_HttpStatus: if v == nil { err := FaultAbortValidationError{ field: "ErrorType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofErrorTypePresent = true if val := m.GetHttpStatus(); val < 200 || val >= 600 { err := FaultAbortValidationError{ field: "HttpStatus", reason: "value must be inside range [200, 600)", } if !all { return err } errors = append(errors, err) } case *FaultAbort_HeaderAbort_: if v == nil { err := FaultAbortValidationError{ field: "ErrorType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofErrorTypePresent = true if all { switch v := interface{}(m.GetHeaderAbort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderAbort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofErrorTypePresent { err := FaultAbortValidationError{ field: "ErrorType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultAbortMultiError(errors) } return nil } // FaultAbortMultiError is an error wrapping multiple validation errors // returned by FaultAbort.ValidateAll() if the designated constraints aren't met. type FaultAbortMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultAbortMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultAbortMultiError) AllErrors() []error { return m } // FaultAbortValidationError is the validation error returned by // FaultAbort.Validate if the designated constraints aren't met. type FaultAbortValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultAbortValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultAbortValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultAbortValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultAbortValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultAbortValidationError) ErrorName() string { return "FaultAbortValidationError" } // Error satisfies the builtin error interface func (e FaultAbortValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultAbort.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultAbortValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultAbortValidationError{} // Validate checks the field values on HTTPFault with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HTTPFault) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPFault with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HTTPFaultMultiError, or nil // if none found. func (m *HTTPFault) ValidateAll() error { return m.validate(true) } func (m *HTTPFault) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAbort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAbort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamCluster for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxActiveFaults()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxActiveFaults()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponseRateLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseRateLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DelayPercentRuntime // no validation rules for AbortPercentRuntime // no validation rules for DelayDurationRuntime // no validation rules for AbortHttpStatusRuntime // no validation rules for MaxActiveFaultsRuntime // no validation rules for ResponseRateLimitPercentRuntime if len(errors) > 0 { return HTTPFaultMultiError(errors) } return nil } // HTTPFaultMultiError is an error wrapping multiple validation errors returned // by HTTPFault.ValidateAll() if the designated constraints aren't met. type HTTPFaultMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPFaultMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPFaultMultiError) AllErrors() []error { return m } // HTTPFaultValidationError is the validation error returned by // HTTPFault.Validate if the designated constraints aren't met. type HTTPFaultValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPFaultValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPFaultValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPFaultValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPFaultValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPFaultValidationError) ErrorName() string { return "HTTPFaultValidationError" } // Error satisfies the builtin error interface func (e HTTPFaultValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPFault.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPFaultValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPFaultValidationError{} // Validate checks the field values on FaultAbort_HeaderAbort with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultAbort_HeaderAbort) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultAbort_HeaderAbort with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultAbort_HeaderAbortMultiError, or nil if none found. func (m *FaultAbort_HeaderAbort) ValidateAll() error { return m.validate(true) } func (m *FaultAbort_HeaderAbort) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultAbort_HeaderAbortMultiError(errors) } return nil } // FaultAbort_HeaderAbortMultiError is an error wrapping multiple validation // errors returned by FaultAbort_HeaderAbort.ValidateAll() if the designated // constraints aren't met. type FaultAbort_HeaderAbortMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultAbort_HeaderAbortMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultAbort_HeaderAbortMultiError) AllErrors() []error { return m } // FaultAbort_HeaderAbortValidationError is the validation error returned by // FaultAbort_HeaderAbort.Validate if the designated constraints aren't met. type FaultAbort_HeaderAbortValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultAbort_HeaderAbortValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultAbort_HeaderAbortValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultAbort_HeaderAbortValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultAbort_HeaderAbortValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultAbort_HeaderAbortValidationError) ErrorName() string { return "FaultAbort_HeaderAbortValidationError" } // Error satisfies the builtin error interface func (e FaultAbort_HeaderAbortValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultAbort_HeaderAbort.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultAbort_HeaderAbortValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultAbort_HeaderAbortValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_bridge/000077500000000000000000000000001454502223200252115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_bridge/v2/000077500000000000000000000000001454502223200255405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_bridge/v2/config.pb.go000077500000000000000000000164251454502223200277470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/grpc_http1_bridge/v2/config.proto package grpc_http1_bridgev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC HTTP/1.1 Bridge filter config. type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xf8, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x34, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescOnce sync.Once file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescData = file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDesc ) func file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescData) }) return file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDescData } var file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.config.filter.http.grpc_http1_bridge.v2.Config } var file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_init() } func file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_init() { if File_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_msgTypes, }.Build() File_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto = out.File file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_rawDesc = nil file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_goTypes = nil file_envoy_config_filter_http_grpc_http1_bridge_v2_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_bridge/v2/config.pb.validate.go000077500000000000000000000061021454502223200315260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/grpc_http1_bridge/v2/config.proto package grpc_http1_bridgev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_reverse_bridge/000077500000000000000000000000001454502223200267445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1/000077500000000000000000000000001454502223200303625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1/config.pb.go000077500000000000000000000301621454502223200325630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1/config.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC reverse bridge filter configuration type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The content-type to pass to the upstream when the gRPC bridge filter is applied. // The filter will also validate that the upstream responds with the same content type. ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // If true, Envoy will assume that the upstream doesn't understand gRPC frames and // strip the gRPC frame from the request, and add it back in to the response. This will // hide the gRPC semantics from the upstream, allowing it to receive and respond with a // simple binary encoded protobuf. WithholdGrpcFrames bool `protobuf:"varint,2,opt,name=withhold_grpc_frames,json=withholdGrpcFrames,proto3" json:"withhold_grpc_frames,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetContentType() string { if x != nil { return x.ContentType } return "" } func (x *FilterConfig) GetWithholdGrpcFrames() bool { if x != nil { return x.WithholdGrpcFrames } return false } // gRPC reverse bridge filter configuration per virtualhost/route/weighted-cluster level. type FilterConfigPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, disables gRPC reverse bridge filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` } func (x *FilterConfigPerRoute) Reset() { *x = FilterConfigPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfigPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfigPerRoute) ProtoMessage() {} func (x *FilterConfigPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfigPerRoute.ProtoReflect.Descriptor instead. func (*FilterConfigPerRoute) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescGZIP(), []int{1} } func (x *FilterConfigPerRoute) GetDisabled() bool { if x != nil { return x.Disabled } return false } var File_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x69, 0x74, 0x68, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x77, 0x69, 0x74, 0x68, 0x68, 0x6f, 0x6c, 0x64, 0x47, 0x72, 0x70, 0x63, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x14, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x88, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x3c, 0x12, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x49, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescOnce sync.Once file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescData = file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDesc ) func file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescData) }) return file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDescData } var file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.config.filter.http.grpc_http1_reverse_bridge.v2alpha1.FilterConfig (*FilterConfigPerRoute)(nil), // 1: envoy.config.filter.http.grpc_http1_reverse_bridge.v2alpha1.FilterConfigPerRoute } var file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_init() } func file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_init() { if File_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfigPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_msgTypes, }.Build() File_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto = out.File file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_rawDesc = nil file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_goTypes = nil file_envoy_config_filter_http_grpc_http1_reverse_bridge_v2alpha1_config_proto_depIdxs = nil } config.pb.validate.go000077500000000000000000000145261454502223200343020ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1/config.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetContentType()) < 1 { err := FilterConfigValidationError{ field: "ContentType", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for WithholdGrpcFrames if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on FilterConfigPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FilterConfigPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfigPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterConfigPerRouteMultiError, or nil if none found. func (m *FilterConfigPerRoute) ValidateAll() error { return m.validate(true) } func (m *FilterConfigPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Disabled if len(errors) > 0 { return FilterConfigPerRouteMultiError(errors) } return nil } // FilterConfigPerRouteMultiError is an error wrapping multiple validation // errors returned by FilterConfigPerRoute.ValidateAll() if the designated // constraints aren't met. type FilterConfigPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigPerRouteMultiError) AllErrors() []error { return m } // FilterConfigPerRouteValidationError is the validation error returned by // FilterConfigPerRoute.Validate if the designated constraints aren't met. type FilterConfigPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigPerRouteValidationError) ErrorName() string { return "FilterConfigPerRouteValidationError" } // Error satisfies the builtin error interface func (e FilterConfigPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfigPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigPerRouteValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/grpc_stats/000077500000000000000000000000001454502223200237735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_stats/v2alpha/000077500000000000000000000000001454502223200253305ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_stats/v2alpha/config.pb.go000077500000000000000000000371121454502223200275330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/grpc_stats/v2alpha/config.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC statistics filter configuration type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, the filter maintains a filter state object with the request and response message // counts. EmitFilterState bool `protobuf:"varint,1,opt,name=emit_filter_state,json=emitFilterState,proto3" json:"emit_filter_state,omitempty"` // Types that are assignable to PerMethodStatSpecifier: // // *FilterConfig_IndividualMethodStatsAllowlist // *FilterConfig_StatsForAllMethods PerMethodStatSpecifier isFilterConfig_PerMethodStatSpecifier `protobuf_oneof:"per_method_stat_specifier"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetEmitFilterState() bool { if x != nil { return x.EmitFilterState } return false } func (m *FilterConfig) GetPerMethodStatSpecifier() isFilterConfig_PerMethodStatSpecifier { if m != nil { return m.PerMethodStatSpecifier } return nil } func (x *FilterConfig) GetIndividualMethodStatsAllowlist() *core.GrpcMethodList { if x, ok := x.GetPerMethodStatSpecifier().(*FilterConfig_IndividualMethodStatsAllowlist); ok { return x.IndividualMethodStatsAllowlist } return nil } func (x *FilterConfig) GetStatsForAllMethods() *wrappers.BoolValue { if x, ok := x.GetPerMethodStatSpecifier().(*FilterConfig_StatsForAllMethods); ok { return x.StatsForAllMethods } return nil } type isFilterConfig_PerMethodStatSpecifier interface { isFilterConfig_PerMethodStatSpecifier() } type FilterConfig_IndividualMethodStatsAllowlist struct { // If set, specifies an allowlist of service/methods that will have individual stats // emitted for them. Any call that does not match the allowlist will be counted // in a stat with no method specifier: `cluster..grpc.*`. IndividualMethodStatsAllowlist *core.GrpcMethodList `protobuf:"bytes,2,opt,name=individual_method_stats_allowlist,json=individualMethodStatsAllowlist,proto3,oneof"` } type FilterConfig_StatsForAllMethods struct { // If set to true, emit stats for all service/method names. // // If set to false, emit stats for all service/message types to the same stats without including // the service/method in the name, with prefix `cluster..grpc`. This can be useful if // service/method granularity is not needed, or if each cluster only receives a single method. // // .. attention:: // // This option is only safe if all clients are trusted. If this option is enabled // with untrusted clients, the clients could cause unbounded growth in the number of stats in // Envoy, using unbounded memory and potentially slowing down stats pipelines. // // .. attention:: // // If neither `individual_method_stats_allowlist` nor `stats_for_all_methods` is set, the // behavior will default to `stats_for_all_methods=false`. StatsForAllMethods *wrappers.BoolValue `protobuf:"bytes,3,opt,name=stats_for_all_methods,json=statsForAllMethods,proto3,oneof"` } func (*FilterConfig_IndividualMethodStatsAllowlist) isFilterConfig_PerMethodStatSpecifier() {} func (*FilterConfig_StatsForAllMethods) isFilterConfig_PerMethodStatSpecifier() {} // gRPC statistics filter state object in protobuf form. type FilterObject struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Count of request messages in the request stream. RequestMessageCount uint64 `protobuf:"varint,1,opt,name=request_message_count,json=requestMessageCount,proto3" json:"request_message_count,omitempty"` // Count of response messages in the response stream. ResponseMessageCount uint64 `protobuf:"varint,2,opt,name=response_message_count,json=responseMessageCount,proto3" json:"response_message_count,omitempty"` } func (x *FilterObject) Reset() { *x = FilterObject{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterObject) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterObject) ProtoMessage() {} func (x *FilterObject) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterObject.ProtoReflect.Descriptor instead. func (*FilterObject) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescGZIP(), []int{1} } func (x *FilterObject) GetRequestMessageCount() uint64 { if x != nil { return x.RequestMessageCount } return 0 } func (x *FilterObject) GetResponseMessageCount() uint64 { if x != nil { return x.ResponseMessageCount } return 0 } var File_envoy_config_filter_http_grpc_stats_v2alpha_config_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6e, 0x0a, 0x21, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x78, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xd9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescOnce sync.Once file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescData = file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDesc ) func file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescData) }) return file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDescData } var file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.config.filter.http.grpc_stats.v2alpha.FilterConfig (*FilterObject)(nil), // 1: envoy.config.filter.http.grpc_stats.v2alpha.FilterObject (*core.GrpcMethodList)(nil), // 2: envoy.api.v2.core.GrpcMethodList (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue } var file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.grpc_stats.v2alpha.FilterConfig.individual_method_stats_allowlist:type_name -> envoy.api.v2.core.GrpcMethodList 3, // 1: envoy.config.filter.http.grpc_stats.v2alpha.FilterConfig.stats_for_all_methods:type_name -> google.protobuf.BoolValue 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_init() } func file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_init() { if File_envoy_config_filter_http_grpc_stats_v2alpha_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterObject); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterConfig_IndividualMethodStatsAllowlist)(nil), (*FilterConfig_StatsForAllMethods)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_msgTypes, }.Build() File_envoy_config_filter_http_grpc_stats_v2alpha_config_proto = out.File file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_rawDesc = nil file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_goTypes = nil file_envoy_config_filter_http_grpc_stats_v2alpha_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/grpc_stats/v2alpha/config.pb.validate.go000077500000000000000000000206061454502223200313230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/grpc_stats/v2alpha/config.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EmitFilterState switch v := m.PerMethodStatSpecifier.(type) { case *FilterConfig_IndividualMethodStatsAllowlist: if v == nil { err := FilterConfigValidationError{ field: "PerMethodStatSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIndividualMethodStatsAllowlist()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIndividualMethodStatsAllowlist()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, } } } case *FilterConfig_StatsForAllMethods: if v == nil { err := FilterConfigValidationError{ field: "PerMethodStatSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStatsForAllMethods()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsForAllMethods()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on FilterObject with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterObject) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterObject with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterObjectMultiError, or // nil if none found. func (m *FilterObject) ValidateAll() error { return m.validate(true) } func (m *FilterObject) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RequestMessageCount // no validation rules for ResponseMessageCount if len(errors) > 0 { return FilterObjectMultiError(errors) } return nil } // FilterObjectMultiError is an error wrapping multiple validation errors // returned by FilterObject.ValidateAll() if the designated constraints aren't met. type FilterObjectMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterObjectMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterObjectMultiError) AllErrors() []error { return m } // FilterObjectValidationError is the validation error returned by // FilterObject.Validate if the designated constraints aren't met. type FilterObjectValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterObjectValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterObjectValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterObjectValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterObjectValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterObjectValidationError) ErrorName() string { return "FilterObjectValidationError" } // Error satisfies the builtin error interface func (e FilterObjectValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterObject.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterObjectValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterObjectValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/grpc_web/000077500000000000000000000000001454502223200234125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_web/v2/000077500000000000000000000000001454502223200237415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/grpc_web/v2/grpc_web.pb.go000077500000000000000000000154101454502223200264640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/grpc_web/v2/grpc_web.proto package grpc_webv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC Web filter config. type GrpcWeb struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GrpcWeb) Reset() { *x = GrpcWeb{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcWeb) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcWeb) ProtoMessage() {} func (x *GrpcWeb) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcWeb.ProtoReflect.Descriptor instead. func (*GrpcWeb) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_http_grpc_web_v2_grpc_web_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x09, 0x0a, 0x07, 0x47, 0x72, 0x70, 0x63, 0x57, 0x65, 0x62, 0x42, 0xd5, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x57, 0x65, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2f, 0x76, 0x32, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescOnce sync.Once file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescData = file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDesc ) func file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescData) }) return file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDescData } var file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_goTypes = []interface{}{ (*GrpcWeb)(nil), // 0: envoy.config.filter.http.grpc_web.v2.GrpcWeb } var file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_init() } func file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_init() { if File_envoy_config_filter_http_grpc_web_v2_grpc_web_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcWeb); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_msgTypes, }.Build() File_envoy_config_filter_http_grpc_web_v2_grpc_web_proto = out.File file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_rawDesc = nil file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_goTypes = nil file_envoy_config_filter_http_grpc_web_v2_grpc_web_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/grpc_web/v2/grpc_web.pb.validate.go000077500000000000000000000061131454502223200302540ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/grpc_web/v2/grpc_web.proto package grpc_webv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcWeb with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcWeb) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcWeb with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GrpcWebMultiError, or nil if none found. func (m *GrpcWeb) ValidateAll() error { return m.validate(true) } func (m *GrpcWeb) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GrpcWebMultiError(errors) } return nil } // GrpcWebMultiError is an error wrapping multiple validation errors returned // by GrpcWeb.ValidateAll() if the designated constraints aren't met. type GrpcWebMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcWebMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcWebMultiError) AllErrors() []error { return m } // GrpcWebValidationError is the validation error returned by GrpcWeb.Validate // if the designated constraints aren't met. type GrpcWebValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcWebValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcWebValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcWebValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcWebValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcWebValidationError) ErrorName() string { return "GrpcWebValidationError" } // Error satisfies the builtin error interface func (e GrpcWebValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcWeb.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcWebValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcWebValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/gzip/000077500000000000000000000000001454502223200225735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/gzip/v2/000077500000000000000000000000001454502223200231225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/gzip/v2/gzip.pb.go000077500000000000000000000570041454502223200250330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/gzip/v2/gzip.proto package gzipv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/http/compressor/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Gzip_CompressionStrategy int32 const ( Gzip_DEFAULT Gzip_CompressionStrategy = 0 Gzip_FILTERED Gzip_CompressionStrategy = 1 Gzip_HUFFMAN Gzip_CompressionStrategy = 2 Gzip_RLE Gzip_CompressionStrategy = 3 ) // Enum value maps for Gzip_CompressionStrategy. var ( Gzip_CompressionStrategy_name = map[int32]string{ 0: "DEFAULT", 1: "FILTERED", 2: "HUFFMAN", 3: "RLE", } Gzip_CompressionStrategy_value = map[string]int32{ "DEFAULT": 0, "FILTERED": 1, "HUFFMAN": 2, "RLE": 3, } ) func (x Gzip_CompressionStrategy) Enum() *Gzip_CompressionStrategy { p := new(Gzip_CompressionStrategy) *p = x return p } func (x Gzip_CompressionStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionStrategy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes[0].Descriptor() } func (Gzip_CompressionStrategy) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes[0] } func (x Gzip_CompressionStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionStrategy.Descriptor instead. func (Gzip_CompressionStrategy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescGZIP(), []int{0, 0} } type Gzip_CompressionLevel_Enum int32 const ( Gzip_CompressionLevel_DEFAULT Gzip_CompressionLevel_Enum = 0 Gzip_CompressionLevel_BEST Gzip_CompressionLevel_Enum = 1 Gzip_CompressionLevel_SPEED Gzip_CompressionLevel_Enum = 2 ) // Enum value maps for Gzip_CompressionLevel_Enum. var ( Gzip_CompressionLevel_Enum_name = map[int32]string{ 0: "DEFAULT", 1: "BEST", 2: "SPEED", } Gzip_CompressionLevel_Enum_value = map[string]int32{ "DEFAULT": 0, "BEST": 1, "SPEED": 2, } ) func (x Gzip_CompressionLevel_Enum) Enum() *Gzip_CompressionLevel_Enum { p := new(Gzip_CompressionLevel_Enum) *p = x return p } func (x Gzip_CompressionLevel_Enum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionLevel_Enum) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes[1].Descriptor() } func (Gzip_CompressionLevel_Enum) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes[1] } func (x Gzip_CompressionLevel_Enum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionLevel_Enum.Descriptor instead. func (Gzip_CompressionLevel_Enum) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescGZIP(), []int{0, 0, 0} } // [#next-free-field: 11] type Gzip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values // use more memory, but are faster and produce better compression results. The default value is 5. MemoryLevel *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=memory_level,json=memoryLevel,proto3" json:"memory_level,omitempty"` // Minimum response length, in bytes, which will trigger compression. The default value is 30. // .. attention: // // **This field is deprecated**. Set the `compressor` field instead. // // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. ContentLength *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // A value used for selecting the zlib compression level. This setting will affect speed and // amount of compression applied to the content. "BEST" provides higher compression at the cost of // higher latency, "SPEED" provides lower compression with minimum impact on response time. // "DEFAULT" provides an optimal result between speed and compression. This field will be set to // "DEFAULT" if not specified. CompressionLevel Gzip_CompressionLevel_Enum `protobuf:"varint,3,opt,name=compression_level,json=compressionLevel,proto3,enum=envoy.config.filter.http.gzip.v2.Gzip_CompressionLevel_Enum" json:"compression_level,omitempty"` // A value used for selecting the zlib compression strategy which is directly related to the // characteristics of the content. Most of the time "DEFAULT" will be the best choice, though // there are situations which changing this parameter might produce better results. For example, // run-length encoding (RLE) is typically used when the content is known for having sequences // which same data occurs many consecutive times. For more information about each strategy, please // refer to zlib manual. CompressionStrategy Gzip_CompressionStrategy `protobuf:"varint,4,opt,name=compression_strategy,json=compressionStrategy,proto3,enum=envoy.config.filter.http.gzip.v2.Gzip_CompressionStrategy" json:"compression_strategy,omitempty"` // Set of strings that allows specifying which mime-types yield compression; e.g., // application/json, text/html, etc. When this field is not defined, compression will be applied // to the following mime-types: "application/javascript", "application/json", // "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml". // .. attention: // // **This field is deprecated**. Set the `compressor` field instead. // // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. ContentType []string `protobuf:"bytes,6,rep,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // If true, disables compression when the response contains an etag header. When it is false, the // filter will preserve weak etags and remove the ones that require strong validation. // .. attention: // // **This field is deprecated**. Set the `compressor` field instead. // // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. DisableOnEtagHeader bool `protobuf:"varint,7,opt,name=disable_on_etag_header,json=disableOnEtagHeader,proto3" json:"disable_on_etag_header,omitempty"` // If true, removes accept-encoding from the request headers before dispatching it to the upstream // so that responses do not get compressed before reaching the filter. // .. attention: // // **This field is deprecated**. Set the `compressor` field instead. // // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. RemoveAcceptEncodingHeader bool `protobuf:"varint,8,opt,name=remove_accept_encoding_header,json=removeAcceptEncodingHeader,proto3" json:"remove_accept_encoding_header,omitempty"` // Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. // Larger window results in better compression at the expense of memory usage. The default is 12 // which will produce a 4096 bytes window. For more details about this parameter, please refer to // zlib manual > deflateInit2. WindowBits *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=window_bits,json=windowBits,proto3" json:"window_bits,omitempty"` // Set of configuration parameters common for all compression filters. If this field is set then // the fields `content_length`, `content_type`, `disable_on_etag_header` and // `remove_accept_encoding_header` are ignored. Compressor *v2.Compressor `protobuf:"bytes,10,opt,name=compressor,proto3" json:"compressor,omitempty"` } func (x *Gzip) Reset() { *x = Gzip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip) ProtoMessage() {} func (x *Gzip) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip.ProtoReflect.Descriptor instead. func (*Gzip) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescGZIP(), []int{0} } func (x *Gzip) GetMemoryLevel() *wrappers.UInt32Value { if x != nil { return x.MemoryLevel } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. func (x *Gzip) GetContentLength() *wrappers.UInt32Value { if x != nil { return x.ContentLength } return nil } func (x *Gzip) GetCompressionLevel() Gzip_CompressionLevel_Enum { if x != nil { return x.CompressionLevel } return Gzip_CompressionLevel_DEFAULT } func (x *Gzip) GetCompressionStrategy() Gzip_CompressionStrategy { if x != nil { return x.CompressionStrategy } return Gzip_DEFAULT } // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. func (x *Gzip) GetContentType() []string { if x != nil { return x.ContentType } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. func (x *Gzip) GetDisableOnEtagHeader() bool { if x != nil { return x.DisableOnEtagHeader } return false } // Deprecated: Marked as deprecated in envoy/config/filter/http/gzip/v2/gzip.proto. func (x *Gzip) GetRemoveAcceptEncodingHeader() bool { if x != nil { return x.RemoveAcceptEncodingHeader } return false } func (x *Gzip) GetWindowBits() *wrappers.UInt32Value { if x != nil { return x.WindowBits } return nil } func (x *Gzip) GetCompressor() *v2.Compressor { if x != nil { return x.Compressor } return nil } type Gzip_CompressionLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Gzip_CompressionLevel) Reset() { *x = Gzip_CompressionLevel{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip_CompressionLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip_CompressionLevel) ProtoMessage() {} func (x *Gzip_CompressionLevel) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip_CompressionLevel.ProtoReflect.Descriptor instead. func (*Gzip_CompressionLevel) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_config_filter_http_gzip_v2_gzip_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x06, 0x0a, 0x04, 0x47, 0x7a, 0x69, 0x70, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x09, 0x28, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x73, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x77, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x45, 0x74, 0x61, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x0f, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x69, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x1a, 0x3c, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x28, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x02, 0x22, 0x46, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x55, 0x46, 0x46, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4c, 0x45, 0x10, 0x03, 0x42, 0xc2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x27, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x47, 0x7a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x76, 0x32, 0x3b, 0x67, 0x7a, 0x69, 0x70, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescOnce sync.Once file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescData = file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDesc ) func file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescData) }) return file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDescData } var file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_gzip_v2_gzip_proto_goTypes = []interface{}{ (Gzip_CompressionStrategy)(0), // 0: envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy (Gzip_CompressionLevel_Enum)(0), // 1: envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum (*Gzip)(nil), // 2: envoy.config.filter.http.gzip.v2.Gzip (*Gzip_CompressionLevel)(nil), // 3: envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*v2.Compressor)(nil), // 5: envoy.config.filter.http.compressor.v2.Compressor } var file_envoy_config_filter_http_gzip_v2_gzip_proto_depIdxs = []int32{ 4, // 0: envoy.config.filter.http.gzip.v2.Gzip.memory_level:type_name -> google.protobuf.UInt32Value 4, // 1: envoy.config.filter.http.gzip.v2.Gzip.content_length:type_name -> google.protobuf.UInt32Value 1, // 2: envoy.config.filter.http.gzip.v2.Gzip.compression_level:type_name -> envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum 0, // 3: envoy.config.filter.http.gzip.v2.Gzip.compression_strategy:type_name -> envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy 4, // 4: envoy.config.filter.http.gzip.v2.Gzip.window_bits:type_name -> google.protobuf.UInt32Value 5, // 5: envoy.config.filter.http.gzip.v2.Gzip.compressor:type_name -> envoy.config.filter.http.compressor.v2.Compressor 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_gzip_v2_gzip_proto_init() } func file_envoy_config_filter_http_gzip_v2_gzip_proto_init() { if File_envoy_config_filter_http_gzip_v2_gzip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip_CompressionLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDesc, NumEnums: 2, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_gzip_v2_gzip_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_gzip_v2_gzip_proto_depIdxs, EnumInfos: file_envoy_config_filter_http_gzip_v2_gzip_proto_enumTypes, MessageInfos: file_envoy_config_filter_http_gzip_v2_gzip_proto_msgTypes, }.Build() File_envoy_config_filter_http_gzip_v2_gzip_proto = out.File file_envoy_config_filter_http_gzip_v2_gzip_proto_rawDesc = nil file_envoy_config_filter_http_gzip_v2_gzip_proto_goTypes = nil file_envoy_config_filter_http_gzip_v2_gzip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/gzip/v2/gzip.pb.validate.go000077500000000000000000000212141454502223200266150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/gzip/v2/gzip.proto package gzipv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Gzip with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Gzip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GzipMultiError, or nil if none found. func (m *Gzip) ValidateAll() error { return m.validate(true) } func (m *Gzip) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMemoryLevel(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 9 { err := GzipValidationError{ field: "MemoryLevel", reason: "value must be inside range [1, 9]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetContentLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GzipValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GzipValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetContentLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GzipValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, } } } if _, ok := Gzip_CompressionLevel_Enum_name[int32(m.GetCompressionLevel())]; !ok { err := GzipValidationError{ field: "CompressionLevel", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := Gzip_CompressionStrategy_name[int32(m.GetCompressionStrategy())]; !ok { err := GzipValidationError{ field: "CompressionStrategy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for DisableOnEtagHeader // no validation rules for RemoveAcceptEncodingHeader if wrapper := m.GetWindowBits(); wrapper != nil { if val := wrapper.GetValue(); val < 9 || val > 15 { err := GzipValidationError{ field: "WindowBits", reason: "value must be inside range [9, 15]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetCompressor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCompressor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GzipMultiError(errors) } return nil } // GzipMultiError is an error wrapping multiple validation errors returned by // Gzip.ValidateAll() if the designated constraints aren't met. type GzipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GzipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GzipMultiError) AllErrors() []error { return m } // GzipValidationError is the validation error returned by Gzip.Validate if the // designated constraints aren't met. type GzipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GzipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GzipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GzipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GzipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GzipValidationError) ErrorName() string { return "GzipValidationError" } // Error satisfies the builtin error interface func (e GzipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GzipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GzipValidationError{} // Validate checks the field values on Gzip_CompressionLevel with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Gzip_CompressionLevel) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip_CompressionLevel with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Gzip_CompressionLevelMultiError, or nil if none found. func (m *Gzip_CompressionLevel) ValidateAll() error { return m.validate(true) } func (m *Gzip_CompressionLevel) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Gzip_CompressionLevelMultiError(errors) } return nil } // Gzip_CompressionLevelMultiError is an error wrapping multiple validation // errors returned by Gzip_CompressionLevel.ValidateAll() if the designated // constraints aren't met. type Gzip_CompressionLevelMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Gzip_CompressionLevelMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Gzip_CompressionLevelMultiError) AllErrors() []error { return m } // Gzip_CompressionLevelValidationError is the validation error returned by // Gzip_CompressionLevel.Validate if the designated constraints aren't met. type Gzip_CompressionLevelValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Gzip_CompressionLevelValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Gzip_CompressionLevelValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Gzip_CompressionLevelValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Gzip_CompressionLevelValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Gzip_CompressionLevelValidationError) ErrorName() string { return "Gzip_CompressionLevelValidationError" } // Error satisfies the builtin error interface func (e Gzip_CompressionLevelValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip_CompressionLevel.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Gzip_CompressionLevelValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Gzip_CompressionLevelValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/header_to_metadata/000077500000000000000000000000001454502223200254145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/header_to_metadata/v2/000077500000000000000000000000001454502223200257435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/header_to_metadata/v2/header_to_metadata.pb.go000077500000000000000000000605411454502223200324750ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/header_to_metadata/v2/header_to_metadata.proto package header_to_metadatav2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config_ValueType int32 const ( Config_STRING Config_ValueType = 0 Config_NUMBER Config_ValueType = 1 // The value is a serialized `protobuf.Value // `_. Config_PROTOBUF_VALUE Config_ValueType = 2 ) // Enum value maps for Config_ValueType. var ( Config_ValueType_name = map[int32]string{ 0: "STRING", 1: "NUMBER", 2: "PROTOBUF_VALUE", } Config_ValueType_value = map[string]int32{ "STRING": 0, "NUMBER": 1, "PROTOBUF_VALUE": 2, } ) func (x Config_ValueType) Enum() *Config_ValueType { p := new(Config_ValueType) *p = x return p } func (x Config_ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_ValueType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes[0].Descriptor() } func (Config_ValueType) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes[0] } func (x Config_ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_ValueType.Descriptor instead. func (Config_ValueType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } // ValueEncode defines the encoding algorithm. type Config_ValueEncode int32 const ( // The value is not encoded. Config_NONE Config_ValueEncode = 0 // The value is encoded in `Base64 `_. // Note: this is mostly used for STRING and PROTOBUF_VALUE to escape the // non-ASCII characters in the header. Config_BASE64 Config_ValueEncode = 1 ) // Enum value maps for Config_ValueEncode. var ( Config_ValueEncode_name = map[int32]string{ 0: "NONE", 1: "BASE64", } Config_ValueEncode_value = map[string]int32{ "NONE": 0, "BASE64": 1, } ) func (x Config_ValueEncode) Enum() *Config_ValueEncode { p := new(Config_ValueEncode) *p = x return p } func (x Config_ValueEncode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_ValueEncode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes[1].Descriptor() } func (Config_ValueEncode) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes[1] } func (x Config_ValueEncode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_ValueEncode.Descriptor instead. func (Config_ValueEncode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply to requests. RequestRules []*Config_Rule `protobuf:"bytes,1,rep,name=request_rules,json=requestRules,proto3" json:"request_rules,omitempty"` // The list of rules to apply to responses. ResponseRules []*Config_Rule `protobuf:"bytes,2,rep,name=response_rules,json=responseRules,proto3" json:"response_rules,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP(), []int{0} } func (x *Config) GetRequestRules() []*Config_Rule { if x != nil { return x.RequestRules } return nil } func (x *Config) GetResponseRules() []*Config_Rule { if x != nil { return x.ResponseRules } return nil } // [#next-free-field: 6] type Config_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // The value to pair with the given key. // // When used for a `on_header_present` case, if value is non-empty it'll be used // instead of the header value. If both are empty, no metadata is added. // // When used for a `on_header_missing` case, a non-empty value must be provided // otherwise no metadata is added. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // The value's type — defaults to string. Type Config_ValueType `protobuf:"varint,4,opt,name=type,proto3,enum=envoy.config.filter.http.header_to_metadata.v2.Config_ValueType" json:"type,omitempty"` // How is the value encoded, default is NONE (not encoded). // The value will be decoded accordingly before storing to metadata. Encode Config_ValueEncode `protobuf:"varint,5,opt,name=encode,proto3,enum=envoy.config.filter.http.header_to_metadata.v2.Config_ValueEncode" json:"encode,omitempty"` } func (x *Config_KeyValuePair) Reset() { *x = Config_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_KeyValuePair) ProtoMessage() {} func (x *Config_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config_KeyValuePair.ProtoReflect.Descriptor instead. func (*Config_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } func (x *Config_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *Config_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } func (x *Config_KeyValuePair) GetValue() string { if x != nil { return x.Value } return "" } func (x *Config_KeyValuePair) GetType() Config_ValueType { if x != nil { return x.Type } return Config_STRING } func (x *Config_KeyValuePair) GetEncode() Config_ValueEncode { if x != nil { return x.Encode } return Config_NONE } // A Rule defines what metadata to apply when a header is present or missing. type Config_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header that triggers this rule — required. Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // If the header is present, apply this metadata KeyValuePair. // // If the value in the KeyValuePair is non-empty, it'll be used instead // of the header value. OnHeaderPresent *Config_KeyValuePair `protobuf:"bytes,2,opt,name=on_header_present,json=onHeaderPresent,proto3" json:"on_header_present,omitempty"` // If the header is not present, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set, since it'll be used in lieu // of the missing header value. OnHeaderMissing *Config_KeyValuePair `protobuf:"bytes,3,opt,name=on_header_missing,json=onHeaderMissing,proto3" json:"on_header_missing,omitempty"` // Whether or not to remove the header after a rule is applied. // // This prevents headers from leaking. Remove bool `protobuf:"varint,4,opt,name=remove,proto3" json:"remove,omitempty"` } func (x *Config_Rule) Reset() { *x = Config_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_Rule) ProtoMessage() {} func (x *Config_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config_Rule.ProtoReflect.Descriptor instead. func (*Config_Rule) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } func (x *Config_Rule) GetHeader() string { if x != nil { return x.Header } return "" } func (x *Config_Rule) GetOnHeaderPresent() *Config_KeyValuePair { if x != nil { return x.OnHeaderPresent } return nil } func (x *Config_Rule) GetOnHeaderMissing() *Config_KeyValuePair { if x != nil { return x.OnHeaderMissing } return nil } func (x *Config_Rule) GetRemove() bool { if x != nil { return x.Remove } return false } var File_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x06, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xa0, 0x02, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0xa7, 0x02, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0f, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0f, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x36, 0x34, 0x10, 0x01, 0x42, 0x86, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x15, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescOnce sync.Once file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescData = file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDesc ) func file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescData) }) return file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDescData } var file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_goTypes = []interface{}{ (Config_ValueType)(0), // 0: envoy.config.filter.http.header_to_metadata.v2.Config.ValueType (Config_ValueEncode)(0), // 1: envoy.config.filter.http.header_to_metadata.v2.Config.ValueEncode (*Config)(nil), // 2: envoy.config.filter.http.header_to_metadata.v2.Config (*Config_KeyValuePair)(nil), // 3: envoy.config.filter.http.header_to_metadata.v2.Config.KeyValuePair (*Config_Rule)(nil), // 4: envoy.config.filter.http.header_to_metadata.v2.Config.Rule } var file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_depIdxs = []int32{ 4, // 0: envoy.config.filter.http.header_to_metadata.v2.Config.request_rules:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.Rule 4, // 1: envoy.config.filter.http.header_to_metadata.v2.Config.response_rules:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.Rule 0, // 2: envoy.config.filter.http.header_to_metadata.v2.Config.KeyValuePair.type:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.ValueType 1, // 3: envoy.config.filter.http.header_to_metadata.v2.Config.KeyValuePair.encode:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.ValueEncode 3, // 4: envoy.config.filter.http.header_to_metadata.v2.Config.Rule.on_header_present:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.KeyValuePair 3, // 5: envoy.config.filter.http.header_to_metadata.v2.Config.Rule.on_header_missing:type_name -> envoy.config.filter.http.header_to_metadata.v2.Config.KeyValuePair 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_init() } func file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_init() { if File_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_depIdxs, EnumInfos: file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_enumTypes, MessageInfos: file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_msgTypes, }.Build() File_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto = out.File file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_rawDesc = nil file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_goTypes = nil file_envoy_config_filter_http_header_to_metadata_v2_header_to_metadata_proto_depIdxs = nil } header_to_metadata.pb.validate.go000077500000000000000000000316721454502223200342110ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/header_to_metadata/v2// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/header_to_metadata/v2/header_to_metadata.proto package header_to_metadatav2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRequestRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} // Validate checks the field values on Config_KeyValuePair with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Config_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config_KeyValuePair with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Config_KeyValuePairMultiError, or nil if none found. func (m *Config_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *Config_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if len(m.GetKey()) < 1 { err := Config_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for Value // no validation rules for Type // no validation rules for Encode if len(errors) > 0 { return Config_KeyValuePairMultiError(errors) } return nil } // Config_KeyValuePairMultiError is an error wrapping multiple validation // errors returned by Config_KeyValuePair.ValidateAll() if the designated // constraints aren't met. type Config_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Config_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Config_KeyValuePairMultiError) AllErrors() []error { return m } // Config_KeyValuePairValidationError is the validation error returned by // Config_KeyValuePair.Validate if the designated constraints aren't met. type Config_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Config_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Config_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Config_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Config_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Config_KeyValuePairValidationError) ErrorName() string { return "Config_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e Config_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Config_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Config_KeyValuePairValidationError{} // Validate checks the field values on Config_Rule with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config_Rule with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Config_RuleMultiError, or // nil if none found. func (m *Config_Rule) ValidateAll() error { return m.validate(true) } func (m *Config_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHeader()) < 1 { err := Config_RuleValidationError{ field: "Header", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_Config_Rule_Header_Pattern.MatchString(m.GetHeader()) { err := Config_RuleValidationError{ field: "Header", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnHeaderPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnHeaderPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnHeaderMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnHeaderMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Remove if len(errors) > 0 { return Config_RuleMultiError(errors) } return nil } // Config_RuleMultiError is an error wrapping multiple validation errors // returned by Config_Rule.ValidateAll() if the designated constraints aren't met. type Config_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Config_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Config_RuleMultiError) AllErrors() []error { return m } // Config_RuleValidationError is the validation error returned by // Config_Rule.Validate if the designated constraints aren't met. type Config_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Config_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Config_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Config_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Config_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Config_RuleValidationError) ErrorName() string { return "Config_RuleValidationError" } // Error satisfies the builtin error interface func (e Config_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Config_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Config_RuleValidationError{} var _Config_Rule_Header_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/config/filter/http/health_check/000077500000000000000000000000001454502223200242245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/health_check/v2/000077500000000000000000000000001454502223200245535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/health_check/v2/health_check.pb.go000077500000000000000000000343441454502223200301170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/health_check/v2/health_check.proto package health_checkv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type HealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies whether the filter operates in pass through mode or not. PassThroughMode *wrappers.BoolValue `protobuf:"bytes,1,opt,name=pass_through_mode,json=passThroughMode,proto3" json:"pass_through_mode,omitempty"` // If operating in pass through mode, the amount of time in milliseconds // that the filter should cache the upstream response. CacheTime *duration.Duration `protobuf:"bytes,3,opt,name=cache_time,json=cacheTime,proto3" json:"cache_time,omitempty"` // If operating in non-pass-through mode, specifies a set of upstream cluster // names and the minimum percentage of servers in each of those clusters that // must be healthy or degraded in order for the filter to return a 200. // // .. note:: // // This value is interpreted as an integer by truncating, so 12.50% will be calculated // as if it were 12%. ClusterMinHealthyPercentages map[string]*_type.Percent `protobuf:"bytes,4,rep,name=cluster_min_healthy_percentages,json=clusterMinHealthyPercentages,proto3" json:"cluster_min_healthy_percentages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies a set of health check request headers to match on. The health check filter will // check a request’s headers against all the specified headers. To specify the health check // endpoint, set the “:path“ header to match on. Headers []*route.HeaderMatcher `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HealthCheck) Reset() { *x = HealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_health_check_v2_health_check_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck) ProtoMessage() {} func (x *HealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_health_check_v2_health_check_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescGZIP(), []int{0} } func (x *HealthCheck) GetPassThroughMode() *wrappers.BoolValue { if x != nil { return x.PassThroughMode } return nil } func (x *HealthCheck) GetCacheTime() *duration.Duration { if x != nil { return x.CacheTime } return nil } func (x *HealthCheck) GetClusterMinHealthyPercentages() map[string]*_type.Percent { if x != nil { return x.ClusterMinHealthyPercentages } return nil } func (x *HealthCheck) GetHeaders() []*route.HeaderMatcher { if x != nil { return x.Headers } return nil } var File_envoy_config_filter_http_health_check_v2_health_check_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x32, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x03, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x1f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x64, 0x0a, 0x21, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x42, 0xe9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x76, 0x32, 0x3b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescOnce sync.Once file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescData = file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDesc ) func file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescData) }) return file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDescData } var file_envoy_config_filter_http_health_check_v2_health_check_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_health_check_v2_health_check_proto_goTypes = []interface{}{ (*HealthCheck)(nil), // 0: envoy.config.filter.http.health_check.v2.HealthCheck nil, // 1: envoy.config.filter.http.health_check.v2.HealthCheck.ClusterMinHealthyPercentagesEntry (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue (*duration.Duration)(nil), // 3: google.protobuf.Duration (*route.HeaderMatcher)(nil), // 4: envoy.api.v2.route.HeaderMatcher (*_type.Percent)(nil), // 5: envoy.type.Percent } var file_envoy_config_filter_http_health_check_v2_health_check_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.health_check.v2.HealthCheck.pass_through_mode:type_name -> google.protobuf.BoolValue 3, // 1: envoy.config.filter.http.health_check.v2.HealthCheck.cache_time:type_name -> google.protobuf.Duration 1, // 2: envoy.config.filter.http.health_check.v2.HealthCheck.cluster_min_healthy_percentages:type_name -> envoy.config.filter.http.health_check.v2.HealthCheck.ClusterMinHealthyPercentagesEntry 4, // 3: envoy.config.filter.http.health_check.v2.HealthCheck.headers:type_name -> envoy.api.v2.route.HeaderMatcher 5, // 4: envoy.config.filter.http.health_check.v2.HealthCheck.ClusterMinHealthyPercentagesEntry.value:type_name -> envoy.type.Percent 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_health_check_v2_health_check_proto_init() } func file_envoy_config_filter_http_health_check_v2_health_check_proto_init() { if File_envoy_config_filter_http_health_check_v2_health_check_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_health_check_v2_health_check_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_health_check_v2_health_check_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_health_check_v2_health_check_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_health_check_v2_health_check_proto_msgTypes, }.Build() File_envoy_config_filter_http_health_check_v2_health_check_proto = out.File file_envoy_config_filter_http_health_check_v2_health_check_proto_rawDesc = nil file_envoy_config_filter_http_health_check_v2_health_check_proto_goTypes = nil file_envoy_config_filter_http_health_check_v2_health_check_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/health_check/v2/health_check.pb.validate.go000077500000000000000000000165361454502223200317120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/health_check/v2/health_check.proto package health_checkv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HealthCheckMultiError, or // nil if none found. func (m *HealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPassThroughMode() == nil { err := HealthCheckValidationError{ field: "PassThroughMode", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPassThroughMode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassThroughMode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCacheTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCacheTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetClusterMinHealthyPercentages())) i := 0 for key := range m.GetClusterMinHealthyPercentages() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetClusterMinHealthyPercentages()[key] _ = val // no validation rules for ClusterMinHealthyPercentages[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HealthCheckMultiError(errors) } return nil } // HealthCheckMultiError is an error wrapping multiple validation errors // returned by HealthCheck.ValidateAll() if the designated constraints aren't met. type HealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckMultiError) AllErrors() []error { return m } // HealthCheckValidationError is the validation error returned by // HealthCheck.Validate if the designated constraints aren't met. type HealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckValidationError) ErrorName() string { return "HealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/ip_tagging/000077500000000000000000000000001454502223200237325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/ip_tagging/v2/000077500000000000000000000000001454502223200242615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/ip_tagging/v2/ip_tagging.pb.go000077500000000000000000000357761454502223200273450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/ip_tagging/v2/ip_tagging.proto package ip_taggingv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The type of requests the filter should apply to. The supported types // are internal, external or both. The // :ref:`x-forwarded-for` header is // used to determine if a request is internal and will result in // :ref:`x-envoy-internal` // being set. The filter defaults to both, and it will apply to all request types. type IPTagging_RequestType int32 const ( // Both external and internal requests will be tagged. This is the default value. IPTagging_BOTH IPTagging_RequestType = 0 // Only internal requests will be tagged. IPTagging_INTERNAL IPTagging_RequestType = 1 // Only external requests will be tagged. IPTagging_EXTERNAL IPTagging_RequestType = 2 ) // Enum value maps for IPTagging_RequestType. var ( IPTagging_RequestType_name = map[int32]string{ 0: "BOTH", 1: "INTERNAL", 2: "EXTERNAL", } IPTagging_RequestType_value = map[string]int32{ "BOTH": 0, "INTERNAL": 1, "EXTERNAL": 2, } ) func (x IPTagging_RequestType) Enum() *IPTagging_RequestType { p := new(IPTagging_RequestType) *p = x return p } func (x IPTagging_RequestType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (IPTagging_RequestType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_enumTypes[0].Descriptor() } func (IPTagging_RequestType) Type() protoreflect.EnumType { return &file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_enumTypes[0] } func (x IPTagging_RequestType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use IPTagging_RequestType.Descriptor instead. func (IPTagging_RequestType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescGZIP(), []int{0, 0} } type IPTagging struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of request the filter should apply to. RequestType IPTagging_RequestType `protobuf:"varint,1,opt,name=request_type,json=requestType,proto3,enum=envoy.config.filter.http.ip_tagging.v2.IPTagging_RequestType" json:"request_type,omitempty"` // [#comment:TODO(ccaraman): Extend functionality to load IP tags from file system. // Tracked by issue https://github.com/envoyproxy/envoy/issues/2695] // The set of IP tags for the filter. IpTags []*IPTagging_IPTag `protobuf:"bytes,4,rep,name=ip_tags,json=ipTags,proto3" json:"ip_tags,omitempty"` } func (x *IPTagging) Reset() { *x = IPTagging{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IPTagging) String() string { return protoimpl.X.MessageStringOf(x) } func (*IPTagging) ProtoMessage() {} func (x *IPTagging) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IPTagging.ProtoReflect.Descriptor instead. func (*IPTagging) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescGZIP(), []int{0} } func (x *IPTagging) GetRequestType() IPTagging_RequestType { if x != nil { return x.RequestType } return IPTagging_BOTH } func (x *IPTagging) GetIpTags() []*IPTagging_IPTag { if x != nil { return x.IpTags } return nil } // Supplies the IP tag name and the IP address subnets. type IPTagging_IPTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the IP tag name to apply. IpTagName string `protobuf:"bytes,1,opt,name=ip_tag_name,json=ipTagName,proto3" json:"ip_tag_name,omitempty"` // A list of IP address subnets that will be tagged with // ip_tag_name. Both IPv4 and IPv6 are supported. IpList []*core.CidrRange `protobuf:"bytes,2,rep,name=ip_list,json=ipList,proto3" json:"ip_list,omitempty"` } func (x *IPTagging_IPTag) Reset() { *x = IPTagging_IPTag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IPTagging_IPTag) String() string { return protoimpl.X.MessageStringOf(x) } func (*IPTagging_IPTag) ProtoMessage() {} func (x *IPTagging_IPTag) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IPTagging_IPTag.ProtoReflect.Descriptor instead. func (*IPTagging_IPTag) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescGZIP(), []int{0, 0} } func (x *IPTagging_IPTag) GetIpTagName() string { if x != nil { return x.IpTagName } return "" } func (x *IPTagging_IPTag) GetIpList() []*core.CidrRange { if x != nil { return x.IpList } return nil } var File_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x02, 0x0a, 0x09, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x69, 0x70, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x5e, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x42, 0xdf, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x49, 0x70, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescOnce sync.Once file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescData = file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDesc ) func file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescData) }) return file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDescData } var file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_goTypes = []interface{}{ (IPTagging_RequestType)(0), // 0: envoy.config.filter.http.ip_tagging.v2.IPTagging.RequestType (*IPTagging)(nil), // 1: envoy.config.filter.http.ip_tagging.v2.IPTagging (*IPTagging_IPTag)(nil), // 2: envoy.config.filter.http.ip_tagging.v2.IPTagging.IPTag (*core.CidrRange)(nil), // 3: envoy.api.v2.core.CidrRange } var file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.http.ip_tagging.v2.IPTagging.request_type:type_name -> envoy.config.filter.http.ip_tagging.v2.IPTagging.RequestType 2, // 1: envoy.config.filter.http.ip_tagging.v2.IPTagging.ip_tags:type_name -> envoy.config.filter.http.ip_tagging.v2.IPTagging.IPTag 3, // 2: envoy.config.filter.http.ip_tagging.v2.IPTagging.IPTag.ip_list:type_name -> envoy.api.v2.core.CidrRange 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_init() } func file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_init() { if File_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IPTagging); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IPTagging_IPTag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_depIdxs, EnumInfos: file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_enumTypes, MessageInfos: file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_msgTypes, }.Build() File_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto = out.File file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_rawDesc = nil file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_goTypes = nil file_envoy_config_filter_http_ip_tagging_v2_ip_tagging_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/ip_tagging/v2/ip_tagging.pb.validate.go000077500000000000000000000202751454502223200311210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/ip_tagging/v2/ip_tagging.proto package ip_taggingv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on IPTagging with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *IPTagging) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IPTagging with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in IPTaggingMultiError, or nil // if none found. func (m *IPTagging) ValidateAll() error { return m.validate(true) } func (m *IPTagging) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := IPTagging_RequestType_name[int32(m.GetRequestType())]; !ok { err := IPTaggingValidationError{ field: "RequestType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(m.GetIpTags()) < 1 { err := IPTaggingValidationError{ field: "IpTags", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetIpTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IPTaggingMultiError(errors) } return nil } // IPTaggingMultiError is an error wrapping multiple validation errors returned // by IPTagging.ValidateAll() if the designated constraints aren't met. type IPTaggingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IPTaggingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IPTaggingMultiError) AllErrors() []error { return m } // IPTaggingValidationError is the validation error returned by // IPTagging.Validate if the designated constraints aren't met. type IPTaggingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IPTaggingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IPTaggingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IPTaggingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IPTaggingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IPTaggingValidationError) ErrorName() string { return "IPTaggingValidationError" } // Error satisfies the builtin error interface func (e IPTaggingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIPTagging.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IPTaggingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IPTaggingValidationError{} // Validate checks the field values on IPTagging_IPTag with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *IPTagging_IPTag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IPTagging_IPTag with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IPTagging_IPTagMultiError, or nil if none found. func (m *IPTagging_IPTag) ValidateAll() error { return m.validate(true) } func (m *IPTagging_IPTag) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IpTagName for idx, item := range m.GetIpList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IPTagging_IPTagMultiError(errors) } return nil } // IPTagging_IPTagMultiError is an error wrapping multiple validation errors // returned by IPTagging_IPTag.ValidateAll() if the designated constraints // aren't met. type IPTagging_IPTagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IPTagging_IPTagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IPTagging_IPTagMultiError) AllErrors() []error { return m } // IPTagging_IPTagValidationError is the validation error returned by // IPTagging_IPTag.Validate if the designated constraints aren't met. type IPTagging_IPTagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IPTagging_IPTagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IPTagging_IPTagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IPTagging_IPTagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IPTagging_IPTagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IPTagging_IPTagValidationError) ErrorName() string { return "IPTagging_IPTagValidationError" } // Error satisfies the builtin error interface func (e IPTagging_IPTagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIPTagging_IPTag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IPTagging_IPTagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IPTagging_IPTagValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/jwt_authn/000077500000000000000000000000001454502223200236255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/jwt_authn/v2alpha/000077500000000000000000000000001454502223200251625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/jwt_authn/v2alpha/config.pb.go000077500000000000000000001750621454502223200273740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/jwt_authn/v2alpha/config.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Please see following for JWT authentication flow: // // * `JSON Web Token (JWT) `_ // * `The OAuth 2.0 Authorization Framework `_ // * `OpenID Connect `_ // // A JwtProvider message specifies how a JSON Web Token (JWT) can be verified. It specifies: // // * issuer: the principal that issues the JWT. It has to match the one from the token. // * allowed audiences: the ones in the token have to be listed here. // * how to fetch public key JWKS to verify the token signature. // * how to extract JWT token in the request. // * how to pass successfully verified token payload. // // Example: // // .. code-block:: yaml // // issuer: https://example.com // audiences: // - bookstore_android.apps.googleusercontent.com // - bookstore_web.apps.googleusercontent.com // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // cache_duration: // seconds: 300 // // [#next-free-field: 10] type JwtProvider struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the `principal `_ that issued // the JWT, usually a URL or an email address. // // Example: https://securetoken.google.com // Example: 1234567-compute@developer.gserviceaccount.com Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // The list of JWT `audiences `_ are // allowed to access. A JWT containing any of these audiences will be accepted. If not specified, // will not check audiences in the token. // // Example: // // .. code-block:: yaml // // audiences: // - bookstore_android.apps.googleusercontent.com // - bookstore_web.apps.googleusercontent.com Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` // `JSON Web Key Set (JWKS) `_ is needed to // validate signature of a JWT. This field specifies where to fetch JWKS. // // Types that are assignable to JwksSourceSpecifier: // // *JwtProvider_RemoteJwks // *JwtProvider_LocalJwks JwksSourceSpecifier isJwtProvider_JwksSourceSpecifier `protobuf_oneof:"jwks_source_specifier"` // If false, the JWT is removed in the request after a success verification. If true, the JWT is // not removed in the request. Default value is false. Forward bool `protobuf:"varint,5,opt,name=forward,proto3" json:"forward,omitempty"` // Two fields below define where to extract the JWT from an HTTP request. // // If no explicit location is specified, the following default locations are tried in order: // // 1. The Authorization header using the `Bearer schema // `_. Example:: // // Authorization: Bearer . // // 2. `access_token `_ query parameter. // // Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations // its provider specified or from the default locations. // // Specify the HTTP headers to extract JWT token. For examples, following config: // // .. code-block:: yaml // // from_headers: // - name: x-goog-iap-jwt-assertion // // can be used to extract token from header:: // // ``x-goog-iap-jwt-assertion: ``. FromHeaders []*JwtHeader `protobuf:"bytes,6,rep,name=from_headers,json=fromHeaders,proto3" json:"from_headers,omitempty"` // JWT is sent in a query parameter. `jwt_params` represents the query parameter names. // // For example, if config is: // // .. code-block:: yaml // // from_params: // - jwt_token // // The JWT format in query parameter is:: // // /path?jwt_token= FromParams []string `protobuf:"bytes,7,rep,name=from_params,json=fromParams,proto3" json:"from_params,omitempty"` // This field specifies the header name to forward a successfully verified JWT payload to the // backend. The forwarded data is:: // // base64url_encoded(jwt_payload_in_JSON) // // If it is not specified, the payload will not be forwarded. ForwardPayloadHeader string `protobuf:"bytes,8,opt,name=forward_payload_header,json=forwardPayloadHeader,proto3" json:"forward_payload_header,omitempty"` // If non empty, successfully verified JWT payloads will be written to StreamInfo DynamicMetadata // in the format as: *namespace* is the jwt_authn filter name as **envoy.filters.http.jwt_authn** // The value is the *protobuf::Struct*. The value of this field will be the key for its *fields* // and the value is the *protobuf::Struct* converted from JWT JSON payload. // // For example, if payload_in_metadata is *my_payload*: // // .. code-block:: yaml // // envoy.filters.http.jwt_authn: // my_payload: // iss: https://example.com // sub: test@example.com // aud: https://example.com // exp: 1501281058 PayloadInMetadata string `protobuf:"bytes,9,opt,name=payload_in_metadata,json=payloadInMetadata,proto3" json:"payload_in_metadata,omitempty"` } func (x *JwtProvider) Reset() { *x = JwtProvider{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtProvider) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtProvider) ProtoMessage() {} func (x *JwtProvider) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtProvider.ProtoReflect.Descriptor instead. func (*JwtProvider) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{0} } func (x *JwtProvider) GetIssuer() string { if x != nil { return x.Issuer } return "" } func (x *JwtProvider) GetAudiences() []string { if x != nil { return x.Audiences } return nil } func (m *JwtProvider) GetJwksSourceSpecifier() isJwtProvider_JwksSourceSpecifier { if m != nil { return m.JwksSourceSpecifier } return nil } func (x *JwtProvider) GetRemoteJwks() *RemoteJwks { if x, ok := x.GetJwksSourceSpecifier().(*JwtProvider_RemoteJwks); ok { return x.RemoteJwks } return nil } func (x *JwtProvider) GetLocalJwks() *core.DataSource { if x, ok := x.GetJwksSourceSpecifier().(*JwtProvider_LocalJwks); ok { return x.LocalJwks } return nil } func (x *JwtProvider) GetForward() bool { if x != nil { return x.Forward } return false } func (x *JwtProvider) GetFromHeaders() []*JwtHeader { if x != nil { return x.FromHeaders } return nil } func (x *JwtProvider) GetFromParams() []string { if x != nil { return x.FromParams } return nil } func (x *JwtProvider) GetForwardPayloadHeader() string { if x != nil { return x.ForwardPayloadHeader } return "" } func (x *JwtProvider) GetPayloadInMetadata() string { if x != nil { return x.PayloadInMetadata } return "" } type isJwtProvider_JwksSourceSpecifier interface { isJwtProvider_JwksSourceSpecifier() } type JwtProvider_RemoteJwks struct { // JWKS can be fetched from remote server via HTTP/HTTPS. This field specifies the remote HTTP // URI and how the fetched JWKS should be cached. // // Example: // // .. code-block:: yaml // // remote_jwks: // http_uri: // uri: https://www.googleapis.com/oauth2/v1/certs // cluster: jwt.www.googleapis.com|443 // cache_duration: // seconds: 300 RemoteJwks *RemoteJwks `protobuf:"bytes,3,opt,name=remote_jwks,json=remoteJwks,proto3,oneof"` } type JwtProvider_LocalJwks struct { // JWKS is in local data source. It could be either in a local file or embedded in the // inline_string. // // Example: local file // // .. code-block:: yaml // // local_jwks: // filename: /etc/envoy/jwks/jwks1.txt // // Example: inline_string // // .. code-block:: yaml // // local_jwks: // inline_string: ACADADADADA LocalJwks *core.DataSource `protobuf:"bytes,4,opt,name=local_jwks,json=localJwks,proto3,oneof"` } func (*JwtProvider_RemoteJwks) isJwtProvider_JwksSourceSpecifier() {} func (*JwtProvider_LocalJwks) isJwtProvider_JwksSourceSpecifier() {} // This message specifies how to fetch JWKS from remote and how to cache it. type RemoteJwks struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP URI to fetch the JWKS. For example: // // .. code-block:: yaml // // http_uri: // uri: https://www.googleapis.com/oauth2/v1/certs // cluster: jwt.www.googleapis.com|443 HttpUri *core.HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Duration after which the cached JWKS should be expired. If not specified, default cache // duration is 5 minutes. CacheDuration *duration.Duration `protobuf:"bytes,2,opt,name=cache_duration,json=cacheDuration,proto3" json:"cache_duration,omitempty"` } func (x *RemoteJwks) Reset() { *x = RemoteJwks{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteJwks) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteJwks) ProtoMessage() {} func (x *RemoteJwks) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemoteJwks.ProtoReflect.Descriptor instead. func (*RemoteJwks) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{1} } func (x *RemoteJwks) GetHttpUri() *core.HttpUri { if x != nil { return x.HttpUri } return nil } func (x *RemoteJwks) GetCacheDuration() *duration.Duration { if x != nil { return x.CacheDuration } return nil } // This message specifies a header location to extract JWT token. type JwtHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP header name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The value prefix. The value format is "value_prefix" // For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the // end. ValuePrefix string `protobuf:"bytes,2,opt,name=value_prefix,json=valuePrefix,proto3" json:"value_prefix,omitempty"` } func (x *JwtHeader) Reset() { *x = JwtHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtHeader) ProtoMessage() {} func (x *JwtHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtHeader.ProtoReflect.Descriptor instead. func (*JwtHeader) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{2} } func (x *JwtHeader) GetName() string { if x != nil { return x.Name } return "" } func (x *JwtHeader) GetValuePrefix() string { if x != nil { return x.ValuePrefix } return "" } // Specify a required provider with audiences. type ProviderWithAudiences struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a required provider name. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"` // This field overrides the one specified in the JwtProvider. Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` } func (x *ProviderWithAudiences) Reset() { *x = ProviderWithAudiences{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProviderWithAudiences) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProviderWithAudiences) ProtoMessage() {} func (x *ProviderWithAudiences) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProviderWithAudiences.ProtoReflect.Descriptor instead. func (*ProviderWithAudiences) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{3} } func (x *ProviderWithAudiences) GetProviderName() string { if x != nil { return x.ProviderName } return "" } func (x *ProviderWithAudiences) GetAudiences() []string { if x != nil { return x.Audiences } return nil } // This message specifies a Jwt requirement. An empty message means JWT verification is not // required. Here are some config examples: // // .. code-block:: yaml // // # Example 1: not required with an empty message // // # Example 2: require A // provider_name: provider-A // // # Example 3: require A or B // requires_any: // requirements: // - provider_name: provider-A // - provider_name: provider-B // // # Example 4: require A and B // requires_all: // requirements: // - provider_name: provider-A // - provider_name: provider-B // // # Example 5: require A and (B or C) // requires_all: // requirements: // - provider_name: provider-A // - requires_any: // requirements: // - provider_name: provider-B // - provider_name: provider-C // // # Example 6: require A or (B and C) // requires_any: // requirements: // - provider_name: provider-A // - requires_all: // requirements: // - provider_name: provider-B // - provider_name: provider-C // // # Example 7: A is optional (if token from A is provided, it must be valid, but also allows // missing token.) // requires_any: // requirements: // - provider_name: provider-A // - allow_missing: {} // // # Example 8: A is optional and B is required. // requires_all: // requirements: // - requires_any: // requirements: // - provider_name: provider-A // - allow_missing: {} // - provider_name: provider-B // // [#next-free-field: 7] type JwtRequirement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RequiresType: // // *JwtRequirement_ProviderName // *JwtRequirement_ProviderAndAudiences // *JwtRequirement_RequiresAny // *JwtRequirement_RequiresAll // *JwtRequirement_AllowMissingOrFailed // *JwtRequirement_AllowMissing RequiresType isJwtRequirement_RequiresType `protobuf_oneof:"requires_type"` } func (x *JwtRequirement) Reset() { *x = JwtRequirement{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirement) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirement) ProtoMessage() {} func (x *JwtRequirement) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirement.ProtoReflect.Descriptor instead. func (*JwtRequirement) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{4} } func (m *JwtRequirement) GetRequiresType() isJwtRequirement_RequiresType { if m != nil { return m.RequiresType } return nil } func (x *JwtRequirement) GetProviderName() string { if x, ok := x.GetRequiresType().(*JwtRequirement_ProviderName); ok { return x.ProviderName } return "" } func (x *JwtRequirement) GetProviderAndAudiences() *ProviderWithAudiences { if x, ok := x.GetRequiresType().(*JwtRequirement_ProviderAndAudiences); ok { return x.ProviderAndAudiences } return nil } func (x *JwtRequirement) GetRequiresAny() *JwtRequirementOrList { if x, ok := x.GetRequiresType().(*JwtRequirement_RequiresAny); ok { return x.RequiresAny } return nil } func (x *JwtRequirement) GetRequiresAll() *JwtRequirementAndList { if x, ok := x.GetRequiresType().(*JwtRequirement_RequiresAll); ok { return x.RequiresAll } return nil } func (x *JwtRequirement) GetAllowMissingOrFailed() *emptypb.Empty { if x, ok := x.GetRequiresType().(*JwtRequirement_AllowMissingOrFailed); ok { return x.AllowMissingOrFailed } return nil } func (x *JwtRequirement) GetAllowMissing() *emptypb.Empty { if x, ok := x.GetRequiresType().(*JwtRequirement_AllowMissing); ok { return x.AllowMissing } return nil } type isJwtRequirement_RequiresType interface { isJwtRequirement_RequiresType() } type JwtRequirement_ProviderName struct { // Specify a required provider name. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3,oneof"` } type JwtRequirement_ProviderAndAudiences struct { // Specify a required provider with audiences. ProviderAndAudiences *ProviderWithAudiences `protobuf:"bytes,2,opt,name=provider_and_audiences,json=providerAndAudiences,proto3,oneof"` } type JwtRequirement_RequiresAny struct { // Specify list of JwtRequirement. Their results are OR-ed. // If any one of them passes, the result is passed. RequiresAny *JwtRequirementOrList `protobuf:"bytes,3,opt,name=requires_any,json=requiresAny,proto3,oneof"` } type JwtRequirement_RequiresAll struct { // Specify list of JwtRequirement. Their results are AND-ed. // All of them must pass, if one of them fails or missing, it fails. RequiresAll *JwtRequirementAndList `protobuf:"bytes,4,opt,name=requires_all,json=requiresAll,proto3,oneof"` } type JwtRequirement_AllowMissingOrFailed struct { // The requirement is always satisfied even if JWT is missing or the JWT // verification fails. A typical usage is: this filter is used to only verify // JWTs and pass the verified JWT payloads to another filter, the other filter // will make decision. In this mode, all JWT tokens will be verified. AllowMissingOrFailed *emptypb.Empty `protobuf:"bytes,5,opt,name=allow_missing_or_failed,json=allowMissingOrFailed,proto3,oneof"` } type JwtRequirement_AllowMissing struct { // The requirement is satisfied if JWT is missing, but failed if JWT is // presented but invalid. Similar to allow_missing_or_failed, this is used // to only verify JWTs and pass the verified payload to another filter. The // different is this mode will reject requests with invalid tokens. AllowMissing *emptypb.Empty `protobuf:"bytes,6,opt,name=allow_missing,json=allowMissing,proto3,oneof"` } func (*JwtRequirement_ProviderName) isJwtRequirement_RequiresType() {} func (*JwtRequirement_ProviderAndAudiences) isJwtRequirement_RequiresType() {} func (*JwtRequirement_RequiresAny) isJwtRequirement_RequiresType() {} func (*JwtRequirement_RequiresAll) isJwtRequirement_RequiresType() {} func (*JwtRequirement_AllowMissingOrFailed) isJwtRequirement_RequiresType() {} func (*JwtRequirement_AllowMissing) isJwtRequirement_RequiresType() {} // This message specifies a list of RequiredProvider. // Their results are OR-ed; if any one of them passes, the result is passed type JwtRequirementOrList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a list of JwtRequirement. Requirements []*JwtRequirement `protobuf:"bytes,1,rep,name=requirements,proto3" json:"requirements,omitempty"` } func (x *JwtRequirementOrList) Reset() { *x = JwtRequirementOrList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirementOrList) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirementOrList) ProtoMessage() {} func (x *JwtRequirementOrList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirementOrList.ProtoReflect.Descriptor instead. func (*JwtRequirementOrList) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{5} } func (x *JwtRequirementOrList) GetRequirements() []*JwtRequirement { if x != nil { return x.Requirements } return nil } // This message specifies a list of RequiredProvider. // Their results are AND-ed; all of them must pass, if one of them fails or missing, it fails. type JwtRequirementAndList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a list of JwtRequirement. Requirements []*JwtRequirement `protobuf:"bytes,1,rep,name=requirements,proto3" json:"requirements,omitempty"` } func (x *JwtRequirementAndList) Reset() { *x = JwtRequirementAndList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirementAndList) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirementAndList) ProtoMessage() {} func (x *JwtRequirementAndList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirementAndList.ProtoReflect.Descriptor instead. func (*JwtRequirementAndList) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{6} } func (x *JwtRequirementAndList) GetRequirements() []*JwtRequirement { if x != nil { return x.Requirements } return nil } // This message specifies a Jwt requirement for a specific Route condition. // Example 1: // // .. code-block:: yaml // // - match: // prefix: /healthz // // In above example, "requires" field is empty for /healthz prefix match, // it means that requests matching the path prefix don't require JWT authentication. // // Example 2: // // .. code-block:: yaml // // - match: // prefix: / // requires: { provider_name: provider-A } // // In above example, all requests matched the path prefix require jwt authentication // from "provider-A". type RequirementRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The route matching parameter. Only when the match is satisfied, the "requires" field will // apply. // // For example: following match will match all requests. // // .. code-block:: yaml // // match: // prefix: / Match *route.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Specify a Jwt Requirement. Please detail comment in message JwtRequirement. Requires *JwtRequirement `protobuf:"bytes,2,opt,name=requires,proto3" json:"requires,omitempty"` } func (x *RequirementRule) Reset() { *x = RequirementRule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequirementRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequirementRule) ProtoMessage() {} func (x *RequirementRule) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequirementRule.ProtoReflect.Descriptor instead. func (*RequirementRule) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{7} } func (x *RequirementRule) GetMatch() *route.RouteMatch { if x != nil { return x.Match } return nil } func (x *RequirementRule) GetRequires() *JwtRequirement { if x != nil { return x.Requires } return nil } // This message specifies Jwt requirements based on stream_info.filterState. // This FilterState should use `Router::StringAccessor` object to set a string value. // Other HTTP filters can use it to specify Jwt requirements dynamically. // // Example: // // .. code-block:: yaml // // name: jwt_selector // requires: // issuer_1: // provider_name: issuer1 // issuer_2: // provider_name: issuer2 // // If a filter set "jwt_selector" with "issuer_1" to FilterState for a request, // jwt_authn filter will use JwtRequirement{"provider_name": "issuer1"} to verify. type FilterStateRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter state name to retrieve the `Router::StringAccessor` object. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A map of string keys to requirements. The string key is the string value // in the FilterState with the name specified in the *name* field above. Requires map[string]*JwtRequirement `protobuf:"bytes,3,rep,name=requires,proto3" json:"requires,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FilterStateRule) Reset() { *x = FilterStateRule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterStateRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterStateRule) ProtoMessage() {} func (x *FilterStateRule) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterStateRule.ProtoReflect.Descriptor instead. func (*FilterStateRule) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{8} } func (x *FilterStateRule) GetName() string { if x != nil { return x.Name } return "" } func (x *FilterStateRule) GetRequires() map[string]*JwtRequirement { if x != nil { return x.Requires } return nil } // This is the Envoy HTTP filter config for JWT authentication. // // For example: // // .. code-block:: yaml // // providers: // provider1: // issuer: issuer1 // audiences: // - audience1 // - audience2 // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // provider2: // issuer: issuer2 // local_jwks: // inline_string: jwks_string // // rules: // # Not jwt verification is required for /health path // - match: // prefix: /health // // # Jwt verification for provider1 is required for path prefixed with "prefix" // - match: // prefix: /prefix // requires: // provider_name: provider1 // // # Jwt verification for either provider1 or provider2 is required for all other requests. // - match: // prefix: / // requires: // requires_any: // requirements: // - provider_name: provider1 // - provider_name: provider2 type JwtAuthentication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Map of provider names to JwtProviders. // // .. code-block:: yaml // // providers: // provider1: // issuer: issuer1 // audiences: // - audience1 // - audience2 // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // provider2: // issuer: provider2 // local_jwks: // inline_string: jwks_string Providers map[string]*JwtProvider `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies requirements based on the route matches. The first matched requirement will be // applied. If there are overlapped match conditions, please put the most specific match first. // // # Examples // // .. code-block:: yaml // // rules: // - match: // prefix: /healthz // - match: // prefix: /baz // requires: // provider_name: provider1 // - match: // prefix: /foo // requires: // requires_any: // requirements: // - provider_name: provider1 // - provider_name: provider2 // - match: // prefix: /bar // requires: // requires_all: // requirements: // - provider_name: provider1 // - provider_name: provider2 Rules []*RequirementRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` // This message specifies Jwt requirements based on stream_info.filterState. // Other HTTP filters can use it to specify Jwt requirements dynamically. // The *rules* field above is checked first, if it could not find any matches, // check this one. FilterStateRules *FilterStateRule `protobuf:"bytes,3,opt,name=filter_state_rules,json=filterStateRules,proto3" json:"filter_state_rules,omitempty"` // When set to true, bypass the `CORS preflight request // `_ regardless of JWT // requirements specified in the rules. BypassCorsPreflight bool `protobuf:"varint,4,opt,name=bypass_cors_preflight,json=bypassCorsPreflight,proto3" json:"bypass_cors_preflight,omitempty"` } func (x *JwtAuthentication) Reset() { *x = JwtAuthentication{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtAuthentication) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtAuthentication) ProtoMessage() {} func (x *JwtAuthentication) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtAuthentication.ProtoReflect.Descriptor instead. func (*JwtAuthentication) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP(), []int{9} } func (x *JwtAuthentication) GetProviders() map[string]*JwtProvider { if x != nil { return x.Providers } return nil } func (x *JwtAuthentication) GetRules() []*RequirementRule { if x != nil { return x.Rules } return nil } func (x *JwtAuthentication) GetFilterStateRules() *FilterStateRule { if x != nil { return x.FilterStateRules } return nil } func (x *JwtAuthentication) GetBypassCorsPreflight() bool { if x != nil { return x.BypassCorsPreflight } return false } var File_envoy_config_filter_http_jwt_authn_v2alpha_config_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x04, 0x0a, 0x0b, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x58, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x1c, 0x0a, 0x15, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x85, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x40, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4b, 0x0a, 0x09, 0x4a, 0x77, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x5a, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa2, 0x04, 0x0a, 0x0e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x41, 0x6e, 0x79, 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x1a, 0x77, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe8, 0x03, 0x0a, 0x11, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x75, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xd6, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescOnce sync.Once file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescData = file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDesc ) func file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescData) }) return file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDescData } var file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_goTypes = []interface{}{ (*JwtProvider)(nil), // 0: envoy.config.filter.http.jwt_authn.v2alpha.JwtProvider (*RemoteJwks)(nil), // 1: envoy.config.filter.http.jwt_authn.v2alpha.RemoteJwks (*JwtHeader)(nil), // 2: envoy.config.filter.http.jwt_authn.v2alpha.JwtHeader (*ProviderWithAudiences)(nil), // 3: envoy.config.filter.http.jwt_authn.v2alpha.ProviderWithAudiences (*JwtRequirement)(nil), // 4: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement (*JwtRequirementOrList)(nil), // 5: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementOrList (*JwtRequirementAndList)(nil), // 6: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementAndList (*RequirementRule)(nil), // 7: envoy.config.filter.http.jwt_authn.v2alpha.RequirementRule (*FilterStateRule)(nil), // 8: envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule (*JwtAuthentication)(nil), // 9: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication nil, // 10: envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule.RequiresEntry nil, // 11: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.ProvidersEntry (*core.DataSource)(nil), // 12: envoy.api.v2.core.DataSource (*core.HttpUri)(nil), // 13: envoy.api.v2.core.HttpUri (*duration.Duration)(nil), // 14: google.protobuf.Duration (*emptypb.Empty)(nil), // 15: google.protobuf.Empty (*route.RouteMatch)(nil), // 16: envoy.api.v2.route.RouteMatch } var file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.jwt_authn.v2alpha.JwtProvider.remote_jwks:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.RemoteJwks 12, // 1: envoy.config.filter.http.jwt_authn.v2alpha.JwtProvider.local_jwks:type_name -> envoy.api.v2.core.DataSource 2, // 2: envoy.config.filter.http.jwt_authn.v2alpha.JwtProvider.from_headers:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtHeader 13, // 3: envoy.config.filter.http.jwt_authn.v2alpha.RemoteJwks.http_uri:type_name -> envoy.api.v2.core.HttpUri 14, // 4: envoy.config.filter.http.jwt_authn.v2alpha.RemoteJwks.cache_duration:type_name -> google.protobuf.Duration 3, // 5: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement.provider_and_audiences:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.ProviderWithAudiences 5, // 6: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement.requires_any:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementOrList 6, // 7: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement.requires_all:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementAndList 15, // 8: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement.allow_missing_or_failed:type_name -> google.protobuf.Empty 15, // 9: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement.allow_missing:type_name -> google.protobuf.Empty 4, // 10: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementOrList.requirements:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement 4, // 11: envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirementAndList.requirements:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement 16, // 12: envoy.config.filter.http.jwt_authn.v2alpha.RequirementRule.match:type_name -> envoy.api.v2.route.RouteMatch 4, // 13: envoy.config.filter.http.jwt_authn.v2alpha.RequirementRule.requires:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement 10, // 14: envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule.requires:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule.RequiresEntry 11, // 15: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.providers:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.ProvidersEntry 7, // 16: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.rules:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.RequirementRule 8, // 17: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.filter_state_rules:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule 4, // 18: envoy.config.filter.http.jwt_authn.v2alpha.FilterStateRule.RequiresEntry.value:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtRequirement 0, // 19: envoy.config.filter.http.jwt_authn.v2alpha.JwtAuthentication.ProvidersEntry.value:type_name -> envoy.config.filter.http.jwt_authn.v2alpha.JwtProvider 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_init() } func file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_init() { if File_envoy_config_filter_http_jwt_authn_v2alpha_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtProvider); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteJwks); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProviderWithAudiences); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirementOrList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirementAndList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequirementRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterStateRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtAuthentication); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*JwtProvider_RemoteJwks)(nil), (*JwtProvider_LocalJwks)(nil), } file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes[4].OneofWrappers = []interface{}{ (*JwtRequirement_ProviderName)(nil), (*JwtRequirement_ProviderAndAudiences)(nil), (*JwtRequirement_RequiresAny)(nil), (*JwtRequirement_RequiresAll)(nil), (*JwtRequirement_AllowMissingOrFailed)(nil), (*JwtRequirement_AllowMissing)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDesc, NumEnums: 0, NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_msgTypes, }.Build() File_envoy_config_filter_http_jwt_authn_v2alpha_config_proto = out.File file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_rawDesc = nil file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_goTypes = nil file_envoy_config_filter_http_jwt_authn_v2alpha_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/jwt_authn/v2alpha/config.pb.validate.go000077500000000000000000001400541454502223200311550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/jwt_authn/v2alpha/config.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on JwtProvider with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtProvider) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtProvider with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtProviderMultiError, or // nil if none found. func (m *JwtProvider) ValidateAll() error { return m.validate(true) } func (m *JwtProvider) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetIssuer()) < 1 { err := JwtProviderValidationError{ field: "Issuer", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for Forward for idx, item := range m.GetFromHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for ForwardPayloadHeader // no validation rules for PayloadInMetadata oneofJwksSourceSpecifierPresent := false switch v := m.JwksSourceSpecifier.(type) { case *JwtProvider_RemoteJwks: if v == nil { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofJwksSourceSpecifierPresent = true if all { switch v := interface{}(m.GetRemoteJwks()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteJwks()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, } } } case *JwtProvider_LocalJwks: if v == nil { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofJwksSourceSpecifierPresent = true if all { switch v := interface{}(m.GetLocalJwks()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalJwks()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofJwksSourceSpecifierPresent { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return JwtProviderMultiError(errors) } return nil } // JwtProviderMultiError is an error wrapping multiple validation errors // returned by JwtProvider.ValidateAll() if the designated constraints aren't met. type JwtProviderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtProviderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtProviderMultiError) AllErrors() []error { return m } // JwtProviderValidationError is the validation error returned by // JwtProvider.Validate if the designated constraints aren't met. type JwtProviderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtProviderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtProviderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtProviderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtProviderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtProviderValidationError) ErrorName() string { return "JwtProviderValidationError" } // Error satisfies the builtin error interface func (e JwtProviderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtProvider.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtProviderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtProviderValidationError{} // Validate checks the field values on RemoteJwks with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RemoteJwks) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RemoteJwks with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RemoteJwksMultiError, or // nil if none found. func (m *RemoteJwks) ValidateAll() error { return m.validate(true) } func (m *RemoteJwks) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCacheDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "CacheDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "CacheDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCacheDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteJwksValidationError{ field: "CacheDuration", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RemoteJwksMultiError(errors) } return nil } // RemoteJwksMultiError is an error wrapping multiple validation errors // returned by RemoteJwks.ValidateAll() if the designated constraints aren't met. type RemoteJwksMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RemoteJwksMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RemoteJwksMultiError) AllErrors() []error { return m } // RemoteJwksValidationError is the validation error returned by // RemoteJwks.Validate if the designated constraints aren't met. type RemoteJwksValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RemoteJwksValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RemoteJwksValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RemoteJwksValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RemoteJwksValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RemoteJwksValidationError) ErrorName() string { return "RemoteJwksValidationError" } // Error satisfies the builtin error interface func (e RemoteJwksValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRemoteJwks.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RemoteJwksValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RemoteJwksValidationError{} // Validate checks the field values on JwtHeader with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtHeader with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtHeaderMultiError, or nil // if none found. func (m *JwtHeader) ValidateAll() error { return m.validate(true) } func (m *JwtHeader) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := JwtHeaderValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ValuePrefix if len(errors) > 0 { return JwtHeaderMultiError(errors) } return nil } // JwtHeaderMultiError is an error wrapping multiple validation errors returned // by JwtHeader.ValidateAll() if the designated constraints aren't met. type JwtHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtHeaderMultiError) AllErrors() []error { return m } // JwtHeaderValidationError is the validation error returned by // JwtHeader.Validate if the designated constraints aren't met. type JwtHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtHeaderValidationError) ErrorName() string { return "JwtHeaderValidationError" } // Error satisfies the builtin error interface func (e JwtHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtHeaderValidationError{} // Validate checks the field values on ProviderWithAudiences with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProviderWithAudiences) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProviderWithAudiences with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProviderWithAudiencesMultiError, or nil if none found. func (m *ProviderWithAudiences) ValidateAll() error { return m.validate(true) } func (m *ProviderWithAudiences) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ProviderName if len(errors) > 0 { return ProviderWithAudiencesMultiError(errors) } return nil } // ProviderWithAudiencesMultiError is an error wrapping multiple validation // errors returned by ProviderWithAudiences.ValidateAll() if the designated // constraints aren't met. type ProviderWithAudiencesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProviderWithAudiencesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProviderWithAudiencesMultiError) AllErrors() []error { return m } // ProviderWithAudiencesValidationError is the validation error returned by // ProviderWithAudiences.Validate if the designated constraints aren't met. type ProviderWithAudiencesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProviderWithAudiencesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProviderWithAudiencesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProviderWithAudiencesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProviderWithAudiencesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProviderWithAudiencesValidationError) ErrorName() string { return "ProviderWithAudiencesValidationError" } // Error satisfies the builtin error interface func (e ProviderWithAudiencesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProviderWithAudiences.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProviderWithAudiencesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProviderWithAudiencesValidationError{} // Validate checks the field values on JwtRequirement with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtRequirement) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirement with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtRequirementMultiError, // or nil if none found. func (m *JwtRequirement) ValidateAll() error { return m.validate(true) } func (m *JwtRequirement) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.RequiresType.(type) { case *JwtRequirement_ProviderName: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ProviderName case *JwtRequirement_ProviderAndAudiences: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProviderAndAudiences()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProviderAndAudiences()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_RequiresAny: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequiresAny()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequiresAny()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_RequiresAll: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequiresAll()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequiresAll()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_AllowMissingOrFailed: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAllowMissingOrFailed()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowMissingOrFailed()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_AllowMissing: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAllowMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return JwtRequirementMultiError(errors) } return nil } // JwtRequirementMultiError is an error wrapping multiple validation errors // returned by JwtRequirement.ValidateAll() if the designated constraints // aren't met. type JwtRequirementMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementMultiError) AllErrors() []error { return m } // JwtRequirementValidationError is the validation error returned by // JwtRequirement.Validate if the designated constraints aren't met. type JwtRequirementValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementValidationError) ErrorName() string { return "JwtRequirementValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirement.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementValidationError{} // Validate checks the field values on JwtRequirementOrList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JwtRequirementOrList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirementOrList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtRequirementOrListMultiError, or nil if none found. func (m *JwtRequirementOrList) ValidateAll() error { return m.validate(true) } func (m *JwtRequirementOrList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequirements()) < 2 { err := JwtRequirementOrListValidationError{ field: "Requirements", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequirements() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return JwtRequirementOrListMultiError(errors) } return nil } // JwtRequirementOrListMultiError is an error wrapping multiple validation // errors returned by JwtRequirementOrList.ValidateAll() if the designated // constraints aren't met. type JwtRequirementOrListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementOrListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementOrListMultiError) AllErrors() []error { return m } // JwtRequirementOrListValidationError is the validation error returned by // JwtRequirementOrList.Validate if the designated constraints aren't met. type JwtRequirementOrListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementOrListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementOrListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementOrListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementOrListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementOrListValidationError) ErrorName() string { return "JwtRequirementOrListValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementOrListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirementOrList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementOrListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementOrListValidationError{} // Validate checks the field values on JwtRequirementAndList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JwtRequirementAndList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirementAndList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtRequirementAndListMultiError, or nil if none found. func (m *JwtRequirementAndList) ValidateAll() error { return m.validate(true) } func (m *JwtRequirementAndList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequirements()) < 2 { err := JwtRequirementAndListValidationError{ field: "Requirements", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequirements() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return JwtRequirementAndListMultiError(errors) } return nil } // JwtRequirementAndListMultiError is an error wrapping multiple validation // errors returned by JwtRequirementAndList.ValidateAll() if the designated // constraints aren't met. type JwtRequirementAndListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementAndListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementAndListMultiError) AllErrors() []error { return m } // JwtRequirementAndListValidationError is the validation error returned by // JwtRequirementAndList.Validate if the designated constraints aren't met. type JwtRequirementAndListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementAndListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementAndListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementAndListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementAndListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementAndListValidationError) ErrorName() string { return "JwtRequirementAndListValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementAndListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirementAndList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementAndListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementAndListValidationError{} // Validate checks the field values on RequirementRule with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RequirementRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequirementRule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequirementRuleMultiError, or nil if none found. func (m *RequirementRule) ValidateAll() error { return m.validate(true) } func (m *RequirementRule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RequirementRuleValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequires()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequires()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RequirementRuleMultiError(errors) } return nil } // RequirementRuleMultiError is an error wrapping multiple validation errors // returned by RequirementRule.ValidateAll() if the designated constraints // aren't met. type RequirementRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequirementRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequirementRuleMultiError) AllErrors() []error { return m } // RequirementRuleValidationError is the validation error returned by // RequirementRule.Validate if the designated constraints aren't met. type RequirementRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequirementRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequirementRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequirementRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequirementRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequirementRuleValidationError) ErrorName() string { return "RequirementRuleValidationError" } // Error satisfies the builtin error interface func (e RequirementRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequirementRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequirementRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequirementRuleValidationError{} // Validate checks the field values on FilterStateRule with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterStateRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterStateRule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterStateRuleMultiError, or nil if none found. func (m *FilterStateRule) ValidateAll() error { return m.validate(true) } func (m *FilterStateRule) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := FilterStateRuleValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetRequires())) i := 0 for key := range m.GetRequires() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetRequires()[key] _ = val // no validation rules for Requires[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return FilterStateRuleMultiError(errors) } return nil } // FilterStateRuleMultiError is an error wrapping multiple validation errors // returned by FilterStateRule.ValidateAll() if the designated constraints // aren't met. type FilterStateRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterStateRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterStateRuleMultiError) AllErrors() []error { return m } // FilterStateRuleValidationError is the validation error returned by // FilterStateRule.Validate if the designated constraints aren't met. type FilterStateRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterStateRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterStateRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterStateRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterStateRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterStateRuleValidationError) ErrorName() string { return "FilterStateRuleValidationError" } // Error satisfies the builtin error interface func (e FilterStateRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterStateRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterStateRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterStateRuleValidationError{} // Validate checks the field values on JwtAuthentication with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *JwtAuthentication) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtAuthentication with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtAuthenticationMultiError, or nil if none found. func (m *JwtAuthentication) ValidateAll() error { return m.validate(true) } func (m *JwtAuthentication) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetProviders())) i := 0 for key := range m.GetProviders() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetProviders()[key] _ = val // no validation rules for Providers[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetFilterStateRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterStateRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, } } } // no validation rules for BypassCorsPreflight if len(errors) > 0 { return JwtAuthenticationMultiError(errors) } return nil } // JwtAuthenticationMultiError is an error wrapping multiple validation errors // returned by JwtAuthentication.ValidateAll() if the designated constraints // aren't met. type JwtAuthenticationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtAuthenticationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtAuthenticationMultiError) AllErrors() []error { return m } // JwtAuthenticationValidationError is the validation error returned by // JwtAuthentication.Validate if the designated constraints aren't met. type JwtAuthenticationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtAuthenticationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtAuthenticationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtAuthenticationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtAuthenticationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtAuthenticationValidationError) ErrorName() string { return "JwtAuthenticationValidationError" } // Error satisfies the builtin error interface func (e JwtAuthenticationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtAuthentication.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtAuthenticationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtAuthenticationValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/lua/000077500000000000000000000000001454502223200224035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/lua/v2/000077500000000000000000000000001454502223200227325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/lua/v2/lua.pb.go000077500000000000000000000162251454502223200244530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/lua/v2/lua.proto package luav2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Lua struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The Lua code that Envoy will execute. This can be a very small script that // further loads code from disk if desired. Note that if JSON configuration is used, the code must // be properly escaped. YAML configuration may be easier to read since YAML supports multi-line // strings so complex scripts can be easily expressed inline in the configuration. InlineCode string `protobuf:"bytes,1,opt,name=inline_code,json=inlineCode,proto3" json:"inline_code,omitempty"` } func (x *Lua) Reset() { *x = Lua{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_lua_v2_lua_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Lua) String() string { return protoimpl.X.MessageStringOf(x) } func (*Lua) ProtoMessage() {} func (x *Lua) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_lua_v2_lua_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Lua.ProtoReflect.Descriptor instead. func (*Lua) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_lua_v2_lua_proto_rawDescGZIP(), []int{0} } func (x *Lua) GetInlineCode() string { if x != nil { return x.InlineCode } return "" } var File_envoy_config_filter_http_lua_v2_lua_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_lua_v2_lua_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x75, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x03, 0x4c, 0x75, 0x61, 0x12, 0x28, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0xbd, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x26, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x4c, 0x75, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x6c, 0x75, 0x61, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_lua_v2_lua_proto_rawDescOnce sync.Once file_envoy_config_filter_http_lua_v2_lua_proto_rawDescData = file_envoy_config_filter_http_lua_v2_lua_proto_rawDesc ) func file_envoy_config_filter_http_lua_v2_lua_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_lua_v2_lua_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_lua_v2_lua_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_lua_v2_lua_proto_rawDescData) }) return file_envoy_config_filter_http_lua_v2_lua_proto_rawDescData } var file_envoy_config_filter_http_lua_v2_lua_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_lua_v2_lua_proto_goTypes = []interface{}{ (*Lua)(nil), // 0: envoy.config.filter.http.lua.v2.Lua } var file_envoy_config_filter_http_lua_v2_lua_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_lua_v2_lua_proto_init() } func file_envoy_config_filter_http_lua_v2_lua_proto_init() { if File_envoy_config_filter_http_lua_v2_lua_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_lua_v2_lua_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Lua); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_lua_v2_lua_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_lua_v2_lua_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_lua_v2_lua_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_lua_v2_lua_proto_msgTypes, }.Build() File_envoy_config_filter_http_lua_v2_lua_proto = out.File file_envoy_config_filter_http_lua_v2_lua_proto_rawDesc = nil file_envoy_config_filter_http_lua_v2_lua_proto_goTypes = nil file_envoy_config_filter_http_lua_v2_lua_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/lua/v2/lua.pb.validate.go000077500000000000000000000062501454502223200262400ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/lua/v2/lua.proto package luav2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Lua with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Lua) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Lua with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in LuaMultiError, or nil if none found. func (m *Lua) ValidateAll() error { return m.validate(true) } func (m *Lua) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetInlineCode()) < 1 { err := LuaValidationError{ field: "InlineCode", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return LuaMultiError(errors) } return nil } // LuaMultiError is an error wrapping multiple validation errors returned by // Lua.ValidateAll() if the designated constraints aren't met. type LuaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LuaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LuaMultiError) AllErrors() []error { return m } // LuaValidationError is the validation error returned by Lua.Validate if the // designated constraints aren't met. type LuaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LuaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LuaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LuaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LuaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LuaValidationError) ErrorName() string { return "LuaValidationError" } // Error satisfies the builtin error interface func (e LuaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLua.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LuaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LuaValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/on_demand/000077500000000000000000000000001454502223200235465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/on_demand/v2/000077500000000000000000000000001454502223200240755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/on_demand/v2/on_demand.pb.go000077500000000000000000000155521454502223200267630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/on_demand/v2/on_demand.proto package on_demandv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OnDemand struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OnDemand) Reset() { *x = OnDemand{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_on_demand_v2_on_demand_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnDemand) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnDemand) ProtoMessage() {} func (x *OnDemand) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_on_demand_v2_on_demand_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OnDemand.ProtoReflect.Descriptor instead. func (*OnDemand) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_http_on_demand_v2_on_demand_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0xda, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x76, 0x32, 0x3b, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescOnce sync.Once file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescData = file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDesc ) func file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescData) }) return file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDescData } var file_envoy_config_filter_http_on_demand_v2_on_demand_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_on_demand_v2_on_demand_proto_goTypes = []interface{}{ (*OnDemand)(nil), // 0: envoy.config.filter.http.on_demand.v2.OnDemand } var file_envoy_config_filter_http_on_demand_v2_on_demand_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_on_demand_v2_on_demand_proto_init() } func file_envoy_config_filter_http_on_demand_v2_on_demand_proto_init() { if File_envoy_config_filter_http_on_demand_v2_on_demand_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_on_demand_v2_on_demand_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnDemand); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_on_demand_v2_on_demand_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_on_demand_v2_on_demand_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_on_demand_v2_on_demand_proto_msgTypes, }.Build() File_envoy_config_filter_http_on_demand_v2_on_demand_proto = out.File file_envoy_config_filter_http_on_demand_v2_on_demand_proto_rawDesc = nil file_envoy_config_filter_http_on_demand_v2_on_demand_proto_goTypes = nil file_envoy_config_filter_http_on_demand_v2_on_demand_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/on_demand/v2/on_demand.pb.validate.go000077500000000000000000000061521454502223200305470ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/on_demand/v2/on_demand.proto package on_demandv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OnDemand with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OnDemand) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OnDemand with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OnDemandMultiError, or nil // if none found. func (m *OnDemand) ValidateAll() error { return m.validate(true) } func (m *OnDemand) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OnDemandMultiError(errors) } return nil } // OnDemandMultiError is an error wrapping multiple validation errors returned // by OnDemand.ValidateAll() if the designated constraints aren't met. type OnDemandMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OnDemandMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OnDemandMultiError) AllErrors() []error { return m } // OnDemandValidationError is the validation error returned by // OnDemand.Validate if the designated constraints aren't met. type OnDemandValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OnDemandValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OnDemandValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OnDemandValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OnDemandValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OnDemandValidationError) ErrorName() string { return "OnDemandValidationError" } // Error satisfies the builtin error interface func (e OnDemandValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOnDemand.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OnDemandValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OnDemandValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/original_src/000077500000000000000000000000001454502223200242755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/original_src/v2alpha1/000077500000000000000000000000001454502223200257135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/original_src/v2alpha1/original_src.pb.go000077500000000000000000000204111454502223200313160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/original_src/v2alpha1/original_src.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The Original Src filter binds upstream connections to the original source address determined // for the request. This address could come from something like the Proxy Protocol filter, or it // could come from trusted http headers. // [#extension: envoy.filters.http.original_src] type OriginalSrc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to // ensure that non-local addresses may be routed back through envoy when binding to the original // source address. The option will not be applied if the mark is 0. Mark uint32 `protobuf:"varint,1,opt,name=mark,proto3" json:"mark,omitempty"` } func (x *OriginalSrc) Reset() { *x = OriginalSrc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalSrc) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalSrc) ProtoMessage() {} func (x *OriginalSrc) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalSrc.ProtoReflect.Descriptor instead. func (*OriginalSrc) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescGZIP(), []int{0} } func (x *OriginalSrc) GetMark() uint32 { if x != nil { return x.Mark } return 0 } var File_envoy_config_filter_http_original_src_v2alpha1_original_src_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0xe6, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescOnce sync.Once file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescData = file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDesc ) func file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescData) }) return file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDescData } var file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_goTypes = []interface{}{ (*OriginalSrc)(nil), // 0: envoy.config.filter.http.original_src.v2alpha1.OriginalSrc } var file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_init() } func file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_init() { if File_envoy_config_filter_http_original_src_v2alpha1_original_src_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalSrc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_msgTypes, }.Build() File_envoy_config_filter_http_original_src_v2alpha1_original_src_proto = out.File file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_rawDesc = nil file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_goTypes = nil file_envoy_config_filter_http_original_src_v2alpha1_original_src_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/original_src/v2alpha1/original_src.pb.validate.go000077500000000000000000000063401454502223200331130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/original_src/v2alpha1/original_src.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalSrc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalSrcMultiError, or // nil if none found. func (m *OriginalSrc) ValidateAll() error { return m.validate(true) } func (m *OriginalSrc) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Mark if len(errors) > 0 { return OriginalSrcMultiError(errors) } return nil } // OriginalSrcMultiError is an error wrapping multiple validation errors // returned by OriginalSrc.ValidateAll() if the designated constraints aren't met. type OriginalSrcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalSrcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalSrcMultiError) AllErrors() []error { return m } // OriginalSrcValidationError is the validation error returned by // OriginalSrc.Validate if the designated constraints aren't met. type OriginalSrcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalSrcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalSrcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalSrcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalSrcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalSrcValidationError) ErrorName() string { return "OriginalSrcValidationError" } // Error satisfies the builtin error interface func (e OriginalSrcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalSrc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalSrcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalSrcValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/rate_limit/000077500000000000000000000000001454502223200237535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/rate_limit/v2/000077500000000000000000000000001454502223200243025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/rate_limit/v2/rate_limit.pb.go000077500000000000000000000332001454502223200273630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/rate_limit/v2/rate_limit.proto package rate_limitv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 8] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The rate limit domain to use when calling the rate limit service. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // Specifies the rate limit configurations to be applied with the same // stage number. If not set, the default stage number is 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` // The type of requests the filter should apply to. The supported // types are *internal*, *external* or *both*. A request is considered internal if // :ref:`x-envoy-internal` is set to true. If // :ref:`x-envoy-internal` is not set or false, a // request is considered external. The filter defaults to *both*, and it will apply to all request // types. RequestType string `protobuf:"bytes,3,opt,name=request_type,json=requestType,proto3" json:"request_type,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to false. FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Specifies whether a `RESOURCE_EXHAUSTED` gRPC code must be returned instead // of the default `UNAVAILABLE` gRPC code for a rate limited gRPC call. The // HTTP code will be 200 for a gRPC response. RateLimitedAsResourceExhausted bool `protobuf:"varint,6,opt,name=rate_limited_as_resource_exhausted,json=rateLimitedAsResourceExhausted,proto3" json:"rate_limited_as_resource_exhausted,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v2.RateLimitServiceConfig `protobuf:"bytes,7,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *RateLimit) GetRequestType() string { if x != nil { return x.RequestType } return "" } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitedAsResourceExhausted() bool { if x != nil { return x.RateLimitedAsResourceExhausted } return false } func (x *RateLimit) GetRateLimitService() *v2.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } var File_envoy_config_filter_http_rate_limit_v2_rate_limit_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x03, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xfa, 0x42, 0x1e, 0x72, 0x1c, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x04, 0x62, 0x6f, 0x74, 0x68, 0x52, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x4a, 0x0a, 0x22, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x41, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0xde, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescOnce sync.Once file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescData = file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDesc ) func file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescData) }) return file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDescData } var file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_goTypes = []interface{}{ (*RateLimit)(nil), // 0: envoy.config.filter.http.rate_limit.v2.RateLimit (*duration.Duration)(nil), // 1: google.protobuf.Duration (*v2.RateLimitServiceConfig)(nil), // 2: envoy.config.ratelimit.v2.RateLimitServiceConfig } var file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.rate_limit.v2.RateLimit.timeout:type_name -> google.protobuf.Duration 2, // 1: envoy.config.filter.http.rate_limit.v2.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v2.RateLimitServiceConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_init() } func file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_init() { if File_envoy_config_filter_http_rate_limit_v2_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_msgTypes, }.Build() File_envoy_config_filter_http_rate_limit_v2_rate_limit_proto = out.File file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_rawDesc = nil file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_goTypes = nil file_envoy_config_filter_http_rate_limit_v2_rate_limit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/rate_limit/v2/rate_limit.pb.validate.go000077500000000000000000000135331454502223200311620ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/rate_limit/v2/rate_limit.proto package rate_limitv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetStage() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } if _, ok := _RateLimit_RequestType_InLookup[m.GetRequestType()]; !ok { err := RateLimitValidationError{ field: "RequestType", reason: "value must be in list [internal external both ]", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny // no validation rules for RateLimitedAsResourceExhausted if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} var _RateLimit_RequestType_InLookup = map[string]struct{}{ "internal": {}, "external": {}, "both": {}, "": {}, } go-control-plane-0.12.0/envoy/config/filter/http/rbac/000077500000000000000000000000001454502223200225315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/rbac/v2/000077500000000000000000000000001454502223200230605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/rbac/v2/rbac.pb.go000077500000000000000000000246551454502223200247350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/rbac/v2/rbac.proto package rbacv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/rbac/v2" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // RBAC filter config. type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the RBAC rules to be applied globally. // If absent, no enforcing RBAC policy will be applied. Rules *v2.RBAC `protobuf:"bytes,1,opt,name=rules,proto3" json:"rules,omitempty"` // Shadow rules are not enforced by the filter (i.e., returning a 403) // but will emit stats and logs and can be used for rule testing. // If absent, no shadow RBAC policy will be applied. ShadowRules *v2.RBAC `protobuf:"bytes,2,opt,name=shadow_rules,json=shadowRules,proto3" json:"shadow_rules,omitempty"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetRules() *v2.RBAC { if x != nil { return x.Rules } return nil } func (x *RBAC) GetShadowRules() *v2.RBAC { if x != nil { return x.ShadowRules } return nil } type RBACPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Override the global configuration of the filter with this new config. // If absent, the global RBAC policy will be disabled for this route. Rbac *RBAC `protobuf:"bytes,2,opt,name=rbac,proto3" json:"rbac,omitempty"` } func (x *RBACPerRoute) Reset() { *x = RBACPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBACPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBACPerRoute) ProtoMessage() {} func (x *RBACPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBACPerRoute.ProtoReflect.Descriptor instead. func (*RBACPerRoute) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescGZIP(), []int{1} } func (x *RBACPerRoute) GetRbac() *RBAC { if x != nil { return x.Rbac } return nil } var File_envoy_config_filter_http_rbac_v2_rbac_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x30, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x0c, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x04, 0x72, 0x62, 0x61, 0x63, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0xc2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x27, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescOnce sync.Once file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescData = file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDesc ) func file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescData) }) return file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDescData } var file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_rbac_v2_rbac_proto_goTypes = []interface{}{ (*RBAC)(nil), // 0: envoy.config.filter.http.rbac.v2.RBAC (*RBACPerRoute)(nil), // 1: envoy.config.filter.http.rbac.v2.RBACPerRoute (*v2.RBAC)(nil), // 2: envoy.config.rbac.v2.RBAC } var file_envoy_config_filter_http_rbac_v2_rbac_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.http.rbac.v2.RBAC.rules:type_name -> envoy.config.rbac.v2.RBAC 2, // 1: envoy.config.filter.http.rbac.v2.RBAC.shadow_rules:type_name -> envoy.config.rbac.v2.RBAC 0, // 2: envoy.config.filter.http.rbac.v2.RBACPerRoute.rbac:type_name -> envoy.config.filter.http.rbac.v2.RBAC 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_rbac_v2_rbac_proto_init() } func file_envoy_config_filter_http_rbac_v2_rbac_proto_init() { if File_envoy_config_filter_http_rbac_v2_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBACPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_rbac_v2_rbac_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_rbac_v2_rbac_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_rbac_v2_rbac_proto_msgTypes, }.Build() File_envoy_config_filter_http_rbac_v2_rbac_proto = out.File file_envoy_config_filter_http_rbac_v2_rbac_proto_rawDesc = nil file_envoy_config_filter_http_rbac_v2_rbac_proto_goTypes = nil file_envoy_config_filter_http_rbac_v2_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/rbac/v2/rbac.pb.validate.go000077500000000000000000000177201454502223200265200ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/rbac/v2/rbac.proto package rbacv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} // Validate checks the field values on RBACPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RBACPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBACPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RBACPerRouteMultiError, or // nil if none found. func (m *RBACPerRoute) ValidateAll() error { return m.validate(true) } func (m *RBACPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRbac()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRbac()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RBACPerRouteMultiError(errors) } return nil } // RBACPerRouteMultiError is an error wrapping multiple validation errors // returned by RBACPerRoute.ValidateAll() if the designated constraints aren't met. type RBACPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACPerRouteMultiError) AllErrors() []error { return m } // RBACPerRouteValidationError is the validation error returned by // RBACPerRoute.Validate if the designated constraints aren't met. type RBACPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACPerRouteValidationError) ErrorName() string { return "RBACPerRouteValidationError" } // Error satisfies the builtin error interface func (e RBACPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBACPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACPerRouteValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/router/000077500000000000000000000000001454502223200231425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/router/v2/000077500000000000000000000000001454502223200234715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/router/v2/router.pb.go000077500000000000000000000341521454502223200257500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/router/v2/router.proto package routerv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/accesslog/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the router generates dynamic cluster statistics. Defaults to // true. Can be disabled in high performance scenarios. DynamicStats *wrappers.BoolValue `protobuf:"bytes,1,opt,name=dynamic_stats,json=dynamicStats,proto3" json:"dynamic_stats,omitempty"` // Whether to start a child span for egress routed calls. This can be // useful in scenarios where other filters (auth, ratelimit, etc.) make // outbound calls and have child spans rooted at the same ingress // parent. Defaults to false. StartChildSpan bool `protobuf:"varint,2,opt,name=start_child_span,json=startChildSpan,proto3" json:"start_child_span,omitempty"` // Configuration for HTTP upstream logs emitted by the router. Upstream logs // are configured in the same way as access logs, but each log entry represents // an upstream request. Presuming retries are configured, multiple upstream // requests may be made for each downstream (inbound) request. UpstreamLog []*v2.AccessLog `protobuf:"bytes,3,rep,name=upstream_log,json=upstreamLog,proto3" json:"upstream_log,omitempty"` // Do not add any additional *x-envoy-* headers to requests or responses. This // only affects the :ref:`router filter generated *x-envoy-* headers // `, other Envoy filters and the HTTP // connection manager may continue to set *x-envoy-* headers. SuppressEnvoyHeaders bool `protobuf:"varint,4,opt,name=suppress_envoy_headers,json=suppressEnvoyHeaders,proto3" json:"suppress_envoy_headers,omitempty"` // Specifies a list of HTTP headers to strictly validate. Envoy will reject a // request and respond with HTTP status 400 if the request contains an invalid // value for any of the headers listed in this field. Strict header checking // is only supported for the following headers: // // Value must be a ','-delimited list (i.e. no spaces) of supported retry // policy values: // // * :ref:`config_http_filters_router_x-envoy-retry-grpc-on` // * :ref:`config_http_filters_router_x-envoy-retry-on` // // Value must be an integer: // // * :ref:`config_http_filters_router_x-envoy-max-retries` // * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms` // * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` StrictCheckHeaders []string `protobuf:"bytes,5,rep,name=strict_check_headers,json=strictCheckHeaders,proto3" json:"strict_check_headers,omitempty"` // If not set, ingress Envoy will ignore // :ref:`config_http_filters_router_x-envoy-expected-rq-timeout-ms` header, populated by egress // Envoy, when deriving timeout for upstream cluster. RespectExpectedRqTimeout bool `protobuf:"varint,6,opt,name=respect_expected_rq_timeout,json=respectExpectedRqTimeout,proto3" json:"respect_expected_rq_timeout,omitempty"` } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_router_v2_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_router_v2_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_router_v2_router_proto_rawDescGZIP(), []int{0} } func (x *Router) GetDynamicStats() *wrappers.BoolValue { if x != nil { return x.DynamicStats } return nil } func (x *Router) GetStartChildSpan() bool { if x != nil { return x.StartChildSpan } return false } func (x *Router) GetUpstreamLog() []*v2.AccessLog { if x != nil { return x.UpstreamLog } return nil } func (x *Router) GetSuppressEnvoyHeaders() bool { if x != nil { return x.SuppressEnvoyHeaders } return false } func (x *Router) GetStrictCheckHeaders() []string { if x != nil { return x.StrictCheckHeaders } return nil } func (x *Router) GetRespectExpectedRqTimeout() bool { if x != nil { return x.RespectExpectedRqTimeout } return false } var File_envoy_config_filter_http_router_v2_router_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_router_v2_router_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x04, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x4e, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x94, 0x01, 0xfa, 0x42, 0x90, 0x01, 0x92, 0x01, 0x8c, 0x01, 0x22, 0x89, 0x01, 0x72, 0x86, 0x01, 0x52, 0x1e, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d, 0x72, 0x71, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x2d, 0x6d, 0x73, 0x52, 0x26, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d, 0x72, 0x71, 0x2d, 0x70, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x79, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x2d, 0x6d, 0x73, 0x52, 0x13, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x6d, 0x61, 0x78, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2d, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x6f, 0x6e, 0x52, 0x10, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2d, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x71, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0xcc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_router_v2_router_proto_rawDescOnce sync.Once file_envoy_config_filter_http_router_v2_router_proto_rawDescData = file_envoy_config_filter_http_router_v2_router_proto_rawDesc ) func file_envoy_config_filter_http_router_v2_router_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_router_v2_router_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_router_v2_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_router_v2_router_proto_rawDescData) }) return file_envoy_config_filter_http_router_v2_router_proto_rawDescData } var file_envoy_config_filter_http_router_v2_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_router_v2_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.config.filter.http.router.v2.Router (*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue (*v2.AccessLog)(nil), // 2: envoy.config.filter.accesslog.v2.AccessLog } var file_envoy_config_filter_http_router_v2_router_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.router.v2.Router.dynamic_stats:type_name -> google.protobuf.BoolValue 2, // 1: envoy.config.filter.http.router.v2.Router.upstream_log:type_name -> envoy.config.filter.accesslog.v2.AccessLog 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_router_v2_router_proto_init() } func file_envoy_config_filter_http_router_v2_router_proto_init() { if File_envoy_config_filter_http_router_v2_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_router_v2_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_router_v2_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_router_v2_router_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_router_v2_router_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_router_v2_router_proto_msgTypes, }.Build() File_envoy_config_filter_http_router_v2_router_proto = out.File file_envoy_config_filter_http_router_v2_router_proto_rawDesc = nil file_envoy_config_filter_http_router_v2_router_proto_goTypes = nil file_envoy_config_filter_http_router_v2_router_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/router/v2/router.pb.validate.go000077500000000000000000000132701454502223200275360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/router/v2/router.proto package routerv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDynamicStats()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicStats()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StartChildSpan for idx, item := range m.GetUpstreamLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for SuppressEnvoyHeaders for idx, item := range m.GetStrictCheckHeaders() { _, _ = idx, item if _, ok := _Router_StrictCheckHeaders_InLookup[item]; !ok { err := RouterValidationError{ field: fmt.Sprintf("StrictCheckHeaders[%v]", idx), reason: "value must be in list [x-envoy-upstream-rq-timeout-ms x-envoy-upstream-rq-per-try-timeout-ms x-envoy-max-retries x-envoy-retry-grpc-on x-envoy-retry-on]", } if !all { return err } errors = append(errors, err) } } // no validation rules for RespectExpectedRqTimeout if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} var _Router_StrictCheckHeaders_InLookup = map[string]struct{}{ "x-envoy-upstream-rq-timeout-ms": {}, "x-envoy-upstream-rq-per-try-timeout-ms": {}, "x-envoy-max-retries": {}, "x-envoy-retry-grpc-on": {}, "x-envoy-retry-on": {}, } go-control-plane-0.12.0/envoy/config/filter/http/squash/000077500000000000000000000000001454502223200231265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/squash/v2/000077500000000000000000000000001454502223200234555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/squash/v2/squash.pb.go000077500000000000000000000301551454502223200257170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/squash/v2/squash.proto package squashv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type Squash struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cluster that hosts the Squash server. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // When the filter requests the Squash server to create a DebugAttachment, it will use this // structure as template for the body of the request. It can contain reference to environment // variables in the form of '{{ ENV_VAR_NAME }}'. These can be used to provide the Squash server // with more information to find the process to attach the debugger to. For example, in a // Istio/k8s environment, this will contain information on the pod: // // .. code-block:: json // // { // "spec": { // "attachment": { // "pod": "{{ POD_NAME }}", // "namespace": "{{ POD_NAMESPACE }}" // }, // "match_request": true // } // } // // (where POD_NAME, POD_NAMESPACE are configured in the pod via the Downward API) AttachmentTemplate *_struct.Struct `protobuf:"bytes,2,opt,name=attachment_template,json=attachmentTemplate,proto3" json:"attachment_template,omitempty"` // The timeout for individual requests sent to the Squash cluster. Defaults to 1 second. RequestTimeout *duration.Duration `protobuf:"bytes,3,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // The total timeout Squash will delay a request and wait for it to be attached. Defaults to 60 // seconds. AttachmentTimeout *duration.Duration `protobuf:"bytes,4,opt,name=attachment_timeout,json=attachmentTimeout,proto3" json:"attachment_timeout,omitempty"` // Amount of time to poll for the status of the attachment object in the Squash server // (to check if has been attached). Defaults to 1 second. AttachmentPollPeriod *duration.Duration `protobuf:"bytes,5,opt,name=attachment_poll_period,json=attachmentPollPeriod,proto3" json:"attachment_poll_period,omitempty"` } func (x *Squash) Reset() { *x = Squash{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_squash_v2_squash_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Squash) String() string { return protoimpl.X.MessageStringOf(x) } func (*Squash) ProtoMessage() {} func (x *Squash) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_squash_v2_squash_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Squash.ProtoReflect.Descriptor instead. func (*Squash) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_squash_v2_squash_proto_rawDescGZIP(), []int{0} } func (x *Squash) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *Squash) GetAttachmentTemplate() *_struct.Struct { if x != nil { return x.AttachmentTemplate } return nil } func (x *Squash) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *Squash) GetAttachmentTimeout() *duration.Duration { if x != nil { return x.AttachmentTimeout } return nil } func (x *Squash) GetAttachmentPollPeriod() *duration.Duration { if x != nil { return x.AttachmentPollPeriod } return nil } var File_envoy_config_filter_http_squash_v2_squash_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_squash_v2_squash_proto_rawDesc = []byte{ 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x06, 0x53, 0x71, 0x75, 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0xcc, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x53, 0x71, 0x75, 0x61, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x71, 0x75, 0x61, 0x73, 0x68, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_squash_v2_squash_proto_rawDescOnce sync.Once file_envoy_config_filter_http_squash_v2_squash_proto_rawDescData = file_envoy_config_filter_http_squash_v2_squash_proto_rawDesc ) func file_envoy_config_filter_http_squash_v2_squash_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_squash_v2_squash_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_squash_v2_squash_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_squash_v2_squash_proto_rawDescData) }) return file_envoy_config_filter_http_squash_v2_squash_proto_rawDescData } var file_envoy_config_filter_http_squash_v2_squash_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_squash_v2_squash_proto_goTypes = []interface{}{ (*Squash)(nil), // 0: envoy.config.filter.http.squash.v2.Squash (*_struct.Struct)(nil), // 1: google.protobuf.Struct (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_config_filter_http_squash_v2_squash_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.squash.v2.Squash.attachment_template:type_name -> google.protobuf.Struct 2, // 1: envoy.config.filter.http.squash.v2.Squash.request_timeout:type_name -> google.protobuf.Duration 2, // 2: envoy.config.filter.http.squash.v2.Squash.attachment_timeout:type_name -> google.protobuf.Duration 2, // 3: envoy.config.filter.http.squash.v2.Squash.attachment_poll_period:type_name -> google.protobuf.Duration 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_squash_v2_squash_proto_init() } func file_envoy_config_filter_http_squash_v2_squash_proto_init() { if File_envoy_config_filter_http_squash_v2_squash_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_squash_v2_squash_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Squash); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_squash_v2_squash_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_squash_v2_squash_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_squash_v2_squash_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_squash_v2_squash_proto_msgTypes, }.Build() File_envoy_config_filter_http_squash_v2_squash_proto = out.File file_envoy_config_filter_http_squash_v2_squash_proto_rawDesc = nil file_envoy_config_filter_http_squash_v2_squash_proto_goTypes = nil file_envoy_config_filter_http_squash_v2_squash_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/squash/v2/squash.pb.validate.go000077500000000000000000000151061454502223200275060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/squash/v2/squash.proto package squashv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Squash with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Squash) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Squash with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SquashMultiError, or nil if none found. func (m *Squash) ValidateAll() error { return m.validate(true) } func (m *Squash) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCluster()) < 1 { err := SquashValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAttachmentTemplate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentTemplate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentTemplate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAttachmentTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAttachmentPollPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttachmentPollPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SquashValidationError{ field: "AttachmentPollPeriod", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SquashMultiError(errors) } return nil } // SquashMultiError is an error wrapping multiple validation errors returned by // Squash.ValidateAll() if the designated constraints aren't met. type SquashMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SquashMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SquashMultiError) AllErrors() []error { return m } // SquashValidationError is the validation error returned by Squash.Validate if // the designated constraints aren't met. type SquashValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SquashValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SquashValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SquashValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SquashValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SquashValidationError) ErrorName() string { return "SquashValidationError" } // Error satisfies the builtin error interface func (e SquashValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSquash.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SquashValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SquashValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/tap/000077500000000000000000000000001454502223200224065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/tap/v2alpha/000077500000000000000000000000001454502223200237435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/tap/v2alpha/tap.pb.go000077500000000000000000000202251454502223200254620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/tap/v2alpha/tap.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/config/common/tap/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Top level configuration for the tap filter. type Tap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common configuration for the HTTP tap filter. CommonConfig *v2alpha.CommonExtensionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` } func (x *Tap) Reset() { *x = Tap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_tap_v2alpha_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tap) ProtoMessage() {} func (x *Tap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_tap_v2alpha_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tap.ProtoReflect.Descriptor instead. func (*Tap) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescGZIP(), []int{0} } func (x *Tap) GetCommonConfig() *v2alpha.CommonExtensionConfig { if x != nil { return x.CommonConfig } return nil } var File_envoy_config_filter_http_tap_v2alpha_tap_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x03, 0x54, 0x61, 0x70, 0x12, 0x65, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc1, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x26, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescOnce sync.Once file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescData = file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDesc ) func file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescData) }) return file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDescData } var file_envoy_config_filter_http_tap_v2alpha_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_http_tap_v2alpha_tap_proto_goTypes = []interface{}{ (*Tap)(nil), // 0: envoy.config.filter.http.tap.v2alpha.Tap (*v2alpha.CommonExtensionConfig)(nil), // 1: envoy.config.common.tap.v2alpha.CommonExtensionConfig } var file_envoy_config_filter_http_tap_v2alpha_tap_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.tap.v2alpha.Tap.common_config:type_name -> envoy.config.common.tap.v2alpha.CommonExtensionConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_tap_v2alpha_tap_proto_init() } func file_envoy_config_filter_http_tap_v2alpha_tap_proto_init() { if File_envoy_config_filter_http_tap_v2alpha_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_tap_v2alpha_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_tap_v2alpha_tap_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_tap_v2alpha_tap_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_tap_v2alpha_tap_proto_msgTypes, }.Build() File_envoy_config_filter_http_tap_v2alpha_tap_proto = out.File file_envoy_config_filter_http_tap_v2alpha_tap_proto_rawDesc = nil file_envoy_config_filter_http_tap_v2alpha_tap_proto_goTypes = nil file_envoy_config_filter_http_tap_v2alpha_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/tap/v2alpha/tap.pb.validate.go000077500000000000000000000077151454502223200272630ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/tap/v2alpha/tap.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tap with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Tap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tap with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TapMultiError, or nil if none found. func (m *Tap) ValidateAll() error { return m.validate(true) } func (m *Tap) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TapValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapMultiError(errors) } return nil } // TapMultiError is an error wrapping multiple validation errors returned by // Tap.ValidateAll() if the designated constraints aren't met. type TapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapMultiError) AllErrors() []error { return m } // TapValidationError is the validation error returned by Tap.Validate if the // designated constraints aren't met. type TapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapValidationError) ErrorName() string { return "TapValidationError" } // Error satisfies the builtin error interface func (e TapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapValidationError{} go-control-plane-0.12.0/envoy/config/filter/http/transcoder/000077500000000000000000000000001454502223200237665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/transcoder/v2/000077500000000000000000000000001454502223200243155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/http/transcoder/v2/transcoder.pb.go000077500000000000000000000561401454502223200274210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/http/transcoder/v2/transcoder.proto package transcoderv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 10] type GrpcJsonTranscoder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to DescriptorSet: // // *GrpcJsonTranscoder_ProtoDescriptor // *GrpcJsonTranscoder_ProtoDescriptorBin DescriptorSet isGrpcJsonTranscoder_DescriptorSet `protobuf_oneof:"descriptor_set"` // A list of strings that // supplies the fully qualified service names (i.e. "package_name.service_name") that // the transcoder will translate. If the service name doesn't exist in “proto_descriptor“, // Envoy will fail at startup. The “proto_descriptor“ may contain more services than // the service names specified here, but they won't be translated. Services []string `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"` // Control options for response JSON. These options are passed directly to // `JsonPrintOptions `_. PrintOptions *GrpcJsonTranscoder_PrintOptions `protobuf:"bytes,3,opt,name=print_options,json=printOptions,proto3" json:"print_options,omitempty"` // Whether to keep the incoming request route after the outgoing headers have been transformed to // the match the upstream gRPC service. Note: This means that routes for gRPC services that are // not transcoded cannot be used in combination with *match_incoming_request_route*. MatchIncomingRequestRoute bool `protobuf:"varint,5,opt,name=match_incoming_request_route,json=matchIncomingRequestRoute,proto3" json:"match_incoming_request_route,omitempty"` // A list of query parameters to be ignored for transcoding method mapping. // By default, the transcoder filter will not transcode a request if there are any // unknown/invalid query parameters. // // Example : // // .. code-block:: proto // // service Bookstore { // rpc GetShelf(GetShelfRequest) returns (Shelf) { // option (google.api.http) = { // get: "/shelves/{shelf}" // }; // } // } // // message GetShelfRequest { // int64 shelf = 1; // } // // message Shelf {} // // The request “/shelves/100?foo=bar“ will not be mapped to “GetShelf``` because variable // binding for “foo“ is not defined. Adding “foo“ to “ignored_query_parameters“ will allow // the same request to be mapped to “GetShelf“. IgnoredQueryParameters []string `protobuf:"bytes,6,rep,name=ignored_query_parameters,json=ignoredQueryParameters,proto3" json:"ignored_query_parameters,omitempty"` // Whether to route methods without the “google.api.http“ option. // // Example : // // .. code-block:: proto // // package bookstore; // // service Bookstore { // rpc GetShelf(GetShelfRequest) returns (Shelf) {} // } // // message GetShelfRequest { // int64 shelf = 1; // } // // message Shelf {} // // The client could “post“ a json body “{"shelf": 1234}“ with the path of // “/bookstore.Bookstore/GetShelfRequest“ to call “GetShelfRequest“. AutoMapping bool `protobuf:"varint,7,opt,name=auto_mapping,json=autoMapping,proto3" json:"auto_mapping,omitempty"` // Whether to ignore query parameters that cannot be mapped to a corresponding // protobuf field. Use this if you cannot control the query parameters and do // not know them beforehand. Otherwise use “ignored_query_parameters“. // Defaults to false. IgnoreUnknownQueryParameters bool `protobuf:"varint,8,opt,name=ignore_unknown_query_parameters,json=ignoreUnknownQueryParameters,proto3" json:"ignore_unknown_query_parameters,omitempty"` // Whether to convert gRPC status headers to JSON. // When trailer indicates a gRPC error and there was no HTTP body, take “google.rpc.Status“ // from the “grpc-status-details-bin“ header and use it as JSON body. // If there was no such header, make “google.rpc.Status“ out of the “grpc-status“ and // “grpc-message“ headers. // The error details types must be present in the “proto_descriptor“. // // For example, if an upstream server replies with headers: // // .. code-block:: none // // grpc-status: 5 // grpc-status-details-bin: // CAUaMwoqdHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucnBjLlJlcXVlc3RJbmZvEgUKA3ItMQ // // The “grpc-status-details-bin“ header contains a base64-encoded protobuf message // “google.rpc.Status“. It will be transcoded into: // // .. code-block:: none // // HTTP/1.1 404 Not Found // content-type: application/json // // {"code":5,"details":[{"@type":"type.googleapis.com/google.rpc.RequestInfo","requestId":"r-1"}]} // // In order to transcode the message, the “google.rpc.RequestInfo“ type from // the “google/rpc/error_details.proto“ should be included in the configured // :ref:`proto descriptor set `. ConvertGrpcStatus bool `protobuf:"varint,9,opt,name=convert_grpc_status,json=convertGrpcStatus,proto3" json:"convert_grpc_status,omitempty"` } func (x *GrpcJsonTranscoder) Reset() { *x = GrpcJsonTranscoder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcJsonTranscoder) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcJsonTranscoder) ProtoMessage() {} func (x *GrpcJsonTranscoder) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcJsonTranscoder.ProtoReflect.Descriptor instead. func (*GrpcJsonTranscoder) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescGZIP(), []int{0} } func (m *GrpcJsonTranscoder) GetDescriptorSet() isGrpcJsonTranscoder_DescriptorSet { if m != nil { return m.DescriptorSet } return nil } func (x *GrpcJsonTranscoder) GetProtoDescriptor() string { if x, ok := x.GetDescriptorSet().(*GrpcJsonTranscoder_ProtoDescriptor); ok { return x.ProtoDescriptor } return "" } func (x *GrpcJsonTranscoder) GetProtoDescriptorBin() []byte { if x, ok := x.GetDescriptorSet().(*GrpcJsonTranscoder_ProtoDescriptorBin); ok { return x.ProtoDescriptorBin } return nil } func (x *GrpcJsonTranscoder) GetServices() []string { if x != nil { return x.Services } return nil } func (x *GrpcJsonTranscoder) GetPrintOptions() *GrpcJsonTranscoder_PrintOptions { if x != nil { return x.PrintOptions } return nil } func (x *GrpcJsonTranscoder) GetMatchIncomingRequestRoute() bool { if x != nil { return x.MatchIncomingRequestRoute } return false } func (x *GrpcJsonTranscoder) GetIgnoredQueryParameters() []string { if x != nil { return x.IgnoredQueryParameters } return nil } func (x *GrpcJsonTranscoder) GetAutoMapping() bool { if x != nil { return x.AutoMapping } return false } func (x *GrpcJsonTranscoder) GetIgnoreUnknownQueryParameters() bool { if x != nil { return x.IgnoreUnknownQueryParameters } return false } func (x *GrpcJsonTranscoder) GetConvertGrpcStatus() bool { if x != nil { return x.ConvertGrpcStatus } return false } type isGrpcJsonTranscoder_DescriptorSet interface { isGrpcJsonTranscoder_DescriptorSet() } type GrpcJsonTranscoder_ProtoDescriptor struct { // Supplies the filename of // :ref:`the proto descriptor set ` for the gRPC // services. ProtoDescriptor string `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3,oneof"` } type GrpcJsonTranscoder_ProtoDescriptorBin struct { // Supplies the binary content of // :ref:`the proto descriptor set ` for the gRPC // services. ProtoDescriptorBin []byte `protobuf:"bytes,4,opt,name=proto_descriptor_bin,json=protoDescriptorBin,proto3,oneof"` } func (*GrpcJsonTranscoder_ProtoDescriptor) isGrpcJsonTranscoder_DescriptorSet() {} func (*GrpcJsonTranscoder_ProtoDescriptorBin) isGrpcJsonTranscoder_DescriptorSet() {} type GrpcJsonTranscoder_PrintOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to add spaces, line breaks and indentation to make the JSON // output easy to read. Defaults to false. AddWhitespace bool `protobuf:"varint,1,opt,name=add_whitespace,json=addWhitespace,proto3" json:"add_whitespace,omitempty"` // Whether to always print primitive fields. By default primitive // fields with default values will be omitted in JSON output. For // example, an int32 field set to 0 will be omitted. Setting this flag to // true will override the default behavior and print primitive fields // regardless of their values. Defaults to false. AlwaysPrintPrimitiveFields bool `protobuf:"varint,2,opt,name=always_print_primitive_fields,json=alwaysPrintPrimitiveFields,proto3" json:"always_print_primitive_fields,omitempty"` // Whether to always print enums as ints. By default they are rendered // as strings. Defaults to false. AlwaysPrintEnumsAsInts bool `protobuf:"varint,3,opt,name=always_print_enums_as_ints,json=alwaysPrintEnumsAsInts,proto3" json:"always_print_enums_as_ints,omitempty"` // Whether to preserve proto field names. By default protobuf will // generate JSON field names using the “json_name“ option, or lower camel case, // in that order. Setting this flag will preserve the original field names. Defaults to false. PreserveProtoFieldNames bool `protobuf:"varint,4,opt,name=preserve_proto_field_names,json=preserveProtoFieldNames,proto3" json:"preserve_proto_field_names,omitempty"` } func (x *GrpcJsonTranscoder_PrintOptions) Reset() { *x = GrpcJsonTranscoder_PrintOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcJsonTranscoder_PrintOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcJsonTranscoder_PrintOptions) ProtoMessage() {} func (x *GrpcJsonTranscoder_PrintOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcJsonTranscoder_PrintOptions.ProtoReflect.Descriptor instead. func (*GrpcJsonTranscoder_PrintOptions) Descriptor() ([]byte, []int) { return file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcJsonTranscoder_PrintOptions) GetAddWhitespace() bool { if x != nil { return x.AddWhitespace } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintPrimitiveFields() bool { if x != nil { return x.AlwaysPrintPrimitiveFields } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintEnumsAsInts() bool { if x != nil { return x.AlwaysPrintEnumsAsInts } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetPreserveProtoFieldNames() bool { if x != nil { return x.PreserveProtoFieldNames } return false } var File_envoy_config_filter_http_transcoder_v2_transcoder_proto protoreflect.FileDescriptor var file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x06, 0x0a, 0x12, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x1f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xf1, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x41, 0x73, 0x49, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xea, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x37, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescOnce sync.Once file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescData = file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDesc ) func file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescGZIP() []byte { file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescOnce.Do(func() { file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescData) }) return file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDescData } var file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_http_transcoder_v2_transcoder_proto_goTypes = []interface{}{ (*GrpcJsonTranscoder)(nil), // 0: envoy.config.filter.http.transcoder.v2.GrpcJsonTranscoder (*GrpcJsonTranscoder_PrintOptions)(nil), // 1: envoy.config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions } var file_envoy_config_filter_http_transcoder_v2_transcoder_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.http.transcoder.v2.GrpcJsonTranscoder.print_options:type_name -> envoy.config.filter.http.transcoder.v2.GrpcJsonTranscoder.PrintOptions 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_http_transcoder_v2_transcoder_proto_init() } func file_envoy_config_filter_http_transcoder_v2_transcoder_proto_init() { if File_envoy_config_filter_http_transcoder_v2_transcoder_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcJsonTranscoder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcJsonTranscoder_PrintOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GrpcJsonTranscoder_ProtoDescriptor)(nil), (*GrpcJsonTranscoder_ProtoDescriptorBin)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_http_transcoder_v2_transcoder_proto_goTypes, DependencyIndexes: file_envoy_config_filter_http_transcoder_v2_transcoder_proto_depIdxs, MessageInfos: file_envoy_config_filter_http_transcoder_v2_transcoder_proto_msgTypes, }.Build() File_envoy_config_filter_http_transcoder_v2_transcoder_proto = out.File file_envoy_config_filter_http_transcoder_v2_transcoder_proto_rawDesc = nil file_envoy_config_filter_http_transcoder_v2_transcoder_proto_goTypes = nil file_envoy_config_filter_http_transcoder_v2_transcoder_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/http/transcoder/v2/transcoder.pb.validate.go000077500000000000000000000215751454502223200312150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/http/transcoder/v2/transcoder.proto package transcoderv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcJsonTranscoder with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcJsonTranscoder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcJsonTranscoder with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcJsonTranscoderMultiError, or nil if none found. func (m *GrpcJsonTranscoder) ValidateAll() error { return m.validate(true) } func (m *GrpcJsonTranscoder) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetServices()) < 1 { err := GrpcJsonTranscoderValidationError{ field: "Services", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPrintOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrintOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MatchIncomingRequestRoute // no validation rules for AutoMapping // no validation rules for IgnoreUnknownQueryParameters // no validation rules for ConvertGrpcStatus oneofDescriptorSetPresent := false switch v := m.DescriptorSet.(type) { case *GrpcJsonTranscoder_ProtoDescriptor: if v == nil { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDescriptorSetPresent = true // no validation rules for ProtoDescriptor case *GrpcJsonTranscoder_ProtoDescriptorBin: if v == nil { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDescriptorSetPresent = true // no validation rules for ProtoDescriptorBin default: _ = v // ensures v is used } if !oneofDescriptorSetPresent { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcJsonTranscoderMultiError(errors) } return nil } // GrpcJsonTranscoderMultiError is an error wrapping multiple validation errors // returned by GrpcJsonTranscoder.ValidateAll() if the designated constraints // aren't met. type GrpcJsonTranscoderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcJsonTranscoderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcJsonTranscoderMultiError) AllErrors() []error { return m } // GrpcJsonTranscoderValidationError is the validation error returned by // GrpcJsonTranscoder.Validate if the designated constraints aren't met. type GrpcJsonTranscoderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcJsonTranscoderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcJsonTranscoderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcJsonTranscoderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcJsonTranscoderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcJsonTranscoderValidationError) ErrorName() string { return "GrpcJsonTranscoderValidationError" } // Error satisfies the builtin error interface func (e GrpcJsonTranscoderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcJsonTranscoder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcJsonTranscoderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcJsonTranscoderValidationError{} // Validate checks the field values on GrpcJsonTranscoder_PrintOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcJsonTranscoder_PrintOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcJsonTranscoder_PrintOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // GrpcJsonTranscoder_PrintOptionsMultiError, or nil if none found. func (m *GrpcJsonTranscoder_PrintOptions) ValidateAll() error { return m.validate(true) } func (m *GrpcJsonTranscoder_PrintOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AddWhitespace // no validation rules for AlwaysPrintPrimitiveFields // no validation rules for AlwaysPrintEnumsAsInts // no validation rules for PreserveProtoFieldNames if len(errors) > 0 { return GrpcJsonTranscoder_PrintOptionsMultiError(errors) } return nil } // GrpcJsonTranscoder_PrintOptionsMultiError is an error wrapping multiple // validation errors returned by GrpcJsonTranscoder_PrintOptions.ValidateAll() // if the designated constraints aren't met. type GrpcJsonTranscoder_PrintOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcJsonTranscoder_PrintOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcJsonTranscoder_PrintOptionsMultiError) AllErrors() []error { return m } // GrpcJsonTranscoder_PrintOptionsValidationError is the validation error // returned by GrpcJsonTranscoder_PrintOptions.Validate if the designated // constraints aren't met. type GrpcJsonTranscoder_PrintOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcJsonTranscoder_PrintOptionsValidationError) ErrorName() string { return "GrpcJsonTranscoder_PrintOptionsValidationError" } // Error satisfies the builtin error interface func (e GrpcJsonTranscoder_PrintOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcJsonTranscoder_PrintOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcJsonTranscoder_PrintOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcJsonTranscoder_PrintOptionsValidationError{} go-control-plane-0.12.0/envoy/config/filter/listener/000077500000000000000000000000001454502223200224705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/http_inspector/000077500000000000000000000000001454502223200255355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/http_inspector/v2/000077500000000000000000000000001454502223200260645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/http_inspector/v2/http_inspector.pb.go000077500000000000000000000173171454502223200320740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/listener/http_inspector/v2/http_inspector.proto package http_inspectorv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HttpInspector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HttpInspector) Reset() { *x = HttpInspector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpInspector) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpInspector) ProtoMessage() {} func (x *HttpInspector) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpInspector.ProtoReflect.Descriptor instead. func (*HttpInspector) Descriptor() ([]byte, []int) { return file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto protoreflect.FileDescriptor var file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xff, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescOnce sync.Once file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescData = file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDesc ) func file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescGZIP() []byte { file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescOnce.Do(func() { file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescData) }) return file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDescData } var file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_goTypes = []interface{}{ (*HttpInspector)(nil), // 0: envoy.config.filter.listener.http_inspector.v2.HttpInspector } var file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_init() } func file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_init() { if File_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpInspector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_goTypes, DependencyIndexes: file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_depIdxs, MessageInfos: file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_msgTypes, }.Build() File_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto = out.File file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_rawDesc = nil file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_goTypes = nil file_envoy_config_filter_listener_http_inspector_v2_http_inspector_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/listener/http_inspector/v2/http_inspector.pb.validate.go000077500000000000000000000063751454502223200336660ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/listener/http_inspector/v2/http_inspector.proto package http_inspectorv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpInspector with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpInspector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpInspector with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpInspectorMultiError, or // nil if none found. func (m *HttpInspector) ValidateAll() error { return m.validate(true) } func (m *HttpInspector) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HttpInspectorMultiError(errors) } return nil } // HttpInspectorMultiError is an error wrapping multiple validation errors // returned by HttpInspector.ValidateAll() if the designated constraints // aren't met. type HttpInspectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpInspectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpInspectorMultiError) AllErrors() []error { return m } // HttpInspectorValidationError is the validation error returned by // HttpInspector.Validate if the designated constraints aren't met. type HttpInspectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpInspectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpInspectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpInspectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpInspectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpInspectorValidationError) ErrorName() string { return "HttpInspectorValidationError" } // Error satisfies the builtin error interface func (e HttpInspectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpInspector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpInspectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpInspectorValidationError{} go-control-plane-0.12.0/envoy/config/filter/listener/original_dst/000077500000000000000000000000001454502223200251465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/original_dst/v2/000077500000000000000000000000001454502223200254755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/original_dst/v2/original_dst.pb.go000077500000000000000000000167241454502223200311170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/listener/original_dst/v2/original_dst.proto package original_dstv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OriginalDst struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OriginalDst) Reset() { *x = OriginalDst{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalDst) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalDst) ProtoMessage() {} func (x *OriginalDst) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalDst.ProtoReflect.Descriptor instead. func (*OriginalDst) Descriptor() ([]byte, []int) { return file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_listener_original_dst_v2_original_dst_proto protoreflect.FileDescriptor var file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0d, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x42, 0xf5, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x33, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescOnce sync.Once file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescData = file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDesc ) func file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescGZIP() []byte { file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescOnce.Do(func() { file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescData) }) return file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDescData } var file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_goTypes = []interface{}{ (*OriginalDst)(nil), // 0: envoy.config.filter.listener.original_dst.v2.OriginalDst } var file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_init() } func file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_init() { if File_envoy_config_filter_listener_original_dst_v2_original_dst_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalDst); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_goTypes, DependencyIndexes: file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_depIdxs, MessageInfos: file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_msgTypes, }.Build() File_envoy_config_filter_listener_original_dst_v2_original_dst_proto = out.File file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_rawDesc = nil file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_goTypes = nil file_envoy_config_filter_listener_original_dst_v2_original_dst_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/listener/original_dst/v2/original_dst.pb.validate.go000077500000000000000000000063021454502223200326760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/listener/original_dst/v2/original_dst.proto package original_dstv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalDst with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalDst) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalDst with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalDstMultiError, or // nil if none found. func (m *OriginalDst) ValidateAll() error { return m.validate(true) } func (m *OriginalDst) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OriginalDstMultiError(errors) } return nil } // OriginalDstMultiError is an error wrapping multiple validation errors // returned by OriginalDst.ValidateAll() if the designated constraints aren't met. type OriginalDstMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalDstMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalDstMultiError) AllErrors() []error { return m } // OriginalDstValidationError is the validation error returned by // OriginalDst.Validate if the designated constraints aren't met. type OriginalDstValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalDstValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalDstValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalDstValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalDstValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalDstValidationError) ErrorName() string { return "OriginalDstValidationError" } // Error satisfies the builtin error interface func (e OriginalDstValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalDst.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalDstValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalDstValidationError{} go-control-plane-0.12.0/envoy/config/filter/listener/original_src/000077500000000000000000000000001454502223200251435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/original_src/v2alpha1/000077500000000000000000000000001454502223200265615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/original_src/v2alpha1/original_src.pb.go000077500000000000000000000216671454502223200322020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/listener/original_src/v2alpha1/original_src.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The Original Src filter binds upstream connections to the original source address determined // for the connection. This address could come from something like the Proxy Protocol filter, or it // could come from trusted http headers. type OriginalSrc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to bind the port to the one used in the original downstream connection. // [#not-implemented-hide:] BindPort bool `protobuf:"varint,1,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"` // Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to // ensure that non-local addresses may be routed back through envoy when binding to the original // source address. The option will not be applied if the mark is 0. Mark uint32 `protobuf:"varint,2,opt,name=mark,proto3" json:"mark,omitempty"` } func (x *OriginalSrc) Reset() { *x = OriginalSrc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalSrc) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalSrc) ProtoMessage() {} func (x *OriginalSrc) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalSrc.ProtoReflect.Descriptor instead. func (*OriginalSrc) Descriptor() ([]byte, []int) { return file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescGZIP(), []int{0} } func (x *OriginalSrc) GetBindPort() bool { if x != nil { return x.BindPort } return false } func (x *OriginalSrc) GetMark() uint32 { if x != nil { return x.Mark } return 0 } var File_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto protoreflect.FileDescriptor var file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDesc = []byte{ 0x0a, 0x45, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0xf2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x33, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescOnce sync.Once file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescData = file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDesc ) func file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescGZIP() []byte { file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescOnce.Do(func() { file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescData) }) return file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDescData } var file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_goTypes = []interface{}{ (*OriginalSrc)(nil), // 0: envoy.config.filter.listener.original_src.v2alpha1.OriginalSrc } var file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_init() } func file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_init() { if File_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalSrc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_goTypes, DependencyIndexes: file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_depIdxs, MessageInfos: file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_msgTypes, }.Build() File_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto = out.File file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_rawDesc = nil file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_goTypes = nil file_envoy_config_filter_listener_original_src_v2alpha1_original_src_proto_depIdxs = nil } original_src.pb.validate.go000077500000000000000000000064121454502223200337020ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/original_src/v2alpha1// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/listener/original_src/v2alpha1/original_src.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalSrc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalSrcMultiError, or // nil if none found. func (m *OriginalSrc) ValidateAll() error { return m.validate(true) } func (m *OriginalSrc) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BindPort // no validation rules for Mark if len(errors) > 0 { return OriginalSrcMultiError(errors) } return nil } // OriginalSrcMultiError is an error wrapping multiple validation errors // returned by OriginalSrc.ValidateAll() if the designated constraints aren't met. type OriginalSrcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalSrcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalSrcMultiError) AllErrors() []error { return m } // OriginalSrcValidationError is the validation error returned by // OriginalSrc.Validate if the designated constraints aren't met. type OriginalSrcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalSrcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalSrcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalSrcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalSrcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalSrcValidationError) ErrorName() string { return "OriginalSrcValidationError" } // Error satisfies the builtin error interface func (e OriginalSrcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalSrc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalSrcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalSrcValidationError{} go-control-plane-0.12.0/envoy/config/filter/listener/proxy_protocol/000077500000000000000000000000001454502223200255725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/proxy_protocol/v2/000077500000000000000000000000001454502223200261215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.pb.go000077500000000000000000000173171454502223200321660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.proto package proxy_protocolv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ProxyProtocol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ProxyProtocol) Reset() { *x = ProxyProtocol{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocol) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocol) ProtoMessage() {} func (x *ProxyProtocol) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocol.ProtoReflect.Descriptor instead. func (*ProxyProtocol) Descriptor() ([]byte, []int) { return file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto protoreflect.FileDescriptor var file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0xff, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescOnce sync.Once file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescData = file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDesc ) func file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescGZIP() []byte { file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescOnce.Do(func() { file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescData) }) return file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDescData } var file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_goTypes = []interface{}{ (*ProxyProtocol)(nil), // 0: envoy.config.filter.listener.proxy_protocol.v2.ProxyProtocol } var file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_init() } func file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_init() { if File_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocol); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_goTypes, DependencyIndexes: file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_depIdxs, MessageInfos: file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_msgTypes, }.Build() File_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto = out.File file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_rawDesc = nil file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_goTypes = nil file_envoy_config_filter_listener_proxy_protocol_v2_proxy_protocol_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.pb.validate.go000077500000000000000000000063751454502223200337600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.proto package proxy_protocolv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProxyProtocol with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ProxyProtocol) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocol with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ProxyProtocolMultiError, or // nil if none found. func (m *ProxyProtocol) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocol) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ProxyProtocolMultiError(errors) } return nil } // ProxyProtocolMultiError is an error wrapping multiple validation errors // returned by ProxyProtocol.ValidateAll() if the designated constraints // aren't met. type ProxyProtocolMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocolMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocolMultiError) AllErrors() []error { return m } // ProxyProtocolValidationError is the validation error returned by // ProxyProtocol.Validate if the designated constraints aren't met. type ProxyProtocolValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocolValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocolValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocolValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocolValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocolValidationError) ErrorName() string { return "ProxyProtocolValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocolValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocol.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocolValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocolValidationError{} go-control-plane-0.12.0/envoy/config/filter/listener/tls_inspector/000077500000000000000000000000001454502223200253605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/tls_inspector/v2/000077500000000000000000000000001454502223200257075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/listener/tls_inspector/v2/tls_inspector.pb.go000077500000000000000000000171221454502223200315340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/listener/tls_inspector/v2/tls_inspector.proto package tls_inspectorv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TlsInspector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TlsInspector) Reset() { *x = TlsInspector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsInspector) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsInspector) ProtoMessage() {} func (x *TlsInspector) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsInspector.ProtoReflect.Descriptor instead. func (*TlsInspector) Descriptor() ([]byte, []int) { return file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto protoreflect.FileDescriptor var file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x54, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xfa, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x34, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x11, 0x54, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescOnce sync.Once file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescData = file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDesc ) func file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescGZIP() []byte { file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescOnce.Do(func() { file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescData) }) return file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDescData } var file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_goTypes = []interface{}{ (*TlsInspector)(nil), // 0: envoy.config.filter.listener.tls_inspector.v2.TlsInspector } var file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_init() } func file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_init() { if File_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsInspector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_goTypes, DependencyIndexes: file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_depIdxs, MessageInfos: file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_msgTypes, }.Build() File_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto = out.File file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_rawDesc = nil file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_goTypes = nil file_envoy_config_filter_listener_tls_inspector_v2_tls_inspector_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/listener/tls_inspector/v2/tls_inspector.pb.validate.go000077500000000000000000000063361454502223200333310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/listener/tls_inspector/v2/tls_inspector.proto package tls_inspectorv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TlsInspector with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsInspector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsInspector with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsInspectorMultiError, or // nil if none found. func (m *TlsInspector) ValidateAll() error { return m.validate(true) } func (m *TlsInspector) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TlsInspectorMultiError(errors) } return nil } // TlsInspectorMultiError is an error wrapping multiple validation errors // returned by TlsInspector.ValidateAll() if the designated constraints aren't met. type TlsInspectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsInspectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsInspectorMultiError) AllErrors() []error { return m } // TlsInspectorValidationError is the validation error returned by // TlsInspector.Validate if the designated constraints aren't met. type TlsInspectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsInspectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsInspectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsInspectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsInspectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsInspectorValidationError) ErrorName() string { return "TlsInspectorValidationError" } // Error satisfies the builtin error interface func (e TlsInspectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsInspector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsInspectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsInspectorValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/000077500000000000000000000000001454502223200223345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/client_ssl_auth/000077500000000000000000000000001454502223200255145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/client_ssl_auth/v2/000077500000000000000000000000001454502223200260435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/client_ssl_auth/v2/client_ssl_auth.pb.go000077500000000000000000000275711454502223200321710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/client_ssl_auth/v2/client_ssl_auth.proto package client_ssl_authv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ClientSSLAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`cluster manager ` cluster that runs // the authentication service. The filter will connect to the service every 60s to fetch the list // of principals. The service must support the expected :ref:`REST API // `. AuthApiCluster string `protobuf:"bytes,1,opt,name=auth_api_cluster,json=authApiCluster,proto3" json:"auth_api_cluster,omitempty"` // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Time in milliseconds between principal refreshes from the // authentication service. Default is 60000 (60s). The actual fetch time // will be this value plus a random jittered value between // 0-refresh_delay_ms milliseconds. RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"` // An optional list of IP address and subnet masks that should be white // listed for access by the filter. If no list is provided, there is no // IP allowlist. IpWhiteList []*core.CidrRange `protobuf:"bytes,4,rep,name=ip_white_list,json=ipWhiteList,proto3" json:"ip_white_list,omitempty"` } func (x *ClientSSLAuth) Reset() { *x = ClientSSLAuth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientSSLAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientSSLAuth) ProtoMessage() {} func (x *ClientSSLAuth) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientSSLAuth.ProtoReflect.Descriptor instead. func (*ClientSSLAuth) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescGZIP(), []int{0} } func (x *ClientSSLAuth) GetAuthApiCluster() string { if x != nil { return x.AuthApiCluster } return "" } func (x *ClientSSLAuth) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ClientSSLAuth) GetRefreshDelay() *duration.Duration { if x != nil { return x.RefreshDelay } return nil } func (x *ClientSSLAuth) GetIpWhiteList() []*core.CidrRange { if x != nil { return x.IpWhiteList } return nil } var File_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x41, 0x75, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x41, 0x70, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x69, 0x70, 0x57, 0x68, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x80, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x73, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescOnce sync.Once file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescData = file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDesc ) func file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescData) }) return file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDescData } var file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_goTypes = []interface{}{ (*ClientSSLAuth)(nil), // 0: envoy.config.filter.network.client_ssl_auth.v2.ClientSSLAuth (*duration.Duration)(nil), // 1: google.protobuf.Duration (*core.CidrRange)(nil), // 2: envoy.api.v2.core.CidrRange } var file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.client_ssl_auth.v2.ClientSSLAuth.refresh_delay:type_name -> google.protobuf.Duration 2, // 1: envoy.config.filter.network.client_ssl_auth.v2.ClientSSLAuth.ip_white_list:type_name -> envoy.api.v2.core.CidrRange 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_init() } func file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_init() { if File_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientSSLAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_msgTypes, }.Build() File_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto = out.File file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_rawDesc = nil file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_goTypes = nil file_envoy_config_filter_network_client_ssl_auth_v2_client_ssl_auth_proto_depIdxs = nil } client_ssl_auth.pb.validate.go000077500000000000000000000127311454502223200336720ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/client_ssl_auth/v2// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/client_ssl_auth/v2/client_ssl_auth.proto package client_ssl_authv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClientSSLAuth with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClientSSLAuth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientSSLAuth with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClientSSLAuthMultiError, or // nil if none found. func (m *ClientSSLAuth) ValidateAll() error { return m.validate(true) } func (m *ClientSSLAuth) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetAuthApiCluster()) < 1 { err := ClientSSLAuthValidationError{ field: "AuthApiCluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetStatPrefix()) < 1 { err := ClientSSLAuthValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRefreshDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSSLAuthValidationError{ field: "RefreshDelay", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetIpWhiteList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSSLAuthValidationError{ field: fmt.Sprintf("IpWhiteList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientSSLAuthMultiError(errors) } return nil } // ClientSSLAuthMultiError is an error wrapping multiple validation errors // returned by ClientSSLAuth.ValidateAll() if the designated constraints // aren't met. type ClientSSLAuthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientSSLAuthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientSSLAuthMultiError) AllErrors() []error { return m } // ClientSSLAuthValidationError is the validation error returned by // ClientSSLAuth.Validate if the designated constraints aren't met. type ClientSSLAuthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientSSLAuthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientSSLAuthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientSSLAuthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientSSLAuthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientSSLAuthValidationError) ErrorName() string { return "ClientSSLAuthValidationError" } // Error satisfies the builtin error interface func (e ClientSSLAuthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientSSLAuth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientSSLAuthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientSSLAuthValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/direct_response/000077500000000000000000000000001454502223200255245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/direct_response/v2/000077500000000000000000000000001454502223200260535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/direct_response/v2/config.pb.go000077500000000000000000000204411454502223200302530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/direct_response/v2/config.proto package direct_responsev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Response data as a data source. Response *core.DataSource `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_direct_response_v2_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_direct_response_v2_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescGZIP(), []int{0} } func (x *Config) GetResponse() *core.DataSource { if x != nil { return x.Response } return nil } var File_envoy_config_filter_network_direct_response_v2_config_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_direct_response_v2_config_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xf9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescOnce sync.Once file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescData = file_envoy_config_filter_network_direct_response_v2_config_proto_rawDesc ) func file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescData) }) return file_envoy_config_filter_network_direct_response_v2_config_proto_rawDescData } var file_envoy_config_filter_network_direct_response_v2_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_direct_response_v2_config_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.config.filter.network.direct_response.v2.Config (*core.DataSource)(nil), // 1: envoy.api.v2.core.DataSource } var file_envoy_config_filter_network_direct_response_v2_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.direct_response.v2.Config.response:type_name -> envoy.api.v2.core.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_direct_response_v2_config_proto_init() } func file_envoy_config_filter_network_direct_response_v2_config_proto_init() { if File_envoy_config_filter_network_direct_response_v2_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_direct_response_v2_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_direct_response_v2_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_direct_response_v2_config_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_direct_response_v2_config_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_direct_response_v2_config_proto_msgTypes, }.Build() File_envoy_config_filter_network_direct_response_v2_config_proto = out.File file_envoy_config_filter_network_direct_response_v2_config_proto_rawDesc = nil file_envoy_config_filter_network_direct_response_v2_config_proto_goTypes = nil file_envoy_config_filter_network_direct_response_v2_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/direct_response/v2/config.pb.validate.go000077500000000000000000000075461454502223200320560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/direct_response/v2/config.proto package direct_responsev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/000077500000000000000000000000001454502223200246705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/v2alpha1/000077500000000000000000000000001454502223200263065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/v2alpha1/dubbo_proxy.pb.go000077500000000000000000000474401454502223200316050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/dubbo_proxy/v2alpha1/dubbo_proxy.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Dubbo Protocol types supported by Envoy. type ProtocolType int32 const ( // the default protocol. ProtocolType_Dubbo ProtocolType = 0 ) // Enum value maps for ProtocolType. var ( ProtocolType_name = map[int32]string{ 0: "Dubbo", } ProtocolType_value = map[string]int32{ "Dubbo": 0, } ) func (x ProtocolType) Enum() *ProtocolType { p := new(ProtocolType) *p = x return p } func (x ProtocolType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProtocolType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes[0].Descriptor() } func (ProtocolType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes[0] } func (x ProtocolType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProtocolType.Descriptor instead. func (ProtocolType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescGZIP(), []int{0} } // Dubbo Serialization types supported by Envoy. type SerializationType int32 const ( // the default serialization protocol. SerializationType_Hessian2 SerializationType = 0 ) // Enum value maps for SerializationType. var ( SerializationType_name = map[int32]string{ 0: "Hessian2", } SerializationType_value = map[string]int32{ "Hessian2": 0, } ) func (x SerializationType) Enum() *SerializationType { p := new(SerializationType) *p = x return p } func (x SerializationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SerializationType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes[1].Descriptor() } func (SerializationType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes[1] } func (x SerializationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SerializationType.Descriptor instead. func (SerializationType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 6] type DubboProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Configure the protocol used. ProtocolType ProtocolType `protobuf:"varint,2,opt,name=protocol_type,json=protocolType,proto3,enum=envoy.config.filter.network.dubbo_proxy.v2alpha1.ProtocolType" json:"protocol_type,omitempty"` // Configure the serialization protocol used. SerializationType SerializationType `protobuf:"varint,3,opt,name=serialization_type,json=serializationType,proto3,enum=envoy.config.filter.network.dubbo_proxy.v2alpha1.SerializationType" json:"serialization_type,omitempty"` // The route table for the connection manager is static and is specified in this property. RouteConfig []*RouteConfiguration `protobuf:"bytes,4,rep,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // A list of individual Dubbo filters that make up the filter chain for requests made to the // Dubbo proxy. Order matters as the filters are processed sequentially. For backwards // compatibility, if no dubbo_filters are specified, a default Dubbo router filter // (`envoy.filters.dubbo.router`) is used. DubboFilters []*DubboFilter `protobuf:"bytes,5,rep,name=dubbo_filters,json=dubboFilters,proto3" json:"dubbo_filters,omitempty"` } func (x *DubboProxy) Reset() { *x = DubboProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DubboProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DubboProxy) ProtoMessage() {} func (x *DubboProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DubboProxy.ProtoReflect.Descriptor instead. func (*DubboProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescGZIP(), []int{0} } func (x *DubboProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *DubboProxy) GetProtocolType() ProtocolType { if x != nil { return x.ProtocolType } return ProtocolType_Dubbo } func (x *DubboProxy) GetSerializationType() SerializationType { if x != nil { return x.SerializationType } return SerializationType_Hessian2 } func (x *DubboProxy) GetRouteConfig() []*RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (x *DubboProxy) GetDubboFilters() []*DubboFilter { if x != nil { return x.DubboFilters } return nil } // DubboFilter configures a Dubbo filter. type DubboFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a supported // filter. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. Config *any1.Any `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *DubboFilter) Reset() { *x = DubboFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DubboFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*DubboFilter) ProtoMessage() {} func (x *DubboFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DubboFilter.ProtoReflect.Descriptor instead. func (*DubboFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescGZIP(), []int{1} } func (x *DubboFilter) GetName() string { if x != nil { return x.Name } return "" } func (x *DubboFilter) GetConfig() *any1.Any { if x != nil { return x.Config } return nil } var File_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDesc = []byte{ 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x03, 0x0a, 0x0a, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x6d, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x7c, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x0d, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x58, 0x0a, 0x0b, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x19, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x10, 0x00, 0x2a, 0x21, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x73, 0x73, 0x69, 0x61, 0x6e, 0x32, 0x10, 0x00, 0x42, 0xeb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0f, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescData = file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDesc ) func file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDescData } var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_goTypes = []interface{}{ (ProtocolType)(0), // 0: envoy.config.filter.network.dubbo_proxy.v2alpha1.ProtocolType (SerializationType)(0), // 1: envoy.config.filter.network.dubbo_proxy.v2alpha1.SerializationType (*DubboProxy)(nil), // 2: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboProxy (*DubboFilter)(nil), // 3: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboFilter (*RouteConfiguration)(nil), // 4: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteConfiguration (*any1.Any)(nil), // 5: google.protobuf.Any } var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboProxy.protocol_type:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.ProtocolType 1, // 1: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboProxy.serialization_type:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.SerializationType 4, // 2: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboProxy.route_config:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteConfiguration 3, // 3: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboProxy.dubbo_filters:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboFilter 5, // 4: envoy.config.filter.network.dubbo_proxy.v2alpha1.DubboFilter.config:type_name -> google.protobuf.Any 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_init() } func file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_init() { if File_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto != nil { return } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DubboProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DubboFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDesc, NumEnums: 2, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_depIdxs, EnumInfos: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_enumTypes, MessageInfos: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto = out.File file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_rawDesc = nil file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_goTypes = nil file_envoy_config_filter_network_dubbo_proxy_v2alpha1_dubbo_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/v2alpha1/dubbo_proxy.pb.validate.go000077500000000000000000000225701454502223200333720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/dubbo_proxy/v2alpha1/dubbo_proxy.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DubboProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DubboProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DubboProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DubboProxyMultiError, or // nil if none found. func (m *DubboProxy) ValidateAll() error { return m.validate(true) } func (m *DubboProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := DubboProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocolType())]; !ok { err := DubboProxyValidationError{ field: "ProtocolType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := SerializationType_name[int32(m.GetSerializationType())]; !ok { err := DubboProxyValidationError{ field: "SerializationType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRouteConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDubboFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DubboProxyMultiError(errors) } return nil } // DubboProxyMultiError is an error wrapping multiple validation errors // returned by DubboProxy.ValidateAll() if the designated constraints aren't met. type DubboProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DubboProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DubboProxyMultiError) AllErrors() []error { return m } // DubboProxyValidationError is the validation error returned by // DubboProxy.Validate if the designated constraints aren't met. type DubboProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DubboProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DubboProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DubboProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DubboProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DubboProxyValidationError) ErrorName() string { return "DubboProxyValidationError" } // Error satisfies the builtin error interface func (e DubboProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDubboProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DubboProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DubboProxyValidationError{} // Validate checks the field values on DubboFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DubboFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DubboFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DubboFilterMultiError, or // nil if none found. func (m *DubboFilter) ValidateAll() error { return m.validate(true) } func (m *DubboFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := DubboFilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DubboFilterMultiError(errors) } return nil } // DubboFilterMultiError is an error wrapping multiple validation errors // returned by DubboFilter.ValidateAll() if the designated constraints aren't met. type DubboFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DubboFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DubboFilterMultiError) AllErrors() []error { return m } // DubboFilterValidationError is the validation error returned by // DubboFilter.Validate if the designated constraints aren't met. type DubboFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DubboFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DubboFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DubboFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DubboFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DubboFilterValidationError) ErrorName() string { return "DubboFilterValidationError" } // Error satisfies the builtin error interface func (e DubboFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDubboFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DubboFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DubboFilterValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/v2alpha1/route.pb.go000077500000000000000000001003601454502223200303760ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/dubbo_proxy/v2alpha1/route.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _type "github.com/envoyproxy/go-control-plane/envoy/type" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. Reserved for future use in asynchronous route discovery. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The interface name of the service. Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"` // Which group does the interface belong to. Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` // The version number of the interface. Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,5,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetInterface() string { if x != nil { return x.Interface } return "" } func (x *RouteConfiguration) GetGroup() string { if x != nil { return x.Group } return "" } func (x *RouteConfiguration) GetVersion() string { if x != nil { return x.Version } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Method level routing matching. Method *MethodMatch `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` // Specifies a set of headers that the route should match on. The router will check the request’s // headers against all the specified headers in the route config. A match will happen if all the // headers in the route are present in the request with the same values (or based on presence if // the value field is not in the config). Headers []*route.HeaderMatcher `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{2} } func (x *RouteMatch) GetMethod() *MethodMatch { if x != nil { return x.Method } return nil } func (x *RouteMatch) GetHeaders() []*route.HeaderMatcher { if x != nil { return x.Headers } return nil } type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_WeightedClusters ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{3} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetWeightedClusters() *route.WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. // Currently ClusterWeight only supports the name and weight fields. WeightedClusters *route.WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} type MethodMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the method. Name *matcher.StringMatcher `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Method parameter definition. // The key is the parameter index, starting from 0. // The value is the parameter matching type. ParamsMatch map[uint32]*MethodMatch_ParameterMatchSpecifier `protobuf:"bytes,2,rep,name=params_match,json=paramsMatch,proto3" json:"params_match,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *MethodMatch) Reset() { *x = MethodMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MethodMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*MethodMatch) ProtoMessage() {} func (x *MethodMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MethodMatch.ProtoReflect.Descriptor instead. func (*MethodMatch) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{4} } func (x *MethodMatch) GetName() *matcher.StringMatcher { if x != nil { return x.Name } return nil } func (x *MethodMatch) GetParamsMatch() map[uint32]*MethodMatch_ParameterMatchSpecifier { if x != nil { return x.ParamsMatch } return nil } // The parameter matching type. type MethodMatch_ParameterMatchSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ParameterMatchSpecifier: // // *MethodMatch_ParameterMatchSpecifier_ExactMatch // *MethodMatch_ParameterMatchSpecifier_RangeMatch ParameterMatchSpecifier isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier `protobuf_oneof:"parameter_match_specifier"` } func (x *MethodMatch_ParameterMatchSpecifier) Reset() { *x = MethodMatch_ParameterMatchSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MethodMatch_ParameterMatchSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*MethodMatch_ParameterMatchSpecifier) ProtoMessage() {} func (x *MethodMatch_ParameterMatchSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MethodMatch_ParameterMatchSpecifier.ProtoReflect.Descriptor instead. func (*MethodMatch_ParameterMatchSpecifier) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{4, 0} } func (m *MethodMatch_ParameterMatchSpecifier) GetParameterMatchSpecifier() isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier { if m != nil { return m.ParameterMatchSpecifier } return nil } func (x *MethodMatch_ParameterMatchSpecifier) GetExactMatch() string { if x, ok := x.GetParameterMatchSpecifier().(*MethodMatch_ParameterMatchSpecifier_ExactMatch); ok { return x.ExactMatch } return "" } func (x *MethodMatch_ParameterMatchSpecifier) GetRangeMatch() *_type.Int64Range { if x, ok := x.GetParameterMatchSpecifier().(*MethodMatch_ParameterMatchSpecifier_RangeMatch); ok { return x.RangeMatch } return nil } type isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier interface { isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() } type MethodMatch_ParameterMatchSpecifier_ExactMatch struct { // If specified, header match will be performed based on the value of the header. ExactMatch string `protobuf:"bytes,3,opt,name=exact_match,json=exactMatch,proto3,oneof"` } type MethodMatch_ParameterMatchSpecifier_RangeMatch struct { // If specified, header match will be performed based on range. // The rule will match if the request header value is within this range. // The entire request header value must represent an integer in base 10 notation: consisting // of an optional plus or minus sign followed by a sequence of digits. The rule will not match // if the header value does not represent an integer. Match will fail for empty values, // floating point numbers or if only a subsequence of the header value is an integer. // // Examples: // // - For range [-10,0), route will match for header value -1, but not for 0, // "somestring", 10.9, "-1somestring" RangeMatch *_type.Int64Range `protobuf:"bytes,4,opt,name=range_match,json=rangeMatch,proto3,oneof"` } func (*MethodMatch_ParameterMatchSpecifier_ExactMatch) isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() { } func (*MethodMatch_ParameterMatchSpecifier_RangeMatch) isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() { } var File_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5d, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x55, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xe6, 0x03, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x94, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1b, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x95, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xe6, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescOnce sync.Once file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescData = file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDesc ) func file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescData) }) return file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDescData } var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteConfiguration (*Route)(nil), // 1: envoy.config.filter.network.dubbo_proxy.v2alpha1.Route (*RouteMatch)(nil), // 2: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteMatch (*RouteAction)(nil), // 3: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteAction (*MethodMatch)(nil), // 4: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch (*MethodMatch_ParameterMatchSpecifier)(nil), // 5: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParameterMatchSpecifier nil, // 6: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParamsMatchEntry (*route.HeaderMatcher)(nil), // 7: envoy.api.v2.route.HeaderMatcher (*route.WeightedCluster)(nil), // 8: envoy.api.v2.route.WeightedCluster (*matcher.StringMatcher)(nil), // 9: envoy.type.matcher.StringMatcher (*_type.Int64Range)(nil), // 10: envoy.type.Int64Range } var file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteConfiguration.routes:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.Route 2, // 1: envoy.config.filter.network.dubbo_proxy.v2alpha1.Route.match:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteMatch 3, // 2: envoy.config.filter.network.dubbo_proxy.v2alpha1.Route.route:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteAction 4, // 3: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteMatch.method:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch 7, // 4: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteMatch.headers:type_name -> envoy.api.v2.route.HeaderMatcher 8, // 5: envoy.config.filter.network.dubbo_proxy.v2alpha1.RouteAction.weighted_clusters:type_name -> envoy.api.v2.route.WeightedCluster 9, // 6: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.name:type_name -> envoy.type.matcher.StringMatcher 6, // 7: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.params_match:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParamsMatchEntry 10, // 8: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParameterMatchSpecifier.range_match:type_name -> envoy.type.Int64Range 5, // 9: envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParamsMatchEntry.value:type_name -> envoy.config.filter.network.dubbo_proxy.v2alpha1.MethodMatch.ParameterMatchSpecifier 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_init() } func file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_init() { if File_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MethodMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MethodMatch_ParameterMatchSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_WeightedClusters)(nil), } file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes[5].OneofWrappers = []interface{}{ (*MethodMatch_ParameterMatchSpecifier_ExactMatch)(nil), (*MethodMatch_ParameterMatchSpecifier_RangeMatch)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_msgTypes, }.Build() File_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto = out.File file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_rawDesc = nil file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_goTypes = nil file_envoy_config_filter_network_dubbo_proxy_v2alpha1_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/dubbo_proxy/v2alpha1/route.pb.validate.go000077500000000000000000000656101454502223200321760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/dubbo_proxy/v2alpha1/route.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for Interface // no validation rules for Group // no validation rules for Version for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMethod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMethod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for Cluster case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} // Validate checks the field values on MethodMatch with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MethodMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MethodMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MethodMatchMultiError, or // nil if none found. func (m *MethodMatch) ValidateAll() error { return m.validate(true) } func (m *MethodMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]uint32, len(m.GetParamsMatch())) i := 0 for key := range m.GetParamsMatch() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetParamsMatch()[key] _ = val // no validation rules for ParamsMatch[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return MethodMatchMultiError(errors) } return nil } // MethodMatchMultiError is an error wrapping multiple validation errors // returned by MethodMatch.ValidateAll() if the designated constraints aren't met. type MethodMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MethodMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MethodMatchMultiError) AllErrors() []error { return m } // MethodMatchValidationError is the validation error returned by // MethodMatch.Validate if the designated constraints aren't met. type MethodMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MethodMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MethodMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MethodMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MethodMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MethodMatchValidationError) ErrorName() string { return "MethodMatchValidationError" } // Error satisfies the builtin error interface func (e MethodMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMethodMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MethodMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MethodMatchValidationError{} // Validate checks the field values on MethodMatch_ParameterMatchSpecifier with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *MethodMatch_ParameterMatchSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MethodMatch_ParameterMatchSpecifier // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // MethodMatch_ParameterMatchSpecifierMultiError, or nil if none found. func (m *MethodMatch_ParameterMatchSpecifier) ValidateAll() error { return m.validate(true) } func (m *MethodMatch_ParameterMatchSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.ParameterMatchSpecifier.(type) { case *MethodMatch_ParameterMatchSpecifier_ExactMatch: if v == nil { err := MethodMatch_ParameterMatchSpecifierValidationError{ field: "ParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ExactMatch case *MethodMatch_ParameterMatchSpecifier_RangeMatch: if v == nil { err := MethodMatch_ParameterMatchSpecifierValidationError{ field: "ParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRangeMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRangeMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return MethodMatch_ParameterMatchSpecifierMultiError(errors) } return nil } // MethodMatch_ParameterMatchSpecifierMultiError is an error wrapping multiple // validation errors returned by // MethodMatch_ParameterMatchSpecifier.ValidateAll() if the designated // constraints aren't met. type MethodMatch_ParameterMatchSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MethodMatch_ParameterMatchSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MethodMatch_ParameterMatchSpecifierMultiError) AllErrors() []error { return m } // MethodMatch_ParameterMatchSpecifierValidationError is the validation error // returned by MethodMatch_ParameterMatchSpecifier.Validate if the designated // constraints aren't met. type MethodMatch_ParameterMatchSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MethodMatch_ParameterMatchSpecifierValidationError) ErrorName() string { return "MethodMatch_ParameterMatchSpecifierValidationError" } // Error satisfies the builtin error interface func (e MethodMatch_ParameterMatchSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMethodMatch_ParameterMatchSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MethodMatch_ParameterMatchSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MethodMatch_ParameterMatchSpecifierValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/echo/000077500000000000000000000000001454502223200232525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/echo/v2/000077500000000000000000000000001454502223200236015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/echo/v2/echo.pb.go000077500000000000000000000147031454502223200254560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/echo/v2/echo.proto package echov2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Echo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Echo) Reset() { *x = Echo{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_echo_v2_echo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Echo) String() string { return protoimpl.X.MessageStringOf(x) } func (*Echo) ProtoMessage() {} func (x *Echo) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_echo_v2_echo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Echo.ProtoReflect.Descriptor instead. func (*Echo) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_echo_v2_echo_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_network_echo_v2_echo_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_echo_v2_echo_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x06, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x42, 0xcb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2a, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x45, 0x63, 0x68, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x63, 0x68, 0x6f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_echo_v2_echo_proto_rawDescOnce sync.Once file_envoy_config_filter_network_echo_v2_echo_proto_rawDescData = file_envoy_config_filter_network_echo_v2_echo_proto_rawDesc ) func file_envoy_config_filter_network_echo_v2_echo_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_echo_v2_echo_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_echo_v2_echo_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_echo_v2_echo_proto_rawDescData) }) return file_envoy_config_filter_network_echo_v2_echo_proto_rawDescData } var file_envoy_config_filter_network_echo_v2_echo_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_echo_v2_echo_proto_goTypes = []interface{}{ (*Echo)(nil), // 0: envoy.config.filter.network.echo.v2.Echo } var file_envoy_config_filter_network_echo_v2_echo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_echo_v2_echo_proto_init() } func file_envoy_config_filter_network_echo_v2_echo_proto_init() { if File_envoy_config_filter_network_echo_v2_echo_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_echo_v2_echo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Echo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_echo_v2_echo_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_echo_v2_echo_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_echo_v2_echo_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_echo_v2_echo_proto_msgTypes, }.Build() File_envoy_config_filter_network_echo_v2_echo_proto = out.File file_envoy_config_filter_network_echo_v2_echo_proto_rawDesc = nil file_envoy_config_filter_network_echo_v2_echo_proto_goTypes = nil file_envoy_config_filter_network_echo_v2_echo_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/echo/v2/echo.pb.validate.go000077500000000000000000000057671454502223200272600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/echo/v2/echo.proto package echov2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Echo with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Echo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Echo with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in EchoMultiError, or nil if none found. func (m *Echo) ValidateAll() error { return m.validate(true) } func (m *Echo) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EchoMultiError(errors) } return nil } // EchoMultiError is an error wrapping multiple validation errors returned by // Echo.ValidateAll() if the designated constraints aren't met. type EchoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EchoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EchoMultiError) AllErrors() []error { return m } // EchoValidationError is the validation error returned by Echo.Validate if the // designated constraints aren't met. type EchoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EchoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EchoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EchoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EchoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EchoValidationError) ErrorName() string { return "EchoValidationError" } // Error satisfies the builtin error interface func (e EchoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEcho.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EchoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EchoValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/ext_authz/000077500000000000000000000000001454502223200243475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/ext_authz/v2/000077500000000000000000000000001454502223200246765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/ext_authz/v2/ext_authz.pb.go000077500000000000000000000255421454502223200276530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/ext_authz/v2/ext_authz.proto package ext_authzv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // External Authorization filter calls out to an external service over the // gRPC Authorization API defined by // :ref:`CheckRequest `. // A failed check will cause this filter to close the TCP connection. type ExtAuthz struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The external authorization gRPC service configuration. // The default timeout is set to 200ms by this filter. GrpcService *core.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // The filter's behaviour in case the external authorization service does // not respond back. When it is set to true, Envoy will also allow traffic in case of // communication failure between authorization service and the proxy. // Defaults to false. FailureModeAllow bool `protobuf:"varint,3,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` // Specifies if the peer certificate is sent to the external service. // // When this field is true, Envoy will include the peer X.509 certificate, if available, in the // :ref:`certificate`. IncludePeerCertificate bool `protobuf:"varint,4,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"` } func (x *ExtAuthz) Reset() { *x = ExtAuthz{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthz) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthz) ProtoMessage() {} func (x *ExtAuthz) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthz.ProtoReflect.Descriptor instead. func (*ExtAuthz) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescGZIP(), []int{0} } func (x *ExtAuthz) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ExtAuthz) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *ExtAuthz) GetFailureModeAllow() bool { if x != nil { return x.FailureModeAllow } return false } func (x *ExtAuthz) GetIncludePeerCertificate() bool { if x != nil { return x.IncludePeerCertificate } return false } var File_envoy_config_filter_network_ext_authz_v2_ext_authz_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x41, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0xe3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescOnce sync.Once file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescData = file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDesc ) func file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescData) }) return file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDescData } var file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_goTypes = []interface{}{ (*ExtAuthz)(nil), // 0: envoy.config.filter.network.ext_authz.v2.ExtAuthz (*core.GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService } var file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.ext_authz.v2.ExtAuthz.grpc_service:type_name -> envoy.api.v2.core.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_init() } func file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_init() { if File_envoy_config_filter_network_ext_authz_v2_ext_authz_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthz); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_msgTypes, }.Build() File_envoy_config_filter_network_ext_authz_v2_ext_authz_proto = out.File file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_rawDesc = nil file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_goTypes = nil file_envoy_config_filter_network_ext_authz_v2_ext_authz_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/ext_authz/v2/ext_authz.pb.validate.go000077500000000000000000000103361454502223200314360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/ext_authz/v2/ext_authz.proto package ext_authzv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ExtAuthz with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ExtAuthz) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthz with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtAuthzMultiError, or nil // if none found. func (m *ExtAuthz) ValidateAll() error { return m.validate(true) } func (m *ExtAuthz) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := ExtAuthzValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeAllow // no validation rules for IncludePeerCertificate if len(errors) > 0 { return ExtAuthzMultiError(errors) } return nil } // ExtAuthzMultiError is an error wrapping multiple validation errors returned // by ExtAuthz.ValidateAll() if the designated constraints aren't met. type ExtAuthzMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzMultiError) AllErrors() []error { return m } // ExtAuthzValidationError is the validation error returned by // ExtAuthz.Validate if the designated constraints aren't met. type ExtAuthzValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzValidationError) ErrorName() string { return "ExtAuthzValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthz.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/http_connection_manager/000077500000000000000000000000001454502223200272245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/http_connection_manager/v2/000077500000000000000000000000001454502223200275535ustar00rootroot00000000000000http_connection_manager.pb.go000077500000000000000000004461151454502223200353310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/http_connection_manager/v2// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto package http_connection_managerv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v21 "github.com/envoyproxy/go-control-plane/envoy/api/v2" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/accesslog/v2" v23 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v2" _type "github.com/envoyproxy/go-control-plane/envoy/type" v22 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HttpConnectionManager_CodecType int32 const ( // For every new connection, the connection manager will determine which // codec to use. This mode supports both ALPN for TLS listeners as well as // protocol inference for plaintext listeners. If ALPN data is available, it // is preferred, otherwise protocol inference is used. In almost all cases, // this is the right option to choose for this setting. HttpConnectionManager_AUTO HttpConnectionManager_CodecType = 0 // The connection manager will assume that the client is speaking HTTP/1.1. HttpConnectionManager_HTTP1 HttpConnectionManager_CodecType = 1 // The connection manager will assume that the client is speaking HTTP/2 // (Envoy does not require HTTP/2 to take place over TLS or to use ALPN. // Prior knowledge is allowed). HttpConnectionManager_HTTP2 HttpConnectionManager_CodecType = 2 // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient // to distinguish HTTP1 and HTTP2 traffic. HttpConnectionManager_HTTP3 HttpConnectionManager_CodecType = 3 ) // Enum value maps for HttpConnectionManager_CodecType. var ( HttpConnectionManager_CodecType_name = map[int32]string{ 0: "AUTO", 1: "HTTP1", 2: "HTTP2", 3: "HTTP3", } HttpConnectionManager_CodecType_value = map[string]int32{ "AUTO": 0, "HTTP1": 1, "HTTP2": 2, "HTTP3": 3, } ) func (x HttpConnectionManager_CodecType) Enum() *HttpConnectionManager_CodecType { p := new(HttpConnectionManager_CodecType) *p = x return p } func (x HttpConnectionManager_CodecType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_CodecType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[0].Descriptor() } func (HttpConnectionManager_CodecType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[0] } func (x HttpConnectionManager_CodecType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_CodecType.Descriptor instead. func (HttpConnectionManager_CodecType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} } type HttpConnectionManager_ServerHeaderTransformation int32 const ( // Overwrite any Server header with the contents of server_name. HttpConnectionManager_OVERWRITE HttpConnectionManager_ServerHeaderTransformation = 0 // If no Server header is present, append Server server_name // If a Server header is present, pass it through. HttpConnectionManager_APPEND_IF_ABSENT HttpConnectionManager_ServerHeaderTransformation = 1 // Pass through the value of the server header, and do not append a header // if none is present. HttpConnectionManager_PASS_THROUGH HttpConnectionManager_ServerHeaderTransformation = 2 ) // Enum value maps for HttpConnectionManager_ServerHeaderTransformation. var ( HttpConnectionManager_ServerHeaderTransformation_name = map[int32]string{ 0: "OVERWRITE", 1: "APPEND_IF_ABSENT", 2: "PASS_THROUGH", } HttpConnectionManager_ServerHeaderTransformation_value = map[string]int32{ "OVERWRITE": 0, "APPEND_IF_ABSENT": 1, "PASS_THROUGH": 2, } ) func (x HttpConnectionManager_ServerHeaderTransformation) Enum() *HttpConnectionManager_ServerHeaderTransformation { p := new(HttpConnectionManager_ServerHeaderTransformation) *p = x return p } func (x HttpConnectionManager_ServerHeaderTransformation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_ServerHeaderTransformation) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[1].Descriptor() } func (HttpConnectionManager_ServerHeaderTransformation) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[1] } func (x HttpConnectionManager_ServerHeaderTransformation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_ServerHeaderTransformation.Descriptor instead. func (HttpConnectionManager_ServerHeaderTransformation) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} } // How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP // header. type HttpConnectionManager_ForwardClientCertDetails int32 const ( // Do not send the XFCC header to the next hop. This is the default value. HttpConnectionManager_SANITIZE HttpConnectionManager_ForwardClientCertDetails = 0 // When the client connection is mTLS (Mutual TLS), forward the XFCC header // in the request. HttpConnectionManager_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 1 // When the client connection is mTLS, append the client certificate // information to the request’s XFCC header and forward it. HttpConnectionManager_APPEND_FORWARD HttpConnectionManager_ForwardClientCertDetails = 2 // When the client connection is mTLS, reset the XFCC header with the client // certificate information and send it to the next hop. HttpConnectionManager_SANITIZE_SET HttpConnectionManager_ForwardClientCertDetails = 3 // Always forward the XFCC header in the request, regardless of whether the // client connection is mTLS. HttpConnectionManager_ALWAYS_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 4 ) // Enum value maps for HttpConnectionManager_ForwardClientCertDetails. var ( HttpConnectionManager_ForwardClientCertDetails_name = map[int32]string{ 0: "SANITIZE", 1: "FORWARD_ONLY", 2: "APPEND_FORWARD", 3: "SANITIZE_SET", 4: "ALWAYS_FORWARD_ONLY", } HttpConnectionManager_ForwardClientCertDetails_value = map[string]int32{ "SANITIZE": 0, "FORWARD_ONLY": 1, "APPEND_FORWARD": 2, "SANITIZE_SET": 3, "ALWAYS_FORWARD_ONLY": 4, } ) func (x HttpConnectionManager_ForwardClientCertDetails) Enum() *HttpConnectionManager_ForwardClientCertDetails { p := new(HttpConnectionManager_ForwardClientCertDetails) *p = x return p } func (x HttpConnectionManager_ForwardClientCertDetails) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_ForwardClientCertDetails) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[2].Descriptor() } func (HttpConnectionManager_ForwardClientCertDetails) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[2] } func (x HttpConnectionManager_ForwardClientCertDetails) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_ForwardClientCertDetails.Descriptor instead. func (HttpConnectionManager_ForwardClientCertDetails) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} } type HttpConnectionManager_Tracing_OperationName int32 const ( // The HTTP listener is used for ingress/incoming requests. HttpConnectionManager_Tracing_INGRESS HttpConnectionManager_Tracing_OperationName = 0 // The HTTP listener is used for egress/outgoing requests. HttpConnectionManager_Tracing_EGRESS HttpConnectionManager_Tracing_OperationName = 1 ) // Enum value maps for HttpConnectionManager_Tracing_OperationName. var ( HttpConnectionManager_Tracing_OperationName_name = map[int32]string{ 0: "INGRESS", 1: "EGRESS", } HttpConnectionManager_Tracing_OperationName_value = map[string]int32{ "INGRESS": 0, "EGRESS": 1, } ) func (x HttpConnectionManager_Tracing_OperationName) Enum() *HttpConnectionManager_Tracing_OperationName { p := new(HttpConnectionManager_Tracing_OperationName) *p = x return p } func (x HttpConnectionManager_Tracing_OperationName) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_Tracing_OperationName) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[3].Descriptor() } func (HttpConnectionManager_Tracing_OperationName) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes[3] } func (x HttpConnectionManager_Tracing_OperationName) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_Tracing_OperationName.Descriptor instead. func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 0, 0} } // [#next-free-field: 37] type HttpConnectionManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of codec that the connection manager should use. CodecType HttpConnectionManager_CodecType `protobuf:"varint,1,opt,name=codec_type,json=codecType,proto3,enum=envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager_CodecType" json:"codec_type,omitempty"` // The human readable prefix to use when emitting statistics for the // connection manager. See the :ref:`statistics documentation ` for // more information. StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to RouteSpecifier: // // *HttpConnectionManager_Rds // *HttpConnectionManager_RouteConfig // *HttpConnectionManager_ScopedRoutes RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"` // A list of individual HTTP filters that make up the filter chain for // requests made to the connection manager. :ref:`Order matters ` // as the filters are processed sequentially as request events happen. HttpFilters []*HttpFilter `protobuf:"bytes,5,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"` // Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent` // and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked // documentation for more information. Defaults to false. AddUserAgent *wrappers.BoolValue `protobuf:"bytes,6,opt,name=add_user_agent,json=addUserAgent,proto3" json:"add_user_agent,omitempty"` // Presence of the object defines whether the connection manager // emits :ref:`tracing ` data to the :ref:`configured tracing provider // `. Tracing *HttpConnectionManager_Tracing `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"` // Additional settings for HTTP requests handled by the connection manager. These will be // applicable to both HTTP1 and HTTP2 requests. CommonHttpProtocolOptions *core.HttpProtocolOptions `protobuf:"bytes,35,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` // Additional HTTP/1 settings that are passed to the HTTP/1 codec. HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,8,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` // Additional HTTP/2 settings that are passed directly to the HTTP/2 codec. Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,9,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // An optional override that the connection manager will write to the server // header in responses. If not set, the default is *envoy*. ServerName string `protobuf:"bytes,10,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` // Defines the action to be applied to the Server header on the response path. // By default, Envoy will overwrite the header with the value specified in // server_name. ServerHeaderTransformation HttpConnectionManager_ServerHeaderTransformation `protobuf:"varint,34,opt,name=server_header_transformation,json=serverHeaderTransformation,proto3,enum=envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager_ServerHeaderTransformation" json:"server_header_transformation,omitempty"` // The maximum request headers size for incoming connections. // If unconfigured, the default max request headers allowed is 60 KiB. // Requests that exceed this limit will receive a 431 response. MaxRequestHeadersKb *wrappers.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"` // The idle timeout for connections managed by the connection manager. The // idle timeout is defined as the period in which there are no active // requests. If not set, there is no idle timeout. When the idle timeout is // reached the connection will be closed. If the connection is an HTTP/2 // connection a drain sequence will occur prior to closing the connection. // This field is deprecated. Use :ref:`idle_timeout // ` // instead. // // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. IdleTimeout *duration.Duration `protobuf:"bytes,11,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // The stream idle timeout for connections managed by the connection manager. // If not specified, this defaults to 5 minutes. The default value was selected // so as not to interfere with any smaller configured timeouts that may have // existed in configurations prior to the introduction of this feature, while // introducing robustness to TCP connections that terminate without a FIN. // // This idle timeout applies to new streams and is overridable by the // :ref:`route-level idle_timeout // `. Even on a stream in // which the override applies, prior to receipt of the initial request // headers, the :ref:`stream_idle_timeout // ` // applies. Each time an encode/decode event for headers or data is processed // for the stream, the timer will be reset. If the timeout fires, the stream // is terminated with a 408 Request Timeout error code if no upstream response // header has been received, otherwise a stream reset occurs. // // This timeout also specifies the amount of time that Envoy will wait for the peer to open enough // window to write any remaining stream data once the entirety of stream data (local end stream is // true) has been buffered pending available window. In other words, this timeout defends against // a peer that does not release enough window to completely write the stream, even though all // data has been proxied within available flow control windows. If the timeout is hit in this // case, the :ref:`tx_flush_timeout ` counter will be // incremented. Note that :ref:`max_stream_duration // ` does not apply to this corner // case. // // Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due // to the granularity of events presented to the connection manager. For example, while receiving // very large request headers, it may be the case that there is traffic regularly arriving on the // wire while the connection manage is only able to observe the end-of-headers event, hence the // stream may still idle timeout. // // A value of 0 will completely disable the connection manager stream idle // timeout, although per-route idle timeout overrides will continue to apply. StreamIdleTimeout *duration.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` // The amount of time that Envoy will wait for the entire request to be received. // The timer is activated when the request is initiated, and is disarmed when the last byte of the // request is sent upstream (i.e. all decoding filters have processed the request), OR when the // response is initiated. If not specified or set to 0, this timeout is disabled. RequestTimeout *duration.Duration `protobuf:"bytes,28,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // The time that Envoy will wait between sending an HTTP/2 “shutdown // notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame. // This is used so that Envoy provides a grace period for new streams that // race with the final GOAWAY frame. During this grace period, Envoy will // continue to accept new streams. After the grace period, a final GOAWAY // frame is sent and Envoy will start refusing new streams. Draining occurs // both when a connection hits the idle timeout or during general server // draining. The default grace period is 5000 milliseconds (5 seconds) if this // option is not specified. DrainTimeout *duration.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"` // The delayed close timeout is for downstream connections managed by the HTTP connection manager. // It is defined as a grace period after connection close processing has been locally initiated // during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy // from the downstream connection) prior to Envoy closing the socket associated with that // connection. // NOTE: This timeout is enforced even when the socket associated with the downstream connection // is pending a flush of the write buffer. However, any progress made writing data to the socket // will restart the timer associated with this timeout. This means that the total grace period for // a socket in this state will be // +. // // Delaying Envoy's connection close and giving the peer the opportunity to initiate the close // sequence mitigates a race condition that exists when downstream clients do not drain/process // data in a connection's receive buffer after a remote close has been detected via a socket // write(). This race leads to such clients failing to process the response code sent by Envoy, // which could result in erroneous downstream processing. // // If the timeout triggers, Envoy will close the connection's socket. // // The default timeout is 1000 ms if this option is not specified. // // .. NOTE:: // // To be useful in avoiding the race condition described above, this timeout must be set // to *at least* +<100ms to account for // a reasonable "worst" case processing time for a full iteration of Envoy's event loop>. // // .. WARNING:: // // A value of 0 will completely disable delayed close processing. When disabled, the downstream // connection's socket will be closed immediately after the write flush is completed or will // never close if the write flush does not complete. DelayedCloseTimeout *duration.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"` // Configuration for :ref:`HTTP access logs ` // emitted by the connection manager. AccessLog []*v2.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // If set to true, the connection manager will use the real remote address // of the client connection when determining internal versus external origin and manipulating // various headers. If set to false or absent, the connection manager will use the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for`, // :ref:`config_http_conn_man_headers_x-envoy-internal`, and // :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information. UseRemoteAddress *wrappers.BoolValue `protobuf:"bytes,14,opt,name=use_remote_address,json=useRemoteAddress,proto3" json:"use_remote_address,omitempty"` // The number of additional ingress proxy hops from the right side of the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when // determining the origin client's IP address. The default is zero if this option // is not specified. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. XffNumTrustedHops uint32 `protobuf:"varint,19,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"` // Configures what network addresses are considered internal for stats and header sanitation // purposes. If unspecified, only RFC1918 IP addresses will be considered internal. // See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more // information about internal/external addresses. InternalAddressConfig *HttpConnectionManager_InternalAddressConfig `protobuf:"bytes,25,opt,name=internal_address_config,json=internalAddressConfig,proto3" json:"internal_address_config,omitempty"` // If set, Envoy will not append the remote address to the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in // conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager // has mutated the request headers. While :ref:`use_remote_address // ` // will also suppress XFF addition, it has consequences for logging and other // Envoy uses of the remote address, so *skip_xff_append* should be used // when only an elision of XFF addition is intended. SkipXffAppend bool `protobuf:"varint,21,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"` // Via header value to append to request and response headers. If this is // empty, no via header will be appended. Via string `protobuf:"bytes,22,opt,name=via,proto3" json:"via,omitempty"` // Whether the connection manager will generate the :ref:`x-request-id // ` header if it does not exist. This defaults to // true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature // is not desired it can be disabled. GenerateRequestId *wrappers.BoolValue `protobuf:"bytes,15,opt,name=generate_request_id,json=generateRequestId,proto3" json:"generate_request_id,omitempty"` // Whether the connection manager will keep the :ref:`x-request-id // ` header if passed for a request that is edge // (Edge request is the request from external clients to front Envoy) and not reset it, which // is the current Envoy behaviour. This defaults to false. PreserveExternalRequestId bool `protobuf:"varint,32,opt,name=preserve_external_request_id,json=preserveExternalRequestId,proto3" json:"preserve_external_request_id,omitempty"` // How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP // header. ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `protobuf:"varint,16,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager_ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"` // This field is valid only when :ref:`forward_client_cert_details // ` // is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in // the client certificate to be forwarded. Note that in the // :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, *Hash* is always set, and // *By* is always set when the client certificate presents the URI type Subject Alternative Name // value. SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `protobuf:"bytes,17,opt,name=set_current_client_cert_details,json=setCurrentClientCertDetails,proto3" json:"set_current_client_cert_details,omitempty"` // If proxy_100_continue is true, Envoy will proxy incoming "Expect: // 100-continue" headers upstream, and forward "100 Continue" responses // downstream. If this is false or not set, Envoy will instead strip the // "Expect: 100-continue" header, and send a "100 Continue" response itself. Proxy_100Continue bool `protobuf:"varint,18,opt,name=proxy_100_continue,json=proxy100Continue,proto3" json:"proxy_100_continue,omitempty"` // If // :ref:`use_remote_address // ` // is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is // an IPv4 address, the address will be mapped to IPv6 before it is appended to *x-forwarded-for*. // This is useful for testing compatibility of upstream services that parse the header value. For // example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses // `_ for details. This will also affect the // :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See // :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6 // ` for runtime // control. // [#not-implemented-hide:] RepresentIpv4RemoteAddressAsIpv4MappedIpv6 bool `protobuf:"varint,20,opt,name=represent_ipv4_remote_address_as_ipv4_mapped_ipv6,json=representIpv4RemoteAddressAsIpv4MappedIpv6,proto3" json:"represent_ipv4_remote_address_as_ipv4_mapped_ipv6,omitempty"` UpgradeConfigs []*HttpConnectionManager_UpgradeConfig `protobuf:"bytes,23,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"` // Should paths be normalized according to RFC 3986 before any processing of // requests by HTTP filters or routing? This affects the upstream *:path* header // as well. For paths that fail this check, Envoy will respond with 400 to // paths that are malformed. This defaults to false currently but will default // true in the future. When not specified, this value may be overridden by the // runtime variable // :ref:`http_connection_manager.normalize_path`. // See `Normalization and Comparison `_ // for details of normalization. // Note that Envoy does not perform // `case normalization `_ NormalizePath *wrappers.BoolValue `protobuf:"bytes,30,opt,name=normalize_path,json=normalizePath,proto3" json:"normalize_path,omitempty"` // Determines if adjacent slashes in the path are merged into one before any processing of // requests by HTTP filters or routing. This affects the upstream *:path* header as well. Without // setting this option, incoming requests with path `//dir///file` will not match against route // with `prefix` match set to `/dir`. Defaults to `false`. Note that slash merging is not part of // `HTTP spec `_ and is provided for convenience. MergeSlashes bool `protobuf:"varint,33,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"` // The configuration of the request ID extension. This includes operations such as // generation, validation, and associated tracing operations. // // If not set, Envoy uses the default UUID-based behavior: // // 1. Request ID is propagated using *x-request-id* header. // // 2. Request ID is a universally unique identifier (UUID). // // 3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID. RequestIdExtension *RequestIDExtension `protobuf:"bytes,36,opt,name=request_id_extension,json=requestIdExtension,proto3" json:"request_id_extension,omitempty"` } func (x *HttpConnectionManager) Reset() { *x = HttpConnectionManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager) ProtoMessage() {} func (x *HttpConnectionManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead. func (*HttpConnectionManager) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0} } func (x *HttpConnectionManager) GetCodecType() HttpConnectionManager_CodecType { if x != nil { return x.CodecType } return HttpConnectionManager_AUTO } func (x *HttpConnectionManager) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } func (x *HttpConnectionManager) GetRds() *Rds { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_Rds); ok { return x.Rds } return nil } func (x *HttpConnectionManager) GetRouteConfig() *v21.RouteConfiguration { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_RouteConfig); ok { return x.RouteConfig } return nil } func (x *HttpConnectionManager) GetScopedRoutes() *ScopedRoutes { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_ScopedRoutes); ok { return x.ScopedRoutes } return nil } func (x *HttpConnectionManager) GetHttpFilters() []*HttpFilter { if x != nil { return x.HttpFilters } return nil } func (x *HttpConnectionManager) GetAddUserAgent() *wrappers.BoolValue { if x != nil { return x.AddUserAgent } return nil } func (x *HttpConnectionManager) GetTracing() *HttpConnectionManager_Tracing { if x != nil { return x.Tracing } return nil } func (x *HttpConnectionManager) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions { if x != nil { return x.CommonHttpProtocolOptions } return nil } func (x *HttpConnectionManager) GetHttpProtocolOptions() *core.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } func (x *HttpConnectionManager) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } func (x *HttpConnectionManager) GetServerName() string { if x != nil { return x.ServerName } return "" } func (x *HttpConnectionManager) GetServerHeaderTransformation() HttpConnectionManager_ServerHeaderTransformation { if x != nil { return x.ServerHeaderTransformation } return HttpConnectionManager_OVERWRITE } func (x *HttpConnectionManager) GetMaxRequestHeadersKb() *wrappers.UInt32Value { if x != nil { return x.MaxRequestHeadersKb } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. func (x *HttpConnectionManager) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *HttpConnectionManager) GetStreamIdleTimeout() *duration.Duration { if x != nil { return x.StreamIdleTimeout } return nil } func (x *HttpConnectionManager) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *HttpConnectionManager) GetDrainTimeout() *duration.Duration { if x != nil { return x.DrainTimeout } return nil } func (x *HttpConnectionManager) GetDelayedCloseTimeout() *duration.Duration { if x != nil { return x.DelayedCloseTimeout } return nil } func (x *HttpConnectionManager) GetAccessLog() []*v2.AccessLog { if x != nil { return x.AccessLog } return nil } func (x *HttpConnectionManager) GetUseRemoteAddress() *wrappers.BoolValue { if x != nil { return x.UseRemoteAddress } return nil } func (x *HttpConnectionManager) GetXffNumTrustedHops() uint32 { if x != nil { return x.XffNumTrustedHops } return 0 } func (x *HttpConnectionManager) GetInternalAddressConfig() *HttpConnectionManager_InternalAddressConfig { if x != nil { return x.InternalAddressConfig } return nil } func (x *HttpConnectionManager) GetSkipXffAppend() bool { if x != nil { return x.SkipXffAppend } return false } func (x *HttpConnectionManager) GetVia() string { if x != nil { return x.Via } return "" } func (x *HttpConnectionManager) GetGenerateRequestId() *wrappers.BoolValue { if x != nil { return x.GenerateRequestId } return nil } func (x *HttpConnectionManager) GetPreserveExternalRequestId() bool { if x != nil { return x.PreserveExternalRequestId } return false } func (x *HttpConnectionManager) GetForwardClientCertDetails() HttpConnectionManager_ForwardClientCertDetails { if x != nil { return x.ForwardClientCertDetails } return HttpConnectionManager_SANITIZE } func (x *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnectionManager_SetCurrentClientCertDetails { if x != nil { return x.SetCurrentClientCertDetails } return nil } func (x *HttpConnectionManager) GetProxy_100Continue() bool { if x != nil { return x.Proxy_100Continue } return false } func (x *HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6() bool { if x != nil { return x.RepresentIpv4RemoteAddressAsIpv4MappedIpv6 } return false } func (x *HttpConnectionManager) GetUpgradeConfigs() []*HttpConnectionManager_UpgradeConfig { if x != nil { return x.UpgradeConfigs } return nil } func (x *HttpConnectionManager) GetNormalizePath() *wrappers.BoolValue { if x != nil { return x.NormalizePath } return nil } func (x *HttpConnectionManager) GetMergeSlashes() bool { if x != nil { return x.MergeSlashes } return false } func (x *HttpConnectionManager) GetRequestIdExtension() *RequestIDExtension { if x != nil { return x.RequestIdExtension } return nil } type isHttpConnectionManager_RouteSpecifier interface { isHttpConnectionManager_RouteSpecifier() } type HttpConnectionManager_Rds struct { // The connection manager’s route table will be dynamically loaded via the RDS API. Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"` } type HttpConnectionManager_RouteConfig struct { // The route table for the connection manager is static and is specified in this property. RouteConfig *v21.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } type HttpConnectionManager_ScopedRoutes struct { // A route table will be dynamically assigned to each request based on request attributes // (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are // specified in this message. ScopedRoutes *ScopedRoutes `protobuf:"bytes,31,opt,name=scoped_routes,json=scopedRoutes,proto3,oneof"` } func (*HttpConnectionManager_Rds) isHttpConnectionManager_RouteSpecifier() {} func (*HttpConnectionManager_RouteConfig) isHttpConnectionManager_RouteSpecifier() {} func (*HttpConnectionManager_ScopedRoutes) isHttpConnectionManager_RouteSpecifier() {} type Rds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for RDS. ConfigSource *core.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the route configuration. This name will be passed to the RDS // API. This allows an Envoy configuration with multiple HTTP listeners (and // associated HTTP connection manager filters) to use different route // configurations. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` } func (x *Rds) Reset() { *x = Rds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Rds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Rds) ProtoMessage() {} func (x *Rds) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Rds.ProtoReflect.Descriptor instead. func (*Rds) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{1} } func (x *Rds) GetConfigSource() *core.ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *Rds) GetRouteConfigName() string { if x != nil { return x.RouteConfigName } return "" } // This message is used to work around the limitations with 'oneof' and repeated fields. type ScopedRouteConfigurationsList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScopedRouteConfigurations []*v21.ScopedRouteConfiguration `protobuf:"bytes,1,rep,name=scoped_route_configurations,json=scopedRouteConfigurations,proto3" json:"scoped_route_configurations,omitempty"` } func (x *ScopedRouteConfigurationsList) Reset() { *x = ScopedRouteConfigurationsList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfigurationsList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfigurationsList) ProtoMessage() {} func (x *ScopedRouteConfigurationsList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfigurationsList.ProtoReflect.Descriptor instead. func (*ScopedRouteConfigurationsList) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{2} } func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v21.ScopedRouteConfiguration { if x != nil { return x.ScopedRouteConfigurations } return nil } // [#next-free-field: 6] type ScopedRoutes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped routing configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The algorithm to use for constructing a scope key for each request. ScopeKeyBuilder *ScopedRoutes_ScopeKeyBuilder `protobuf:"bytes,2,opt,name=scope_key_builder,json=scopeKeyBuilder,proto3" json:"scope_key_builder,omitempty"` // Configuration source specifier for RDS. // This config source is used to subscribe to RouteConfiguration resources specified in // ScopedRouteConfiguration messages. RdsConfigSource *core.ConfigSource `protobuf:"bytes,3,opt,name=rds_config_source,json=rdsConfigSource,proto3" json:"rds_config_source,omitempty"` // Types that are assignable to ConfigSpecifier: // // *ScopedRoutes_ScopedRouteConfigurationsList // *ScopedRoutes_ScopedRds ConfigSpecifier isScopedRoutes_ConfigSpecifier `protobuf_oneof:"config_specifier"` } func (x *ScopedRoutes) Reset() { *x = ScopedRoutes{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes) ProtoMessage() {} func (x *ScopedRoutes) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes.ProtoReflect.Descriptor instead. func (*ScopedRoutes) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{3} } func (x *ScopedRoutes) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutes) GetScopeKeyBuilder() *ScopedRoutes_ScopeKeyBuilder { if x != nil { return x.ScopeKeyBuilder } return nil } func (x *ScopedRoutes) GetRdsConfigSource() *core.ConfigSource { if x != nil { return x.RdsConfigSource } return nil } func (m *ScopedRoutes) GetConfigSpecifier() isScopedRoutes_ConfigSpecifier { if m != nil { return m.ConfigSpecifier } return nil } func (x *ScopedRoutes) GetScopedRouteConfigurationsList() *ScopedRouteConfigurationsList { if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRouteConfigurationsList); ok { return x.ScopedRouteConfigurationsList } return nil } func (x *ScopedRoutes) GetScopedRds() *ScopedRds { if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRds); ok { return x.ScopedRds } return nil } type isScopedRoutes_ConfigSpecifier interface { isScopedRoutes_ConfigSpecifier() } type ScopedRoutes_ScopedRouteConfigurationsList struct { // The set of routing scopes corresponding to the HCM. A scope is assigned to a request by // matching a key constructed from the request's attributes according to the algorithm specified // by the // :ref:`ScopeKeyBuilder` // in this message. ScopedRouteConfigurationsList *ScopedRouteConfigurationsList `protobuf:"bytes,4,opt,name=scoped_route_configurations_list,json=scopedRouteConfigurationsList,proto3,oneof"` } type ScopedRoutes_ScopedRds struct { // The set of routing scopes associated with the HCM will be dynamically loaded via the SRDS // API. A scope is assigned to a request by matching a key constructed from the request's // attributes according to the algorithm specified by the // :ref:`ScopeKeyBuilder` // in this message. ScopedRds *ScopedRds `protobuf:"bytes,5,opt,name=scoped_rds,json=scopedRds,proto3,oneof"` } func (*ScopedRoutes_ScopedRouteConfigurationsList) isScopedRoutes_ConfigSpecifier() {} func (*ScopedRoutes_ScopedRds) isScopedRoutes_ConfigSpecifier() {} type ScopedRds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for scoped RDS. ScopedRdsConfigSource *core.ConfigSource `protobuf:"bytes,1,opt,name=scoped_rds_config_source,json=scopedRdsConfigSource,proto3" json:"scoped_rds_config_source,omitempty"` } func (x *ScopedRds) Reset() { *x = ScopedRds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRds) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRds) ProtoMessage() {} func (x *ScopedRds) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRds.ProtoReflect.Descriptor instead. func (*ScopedRds) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{4} } func (x *ScopedRds) GetScopedRdsConfigSource() *core.ConfigSource { if x != nil { return x.ScopedRdsConfigSource } return nil } type HttpFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a // :ref:`supported filter `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being instantiated. See the supported // filters for further documentation. // // Types that are assignable to ConfigType: // // *HttpFilter_Config // *HttpFilter_TypedConfig ConfigType isHttpFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *HttpFilter) Reset() { *x = HttpFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpFilter) ProtoMessage() {} func (x *HttpFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead. func (*HttpFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{5} } func (x *HttpFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *HttpFilter) GetConfigType() isHttpFilter_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. func (x *HttpFilter) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*HttpFilter_Config); ok { return x.Config } return nil } func (x *HttpFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*HttpFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isHttpFilter_ConfigType interface { isHttpFilter_ConfigType() } type HttpFilter_Config struct { // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type HttpFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*HttpFilter_Config) isHttpFilter_ConfigType() {} func (*HttpFilter_TypedConfig) isHttpFilter_ConfigType() {} type RequestIDExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request ID extension specific configuration. TypedConfig *any1.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *RequestIDExtension) Reset() { *x = RequestIDExtension{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestIDExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestIDExtension) ProtoMessage() {} func (x *RequestIDExtension) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequestIDExtension.ProtoReflect.Descriptor instead. func (*RequestIDExtension) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{6} } func (x *RequestIDExtension) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } // [#next-free-field: 10] type HttpConnectionManager_Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The span name will be derived from this field. If // :ref:`traffic_direction ` is // specified on the parent listener, then it is used instead of this field. // // .. attention:: // // This field has been deprecated in favor of `traffic_direction`. // // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. OperationName HttpConnectionManager_Tracing_OperationName `protobuf:"varint,1,opt,name=operation_name,json=operationName,proto3,enum=envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager_Tracing_OperationName" json:"operation_name,omitempty"` // A list of header names used to create tags for the active span. The header name is used to // populate the tag name, and the header value is used to populate the tag value. The tag is // created if the specified header name is present in the request's headers. // // .. attention:: // // This field has been deprecated in favor of :ref:`custom_tags // `. // // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. RequestHeadersForTags []string `protobuf:"bytes,2,rep,name=request_headers_for_tags,json=requestHeadersForTags,proto3" json:"request_headers_for_tags,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be force // traced if the :ref:`x-client-trace-id ` // header is set. This field is a direct analog for the runtime variable // 'tracing.client_enabled' in the :ref:`HTTP Connection Manager // `. // Default: 100% ClientSampling *_type.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be randomly // selected for trace generation, if not requested by the client or not forced. This field is // a direct analog for the runtime variable 'tracing.random_sampling' in the // :ref:`HTTP Connection Manager `. // Default: 100% RandomSampling *_type.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be traced // after all other sampling checks have been applied (client-directed, force tracing, random // sampling). This field functions as an upper limit on the total configured sampling rate. For // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% // of client requests with the appropriate headers to be force traced. This field is a direct // analog for the runtime variable 'tracing.global_enabled' in the // :ref:`HTTP Connection Manager `. // Default: 100% OverallSampling *_type.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` // Whether to annotate spans with additional data. If true, spans will include logs for stream // events. Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"` // Maximum length of the request path to extract and include in the HttpUrl tag. Used to // truncate lengthy request paths to meet the needs of a tracing backend. // Default: 256 MaxPathTagLength *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"` // A list of custom tags with unique tag name to create tags for the active span. CustomTags []*v22.CustomTag `protobuf:"bytes,8,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` // Configuration for an external tracing provider. // If not specified, no tracing will be performed. // // .. attention:: // // Please be aware that *envoy.tracers.opencensus* provider can only be configured once // in Envoy lifetime. // Any attempts to reconfigure it or to use different configurations for different HCM filters // will be rejected. // Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes // on OpenCensus side. Provider *v23.Tracing_Http `protobuf:"bytes,9,opt,name=provider,proto3" json:"provider,omitempty"` } func (x *HttpConnectionManager_Tracing) Reset() { *x = HttpConnectionManager_Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_Tracing) ProtoMessage() {} func (x *HttpConnectionManager_Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_Tracing.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_Tracing) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} } // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. func (x *HttpConnectionManager_Tracing) GetOperationName() HttpConnectionManager_Tracing_OperationName { if x != nil { return x.OperationName } return HttpConnectionManager_Tracing_INGRESS } // Deprecated: Marked as deprecated in envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto. func (x *HttpConnectionManager_Tracing) GetRequestHeadersForTags() []string { if x != nil { return x.RequestHeadersForTags } return nil } func (x *HttpConnectionManager_Tracing) GetClientSampling() *_type.Percent { if x != nil { return x.ClientSampling } return nil } func (x *HttpConnectionManager_Tracing) GetRandomSampling() *_type.Percent { if x != nil { return x.RandomSampling } return nil } func (x *HttpConnectionManager_Tracing) GetOverallSampling() *_type.Percent { if x != nil { return x.OverallSampling } return nil } func (x *HttpConnectionManager_Tracing) GetVerbose() bool { if x != nil { return x.Verbose } return false } func (x *HttpConnectionManager_Tracing) GetMaxPathTagLength() *wrappers.UInt32Value { if x != nil { return x.MaxPathTagLength } return nil } func (x *HttpConnectionManager_Tracing) GetCustomTags() []*v22.CustomTag { if x != nil { return x.CustomTags } return nil } func (x *HttpConnectionManager_Tracing) GetProvider() *v23.Tracing_Http { if x != nil { return x.Provider } return nil } type HttpConnectionManager_InternalAddressConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether unix socket addresses should be considered internal. UnixSockets bool `protobuf:"varint,1,opt,name=unix_sockets,json=unixSockets,proto3" json:"unix_sockets,omitempty"` } func (x *HttpConnectionManager_InternalAddressConfig) Reset() { *x = HttpConnectionManager_InternalAddressConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_InternalAddressConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage() {} func (x *HttpConnectionManager_InternalAddressConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_InternalAddressConfig.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_InternalAddressConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} } func (x *HttpConnectionManager_InternalAddressConfig) GetUnixSockets() bool { if x != nil { return x.UnixSockets } return false } // [#next-free-field: 7] type HttpConnectionManager_SetCurrentClientCertDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to forward the subject of the client cert. Defaults to false. Subject *wrappers.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` // Whether to forward the entire client cert in URL encoded PEM format. This will appear in the // XFCC header comma separated from other values with the value Cert="PEM". // Defaults to false. Cert bool `protobuf:"varint,3,opt,name=cert,proto3" json:"cert,omitempty"` // Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM // format. This will appear in the XFCC header comma separated from other values with the value // Chain="PEM". // Defaults to false. Chain bool `protobuf:"varint,6,opt,name=chain,proto3" json:"chain,omitempty"` // Whether to forward the DNS type Subject Alternative Names of the client cert. // Defaults to false. Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"` // Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to // false. Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"` } func (x *HttpConnectionManager_SetCurrentClientCertDetails) Reset() { *x = HttpConnectionManager_SetCurrentClientCertDetails{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_SetCurrentClientCertDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage() {} func (x *HttpConnectionManager_SetCurrentClientCertDetails) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_SetCurrentClientCertDetails.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_SetCurrentClientCertDetails) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetSubject() *wrappers.BoolValue { if x != nil { return x.Subject } return nil } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetCert() bool { if x != nil { return x.Cert } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetChain() bool { if x != nil { return x.Chain } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetDns() bool { if x != nil { return x.Dns } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetUri() bool { if x != nil { return x.Uri } return false } // The configuration for HTTP upgrades. // For each upgrade type desired, an UpgradeConfig must be added. // // .. warning:: // // The current implementation of upgrade headers does not handle // multi-valued upgrade headers. Support for multi-valued headers may be // added in the future if needed. // // .. warning:: // // The current implementation of upgrade headers does not work with HTTP/2 // upstreams. type HttpConnectionManager_UpgradeConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The case-insensitive name of this upgrade, e.g. "websocket". // For each upgrade type present in upgrade_configs, requests with // Upgrade: [upgrade_type] // will be proxied upstream. UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"` // If present, this represents the filter chain which will be created for // this type of upgrade. If no filters are present, the filter chain for // HTTP connections will be used for this upgrade type. Filters []*HttpFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` // Determines if upgrades are enabled or disabled by default. Defaults to true. // This can be overridden on a per-route basis with :ref:`cluster // ` as documented in the // :ref:`upgrade documentation `. Enabled *wrappers.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *HttpConnectionManager_UpgradeConfig) Reset() { *x = HttpConnectionManager_UpgradeConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_UpgradeConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_UpgradeConfig) ProtoMessage() {} func (x *HttpConnectionManager_UpgradeConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_UpgradeConfig.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_UpgradeConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} } func (x *HttpConnectionManager_UpgradeConfig) GetUpgradeType() string { if x != nil { return x.UpgradeType } return "" } func (x *HttpConnectionManager_UpgradeConfig) GetFilters() []*HttpFilter { if x != nil { return x.Filters } return nil } func (x *HttpConnectionManager_UpgradeConfig) GetEnabled() *wrappers.BoolValue { if x != nil { return x.Enabled } return nil } // Specifies the mechanism for constructing "scope keys" based on HTTP request attributes. These // keys are matched against a set of :ref:`Key` // objects assembled from :ref:`ScopedRouteConfiguration` // messages distributed via SRDS (the Scoped Route Discovery Service) or assigned statically via // :ref:`scoped_route_configurations_list`. // // Upon receiving a request's headers, the Router will build a key using the algorithm specified // by this message. This key will be used to look up the routing table (i.e., the // :ref:`RouteConfiguration`) to use for the request. type ScopedRoutes_ScopeKeyBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The final(built) scope key consists of the ordered union of these fragments, which are compared in order with the // fragments of a :ref:`ScopedRouteConfiguration`. // A missing fragment during comparison will make the key invalid, i.e., the computed key doesn't match any key. Fragments []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"` } func (x *ScopedRoutes_ScopeKeyBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{3, 0} } func (x *ScopedRoutes_ScopeKeyBuilder) GetFragments() []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder { if x != nil { return x.Fragments } return nil } // Specifies the mechanism for constructing key fragments which are composed into scope keys. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Type: // // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ Type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type `protobuf_oneof:"type"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{3, 0, 0} } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type { if m != nil { return m.Type } return nil } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetHeaderValueExtractor() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor { if x, ok := x.GetType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_); ok { return x.HeaderValueExtractor } return nil } type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type interface { isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ struct { // Specifies how a header field's value should be extracted. HeaderValueExtractor *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor `protobuf:"bytes,1,opt,name=header_value_extractor,json=headerValueExtractor,proto3,oneof"` } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() { } // Specifies how the value of a header should be extracted. // The following example maps the structure of a header to the fields in this message. // // .. code:: // // <0> <1> <-- index // X-Header: a=b;c=d // | || | // | || \----> // | || // | |\----> // | | // | \----> // | // \----> // // Each 'a=b' key-value pair constitutes an 'element' of the header field. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the header field to extract the value from. // // .. note:: // // If the header appears multiple times only the first value is used. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The element separator (e.g., ';' separates 'a;b;c;d'). // Default: empty string. This causes the entirety of the header field to be extracted. // If this field is set to an empty string and 'index' is used in the oneof below, 'index' // must be set to 0. ElementSeparator string `protobuf:"bytes,2,opt,name=element_separator,json=elementSeparator,proto3" json:"element_separator,omitempty"` // Types that are assignable to ExtractType: // // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element ExtractType isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType `protobuf_oneof:"extract_type"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{3, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElementSeparator() string { if x != nil { return x.ElementSeparator } return "" } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType { if m != nil { return m.ExtractType } return nil } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetIndex() uint32 { if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index); ok { return x.Index } return 0 } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElement() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement { if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element); ok { return x.Element } return nil } type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType interface { isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index struct { // Specifies the zero based index of the element to extract. // Note Envoy concatenates multiple values of the same header key into a comma separated // string, the splitting always happens after the concatenation. Index uint32 `protobuf:"varint,3,opt,name=index,proto3,oneof"` } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element struct { // Specifies the key value pair to extract the value from. Element *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement `protobuf:"bytes,4,opt,name=element,proto3,oneof"` } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { } // Specifies a header field's key value pair to match on. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The separator between key and value (e.g., '=' separates 'k=v;...'). // If an element is an empty string, the element is ignored. // If an element contains no separator, the whole element is parsed as key and the // fragment value is an empty string. // If there are multiple values for a matched key, the first value is returned. Separator string `protobuf:"bytes,1,opt,name=separator,proto3" json:"separator,omitempty"` // The key to match on. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP(), []int{3, 0, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator() string { if x != nil { return x.Separator } return "" } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDesc = []byte{ 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x23, 0x0a, 0x15, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x4f, 0x0a, 0x03, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x03, 0x72, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x1c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x68, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x62, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0x80, 0x40, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4b, 0x62, 0x12, 0x46, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x48, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x75, 0x73, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x78, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x63, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x58, 0x66, 0x66, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x69, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x69, 0x61, 0x12, 0x4a, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0xaf, 0x01, 0x0a, 0x1b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x66, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0xaf, 0x01, 0x0a, 0x1f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x69, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x73, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x31, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2a, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x76, 0x34, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x73, 0x49, 0x70, 0x76, 0x34, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xb6, 0x05, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x9c, 0x01, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x63, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x54, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x1a, 0x3a, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x78, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x75, 0x72, 0x69, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0xc6, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x36, 0x0a, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x31, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x03, 0x22, 0x53, 0x0a, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x02, 0x22, 0x79, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x42, 0x16, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x22, 0x8a, 0x01, 0x0a, 0x03, 0x52, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x1d, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x1b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x19, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa4, 0x0a, 0x0a, 0x0c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x11, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x11, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x1a, 0xf2, 0x05, 0x0a, 0x0f, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xcf, 0x04, 0x0a, 0x0f, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0xb1, 0x01, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xfa, 0x02, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0xa0, 0x01, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x83, 0x01, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0x0a, 0x09, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x17, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x6f, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x15, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x4d, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa8, 0x02, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x3d, 0x12, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x1a, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x77, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescOnce sync.Once file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescData = file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDesc ) func file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescData) }) return file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDescData } var file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_goTypes = []interface{}{ (HttpConnectionManager_CodecType)(0), // 0: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.CodecType (HttpConnectionManager_ServerHeaderTransformation)(0), // 1: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ServerHeaderTransformation (HttpConnectionManager_ForwardClientCertDetails)(0), // 2: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ForwardClientCertDetails (HttpConnectionManager_Tracing_OperationName)(0), // 3: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.OperationName (*HttpConnectionManager)(nil), // 4: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager (*Rds)(nil), // 5: envoy.config.filter.network.http_connection_manager.v2.Rds (*ScopedRouteConfigurationsList)(nil), // 6: envoy.config.filter.network.http_connection_manager.v2.ScopedRouteConfigurationsList (*ScopedRoutes)(nil), // 7: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes (*ScopedRds)(nil), // 8: envoy.config.filter.network.http_connection_manager.v2.ScopedRds (*HttpFilter)(nil), // 9: envoy.config.filter.network.http_connection_manager.v2.HttpFilter (*RequestIDExtension)(nil), // 10: envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension (*HttpConnectionManager_Tracing)(nil), // 11: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing (*HttpConnectionManager_InternalAddressConfig)(nil), // 12: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig (*HttpConnectionManager_SetCurrentClientCertDetails)(nil), // 13: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails (*HttpConnectionManager_UpgradeConfig)(nil), // 14: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig (*ScopedRoutes_ScopeKeyBuilder)(nil), // 15: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder)(nil), // 16: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor)(nil), // 17: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement)(nil), // 18: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement (*v21.RouteConfiguration)(nil), // 19: envoy.api.v2.RouteConfiguration (*wrappers.BoolValue)(nil), // 20: google.protobuf.BoolValue (*core.HttpProtocolOptions)(nil), // 21: envoy.api.v2.core.HttpProtocolOptions (*core.Http1ProtocolOptions)(nil), // 22: envoy.api.v2.core.Http1ProtocolOptions (*core.Http2ProtocolOptions)(nil), // 23: envoy.api.v2.core.Http2ProtocolOptions (*wrappers.UInt32Value)(nil), // 24: google.protobuf.UInt32Value (*duration.Duration)(nil), // 25: google.protobuf.Duration (*v2.AccessLog)(nil), // 26: envoy.config.filter.accesslog.v2.AccessLog (*core.ConfigSource)(nil), // 27: envoy.api.v2.core.ConfigSource (*v21.ScopedRouteConfiguration)(nil), // 28: envoy.api.v2.ScopedRouteConfiguration (*_struct.Struct)(nil), // 29: google.protobuf.Struct (*any1.Any)(nil), // 30: google.protobuf.Any (*_type.Percent)(nil), // 31: envoy.type.Percent (*v22.CustomTag)(nil), // 32: envoy.type.tracing.v2.CustomTag (*v23.Tracing_Http)(nil), // 33: envoy.config.trace.v2.Tracing.Http } var file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.CodecType 5, // 1: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds:type_name -> envoy.config.filter.network.http_connection_manager.v2.Rds 19, // 2: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config:type_name -> envoy.api.v2.RouteConfiguration 7, // 3: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.scoped_routes:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes 9, // 4: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.http_filters:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpFilter 20, // 5: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent:type_name -> google.protobuf.BoolValue 11, // 6: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.tracing:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing 21, // 7: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.common_http_protocol_options:type_name -> envoy.api.v2.core.HttpProtocolOptions 22, // 8: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.http_protocol_options:type_name -> envoy.api.v2.core.Http1ProtocolOptions 23, // 9: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.http2_protocol_options:type_name -> envoy.api.v2.core.Http2ProtocolOptions 1, // 10: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.server_header_transformation:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ServerHeaderTransformation 24, // 11: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.max_request_headers_kb:type_name -> google.protobuf.UInt32Value 25, // 12: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.idle_timeout:type_name -> google.protobuf.Duration 25, // 13: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.stream_idle_timeout:type_name -> google.protobuf.Duration 25, // 14: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.request_timeout:type_name -> google.protobuf.Duration 25, // 15: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout:type_name -> google.protobuf.Duration 25, // 16: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.delayed_close_timeout:type_name -> google.protobuf.Duration 26, // 17: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.access_log:type_name -> envoy.config.filter.accesslog.v2.AccessLog 20, // 18: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.use_remote_address:type_name -> google.protobuf.BoolValue 12, // 19: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.internal_address_config:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig 20, // 20: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.generate_request_id:type_name -> google.protobuf.BoolValue 2, // 21: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.forward_client_cert_details:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.ForwardClientCertDetails 13, // 22: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.set_current_client_cert_details:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails 14, // 23: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.upgrade_configs:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig 20, // 24: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.normalize_path:type_name -> google.protobuf.BoolValue 10, // 25: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.request_id_extension:type_name -> envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension 27, // 26: envoy.config.filter.network.http_connection_manager.v2.Rds.config_source:type_name -> envoy.api.v2.core.ConfigSource 28, // 27: envoy.config.filter.network.http_connection_manager.v2.ScopedRouteConfigurationsList.scoped_route_configurations:type_name -> envoy.api.v2.ScopedRouteConfiguration 15, // 28: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.scope_key_builder:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder 27, // 29: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.rds_config_source:type_name -> envoy.api.v2.core.ConfigSource 6, // 30: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.scoped_route_configurations_list:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRouteConfigurationsList 8, // 31: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.scoped_rds:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRds 27, // 32: envoy.config.filter.network.http_connection_manager.v2.ScopedRds.scoped_rds_config_source:type_name -> envoy.api.v2.core.ConfigSource 29, // 33: envoy.config.filter.network.http_connection_manager.v2.HttpFilter.config:type_name -> google.protobuf.Struct 30, // 34: envoy.config.filter.network.http_connection_manager.v2.HttpFilter.typed_config:type_name -> google.protobuf.Any 30, // 35: envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension.typed_config:type_name -> google.protobuf.Any 3, // 36: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.operation_name:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.OperationName 31, // 37: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.client_sampling:type_name -> envoy.type.Percent 31, // 38: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.random_sampling:type_name -> envoy.type.Percent 31, // 39: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.overall_sampling:type_name -> envoy.type.Percent 24, // 40: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.max_path_tag_length:type_name -> google.protobuf.UInt32Value 32, // 41: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.custom_tags:type_name -> envoy.type.tracing.v2.CustomTag 33, // 42: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.provider:type_name -> envoy.config.trace.v2.Tracing.Http 20, // 43: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue 9, // 44: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig.filters:type_name -> envoy.config.filter.network.http_connection_manager.v2.HttpFilter 20, // 45: envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue 16, // 46: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.fragments:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder 17, // 47: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.header_value_extractor:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor 18, // 48: envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.element:type_name -> envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement 49, // [49:49] is the sub-list for method output_type 49, // [49:49] is the sub-list for method input_type 49, // [49:49] is the sub-list for extension type_name 49, // [49:49] is the sub-list for extension extendee 0, // [0:49] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_init() } func file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_init() { if File_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfigurationsList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestIDExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_InternalAddressConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_SetCurrentClientCertDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_UpgradeConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HttpConnectionManager_Rds)(nil), (*HttpConnectionManager_RouteConfig)(nil), (*HttpConnectionManager_ScopedRoutes)(nil), } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[3].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopedRouteConfigurationsList)(nil), (*ScopedRoutes_ScopedRds)(nil), } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[5].OneofWrappers = []interface{}{ (*HttpFilter_Config)(nil), (*HttpFilter_TypedConfig)(nil), } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[12].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_)(nil), } file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes[13].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index)(nil), (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDesc, NumEnums: 4, NumMessages: 15, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_depIdxs, EnumInfos: file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_enumTypes, MessageInfos: file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_msgTypes, }.Build() File_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto = out.File file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_rawDesc = nil file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_goTypes = nil file_envoy_config_filter_network_http_connection_manager_v2_http_connection_manager_proto_depIdxs = nil } http_connection_manager.pb.validate.go000077500000000000000000002770001454502223200371140ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/http_connection_manager/v2// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto package http_connection_managerv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpConnectionManager with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpConnectionManagerMultiError, or nil if none found. func (m *HttpConnectionManager) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HttpConnectionManager_CodecType_name[int32(m.GetCodecType())]; !ok { err := HttpConnectionManagerValidationError{ field: "CodecType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(m.GetStatPrefix()) < 1 { err := HttpConnectionManagerValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHttpFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetAddUserAgent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddUserAgent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ServerName if _, ok := HttpConnectionManager_ServerHeaderTransformation_name[int32(m.GetServerHeaderTransformation())]; !ok { err := HttpConnectionManagerValidationError{ field: "ServerHeaderTransformation", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaxRequestHeadersKb(); wrapper != nil { if val := wrapper.GetValue(); val <= 0 || val > 8192 { err := HttpConnectionManagerValidationError{ field: "MaxRequestHeadersKb", reason: "value must be inside range (0, 8192]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDrainTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDelayedCloseTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelayedCloseTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, } } } // no validation rules for XffNumTrustedHops if all { switch v := interface{}(m.GetInternalAddressConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInternalAddressConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SkipXffAppend // no validation rules for Via if all { switch v := interface{}(m.GetGenerateRequestId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenerateRequestId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, } } } // no validation rules for PreserveExternalRequestId if _, ok := HttpConnectionManager_ForwardClientCertDetails_name[int32(m.GetForwardClientCertDetails())]; !ok { err := HttpConnectionManagerValidationError{ field: "ForwardClientCertDetails", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSetCurrentClientCertDetails()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSetCurrentClientCertDetails()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Proxy_100Continue // no validation rules for RepresentIpv4RemoteAddressAsIpv4MappedIpv6 for idx, item := range m.GetUpgradeConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetNormalizePath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNormalizePath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MergeSlashes if all { switch v := interface{}(m.GetRequestIdExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestIdExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, } } } oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *HttpConnectionManager_Rds: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetRds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, } } } case *HttpConnectionManager_RouteConfig: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } case *HttpConnectionManager_ScopedRoutes: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRouteSpecifierPresent { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpConnectionManagerMultiError(errors) } return nil } // HttpConnectionManagerMultiError is an error wrapping multiple validation // errors returned by HttpConnectionManager.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManagerMultiError) AllErrors() []error { return m } // HttpConnectionManagerValidationError is the validation error returned by // HttpConnectionManager.Validate if the designated constraints aren't met. type HttpConnectionManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManagerValidationError) ErrorName() string { return "HttpConnectionManagerValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManagerValidationError{} // Validate checks the field values on Rds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Rds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Rds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RdsMultiError, or nil if none found. func (m *Rds) ValidateAll() error { return m.validate(true) } func (m *Rds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := RdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRouteConfigName()) < 1 { err := RdsValidationError{ field: "RouteConfigName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RdsMultiError(errors) } return nil } // RdsMultiError is an error wrapping multiple validation errors returned by // Rds.ValidateAll() if the designated constraints aren't met. type RdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RdsMultiError) AllErrors() []error { return m } // RdsValidationError is the validation error returned by Rds.Validate if the // designated constraints aren't met. type RdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RdsValidationError) ErrorName() string { return "RdsValidationError" } // Error satisfies the builtin error interface func (e RdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RdsValidationError{} // Validate checks the field values on ScopedRouteConfigurationsList with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfigurationsList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfigurationsList with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ScopedRouteConfigurationsListMultiError, or nil if none found. func (m *ScopedRouteConfigurationsList) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfigurationsList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetScopedRouteConfigurations()) < 1 { err := ScopedRouteConfigurationsListValidationError{ field: "ScopedRouteConfigurations", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetScopedRouteConfigurations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRouteConfigurationsListMultiError(errors) } return nil } // ScopedRouteConfigurationsListMultiError is an error wrapping multiple // validation errors returned by ScopedRouteConfigurationsList.ValidateAll() // if the designated constraints aren't met. type ScopedRouteConfigurationsListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfigurationsListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfigurationsListMultiError) AllErrors() []error { return m } // ScopedRouteConfigurationsListValidationError is the validation error // returned by ScopedRouteConfigurationsList.Validate if the designated // constraints aren't met. type ScopedRouteConfigurationsListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfigurationsListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfigurationsListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfigurationsListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfigurationsListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfigurationsListValidationError) ErrorName() string { return "ScopedRouteConfigurationsListValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfigurationsListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfigurationsList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfigurationsListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfigurationsListValidationError{} // Validate checks the field values on ScopedRoutes with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutes with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ScopedRoutesMultiError, or // nil if none found. func (m *ScopedRoutes) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ScopedRoutesValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetScopeKeyBuilder() == nil { err := ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopeKeyBuilder()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopeKeyBuilder()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, } } } if m.GetRdsConfigSource() == nil { err := ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRdsConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRdsConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, } } } oneofConfigSpecifierPresent := false switch v := m.ConfigSpecifier.(type) { case *ScopedRoutes_ScopedRouteConfigurationsList: if v == nil { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRouteConfigurationsList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRouteConfigurationsList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, } } } case *ScopedRoutes_ScopedRds: if v == nil { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSpecifierPresent { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutesMultiError(errors) } return nil } // ScopedRoutesMultiError is an error wrapping multiple validation errors // returned by ScopedRoutes.ValidateAll() if the designated constraints aren't met. type ScopedRoutesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesMultiError) AllErrors() []error { return m } // ScopedRoutesValidationError is the validation error returned by // ScopedRoutes.Validate if the designated constraints aren't met. type ScopedRoutesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesValidationError) ErrorName() string { return "ScopedRoutesValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesValidationError{} // Validate checks the field values on ScopedRds with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRds with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ScopedRdsMultiError, or nil // if none found. func (m *ScopedRds) ValidateAll() error { return m.validate(true) } func (m *ScopedRds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetScopedRdsConfigSource() == nil { err := ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopedRdsConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRdsConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRdsMultiError(errors) } return nil } // ScopedRdsMultiError is an error wrapping multiple validation errors returned // by ScopedRds.ValidateAll() if the designated constraints aren't met. type ScopedRdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRdsMultiError) AllErrors() []error { return m } // ScopedRdsValidationError is the validation error returned by // ScopedRds.Validate if the designated constraints aren't met. type ScopedRdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRdsValidationError) ErrorName() string { return "ScopedRdsValidationError" } // Error satisfies the builtin error interface func (e ScopedRdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRdsValidationError{} // Validate checks the field values on HttpFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpFilterMultiError, or // nil if none found. func (m *HttpFilter) ValidateAll() error { return m.validate(true) } func (m *HttpFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := HttpFilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *HttpFilter_Config: if v == nil { err := HttpFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *HttpFilter_TypedConfig: if v == nil { err := HttpFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HttpFilterMultiError(errors) } return nil } // HttpFilterMultiError is an error wrapping multiple validation errors // returned by HttpFilter.ValidateAll() if the designated constraints aren't met. type HttpFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpFilterMultiError) AllErrors() []error { return m } // HttpFilterValidationError is the validation error returned by // HttpFilter.Validate if the designated constraints aren't met. type HttpFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpFilterValidationError) ErrorName() string { return "HttpFilterValidationError" } // Error satisfies the builtin error interface func (e HttpFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpFilterValidationError{} // Validate checks the field values on RequestIDExtension with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RequestIDExtension) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequestIDExtension with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequestIDExtensionMultiError, or nil if none found. func (m *RequestIDExtension) ValidateAll() error { return m.validate(true) } func (m *RequestIDExtension) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RequestIDExtensionMultiError(errors) } return nil } // RequestIDExtensionMultiError is an error wrapping multiple validation errors // returned by RequestIDExtension.ValidateAll() if the designated constraints // aren't met. type RequestIDExtensionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequestIDExtensionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequestIDExtensionMultiError) AllErrors() []error { return m } // RequestIDExtensionValidationError is the validation error returned by // RequestIDExtension.Validate if the designated constraints aren't met. type RequestIDExtensionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequestIDExtensionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequestIDExtensionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequestIDExtensionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequestIDExtensionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequestIDExtensionValidationError) ErrorName() string { return "RequestIDExtensionValidationError" } // Error satisfies the builtin error interface func (e RequestIDExtensionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequestIDExtension.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequestIDExtensionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequestIDExtensionValidationError{} // Validate checks the field values on HttpConnectionManager_Tracing with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager_Tracing with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HttpConnectionManager_TracingMultiError, or nil if none found. func (m *HttpConnectionManager_Tracing) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HttpConnectionManager_Tracing_OperationName_name[int32(m.GetOperationName())]; !ok { err := HttpConnectionManager_TracingValidationError{ field: "OperationName", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClientSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRandomSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRandomSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverallSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverallSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Verbose if all { switch v := interface{}(m.GetMaxPathTagLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPathTagLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpConnectionManager_TracingMultiError(errors) } return nil } // HttpConnectionManager_TracingMultiError is an error wrapping multiple // validation errors returned by HttpConnectionManager_Tracing.ValidateAll() // if the designated constraints aren't met. type HttpConnectionManager_TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_TracingMultiError) AllErrors() []error { return m } // HttpConnectionManager_TracingValidationError is the validation error // returned by HttpConnectionManager_Tracing.Validate if the designated // constraints aren't met. type HttpConnectionManager_TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_TracingValidationError) ErrorName() string { return "HttpConnectionManager_TracingValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_Tracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_TracingValidationError{} // Validate checks the field values on // HttpConnectionManager_InternalAddressConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_InternalAddressConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_InternalAddressConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HttpConnectionManager_InternalAddressConfigMultiError, or nil if none found. func (m *HttpConnectionManager_InternalAddressConfig) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_InternalAddressConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UnixSockets if len(errors) > 0 { return HttpConnectionManager_InternalAddressConfigMultiError(errors) } return nil } // HttpConnectionManager_InternalAddressConfigMultiError is an error wrapping // multiple validation errors returned by // HttpConnectionManager_InternalAddressConfig.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_InternalAddressConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_InternalAddressConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_InternalAddressConfigMultiError) AllErrors() []error { return m } // HttpConnectionManager_InternalAddressConfigValidationError is the validation // error returned by HttpConnectionManager_InternalAddressConfig.Validate if // the designated constraints aren't met. type HttpConnectionManager_InternalAddressConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_InternalAddressConfigValidationError) ErrorName() string { return "HttpConnectionManager_InternalAddressConfigValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_InternalAddressConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_InternalAddressConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_InternalAddressConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_InternalAddressConfigValidationError{} // Validate checks the field values on // HttpConnectionManager_SetCurrentClientCertDetails with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_SetCurrentClientCertDetails) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_SetCurrentClientCertDetails with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // HttpConnectionManager_SetCurrentClientCertDetailsMultiError, or nil if none found. func (m *HttpConnectionManager_SetCurrentClientCertDetails) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_SetCurrentClientCertDetails) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSubject()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubject()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Cert // no validation rules for Chain // no validation rules for Dns // no validation rules for Uri if len(errors) > 0 { return HttpConnectionManager_SetCurrentClientCertDetailsMultiError(errors) } return nil } // HttpConnectionManager_SetCurrentClientCertDetailsMultiError is an error // wrapping multiple validation errors returned by // HttpConnectionManager_SetCurrentClientCertDetails.ValidateAll() if the // designated constraints aren't met. type HttpConnectionManager_SetCurrentClientCertDetailsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_SetCurrentClientCertDetailsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_SetCurrentClientCertDetailsMultiError) AllErrors() []error { return m } // HttpConnectionManager_SetCurrentClientCertDetailsValidationError is the // validation error returned by // HttpConnectionManager_SetCurrentClientCertDetails.Validate if the // designated constraints aren't met. type HttpConnectionManager_SetCurrentClientCertDetailsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) ErrorName() string { return "HttpConnectionManager_SetCurrentClientCertDetailsValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_SetCurrentClientCertDetails.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_SetCurrentClientCertDetailsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_SetCurrentClientCertDetailsValidationError{} // Validate checks the field values on HttpConnectionManager_UpgradeConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *HttpConnectionManager_UpgradeConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager_UpgradeConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpConnectionManager_UpgradeConfigMultiError, or nil if none found. func (m *HttpConnectionManager_UpgradeConfig) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_UpgradeConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UpgradeType for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpConnectionManager_UpgradeConfigMultiError(errors) } return nil } // HttpConnectionManager_UpgradeConfigMultiError is an error wrapping multiple // validation errors returned by // HttpConnectionManager_UpgradeConfig.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_UpgradeConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_UpgradeConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_UpgradeConfigMultiError) AllErrors() []error { return m } // HttpConnectionManager_UpgradeConfigValidationError is the validation error // returned by HttpConnectionManager_UpgradeConfig.Validate if the designated // constraints aren't met. type HttpConnectionManager_UpgradeConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_UpgradeConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_UpgradeConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_UpgradeConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_UpgradeConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_UpgradeConfigValidationError) ErrorName() string { return "HttpConnectionManager_UpgradeConfigValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_UpgradeConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_UpgradeConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_UpgradeConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_UpgradeConfigValidationError{} // Validate checks the field values on ScopedRoutes_ScopeKeyBuilder with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutes_ScopeKeyBuilder with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilderMultiError, or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFragments()) < 1 { err := ScopedRoutes_ScopeKeyBuilderValidationError{ field: "Fragments", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFragments() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilderMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilderMultiError is an error wrapping multiple // validation errors returned by ScopedRoutes_ScopeKeyBuilder.ValidateAll() if // the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilderMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilderValidationError is the validation error returned // by ScopedRoutes_ScopeKeyBuilder.Validate if the designated constraints // aren't met. type ScopedRoutes_ScopeKeyBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilderValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilderValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilderValidationError{} // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError, or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) validate(all bool) error { if m == nil { return nil } var errors []error oneofTypePresent := false switch v := m.Type.(type) { case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetHeaderValueExtractor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValueExtractor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTypePresent { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError is an error wrapping // multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ValidateAll() if the // designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError is the // validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.Validate if the designated // constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{} // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError, // or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ElementSeparator switch v := m.ExtractType.(type) { case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "ExtractType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Index case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "ExtractType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetElement()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetElement()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError // is an error wrapping multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ValidateAll() // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError // is the validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.Validate // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{} // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError, // or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetSeparator()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{ field: "Separator", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetKey()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError // is an error wrapping multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ValidateAll() // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError // is the validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.Validate // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/kafka_broker/000077500000000000000000000000001454502223200247555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/kafka_broker/v2alpha1/000077500000000000000000000000001454502223200263735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/kafka_broker/v2alpha1/kafka_broker.pb.go000077500000000000000000000445211454502223200317540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/kafka_broker/v2alpha1/kafka_broker.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type KafkaBroker struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Set to true if broker filter should attempt to serialize the received responses from the // upstream broker instead of passing received bytes as is. // Disabled by default. ForceResponseRewrite bool `protobuf:"varint,2,opt,name=force_response_rewrite,json=forceResponseRewrite,proto3" json:"force_response_rewrite,omitempty"` // Optional broker address rewrite specification. // Allows the broker filter to rewrite Kafka responses so that all connections established by // the Kafka clients point to Envoy. // This allows Kafka cluster not to configure its 'advertised.listeners' property // (as the necessary re-pointing will be done by this filter). // This collection of rules should cover all brokers in the cluster that is being proxied, // otherwise some nodes' addresses might leak to the downstream clients. // // Types that are assignable to BrokerAddressRewriteSpec: // // *KafkaBroker_IdBasedBrokerAddressRewriteSpec BrokerAddressRewriteSpec isKafkaBroker_BrokerAddressRewriteSpec `protobuf_oneof:"broker_address_rewrite_spec"` } func (x *KafkaBroker) Reset() { *x = KafkaBroker{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KafkaBroker) String() string { return protoimpl.X.MessageStringOf(x) } func (*KafkaBroker) ProtoMessage() {} func (x *KafkaBroker) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KafkaBroker.ProtoReflect.Descriptor instead. func (*KafkaBroker) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescGZIP(), []int{0} } func (x *KafkaBroker) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *KafkaBroker) GetForceResponseRewrite() bool { if x != nil { return x.ForceResponseRewrite } return false } func (m *KafkaBroker) GetBrokerAddressRewriteSpec() isKafkaBroker_BrokerAddressRewriteSpec { if m != nil { return m.BrokerAddressRewriteSpec } return nil } func (x *KafkaBroker) GetIdBasedBrokerAddressRewriteSpec() *IdBasedBrokerRewriteSpec { if x, ok := x.GetBrokerAddressRewriteSpec().(*KafkaBroker_IdBasedBrokerAddressRewriteSpec); ok { return x.IdBasedBrokerAddressRewriteSpec } return nil } type isKafkaBroker_BrokerAddressRewriteSpec interface { isKafkaBroker_BrokerAddressRewriteSpec() } type KafkaBroker_IdBasedBrokerAddressRewriteSpec struct { // Broker address rewrite rules that match by broker ID. IdBasedBrokerAddressRewriteSpec *IdBasedBrokerRewriteSpec `protobuf:"bytes,3,opt,name=id_based_broker_address_rewrite_spec,json=idBasedBrokerAddressRewriteSpec,proto3,oneof"` } func (*KafkaBroker_IdBasedBrokerAddressRewriteSpec) isKafkaBroker_BrokerAddressRewriteSpec() {} // Collection of rules matching by broker ID. type IdBasedBrokerRewriteSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rules []*IdBasedBrokerRewriteRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *IdBasedBrokerRewriteSpec) Reset() { *x = IdBasedBrokerRewriteSpec{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IdBasedBrokerRewriteSpec) String() string { return protoimpl.X.MessageStringOf(x) } func (*IdBasedBrokerRewriteSpec) ProtoMessage() {} func (x *IdBasedBrokerRewriteSpec) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IdBasedBrokerRewriteSpec.ProtoReflect.Descriptor instead. func (*IdBasedBrokerRewriteSpec) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescGZIP(), []int{1} } func (x *IdBasedBrokerRewriteSpec) GetRules() []*IdBasedBrokerRewriteRule { if x != nil { return x.Rules } return nil } // Defines a rule to rewrite broker address data. type IdBasedBrokerRewriteRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Broker ID to match. Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The host value to use (resembling the host part of Kafka's advertised.listeners). // The value should point to the Envoy (not Kafka) listener, so that all client traffic goes // through Envoy. Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` // The port value to use (resembling the port part of Kafka's advertised.listeners). // The value should point to the Envoy (not Kafka) listener, so that all client traffic goes // through Envoy. Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` } func (x *IdBasedBrokerRewriteRule) Reset() { *x = IdBasedBrokerRewriteRule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IdBasedBrokerRewriteRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*IdBasedBrokerRewriteRule) ProtoMessage() {} func (x *IdBasedBrokerRewriteRule) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IdBasedBrokerRewriteRule.ProtoReflect.Descriptor instead. func (*IdBasedBrokerRewriteRule) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescGZIP(), []int{2} } func (x *IdBasedBrokerRewriteRule) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *IdBasedBrokerRewriteRule) GetHost() string { if x != nil { return x.Host } return "" } func (x *IdBasedBrokerRewriteRule) GetPort() uint32 { if x != nil { return x.Port } return 0 } var File_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x02, 0x0a, 0x0b, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x24, 0x69, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x1f, 0x69, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x1d, 0x0a, 0x1b, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x7d, 0x0a, 0x18, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x18, 0x49, 0x64, 0x42, 0x61, 0x73, 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0xef, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescOnce sync.Once file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescData = file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDesc ) func file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescData) }) return file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDescData } var file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_goTypes = []interface{}{ (*KafkaBroker)(nil), // 0: envoy.config.filter.network.kafka_broker.v2alpha1.KafkaBroker (*IdBasedBrokerRewriteSpec)(nil), // 1: envoy.config.filter.network.kafka_broker.v2alpha1.IdBasedBrokerRewriteSpec (*IdBasedBrokerRewriteRule)(nil), // 2: envoy.config.filter.network.kafka_broker.v2alpha1.IdBasedBrokerRewriteRule } var file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.kafka_broker.v2alpha1.KafkaBroker.id_based_broker_address_rewrite_spec:type_name -> envoy.config.filter.network.kafka_broker.v2alpha1.IdBasedBrokerRewriteSpec 2, // 1: envoy.config.filter.network.kafka_broker.v2alpha1.IdBasedBrokerRewriteSpec.rules:type_name -> envoy.config.filter.network.kafka_broker.v2alpha1.IdBasedBrokerRewriteRule 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_init() } func file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_init() { if File_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KafkaBroker); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdBasedBrokerRewriteSpec); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdBasedBrokerRewriteRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes[0].OneofWrappers = []interface{}{ (*KafkaBroker_IdBasedBrokerAddressRewriteSpec)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_msgTypes, }.Build() File_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto = out.File file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_rawDesc = nil file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_goTypes = nil file_envoy_config_filter_network_kafka_broker_v2alpha1_kafka_broker_proto_depIdxs = nil } kafka_broker.pb.validate.go000077500000000000000000000303021454502223200334550ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/kafka_broker/v2alpha1// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/kafka_broker/v2alpha1/kafka_broker.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KafkaBroker with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *KafkaBroker) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KafkaBroker with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in KafkaBrokerMultiError, or // nil if none found. func (m *KafkaBroker) ValidateAll() error { return m.validate(true) } func (m *KafkaBroker) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := KafkaBrokerValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for ForceResponseRewrite switch v := m.BrokerAddressRewriteSpec.(type) { case *KafkaBroker_IdBasedBrokerAddressRewriteSpec: if v == nil { err := KafkaBrokerValidationError{ field: "BrokerAddressRewriteSpec", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIdBasedBrokerAddressRewriteSpec()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdBasedBrokerAddressRewriteSpec()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KafkaBrokerValidationError{ field: "IdBasedBrokerAddressRewriteSpec", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return KafkaBrokerMultiError(errors) } return nil } // KafkaBrokerMultiError is an error wrapping multiple validation errors // returned by KafkaBroker.ValidateAll() if the designated constraints aren't met. type KafkaBrokerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KafkaBrokerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KafkaBrokerMultiError) AllErrors() []error { return m } // KafkaBrokerValidationError is the validation error returned by // KafkaBroker.Validate if the designated constraints aren't met. type KafkaBrokerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KafkaBrokerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KafkaBrokerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KafkaBrokerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KafkaBrokerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KafkaBrokerValidationError) ErrorName() string { return "KafkaBrokerValidationError" } // Error satisfies the builtin error interface func (e KafkaBrokerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKafkaBroker.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KafkaBrokerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KafkaBrokerValidationError{} // Validate checks the field values on IdBasedBrokerRewriteSpec with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *IdBasedBrokerRewriteSpec) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IdBasedBrokerRewriteSpec with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IdBasedBrokerRewriteSpecMultiError, or nil if none found. func (m *IdBasedBrokerRewriteSpec) ValidateAll() error { return m.validate(true) } func (m *IdBasedBrokerRewriteSpec) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IdBasedBrokerRewriteSpecValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IdBasedBrokerRewriteSpecMultiError(errors) } return nil } // IdBasedBrokerRewriteSpecMultiError is an error wrapping multiple validation // errors returned by IdBasedBrokerRewriteSpec.ValidateAll() if the designated // constraints aren't met. type IdBasedBrokerRewriteSpecMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IdBasedBrokerRewriteSpecMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IdBasedBrokerRewriteSpecMultiError) AllErrors() []error { return m } // IdBasedBrokerRewriteSpecValidationError is the validation error returned by // IdBasedBrokerRewriteSpec.Validate if the designated constraints aren't met. type IdBasedBrokerRewriteSpecValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IdBasedBrokerRewriteSpecValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IdBasedBrokerRewriteSpecValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IdBasedBrokerRewriteSpecValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IdBasedBrokerRewriteSpecValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IdBasedBrokerRewriteSpecValidationError) ErrorName() string { return "IdBasedBrokerRewriteSpecValidationError" } // Error satisfies the builtin error interface func (e IdBasedBrokerRewriteSpecValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIdBasedBrokerRewriteSpec.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IdBasedBrokerRewriteSpecValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IdBasedBrokerRewriteSpecValidationError{} // Validate checks the field values on IdBasedBrokerRewriteRule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *IdBasedBrokerRewriteRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IdBasedBrokerRewriteRule with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IdBasedBrokerRewriteRuleMultiError, or nil if none found. func (m *IdBasedBrokerRewriteRule) ValidateAll() error { return m.validate(true) } func (m *IdBasedBrokerRewriteRule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetId() < 0 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Id", reason: "value must be greater than or equal to 0", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetHost()) < 1 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Host", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetPort() > 65535 { err := IdBasedBrokerRewriteRuleValidationError{ field: "Port", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return IdBasedBrokerRewriteRuleMultiError(errors) } return nil } // IdBasedBrokerRewriteRuleMultiError is an error wrapping multiple validation // errors returned by IdBasedBrokerRewriteRule.ValidateAll() if the designated // constraints aren't met. type IdBasedBrokerRewriteRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IdBasedBrokerRewriteRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IdBasedBrokerRewriteRuleMultiError) AllErrors() []error { return m } // IdBasedBrokerRewriteRuleValidationError is the validation error returned by // IdBasedBrokerRewriteRule.Validate if the designated constraints aren't met. type IdBasedBrokerRewriteRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IdBasedBrokerRewriteRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IdBasedBrokerRewriteRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IdBasedBrokerRewriteRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IdBasedBrokerRewriteRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IdBasedBrokerRewriteRuleValidationError) ErrorName() string { return "IdBasedBrokerRewriteRuleValidationError" } // Error satisfies the builtin error interface func (e IdBasedBrokerRewriteRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIdBasedBrokerRewriteRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IdBasedBrokerRewriteRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IdBasedBrokerRewriteRuleValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/local_rate_limit/000077500000000000000000000000001454502223200256375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/local_rate_limit/v2alpha/000077500000000000000000000000001454502223200271745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/local_rate_limit/v2alpha/local_rate_limit.pb.go000077500000000000000000000275101454502223200334360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/local_rate_limit/v2alpha/local_rate_limit.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LocalRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The token bucket configuration to use for rate limiting connections that are processed by the // filter's filter chain. Each incoming connection processed by the filter consumes a single // token. If the token is available, the connection will be allowed. If no tokens are available, // the connection will be immediately closed. // // .. note:: // // In the current implementation each filter and filter chain has an independent rate limit. // // .. note:: // // In the current implementation the token bucket's :ref:`fill_interval // ` must be >= 50ms to avoid too aggressive // refills. TokenBucket *_type.TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If not specified, defaults // to enabled. RuntimeEnabled *core.RuntimeFeatureFlag `protobuf:"bytes,3,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` } func (x *LocalRateLimit) Reset() { *x = LocalRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalRateLimit) ProtoMessage() {} func (x *LocalRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalRateLimit.ProtoReflect.Descriptor instead. func (*LocalRateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *LocalRateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *LocalRateLimit) GetTokenBucket() *_type.TokenBucket { if x != nil { return x.TokenBucket } return nil } func (x *LocalRateLimit) GetRuntimeEnabled() *core.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } var File_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x44, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xfb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescOnce sync.Once file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescData = file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDesc ) func file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescData) }) return file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDescData } var file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_goTypes = []interface{}{ (*LocalRateLimit)(nil), // 0: envoy.config.filter.network.local_rate_limit.v2alpha.LocalRateLimit (*_type.TokenBucket)(nil), // 1: envoy.type.TokenBucket (*core.RuntimeFeatureFlag)(nil), // 2: envoy.api.v2.core.RuntimeFeatureFlag } var file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.local_rate_limit.v2alpha.LocalRateLimit.token_bucket:type_name -> envoy.type.TokenBucket 2, // 1: envoy.config.filter.network.local_rate_limit.v2alpha.LocalRateLimit.runtime_enabled:type_name -> envoy.api.v2.core.RuntimeFeatureFlag 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_init() } func file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_init() { if File_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_msgTypes, }.Build() File_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto = out.File file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_rawDesc = nil file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_goTypes = nil file_envoy_config_filter_network_local_rate_limit_v2alpha_local_rate_limit_proto_depIdxs = nil } local_rate_limit.pb.validate.go000077500000000000000000000125361454502223200351510ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/local_rate_limit/v2alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/local_rate_limit/v2alpha/local_rate_limit.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LocalRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalRateLimitMultiError, // or nil if none found. func (m *LocalRateLimit) ValidateAll() error { return m.validate(true) } func (m *LocalRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := LocalRateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetTokenBucket() == nil { err := LocalRateLimitValidationError{ field: "TokenBucket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LocalRateLimitMultiError(errors) } return nil } // LocalRateLimitMultiError is an error wrapping multiple validation errors // returned by LocalRateLimit.ValidateAll() if the designated constraints // aren't met. type LocalRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalRateLimitMultiError) AllErrors() []error { return m } // LocalRateLimitValidationError is the validation error returned by // LocalRateLimit.Validate if the designated constraints aren't met. type LocalRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalRateLimitValidationError) ErrorName() string { return "LocalRateLimitValidationError" } // Error satisfies the builtin error interface func (e LocalRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalRateLimitValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/mongo_proxy/000077500000000000000000000000001454502223200247145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/mongo_proxy/v2/000077500000000000000000000000001454502223200252435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.pb.go000077500000000000000000000253601454502223200305630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.proto package mongo_proxyv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/fault/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type MongoProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The optional path to use for writing Mongo access logs. If not access log // path is specified no access logs will be written. Note that access log is // also gated :ref:`runtime `. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Inject a fixed delay before proxying a Mongo operation. Delays are // applied to the following MongoDB operations: Query, Insert, GetMore, // and KillCursors. Once an active delay is in progress, all incoming // data up until the timer event fires will be a part of the delay. Delay *v2.FaultDelay `protobuf:"bytes,3,opt,name=delay,proto3" json:"delay,omitempty"` // Flag to specify whether :ref:`dynamic metadata // ` should be emitted. Defaults to false. EmitDynamicMetadata bool `protobuf:"varint,4,opt,name=emit_dynamic_metadata,json=emitDynamicMetadata,proto3" json:"emit_dynamic_metadata,omitempty"` } func (x *MongoProxy) Reset() { *x = MongoProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MongoProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*MongoProxy) ProtoMessage() {} func (x *MongoProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MongoProxy.ProtoReflect.Descriptor instead. func (*MongoProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescGZIP(), []int{0} } func (x *MongoProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *MongoProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } func (x *MongoProxy) GetDelay() *v2.FaultDelay { if x != nil { return x.Delay } return nil } func (x *MongoProxy) GetEmitDynamicMetadata() bool { if x != nil { return x.EmitDynamicMetadata } return false } var File_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6d, 0x69, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xed, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescData = file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDesc ) func file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDescData } var file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_goTypes = []interface{}{ (*MongoProxy)(nil), // 0: envoy.config.filter.network.mongo_proxy.v2.MongoProxy (*v2.FaultDelay)(nil), // 1: envoy.config.filter.fault.v2.FaultDelay } var file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.mongo_proxy.v2.MongoProxy.delay:type_name -> envoy.config.filter.fault.v2.FaultDelay 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_init() } func file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_init() { if File_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MongoProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto = out.File file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_rawDesc = nil file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_goTypes = nil file_envoy_config_filter_network_mongo_proxy_v2_mongo_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.pb.validate.go000077500000000000000000000103661454502223200323530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.proto package mongo_proxyv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MongoProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MongoProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MongoProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MongoProxyMultiError, or // nil if none found. func (m *MongoProxy) ValidateAll() error { return m.validate(true) } func (m *MongoProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := MongoProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EmitDynamicMetadata if len(errors) > 0 { return MongoProxyMultiError(errors) } return nil } // MongoProxyMultiError is an error wrapping multiple validation errors // returned by MongoProxy.ValidateAll() if the designated constraints aren't met. type MongoProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MongoProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MongoProxyMultiError) AllErrors() []error { return m } // MongoProxyValidationError is the validation error returned by // MongoProxy.Validate if the designated constraints aren't met. type MongoProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MongoProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MongoProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MongoProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MongoProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MongoProxyValidationError) ErrorName() string { return "MongoProxyValidationError" } // Error satisfies the builtin error interface func (e MongoProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMongoProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MongoProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MongoProxyValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/mysql_proxy/000077500000000000000000000000001454502223200247425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/mysql_proxy/v1alpha1/000077500000000000000000000000001454502223200263575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/mysql_proxy/v1alpha1/mysql_proxy.pb.go000077500000000000000000000215061454502223200317230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/mysql_proxy/v1alpha1/mysql_proxy.proto package v1alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type MySQLProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // [#not-implemented-hide:] The optional path to use for writing MySQL access logs. // If the access log field is empty, access logs will not be written. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` } func (x *MySQLProxy) Reset() { *x = MySQLProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MySQLProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*MySQLProxy) ProtoMessage() {} func (x *MySQLProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MySQLProxy.ProtoReflect.Descriptor instead. func (*MySQLProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescGZIP(), []int{0} } func (x *MySQLProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *MySQLProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } var File_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDesc = []byte{ 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x0a, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x42, 0xeb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0f, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescData = file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDesc ) func file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDescData } var file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_goTypes = []interface{}{ (*MySQLProxy)(nil), // 0: envoy.config.filter.network.mysql_proxy.v1alpha1.MySQLProxy } var file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_init() } func file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_init() { if File_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MySQLProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto = out.File file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_rawDesc = nil file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_goTypes = nil file_envoy_config_filter_network_mysql_proxy_v1alpha1_mysql_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/mysql_proxy/v1alpha1/mysql_proxy.pb.validate.go000077500000000000000000000066441454502223200335210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/mysql_proxy/v1alpha1/mysql_proxy.proto package v1alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MySQLProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MySQLProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MySQLProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MySQLProxyMultiError, or // nil if none found. func (m *MySQLProxy) ValidateAll() error { return m.validate(true) } func (m *MySQLProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := MySQLProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if len(errors) > 0 { return MySQLProxyMultiError(errors) } return nil } // MySQLProxyMultiError is an error wrapping multiple validation errors // returned by MySQLProxy.ValidateAll() if the designated constraints aren't met. type MySQLProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MySQLProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MySQLProxyMultiError) AllErrors() []error { return m } // MySQLProxyValidationError is the validation error returned by // MySQLProxy.Validate if the designated constraints aren't met. type MySQLProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MySQLProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MySQLProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MySQLProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MySQLProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MySQLProxyValidationError) ErrorName() string { return "MySQLProxyValidationError" } // Error satisfies the builtin error interface func (e MySQLProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMySQLProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MySQLProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MySQLProxyValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/rate_limit/000077500000000000000000000000001454502223200244655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/rate_limit/v2/000077500000000000000000000000001454502223200250145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/rate_limit/v2/rate_limit.pb.go000077500000000000000000000321711454502223200301030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/rate_limit/v2/rate_limit.proto package rate_limitv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" ratelimit "github.com/envoyproxy/go-control-plane/envoy/api/v2/ratelimit" v2 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The rate limit domain to use in the rate limit service request. Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // The rate limit descriptor list to use in the rate limit service request. Descriptors []*ratelimit.RateLimitDescriptor `protobuf:"bytes,3,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to false. FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v2.RateLimitServiceConfig `protobuf:"bytes,6,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetDescriptors() []*ratelimit.RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitService() *v2.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } var File_envoy_config_filter_network_rate_limit_v2_rate_limit_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x02, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0xe7, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescOnce sync.Once file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescData = file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDesc ) func file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescData) }) return file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDescData } var file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_goTypes = []interface{}{ (*RateLimit)(nil), // 0: envoy.config.filter.network.rate_limit.v2.RateLimit (*ratelimit.RateLimitDescriptor)(nil), // 1: envoy.api.v2.ratelimit.RateLimitDescriptor (*duration.Duration)(nil), // 2: google.protobuf.Duration (*v2.RateLimitServiceConfig)(nil), // 3: envoy.config.ratelimit.v2.RateLimitServiceConfig } var file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.rate_limit.v2.RateLimit.descriptors:type_name -> envoy.api.v2.ratelimit.RateLimitDescriptor 2, // 1: envoy.config.filter.network.rate_limit.v2.RateLimit.timeout:type_name -> google.protobuf.Duration 3, // 2: envoy.config.filter.network.rate_limit.v2.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v2.RateLimitServiceConfig 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_init() } func file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_init() { if File_envoy_config_filter_network_rate_limit_v2_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_msgTypes, }.Build() File_envoy_config_filter_network_rate_limit_v2_rate_limit_proto = out.File file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_rawDesc = nil file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_goTypes = nil file_envoy_config_filter_network_rate_limit_v2_rate_limit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/rate_limit/v2/rate_limit.pb.validate.go000077500000000000000000000151011454502223200316650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/rate_limit/v2/rate_limit.proto package rate_limitv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := RateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetDescriptors()) < 1 { err := RateLimitValidationError{ field: "Descriptors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDescriptors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/rbac/000077500000000000000000000000001454502223200232435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/rbac/v2/000077500000000000000000000000001454502223200235725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/rbac/v2/rbac.pb.go000077500000000000000000000315471454502223200254450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/rbac/v2/rbac.proto package rbacv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/rbac/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RBAC_EnforcementType int32 const ( // Apply RBAC policies when the first byte of data arrives on the connection. RBAC_ONE_TIME_ON_FIRST_BYTE RBAC_EnforcementType = 0 // Continuously apply RBAC policies as data arrives. Use this mode when // using RBAC with message oriented protocols such as Mongo, MySQL, Kafka, // etc. when the protocol decoders emit dynamic metadata such as the // resources being accessed and the operations on the resources. RBAC_CONTINUOUS RBAC_EnforcementType = 1 ) // Enum value maps for RBAC_EnforcementType. var ( RBAC_EnforcementType_name = map[int32]string{ 0: "ONE_TIME_ON_FIRST_BYTE", 1: "CONTINUOUS", } RBAC_EnforcementType_value = map[string]int32{ "ONE_TIME_ON_FIRST_BYTE": 0, "CONTINUOUS": 1, } ) func (x RBAC_EnforcementType) Enum() *RBAC_EnforcementType { p := new(RBAC_EnforcementType) *p = x return p } func (x RBAC_EnforcementType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RBAC_EnforcementType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_rbac_v2_rbac_proto_enumTypes[0].Descriptor() } func (RBAC_EnforcementType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_rbac_v2_rbac_proto_enumTypes[0] } func (x RBAC_EnforcementType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RBAC_EnforcementType.Descriptor instead. func (RBAC_EnforcementType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescGZIP(), []int{0, 0} } // RBAC network filter config. // // Header should not be used in rules/shadow_rules in RBAC network filter as // this information is only available in :ref:`RBAC http filter `. type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the RBAC rules to be applied globally. // If absent, no enforcing RBAC policy will be applied. Rules *v2.RBAC `protobuf:"bytes,1,opt,name=rules,proto3" json:"rules,omitempty"` // Shadow rules are not enforced by the filter but will emit stats and logs // and can be used for rule testing. // If absent, no shadow RBAC policy will be applied. ShadowRules *v2.RBAC `protobuf:"bytes,2,opt,name=shadow_rules,json=shadowRules,proto3" json:"shadow_rules,omitempty"` // The prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // RBAC enforcement strategy. By default RBAC will be enforced only once // when the first byte of data arrives from the downstream. When used in // conjunction with filters that emit dynamic metadata after decoding // every payload (e.g., Mongo, MySQL, Kafka) set the enforcement type to // CONTINUOUS to enforce RBAC policies on every message boundary. EnforcementType RBAC_EnforcementType `protobuf:"varint,4,opt,name=enforcement_type,json=enforcementType,proto3,enum=envoy.config.filter.network.rbac.v2.RBAC_EnforcementType" json:"enforcement_type,omitempty"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_rbac_v2_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_rbac_v2_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetRules() *v2.RBAC { if x != nil { return x.Rules } return nil } func (x *RBAC) GetShadowRules() *v2.RBAC { if x != nil { return x.ShadowRules } return nil } func (x *RBAC) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RBAC) GetEnforcementType() RBAC_EnforcementType { if x != nil { return x.EnforcementType } return RBAC_ONE_TIME_ON_FIRST_BYTE } var File_envoy_config_filter_network_rbac_v2_rbac_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x02, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x30, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x64, 0x0a, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, 0x01, 0x42, 0xcb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2a, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescOnce sync.Once file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescData = file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDesc ) func file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescData) }) return file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDescData } var file_envoy_config_filter_network_rbac_v2_rbac_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_filter_network_rbac_v2_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_rbac_v2_rbac_proto_goTypes = []interface{}{ (RBAC_EnforcementType)(0), // 0: envoy.config.filter.network.rbac.v2.RBAC.EnforcementType (*RBAC)(nil), // 1: envoy.config.filter.network.rbac.v2.RBAC (*v2.RBAC)(nil), // 2: envoy.config.rbac.v2.RBAC } var file_envoy_config_filter_network_rbac_v2_rbac_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.network.rbac.v2.RBAC.rules:type_name -> envoy.config.rbac.v2.RBAC 2, // 1: envoy.config.filter.network.rbac.v2.RBAC.shadow_rules:type_name -> envoy.config.rbac.v2.RBAC 0, // 2: envoy.config.filter.network.rbac.v2.RBAC.enforcement_type:type_name -> envoy.config.filter.network.rbac.v2.RBAC.EnforcementType 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_rbac_v2_rbac_proto_init() } func file_envoy_config_filter_network_rbac_v2_rbac_proto_init() { if File_envoy_config_filter_network_rbac_v2_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_rbac_v2_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_rbac_v2_rbac_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_rbac_v2_rbac_proto_depIdxs, EnumInfos: file_envoy_config_filter_network_rbac_v2_rbac_proto_enumTypes, MessageInfos: file_envoy_config_filter_network_rbac_v2_rbac_proto_msgTypes, }.Build() File_envoy_config_filter_network_rbac_v2_rbac_proto = out.File file_envoy_config_filter_network_rbac_v2_rbac_proto_rawDesc = nil file_envoy_config_filter_network_rbac_v2_rbac_proto_goTypes = nil file_envoy_config_filter_network_rbac_v2_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/rbac/v2/rbac.pb.validate.go000077500000000000000000000114631454502223200272300ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/rbac/v2/rbac.proto package rbacv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, } } } if len(m.GetStatPrefix()) < 1 { err := RBACValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for EnforcementType if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/redis_proxy/000077500000000000000000000000001454502223200247035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/redis_proxy/v2/000077500000000000000000000000001454502223200252325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/redis_proxy/v2/redis_proxy.pb.go000077500000000000000000001435201454502223200305400ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto package redis_proxyv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // ReadPolicy controls how Envoy routes read commands to Redis nodes. This is currently // supported for Redis Cluster. All ReadPolicy settings except MASTER may return stale data // because replication is asynchronous and requires some delay. You need to ensure that your // application can tolerate stale data. type RedisProxy_ConnPoolSettings_ReadPolicy int32 const ( // Default mode. Read from the current primary node. RedisProxy_ConnPoolSettings_MASTER RedisProxy_ConnPoolSettings_ReadPolicy = 0 // Read from the primary, but if it is unavailable, read from replica nodes. RedisProxy_ConnPoolSettings_PREFER_MASTER RedisProxy_ConnPoolSettings_ReadPolicy = 1 // Read from replica nodes. If multiple replica nodes are present within a shard, a random // node is selected. Healthy nodes have precedent over unhealthy nodes. RedisProxy_ConnPoolSettings_REPLICA RedisProxy_ConnPoolSettings_ReadPolicy = 2 // Read from the replica nodes (similar to REPLICA), but if all replicas are unavailable (not // present or unhealthy), read from the primary. RedisProxy_ConnPoolSettings_PREFER_REPLICA RedisProxy_ConnPoolSettings_ReadPolicy = 3 // Read from any node of the cluster. A random node is selected among the primary and // replicas, healthy nodes have precedent over unhealthy nodes. RedisProxy_ConnPoolSettings_ANY RedisProxy_ConnPoolSettings_ReadPolicy = 4 ) // Enum value maps for RedisProxy_ConnPoolSettings_ReadPolicy. var ( RedisProxy_ConnPoolSettings_ReadPolicy_name = map[int32]string{ 0: "MASTER", 1: "PREFER_MASTER", 2: "REPLICA", 3: "PREFER_REPLICA", 4: "ANY", } RedisProxy_ConnPoolSettings_ReadPolicy_value = map[string]int32{ "MASTER": 0, "PREFER_MASTER": 1, "REPLICA": 2, "PREFER_REPLICA": 3, "ANY": 4, } ) func (x RedisProxy_ConnPoolSettings_ReadPolicy) Enum() *RedisProxy_ConnPoolSettings_ReadPolicy { p := new(RedisProxy_ConnPoolSettings_ReadPolicy) *p = x return p } func (x RedisProxy_ConnPoolSettings_ReadPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RedisProxy_ConnPoolSettings_ReadPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_enumTypes[0].Descriptor() } func (RedisProxy_ConnPoolSettings_ReadPolicy) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_enumTypes[0] } func (x RedisProxy_ConnPoolSettings_ReadPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RedisProxy_ConnPoolSettings_ReadPolicy.Descriptor instead. func (RedisProxy_ConnPoolSettings_ReadPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0, 0, 0} } // [#next-free-field: 7] type RedisProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Name of cluster from cluster manager. See the :ref:`configuration section // ` of the architecture overview for recommendations on // configuring the backing cluster. // // .. attention:: // // This field is deprecated. Use a :ref:`catch_all // route` // instead. // // Deprecated: Marked as deprecated in envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // Network settings for the connection pool to the upstream clusters. Settings *RedisProxy_ConnPoolSettings `protobuf:"bytes,3,opt,name=settings,proto3" json:"settings,omitempty"` // Indicates that latency stat should be computed in microseconds. By default it is computed in // milliseconds. LatencyInMicros bool `protobuf:"varint,4,opt,name=latency_in_micros,json=latencyInMicros,proto3" json:"latency_in_micros,omitempty"` // List of **unique** prefixes used to separate keys from different workloads to different // clusters. Envoy will always favor the longest match first in case of overlap. A catch-all // cluster can be used to forward commands when there is no match. Time complexity of the // lookups are in O(min(longest key prefix, key length)). // // Example: // // .. code-block:: yaml // // prefix_routes: // routes: // - prefix: "ab" // cluster: "cluster_a" // - prefix: "abc" // cluster: "cluster_b" // // When using the above routes, the following prefixes would be sent to: // // - “get abc:users“ would retrieve the key 'abc:users' from cluster_b. // - “get ab:users“ would retrieve the key 'ab:users' from cluster_a. // - “get z:users“ would return a NoUpstreamHost error. A :ref:`catch-all // route` // would have retrieved the key from that cluster instead. // // See the :ref:`configuration section // ` of the architecture overview for recommendations on // configuring the backing clusters. PrefixRoutes *RedisProxy_PrefixRoutes `protobuf:"bytes,5,opt,name=prefix_routes,json=prefixRoutes,proto3" json:"prefix_routes,omitempty"` // Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis // AUTH command `_ with this password before enabling any other // command. If an AUTH command's password matches this password, an "OK" response will be returned // to the client. If the AUTH command password does not match this password, then an "ERR invalid // password" error will be returned. If any other command is received before AUTH when this // password is set, then a "NOAUTH Authentication required." error response will be sent to the // client. If an AUTH command is received when the password is not set, then an "ERR Client sent // AUTH, but no password is set" error will be returned. DownstreamAuthPassword *core.DataSource `protobuf:"bytes,6,opt,name=downstream_auth_password,json=downstreamAuthPassword,proto3" json:"downstream_auth_password,omitempty"` } func (x *RedisProxy) Reset() { *x = RedisProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy) ProtoMessage() {} func (x *RedisProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy.ProtoReflect.Descriptor instead. func (*RedisProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0} } func (x *RedisProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } // Deprecated: Marked as deprecated in envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto. func (x *RedisProxy) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RedisProxy) GetSettings() *RedisProxy_ConnPoolSettings { if x != nil { return x.Settings } return nil } func (x *RedisProxy) GetLatencyInMicros() bool { if x != nil { return x.LatencyInMicros } return false } func (x *RedisProxy) GetPrefixRoutes() *RedisProxy_PrefixRoutes { if x != nil { return x.PrefixRoutes } return nil } func (x *RedisProxy) GetDownstreamAuthPassword() *core.DataSource { if x != nil { return x.DownstreamAuthPassword } return nil } // RedisProtocolOptions specifies Redis upstream protocol options. This object is used in // :ref:`typed_extension_protocol_options`, // keyed by the name `envoy.filters.network.redis_proxy`. type RedisProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream server password as defined by the `requirepass` directive // `_ in the server's configuration file. AuthPassword *core.DataSource `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` } func (x *RedisProtocolOptions) Reset() { *x = RedisProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProtocolOptions) ProtoMessage() {} func (x *RedisProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProtocolOptions.ProtoReflect.Descriptor instead. func (*RedisProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{1} } func (x *RedisProtocolOptions) GetAuthPassword() *core.DataSource { if x != nil { return x.AuthPassword } return nil } // Redis connection pool settings. // [#next-free-field: 9] type RedisProxy_ConnPoolSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Per-operation timeout in milliseconds. The timer starts when the first // command of a pipeline is written to the backend connection. Each response received from Redis // resets the timer since it signifies that the next command is being processed by the backend. // The only exception to this behavior is when a connection to a backend is not yet established. // In that case, the connect timeout on the cluster will govern the timeout until the connection // is ready. OpTimeout *duration.Duration `protobuf:"bytes,1,opt,name=op_timeout,json=opTimeout,proto3" json:"op_timeout,omitempty"` // Use hash tagging on every redis key to guarantee that keys with the same hash tag will be // forwarded to the same upstream. The hash key used for determining the upstream in a // consistent hash ring configuration will be computed from the hash tagged key instead of the // whole key. The algorithm used to compute the hash tag is identical to the `redis-cluster // implementation `_. // // Examples: // // * '{user1000}.following' and '{user1000}.followers' **will** be sent to the same upstream // * '{user1000}.following' and '{user1001}.following' **might** be sent to the same upstream EnableHashtagging bool `protobuf:"varint,2,opt,name=enable_hashtagging,json=enableHashtagging,proto3" json:"enable_hashtagging,omitempty"` // Accept `moved and ask redirection // `_ errors from upstream // redis servers, and retry commands to the specified target server. The target server does not // need to be known to the cluster manager. If the command cannot be redirected, then the // original error is passed downstream unchanged. By default, this support is not enabled. EnableRedirection bool `protobuf:"varint,3,opt,name=enable_redirection,json=enableRedirection,proto3" json:"enable_redirection,omitempty"` // Maximum size of encoded request buffer before flush is triggered and encoded requests // are sent upstream. If this is unset, the buffer flushes whenever it receives data // and performs no batching. // This feature makes it possible for multiple clients to send requests to Envoy and have // them batched- for example if one is running several worker processes, each with its own // Redis connection. There is no benefit to using this with a single downstream process. // Recommended size (if enabled) is 1024 bytes. MaxBufferSizeBeforeFlush uint32 `protobuf:"varint,4,opt,name=max_buffer_size_before_flush,json=maxBufferSizeBeforeFlush,proto3" json:"max_buffer_size_before_flush,omitempty"` // The encoded request buffer is flushed N milliseconds after the first request has been // encoded, unless the buffer size has already exceeded `max_buffer_size_before_flush`. // If `max_buffer_size_before_flush` is not set, this flush timer is not used. Otherwise, // the timer should be set according to the number of clients, overall request rate and // desired maximum latency for a single command. For example, if there are many requests // being batched together at a high rate, the buffer will likely be filled before the timer // fires. Alternatively, if the request rate is lower the buffer will not be filled as often // before the timer fires. // If `max_buffer_size_before_flush` is set, but `buffer_flush_timeout` is not, the latter // defaults to 3ms. BufferFlushTimeout *duration.Duration `protobuf:"bytes,5,opt,name=buffer_flush_timeout,json=bufferFlushTimeout,proto3" json:"buffer_flush_timeout,omitempty"` // `max_upstream_unknown_connections` controls how many upstream connections to unknown hosts // can be created at any given time by any given worker thread (see `enable_redirection` for // more details). If the host is unknown and a connection cannot be created due to enforcing // this limit, then redirection will fail and the original redirection error will be passed // downstream unchanged. This limit defaults to 100. MaxUpstreamUnknownConnections *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=max_upstream_unknown_connections,json=maxUpstreamUnknownConnections,proto3" json:"max_upstream_unknown_connections,omitempty"` // Enable per-command statistics per upstream cluster, in addition to the filter level aggregate // count. EnableCommandStats bool `protobuf:"varint,8,opt,name=enable_command_stats,json=enableCommandStats,proto3" json:"enable_command_stats,omitempty"` // Read policy. The default is to read from the primary. ReadPolicy RedisProxy_ConnPoolSettings_ReadPolicy `protobuf:"varint,7,opt,name=read_policy,json=readPolicy,proto3,enum=envoy.config.filter.network.redis_proxy.v2.RedisProxy_ConnPoolSettings_ReadPolicy" json:"read_policy,omitempty"` } func (x *RedisProxy_ConnPoolSettings) Reset() { *x = RedisProxy_ConnPoolSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_ConnPoolSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_ConnPoolSettings) ProtoMessage() {} func (x *RedisProxy_ConnPoolSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_ConnPoolSettings.ProtoReflect.Descriptor instead. func (*RedisProxy_ConnPoolSettings) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *RedisProxy_ConnPoolSettings) GetOpTimeout() *duration.Duration { if x != nil { return x.OpTimeout } return nil } func (x *RedisProxy_ConnPoolSettings) GetEnableHashtagging() bool { if x != nil { return x.EnableHashtagging } return false } func (x *RedisProxy_ConnPoolSettings) GetEnableRedirection() bool { if x != nil { return x.EnableRedirection } return false } func (x *RedisProxy_ConnPoolSettings) GetMaxBufferSizeBeforeFlush() uint32 { if x != nil { return x.MaxBufferSizeBeforeFlush } return 0 } func (x *RedisProxy_ConnPoolSettings) GetBufferFlushTimeout() *duration.Duration { if x != nil { return x.BufferFlushTimeout } return nil } func (x *RedisProxy_ConnPoolSettings) GetMaxUpstreamUnknownConnections() *wrappers.UInt32Value { if x != nil { return x.MaxUpstreamUnknownConnections } return nil } func (x *RedisProxy_ConnPoolSettings) GetEnableCommandStats() bool { if x != nil { return x.EnableCommandStats } return false } func (x *RedisProxy_ConnPoolSettings) GetReadPolicy() RedisProxy_ConnPoolSettings_ReadPolicy { if x != nil { return x.ReadPolicy } return RedisProxy_ConnPoolSettings_MASTER } type RedisProxy_PrefixRoutes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of prefix routes. Routes []*RedisProxy_PrefixRoutes_Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // Indicates that prefix matching should be case insensitive. CaseInsensitive bool `protobuf:"varint,2,opt,name=case_insensitive,json=caseInsensitive,proto3" json:"case_insensitive,omitempty"` // Optional catch-all route to forward commands that doesn't match any of the routes. The // catch-all route becomes required when no routes are specified. // .. attention:: // // This field is deprecated. Use a :ref:`catch_all // route` // instead. // // Deprecated: Marked as deprecated in envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto. CatchAllCluster string `protobuf:"bytes,3,opt,name=catch_all_cluster,json=catchAllCluster,proto3" json:"catch_all_cluster,omitempty"` // Optional catch-all route to forward commands that doesn't match any of the routes. The // catch-all route becomes required when no routes are specified. CatchAllRoute *RedisProxy_PrefixRoutes_Route `protobuf:"bytes,4,opt,name=catch_all_route,json=catchAllRoute,proto3" json:"catch_all_route,omitempty"` } func (x *RedisProxy_PrefixRoutes) Reset() { *x = RedisProxy_PrefixRoutes{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0, 1} } func (x *RedisProxy_PrefixRoutes) GetRoutes() []*RedisProxy_PrefixRoutes_Route { if x != nil { return x.Routes } return nil } func (x *RedisProxy_PrefixRoutes) GetCaseInsensitive() bool { if x != nil { return x.CaseInsensitive } return false } // Deprecated: Marked as deprecated in envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto. func (x *RedisProxy_PrefixRoutes) GetCatchAllCluster() string { if x != nil { return x.CatchAllCluster } return "" } func (x *RedisProxy_PrefixRoutes) GetCatchAllRoute() *RedisProxy_PrefixRoutes_Route { if x != nil { return x.CatchAllRoute } return nil } type RedisProxy_PrefixRoutes_Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // String prefix that must match the beginning of the keys. Envoy will always favor the // longest match. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Indicates if the prefix needs to be removed from the key when forwarded. RemovePrefix bool `protobuf:"varint,2,opt,name=remove_prefix,json=removePrefix,proto3" json:"remove_prefix,omitempty"` // Upstream cluster to forward the command to. Cluster string `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"` // Indicates that the route has a request mirroring policy. RequestMirrorPolicy []*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy `protobuf:"bytes,4,rep,name=request_mirror_policy,json=requestMirrorPolicy,proto3" json:"request_mirror_policy,omitempty"` } func (x *RedisProxy_PrefixRoutes_Route) Reset() { *x = RedisProxy_PrefixRoutes_Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes_Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes_Route) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes_Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes_Route.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes_Route) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0, 1, 0} } func (x *RedisProxy_PrefixRoutes_Route) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *RedisProxy_PrefixRoutes_Route) GetRemovePrefix() bool { if x != nil { return x.RemovePrefix } return false } func (x *RedisProxy_PrefixRoutes_Route) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RedisProxy_PrefixRoutes_Route) GetRequestMirrorPolicy() []*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicy } return nil } // The router is capable of shadowing traffic from one cluster to another. The current // implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to // respond before returning the response from the primary cluster. All normal statistics are // collected for the shadow cluster making this feature useful for testing. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the cluster that requests will be mirrored to. The cluster must // exist in the cluster manager configuration. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // If not specified or the runtime key is not present, all requests to the target cluster // will be mirrored. // // If specified, Envoy will lookup the runtime key to get the percentage of requests to the // mirror. RuntimeFraction *core.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Set this to TRUE to only mirror write commands, this is effectively replicating the // writes in a "fire and forget" manner. ExcludeReadCommands bool `protobuf:"varint,3,opt,name=exclude_read_commands,json=excludeReadCommands,proto3" json:"exclude_read_commands,omitempty"` } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Reset() { *x = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP(), []int{0, 1, 0, 0} } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetRuntimeFraction() *core.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetExcludeReadCommands() bool { if x != nil { return x.ExcludeReadCommands } return false } var File_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x0f, 0x0a, 0x0a, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6d, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x68, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0xb0, 0x05, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x4b, 0x0a, 0x14, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x7d, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x04, 0x1a, 0x8a, 0x06, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x52, 0x0f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x0f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0xc2, 0x03, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xc4, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x62, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0xed, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescData = file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDesc ) func file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDescData } var file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_goTypes = []interface{}{ (RedisProxy_ConnPoolSettings_ReadPolicy)(0), // 0: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.ReadPolicy (*RedisProxy)(nil), // 1: envoy.config.filter.network.redis_proxy.v2.RedisProxy (*RedisProtocolOptions)(nil), // 2: envoy.config.filter.network.redis_proxy.v2.RedisProtocolOptions (*RedisProxy_ConnPoolSettings)(nil), // 3: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings (*RedisProxy_PrefixRoutes)(nil), // 4: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes (*RedisProxy_PrefixRoutes_Route)(nil), // 5: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy)(nil), // 6: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy (*core.DataSource)(nil), // 7: envoy.api.v2.core.DataSource (*duration.Duration)(nil), // 8: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*core.RuntimeFractionalPercent)(nil), // 10: envoy.api.v2.core.RuntimeFractionalPercent } var file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_depIdxs = []int32{ 3, // 0: envoy.config.filter.network.redis_proxy.v2.RedisProxy.settings:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings 4, // 1: envoy.config.filter.network.redis_proxy.v2.RedisProxy.prefix_routes:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes 7, // 2: envoy.config.filter.network.redis_proxy.v2.RedisProxy.downstream_auth_password:type_name -> envoy.api.v2.core.DataSource 7, // 3: envoy.config.filter.network.redis_proxy.v2.RedisProtocolOptions.auth_password:type_name -> envoy.api.v2.core.DataSource 8, // 4: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.op_timeout:type_name -> google.protobuf.Duration 8, // 5: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.buffer_flush_timeout:type_name -> google.protobuf.Duration 9, // 6: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.max_upstream_unknown_connections:type_name -> google.protobuf.UInt32Value 0, // 7: envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.read_policy:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.ConnPoolSettings.ReadPolicy 5, // 8: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.routes:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route 5, // 9: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.catch_all_route:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route 6, // 10: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route.request_mirror_policy:type_name -> envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy 10, // 11: envoy.config.filter.network.redis_proxy.v2.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_init() } func file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_init() { if File_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_ConnPoolSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes_Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDesc, NumEnums: 1, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_depIdxs, EnumInfos: file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_enumTypes, MessageInfos: file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto = out.File file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_rawDesc = nil file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_goTypes = nil file_envoy_config_filter_network_redis_proxy_v2_redis_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/redis_proxy/v2/redis_proxy.pb.validate.go000077500000000000000000000724161454502223200323350ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto package redis_proxyv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RedisProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedisProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RedisProxyMultiError, or // nil if none found. func (m *RedisProxy) ValidateAll() error { return m.validate(true) } func (m *RedisProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := RedisProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for Cluster if m.GetSettings() == nil { err := RedisProxyValidationError{ field: "Settings", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LatencyInMicros if all { switch v := interface{}(m.GetPrefixRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrefixRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamAuthPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamAuthPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxyMultiError(errors) } return nil } // RedisProxyMultiError is an error wrapping multiple validation errors // returned by RedisProxy.ValidateAll() if the designated constraints aren't met. type RedisProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxyMultiError) AllErrors() []error { return m } // RedisProxyValidationError is the validation error returned by // RedisProxy.Validate if the designated constraints aren't met. type RedisProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxyValidationError) ErrorName() string { return "RedisProxyValidationError" } // Error satisfies the builtin error interface func (e RedisProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxyValidationError{} // Validate checks the field values on RedisProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProtocolOptionsMultiError, or nil if none found. func (m *RedisProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *RedisProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAuthPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProtocolOptionsMultiError(errors) } return nil } // RedisProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by RedisProtocolOptions.ValidateAll() if the designated // constraints aren't met. type RedisProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProtocolOptionsMultiError) AllErrors() []error { return m } // RedisProtocolOptionsValidationError is the validation error returned by // RedisProtocolOptions.Validate if the designated constraints aren't met. type RedisProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProtocolOptionsValidationError) ErrorName() string { return "RedisProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e RedisProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProtocolOptionsValidationError{} // Validate checks the field values on RedisProxy_ConnPoolSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_ConnPoolSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_ConnPoolSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProxy_ConnPoolSettingsMultiError, or nil if none found. func (m *RedisProxy_ConnPoolSettings) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_ConnPoolSettings) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetOpTimeout() == nil { err := RedisProxy_ConnPoolSettingsValidationError{ field: "OpTimeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } // no validation rules for EnableHashtagging // no validation rules for EnableRedirection // no validation rules for MaxBufferSizeBeforeFlush if all { switch v := interface{}(m.GetBufferFlushTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferFlushTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxUpstreamUnknownConnections()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxUpstreamUnknownConnections()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableCommandStats if _, ok := RedisProxy_ConnPoolSettings_ReadPolicy_name[int32(m.GetReadPolicy())]; !ok { err := RedisProxy_ConnPoolSettingsValidationError{ field: "ReadPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RedisProxy_ConnPoolSettingsMultiError(errors) } return nil } // RedisProxy_ConnPoolSettingsMultiError is an error wrapping multiple // validation errors returned by RedisProxy_ConnPoolSettings.ValidateAll() if // the designated constraints aren't met. type RedisProxy_ConnPoolSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_ConnPoolSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_ConnPoolSettingsMultiError) AllErrors() []error { return m } // RedisProxy_ConnPoolSettingsValidationError is the validation error returned // by RedisProxy_ConnPoolSettings.Validate if the designated constraints // aren't met. type RedisProxy_ConnPoolSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_ConnPoolSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_ConnPoolSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_ConnPoolSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_ConnPoolSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_ConnPoolSettingsValidationError) ErrorName() string { return "RedisProxy_ConnPoolSettingsValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_ConnPoolSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_ConnPoolSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_ConnPoolSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_ConnPoolSettingsValidationError{} // Validate checks the field values on RedisProxy_PrefixRoutes with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_PrefixRoutes with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProxy_PrefixRoutesMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for CaseInsensitive // no validation rules for CatchAllCluster if all { switch v := interface{}(m.GetCatchAllRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCatchAllRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxy_PrefixRoutesMultiError(errors) } return nil } // RedisProxy_PrefixRoutesMultiError is an error wrapping multiple validation // errors returned by RedisProxy_PrefixRoutes.ValidateAll() if the designated // constraints aren't met. type RedisProxy_PrefixRoutesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutesMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutesValidationError is the validation error returned by // RedisProxy_PrefixRoutes.Validate if the designated constraints aren't met. type RedisProxy_PrefixRoutesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutesValidationError) ErrorName() string { return "RedisProxy_PrefixRoutesValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutesValidationError{} // Validate checks the field values on RedisProxy_PrefixRoutes_Route with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes_Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_PrefixRoutes_Route with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RedisProxy_PrefixRoutes_RouteMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes_Route) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes_Route) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix // no validation rules for RemovePrefix if len(m.GetCluster()) < 1 { err := RedisProxy_PrefixRoutes_RouteValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestMirrorPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RedisProxy_PrefixRoutes_RouteMultiError(errors) } return nil } // RedisProxy_PrefixRoutes_RouteMultiError is an error wrapping multiple // validation errors returned by RedisProxy_PrefixRoutes_Route.ValidateAll() // if the designated constraints aren't met. type RedisProxy_PrefixRoutes_RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutes_RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutes_RouteMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutes_RouteValidationError is the validation error // returned by RedisProxy_PrefixRoutes_Route.Validate if the designated // constraints aren't met. type RedisProxy_PrefixRoutes_RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutes_RouteValidationError) ErrorName() string { return "RedisProxy_PrefixRoutes_RouteValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutes_RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes_Route.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutes_RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutes_RouteValidationError{} // Validate checks the field values on // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCluster()) < 1 { err := RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ExcludeReadCommands if len(errors) > 0 { return RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError(errors) } return nil } // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError is an error // wrapping multiple validation errors returned by // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.ValidateAll() if the // designated constraints aren't met. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError is the // validation error returned by // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.Validate if the // designated constraints aren't met. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) ErrorName() string { return "RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/sni_cluster/000077500000000000000000000000001454502223200246665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/sni_cluster/v2/000077500000000000000000000000001454502223200252155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/sni_cluster/v2/sni_cluster.pb.go000077500000000000000000000164321454502223200305070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/sni_cluster/v2/sni_cluster.proto package sni_clusterv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SniCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SniCluster) Reset() { *x = SniCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SniCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*SniCluster) ProtoMessage() {} func (x *SniCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SniCluster.ProtoReflect.Descriptor instead. func (*SniCluster) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x6e, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xed, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x31, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x53, 0x6e, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescOnce sync.Once file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescData = file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDesc ) func file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescData) }) return file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDescData } var file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_goTypes = []interface{}{ (*SniCluster)(nil), // 0: envoy.config.filter.network.sni_cluster.v2.SniCluster } var file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_init() } func file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_init() { if File_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SniCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_msgTypes, }.Build() File_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto = out.File file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_rawDesc = nil file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_goTypes = nil file_envoy_config_filter_network_sni_cluster_v2_sni_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/sni_cluster/v2/sni_cluster.pb.validate.go000077500000000000000000000062451454502223200323000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/sni_cluster/v2/sni_cluster.proto package sni_clusterv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SniCluster with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SniCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SniCluster with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SniClusterMultiError, or // nil if none found. func (m *SniCluster) ValidateAll() error { return m.validate(true) } func (m *SniCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SniClusterMultiError(errors) } return nil } // SniClusterMultiError is an error wrapping multiple validation errors // returned by SniCluster.ValidateAll() if the designated constraints aren't met. type SniClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SniClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SniClusterMultiError) AllErrors() []error { return m } // SniClusterValidationError is the validation error returned by // SniCluster.Validate if the designated constraints aren't met. type SniClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SniClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SniClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SniClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SniClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SniClusterValidationError) ErrorName() string { return "SniClusterValidationError" } // Error satisfies the builtin error interface func (e SniClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSniCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SniClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SniClusterValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/tcp_proxy/000077500000000000000000000000001454502223200243635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/tcp_proxy/v2/000077500000000000000000000000001454502223200247125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.pb.go000077500000000000000000001236771454502223200277130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto package tcp_proxyv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2 "github.com/envoyproxy/go-control-plane/envoy/config/filter/accesslog/v2" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 13] type TcpProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to ClusterSpecifier: // // *TcpProxy_Cluster // *TcpProxy_WeightedClusters ClusterSpecifier isTcpProxy_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // Optional endpoint metadata match criteria. Only endpoints in the upstream // cluster with metadata matching that set in metadata_match will be // considered. The filter name should be specified as *envoy.lb*. MetadataMatch *core.Metadata `protobuf:"bytes,9,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // The idle timeout for connections managed by the TCP proxy filter. The idle timeout // is defined as the period in which there are no bytes sent or received on either // the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set // to 0s, the timeout will be disabled. // // .. warning:: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. IdleTimeout *duration.Duration `protobuf:"bytes,8,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // [#not-implemented-hide:] The idle timeout for connections managed by the TCP proxy // filter. The idle timeout is defined as the period in which there is no // active traffic. If not set, there is no idle timeout. When the idle timeout // is reached the connection will be closed. The distinction between // downstream_idle_timeout/upstream_idle_timeout provides a means to set // timeout based on the last byte sent on the downstream/upstream connection. DownstreamIdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=downstream_idle_timeout,json=downstreamIdleTimeout,proto3" json:"downstream_idle_timeout,omitempty"` // [#not-implemented-hide:] UpstreamIdleTimeout *duration.Duration `protobuf:"bytes,4,opt,name=upstream_idle_timeout,json=upstreamIdleTimeout,proto3" json:"upstream_idle_timeout,omitempty"` // Configuration for :ref:`access logs ` // emitted by the this tcp_proxy. AccessLog []*v2.AccessLog `protobuf:"bytes,5,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // [#not-implemented-hide:] Deprecated. // // Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto. DeprecatedV1 *TcpProxy_DeprecatedV1 `protobuf:"bytes,6,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"` // The maximum number of unsuccessful connection attempts that will be made before // giving up. If the parameter is not specified, 1 connection attempt will be made. MaxConnectAttempts *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"` // Optional configuration for TCP proxy hash policy. If hash_policy is not set, the hash-based // load balancing algorithms will select a host randomly. Currently the number of hash policies is // limited to 1. HashPolicy []*_type.HashPolicy `protobuf:"bytes,11,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"` // [#not-implemented-hide:] feature in progress // If set, this configures tunneling, e.g. configuration options to tunnel multiple TCP // payloads over a shared HTTP/2 tunnel. If this message is absent, the payload // will be proxied upstream as per usual. TunnelingConfig *TcpProxy_TunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"` } func (x *TcpProxy) Reset() { *x = TcpProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy) ProtoMessage() {} func (x *TcpProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy.ProtoReflect.Descriptor instead. func (*TcpProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0} } func (x *TcpProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *TcpProxy) GetClusterSpecifier() isTcpProxy_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *TcpProxy) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*TcpProxy_Cluster); ok { return x.Cluster } return "" } func (x *TcpProxy) GetWeightedClusters() *TcpProxy_WeightedCluster { if x, ok := x.GetClusterSpecifier().(*TcpProxy_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *TcpProxy) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *TcpProxy) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *TcpProxy) GetDownstreamIdleTimeout() *duration.Duration { if x != nil { return x.DownstreamIdleTimeout } return nil } func (x *TcpProxy) GetUpstreamIdleTimeout() *duration.Duration { if x != nil { return x.UpstreamIdleTimeout } return nil } func (x *TcpProxy) GetAccessLog() []*v2.AccessLog { if x != nil { return x.AccessLog } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto. func (x *TcpProxy) GetDeprecatedV1() *TcpProxy_DeprecatedV1 { if x != nil { return x.DeprecatedV1 } return nil } func (x *TcpProxy) GetMaxConnectAttempts() *wrappers.UInt32Value { if x != nil { return x.MaxConnectAttempts } return nil } func (x *TcpProxy) GetHashPolicy() []*_type.HashPolicy { if x != nil { return x.HashPolicy } return nil } func (x *TcpProxy) GetTunnelingConfig() *TcpProxy_TunnelingConfig { if x != nil { return x.TunnelingConfig } return nil } type isTcpProxy_ClusterSpecifier interface { isTcpProxy_ClusterSpecifier() } type TcpProxy_Cluster struct { // The upstream cluster to connect to. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } type TcpProxy_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. WeightedClusters *TcpProxy_WeightedCluster `protobuf:"bytes,10,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*TcpProxy_Cluster) isTcpProxy_ClusterSpecifier() {} func (*TcpProxy_WeightedClusters) isTcpProxy_ClusterSpecifier() {} // [#not-implemented-hide:] Deprecated. // TCP Proxy filter configuration using V1 format. // // Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto. type TcpProxy_DeprecatedV1 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The route table for the filter. All filter instances must have a route // table, even if it is empty. Routes []*TcpProxy_DeprecatedV1_TCPRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *TcpProxy_DeprecatedV1) Reset() { *x = TcpProxy_DeprecatedV1{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_DeprecatedV1) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_DeprecatedV1) ProtoMessage() {} func (x *TcpProxy_DeprecatedV1) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_DeprecatedV1.ProtoReflect.Descriptor instead. func (*TcpProxy_DeprecatedV1) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *TcpProxy_DeprecatedV1) GetRoutes() []*TcpProxy_DeprecatedV1_TCPRoute { if x != nil { return x.Routes } return nil } // Allows for specification of multiple upstream clusters along with weights // that indicate the percentage of traffic to be forwarded to each cluster. // The router selects an upstream cluster based on these weights. type TcpProxy_WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*TcpProxy_WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *TcpProxy_WeightedCluster) Reset() { *x = TcpProxy_WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_WeightedCluster) ProtoMessage() {} func (x *TcpProxy_WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_WeightedCluster.ProtoReflect.Descriptor instead. func (*TcpProxy_WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0, 1} } func (x *TcpProxy_WeightedCluster) GetClusters() []*TcpProxy_WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } // Configuration for tunneling TCP over other transports or application layers. // Currently, only HTTP/2 is supported. When other options exist, HTTP/2 will // remain the default. type TcpProxy_TunnelingConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The hostname to send in the synthesized CONNECT headers to the upstream proxy. Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` } func (x *TcpProxy_TunnelingConfig) Reset() { *x = TcpProxy_TunnelingConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_TunnelingConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_TunnelingConfig) ProtoMessage() {} func (x *TcpProxy_TunnelingConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_TunnelingConfig.ProtoReflect.Descriptor instead. func (*TcpProxy_TunnelingConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0, 2} } func (x *TcpProxy_TunnelingConfig) GetHostname() string { if x != nil { return x.Hostname } return "" } // A TCP proxy route consists of a set of optional L4 criteria and the // name of a cluster. If a downstream connection matches all the // specified criteria, the cluster in the route is used for the // corresponding upstream connection. Routes are tried in the order // specified until a match is found. If no match is found, the connection // is closed. A route with no criteria is valid and always produces a // match. // [#next-free-field: 6] type TcpProxy_DeprecatedV1_TCPRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster to connect to when a the downstream network connection // matches the specified criteria. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // An optional list of IP address subnets in the form // “ip_address/xx”. The criteria is satisfied if the destination IP // address of the downstream connection is contained in at least one of // the specified subnets. If the parameter is not specified or the list // is empty, the destination IP address is ignored. The destination IP // address of the downstream connection might be different from the // addresses on which the proxy is listening if the connection has been // redirected. DestinationIpList []*core.CidrRange `protobuf:"bytes,2,rep,name=destination_ip_list,json=destinationIpList,proto3" json:"destination_ip_list,omitempty"` // An optional string containing a comma-separated list of port numbers // or ranges. The criteria is satisfied if the destination port of the // downstream connection is contained in at least one of the specified // ranges. If the parameter is not specified, the destination port is // ignored. The destination port address of the downstream connection // might be different from the port on which the proxy is listening if // the connection has been redirected. DestinationPorts string `protobuf:"bytes,3,opt,name=destination_ports,json=destinationPorts,proto3" json:"destination_ports,omitempty"` // An optional list of IP address subnets in the form // “ip_address/xx”. The criteria is satisfied if the source IP address // of the downstream connection is contained in at least one of the // specified subnets. If the parameter is not specified or the list is // empty, the source IP address is ignored. SourceIpList []*core.CidrRange `protobuf:"bytes,4,rep,name=source_ip_list,json=sourceIpList,proto3" json:"source_ip_list,omitempty"` // An optional string containing a comma-separated list of port numbers // or ranges. The criteria is satisfied if the source port of the // downstream connection is contained in at least one of the specified // ranges. If the parameter is not specified, the source port is // ignored. SourcePorts string `protobuf:"bytes,5,opt,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` } func (x *TcpProxy_DeprecatedV1_TCPRoute) Reset() { *x = TcpProxy_DeprecatedV1_TCPRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_DeprecatedV1_TCPRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoMessage() {} func (x *TcpProxy_DeprecatedV1_TCPRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_DeprecatedV1_TCPRoute.ProtoReflect.Descriptor instead. func (*TcpProxy_DeprecatedV1_TCPRoute) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *TcpProxy_DeprecatedV1_TCPRoute) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationIpList() []*core.CidrRange { if x != nil { return x.DestinationIpList } return nil } func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationPorts() string { if x != nil { return x.DestinationPorts } return "" } func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourceIpList() []*core.CidrRange { if x != nil { return x.SourceIpList } return nil } func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourcePorts() string { if x != nil { return x.SourcePorts } return "" } type TcpProxy_WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the upstream cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When a request matches the route, the choice of an upstream cluster is // determined by its weight. The sum of weights across all entries in the // clusters array determines the total weight. Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints // in the upstream cluster with metadata matching what is set in this field will be considered // for load balancing. Note that this will be merged with what's provided in // :ref:`TcpProxy.metadata_match // `, with values // here taking precedence. The filter name should be specified as *envoy.lb*. MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *TcpProxy_WeightedCluster_ClusterWeight) Reset() { *x = TcpProxy_WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *TcpProxy_WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*TcpProxy_WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP(), []int{0, 1, 0} } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x0d, 0x0a, 0x08, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x68, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6d, 0x0a, 0x10, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x90, 0x03, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x6a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x2e, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x8f, 0x02, 0x0a, 0x08, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x1a, 0x9d, 0x02, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x36, 0x0a, 0x0f, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xe3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescData = file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDesc ) func file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDescData } var file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_goTypes = []interface{}{ (*TcpProxy)(nil), // 0: envoy.config.filter.network.tcp_proxy.v2.TcpProxy (*TcpProxy_DeprecatedV1)(nil), // 1: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1 (*TcpProxy_WeightedCluster)(nil), // 2: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster (*TcpProxy_TunnelingConfig)(nil), // 3: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.TunnelingConfig (*TcpProxy_DeprecatedV1_TCPRoute)(nil), // 4: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.TCPRoute (*TcpProxy_WeightedCluster_ClusterWeight)(nil), // 5: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight (*core.Metadata)(nil), // 6: envoy.api.v2.core.Metadata (*duration.Duration)(nil), // 7: google.protobuf.Duration (*v2.AccessLog)(nil), // 8: envoy.config.filter.accesslog.v2.AccessLog (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*_type.HashPolicy)(nil), // 10: envoy.type.HashPolicy (*core.CidrRange)(nil), // 11: envoy.api.v2.core.CidrRange } var file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_depIdxs = []int32{ 2, // 0: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.weighted_clusters:type_name -> envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster 6, // 1: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.metadata_match:type_name -> envoy.api.v2.core.Metadata 7, // 2: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.idle_timeout:type_name -> google.protobuf.Duration 7, // 3: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.downstream_idle_timeout:type_name -> google.protobuf.Duration 7, // 4: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.upstream_idle_timeout:type_name -> google.protobuf.Duration 8, // 5: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.access_log:type_name -> envoy.config.filter.accesslog.v2.AccessLog 1, // 6: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.deprecated_v1:type_name -> envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1 9, // 7: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.max_connect_attempts:type_name -> google.protobuf.UInt32Value 10, // 8: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.hash_policy:type_name -> envoy.type.HashPolicy 3, // 9: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.tunneling_config:type_name -> envoy.config.filter.network.tcp_proxy.v2.TcpProxy.TunnelingConfig 4, // 10: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.routes:type_name -> envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.TCPRoute 5, // 11: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.clusters:type_name -> envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight 11, // 12: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.TCPRoute.destination_ip_list:type_name -> envoy.api.v2.core.CidrRange 11, // 13: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.DeprecatedV1.TCPRoute.source_ip_list:type_name -> envoy.api.v2.core.CidrRange 6, // 14: envoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.api.v2.core.Metadata 15, // [15:15] is the sub-list for method output_type 15, // [15:15] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_init() } func file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_init() { if File_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_DeprecatedV1); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_TunnelingConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_DeprecatedV1_TCPRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*TcpProxy_Cluster)(nil), (*TcpProxy_WeightedClusters)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto = out.File file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_rawDesc = nil file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_goTypes = nil file_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.pb.validate.go000077500000000000000000001032741454502223200314720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto package tcp_proxyv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TcpProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TcpProxyMultiError, or nil // if none found. func (m *TcpProxy) ValidateAll() error { return m.validate(true) } func (m *TcpProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := TcpProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDeprecatedV1()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeprecatedV1()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxConnectAttempts(); wrapper != nil { if wrapper.GetValue() < 1 { err := TcpProxyValidationError{ field: "MaxConnectAttempts", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if len(m.GetHashPolicy()) > 1 { err := TcpProxyValidationError{ field: "HashPolicy", reason: "value must contain no more than 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHashPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTunnelingConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTunnelingConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *TcpProxy_Cluster: if v == nil { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for Cluster case *TcpProxy_WeightedClusters: if v == nil { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TcpProxyMultiError(errors) } return nil } // TcpProxyMultiError is an error wrapping multiple validation errors returned // by TcpProxy.ValidateAll() if the designated constraints aren't met. type TcpProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxyMultiError) AllErrors() []error { return m } // TcpProxyValidationError is the validation error returned by // TcpProxy.Validate if the designated constraints aren't met. type TcpProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxyValidationError) ErrorName() string { return "TcpProxyValidationError" } // Error satisfies the builtin error interface func (e TcpProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxyValidationError{} // Validate checks the field values on TcpProxy_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_DeprecatedV1) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_DeprecatedV1MultiError, or nil if none found. func (m *TcpProxy_DeprecatedV1) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_DeprecatedV1) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRoutes()) < 1 { err := TcpProxy_DeprecatedV1ValidationError{ field: "Routes", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1ValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1ValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_DeprecatedV1ValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TcpProxy_DeprecatedV1MultiError(errors) } return nil } // TcpProxy_DeprecatedV1MultiError is an error wrapping multiple validation // errors returned by TcpProxy_DeprecatedV1.ValidateAll() if the designated // constraints aren't met. type TcpProxy_DeprecatedV1MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_DeprecatedV1MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_DeprecatedV1MultiError) AllErrors() []error { return m } // TcpProxy_DeprecatedV1ValidationError is the validation error returned by // TcpProxy_DeprecatedV1.Validate if the designated constraints aren't met. type TcpProxy_DeprecatedV1ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_DeprecatedV1ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_DeprecatedV1ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_DeprecatedV1ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_DeprecatedV1ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_DeprecatedV1ValidationError) ErrorName() string { return "TcpProxy_DeprecatedV1ValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_DeprecatedV1ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_DeprecatedV1.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_DeprecatedV1ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_DeprecatedV1ValidationError{} // Validate checks the field values on TcpProxy_WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_WeightedCluster with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_WeightedClusterMultiError, or nil if none found. func (m *TcpProxy_WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := TcpProxy_WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TcpProxy_WeightedClusterMultiError(errors) } return nil } // TcpProxy_WeightedClusterMultiError is an error wrapping multiple validation // errors returned by TcpProxy_WeightedCluster.ValidateAll() if the designated // constraints aren't met. type TcpProxy_WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_WeightedClusterMultiError) AllErrors() []error { return m } // TcpProxy_WeightedClusterValidationError is the validation error returned by // TcpProxy_WeightedCluster.Validate if the designated constraints aren't met. type TcpProxy_WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_WeightedClusterValidationError) ErrorName() string { return "TcpProxy_WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_WeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_WeightedClusterValidationError{} // Validate checks the field values on TcpProxy_TunnelingConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_TunnelingConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_TunnelingConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_TunnelingConfigMultiError, or nil if none found. func (m *TcpProxy_TunnelingConfig) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_TunnelingConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHostname()) < 1 { err := TcpProxy_TunnelingConfigValidationError{ field: "Hostname", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TcpProxy_TunnelingConfigMultiError(errors) } return nil } // TcpProxy_TunnelingConfigMultiError is an error wrapping multiple validation // errors returned by TcpProxy_TunnelingConfig.ValidateAll() if the designated // constraints aren't met. type TcpProxy_TunnelingConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_TunnelingConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_TunnelingConfigMultiError) AllErrors() []error { return m } // TcpProxy_TunnelingConfigValidationError is the validation error returned by // TcpProxy_TunnelingConfig.Validate if the designated constraints aren't met. type TcpProxy_TunnelingConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_TunnelingConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_TunnelingConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_TunnelingConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_TunnelingConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_TunnelingConfigValidationError) ErrorName() string { return "TcpProxy_TunnelingConfigValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_TunnelingConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_TunnelingConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_TunnelingConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_TunnelingConfigValidationError{} // Validate checks the field values on TcpProxy_DeprecatedV1_TCPRoute with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_DeprecatedV1_TCPRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_DeprecatedV1_TCPRoute with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // TcpProxy_DeprecatedV1_TCPRouteMultiError, or nil if none found. func (m *TcpProxy_DeprecatedV1_TCPRoute) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_DeprecatedV1_TCPRoute) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCluster()) < 1 { err := TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDestinationIpList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("DestinationIpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("DestinationIpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("DestinationIpList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for DestinationPorts for idx, item := range m.GetSourceIpList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("SourceIpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("SourceIpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_DeprecatedV1_TCPRouteValidationError{ field: fmt.Sprintf("SourceIpList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for SourcePorts if len(errors) > 0 { return TcpProxy_DeprecatedV1_TCPRouteMultiError(errors) } return nil } // TcpProxy_DeprecatedV1_TCPRouteMultiError is an error wrapping multiple // validation errors returned by TcpProxy_DeprecatedV1_TCPRoute.ValidateAll() // if the designated constraints aren't met. type TcpProxy_DeprecatedV1_TCPRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_DeprecatedV1_TCPRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_DeprecatedV1_TCPRouteMultiError) AllErrors() []error { return m } // TcpProxy_DeprecatedV1_TCPRouteValidationError is the validation error // returned by TcpProxy_DeprecatedV1_TCPRoute.Validate if the designated // constraints aren't met. type TcpProxy_DeprecatedV1_TCPRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) ErrorName() string { return "TcpProxy_DeprecatedV1_TCPRouteValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_DeprecatedV1_TCPRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_DeprecatedV1_TCPRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_DeprecatedV1_TCPRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_DeprecatedV1_TCPRouteValidationError{} // Validate checks the field values on TcpProxy_WeightedCluster_ClusterWeight // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *TcpProxy_WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // TcpProxy_WeightedCluster_ClusterWeight with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // TcpProxy_WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *TcpProxy_WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetWeight() < 1 { err := TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpProxy_WeightedCluster_ClusterWeightMultiError(errors) } return nil } // TcpProxy_WeightedCluster_ClusterWeightMultiError is an error wrapping // multiple validation errors returned by // TcpProxy_WeightedCluster_ClusterWeight.ValidateAll() if the designated // constraints aren't met. type TcpProxy_WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // TcpProxy_WeightedCluster_ClusterWeightValidationError is the validation // error returned by TcpProxy_WeightedCluster_ClusterWeight.Validate if the // designated constraints aren't met. type TcpProxy_WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "TcpProxy_WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_WeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_WeightedCluster_ClusterWeightValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/000077500000000000000000000000001454502223200250755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/v2alpha1/000077500000000000000000000000001454502223200265135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/v2alpha1/route.pb.go000077500000000000000000001056661454502223200306210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/thrift_proxy/v2alpha1/route.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. Reserved for future use in asynchronous route discovery. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchSpecifier: // // *RouteMatch_MethodName // *RouteMatch_ServiceName MatchSpecifier isRouteMatch_MatchSpecifier `protobuf_oneof:"match_specifier"` // Inverts whatever matching is done in the :ref:`method_name // ` or // :ref:`service_name // ` fields. // Cannot be combined with wildcard matching as that would result in routes never being matched. // // .. note:: // // This does not invert matching done as part of the :ref:`headers field // ` field. To // invert header matching, see :ref:`invert_match // `. Invert bool `protobuf:"varint,3,opt,name=invert,proto3" json:"invert,omitempty"` // Specifies a set of headers that the route should match on. The router will check the request’s // headers against all the specified headers in the route config. A match will happen if all the // headers in the route are present in the request with the same values (or based on presence if // the value field is not in the config). Note that this only applies for Thrift transports and/or // protocols that support headers. Headers []*route.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{2} } func (m *RouteMatch) GetMatchSpecifier() isRouteMatch_MatchSpecifier { if m != nil { return m.MatchSpecifier } return nil } func (x *RouteMatch) GetMethodName() string { if x, ok := x.GetMatchSpecifier().(*RouteMatch_MethodName); ok { return x.MethodName } return "" } func (x *RouteMatch) GetServiceName() string { if x, ok := x.GetMatchSpecifier().(*RouteMatch_ServiceName); ok { return x.ServiceName } return "" } func (x *RouteMatch) GetInvert() bool { if x != nil { return x.Invert } return false } func (x *RouteMatch) GetHeaders() []*route.HeaderMatcher { if x != nil { return x.Headers } return nil } type isRouteMatch_MatchSpecifier interface { isRouteMatch_MatchSpecifier() } type RouteMatch_MethodName struct { // If specified, the route must exactly match the request method name. As a special case, an // empty string matches any request method name. MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3,oneof"` } type RouteMatch_ServiceName struct { // If specified, the route must have the service name as the request method name prefix. As a // special case, an empty string matches any service name. Only relevant when service // multiplexing. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3,oneof"` } func (*RouteMatch_MethodName) isRouteMatch_MatchSpecifier() {} func (*RouteMatch_ServiceName) isRouteMatch_MatchSpecifier() {} // [#next-free-field: 7] type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_WeightedClusters // *RouteAction_ClusterHeader ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field will be considered. // Note that this will be merged with what's provided in :ref:`WeightedCluster.metadata_match // `, // with values there taking precedence. Keys and values should be provided under the "envoy.lb" // metadata key. MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Specifies a set of rate limit configurations that could be applied to the route. // N.B. Thrift service or method name matching can be achieved by specifying a RequestHeaders // action with the header name ":method-name". RateLimits []*route.RateLimit `protobuf:"bytes,4,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Strip the service prefix from the method name, if there's a prefix. For // example, the method call Service:method would end up being just method. StripServiceName bool `protobuf:"varint,5,opt,name=strip_service_name,json=stripServiceName,proto3" json:"strip_service_name,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{3} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetWeightedClusters() *WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetClusterHeader() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_ClusterHeader); ok { return x.ClusterHeader } return "" } func (x *RouteAction) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *RouteAction) GetRateLimits() []*route.RateLimit { if x != nil { return x.RateLimits } return nil } func (x *RouteAction) GetStripServiceName() bool { if x != nil { return x.StripServiceName } return false } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates a single upstream cluster to which the request should be routed // to. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. WeightedClusters *WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } type RouteAction_ClusterHeader struct { // Envoy will determine the cluster to route to by reading the value of the // Thrift header named by cluster_header from the request headers. If the // header is not found or the referenced cluster does not exist Envoy will // respond with an unknown method exception or an internal error exception, // respectively. ClusterHeader string `protobuf:"bytes,6,opt,name=cluster_header,json=clusterHeader,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} func (*RouteAction_ClusterHeader) isRouteAction_ClusterSpecifier() {} // Allows for specification of multiple upstream clusters along with weights that indicate the // percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster // based on these weights. type WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *WeightedCluster) Reset() { *x = WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster) ProtoMessage() {} func (x *WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster.ProtoReflect.Descriptor instead. func (*WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{4} } func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } type WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the upstream cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When a request matches the route, the choice of an upstream cluster is determined by its // weight. The sum of weights across all entries in the clusters array determines the total // weight. Weight *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field, combined with what's // provided in :ref:`RouteAction's metadata_match // `, // will be considered. Values here will take precedence. Keys and values should be provided // under the "envoy.lb" metadata key. MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *WeightedCluster_ClusterWeight) Reset() { *x = WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP(), []int{4, 0} } func (x *WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *WeightedCluster_ClusterWeight) GetWeight() *wrappers.UInt32Value { if x != nil { return x.Weight } return nil } func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5e, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x16, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa3, 0x03, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0xe9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescOnce sync.Once file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescData = file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDesc ) func file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescData) }) return file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDescData } var file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration (*Route)(nil), // 1: envoy.config.filter.network.thrift_proxy.v2alpha1.Route (*RouteMatch)(nil), // 2: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteMatch (*RouteAction)(nil), // 3: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction (*WeightedCluster)(nil), // 4: envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster (*WeightedCluster_ClusterWeight)(nil), // 5: envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight (*route.HeaderMatcher)(nil), // 6: envoy.api.v2.route.HeaderMatcher (*core.Metadata)(nil), // 7: envoy.api.v2.core.Metadata (*route.RateLimit)(nil), // 8: envoy.api.v2.route.RateLimit (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value } var file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration.routes:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.Route 2, // 1: envoy.config.filter.network.thrift_proxy.v2alpha1.Route.match:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.RouteMatch 3, // 2: envoy.config.filter.network.thrift_proxy.v2alpha1.Route.route:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction 6, // 3: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers:type_name -> envoy.api.v2.route.HeaderMatcher 4, // 4: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction.weighted_clusters:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster 7, // 5: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction.metadata_match:type_name -> envoy.api.v2.core.Metadata 8, // 6: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteAction.rate_limits:type_name -> envoy.api.v2.route.RateLimit 5, // 7: envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.clusters:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight 9, // 8: envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value 7, // 9: envoy.config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.api.v2.core.Metadata 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_init() } func file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_init() { if File_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RouteMatch_MethodName)(nil), (*RouteMatch_ServiceName)(nil), } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_WeightedClusters)(nil), (*RouteAction_ClusterHeader)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDesc, NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_msgTypes, }.Build() File_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto = out.File file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_rawDesc = nil file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_goTypes = nil file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/v2alpha1/route.pb.validate.go000077500000000000000000000704141454502223200324010ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/thrift_proxy/v2alpha1/route.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Invert for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofMatchSpecifierPresent := false switch v := m.MatchSpecifier.(type) { case *RouteMatch_MethodName: if v == nil { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for MethodName case *RouteMatch_ServiceName: if v == nil { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for ServiceName default: _ = v // ensures v is used } if !oneofMatchSpecifierPresent { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for StripServiceName oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if len(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_ClusterHeader: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if len(m.GetClusterHeader()) < 1 { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} // Validate checks the field values on WeightedCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // WeightedClusterMultiError, or nil if none found. func (m *WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return WeightedClusterMultiError(errors) } return nil } // WeightedClusterMultiError is an error wrapping multiple validation errors // returned by WeightedCluster.ValidateAll() if the designated constraints // aren't met. type WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedClusterMultiError) AllErrors() []error { return m } // WeightedClusterValidationError is the validation error returned by // WeightedCluster.Validate if the designated constraints aren't met. type WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedClusterValidationError) ErrorName() string { return "WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedClusterValidationError{} // Validate checks the field values on WeightedCluster_ClusterWeight with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster_ClusterWeight with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := WeightedCluster_ClusterWeightValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WeightedCluster_ClusterWeightMultiError(errors) } return nil } // WeightedCluster_ClusterWeightMultiError is an error wrapping multiple // validation errors returned by WeightedCluster_ClusterWeight.ValidateAll() // if the designated constraints aren't met. type WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // WeightedCluster_ClusterWeightValidationError is the validation error // returned by WeightedCluster_ClusterWeight.Validate if the designated // constraints aren't met. type WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedCluster_ClusterWeightValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.pb.go000077500000000000000000000724351454502223200322210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Thrift transport types supported by Envoy. type TransportType int32 const ( // For downstream connections, the Thrift proxy will attempt to determine which transport to use. // For upstream connections, the Thrift proxy will use same transport as the downstream // connection. TransportType_AUTO_TRANSPORT TransportType = 0 // The Thrift proxy will use the Thrift framed transport. TransportType_FRAMED TransportType = 1 // The Thrift proxy will use the Thrift unframed transport. TransportType_UNFRAMED TransportType = 2 // The Thrift proxy will assume the client is using the Thrift header transport. TransportType_HEADER TransportType = 3 ) // Enum value maps for TransportType. var ( TransportType_name = map[int32]string{ 0: "AUTO_TRANSPORT", 1: "FRAMED", 2: "UNFRAMED", 3: "HEADER", } TransportType_value = map[string]int32{ "AUTO_TRANSPORT": 0, "FRAMED": 1, "UNFRAMED": 2, "HEADER": 3, } ) func (x TransportType) Enum() *TransportType { p := new(TransportType) *p = x return p } func (x TransportType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TransportType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes[0].Descriptor() } func (TransportType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes[0] } func (x TransportType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TransportType.Descriptor instead. func (TransportType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP(), []int{0} } // Thrift Protocol types supported by Envoy. type ProtocolType int32 const ( // For downstream connections, the Thrift proxy will attempt to determine which protocol to use. // Note that the older, non-strict (or lax) binary protocol is not included in automatic protocol // detection. For upstream connections, the Thrift proxy will use the same protocol as the // downstream connection. ProtocolType_AUTO_PROTOCOL ProtocolType = 0 // The Thrift proxy will use the Thrift binary protocol. ProtocolType_BINARY ProtocolType = 1 // The Thrift proxy will use Thrift non-strict binary protocol. ProtocolType_LAX_BINARY ProtocolType = 2 // The Thrift proxy will use the Thrift compact protocol. ProtocolType_COMPACT ProtocolType = 3 // The Thrift proxy will use the Thrift "Twitter" protocol implemented by the finagle library. ProtocolType_TWITTER ProtocolType = 4 ) // Enum value maps for ProtocolType. var ( ProtocolType_name = map[int32]string{ 0: "AUTO_PROTOCOL", 1: "BINARY", 2: "LAX_BINARY", 3: "COMPACT", 4: "TWITTER", } ProtocolType_value = map[string]int32{ "AUTO_PROTOCOL": 0, "BINARY": 1, "LAX_BINARY": 2, "COMPACT": 3, "TWITTER": 4, } ) func (x ProtocolType) Enum() *ProtocolType { p := new(ProtocolType) *p = x return p } func (x ProtocolType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProtocolType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes[1].Descriptor() } func (ProtocolType) Type() protoreflect.EnumType { return &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes[1] } func (x ProtocolType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProtocolType.Descriptor instead. func (ProtocolType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 6] type ThriftProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of transport that the Thrift proxy should use. Defaults to // :ref:`AUTO_TRANSPORT`. Transport TransportType `protobuf:"varint,2,opt,name=transport,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType" json:"transport,omitempty"` // Supplies the type of protocol that the Thrift proxy should use. Defaults to // :ref:`AUTO_PROTOCOL`. Protocol ProtocolType `protobuf:"varint,3,opt,name=protocol,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType" json:"protocol,omitempty"` // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The route table for the connection manager is static and is specified in this property. RouteConfig *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // A list of individual Thrift filters that make up the filter chain for requests made to the // Thrift proxy. Order matters as the filters are processed sequentially. For backwards // compatibility, if no thrift_filters are specified, a default Thrift router filter // (`envoy.filters.thrift.router`) is used. ThriftFilters []*ThriftFilter `protobuf:"bytes,5,rep,name=thrift_filters,json=thriftFilters,proto3" json:"thrift_filters,omitempty"` } func (x *ThriftProxy) Reset() { *x = ThriftProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftProxy) ProtoMessage() {} func (x *ThriftProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftProxy.ProtoReflect.Descriptor instead. func (*ThriftProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP(), []int{0} } func (x *ThriftProxy) GetTransport() TransportType { if x != nil { return x.Transport } return TransportType_AUTO_TRANSPORT } func (x *ThriftProxy) GetProtocol() ProtocolType { if x != nil { return x.Protocol } return ProtocolType_AUTO_PROTOCOL } func (x *ThriftProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ThriftProxy) GetRouteConfig() *RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (x *ThriftProxy) GetThriftFilters() []*ThriftFilter { if x != nil { return x.ThriftFilters } return nil } // ThriftFilter configures a Thrift filter. type ThriftFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a supported // filter. The built-in filters are: // // [#comment:TODO(zuercher): Auto generate the following list] // * :ref:`envoy.filters.thrift.router ` // * :ref:`envoy.filters.thrift.rate_limit ` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being instantiated. See the supported // filters for further documentation. // // Types that are assignable to ConfigType: // // *ThriftFilter_Config // *ThriftFilter_TypedConfig ConfigType isThriftFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *ThriftFilter) Reset() { *x = ThriftFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftFilter) ProtoMessage() {} func (x *ThriftFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftFilter.ProtoReflect.Descriptor instead. func (*ThriftFilter) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP(), []int{1} } func (x *ThriftFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ThriftFilter) GetConfigType() isThriftFilter_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto. func (x *ThriftFilter) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*ThriftFilter_Config); ok { return x.Config } return nil } func (x *ThriftFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ThriftFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isThriftFilter_ConfigType interface { isThriftFilter_ConfigType() } type ThriftFilter_Config struct { // Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type ThriftFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ThriftFilter_Config) isThriftFilter_ConfigType() {} func (*ThriftFilter_TypedConfig) isThriftFilter_ConfigType() {} // ThriftProtocolOptions specifies Thrift upstream protocol options. This object is used in // in // :ref:`typed_extension_protocol_options`, // keyed by the name `envoy.filters.network.thrift_proxy`. type ThriftProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of transport that the Thrift proxy should use for upstream connections. // Selecting // :ref:`AUTO_TRANSPORT`, // which is the default, causes the proxy to use the same transport as the downstream connection. Transport TransportType `protobuf:"varint,1,opt,name=transport,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType" json:"transport,omitempty"` // Supplies the type of protocol that the Thrift proxy should use for upstream connections. // Selecting // :ref:`AUTO_PROTOCOL`, // which is the default, causes the proxy to use the same protocol as the downstream connection. Protocol ProtocolType `protobuf:"varint,2,opt,name=protocol,proto3,enum=envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType" json:"protocol,omitempty"` } func (x *ThriftProtocolOptions) Reset() { *x = ThriftProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftProtocolOptions) ProtoMessage() {} func (x *ThriftProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftProtocolOptions.ProtoReflect.Descriptor instead. func (*ThriftProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP(), []int{2} } func (x *ThriftProtocolOptions) GetTransport() TransportType { if x != nil { return x.Transport } return TransportType_AUTO_TRANSPORT } func (x *ThriftProtocolOptions) GetProtocol() ProtocolType { if x != nil { return x.Protocol } return ProtocolType_AUTO_PROTOCOL } var File_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a, 0x0b, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x68, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x65, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x68, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x15, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x65, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x49, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x03, 0x2a, 0x57, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x41, 0x58, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x57, 0x49, 0x54, 0x54, 0x45, 0x52, 0x10, 0x04, 0x42, 0xef, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescData = file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDesc ) func file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDescData } var file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_goTypes = []interface{}{ (TransportType)(0), // 0: envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType (ProtocolType)(0), // 1: envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType (*ThriftProxy)(nil), // 2: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy (*ThriftFilter)(nil), // 3: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter (*ThriftProtocolOptions)(nil), // 4: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions (*RouteConfiguration)(nil), // 5: envoy.config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration (*_struct.Struct)(nil), // 6: google.protobuf.Struct (*any1.Any)(nil), // 7: google.protobuf.Any } var file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_depIdxs = []int32{ 0, // 0: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy.transport:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType 1, // 1: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy.protocol:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType 5, // 2: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy.route_config:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.RouteConfiguration 3, // 3: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProxy.thrift_filters:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter 6, // 4: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter.config:type_name -> google.protobuf.Struct 7, // 5: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftFilter.typed_config:type_name -> google.protobuf.Any 0, // 6: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions.transport:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.TransportType 1, // 7: envoy.config.filter.network.thrift_proxy.v2alpha1.ThriftProtocolOptions.protocol:type_name -> envoy.config.filter.network.thrift_proxy.v2alpha1.ProtocolType 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_init() } func file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_init() { if File_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto != nil { return } file_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ThriftFilter_Config)(nil), (*ThriftFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_depIdxs, EnumInfos: file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_enumTypes, MessageInfos: file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto = out.File file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_rawDesc = nil file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_goTypes = nil file_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto_depIdxs = nil } thrift_proxy.pb.validate.go000077500000000000000000000340501454502223200337210ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/thrift_proxy/v2alpha1// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ThriftProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ThriftProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ThriftProxyMultiError, or // nil if none found. func (m *ThriftProxy) ValidateAll() error { return m.validate(true) } func (m *ThriftProxy) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TransportType_name[int32(m.GetTransport())]; !ok { err := ThriftProxyValidationError{ field: "Transport", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocol())]; !ok { err := ThriftProxyValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(m.GetStatPrefix()) < 1 { err := ThriftProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetThriftFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ThriftProxyMultiError(errors) } return nil } // ThriftProxyMultiError is an error wrapping multiple validation errors // returned by ThriftProxy.ValidateAll() if the designated constraints aren't met. type ThriftProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftProxyMultiError) AllErrors() []error { return m } // ThriftProxyValidationError is the validation error returned by // ThriftProxy.Validate if the designated constraints aren't met. type ThriftProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftProxyValidationError) ErrorName() string { return "ThriftProxyValidationError" } // Error satisfies the builtin error interface func (e ThriftProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftProxyValidationError{} // Validate checks the field values on ThriftFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ThriftFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ThriftFilterMultiError, or // nil if none found. func (m *ThriftFilter) ValidateAll() error { return m.validate(true) } func (m *ThriftFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ThriftFilterValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *ThriftFilter_Config: if v == nil { err := ThriftFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *ThriftFilter_TypedConfig: if v == nil { err := ThriftFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ThriftFilterMultiError(errors) } return nil } // ThriftFilterMultiError is an error wrapping multiple validation errors // returned by ThriftFilter.ValidateAll() if the designated constraints aren't met. type ThriftFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftFilterMultiError) AllErrors() []error { return m } // ThriftFilterValidationError is the validation error returned by // ThriftFilter.Validate if the designated constraints aren't met. type ThriftFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftFilterValidationError) ErrorName() string { return "ThriftFilterValidationError" } // Error satisfies the builtin error interface func (e ThriftFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftFilterValidationError{} // Validate checks the field values on ThriftProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ThriftProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ThriftProtocolOptionsMultiError, or nil if none found. func (m *ThriftProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *ThriftProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TransportType_name[int32(m.GetTransport())]; !ok { err := ThriftProtocolOptionsValidationError{ field: "Transport", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocol())]; !ok { err := ThriftProtocolOptionsValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ThriftProtocolOptionsMultiError(errors) } return nil } // ThriftProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by ThriftProtocolOptions.ValidateAll() if the designated // constraints aren't met. type ThriftProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftProtocolOptionsMultiError) AllErrors() []error { return m } // ThriftProtocolOptionsValidationError is the validation error returned by // ThriftProtocolOptions.Validate if the designated constraints aren't met. type ThriftProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftProtocolOptionsValidationError) ErrorName() string { return "ThriftProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e ThriftProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/config/filter/network/zookeeper_proxy/000077500000000000000000000000001454502223200256005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/zookeeper_proxy/v1alpha1/000077500000000000000000000000001454502223200272155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/zookeeper_proxy/v1alpha1/zookeeper_proxy.pb.go000077500000000000000000000255231454502223200334220ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/network/zookeeper_proxy/v1alpha1/zookeeper_proxy.proto package v1alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ZooKeeperProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // [#not-implemented-hide:] The optional path to use for writing ZooKeeper access logs. // If the access log field is empty, access logs will not be written. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Messages — requests, responses and events — that are bigger than this value will // be ignored. If it is not set, the default value is 1Mb. // // The value here should match the jute.maxbuffer property in your cluster configuration: // // https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#Unsafe+Options // // if that is set. If it isn't, ZooKeeper's default is also 1Mb. MaxPacketBytes *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_packet_bytes,json=maxPacketBytes,proto3" json:"max_packet_bytes,omitempty"` } func (x *ZooKeeperProxy) Reset() { *x = ZooKeeperProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZooKeeperProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZooKeeperProxy) ProtoMessage() {} func (x *ZooKeeperProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ZooKeeperProxy.ProtoReflect.Descriptor instead. func (*ZooKeeperProxy) Descriptor() ([]byte, []int) { return file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescGZIP(), []int{0} } func (x *ZooKeeperProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ZooKeeperProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } func (x *ZooKeeperProxy) GetMaxPacketBytes() *wrappers.UInt32Value { if x != nil { return x.MaxPacketBytes } return nil } var File_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x5a, 0x6f, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0xfb, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x35, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x13, 0x5a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescData = file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDesc ) func file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescData) }) return file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDescData } var file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_goTypes = []interface{}{ (*ZooKeeperProxy)(nil), // 0: envoy.config.filter.network.zookeeper_proxy.v1alpha1.ZooKeeperProxy (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value } var file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.network.zookeeper_proxy.v1alpha1.ZooKeeperProxy.max_packet_bytes:type_name -> google.protobuf.UInt32Value 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_init() } func file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_init() { if File_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZooKeeperProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto = out.File file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_rawDesc = nil file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_goTypes = nil file_envoy_config_filter_network_zookeeper_proxy_v1alpha1_zookeeper_proxy_proto_depIdxs = nil } zookeeper_proxy.pb.validate.go000077500000000000000000000105621454502223200351300ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/network/zookeeper_proxy/v1alpha1// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/network/zookeeper_proxy/v1alpha1/zookeeper_proxy.proto package v1alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ZooKeeperProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ZooKeeperProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ZooKeeperProxy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ZooKeeperProxyMultiError, // or nil if none found. func (m *ZooKeeperProxy) ValidateAll() error { return m.validate(true) } func (m *ZooKeeperProxy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := ZooKeeperProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if all { switch v := interface{}(m.GetMaxPacketBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPacketBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ZooKeeperProxyMultiError(errors) } return nil } // ZooKeeperProxyMultiError is an error wrapping multiple validation errors // returned by ZooKeeperProxy.ValidateAll() if the designated constraints // aren't met. type ZooKeeperProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZooKeeperProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZooKeeperProxyMultiError) AllErrors() []error { return m } // ZooKeeperProxyValidationError is the validation error returned by // ZooKeeperProxy.Validate if the designated constraints aren't met. type ZooKeeperProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZooKeeperProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZooKeeperProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZooKeeperProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZooKeeperProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZooKeeperProxyValidationError) ErrorName() string { return "ZooKeeperProxyValidationError" } // Error satisfies the builtin error interface func (e ZooKeeperProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZooKeeperProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZooKeeperProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZooKeeperProxyValidationError{} go-control-plane-0.12.0/envoy/config/filter/thrift/000077500000000000000000000000001454502223200221435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/thrift/rate_limit/000077500000000000000000000000001454502223200242745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/thrift/rate_limit/v2alpha1/000077500000000000000000000000001454502223200257125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/thrift/rate_limit/v2alpha1/rate_limit.pb.go000077500000000000000000000305001454502223200307730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/thrift/rate_limit/v2alpha1/rate_limit.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The rate limit domain to use in the rate limit service request. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // Specifies the rate limit configuration stage. Each configured rate limit filter performs a // rate limit check using descriptors configured in the // :ref:`envoy_api_msg_config.filter.network.thrift_proxy.v2alpha1.RouteAction` for the request. // Only those entries with a matching stage number are used for a given filter. If not set, the // default stage number is 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to false. FailureModeDeny bool `protobuf:"varint,4,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v2.RateLimitServiceConfig `protobuf:"bytes,5,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitService() *v2.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } var File_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto protoreflect.FileDescriptor var file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0xf9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x44, 0x12, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescOnce sync.Once file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescData = file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDesc ) func file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescGZIP() []byte { file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescData) }) return file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDescData } var file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_goTypes = []interface{}{ (*RateLimit)(nil), // 0: envoy.config.filter.thrift.rate_limit.v2alpha1.RateLimit (*duration.Duration)(nil), // 1: google.protobuf.Duration (*v2.RateLimitServiceConfig)(nil), // 2: envoy.config.ratelimit.v2.RateLimitServiceConfig } var file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.thrift.rate_limit.v2alpha1.RateLimit.timeout:type_name -> google.protobuf.Duration 2, // 1: envoy.config.filter.thrift.rate_limit.v2alpha1.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v2.RateLimitServiceConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_init() } func file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_init() { if File_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_depIdxs, MessageInfos: file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_msgTypes, }.Build() File_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto = out.File file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_rawDesc = nil file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_goTypes = nil file_envoy_config_filter_thrift_rate_limit_v2alpha1_rate_limit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/thrift/rate_limit/v2alpha1/rate_limit.pb.validate.go000077500000000000000000000126311454502223200325700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/thrift/rate_limit/v2alpha1/rate_limit.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if m.GetStage() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} go-control-plane-0.12.0/envoy/config/filter/thrift/router/000077500000000000000000000000001454502223200234635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/thrift/router/v2alpha1/000077500000000000000000000000001454502223200251015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/thrift/router/v2alpha1/router.pb.go000077500000000000000000000146451454502223200273650ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/thrift/router/v2alpha1/router.proto package v2alpha1 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_thrift_router_v2alpha1_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_thrift_router_v2alpha1_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescGZIP(), []int{0} } var File_envoy_config_filter_thrift_router_v2alpha1_router_proto protoreflect.FileDescriptor var file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x08, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xa4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescOnce sync.Once file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescData = file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDesc ) func file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescGZIP() []byte { file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescOnce.Do(func() { file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescData) }) return file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDescData } var file_envoy_config_filter_thrift_router_v2alpha1_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_thrift_router_v2alpha1_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.config.filter.thrift.router.v2alpha1.Router } var file_envoy_config_filter_thrift_router_v2alpha1_router_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_filter_thrift_router_v2alpha1_router_proto_init() } func file_envoy_config_filter_thrift_router_v2alpha1_router_proto_init() { if File_envoy_config_filter_thrift_router_v2alpha1_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_thrift_router_v2alpha1_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_thrift_router_v2alpha1_router_proto_goTypes, DependencyIndexes: file_envoy_config_filter_thrift_router_v2alpha1_router_proto_depIdxs, MessageInfos: file_envoy_config_filter_thrift_router_v2alpha1_router_proto_msgTypes, }.Build() File_envoy_config_filter_thrift_router_v2alpha1_router_proto = out.File file_envoy_config_filter_thrift_router_v2alpha1_router_proto_rawDesc = nil file_envoy_config_filter_thrift_router_v2alpha1_router_proto_goTypes = nil file_envoy_config_filter_thrift_router_v2alpha1_router_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/thrift/router/v2alpha1/router.pb.validate.go000077500000000000000000000060641454502223200311510ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/thrift/router/v2alpha1/router.proto package v2alpha1 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/envoy/config/filter/udp/000077500000000000000000000000001454502223200214335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/udp/udp_proxy/000077500000000000000000000000001454502223200234645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/udp/udp_proxy/v2alpha/000077500000000000000000000000001454502223200250215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.pb.go000077500000000000000000000244331454502223200300120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the UDP proxy filter. type UdpProxyConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The stat prefix used when emitting UDP proxy filter stats. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to RouteSpecifier: // // *UdpProxyConfig_Cluster RouteSpecifier isUdpProxyConfig_RouteSpecifier `protobuf_oneof:"route_specifier"` // The idle timeout for sessions. Idle is defined as no datagrams between received or sent by // the session. The default if not specified is 1 minute. IdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` } func (x *UdpProxyConfig) Reset() { *x = UdpProxyConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig) ProtoMessage() {} func (x *UdpProxyConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig.ProtoReflect.Descriptor instead. func (*UdpProxyConfig) Descriptor() ([]byte, []int) { return file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescGZIP(), []int{0} } func (x *UdpProxyConfig) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *UdpProxyConfig) GetRouteSpecifier() isUdpProxyConfig_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } func (x *UdpProxyConfig) GetCluster() string { if x, ok := x.GetRouteSpecifier().(*UdpProxyConfig_Cluster); ok { return x.Cluster } return "" } func (x *UdpProxyConfig) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } type isUdpProxyConfig_RouteSpecifier interface { isUdpProxyConfig_RouteSpecifier() } type UdpProxyConfig_Cluster struct { // The upstream cluster to connect to. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } func (*UdpProxyConfig_Cluster) isUdpProxyConfig_RouteSpecifier() {} var File_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto protoreflect.FileDescriptor var file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDesc = []byte{ 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x0e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x16, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xd5, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescOnce sync.Once file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescData = file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDesc ) func file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescGZIP() []byte { file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescOnce.Do(func() { file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescData) }) return file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDescData } var file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_goTypes = []interface{}{ (*UdpProxyConfig)(nil), // 0: envoy.config.filter.udp.udp_proxy.v2alpha.UdpProxyConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.config.filter.udp.udp_proxy.v2alpha.UdpProxyConfig.idle_timeout:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_init() } func file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_init() { if File_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*UdpProxyConfig_Cluster)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_goTypes, DependencyIndexes: file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_depIdxs, MessageInfos: file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_msgTypes, }.Build() File_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto = out.File file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_rawDesc = nil file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_goTypes = nil file_envoy_config_filter_udp_udp_proxy_v2alpha_udp_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.pb.validate.go000077500000000000000000000121411454502223200315730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpProxyConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UdpProxyConfigMultiError, // or nil if none found. func (m *UdpProxyConfig) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetStatPrefix()) < 1 { err := UdpProxyConfigValidationError{ field: "StatPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *UdpProxyConfig_Cluster: if v == nil { err := UdpProxyConfigValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if len(m.GetCluster()) < 1 { err := UdpProxyConfigValidationError{ field: "Cluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofRouteSpecifierPresent { err := UdpProxyConfigValidationError{ field: "RouteSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return UdpProxyConfigMultiError(errors) } return nil } // UdpProxyConfigMultiError is an error wrapping multiple validation errors // returned by UdpProxyConfig.ValidateAll() if the designated constraints // aren't met. type UdpProxyConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfigMultiError) AllErrors() []error { return m } // UdpProxyConfigValidationError is the validation error returned by // UdpProxyConfig.Validate if the designated constraints aren't met. type UdpProxyConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfigValidationError) ErrorName() string { return "UdpProxyConfigValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfigValidationError{} go-control-plane-0.12.0/envoy/config/grpc_credential/000077500000000000000000000000001454502223200225035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/grpc_credential/v2alpha/000077500000000000000000000000001454502223200240405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/grpc_credential/v2alpha/aws_iam.pb.go000077500000000000000000000172141454502223200264170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/grpc_credential/v2alpha/aws_iam.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type AwsIamConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The `service namespace // `_ // of the Grpc endpoint. // // Example: appmesh ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The `region `_ hosting the Grpc // endpoint. If unspecified, the extension will use the value in the “AWS_REGION“ environment // variable. // // Example: us-west-2 Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` } func (x *AwsIamConfig) Reset() { *x = AwsIamConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AwsIamConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AwsIamConfig) ProtoMessage() {} func (x *AwsIamConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AwsIamConfig.ProtoReflect.Descriptor instead. func (*AwsIamConfig) Descriptor() ([]byte, []int) { return file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescGZIP(), []int{0} } func (x *AwsIamConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *AwsIamConfig) GetRegion() string { if x != nil { return x.Region } return "" } var File_envoy_config_grpc_credential_v2alpha_aws_iam_proto protoreflect.FileDescriptor var file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0c, 0x41, 0x77, 0x73, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x98, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x41, 0x77, 0x73, 0x49, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescOnce sync.Once file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescData = file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDesc ) func file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescGZIP() []byte { file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescOnce.Do(func() { file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescData) }) return file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDescData } var file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_goTypes = []interface{}{ (*AwsIamConfig)(nil), // 0: envoy.config.grpc_credential.v2alpha.AwsIamConfig } var file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_init() } func file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_init() { if File_envoy_config_grpc_credential_v2alpha_aws_iam_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AwsIamConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_goTypes, DependencyIndexes: file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_depIdxs, MessageInfos: file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_msgTypes, }.Build() File_envoy_config_grpc_credential_v2alpha_aws_iam_proto = out.File file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_rawDesc = nil file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_goTypes = nil file_envoy_config_grpc_credential_v2alpha_aws_iam_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/grpc_credential/v2alpha/aws_iam.pb.validate.go000077500000000000000000000067061454502223200302130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/grpc_credential/v2alpha/aws_iam.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AwsIamConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AwsIamConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AwsIamConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AwsIamConfigMultiError, or // nil if none found. func (m *AwsIamConfig) ValidateAll() error { return m.validate(true) } func (m *AwsIamConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetServiceName()) < 1 { err := AwsIamConfigValidationError{ field: "ServiceName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for Region if len(errors) > 0 { return AwsIamConfigMultiError(errors) } return nil } // AwsIamConfigMultiError is an error wrapping multiple validation errors // returned by AwsIamConfig.ValidateAll() if the designated constraints aren't met. type AwsIamConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AwsIamConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AwsIamConfigMultiError) AllErrors() []error { return m } // AwsIamConfigValidationError is the validation error returned by // AwsIamConfig.Validate if the designated constraints aren't met. type AwsIamConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AwsIamConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AwsIamConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AwsIamConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AwsIamConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AwsIamConfigValidationError) ErrorName() string { return "AwsIamConfigValidationError" } // Error satisfies the builtin error interface func (e AwsIamConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAwsIamConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AwsIamConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AwsIamConfigValidationError{} go-control-plane-0.12.0/envoy/config/grpc_credential/v2alpha/file_based_metadata.pb.go000077500000000000000000000226751454502223200307230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/grpc_credential/v2alpha/file_based_metadata.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FileBasedMetadataConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Location or inline data of secret to use for authentication of the Google gRPC connection // this secret will be attached to a header of the gRPC connection SecretData *core.DataSource `protobuf:"bytes,1,opt,name=secret_data,json=secretData,proto3" json:"secret_data,omitempty"` // Metadata header key to use for sending the secret data // if no header key is set, "authorization" header will be used HeaderKey string `protobuf:"bytes,2,opt,name=header_key,json=headerKey,proto3" json:"header_key,omitempty"` // Prefix to prepend to the secret in the metadata header // if no prefix is set, the default is to use no prefix HeaderPrefix string `protobuf:"bytes,3,opt,name=header_prefix,json=headerPrefix,proto3" json:"header_prefix,omitempty"` } func (x *FileBasedMetadataConfig) Reset() { *x = FileBasedMetadataConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileBasedMetadataConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileBasedMetadataConfig) ProtoMessage() {} func (x *FileBasedMetadataConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileBasedMetadataConfig.ProtoReflect.Descriptor instead. func (*FileBasedMetadataConfig) Descriptor() ([]byte, []int) { return file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescGZIP(), []int{0} } func (x *FileBasedMetadataConfig) GetSecretData() *core.DataSource { if x != nil { return x.SecretData } return nil } func (x *FileBasedMetadataConfig) GetHeaderKey() string { if x != nil { return x.HeaderKey } return "" } func (x *FileBasedMetadataConfig) GetHeaderPrefix() string { if x != nil { return x.HeaderPrefix } return "" } var File_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto protoreflect.FileDescriptor var file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0xa3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x16, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescOnce sync.Once file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescData = file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDesc ) func file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescGZIP() []byte { file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescOnce.Do(func() { file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescData) }) return file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDescData } var file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_goTypes = []interface{}{ (*FileBasedMetadataConfig)(nil), // 0: envoy.config.grpc_credential.v2alpha.FileBasedMetadataConfig (*core.DataSource)(nil), // 1: envoy.api.v2.core.DataSource } var file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_depIdxs = []int32{ 1, // 0: envoy.config.grpc_credential.v2alpha.FileBasedMetadataConfig.secret_data:type_name -> envoy.api.v2.core.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_init() } func file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_init() { if File_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileBasedMetadataConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_goTypes, DependencyIndexes: file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_depIdxs, MessageInfos: file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_msgTypes, }.Build() File_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto = out.File file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_rawDesc = nil file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_goTypes = nil file_envoy_config_grpc_credential_v2alpha_file_based_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/grpc_credential/v2alpha/file_based_metadata.pb.validate.go000077500000000000000000000106351454502223200325040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/grpc_credential/v2alpha/file_based_metadata.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileBasedMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FileBasedMetadataConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileBasedMetadataConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FileBasedMetadataConfigMultiError, or nil if none found. func (m *FileBasedMetadataConfig) ValidateAll() error { return m.validate(true) } func (m *FileBasedMetadataConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSecretData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecretData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HeaderKey // no validation rules for HeaderPrefix if len(errors) > 0 { return FileBasedMetadataConfigMultiError(errors) } return nil } // FileBasedMetadataConfigMultiError is an error wrapping multiple validation // errors returned by FileBasedMetadataConfig.ValidateAll() if the designated // constraints aren't met. type FileBasedMetadataConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileBasedMetadataConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileBasedMetadataConfigMultiError) AllErrors() []error { return m } // FileBasedMetadataConfigValidationError is the validation error returned by // FileBasedMetadataConfig.Validate if the designated constraints aren't met. type FileBasedMetadataConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileBasedMetadataConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileBasedMetadataConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileBasedMetadataConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileBasedMetadataConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileBasedMetadataConfigValidationError) ErrorName() string { return "FileBasedMetadataConfigValidationError" } // Error satisfies the builtin error interface func (e FileBasedMetadataConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileBasedMetadataConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileBasedMetadataConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileBasedMetadataConfigValidationError{} go-control-plane-0.12.0/envoy/config/grpc_credential/v3/000077500000000000000000000000001454502223200230335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/grpc_credential/v3/aws_iam.pb.go000077500000000000000000000200561454502223200254100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/grpc_credential/v3/aws_iam.proto package grpc_credentialv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type AwsIamConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The `service namespace // `_ // of the Grpc endpoint. // // Example: appmesh ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The `region `_ hosting the Grpc // endpoint. If unspecified, the extension will use the value in the “AWS_REGION“ environment // variable. // // Example: us-west-2 Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` } func (x *AwsIamConfig) Reset() { *x = AwsIamConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_grpc_credential_v3_aws_iam_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AwsIamConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AwsIamConfig) ProtoMessage() {} func (x *AwsIamConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_grpc_credential_v3_aws_iam_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AwsIamConfig.ProtoReflect.Descriptor instead. func (*AwsIamConfig) Descriptor() ([]byte, []int) { return file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescGZIP(), []int{0} } func (x *AwsIamConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *AwsIamConfig) GetRegion() string { if x != nil { return x.Region } return "" } var File_envoy_config_grpc_credential_v3_aws_iam_proto protoreflect.FileDescriptor var file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x41, 0x77, 0x73, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x77, 0x73, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x41, 0x77, 0x73, 0x49, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescOnce sync.Once file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescData = file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDesc ) func file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescGZIP() []byte { file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescOnce.Do(func() { file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescData) }) return file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDescData } var file_envoy_config_grpc_credential_v3_aws_iam_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_grpc_credential_v3_aws_iam_proto_goTypes = []interface{}{ (*AwsIamConfig)(nil), // 0: envoy.config.grpc_credential.v3.AwsIamConfig } var file_envoy_config_grpc_credential_v3_aws_iam_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_grpc_credential_v3_aws_iam_proto_init() } func file_envoy_config_grpc_credential_v3_aws_iam_proto_init() { if File_envoy_config_grpc_credential_v3_aws_iam_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_grpc_credential_v3_aws_iam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AwsIamConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_grpc_credential_v3_aws_iam_proto_goTypes, DependencyIndexes: file_envoy_config_grpc_credential_v3_aws_iam_proto_depIdxs, MessageInfos: file_envoy_config_grpc_credential_v3_aws_iam_proto_msgTypes, }.Build() File_envoy_config_grpc_credential_v3_aws_iam_proto = out.File file_envoy_config_grpc_credential_v3_aws_iam_proto_rawDesc = nil file_envoy_config_grpc_credential_v3_aws_iam_proto_goTypes = nil file_envoy_config_grpc_credential_v3_aws_iam_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/grpc_credential/v3/aws_iam.pb.validate.go000077500000000000000000000067361454502223200272110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/grpc_credential/v3/aws_iam.proto package grpc_credentialv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AwsIamConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AwsIamConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AwsIamConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AwsIamConfigMultiError, or // nil if none found. func (m *AwsIamConfig) ValidateAll() error { return m.validate(true) } func (m *AwsIamConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetServiceName()) < 1 { err := AwsIamConfigValidationError{ field: "ServiceName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Region if len(errors) > 0 { return AwsIamConfigMultiError(errors) } return nil } // AwsIamConfigMultiError is an error wrapping multiple validation errors // returned by AwsIamConfig.ValidateAll() if the designated constraints aren't met. type AwsIamConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AwsIamConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AwsIamConfigMultiError) AllErrors() []error { return m } // AwsIamConfigValidationError is the validation error returned by // AwsIamConfig.Validate if the designated constraints aren't met. type AwsIamConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AwsIamConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AwsIamConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AwsIamConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AwsIamConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AwsIamConfigValidationError) ErrorName() string { return "AwsIamConfigValidationError" } // Error satisfies the builtin error interface func (e AwsIamConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAwsIamConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AwsIamConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AwsIamConfigValidationError{} go-control-plane-0.12.0/envoy/config/grpc_credential/v3/file_based_metadata.pb.go000077500000000000000000000236761454502223200277200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/grpc_credential/v3/file_based_metadata.proto package grpc_credentialv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FileBasedMetadataConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Location or inline data of secret to use for authentication of the Google gRPC connection // this secret will be attached to a header of the gRPC connection SecretData *v3.DataSource `protobuf:"bytes,1,opt,name=secret_data,json=secretData,proto3" json:"secret_data,omitempty"` // Metadata header key to use for sending the secret data // if no header key is set, "authorization" header will be used HeaderKey string `protobuf:"bytes,2,opt,name=header_key,json=headerKey,proto3" json:"header_key,omitempty"` // Prefix to prepend to the secret in the metadata header // if no prefix is set, the default is to use no prefix HeaderPrefix string `protobuf:"bytes,3,opt,name=header_prefix,json=headerPrefix,proto3" json:"header_prefix,omitempty"` } func (x *FileBasedMetadataConfig) Reset() { *x = FileBasedMetadataConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_grpc_credential_v3_file_based_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileBasedMetadataConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileBasedMetadataConfig) ProtoMessage() {} func (x *FileBasedMetadataConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_grpc_credential_v3_file_based_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileBasedMetadataConfig.ProtoReflect.Descriptor instead. func (*FileBasedMetadataConfig) Descriptor() ([]byte, []int) { return file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescGZIP(), []int{0} } func (x *FileBasedMetadataConfig) GetSecretData() *v3.DataSource { if x != nil { return x.SecretData } return nil } func (x *FileBasedMetadataConfig) GetHeaderKey() string { if x != nil { return x.HeaderKey } return "" } func (x *FileBasedMetadataConfig) GetHeaderPrefix() string { if x != nil { return x.HeaderPrefix } return "" } var File_envoy_config_grpc_credential_v3_file_based_metadata_proto protoreflect.FileDescriptor var file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDesc = []byte{ 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xab, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescOnce sync.Once file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescData = file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDesc ) func file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescGZIP() []byte { file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescOnce.Do(func() { file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescData) }) return file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDescData } var file_envoy_config_grpc_credential_v3_file_based_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_grpc_credential_v3_file_based_metadata_proto_goTypes = []interface{}{ (*FileBasedMetadataConfig)(nil), // 0: envoy.config.grpc_credential.v3.FileBasedMetadataConfig (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource } var file_envoy_config_grpc_credential_v3_file_based_metadata_proto_depIdxs = []int32{ 1, // 0: envoy.config.grpc_credential.v3.FileBasedMetadataConfig.secret_data:type_name -> envoy.config.core.v3.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_grpc_credential_v3_file_based_metadata_proto_init() } func file_envoy_config_grpc_credential_v3_file_based_metadata_proto_init() { if File_envoy_config_grpc_credential_v3_file_based_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_grpc_credential_v3_file_based_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileBasedMetadataConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_grpc_credential_v3_file_based_metadata_proto_goTypes, DependencyIndexes: file_envoy_config_grpc_credential_v3_file_based_metadata_proto_depIdxs, MessageInfos: file_envoy_config_grpc_credential_v3_file_based_metadata_proto_msgTypes, }.Build() File_envoy_config_grpc_credential_v3_file_based_metadata_proto = out.File file_envoy_config_grpc_credential_v3_file_based_metadata_proto_rawDesc = nil file_envoy_config_grpc_credential_v3_file_based_metadata_proto_goTypes = nil file_envoy_config_grpc_credential_v3_file_based_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/grpc_credential/v3/file_based_metadata.pb.validate.go000077500000000000000000000106421454502223200314750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/grpc_credential/v3/file_based_metadata.proto package grpc_credentialv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileBasedMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FileBasedMetadataConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileBasedMetadataConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FileBasedMetadataConfigMultiError, or nil if none found. func (m *FileBasedMetadataConfig) ValidateAll() error { return m.validate(true) } func (m *FileBasedMetadataConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSecretData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecretData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileBasedMetadataConfigValidationError{ field: "SecretData", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HeaderKey // no validation rules for HeaderPrefix if len(errors) > 0 { return FileBasedMetadataConfigMultiError(errors) } return nil } // FileBasedMetadataConfigMultiError is an error wrapping multiple validation // errors returned by FileBasedMetadataConfig.ValidateAll() if the designated // constraints aren't met. type FileBasedMetadataConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileBasedMetadataConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileBasedMetadataConfigMultiError) AllErrors() []error { return m } // FileBasedMetadataConfigValidationError is the validation error returned by // FileBasedMetadataConfig.Validate if the designated constraints aren't met. type FileBasedMetadataConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileBasedMetadataConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileBasedMetadataConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileBasedMetadataConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileBasedMetadataConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileBasedMetadataConfigValidationError) ErrorName() string { return "FileBasedMetadataConfigValidationError" } // Error satisfies the builtin error interface func (e FileBasedMetadataConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileBasedMetadataConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileBasedMetadataConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileBasedMetadataConfigValidationError{} go-control-plane-0.12.0/envoy/config/health_checker/000077500000000000000000000000001454502223200223075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/health_checker/redis/000077500000000000000000000000001454502223200234155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/health_checker/redis/v2/000077500000000000000000000000001454502223200237445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/health_checker/redis/v2/redis.pb.go000077500000000000000000000153071454502223200260120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/health_checker/redis/v2/redis.proto package redisv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Redis struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, optionally perform “EXISTS “ instead of “PING“. A return value // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance // by setting the specified key to any value and waiting for traffic to drain. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *Redis) Reset() { *x = Redis{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_health_checker_redis_v2_redis_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Redis) String() string { return protoimpl.X.MessageStringOf(x) } func (*Redis) ProtoMessage() {} func (x *Redis) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_health_checker_redis_v2_redis_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Redis.ProtoReflect.Descriptor instead. func (*Redis) Descriptor() ([]byte, []int) { return file_envoy_config_health_checker_redis_v2_redis_proto_rawDescGZIP(), []int{0} } func (x *Redis) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_config_health_checker_redis_v2_redis_proto protoreflect.FileDescriptor var file_envoy_config_health_checker_redis_v2_redis_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x05, 0x52, 0x65, 0x64, 0x69, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_health_checker_redis_v2_redis_proto_rawDescOnce sync.Once file_envoy_config_health_checker_redis_v2_redis_proto_rawDescData = file_envoy_config_health_checker_redis_v2_redis_proto_rawDesc ) func file_envoy_config_health_checker_redis_v2_redis_proto_rawDescGZIP() []byte { file_envoy_config_health_checker_redis_v2_redis_proto_rawDescOnce.Do(func() { file_envoy_config_health_checker_redis_v2_redis_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_health_checker_redis_v2_redis_proto_rawDescData) }) return file_envoy_config_health_checker_redis_v2_redis_proto_rawDescData } var file_envoy_config_health_checker_redis_v2_redis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_health_checker_redis_v2_redis_proto_goTypes = []interface{}{ (*Redis)(nil), // 0: envoy.config.health_checker.redis.v2.Redis } var file_envoy_config_health_checker_redis_v2_redis_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_health_checker_redis_v2_redis_proto_init() } func file_envoy_config_health_checker_redis_v2_redis_proto_init() { if File_envoy_config_health_checker_redis_v2_redis_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_health_checker_redis_v2_redis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Redis); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_health_checker_redis_v2_redis_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_health_checker_redis_v2_redis_proto_goTypes, DependencyIndexes: file_envoy_config_health_checker_redis_v2_redis_proto_depIdxs, MessageInfos: file_envoy_config_health_checker_redis_v2_redis_proto_msgTypes, }.Build() File_envoy_config_health_checker_redis_v2_redis_proto = out.File file_envoy_config_health_checker_redis_v2_redis_proto_rawDesc = nil file_envoy_config_health_checker_redis_v2_redis_proto_goTypes = nil file_envoy_config_health_checker_redis_v2_redis_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/health_checker/redis/v2/redis.pb.validate.go000077500000000000000000000060641454502223200276020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/health_checker/redis/v2/redis.proto package redisv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Redis with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Redis) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Redis with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RedisMultiError, or nil if none found. func (m *Redis) ValidateAll() error { return m.validate(true) } func (m *Redis) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key if len(errors) > 0 { return RedisMultiError(errors) } return nil } // RedisMultiError is an error wrapping multiple validation errors returned by // Redis.ValidateAll() if the designated constraints aren't met. type RedisMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisMultiError) AllErrors() []error { return m } // RedisValidationError is the validation error returned by Redis.Validate if // the designated constraints aren't met. type RedisValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisValidationError) ErrorName() string { return "RedisValidationError" } // Error satisfies the builtin error interface func (e RedisValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedis.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisValidationError{} go-control-plane-0.12.0/envoy/config/listener/000077500000000000000000000000001454502223200212035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/listener/v2/000077500000000000000000000000001454502223200215325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/listener/v2/api_listener.pb.go000077500000000000000000000176401454502223200251520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v2/api_listener.proto package listenerv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Describes a type of API listener, which is used in non-proxy clients. The type of API // exposed to the non-proxy application depends on the type of API listener. type ApiListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type in this field determines the type of API listener. At present, the following // types are supported: // envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager (HTTP) // [#next-major-version: In the v3 API, replace this Any field with a oneof containing the // specific config message for each type of API listener. We could not do this in v2 because // it would have caused circular dependencies for go protos: lds.proto depends on this file, // and http_connection_manager.proto depends on rds.proto, which is in the same directory as // lds.proto, so lds.proto cannot depend on this file.] ApiListener *any1.Any `protobuf:"bytes,1,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"` } func (x *ApiListener) Reset() { *x = ApiListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v2_api_listener_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApiListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApiListener) ProtoMessage() {} func (x *ApiListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v2_api_listener_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApiListener.ProtoReflect.Descriptor instead. func (*ApiListener) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v2_api_listener_proto_rawDescGZIP(), []int{0} } func (x *ApiListener) GetApiListener() *any1.Any { if x != nil { return x.ApiListener } return nil } var File_envoy_config_listener_v2_api_listener_proto protoreflect.FileDescriptor var file_envoy_config_listener_v2_api_listener_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x0b, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0xb0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v2_api_listener_proto_rawDescOnce sync.Once file_envoy_config_listener_v2_api_listener_proto_rawDescData = file_envoy_config_listener_v2_api_listener_proto_rawDesc ) func file_envoy_config_listener_v2_api_listener_proto_rawDescGZIP() []byte { file_envoy_config_listener_v2_api_listener_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v2_api_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v2_api_listener_proto_rawDescData) }) return file_envoy_config_listener_v2_api_listener_proto_rawDescData } var file_envoy_config_listener_v2_api_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_listener_v2_api_listener_proto_goTypes = []interface{}{ (*ApiListener)(nil), // 0: envoy.config.listener.v2.ApiListener (*any1.Any)(nil), // 1: google.protobuf.Any } var file_envoy_config_listener_v2_api_listener_proto_depIdxs = []int32{ 1, // 0: envoy.config.listener.v2.ApiListener.api_listener:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_listener_v2_api_listener_proto_init() } func file_envoy_config_listener_v2_api_listener_proto_init() { if File_envoy_config_listener_v2_api_listener_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v2_api_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApiListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v2_api_listener_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v2_api_listener_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v2_api_listener_proto_depIdxs, MessageInfos: file_envoy_config_listener_v2_api_listener_proto_msgTypes, }.Build() File_envoy_config_listener_v2_api_listener_proto = out.File file_envoy_config_listener_v2_api_listener_proto_rawDesc = nil file_envoy_config_listener_v2_api_listener_proto_goTypes = nil file_envoy_config_listener_v2_api_listener_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v2/api_listener.pb.validate.go000077500000000000000000000077551454502223200267500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v2/api_listener.proto package listenerv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ApiListener with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ApiListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApiListener with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ApiListenerMultiError, or // nil if none found. func (m *ApiListener) ValidateAll() error { return m.validate(true) } func (m *ApiListener) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetApiListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ApiListenerMultiError(errors) } return nil } // ApiListenerMultiError is an error wrapping multiple validation errors // returned by ApiListener.ValidateAll() if the designated constraints aren't met. type ApiListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApiListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApiListenerMultiError) AllErrors() []error { return m } // ApiListenerValidationError is the validation error returned by // ApiListener.Validate if the designated constraints aren't met. type ApiListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApiListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApiListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApiListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApiListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApiListenerValidationError) ErrorName() string { return "ApiListenerValidationError" } // Error satisfies the builtin error interface func (e ApiListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApiListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApiListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApiListenerValidationError{} go-control-plane-0.12.0/envoy/config/listener/v3/000077500000000000000000000000001454502223200215335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/listener/v3/api_listener.pb.go000077500000000000000000000201561454502223200251470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v3/api_listener.proto package listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Describes a type of API listener, which is used in non-proxy clients. The type of API // exposed to the non-proxy application depends on the type of API listener. type ApiListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type in this field determines the type of API listener. At present, the following // types are supported: // envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager (HTTP) // envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager (HTTP) // [#next-major-version: In the v3 API, replace this Any field with a oneof containing the // specific config message for each type of API listener. We could not do this in v2 because // it would have caused circular dependencies for go protos: lds.proto depends on this file, // and http_connection_manager.proto depends on rds.proto, which is in the same directory as // lds.proto, so lds.proto cannot depend on this file.] ApiListener *any1.Any `protobuf:"bytes,1,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"` } func (x *ApiListener) Reset() { *x = ApiListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_api_listener_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApiListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApiListener) ProtoMessage() {} func (x *ApiListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_api_listener_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApiListener.ProtoReflect.Descriptor instead. func (*ApiListener) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_api_listener_proto_rawDescGZIP(), []int{0} } func (x *ApiListener) GetApiListener() *any1.Any { if x != nil { return x.ApiListener } return nil } var File_envoy_config_listener_v3_api_listener_proto protoreflect.FileDescriptor var file_envoy_config_listener_v3_api_listener_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x0b, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v3_api_listener_proto_rawDescOnce sync.Once file_envoy_config_listener_v3_api_listener_proto_rawDescData = file_envoy_config_listener_v3_api_listener_proto_rawDesc ) func file_envoy_config_listener_v3_api_listener_proto_rawDescGZIP() []byte { file_envoy_config_listener_v3_api_listener_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v3_api_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_api_listener_proto_rawDescData) }) return file_envoy_config_listener_v3_api_listener_proto_rawDescData } var file_envoy_config_listener_v3_api_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_listener_v3_api_listener_proto_goTypes = []interface{}{ (*ApiListener)(nil), // 0: envoy.config.listener.v3.ApiListener (*any1.Any)(nil), // 1: google.protobuf.Any } var file_envoy_config_listener_v3_api_listener_proto_depIdxs = []int32{ 1, // 0: envoy.config.listener.v3.ApiListener.api_listener:type_name -> google.protobuf.Any 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_api_listener_proto_init() } func file_envoy_config_listener_v3_api_listener_proto_init() { if File_envoy_config_listener_v3_api_listener_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v3_api_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApiListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v3_api_listener_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v3_api_listener_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v3_api_listener_proto_depIdxs, MessageInfos: file_envoy_config_listener_v3_api_listener_proto_msgTypes, }.Build() File_envoy_config_listener_v3_api_listener_proto = out.File file_envoy_config_listener_v3_api_listener_proto_rawDesc = nil file_envoy_config_listener_v3_api_listener_proto_goTypes = nil file_envoy_config_listener_v3_api_listener_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v3/api_listener.pb.validate.go000077500000000000000000000077551454502223200267510ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v3/api_listener.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ApiListener with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ApiListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApiListener with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ApiListenerMultiError, or // nil if none found. func (m *ApiListener) ValidateAll() error { return m.validate(true) } func (m *ApiListener) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetApiListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ApiListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ApiListenerMultiError(errors) } return nil } // ApiListenerMultiError is an error wrapping multiple validation errors // returned by ApiListener.ValidateAll() if the designated constraints aren't met. type ApiListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApiListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApiListenerMultiError) AllErrors() []error { return m } // ApiListenerValidationError is the validation error returned by // ApiListener.Validate if the designated constraints aren't met. type ApiListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApiListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApiListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApiListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApiListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApiListenerValidationError) ErrorName() string { return "ApiListenerValidationError" } // Error satisfies the builtin error interface func (e ApiListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApiListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApiListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApiListenerValidationError{} go-control-plane-0.12.0/envoy/config/listener/v3/listener.pb.go000077500000000000000000002400361454502223200243170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v3/listener.proto package listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v31 "github.com/cncf/xds/go/xds/core/v3" v32 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v33 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Listener_DrainType int32 const ( // Drain in response to calling /healthcheck/fail admin endpoint (along with the health check // filter), listener removal/modification, and hot restart. Listener_DEFAULT Listener_DrainType = 0 // Drain in response to listener removal/modification and hot restart. This setting does not // include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress // and egress listeners. Listener_MODIFY_ONLY Listener_DrainType = 1 ) // Enum value maps for Listener_DrainType. var ( Listener_DrainType_name = map[int32]string{ 0: "DEFAULT", 1: "MODIFY_ONLY", } Listener_DrainType_value = map[string]int32{ "DEFAULT": 0, "MODIFY_ONLY": 1, } ) func (x Listener_DrainType) Enum() *Listener_DrainType { p := new(Listener_DrainType) *p = x return p } func (x Listener_DrainType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Listener_DrainType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_listener_v3_listener_proto_enumTypes[0].Descriptor() } func (Listener_DrainType) Type() protoreflect.EnumType { return &file_envoy_config_listener_v3_listener_proto_enumTypes[0] } func (x Listener_DrainType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Listener_DrainType.Descriptor instead. func (Listener_DrainType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 0} } // The additional address the listener is listening on. type AdditionalAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. If specified, this will override the // :ref:`socket_options ` // in the listener. If specified with no // :ref:`socket_options ` // or an empty list of :ref:`socket_options `, // it means no socket option will apply. SocketOptions *v3.SocketOptionsOverride `protobuf:"bytes,2,opt,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` } func (x *AdditionalAddress) Reset() { *x = AdditionalAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdditionalAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdditionalAddress) ProtoMessage() {} func (x *AdditionalAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdditionalAddress.ProtoReflect.Descriptor instead. func (*AdditionalAddress) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{0} } func (x *AdditionalAddress) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *AdditionalAddress) GetSocketOptions() *v3.SocketOptionsOverride { if x != nil { return x.SocketOptions } return nil } // Listener list collections. Entries are “Listener“ resources or references. // [#not-implemented-hide:] type ListenerCollection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Entries []*v31.CollectionEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } func (x *ListenerCollection) Reset() { *x = ListenerCollection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerCollection) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerCollection) ProtoMessage() {} func (x *ListenerCollection) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerCollection.ProtoReflect.Descriptor instead. func (*ListenerCollection) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{1} } func (x *ListenerCollection) GetEntries() []*v31.CollectionEntry { if x != nil { return x.Entries } return nil } // [#next-free-field: 35] type Listener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The unique name by which this listener is known. If no name is provided, // Envoy will allocate an internal UUID for the listener. If the listener is to be dynamically // updated or removed via :ref:`LDS ` a unique name must be provided. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The address that the listener should listen on. In general, the address must be unique, though // that is governed by the bind rules of the OS. E.g., multiple listeners can listen on port 0 on // Linux as the actual port will be allocated by the OS. // Required unless “api_listener“ or “listener_specifier“ is populated. Address *v3.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // The additional addresses the listener should listen on. The addresses must be unique across all // listeners. Multiple addresses with port 0 can be supplied. When using multiple addresses in a single listener, // all addresses use the same protocol, and multiple internal addresses are not supported. AdditionalAddresses []*AdditionalAddress `protobuf:"bytes,33,rep,name=additional_addresses,json=additionalAddresses,proto3" json:"additional_addresses,omitempty"` // Optional prefix to use on listener stats. If empty, the stats will be rooted at // “listener.
.“. If non-empty, stats will be rooted at // “listener..“. StatPrefix string `protobuf:"bytes,28,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // A list of filter chains to consider for this listener. The // :ref:`FilterChain ` with the most specific // :ref:`FilterChainMatch ` criteria is used on a // connection. // // Example using SNI for filter chain selection can be found in the // :ref:`FAQ entry `. FilterChains []*FilterChain `protobuf:"bytes,3,rep,name=filter_chains,json=filterChains,proto3" json:"filter_chains,omitempty"` // :ref:`Matcher API ` resolving the filter chain name from the // network properties. This matcher is used as a replacement for the filter chain match condition // :ref:`filter_chain_match // `. If specified, all // :ref:`filter_chains ` must have a // non-empty and unique :ref:`name ` field // and not specify :ref:`filter_chain_match // ` field. // // .. note:: // // Once matched, each connection is permanently bound to its filter chain. // If the matcher changes but the filter chain remains the same, the // connections bound to the filter chain are not drained. If, however, the // filter chain is removed or structurally modified, then the drain for its // connections is initiated. FilterChainMatcher *v32.Matcher `protobuf:"bytes,32,opt,name=filter_chain_matcher,json=filterChainMatcher,proto3" json:"filter_chain_matcher,omitempty"` // If a connection is redirected using “iptables“, the port on which the proxy // receives it might be different from the original destination address. When this flag is set to // true, the listener hands off redirected connections to the listener associated with the // original destination address. If there is no listener associated with the original destination // address, the connection is handled by the listener that receives it. Defaults to false. UseOriginalDst *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst,proto3" json:"use_original_dst,omitempty"` // The default filter chain if none of the filter chain matches. If no default filter chain is supplied, // the connection will be closed. The filter chain match is ignored in this field. DefaultFilterChain *FilterChain `protobuf:"bytes,25,opt,name=default_filter_chain,json=defaultFilterChain,proto3" json:"default_filter_chain,omitempty"` // Soft limit on size of the listener’s new connection read and write buffers. // If unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` // Listener metadata. Metadata *v3.Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener.proto. DeprecatedV1 *Listener_DeprecatedV1 `protobuf:"bytes,7,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"` // The type of draining to perform at a listener-wide level. DrainType Listener_DrainType `protobuf:"varint,8,opt,name=drain_type,json=drainType,proto3,enum=envoy.config.listener.v3.Listener_DrainType" json:"drain_type,omitempty"` // Listener filters have the opportunity to manipulate and augment the connection metadata that // is used in connection filter chain matching, for example. These filters are run before any in // :ref:`filter_chains `. Order matters as the // filters are processed sequentially right after a socket has been accepted by the listener, and // before a connection is created. // UDP Listener filters can be specified when the protocol in the listener socket address in // :ref:`protocol ` is :ref:`UDP // ` and no // :ref:`quic_options ` is specified in :ref:`udp_listener_config `. // QUIC listener filters can be specified when :ref:`quic_options // ` is // specified in :ref:`udp_listener_config `. // They are processed sequentially right before connection creation. And like TCP Listener filters, they can be used to manipulate the connection metadata and socket. But the difference is that they can't be used to pause connection creation. ListenerFilters []*ListenerFilter `protobuf:"bytes,9,rep,name=listener_filters,json=listenerFilters,proto3" json:"listener_filters,omitempty"` // The timeout to wait for all listener filters to complete operation. If the timeout is reached, // the accepted socket is closed without a connection being created unless // “continue_on_listener_filters_timeout“ is set to true. Specify 0 to disable the // timeout. If not specified, a default timeout of 15s is used. ListenerFiltersTimeout *duration.Duration `protobuf:"bytes,15,opt,name=listener_filters_timeout,json=listenerFiltersTimeout,proto3" json:"listener_filters_timeout,omitempty"` // Whether a connection should be created when listener filters timeout. Default is false. // // .. attention:: // // Some listener filters, such as :ref:`Proxy Protocol filter // `, should not be used with this option. It will cause // unexpected behavior when a connection is created. ContinueOnListenerFiltersTimeout bool `protobuf:"varint,17,opt,name=continue_on_listener_filters_timeout,json=continueOnListenerFiltersTimeout,proto3" json:"continue_on_listener_filters_timeout,omitempty"` // Whether the listener should be set as a transparent socket. // When this flag is set to true, connections can be redirected to the listener using an // “iptables“ “TPROXY“ target, in which case the original source and destination addresses and // ports are preserved on accepted connections. This flag should be used in combination with // :ref:`an original_dst ` :ref:`listener filter // ` to mark the connections' local addresses as // "restored." This can be used to hand off each redirected connection to another listener // associated with the connection's destination address. Direct connections to the socket without // using “TPROXY“ cannot be distinguished from connections redirected using “TPROXY“ and are // therefore treated as if they were redirected. // When this flag is set to false, the listener's socket is explicitly reset as non-transparent. // Setting this flag requires Envoy to run with the “CAP_NET_ADMIN“ capability. // When this flag is not set (default), the socket is not modified, i.e. the transparent option // is neither set nor reset. Transparent *wrappers.BoolValue `protobuf:"bytes,10,opt,name=transparent,proto3" json:"transparent,omitempty"` // Whether the listener should set the “IP_FREEBIND“ socket option. When this // flag is set to true, listeners can be bound to an IP address that is not // configured on the system running Envoy. When this flag is set to false, the // option “IP_FREEBIND“ is disabled on the socket. When this flag is not set // (default), the socket is not modified, i.e. the option is neither enabled // nor disabled. Freebind *wrappers.BoolValue `protobuf:"bytes,11,opt,name=freebind,proto3" json:"freebind,omitempty"` // Additional socket options that may not be present in Envoy source code or // precompiled binaries. The socket options can be updated for a listener when // :ref:`enable_reuse_port ` // is “true“. Otherwise, if socket options change during a listener update the update will be rejected // to make it clear that the options were not updated. SocketOptions []*v3.SocketOption `protobuf:"bytes,13,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"` // Whether the listener should accept TCP Fast Open (TFO) connections. // When this flag is set to a value greater than 0, the option TCP_FASTOPEN is enabled on // the socket, with a queue length of the specified size // (see `details in RFC7413 `_). // When this flag is set to 0, the option TCP_FASTOPEN is disabled on the socket. // When this flag is not set (default), the socket is not modified, // i.e. the option is neither enabled nor disabled. // // On Linux, the net.ipv4.tcp_fastopen kernel parameter must include flag 0x2 to enable // TCP_FASTOPEN. // See `ip-sysctl.txt `_. // // On macOS, only values of 0, 1, and unset are valid; other values may result in an error. // To set the queue length on macOS, set the net.inet.tcp.fastopen_backlog kernel parameter. TcpFastOpenQueueLength *wrappers.UInt32Value `protobuf:"bytes,12,opt,name=tcp_fast_open_queue_length,json=tcpFastOpenQueueLength,proto3" json:"tcp_fast_open_queue_length,omitempty"` // Specifies the intended direction of the traffic relative to the local Envoy. // This property is required on Windows for listeners using the original destination filter, // see :ref:`Original Destination `. TrafficDirection v3.TrafficDirection `protobuf:"varint,16,opt,name=traffic_direction,json=trafficDirection,proto3,enum=envoy.config.core.v3.TrafficDirection" json:"traffic_direction,omitempty"` // If the protocol in the listener socket address in :ref:`protocol // ` is :ref:`UDP // `, this field specifies UDP // listener specific configuration. UdpListenerConfig *UdpListenerConfig `protobuf:"bytes,18,opt,name=udp_listener_config,json=udpListenerConfig,proto3" json:"udp_listener_config,omitempty"` // Used to represent an API listener, which is used in non-proxy clients. The type of API // exposed to the non-proxy application depends on the type of API listener. // When this field is set, no other field except for :ref:`name` // should be set. // // .. note:: // // Currently only one ApiListener can be installed; and it can only be done via bootstrap config, // not LDS. // // [#next-major-version: In the v3 API, instead of this messy approach where the socket // listener fields are directly in the top-level Listener message and the API listener types // are in the ApiListener message, the socket listener messages should be in their own message, // and the top-level Listener should essentially be a oneof that selects between the // socket listener and the various types of API listener. That way, a given Listener message // can structurally only contain the fields of the relevant type.] ApiListener *ApiListener `protobuf:"bytes,19,opt,name=api_listener,json=apiListener,proto3" json:"api_listener,omitempty"` // The listener's connection balancer configuration, currently only applicable to TCP listeners. // If no configuration is specified, Envoy will not attempt to balance active connections between // worker threads. // // In the scenario that the listener X redirects all the connections to the listeners Y1 and Y2 // by setting :ref:`use_original_dst ` in X // and :ref:`bind_to_port ` to false in Y1 and Y2, // it is recommended to disable the balance config in listener X to avoid the cost of balancing, and // enable the balance config in Y1 and Y2 to balance the connections among the workers. ConnectionBalanceConfig *Listener_ConnectionBalanceConfig `protobuf:"bytes,20,opt,name=connection_balance_config,json=connectionBalanceConfig,proto3" json:"connection_balance_config,omitempty"` // Deprecated. Use “enable_reuse_port“ instead. // // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener.proto. ReusePort bool `protobuf:"varint,21,opt,name=reuse_port,json=reusePort,proto3" json:"reuse_port,omitempty"` // When this flag is set to true, listeners set the “SO_REUSEPORT“ socket option and // create one socket for each worker thread. This makes inbound connections // distribute among worker threads roughly evenly in cases where there are a high number // of connections. When this flag is set to false, all worker threads share one socket. This field // defaults to true. The change of field will be rejected during an listener update when the // runtime flag “envoy.reloadable_features.enable_update_listener_socket_options“ is enabled. // Otherwise, the update of this field will be ignored quietly. // // .. attention:: // // Although this field defaults to true, it has different behavior on different platforms. See // the following text for more information. // // - On Linux, reuse_port is respected for both TCP and UDP listeners. It also works correctly // with hot restart. // - On macOS, reuse_port for TCP does not do what it does on Linux. Instead of load balancing, // the last socket wins and receives all connections/packets. For TCP, reuse_port is force // disabled and the user is warned. For UDP, it is enabled, but only one worker will receive // packets. For QUIC/H3, SW routing will send packets to other workers. For "raw" UDP, only // a single worker will currently receive packets. // - On Windows, reuse_port for TCP has undefined behavior. It is force disabled and the user // is warned similar to macOS. It is left enabled for UDP with undefined behavior currently. EnableReusePort *wrappers.BoolValue `protobuf:"bytes,29,opt,name=enable_reuse_port,json=enableReusePort,proto3" json:"enable_reuse_port,omitempty"` // Configuration for :ref:`access logs ` // emitted by this listener. AccessLog []*v33.AccessLog `protobuf:"bytes,22,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // The maximum length a tcp listener's pending connections queue can grow to. If no value is // provided net.core.somaxconn will be used on Linux and 128 otherwise. TcpBacklogSize *wrappers.UInt32Value `protobuf:"bytes,24,opt,name=tcp_backlog_size,json=tcpBacklogSize,proto3" json:"tcp_backlog_size,omitempty"` // The maximum number of connections to accept from the kernel per socket // event. Envoy may decide to close these connections after accepting them // from the kernel e.g. due to load shedding, or other policies. // If there are more than max_connections_to_accept_per_socket_event // connections pending accept, connections over this threshold will be // accepted in later event loop iterations. // If no value is provided Envoy will accept all connections pending accept // from the kernel. MaxConnectionsToAcceptPerSocketEvent *wrappers.UInt32Value `protobuf:"bytes,34,opt,name=max_connections_to_accept_per_socket_event,json=maxConnectionsToAcceptPerSocketEvent,proto3" json:"max_connections_to_accept_per_socket_event,omitempty"` // Whether the listener should bind to the port. A listener that doesn't // bind can only receive connections redirected from other listeners that set // :ref:`use_original_dst ` // to true. Default is true. BindToPort *wrappers.BoolValue `protobuf:"bytes,26,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"` // The exclusive listener type and the corresponding config. // // Types that are assignable to ListenerSpecifier: // // *Listener_InternalListener ListenerSpecifier isListener_ListenerSpecifier `protobuf_oneof:"listener_specifier"` // Enable MPTCP (multi-path TCP) on this listener. Clients will be allowed to establish // MPTCP connections. Non-MPTCP clients will fall back to regular TCP. EnableMptcp bool `protobuf:"varint,30,opt,name=enable_mptcp,json=enableMptcp,proto3" json:"enable_mptcp,omitempty"` // Whether the listener should limit connections based upon the value of // :ref:`global_downstream_max_connections `. IgnoreGlobalConnLimit bool `protobuf:"varint,31,opt,name=ignore_global_conn_limit,json=ignoreGlobalConnLimit,proto3" json:"ignore_global_conn_limit,omitempty"` } func (x *Listener) Reset() { *x = Listener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener) ProtoMessage() {} func (x *Listener) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener.ProtoReflect.Descriptor instead. func (*Listener) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2} } func (x *Listener) GetName() string { if x != nil { return x.Name } return "" } func (x *Listener) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *Listener) GetAdditionalAddresses() []*AdditionalAddress { if x != nil { return x.AdditionalAddresses } return nil } func (x *Listener) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *Listener) GetFilterChains() []*FilterChain { if x != nil { return x.FilterChains } return nil } func (x *Listener) GetFilterChainMatcher() *v32.Matcher { if x != nil { return x.FilterChainMatcher } return nil } func (x *Listener) GetUseOriginalDst() *wrappers.BoolValue { if x != nil { return x.UseOriginalDst } return nil } func (x *Listener) GetDefaultFilterChain() *FilterChain { if x != nil { return x.DefaultFilterChain } return nil } func (x *Listener) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerConnectionBufferLimitBytes } return nil } func (x *Listener) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener.proto. func (x *Listener) GetDeprecatedV1() *Listener_DeprecatedV1 { if x != nil { return x.DeprecatedV1 } return nil } func (x *Listener) GetDrainType() Listener_DrainType { if x != nil { return x.DrainType } return Listener_DEFAULT } func (x *Listener) GetListenerFilters() []*ListenerFilter { if x != nil { return x.ListenerFilters } return nil } func (x *Listener) GetListenerFiltersTimeout() *duration.Duration { if x != nil { return x.ListenerFiltersTimeout } return nil } func (x *Listener) GetContinueOnListenerFiltersTimeout() bool { if x != nil { return x.ContinueOnListenerFiltersTimeout } return false } func (x *Listener) GetTransparent() *wrappers.BoolValue { if x != nil { return x.Transparent } return nil } func (x *Listener) GetFreebind() *wrappers.BoolValue { if x != nil { return x.Freebind } return nil } func (x *Listener) GetSocketOptions() []*v3.SocketOption { if x != nil { return x.SocketOptions } return nil } func (x *Listener) GetTcpFastOpenQueueLength() *wrappers.UInt32Value { if x != nil { return x.TcpFastOpenQueueLength } return nil } func (x *Listener) GetTrafficDirection() v3.TrafficDirection { if x != nil { return x.TrafficDirection } return v3.TrafficDirection(0) } func (x *Listener) GetUdpListenerConfig() *UdpListenerConfig { if x != nil { return x.UdpListenerConfig } return nil } func (x *Listener) GetApiListener() *ApiListener { if x != nil { return x.ApiListener } return nil } func (x *Listener) GetConnectionBalanceConfig() *Listener_ConnectionBalanceConfig { if x != nil { return x.ConnectionBalanceConfig } return nil } // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener.proto. func (x *Listener) GetReusePort() bool { if x != nil { return x.ReusePort } return false } func (x *Listener) GetEnableReusePort() *wrappers.BoolValue { if x != nil { return x.EnableReusePort } return nil } func (x *Listener) GetAccessLog() []*v33.AccessLog { if x != nil { return x.AccessLog } return nil } func (x *Listener) GetTcpBacklogSize() *wrappers.UInt32Value { if x != nil { return x.TcpBacklogSize } return nil } func (x *Listener) GetMaxConnectionsToAcceptPerSocketEvent() *wrappers.UInt32Value { if x != nil { return x.MaxConnectionsToAcceptPerSocketEvent } return nil } func (x *Listener) GetBindToPort() *wrappers.BoolValue { if x != nil { return x.BindToPort } return nil } func (m *Listener) GetListenerSpecifier() isListener_ListenerSpecifier { if m != nil { return m.ListenerSpecifier } return nil } func (x *Listener) GetInternalListener() *Listener_InternalListenerConfig { if x, ok := x.GetListenerSpecifier().(*Listener_InternalListener); ok { return x.InternalListener } return nil } func (x *Listener) GetEnableMptcp() bool { if x != nil { return x.EnableMptcp } return false } func (x *Listener) GetIgnoreGlobalConnLimit() bool { if x != nil { return x.IgnoreGlobalConnLimit } return false } type isListener_ListenerSpecifier interface { isListener_ListenerSpecifier() } type Listener_InternalListener struct { // Used to represent an internal listener which does not listen on OSI L4 address but can be used by the // :ref:`envoy cluster ` to create a user space connection to. // The internal listener acts as a TCP listener. It supports listener filters and network filter chains. // Upstream clusters refer to the internal listeners by their :ref:`name // `. :ref:`Address // ` must not be set on the internal listeners. // // There are some limitations that are derived from the implementation. The known limitations include: // // - :ref:`ConnectionBalanceConfig ` is not // allowed because both the cluster connection and the listener connection must be owned by the same dispatcher. // - :ref:`tcp_backlog_size ` // - :ref:`freebind ` // - :ref:`transparent ` InternalListener *Listener_InternalListenerConfig `protobuf:"bytes,27,opt,name=internal_listener,json=internalListener,proto3,oneof"` } func (*Listener_InternalListener) isListener_ListenerSpecifier() {} // A placeholder proto so that users can explicitly configure the standard // Listener Manager via the bootstrap's :ref:`listener_manager `. // [#not-implemented-hide:] type ListenerManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ListenerManager) Reset() { *x = ListenerManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerManager) ProtoMessage() {} func (x *ListenerManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerManager.ProtoReflect.Descriptor instead. func (*ListenerManager) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{3} } // A placeholder proto so that users can explicitly configure the standard // Validation Listener Manager via the bootstrap's :ref:`listener_manager `. // [#not-implemented-hide:] type ValidationListenerManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ValidationListenerManager) Reset() { *x = ValidationListenerManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidationListenerManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidationListenerManager) ProtoMessage() {} func (x *ValidationListenerManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValidationListenerManager.ProtoReflect.Descriptor instead. func (*ValidationListenerManager) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{4} } // A placeholder proto so that users can explicitly configure the API // Listener Manager via the bootstrap's :ref:`listener_manager `. // [#not-implemented-hide:] type ApiListenerManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ApiListenerManager) Reset() { *x = ApiListenerManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApiListenerManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApiListenerManager) ProtoMessage() {} func (x *ApiListenerManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApiListenerManager.ProtoReflect.Descriptor instead. func (*ApiListenerManager) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{5} } // [#not-implemented-hide:] type Listener_DeprecatedV1 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the listener should bind to the port. A listener that doesn't // bind can only receive connections redirected from other listeners that // set use_original_dst parameter to true. Default is true. // // This is deprecated. Use :ref:`Listener.bind_to_port // ` BindToPort *wrappers.BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"` } func (x *Listener_DeprecatedV1) Reset() { *x = Listener_DeprecatedV1{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_DeprecatedV1) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_DeprecatedV1) ProtoMessage() {} func (x *Listener_DeprecatedV1) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_DeprecatedV1.ProtoReflect.Descriptor instead. func (*Listener_DeprecatedV1) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 0} } func (x *Listener_DeprecatedV1) GetBindToPort() *wrappers.BoolValue { if x != nil { return x.BindToPort } return nil } // Configuration for listener connection balancing. type Listener_ConnectionBalanceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to BalanceType: // // *Listener_ConnectionBalanceConfig_ExactBalance_ // *Listener_ConnectionBalanceConfig_ExtendBalance BalanceType isListener_ConnectionBalanceConfig_BalanceType `protobuf_oneof:"balance_type"` } func (x *Listener_ConnectionBalanceConfig) Reset() { *x = Listener_ConnectionBalanceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_ConnectionBalanceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_ConnectionBalanceConfig) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_ConnectionBalanceConfig.ProtoReflect.Descriptor instead. func (*Listener_ConnectionBalanceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 1} } func (m *Listener_ConnectionBalanceConfig) GetBalanceType() isListener_ConnectionBalanceConfig_BalanceType { if m != nil { return m.BalanceType } return nil } func (x *Listener_ConnectionBalanceConfig) GetExactBalance() *Listener_ConnectionBalanceConfig_ExactBalance { if x, ok := x.GetBalanceType().(*Listener_ConnectionBalanceConfig_ExactBalance_); ok { return x.ExactBalance } return nil } func (x *Listener_ConnectionBalanceConfig) GetExtendBalance() *v3.TypedExtensionConfig { if x, ok := x.GetBalanceType().(*Listener_ConnectionBalanceConfig_ExtendBalance); ok { return x.ExtendBalance } return nil } type isListener_ConnectionBalanceConfig_BalanceType interface { isListener_ConnectionBalanceConfig_BalanceType() } type Listener_ConnectionBalanceConfig_ExactBalance_ struct { // If specified, the listener will use the exact connection balancer. ExactBalance *Listener_ConnectionBalanceConfig_ExactBalance `protobuf:"bytes,1,opt,name=exact_balance,json=exactBalance,proto3,oneof"` } type Listener_ConnectionBalanceConfig_ExtendBalance struct { // The listener will use the connection balancer according to “type_url“. If “type_url“ is invalid, // Envoy will not attempt to balance active connections between worker threads. // [#extension-category: envoy.network.connection_balance] ExtendBalance *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=extend_balance,json=extendBalance,proto3,oneof"` } func (*Listener_ConnectionBalanceConfig_ExactBalance_) isListener_ConnectionBalanceConfig_BalanceType() { } func (*Listener_ConnectionBalanceConfig_ExtendBalance) isListener_ConnectionBalanceConfig_BalanceType() { } // Configuration for envoy internal listener. All the future internal listener features should be added here. type Listener_InternalListenerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Listener_InternalListenerConfig) Reset() { *x = Listener_InternalListenerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_InternalListenerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_InternalListenerConfig) ProtoMessage() {} func (x *Listener_InternalListenerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_InternalListenerConfig.ProtoReflect.Descriptor instead. func (*Listener_InternalListenerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 2} } // A connection balancer implementation that does exact balancing. This means that a lock is // held during balancing so that connection counts are nearly exactly balanced between worker // threads. This is "nearly" exact in the sense that a connection might close in parallel thus // making the counts incorrect, but this should be rectified on the next accept. This balancer // sacrifices accept throughput for accuracy and should be used when there are a small number of // connections that rarely cycle (e.g., service mesh gRPC egress). type Listener_ConnectionBalanceConfig_ExactBalance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Listener_ConnectionBalanceConfig_ExactBalance) Reset() { *x = Listener_ConnectionBalanceConfig_ExactBalance{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Listener_ConnectionBalanceConfig_ExactBalance) String() string { return protoimpl.X.MessageStringOf(x) } func (*Listener_ConnectionBalanceConfig_ExactBalance) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig_ExactBalance) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Listener_ConnectionBalanceConfig_ExactBalance.ProtoReflect.Descriptor instead. func (*Listener_ConnectionBalanceConfig_ExactBalance) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 1, 0} } var File_envoy_config_listener_v3_listener_proto protoreflect.FileDescriptor var file_envoy_config_listener_v3_listener_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x78, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x86, 0x18, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5e, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x6f, 0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x4b, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x18, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x4f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x65, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x1a, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x74, 0x63, 0x70, 0x46, 0x61, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x53, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x13, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x75, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x09, 0x72, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x46, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x7f, 0x0a, 0x2a, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x24, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x50, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x68, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x70, 0x74, 0x63, 0x70, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x70, 0x74, 0x63, 0x70, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x77, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f, 0x50, 0x6f, 0x72, 0x74, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x56, 0x31, 0x1a, 0xfc, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x0d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x51, 0x0a, 0x0c, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x18, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, 0x04, 0x08, 0x17, 0x10, 0x18, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x70, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v3_listener_proto_rawDescOnce sync.Once file_envoy_config_listener_v3_listener_proto_rawDescData = file_envoy_config_listener_v3_listener_proto_rawDesc ) func file_envoy_config_listener_v3_listener_proto_rawDescGZIP() []byte { file_envoy_config_listener_v3_listener_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v3_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_listener_proto_rawDescData) }) return file_envoy_config_listener_v3_listener_proto_rawDescData } var file_envoy_config_listener_v3_listener_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_listener_v3_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_envoy_config_listener_v3_listener_proto_goTypes = []interface{}{ (Listener_DrainType)(0), // 0: envoy.config.listener.v3.Listener.DrainType (*AdditionalAddress)(nil), // 1: envoy.config.listener.v3.AdditionalAddress (*ListenerCollection)(nil), // 2: envoy.config.listener.v3.ListenerCollection (*Listener)(nil), // 3: envoy.config.listener.v3.Listener (*ListenerManager)(nil), // 4: envoy.config.listener.v3.ListenerManager (*ValidationListenerManager)(nil), // 5: envoy.config.listener.v3.ValidationListenerManager (*ApiListenerManager)(nil), // 6: envoy.config.listener.v3.ApiListenerManager (*Listener_DeprecatedV1)(nil), // 7: envoy.config.listener.v3.Listener.DeprecatedV1 (*Listener_ConnectionBalanceConfig)(nil), // 8: envoy.config.listener.v3.Listener.ConnectionBalanceConfig (*Listener_InternalListenerConfig)(nil), // 9: envoy.config.listener.v3.Listener.InternalListenerConfig (*Listener_ConnectionBalanceConfig_ExactBalance)(nil), // 10: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance (*v3.Address)(nil), // 11: envoy.config.core.v3.Address (*v3.SocketOptionsOverride)(nil), // 12: envoy.config.core.v3.SocketOptionsOverride (*v31.CollectionEntry)(nil), // 13: xds.core.v3.CollectionEntry (*FilterChain)(nil), // 14: envoy.config.listener.v3.FilterChain (*v32.Matcher)(nil), // 15: xds.type.matcher.v3.Matcher (*wrappers.BoolValue)(nil), // 16: google.protobuf.BoolValue (*wrappers.UInt32Value)(nil), // 17: google.protobuf.UInt32Value (*v3.Metadata)(nil), // 18: envoy.config.core.v3.Metadata (*ListenerFilter)(nil), // 19: envoy.config.listener.v3.ListenerFilter (*duration.Duration)(nil), // 20: google.protobuf.Duration (*v3.SocketOption)(nil), // 21: envoy.config.core.v3.SocketOption (v3.TrafficDirection)(0), // 22: envoy.config.core.v3.TrafficDirection (*UdpListenerConfig)(nil), // 23: envoy.config.listener.v3.UdpListenerConfig (*ApiListener)(nil), // 24: envoy.config.listener.v3.ApiListener (*v33.AccessLog)(nil), // 25: envoy.config.accesslog.v3.AccessLog (*v3.TypedExtensionConfig)(nil), // 26: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_listener_v3_listener_proto_depIdxs = []int32{ 11, // 0: envoy.config.listener.v3.AdditionalAddress.address:type_name -> envoy.config.core.v3.Address 12, // 1: envoy.config.listener.v3.AdditionalAddress.socket_options:type_name -> envoy.config.core.v3.SocketOptionsOverride 13, // 2: envoy.config.listener.v3.ListenerCollection.entries:type_name -> xds.core.v3.CollectionEntry 11, // 3: envoy.config.listener.v3.Listener.address:type_name -> envoy.config.core.v3.Address 1, // 4: envoy.config.listener.v3.Listener.additional_addresses:type_name -> envoy.config.listener.v3.AdditionalAddress 14, // 5: envoy.config.listener.v3.Listener.filter_chains:type_name -> envoy.config.listener.v3.FilterChain 15, // 6: envoy.config.listener.v3.Listener.filter_chain_matcher:type_name -> xds.type.matcher.v3.Matcher 16, // 7: envoy.config.listener.v3.Listener.use_original_dst:type_name -> google.protobuf.BoolValue 14, // 8: envoy.config.listener.v3.Listener.default_filter_chain:type_name -> envoy.config.listener.v3.FilterChain 17, // 9: envoy.config.listener.v3.Listener.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 18, // 10: envoy.config.listener.v3.Listener.metadata:type_name -> envoy.config.core.v3.Metadata 7, // 11: envoy.config.listener.v3.Listener.deprecated_v1:type_name -> envoy.config.listener.v3.Listener.DeprecatedV1 0, // 12: envoy.config.listener.v3.Listener.drain_type:type_name -> envoy.config.listener.v3.Listener.DrainType 19, // 13: envoy.config.listener.v3.Listener.listener_filters:type_name -> envoy.config.listener.v3.ListenerFilter 20, // 14: envoy.config.listener.v3.Listener.listener_filters_timeout:type_name -> google.protobuf.Duration 16, // 15: envoy.config.listener.v3.Listener.transparent:type_name -> google.protobuf.BoolValue 16, // 16: envoy.config.listener.v3.Listener.freebind:type_name -> google.protobuf.BoolValue 21, // 17: envoy.config.listener.v3.Listener.socket_options:type_name -> envoy.config.core.v3.SocketOption 17, // 18: envoy.config.listener.v3.Listener.tcp_fast_open_queue_length:type_name -> google.protobuf.UInt32Value 22, // 19: envoy.config.listener.v3.Listener.traffic_direction:type_name -> envoy.config.core.v3.TrafficDirection 23, // 20: envoy.config.listener.v3.Listener.udp_listener_config:type_name -> envoy.config.listener.v3.UdpListenerConfig 24, // 21: envoy.config.listener.v3.Listener.api_listener:type_name -> envoy.config.listener.v3.ApiListener 8, // 22: envoy.config.listener.v3.Listener.connection_balance_config:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig 16, // 23: envoy.config.listener.v3.Listener.enable_reuse_port:type_name -> google.protobuf.BoolValue 25, // 24: envoy.config.listener.v3.Listener.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 17, // 25: envoy.config.listener.v3.Listener.tcp_backlog_size:type_name -> google.protobuf.UInt32Value 17, // 26: envoy.config.listener.v3.Listener.max_connections_to_accept_per_socket_event:type_name -> google.protobuf.UInt32Value 16, // 27: envoy.config.listener.v3.Listener.bind_to_port:type_name -> google.protobuf.BoolValue 9, // 28: envoy.config.listener.v3.Listener.internal_listener:type_name -> envoy.config.listener.v3.Listener.InternalListenerConfig 16, // 29: envoy.config.listener.v3.Listener.DeprecatedV1.bind_to_port:type_name -> google.protobuf.BoolValue 10, // 30: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.exact_balance:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance 26, // 31: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.extend_balance:type_name -> envoy.config.core.v3.TypedExtensionConfig 32, // [32:32] is the sub-list for method output_type 32, // [32:32] is the sub-list for method input_type 32, // [32:32] is the sub-list for extension type_name 32, // [32:32] is the sub-list for extension extendee 0, // [0:32] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_listener_proto_init() } func file_envoy_config_listener_v3_listener_proto_init() { if File_envoy_config_listener_v3_listener_proto != nil { return } file_envoy_config_listener_v3_api_listener_proto_init() file_envoy_config_listener_v3_listener_components_proto_init() file_envoy_config_listener_v3_udp_listener_config_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v3_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdditionalAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerCollection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidationListenerManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApiListenerManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_DeprecatedV1); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_ConnectionBalanceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_InternalListenerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Listener_ConnectionBalanceConfig_ExactBalance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_listener_v3_listener_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Listener_InternalListener)(nil), } file_envoy_config_listener_v3_listener_proto_msgTypes[7].OneofWrappers = []interface{}{ (*Listener_ConnectionBalanceConfig_ExactBalance_)(nil), (*Listener_ConnectionBalanceConfig_ExtendBalance)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v3_listener_proto_rawDesc, NumEnums: 1, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v3_listener_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v3_listener_proto_depIdxs, EnumInfos: file_envoy_config_listener_v3_listener_proto_enumTypes, MessageInfos: file_envoy_config_listener_v3_listener_proto_msgTypes, }.Build() File_envoy_config_listener_v3_listener_proto = out.File file_envoy_config_listener_v3_listener_proto_rawDesc = nil file_envoy_config_listener_v3_listener_proto_goTypes = nil file_envoy_config_listener_v3_listener_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v3/listener.pb.validate.go000077500000000000000000001607211454502223200261110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v3/listener.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.TrafficDirection(0) ) // Validate checks the field values on AdditionalAddress with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AdditionalAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdditionalAddress with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AdditionalAddressMultiError, or nil if none found. func (m *AdditionalAddress) ValidateAll() error { return m.validate(true) } func (m *AdditionalAddress) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdditionalAddressValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSocketOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdditionalAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdditionalAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdditionalAddressValidationError{ field: "SocketOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AdditionalAddressMultiError(errors) } return nil } // AdditionalAddressMultiError is an error wrapping multiple validation errors // returned by AdditionalAddress.ValidateAll() if the designated constraints // aren't met. type AdditionalAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdditionalAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdditionalAddressMultiError) AllErrors() []error { return m } // AdditionalAddressValidationError is the validation error returned by // AdditionalAddress.Validate if the designated constraints aren't met. type AdditionalAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdditionalAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdditionalAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdditionalAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdditionalAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdditionalAddressValidationError) ErrorName() string { return "AdditionalAddressValidationError" } // Error satisfies the builtin error interface func (e AdditionalAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdditionalAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdditionalAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdditionalAddressValidationError{} // Validate checks the field values on ListenerCollection with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ListenerCollection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerCollection with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListenerCollectionMultiError, or nil if none found. func (m *ListenerCollection) ValidateAll() error { return m.validate(true) } func (m *ListenerCollection) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerCollectionValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerCollectionValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerCollectionValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenerCollectionMultiError(errors) } return nil } // ListenerCollectionMultiError is an error wrapping multiple validation errors // returned by ListenerCollection.ValidateAll() if the designated constraints // aren't met. type ListenerCollectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerCollectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerCollectionMultiError) AllErrors() []error { return m } // ListenerCollectionValidationError is the validation error returned by // ListenerCollection.Validate if the designated constraints aren't met. type ListenerCollectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerCollectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerCollectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerCollectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerCollectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerCollectionValidationError) ErrorName() string { return "ListenerCollectionValidationError" } // Error satisfies the builtin error interface func (e ListenerCollectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerCollection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerCollectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerCollectionValidationError{} // Validate checks the field values on Listener with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerMultiError, or nil // if none found. func (m *Listener) ValidateAll() error { return m.validate(true) } func (m *Listener) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAdditionalAddresses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("AdditionalAddresses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for StatPrefix for idx, item := range m.GetFilterChains() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("FilterChains[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetFilterChainMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "FilterChainMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "FilterChainMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterChainMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "FilterChainMatcher", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUseOriginalDst()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseOriginalDst()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "UseOriginalDst", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDefaultFilterChain()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "DefaultFilterChain", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "DefaultFilterChain", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultFilterChain()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "DefaultFilterChain", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerConnectionBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "PerConnectionBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDeprecatedV1()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeprecatedV1()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "DeprecatedV1", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DrainType for idx, item := range m.GetListenerFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("ListenerFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetListenerFiltersTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListenerFiltersTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ListenerFiltersTimeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ContinueOnListenerFiltersTimeout if all { switch v := interface{}(m.GetTransparent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransparent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Transparent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFreebind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "Freebind", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSocketOptions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("SocketOptions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTcpFastOpenQueueLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpFastOpenQueueLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "TcpFastOpenQueueLength", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TrafficDirection if all { switch v := interface{}(m.GetUdpListenerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUdpListenerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "UdpListenerConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetApiListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetApiListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ApiListener", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectionBalanceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionBalanceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "ConnectionBalanceConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ReusePort if all { switch v := interface{}(m.GetEnableReusePort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "EnableReusePort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "EnableReusePort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableReusePort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "EnableReusePort", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTcpBacklogSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpBacklogSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "TcpBacklogSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpBacklogSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "TcpBacklogSize", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxConnectionsToAcceptPerSocketEvent(); wrapper != nil { if wrapper.GetValue() <= 0 { err := ListenerValidationError{ field: "MaxConnectionsToAcceptPerSocketEvent", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetBindToPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBindToPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableMptcp // no validation rules for IgnoreGlobalConnLimit switch v := m.ListenerSpecifier.(type) { case *Listener_InternalListener: if v == nil { err := ListenerValidationError{ field: "ListenerSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetInternalListener()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerValidationError{ field: "InternalListener", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerValidationError{ field: "InternalListener", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInternalListener()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerValidationError{ field: "InternalListener", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ListenerMultiError(errors) } return nil } // ListenerMultiError is an error wrapping multiple validation errors returned // by Listener.ValidateAll() if the designated constraints aren't met. type ListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerMultiError) AllErrors() []error { return m } // ListenerValidationError is the validation error returned by // Listener.Validate if the designated constraints aren't met. type ListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerValidationError) ErrorName() string { return "ListenerValidationError" } // Error satisfies the builtin error interface func (e ListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerValidationError{} // Validate checks the field values on ListenerManager with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ListenerManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListenerManagerMultiError, or nil if none found. func (m *ListenerManager) ValidateAll() error { return m.validate(true) } func (m *ListenerManager) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ListenerManagerMultiError(errors) } return nil } // ListenerManagerMultiError is an error wrapping multiple validation errors // returned by ListenerManager.ValidateAll() if the designated constraints // aren't met. type ListenerManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerManagerMultiError) AllErrors() []error { return m } // ListenerManagerValidationError is the validation error returned by // ListenerManager.Validate if the designated constraints aren't met. type ListenerManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerManagerValidationError) ErrorName() string { return "ListenerManagerValidationError" } // Error satisfies the builtin error interface func (e ListenerManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerManagerValidationError{} // Validate checks the field values on ValidationListenerManager with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ValidationListenerManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ValidationListenerManager with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ValidationListenerManagerMultiError, or nil if none found. func (m *ValidationListenerManager) ValidateAll() error { return m.validate(true) } func (m *ValidationListenerManager) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ValidationListenerManagerMultiError(errors) } return nil } // ValidationListenerManagerMultiError is an error wrapping multiple validation // errors returned by ValidationListenerManager.ValidateAll() if the // designated constraints aren't met. type ValidationListenerManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ValidationListenerManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ValidationListenerManagerMultiError) AllErrors() []error { return m } // ValidationListenerManagerValidationError is the validation error returned by // ValidationListenerManager.Validate if the designated constraints aren't met. type ValidationListenerManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ValidationListenerManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ValidationListenerManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ValidationListenerManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ValidationListenerManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ValidationListenerManagerValidationError) ErrorName() string { return "ValidationListenerManagerValidationError" } // Error satisfies the builtin error interface func (e ValidationListenerManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sValidationListenerManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ValidationListenerManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ValidationListenerManagerValidationError{} // Validate checks the field values on ApiListenerManager with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ApiListenerManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApiListenerManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ApiListenerManagerMultiError, or nil if none found. func (m *ApiListenerManager) ValidateAll() error { return m.validate(true) } func (m *ApiListenerManager) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ApiListenerManagerMultiError(errors) } return nil } // ApiListenerManagerMultiError is an error wrapping multiple validation errors // returned by ApiListenerManager.ValidateAll() if the designated constraints // aren't met. type ApiListenerManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApiListenerManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApiListenerManagerMultiError) AllErrors() []error { return m } // ApiListenerManagerValidationError is the validation error returned by // ApiListenerManager.Validate if the designated constraints aren't met. type ApiListenerManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApiListenerManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApiListenerManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApiListenerManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApiListenerManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApiListenerManagerValidationError) ErrorName() string { return "ApiListenerManagerValidationError" } // Error satisfies the builtin error interface func (e ApiListenerManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApiListenerManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApiListenerManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApiListenerManagerValidationError{} // Validate checks the field values on Listener_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Listener_DeprecatedV1) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Listener_DeprecatedV1MultiError, or nil if none found. func (m *Listener_DeprecatedV1) ValidateAll() error { return m.validate(true) } func (m *Listener_DeprecatedV1) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBindToPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBindToPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Listener_DeprecatedV1ValidationError{ field: "BindToPort", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Listener_DeprecatedV1MultiError(errors) } return nil } // Listener_DeprecatedV1MultiError is an error wrapping multiple validation // errors returned by Listener_DeprecatedV1.ValidateAll() if the designated // constraints aren't met. type Listener_DeprecatedV1MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_DeprecatedV1MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_DeprecatedV1MultiError) AllErrors() []error { return m } // Listener_DeprecatedV1ValidationError is the validation error returned by // Listener_DeprecatedV1.Validate if the designated constraints aren't met. type Listener_DeprecatedV1ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_DeprecatedV1ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_DeprecatedV1ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_DeprecatedV1ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_DeprecatedV1ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_DeprecatedV1ValidationError) ErrorName() string { return "Listener_DeprecatedV1ValidationError" } // Error satisfies the builtin error interface func (e Listener_DeprecatedV1ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_DeprecatedV1.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_DeprecatedV1ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_DeprecatedV1ValidationError{} // Validate checks the field values on Listener_ConnectionBalanceConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Listener_ConnectionBalanceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener_ConnectionBalanceConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Listener_ConnectionBalanceConfigMultiError, or nil if none found. func (m *Listener_ConnectionBalanceConfig) ValidateAll() error { return m.validate(true) } func (m *Listener_ConnectionBalanceConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofBalanceTypePresent := false switch v := m.BalanceType.(type) { case *Listener_ConnectionBalanceConfig_ExactBalance_: if v == nil { err := Listener_ConnectionBalanceConfigValidationError{ field: "BalanceType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBalanceTypePresent = true if all { switch v := interface{}(m.GetExactBalance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExactBalance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Listener_ConnectionBalanceConfigValidationError{ field: "ExactBalance", reason: "embedded message failed validation", cause: err, } } } case *Listener_ConnectionBalanceConfig_ExtendBalance: if v == nil { err := Listener_ConnectionBalanceConfigValidationError{ field: "BalanceType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBalanceTypePresent = true if all { switch v := interface{}(m.GetExtendBalance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExtendBalance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ field: "ExtendBalance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtendBalance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Listener_ConnectionBalanceConfigValidationError{ field: "ExtendBalance", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofBalanceTypePresent { err := Listener_ConnectionBalanceConfigValidationError{ field: "BalanceType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Listener_ConnectionBalanceConfigMultiError(errors) } return nil } // Listener_ConnectionBalanceConfigMultiError is an error wrapping multiple // validation errors returned by // Listener_ConnectionBalanceConfig.ValidateAll() if the designated // constraints aren't met. type Listener_ConnectionBalanceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_ConnectionBalanceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_ConnectionBalanceConfigMultiError) AllErrors() []error { return m } // Listener_ConnectionBalanceConfigValidationError is the validation error // returned by Listener_ConnectionBalanceConfig.Validate if the designated // constraints aren't met. type Listener_ConnectionBalanceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_ConnectionBalanceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_ConnectionBalanceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_ConnectionBalanceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_ConnectionBalanceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_ConnectionBalanceConfigValidationError) ErrorName() string { return "Listener_ConnectionBalanceConfigValidationError" } // Error satisfies the builtin error interface func (e Listener_ConnectionBalanceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_ConnectionBalanceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_ConnectionBalanceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_ConnectionBalanceConfigValidationError{} // Validate checks the field values on Listener_InternalListenerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Listener_InternalListenerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Listener_InternalListenerConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Listener_InternalListenerConfigMultiError, or nil if none found. func (m *Listener_InternalListenerConfig) ValidateAll() error { return m.validate(true) } func (m *Listener_InternalListenerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Listener_InternalListenerConfigMultiError(errors) } return nil } // Listener_InternalListenerConfigMultiError is an error wrapping multiple // validation errors returned by Listener_InternalListenerConfig.ValidateAll() // if the designated constraints aren't met. type Listener_InternalListenerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_InternalListenerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_InternalListenerConfigMultiError) AllErrors() []error { return m } // Listener_InternalListenerConfigValidationError is the validation error // returned by Listener_InternalListenerConfig.Validate if the designated // constraints aren't met. type Listener_InternalListenerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_InternalListenerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_InternalListenerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_InternalListenerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_InternalListenerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_InternalListenerConfigValidationError) ErrorName() string { return "Listener_InternalListenerConfigValidationError" } // Error satisfies the builtin error interface func (e Listener_InternalListenerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_InternalListenerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_InternalListenerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_InternalListenerConfigValidationError{} // Validate checks the field values on // Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Listener_ConnectionBalanceConfig_ExactBalance) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // Listener_ConnectionBalanceConfig_ExactBalanceMultiError, or nil if none found. func (m *Listener_ConnectionBalanceConfig_ExactBalance) ValidateAll() error { return m.validate(true) } func (m *Listener_ConnectionBalanceConfig_ExactBalance) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Listener_ConnectionBalanceConfig_ExactBalanceMultiError(errors) } return nil } // Listener_ConnectionBalanceConfig_ExactBalanceMultiError is an error wrapping // multiple validation errors returned by // Listener_ConnectionBalanceConfig_ExactBalance.ValidateAll() if the // designated constraints aren't met. type Listener_ConnectionBalanceConfig_ExactBalanceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Listener_ConnectionBalanceConfig_ExactBalanceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Listener_ConnectionBalanceConfig_ExactBalanceMultiError) AllErrors() []error { return m } // Listener_ConnectionBalanceConfig_ExactBalanceValidationError is the // validation error returned by // Listener_ConnectionBalanceConfig_ExactBalance.Validate if the designated // constraints aren't met. type Listener_ConnectionBalanceConfig_ExactBalanceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) ErrorName() string { return "Listener_ConnectionBalanceConfig_ExactBalanceValidationError" } // Error satisfies the builtin error interface func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListener_ConnectionBalanceConfig_ExactBalance.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{} go-control-plane-0.12.0/envoy/config/listener/v3/listener_components.pb.go000077500000000000000000002022111454502223200265550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v3/listener_components.proto package listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FilterChainMatch_ConnectionSourceType int32 const ( // Any connection source matches. FilterChainMatch_ANY FilterChainMatch_ConnectionSourceType = 0 // Match a connection originating from the same host. FilterChainMatch_SAME_IP_OR_LOOPBACK FilterChainMatch_ConnectionSourceType = 1 // Match a connection originating from a different host. FilterChainMatch_EXTERNAL FilterChainMatch_ConnectionSourceType = 2 ) // Enum value maps for FilterChainMatch_ConnectionSourceType. var ( FilterChainMatch_ConnectionSourceType_name = map[int32]string{ 0: "ANY", 1: "SAME_IP_OR_LOOPBACK", 2: "EXTERNAL", } FilterChainMatch_ConnectionSourceType_value = map[string]int32{ "ANY": 0, "SAME_IP_OR_LOOPBACK": 1, "EXTERNAL": 2, } ) func (x FilterChainMatch_ConnectionSourceType) Enum() *FilterChainMatch_ConnectionSourceType { p := new(FilterChainMatch_ConnectionSourceType) *p = x return p } func (x FilterChainMatch_ConnectionSourceType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FilterChainMatch_ConnectionSourceType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_listener_v3_listener_components_proto_enumTypes[0].Descriptor() } func (FilterChainMatch_ConnectionSourceType) Type() protoreflect.EnumType { return &file_envoy_config_listener_v3_listener_components_proto_enumTypes[0] } func (x FilterChainMatch_ConnectionSourceType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FilterChainMatch_ConnectionSourceType.Descriptor instead. func (FilterChainMatch_ConnectionSourceType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1, 0} } // [#next-free-field: 6] type Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *Filter_TypedConfig // *Filter_ConfigDiscovery ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *Filter) Reset() { *x = Filter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*Filter) ProtoMessage() {} func (x *Filter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Filter.ProtoReflect.Descriptor instead. func (*Filter) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{0} } func (x *Filter) GetName() string { if x != nil { return x.Name } return "" } func (m *Filter) GetConfigType() isFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *Filter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*Filter_TypedConfig); ok { return x.TypedConfig } return nil } func (x *Filter) GetConfigDiscovery() *v3.ExtensionConfigSource { if x, ok := x.GetConfigType().(*Filter_ConfigDiscovery); ok { return x.ConfigDiscovery } return nil } type isFilter_ConfigType interface { isFilter_ConfigType() } type Filter_TypedConfig struct { // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. // [#extension-category: envoy.filters.network] TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } type Filter_ConfigDiscovery struct { // Configuration source specifier for an extension configuration discovery // service. In case of a failure and without the default configuration, the // listener closes the connections. ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"` } func (*Filter_TypedConfig) isFilter_ConfigType() {} func (*Filter_ConfigDiscovery) isFilter_ConfigType() {} // Specifies the match criteria for selecting a specific filter chain for a // listener. // // In order for a filter chain to be selected, *ALL* of its criteria must be // fulfilled by the incoming connection, properties of which are set by the // networking stack and/or listener filters. // // The following order applies: // // 1. Destination port. // 2. Destination IP address. // 3. Server name (e.g. SNI for TLS protocol), // 4. Transport protocol. // 5. Application protocols (e.g. ALPN for TLS protocol). // 6. Directly connected source IP address (this will only be different from the source IP address // when using a listener filter that overrides the source address, such as the :ref:`Proxy Protocol // listener filter `). // 7. Source type (e.g. any, local or external network). // 8. Source IP address. // 9. Source port. // // For criteria that allow ranges or wildcards, the most specific value in any // of the configured filter chains that matches the incoming connection is going // to be used (e.g. for SNI “www.example.com“ the most specific match would be // “www.example.com“, then “*.example.com“, then “*.com“, then any filter // chain without “server_names“ requirements). // // A different way to reason about the filter chain matches: // Suppose there exists N filter chains. Prune the filter chain set using the above 8 steps. // In each step, filter chains which most specifically matches the attributes continue to the next step. // The listener guarantees at most 1 filter chain is left after all of the steps. // // Example: // // For destination port, filter chains specifying the destination port of incoming traffic are the // most specific match. If none of the filter chains specifies the exact destination port, the filter // chains which do not specify ports are the most specific match. Filter chains specifying the // wrong port can never be the most specific match. // // [#comment: Implemented rules are kept in the preference order, with deprecated fields // listed at the end, because that's how we want to list them in the docs. // // [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules] // [#next-free-field: 14] type FilterChainMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional destination port to consider when use_original_dst is set on the // listener in determining a filter chain match. DestinationPort *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` // If non-empty, an IP address and prefix length to match addresses when the // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. PrefixRanges []*v3.CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges,proto3" json:"prefix_ranges,omitempty"` // If non-empty, an IP address and suffix length to match addresses when the // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. // [#not-implemented-hide:] AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"` // [#not-implemented-hide:] SuffixLen *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" json:"suffix_len,omitempty"` // The criteria is satisfied if the directly connected source IP address of the downstream // connection is contained in at least one of the specified subnets. If the parameter is not // specified or the list is empty, the directly connected source IP address is ignored. DirectSourcePrefixRanges []*v3.CidrRange `protobuf:"bytes,13,rep,name=direct_source_prefix_ranges,json=directSourcePrefixRanges,proto3" json:"direct_source_prefix_ranges,omitempty"` // Specifies the connection source IP match type. Can be any, local or external network. SourceType FilterChainMatch_ConnectionSourceType `protobuf:"varint,12,opt,name=source_type,json=sourceType,proto3,enum=envoy.config.listener.v3.FilterChainMatch_ConnectionSourceType" json:"source_type,omitempty"` // The criteria is satisfied if the source IP address of the downstream // connection is contained in at least one of the specified subnets. If the // parameter is not specified or the list is empty, the source IP address is // ignored. SourcePrefixRanges []*v3.CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"` // The criteria is satisfied if the source port of the downstream connection // is contained in at least one of the specified ports. If the parameter is // not specified, the source port is ignored. SourcePorts []uint32 `protobuf:"varint,7,rep,packed,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` // If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining // a filter chain match. Those values will be compared against the server names of a new // connection, when detected by one of the listener filters. // // The server name will be matched against all wildcard domains, i.e. “www.example.com“ // will be first matched against “www.example.com“, then “*.example.com“, then “*.com“. // // Note that partial wildcards are not supported, and values like “*w.example.com“ are invalid. // The value “*“ is also not supported, and “server_names“ should be omitted instead. // // .. attention:: // // See the :ref:`FAQ entry ` on how to configure SNI for more // information. ServerNames []string `protobuf:"bytes,11,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"` // If non-empty, a transport protocol to consider when determining a filter chain match. // This value will be compared against the transport protocol of a new connection, when // it's detected by one of the listener filters. // // Suggested values include: // // - “raw_buffer“ - default, used when no transport protocol is detected, // - “tls“ - set by :ref:`envoy.filters.listener.tls_inspector ` // when TLS protocol is detected. TransportProtocol string `protobuf:"bytes,9,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"` // If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when // determining a filter chain match. Those values will be compared against the application // protocols of a new connection, when detected by one of the listener filters. // // Suggested values include: // // - “http/1.1“ - set by :ref:`envoy.filters.listener.tls_inspector // `, // - “h2“ - set by :ref:`envoy.filters.listener.tls_inspector ` // // .. attention:: // // Currently, only :ref:`TLS Inspector ` provides // application protocol detection based on the requested // `ALPN `_ values. // // However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet, // and matching on values other than ``h2`` is going to lead to a lot of false negatives, // unless all connecting clients are known to use ALPN. ApplicationProtocols []string `protobuf:"bytes,10,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` } func (x *FilterChainMatch) Reset() { *x = FilterChainMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterChainMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterChainMatch) ProtoMessage() {} func (x *FilterChainMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead. func (*FilterChainMatch) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1} } func (x *FilterChainMatch) GetDestinationPort() *wrappers.UInt32Value { if x != nil { return x.DestinationPort } return nil } func (x *FilterChainMatch) GetPrefixRanges() []*v3.CidrRange { if x != nil { return x.PrefixRanges } return nil } func (x *FilterChainMatch) GetAddressSuffix() string { if x != nil { return x.AddressSuffix } return "" } func (x *FilterChainMatch) GetSuffixLen() *wrappers.UInt32Value { if x != nil { return x.SuffixLen } return nil } func (x *FilterChainMatch) GetDirectSourcePrefixRanges() []*v3.CidrRange { if x != nil { return x.DirectSourcePrefixRanges } return nil } func (x *FilterChainMatch) GetSourceType() FilterChainMatch_ConnectionSourceType { if x != nil { return x.SourceType } return FilterChainMatch_ANY } func (x *FilterChainMatch) GetSourcePrefixRanges() []*v3.CidrRange { if x != nil { return x.SourcePrefixRanges } return nil } func (x *FilterChainMatch) GetSourcePorts() []uint32 { if x != nil { return x.SourcePorts } return nil } func (x *FilterChainMatch) GetServerNames() []string { if x != nil { return x.ServerNames } return nil } func (x *FilterChainMatch) GetTransportProtocol() string { if x != nil { return x.TransportProtocol } return "" } func (x *FilterChainMatch) GetApplicationProtocols() []string { if x != nil { return x.ApplicationProtocols } return nil } // A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and // various other parameters. // [#next-free-field: 10] type FilterChain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The criteria to use when matching a connection to this filter chain. FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch,proto3" json:"filter_chain_match,omitempty"` // A list of individual network filters that make up the filter chain for // connections established with the listener. Order matters as the filters are // processed sequentially as connection events happen. Note: If the filter // list is empty, the connection will close by default. // // For QUIC listeners, network filters other than HTTP Connection Manager (HCM) // can be created, but due to differences in the connection implementation compared // to TCP, the onData() method will never be called. Therefore, network filters // for QUIC listeners should only expect to do work at the start of a new connection // (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain. Filters []*Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` // Whether the listener should expect a PROXY protocol V1 header on new // connections. If this option is enabled, the listener will assume that that // remote address of the connection is the one specified in the header. Some // load balancers including the AWS ELB support this option. If the option is // absent or set to false, Envoy will use the physical peer address of the // connection as the remote address. // // This field is deprecated. Add a // :ref:`PROXY protocol listener filter ` // explicitly instead. // // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener_components.proto. UseProxyProto *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"` // [#not-implemented-hide:] filter chain metadata. Metadata *v3.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // Optional custom transport socket implementation to use for downstream connections. // To setup TLS, set a transport socket with name “envoy.transport_sockets.tls“ and // :ref:`DownstreamTlsContext ` in the “typed_config“. // If no transport socket configuration is specified, new connections // will be set up with plaintext. // [#extension-category: envoy.transport_sockets.downstream] TransportSocket *v3.TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` // If present and nonzero, the amount of time to allow incoming connections to complete any // transport socket negotiations. If this expires before the transport reports connection // establishment, the connection is summarily closed. TransportSocketConnectTimeout *duration.Duration `protobuf:"bytes,9,opt,name=transport_socket_connect_timeout,json=transportSocketConnectTimeout,proto3" json:"transport_socket_connect_timeout,omitempty"` // The unique name (or empty) by which this filter chain is known. // Note: :ref:`filter_chain_matcher // ` // requires that filter chains are uniquely named within a listener. Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand. // If this field is not empty, the filter chain will be built on-demand. // Otherwise, the filter chain will be built normally and block listener warming. OnDemandConfiguration *FilterChain_OnDemandConfiguration `protobuf:"bytes,8,opt,name=on_demand_configuration,json=onDemandConfiguration,proto3" json:"on_demand_configuration,omitempty"` } func (x *FilterChain) Reset() { *x = FilterChain{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterChain) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterChain) ProtoMessage() {} func (x *FilterChain) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterChain.ProtoReflect.Descriptor instead. func (*FilterChain) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2} } func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch { if x != nil { return x.FilterChainMatch } return nil } func (x *FilterChain) GetFilters() []*Filter { if x != nil { return x.Filters } return nil } // Deprecated: Marked as deprecated in envoy/config/listener/v3/listener_components.proto. func (x *FilterChain) GetUseProxyProto() *wrappers.BoolValue { if x != nil { return x.UseProxyProto } return nil } func (x *FilterChain) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } func (x *FilterChain) GetTransportSocket() *v3.TransportSocket { if x != nil { return x.TransportSocket } return nil } func (x *FilterChain) GetTransportSocketConnectTimeout() *duration.Duration { if x != nil { return x.TransportSocketConnectTimeout } return nil } func (x *FilterChain) GetName() string { if x != nil { return x.Name } return "" } func (x *FilterChain) GetOnDemandConfiguration() *FilterChain_OnDemandConfiguration { if x != nil { return x.OnDemandConfiguration } return nil } // Listener filter chain match configuration. This is a recursive structure which allows complex // nested match configurations to be built using various logical operators. // // Examples: // // * Matches if the destination port is 3306. // // .. code-block:: yaml // // destination_port_range: // start: 3306 // end: 3307 // // * Matches if the destination port is 3306 or 15000. // // .. code-block:: yaml // // or_match: // rules: // - destination_port_range: // start: 3306 // end: 3307 // - destination_port_range: // start: 15000 // end: 15001 // // [#next-free-field: 6] type ListenerFilterChainMatchPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *ListenerFilterChainMatchPredicate_OrMatch // *ListenerFilterChainMatchPredicate_AndMatch // *ListenerFilterChainMatchPredicate_NotMatch // *ListenerFilterChainMatchPredicate_AnyMatch // *ListenerFilterChainMatchPredicate_DestinationPortRange Rule isListenerFilterChainMatchPredicate_Rule `protobuf_oneof:"rule"` } func (x *ListenerFilterChainMatchPredicate) Reset() { *x = ListenerFilterChainMatchPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilterChainMatchPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilterChainMatchPredicate) ProtoMessage() {} func (x *ListenerFilterChainMatchPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilterChainMatchPredicate.ProtoReflect.Descriptor instead. func (*ListenerFilterChainMatchPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3} } func (m *ListenerFilterChainMatchPredicate) GetRule() isListenerFilterChainMatchPredicate_Rule { if m != nil { return m.Rule } return nil } func (x *ListenerFilterChainMatchPredicate) GetOrMatch() *ListenerFilterChainMatchPredicate_MatchSet { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_OrMatch); ok { return x.OrMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetAndMatch() *ListenerFilterChainMatchPredicate_MatchSet { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AndMatch); ok { return x.AndMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetNotMatch() *ListenerFilterChainMatchPredicate { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_NotMatch); ok { return x.NotMatch } return nil } func (x *ListenerFilterChainMatchPredicate) GetAnyMatch() bool { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AnyMatch); ok { return x.AnyMatch } return false } func (x *ListenerFilterChainMatchPredicate) GetDestinationPortRange() *v31.Int32Range { if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_DestinationPortRange); ok { return x.DestinationPortRange } return nil } type isListenerFilterChainMatchPredicate_Rule interface { isListenerFilterChainMatchPredicate_Rule() } type ListenerFilterChainMatchPredicate_OrMatch struct { // A set that describes a logical OR. If any member of the set matches, the match configuration // matches. OrMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_AndMatch struct { // A set that describes a logical AND. If all members of the set match, the match configuration // matches. AndMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_NotMatch struct { // A negation match. The match configuration will match if the negated match condition matches. NotMatch *ListenerFilterChainMatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_AnyMatch struct { // The match configuration will always match. AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` } type ListenerFilterChainMatchPredicate_DestinationPortRange struct { // Match destination port. Particularly, the match evaluation must use the recovered local port if // the owning listener filter is after :ref:`an original_dst listener filter `. DestinationPortRange *v31.Int32Range `protobuf:"bytes,5,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"` } func (*ListenerFilterChainMatchPredicate_OrMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_AndMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_NotMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_AnyMatch) isListenerFilterChainMatchPredicate_Rule() {} func (*ListenerFilterChainMatchPredicate_DestinationPortRange) isListenerFilterChainMatchPredicate_Rule() { } // [#next-free-field: 6] type ListenerFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *ListenerFilter_TypedConfig // *ListenerFilter_ConfigDiscovery ConfigType isListenerFilter_ConfigType `protobuf_oneof:"config_type"` // Optional match predicate used to disable the filter. The filter is enabled when this field is empty. // See :ref:`ListenerFilterChainMatchPredicate ` // for further examples. FilterDisabled *ListenerFilterChainMatchPredicate `protobuf:"bytes,4,opt,name=filter_disabled,json=filterDisabled,proto3" json:"filter_disabled,omitempty"` } func (x *ListenerFilter) Reset() { *x = ListenerFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilter) ProtoMessage() {} func (x *ListenerFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilter.ProtoReflect.Descriptor instead. func (*ListenerFilter) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{4} } func (x *ListenerFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ListenerFilter) GetConfigType() isListenerFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *ListenerFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ListenerFilter_TypedConfig); ok { return x.TypedConfig } return nil } func (x *ListenerFilter) GetConfigDiscovery() *v3.ExtensionConfigSource { if x, ok := x.GetConfigType().(*ListenerFilter_ConfigDiscovery); ok { return x.ConfigDiscovery } return nil } func (x *ListenerFilter) GetFilterDisabled() *ListenerFilterChainMatchPredicate { if x != nil { return x.FilterDisabled } return nil } type isListenerFilter_ConfigType interface { isListenerFilter_ConfigType() } type ListenerFilter_TypedConfig struct { // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. // [#extension-category: envoy.filters.listener,envoy.filters.udp_listener] TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } type ListenerFilter_ConfigDiscovery struct { // Configuration source specifier for an extension configuration discovery // service. In case of a failure and without the default configuration, the // listener closes the connections. ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"` } func (*ListenerFilter_TypedConfig) isListenerFilter_ConfigType() {} func (*ListenerFilter_ConfigDiscovery) isListenerFilter_ConfigType() {} // The configuration for on-demand filter chain. If this field is not empty in FilterChain message, // a filter chain will be built on-demand. // On-demand filter chains help speedup the warming up of listeners since the building and initialization of // an on-demand filter chain will be postponed to the arrival of new connection requests that require this filter chain. // Filter chains that are not often used can be set as on-demand. type FilterChain_OnDemandConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The timeout to wait for filter chain placeholders to complete rebuilding. // 1. If this field is set to 0, timeout is disabled. // 2. If not specified, a default timeout of 15s is used. // Rebuilding will wait until dependencies are ready, have failed, or this timeout is reached. // Upon failure or timeout, all connections related to this filter chain will be closed. // Rebuilding will start again on the next new connection. RebuildTimeout *duration.Duration `protobuf:"bytes,1,opt,name=rebuild_timeout,json=rebuildTimeout,proto3" json:"rebuild_timeout,omitempty"` } func (x *FilterChain_OnDemandConfiguration) Reset() { *x = FilterChain_OnDemandConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterChain_OnDemandConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterChain_OnDemandConfiguration) ProtoMessage() {} func (x *FilterChain_OnDemandConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterChain_OnDemandConfiguration.ProtoReflect.Descriptor instead. func (*FilterChain_OnDemandConfiguration) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2, 0} } func (x *FilterChain_OnDemandConfiguration) GetRebuildTimeout() *duration.Duration { if x != nil { return x.RebuildTimeout } return nil } // A set of match configurations used for logical operations. type ListenerFilterChainMatchPredicate_MatchSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules that make up the set. Rules []*ListenerFilterChainMatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *ListenerFilterChainMatchPredicate_MatchSet) Reset() { *x = ListenerFilterChainMatchPredicate_MatchSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListenerFilterChainMatchPredicate_MatchSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListenerFilterChainMatchPredicate_MatchSet) ProtoMessage() {} func (x *ListenerFilterChainMatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListenerFilterChainMatchPredicate_MatchSet.ProtoReflect.Descriptor instead. func (*ListenerFilterChainMatchPredicate_MatchSet) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3, 0} } func (x *ListenerFilterChainMatchPredicate_MatchSet) GetRules() []*ListenerFilterChainMatchPredicate { if x != nil { return x.Rules } return nil } var File_envoy_config_listener_v3_listener_components_proto protoreflect.FileDescriptor var file_envoy_config_listener_v3_listener_components_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xea, 0x06, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x5e, 0x0a, 0x1b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x89, 0x06, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5b, 0x0a, 0x15, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xc2, 0x05, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x63, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x51, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xb0, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf2, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x97, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v3_listener_components_proto_rawDescOnce sync.Once file_envoy_config_listener_v3_listener_components_proto_rawDescData = file_envoy_config_listener_v3_listener_components_proto_rawDesc ) func file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP() []byte { file_envoy_config_listener_v3_listener_components_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v3_listener_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_listener_components_proto_rawDescData) }) return file_envoy_config_listener_v3_listener_components_proto_rawDescData } var file_envoy_config_listener_v3_listener_components_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_listener_v3_listener_components_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_config_listener_v3_listener_components_proto_goTypes = []interface{}{ (FilterChainMatch_ConnectionSourceType)(0), // 0: envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType (*Filter)(nil), // 1: envoy.config.listener.v3.Filter (*FilterChainMatch)(nil), // 2: envoy.config.listener.v3.FilterChainMatch (*FilterChain)(nil), // 3: envoy.config.listener.v3.FilterChain (*ListenerFilterChainMatchPredicate)(nil), // 4: envoy.config.listener.v3.ListenerFilterChainMatchPredicate (*ListenerFilter)(nil), // 5: envoy.config.listener.v3.ListenerFilter (*FilterChain_OnDemandConfiguration)(nil), // 6: envoy.config.listener.v3.FilterChain.OnDemandConfiguration (*ListenerFilterChainMatchPredicate_MatchSet)(nil), // 7: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet (*any1.Any)(nil), // 8: google.protobuf.Any (*v3.ExtensionConfigSource)(nil), // 9: envoy.config.core.v3.ExtensionConfigSource (*wrappers.UInt32Value)(nil), // 10: google.protobuf.UInt32Value (*v3.CidrRange)(nil), // 11: envoy.config.core.v3.CidrRange (*wrappers.BoolValue)(nil), // 12: google.protobuf.BoolValue (*v3.Metadata)(nil), // 13: envoy.config.core.v3.Metadata (*v3.TransportSocket)(nil), // 14: envoy.config.core.v3.TransportSocket (*duration.Duration)(nil), // 15: google.protobuf.Duration (*v31.Int32Range)(nil), // 16: envoy.type.v3.Int32Range } var file_envoy_config_listener_v3_listener_components_proto_depIdxs = []int32{ 8, // 0: envoy.config.listener.v3.Filter.typed_config:type_name -> google.protobuf.Any 9, // 1: envoy.config.listener.v3.Filter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 10, // 2: envoy.config.listener.v3.FilterChainMatch.destination_port:type_name -> google.protobuf.UInt32Value 11, // 3: envoy.config.listener.v3.FilterChainMatch.prefix_ranges:type_name -> envoy.config.core.v3.CidrRange 10, // 4: envoy.config.listener.v3.FilterChainMatch.suffix_len:type_name -> google.protobuf.UInt32Value 11, // 5: envoy.config.listener.v3.FilterChainMatch.direct_source_prefix_ranges:type_name -> envoy.config.core.v3.CidrRange 0, // 6: envoy.config.listener.v3.FilterChainMatch.source_type:type_name -> envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType 11, // 7: envoy.config.listener.v3.FilterChainMatch.source_prefix_ranges:type_name -> envoy.config.core.v3.CidrRange 2, // 8: envoy.config.listener.v3.FilterChain.filter_chain_match:type_name -> envoy.config.listener.v3.FilterChainMatch 1, // 9: envoy.config.listener.v3.FilterChain.filters:type_name -> envoy.config.listener.v3.Filter 12, // 10: envoy.config.listener.v3.FilterChain.use_proxy_proto:type_name -> google.protobuf.BoolValue 13, // 11: envoy.config.listener.v3.FilterChain.metadata:type_name -> envoy.config.core.v3.Metadata 14, // 12: envoy.config.listener.v3.FilterChain.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 15, // 13: envoy.config.listener.v3.FilterChain.transport_socket_connect_timeout:type_name -> google.protobuf.Duration 6, // 14: envoy.config.listener.v3.FilterChain.on_demand_configuration:type_name -> envoy.config.listener.v3.FilterChain.OnDemandConfiguration 7, // 15: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.or_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet 7, // 16: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.and_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet 4, // 17: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.not_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 16, // 18: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.destination_port_range:type_name -> envoy.type.v3.Int32Range 8, // 19: envoy.config.listener.v3.ListenerFilter.typed_config:type_name -> google.protobuf.Any 9, // 20: envoy.config.listener.v3.ListenerFilter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 4, // 21: envoy.config.listener.v3.ListenerFilter.filter_disabled:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 15, // 22: envoy.config.listener.v3.FilterChain.OnDemandConfiguration.rebuild_timeout:type_name -> google.protobuf.Duration 4, // 23: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet.rules:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 24, // [24:24] is the sub-list for method output_type 24, // [24:24] is the sub-list for method input_type 24, // [24:24] is the sub-list for extension type_name 24, // [24:24] is the sub-list for extension extendee 0, // [0:24] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_listener_components_proto_init() } func file_envoy_config_listener_v3_listener_components_proto_init() { if File_envoy_config_listener_v3_listener_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterChainMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterChain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilterChainMatchPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterChain_OnDemandConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenerFilterChainMatchPredicate_MatchSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Filter_TypedConfig)(nil), (*Filter_ConfigDiscovery)(nil), } file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].OneofWrappers = []interface{}{ (*ListenerFilterChainMatchPredicate_OrMatch)(nil), (*ListenerFilterChainMatchPredicate_AndMatch)(nil), (*ListenerFilterChainMatchPredicate_NotMatch)(nil), (*ListenerFilterChainMatchPredicate_AnyMatch)(nil), (*ListenerFilterChainMatchPredicate_DestinationPortRange)(nil), } file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].OneofWrappers = []interface{}{ (*ListenerFilter_TypedConfig)(nil), (*ListenerFilter_ConfigDiscovery)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v3_listener_components_proto_rawDesc, NumEnums: 1, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v3_listener_components_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v3_listener_components_proto_depIdxs, EnumInfos: file_envoy_config_listener_v3_listener_components_proto_enumTypes, MessageInfos: file_envoy_config_listener_v3_listener_components_proto_msgTypes, }.Build() File_envoy_config_listener_v3_listener_components_proto = out.File file_envoy_config_listener_v3_listener_components_proto_rawDesc = nil file_envoy_config_listener_v3_listener_components_proto_goTypes = nil file_envoy_config_listener_v3_listener_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v3/listener_components.pb.validate.go000077500000000000000000001320051454502223200303500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v3/listener_components.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Filter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Filter with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in FilterMultiError, or nil if none found. func (m *Filter) ValidateAll() error { return m.validate(true) } func (m *Filter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := FilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *Filter_TypedConfig: if v == nil { err := FilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } case *Filter_ConfigDiscovery: if v == nil { err := FilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigDiscovery()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigDiscovery()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterMultiError(errors) } return nil } // FilterMultiError is an error wrapping multiple validation errors returned by // Filter.ValidateAll() if the designated constraints aren't met. type FilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterMultiError) AllErrors() []error { return m } // FilterValidationError is the validation error returned by Filter.Validate if // the designated constraints aren't met. type FilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterValidationError) ErrorName() string { return "FilterValidationError" } // Error satisfies the builtin error interface func (e FilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterValidationError{} // Validate checks the field values on FilterChainMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterChainMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterChainMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterChainMatchMultiError, or nil if none found. func (m *FilterChainMatch) ValidateAll() error { return m.validate(true) } func (m *FilterChainMatch) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetDestinationPort(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 65535 { err := FilterChainMatchValidationError{ field: "DestinationPort", reason: "value must be inside range [1, 65535]", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetPrefixRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: fmt.Sprintf("PrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AddressSuffix if all { switch v := interface{}(m.GetSuffixLen()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuffixLen()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: "SuffixLen", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetDirectSourcePrefixRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("DirectSourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("DirectSourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: fmt.Sprintf("DirectSourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := FilterChainMatch_ConnectionSourceType_name[int32(m.GetSourceType())]; !ok { err := FilterChainMatchValidationError{ field: "SourceType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetSourcePrefixRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePrefixRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetSourcePorts() { _, _ = idx, item if val := item; val < 1 || val > 65535 { err := FilterChainMatchValidationError{ field: fmt.Sprintf("SourcePorts[%v]", idx), reason: "value must be inside range [1, 65535]", } if !all { return err } errors = append(errors, err) } } // no validation rules for TransportProtocol if len(errors) > 0 { return FilterChainMatchMultiError(errors) } return nil } // FilterChainMatchMultiError is an error wrapping multiple validation errors // returned by FilterChainMatch.ValidateAll() if the designated constraints // aren't met. type FilterChainMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterChainMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterChainMatchMultiError) AllErrors() []error { return m } // FilterChainMatchValidationError is the validation error returned by // FilterChainMatch.Validate if the designated constraints aren't met. type FilterChainMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterChainMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterChainMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterChainMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterChainMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterChainMatchValidationError) ErrorName() string { return "FilterChainMatchValidationError" } // Error satisfies the builtin error interface func (e FilterChainMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterChainMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterChainMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterChainMatchValidationError{} // Validate checks the field values on FilterChain with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterChain) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterChain with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterChainMultiError, or // nil if none found. func (m *FilterChain) ValidateAll() error { return m.validate(true) } func (m *FilterChain) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetFilterChainMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterChainMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "FilterChainMatch", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseProxyProto()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseProxyProto()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "UseProxyProto", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTransportSocketConnectTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocketConnectTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "TransportSocketConnectTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocketConnectTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "TransportSocketConnectTimeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Name if all { switch v := interface{}(m.GetOnDemandConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChainValidationError{ field: "OnDemandConfiguration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChainValidationError{ field: "OnDemandConfiguration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnDemandConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChainValidationError{ field: "OnDemandConfiguration", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterChainMultiError(errors) } return nil } // FilterChainMultiError is an error wrapping multiple validation errors // returned by FilterChain.ValidateAll() if the designated constraints aren't met. type FilterChainMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterChainMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterChainMultiError) AllErrors() []error { return m } // FilterChainValidationError is the validation error returned by // FilterChain.Validate if the designated constraints aren't met. type FilterChainValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterChainValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterChainValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterChainValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterChainValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterChainValidationError) ErrorName() string { return "FilterChainValidationError" } // Error satisfies the builtin error interface func (e FilterChainValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterChain.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterChainValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterChainValidationError{} // Validate checks the field values on ListenerFilterChainMatchPredicate with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *ListenerFilterChainMatchPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerFilterChainMatchPredicate // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ListenerFilterChainMatchPredicateMultiError, or nil if none found. func (m *ListenerFilterChainMatchPredicate) ValidateAll() error { return m.validate(true) } func (m *ListenerFilterChainMatchPredicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *ListenerFilterChainMatchPredicate_OrMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_AndMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_NotMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilterChainMatchPredicate_AnyMatch: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAnyMatch() != true { err := ListenerFilterChainMatchPredicateValidationError{ field: "AnyMatch", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *ListenerFilterChainMatchPredicate_DestinationPortRange: if v == nil { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetDestinationPortRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationPortRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicateValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := ListenerFilterChainMatchPredicateValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ListenerFilterChainMatchPredicateMultiError(errors) } return nil } // ListenerFilterChainMatchPredicateMultiError is an error wrapping multiple // validation errors returned by // ListenerFilterChainMatchPredicate.ValidateAll() if the designated // constraints aren't met. type ListenerFilterChainMatchPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterChainMatchPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterChainMatchPredicateMultiError) AllErrors() []error { return m } // ListenerFilterChainMatchPredicateValidationError is the validation error // returned by ListenerFilterChainMatchPredicate.Validate if the designated // constraints aren't met. type ListenerFilterChainMatchPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterChainMatchPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterChainMatchPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterChainMatchPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterChainMatchPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterChainMatchPredicateValidationError) ErrorName() string { return "ListenerFilterChainMatchPredicateValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterChainMatchPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilterChainMatchPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterChainMatchPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterChainMatchPredicateValidationError{} // Validate checks the field values on ListenerFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListenerFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListenerFilterMultiError, // or nil if none found. func (m *ListenerFilter) ValidateAll() error { return m.validate(true) } func (m *ListenerFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ListenerFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterDisabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterDisabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "FilterDisabled", reason: "embedded message failed validation", cause: err, } } } switch v := m.ConfigType.(type) { case *ListenerFilter_TypedConfig: if v == nil { err := ListenerFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } case *ListenerFilter_ConfigDiscovery: if v == nil { err := ListenerFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigDiscovery()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigDiscovery()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ListenerFilterMultiError(errors) } return nil } // ListenerFilterMultiError is an error wrapping multiple validation errors // returned by ListenerFilter.ValidateAll() if the designated constraints // aren't met. type ListenerFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterMultiError) AllErrors() []error { return m } // ListenerFilterValidationError is the validation error returned by // ListenerFilter.Validate if the designated constraints aren't met. type ListenerFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterValidationError) ErrorName() string { return "ListenerFilterValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterValidationError{} // Validate checks the field values on FilterChain_OnDemandConfiguration with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *FilterChain_OnDemandConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterChain_OnDemandConfiguration // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // FilterChain_OnDemandConfigurationMultiError, or nil if none found. func (m *FilterChain_OnDemandConfiguration) ValidateAll() error { return m.validate(true) } func (m *FilterChain_OnDemandConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRebuildTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterChain_OnDemandConfigurationValidationError{ field: "RebuildTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterChain_OnDemandConfigurationValidationError{ field: "RebuildTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRebuildTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterChain_OnDemandConfigurationValidationError{ field: "RebuildTimeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterChain_OnDemandConfigurationMultiError(errors) } return nil } // FilterChain_OnDemandConfigurationMultiError is an error wrapping multiple // validation errors returned by // FilterChain_OnDemandConfiguration.ValidateAll() if the designated // constraints aren't met. type FilterChain_OnDemandConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterChain_OnDemandConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterChain_OnDemandConfigurationMultiError) AllErrors() []error { return m } // FilterChain_OnDemandConfigurationValidationError is the validation error // returned by FilterChain_OnDemandConfiguration.Validate if the designated // constraints aren't met. type FilterChain_OnDemandConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterChain_OnDemandConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterChain_OnDemandConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterChain_OnDemandConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterChain_OnDemandConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterChain_OnDemandConfigurationValidationError) ErrorName() string { return "FilterChain_OnDemandConfigurationValidationError" } // Error satisfies the builtin error interface func (e FilterChain_OnDemandConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterChain_OnDemandConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterChain_OnDemandConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterChain_OnDemandConfigurationValidationError{} // Validate checks the field values on // ListenerFilterChainMatchPredicate_MatchSet with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListenerFilterChainMatchPredicate_MatchSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ListenerFilterChainMatchPredicate_MatchSet with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ListenerFilterChainMatchPredicate_MatchSetMultiError, or nil if none found. func (m *ListenerFilterChainMatchPredicate_MatchSet) ValidateAll() error { return m.validate(true) } func (m *ListenerFilterChainMatchPredicate_MatchSet) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 2 { err := ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: "Rules", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListenerFilterChainMatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListenerFilterChainMatchPredicate_MatchSetMultiError(errors) } return nil } // ListenerFilterChainMatchPredicate_MatchSetMultiError is an error wrapping // multiple validation errors returned by // ListenerFilterChainMatchPredicate_MatchSet.ValidateAll() if the designated // constraints aren't met. type ListenerFilterChainMatchPredicate_MatchSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListenerFilterChainMatchPredicate_MatchSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListenerFilterChainMatchPredicate_MatchSetMultiError) AllErrors() []error { return m } // ListenerFilterChainMatchPredicate_MatchSetValidationError is the validation // error returned by ListenerFilterChainMatchPredicate_MatchSet.Validate if // the designated constraints aren't met. type ListenerFilterChainMatchPredicate_MatchSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) ErrorName() string { return "ListenerFilterChainMatchPredicate_MatchSetValidationError" } // Error satisfies the builtin error interface func (e ListenerFilterChainMatchPredicate_MatchSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListenerFilterChainMatchPredicate_MatchSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListenerFilterChainMatchPredicate_MatchSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListenerFilterChainMatchPredicate_MatchSetValidationError{} go-control-plane-0.12.0/envoy/config/listener/v3/quic_config.pb.go000077500000000000000000000501521454502223200247560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v3/quic_config.proto package listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration specific to the UDP QUIC listener. // [#next-free-field: 10] type QuicProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields QuicProtocolOptions *v3.QuicProtocolOptions `protobuf:"bytes,1,opt,name=quic_protocol_options,json=quicProtocolOptions,proto3" json:"quic_protocol_options,omitempty"` // Maximum number of milliseconds that connection will be alive when there is // no network activity. // // If it is less than 1ms, Envoy will use 1ms. 300000ms if not specified. IdleTimeout *duration.Duration `protobuf:"bytes,2,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Connection timeout in milliseconds before the crypto handshake is finished. // // If it is less than 5000ms, Envoy will use 5000ms. 20000ms if not specified. CryptoHandshakeTimeout *duration.Duration `protobuf:"bytes,3,opt,name=crypto_handshake_timeout,json=cryptoHandshakeTimeout,proto3" json:"crypto_handshake_timeout,omitempty"` // Runtime flag that controls whether the listener is enabled or not. If not specified, defaults // to enabled. Enabled *v3.RuntimeFeatureFlag `protobuf:"bytes,4,opt,name=enabled,proto3" json:"enabled,omitempty"` // A multiplier to number of connections which is used to determine how many packets to read per // event loop. A reasonable number should allow the listener to process enough payload but not // starve TCP and other UDP sockets and also prevent long event loop duration. // The default value is 32. This means if there are N QUIC connections, the total number of // packets to read in each read event will be 32 * N. // The actual number of packets to read in total by the UDP listener is also // bound by 6000, regardless of this field or how many connections there are. PacketsToReadToConnectionCountRatio *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=packets_to_read_to_connection_count_ratio,json=packetsToReadToConnectionCountRatio,proto3" json:"packets_to_read_to_connection_count_ratio,omitempty"` // Configure which implementation of “quic::QuicCryptoClientStreamBase“ to be used for this listener. // If not specified the :ref:`QUICHE default one configured by ` will be used. // [#extension-category: envoy.quic.server.crypto_stream] CryptoStreamConfig *v3.TypedExtensionConfig `protobuf:"bytes,6,opt,name=crypto_stream_config,json=cryptoStreamConfig,proto3" json:"crypto_stream_config,omitempty"` // Configure which implementation of “quic::ProofSource“ to be used for this listener. // If not specified the :ref:`default one configured by ` will be used. // [#extension-category: envoy.quic.proof_source] ProofSourceConfig *v3.TypedExtensionConfig `protobuf:"bytes,7,opt,name=proof_source_config,json=proofSourceConfig,proto3" json:"proof_source_config,omitempty"` // Config which implementation of “quic::ConnectionIdGeneratorInterface“ to be used for this listener. // If not specified the :ref:`default one configured by ` will be used. // [#extension-category: envoy.quic.connection_id_generator] ConnectionIdGeneratorConfig *v3.TypedExtensionConfig `protobuf:"bytes,8,opt,name=connection_id_generator_config,json=connectionIdGeneratorConfig,proto3" json:"connection_id_generator_config,omitempty"` // Configure the server's preferred address to advertise so that client can migrate to it. See :ref:`example ` which configures a pair of v4 and v6 preferred addresses. // The current QUICHE implementation will advertise only one of the preferred IPv4 and IPv6 addresses based on the address family the client initially connects with, and only if the client is also QUICHE-based. // If not specified, Envoy will not advertise any server's preferred address. // [#extension-category: envoy.quic.server_preferred_address] ServerPreferredAddressConfig *v3.TypedExtensionConfig `protobuf:"bytes,9,opt,name=server_preferred_address_config,json=serverPreferredAddressConfig,proto3" json:"server_preferred_address_config,omitempty"` } func (x *QuicProtocolOptions) Reset() { *x = QuicProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_quic_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicProtocolOptions) ProtoMessage() {} func (x *QuicProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_quic_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicProtocolOptions.ProtoReflect.Descriptor instead. func (*QuicProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_quic_config_proto_rawDescGZIP(), []int{0} } func (x *QuicProtocolOptions) GetQuicProtocolOptions() *v3.QuicProtocolOptions { if x != nil { return x.QuicProtocolOptions } return nil } func (x *QuicProtocolOptions) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *QuicProtocolOptions) GetCryptoHandshakeTimeout() *duration.Duration { if x != nil { return x.CryptoHandshakeTimeout } return nil } func (x *QuicProtocolOptions) GetEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } func (x *QuicProtocolOptions) GetPacketsToReadToConnectionCountRatio() *wrappers.UInt32Value { if x != nil { return x.PacketsToReadToConnectionCountRatio } return nil } func (x *QuicProtocolOptions) GetCryptoStreamConfig() *v3.TypedExtensionConfig { if x != nil { return x.CryptoStreamConfig } return nil } func (x *QuicProtocolOptions) GetProofSourceConfig() *v3.TypedExtensionConfig { if x != nil { return x.ProofSourceConfig } return nil } func (x *QuicProtocolOptions) GetConnectionIdGeneratorConfig() *v3.TypedExtensionConfig { if x != nil { return x.ConnectionIdGeneratorConfig } return nil } func (x *QuicProtocolOptions) GetServerPreferredAddressConfig() *v3.TypedExtensionConfig { if x != nil { return x.ServerPreferredAddressConfig } return nil } var File_envoy_config_listener_v3_quic_config_proto protoreflect.FileDescriptor var file_envoy_config_listener_v3_quic_config_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x07, 0x0a, 0x13, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x71, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x18, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x7d, 0x0a, 0x29, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x23, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x5c, 0x0a, 0x14, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x1c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x8f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x51, 0x75, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v3_quic_config_proto_rawDescOnce sync.Once file_envoy_config_listener_v3_quic_config_proto_rawDescData = file_envoy_config_listener_v3_quic_config_proto_rawDesc ) func file_envoy_config_listener_v3_quic_config_proto_rawDescGZIP() []byte { file_envoy_config_listener_v3_quic_config_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v3_quic_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_quic_config_proto_rawDescData) }) return file_envoy_config_listener_v3_quic_config_proto_rawDescData } var file_envoy_config_listener_v3_quic_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_listener_v3_quic_config_proto_goTypes = []interface{}{ (*QuicProtocolOptions)(nil), // 0: envoy.config.listener.v3.QuicProtocolOptions (*v3.QuicProtocolOptions)(nil), // 1: envoy.config.core.v3.QuicProtocolOptions (*duration.Duration)(nil), // 2: google.protobuf.Duration (*v3.RuntimeFeatureFlag)(nil), // 3: envoy.config.core.v3.RuntimeFeatureFlag (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*v3.TypedExtensionConfig)(nil), // 5: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_listener_v3_quic_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.listener.v3.QuicProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions 2, // 1: envoy.config.listener.v3.QuicProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 2, // 2: envoy.config.listener.v3.QuicProtocolOptions.crypto_handshake_timeout:type_name -> google.protobuf.Duration 3, // 3: envoy.config.listener.v3.QuicProtocolOptions.enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 4, // 4: envoy.config.listener.v3.QuicProtocolOptions.packets_to_read_to_connection_count_ratio:type_name -> google.protobuf.UInt32Value 5, // 5: envoy.config.listener.v3.QuicProtocolOptions.crypto_stream_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 5, // 6: envoy.config.listener.v3.QuicProtocolOptions.proof_source_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 5, // 7: envoy.config.listener.v3.QuicProtocolOptions.connection_id_generator_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 5, // 8: envoy.config.listener.v3.QuicProtocolOptions.server_preferred_address_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_quic_config_proto_init() } func file_envoy_config_listener_v3_quic_config_proto_init() { if File_envoy_config_listener_v3_quic_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v3_quic_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v3_quic_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v3_quic_config_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v3_quic_config_proto_depIdxs, MessageInfos: file_envoy_config_listener_v3_quic_config_proto_msgTypes, }.Build() File_envoy_config_listener_v3_quic_config_proto = out.File file_envoy_config_listener_v3_quic_config_proto_rawDesc = nil file_envoy_config_listener_v3_quic_config_proto_goTypes = nil file_envoy_config_listener_v3_quic_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v3/quic_config.pb.validate.go000077500000000000000000000253211454502223200265460ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v3/quic_config.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicProtocolOptionsMultiError, or nil if none found. func (m *QuicProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *QuicProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetQuicProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuicProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "QuicProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCryptoHandshakeTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCryptoHandshakeTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "CryptoHandshakeTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetPacketsToReadToConnectionCountRatio(); wrapper != nil { if wrapper.GetValue() < 1 { err := QuicProtocolOptionsValidationError{ field: "PacketsToReadToConnectionCountRatio", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetCryptoStreamConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoStreamConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "CryptoStreamConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCryptoStreamConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "CryptoStreamConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetProofSourceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ProofSourceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ProofSourceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProofSourceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "ProofSourceConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectionIdGeneratorConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ConnectionIdGeneratorConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ConnectionIdGeneratorConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionIdGeneratorConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "ConnectionIdGeneratorConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetServerPreferredAddressConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ServerPreferredAddressConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicProtocolOptionsValidationError{ field: "ServerPreferredAddressConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServerPreferredAddressConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicProtocolOptionsValidationError{ field: "ServerPreferredAddressConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return QuicProtocolOptionsMultiError(errors) } return nil } // QuicProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by QuicProtocolOptions.ValidateAll() if the designated // constraints aren't met. type QuicProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicProtocolOptionsMultiError) AllErrors() []error { return m } // QuicProtocolOptionsValidationError is the validation error returned by // QuicProtocolOptions.Validate if the designated constraints aren't met. type QuicProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicProtocolOptionsValidationError) ErrorName() string { return "QuicProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e QuicProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/config/listener/v3/udp_listener_config.pb.go000077500000000000000000000342111454502223200265100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/listener/v3/udp_listener_config.proto package listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 9] type UdpListenerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // UDP socket configuration for the listener. The default for // :ref:`prefer_gro ` is false for // listener sockets. If receiving a large amount of datagrams from a small number of sources, it // may be worthwhile to enable this option after performance testing. DownstreamSocketConfig *v3.UdpSocketConfig `protobuf:"bytes,5,opt,name=downstream_socket_config,json=downstreamSocketConfig,proto3" json:"downstream_socket_config,omitempty"` // Configuration for QUIC protocol. If empty, QUIC will not be enabled on this listener. Set // to the default object to enable QUIC without modifying any additional options. QuicOptions *QuicProtocolOptions `protobuf:"bytes,7,opt,name=quic_options,json=quicOptions,proto3" json:"quic_options,omitempty"` // Configuration for the UDP packet writer. If empty, HTTP/3 will use GSO if available // (:ref:`UdpDefaultWriterFactory `) // or the default kernel sendmsg if not, // (:ref:`UdpDefaultWriterFactory `) // and raw UDP will use kernel sendmsg. // [#extension-category: envoy.udp_packet_writer] UdpPacketPacketWriterConfig *v3.TypedExtensionConfig `protobuf:"bytes,8,opt,name=udp_packet_packet_writer_config,json=udpPacketPacketWriterConfig,proto3" json:"udp_packet_packet_writer_config,omitempty"` } func (x *UdpListenerConfig) Reset() { *x = UdpListenerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpListenerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpListenerConfig) ProtoMessage() {} func (x *UdpListenerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpListenerConfig.ProtoReflect.Descriptor instead. func (*UdpListenerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_udp_listener_config_proto_rawDescGZIP(), []int{0} } func (x *UdpListenerConfig) GetDownstreamSocketConfig() *v3.UdpSocketConfig { if x != nil { return x.DownstreamSocketConfig } return nil } func (x *UdpListenerConfig) GetQuicOptions() *QuicProtocolOptions { if x != nil { return x.QuicOptions } return nil } func (x *UdpListenerConfig) GetUdpPacketPacketWriterConfig() *v3.TypedExtensionConfig { if x != nil { return x.UdpPacketPacketWriterConfig } return nil } type ActiveRawUdpListenerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ActiveRawUdpListenerConfig) Reset() { *x = ActiveRawUdpListenerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ActiveRawUdpListenerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ActiveRawUdpListenerConfig) ProtoMessage() {} func (x *ActiveRawUdpListenerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ActiveRawUdpListenerConfig.ProtoReflect.Descriptor instead. func (*ActiveRawUdpListenerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_listener_v3_udp_listener_config_proto_rawDescGZIP(), []int{1} } var File_envoy_config_listener_v3_udp_listener_config_proto protoreflect.FileDescriptor var file_envoy_config_listener_v3_udp_listener_config_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x03, 0x0a, 0x11, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x1f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, 0x75, 0x64, 0x70, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x55, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x77, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x77, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x96, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x55, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_listener_v3_udp_listener_config_proto_rawDescOnce sync.Once file_envoy_config_listener_v3_udp_listener_config_proto_rawDescData = file_envoy_config_listener_v3_udp_listener_config_proto_rawDesc ) func file_envoy_config_listener_v3_udp_listener_config_proto_rawDescGZIP() []byte { file_envoy_config_listener_v3_udp_listener_config_proto_rawDescOnce.Do(func() { file_envoy_config_listener_v3_udp_listener_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_udp_listener_config_proto_rawDescData) }) return file_envoy_config_listener_v3_udp_listener_config_proto_rawDescData } var file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_listener_v3_udp_listener_config_proto_goTypes = []interface{}{ (*UdpListenerConfig)(nil), // 0: envoy.config.listener.v3.UdpListenerConfig (*ActiveRawUdpListenerConfig)(nil), // 1: envoy.config.listener.v3.ActiveRawUdpListenerConfig (*v3.UdpSocketConfig)(nil), // 2: envoy.config.core.v3.UdpSocketConfig (*QuicProtocolOptions)(nil), // 3: envoy.config.listener.v3.QuicProtocolOptions (*v3.TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_listener_v3_udp_listener_config_proto_depIdxs = []int32{ 2, // 0: envoy.config.listener.v3.UdpListenerConfig.downstream_socket_config:type_name -> envoy.config.core.v3.UdpSocketConfig 3, // 1: envoy.config.listener.v3.UdpListenerConfig.quic_options:type_name -> envoy.config.listener.v3.QuicProtocolOptions 4, // 2: envoy.config.listener.v3.UdpListenerConfig.udp_packet_packet_writer_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_udp_listener_config_proto_init() } func file_envoy_config_listener_v3_udp_listener_config_proto_init() { if File_envoy_config_listener_v3_udp_listener_config_proto != nil { return } file_envoy_config_listener_v3_quic_config_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpListenerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ActiveRawUdpListenerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_listener_v3_udp_listener_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_listener_v3_udp_listener_config_proto_goTypes, DependencyIndexes: file_envoy_config_listener_v3_udp_listener_config_proto_depIdxs, MessageInfos: file_envoy_config_listener_v3_udp_listener_config_proto_msgTypes, }.Build() File_envoy_config_listener_v3_udp_listener_config_proto = out.File file_envoy_config_listener_v3_udp_listener_config_proto_rawDesc = nil file_envoy_config_listener_v3_udp_listener_config_proto_goTypes = nil file_envoy_config_listener_v3_udp_listener_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/listener/v3/udp_listener_config.pb.validate.go000077500000000000000000000216561454502223200303110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/listener/v3/udp_listener_config.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpListenerConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *UdpListenerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpListenerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpListenerConfigMultiError, or nil if none found. func (m *UdpListenerConfig) ValidateAll() error { return m.validate(true) } func (m *UdpListenerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDownstreamSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "DownstreamSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "DownstreamSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpListenerConfigValidationError{ field: "DownstreamSocketConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetQuicOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "QuicOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "QuicOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuicOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpListenerConfigValidationError{ field: "QuicOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUdpPacketPacketWriterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "UdpPacketPacketWriterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpListenerConfigValidationError{ field: "UdpPacketPacketWriterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUdpPacketPacketWriterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpListenerConfigValidationError{ field: "UdpPacketPacketWriterConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UdpListenerConfigMultiError(errors) } return nil } // UdpListenerConfigMultiError is an error wrapping multiple validation errors // returned by UdpListenerConfig.ValidateAll() if the designated constraints // aren't met. type UdpListenerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpListenerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpListenerConfigMultiError) AllErrors() []error { return m } // UdpListenerConfigValidationError is the validation error returned by // UdpListenerConfig.Validate if the designated constraints aren't met. type UdpListenerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpListenerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpListenerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpListenerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpListenerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpListenerConfigValidationError) ErrorName() string { return "UdpListenerConfigValidationError" } // Error satisfies the builtin error interface func (e UdpListenerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpListenerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpListenerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpListenerConfigValidationError{} // Validate checks the field values on ActiveRawUdpListenerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ActiveRawUdpListenerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ActiveRawUdpListenerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ActiveRawUdpListenerConfigMultiError, or nil if none found. func (m *ActiveRawUdpListenerConfig) ValidateAll() error { return m.validate(true) } func (m *ActiveRawUdpListenerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ActiveRawUdpListenerConfigMultiError(errors) } return nil } // ActiveRawUdpListenerConfigMultiError is an error wrapping multiple // validation errors returned by ActiveRawUdpListenerConfig.ValidateAll() if // the designated constraints aren't met. type ActiveRawUdpListenerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ActiveRawUdpListenerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ActiveRawUdpListenerConfigMultiError) AllErrors() []error { return m } // ActiveRawUdpListenerConfigValidationError is the validation error returned // by ActiveRawUdpListenerConfig.Validate if the designated constraints aren't met. type ActiveRawUdpListenerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ActiveRawUdpListenerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ActiveRawUdpListenerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ActiveRawUdpListenerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ActiveRawUdpListenerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ActiveRawUdpListenerConfigValidationError) ErrorName() string { return "ActiveRawUdpListenerConfigValidationError" } // Error satisfies the builtin error interface func (e ActiveRawUdpListenerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sActiveRawUdpListenerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ActiveRawUdpListenerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ActiveRawUdpListenerConfigValidationError{} go-control-plane-0.12.0/envoy/config/metrics/000077500000000000000000000000001454502223200210245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/metrics/v2/000077500000000000000000000000001454502223200213535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/metrics/v2/metrics_service.pb.go000077500000000000000000000173701454502223200255030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/metrics/v2/metrics_service.proto package metricsv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Metrics Service is configured as a built-in *envoy.stat_sinks.metrics_service* :ref:`StatsSink // `. This opaque configuration will be used to create // Metrics Service. // [#extension: envoy.stat_sinks.metrics_service] type MetricsServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream gRPC cluster that hosts the metrics service. GrpcService *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *MetricsServiceConfig) Reset() { *x = MetricsServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_metrics_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetricsServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetricsServiceConfig) ProtoMessage() {} func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_metrics_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetricsServiceConfig.ProtoReflect.Descriptor instead. func (*MetricsServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_metrics_service_proto_rawDescGZIP(), []int{0} } func (x *MetricsServiceConfig) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } var File_envoy_config_metrics_v2_metrics_service_proto protoreflect.FileDescriptor var file_envoy_config_metrics_v2_metrics_service_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x14, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_metrics_v2_metrics_service_proto_rawDescOnce sync.Once file_envoy_config_metrics_v2_metrics_service_proto_rawDescData = file_envoy_config_metrics_v2_metrics_service_proto_rawDesc ) func file_envoy_config_metrics_v2_metrics_service_proto_rawDescGZIP() []byte { file_envoy_config_metrics_v2_metrics_service_proto_rawDescOnce.Do(func() { file_envoy_config_metrics_v2_metrics_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v2_metrics_service_proto_rawDescData) }) return file_envoy_config_metrics_v2_metrics_service_proto_rawDescData } var file_envoy_config_metrics_v2_metrics_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_metrics_v2_metrics_service_proto_goTypes = []interface{}{ (*MetricsServiceConfig)(nil), // 0: envoy.config.metrics.v2.MetricsServiceConfig (*core.GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService } var file_envoy_config_metrics_v2_metrics_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.metrics.v2.MetricsServiceConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_metrics_v2_metrics_service_proto_init() } func file_envoy_config_metrics_v2_metrics_service_proto_init() { if File_envoy_config_metrics_v2_metrics_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_metrics_v2_metrics_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetricsServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_metrics_v2_metrics_service_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_metrics_v2_metrics_service_proto_goTypes, DependencyIndexes: file_envoy_config_metrics_v2_metrics_service_proto_depIdxs, MessageInfos: file_envoy_config_metrics_v2_metrics_service_proto_msgTypes, }.Build() File_envoy_config_metrics_v2_metrics_service_proto = out.File file_envoy_config_metrics_v2_metrics_service_proto_rawDesc = nil file_envoy_config_metrics_v2_metrics_service_proto_goTypes = nil file_envoy_config_metrics_v2_metrics_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/metrics/v2/metrics_service.pb.validate.go000077500000000000000000000106731454502223200272720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/metrics/v2/metrics_service.proto package metricsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MetricsServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetricsServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetricsServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetricsServiceConfigMultiError, or nil if none found. func (m *MetricsServiceConfig) ValidateAll() error { return m.validate(true) } func (m *MetricsServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := MetricsServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MetricsServiceConfigMultiError(errors) } return nil } // MetricsServiceConfigMultiError is an error wrapping multiple validation // errors returned by MetricsServiceConfig.ValidateAll() if the designated // constraints aren't met. type MetricsServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetricsServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetricsServiceConfigMultiError) AllErrors() []error { return m } // MetricsServiceConfigValidationError is the validation error returned by // MetricsServiceConfig.Validate if the designated constraints aren't met. type MetricsServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetricsServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetricsServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetricsServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetricsServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetricsServiceConfigValidationError) ErrorName() string { return "MetricsServiceConfigValidationError" } // Error satisfies the builtin error interface func (e MetricsServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetricsServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetricsServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetricsServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/metrics/v2/stats.pb.go000077500000000000000000001161011454502223200234430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/metrics/v2/stats.proto package metricsv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for pluggable stats sinks. type StatsSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the stats sink to instantiate. The name must match a supported // stats sink. The built-in stats sinks are: // // * :ref:`envoy.stat_sinks.statsd ` // * :ref:`envoy.stat_sinks.dog_statsd ` // * :ref:`envoy.stat_sinks.metrics_service ` // * :ref:`envoy.stat_sinks.hystrix ` // // Sinks optionally support tagged/multiple dimensional metrics. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Stats sink specific configuration which depends on the sink being instantiated. See // :ref:`StatsdSink ` for an example. // // Types that are assignable to ConfigType: // // *StatsSink_Config // *StatsSink_TypedConfig ConfigType isStatsSink_ConfigType `protobuf_oneof:"config_type"` } func (x *StatsSink) Reset() { *x = StatsSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsSink) ProtoMessage() {} func (x *StatsSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsSink.ProtoReflect.Descriptor instead. func (*StatsSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{0} } func (x *StatsSink) GetName() string { if x != nil { return x.Name } return "" } func (m *StatsSink) GetConfigType() isStatsSink_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/metrics/v2/stats.proto. func (x *StatsSink) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*StatsSink_Config); ok { return x.Config } return nil } func (x *StatsSink) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*StatsSink_TypedConfig); ok { return x.TypedConfig } return nil } type isStatsSink_ConfigType interface { isStatsSink_ConfigType() } type StatsSink_Config struct { // Deprecated: Marked as deprecated in envoy/config/metrics/v2/stats.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type StatsSink_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*StatsSink_Config) isStatsSink_ConfigType() {} func (*StatsSink_TypedConfig) isStatsSink_ConfigType() {} // Statistics configuration such as tagging. type StatsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Each stat name is iteratively processed through these tag specifiers. // When a tag is matched, the first capture group is removed from the name so // later :ref:`TagSpecifiers ` cannot match that // same portion of the match. StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags,proto3" json:"stats_tags,omitempty"` // Use all default tag regexes specified in Envoy. These can be combined with // custom tags specified in :ref:`stats_tags // `. They will be processed before // the custom tags. // // .. note:: // // If any default tags are specified twice, the config will be considered // invalid. // // See :repo:`well_known_names.h ` for a list of the // default tags in Envoy. // // If not provided, the value is assumed to be true. UseAllDefaultTags *wrappers.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags,proto3" json:"use_all_default_tags,omitempty"` // Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated // as normal. Preventing the instantiation of certain families of stats can improve memory // performance for Envoys running especially large configs. // // .. warning:: // // Excluding stats may affect Envoy's behavior in undocumented ways. See // `issue #8771 `_ for more information. // If any unexpected behavior changes are observed, please open a new issue immediately. StatsMatcher *StatsMatcher `protobuf:"bytes,3,opt,name=stats_matcher,json=statsMatcher,proto3" json:"stats_matcher,omitempty"` } func (x *StatsConfig) Reset() { *x = StatsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsConfig) ProtoMessage() {} func (x *StatsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead. func (*StatsConfig) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{1} } func (x *StatsConfig) GetStatsTags() []*TagSpecifier { if x != nil { return x.StatsTags } return nil } func (x *StatsConfig) GetUseAllDefaultTags() *wrappers.BoolValue { if x != nil { return x.UseAllDefaultTags } return nil } func (x *StatsConfig) GetStatsMatcher() *StatsMatcher { if x != nil { return x.StatsMatcher } return nil } // Configuration for disabling stat instantiation. type StatsMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to StatsMatcher: // // *StatsMatcher_RejectAll // *StatsMatcher_ExclusionList // *StatsMatcher_InclusionList StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"` } func (x *StatsMatcher) Reset() { *x = StatsMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsMatcher) ProtoMessage() {} func (x *StatsMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead. func (*StatsMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{2} } func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher { if m != nil { return m.StatsMatcher } return nil } func (x *StatsMatcher) GetRejectAll() bool { if x, ok := x.GetStatsMatcher().(*StatsMatcher_RejectAll); ok { return x.RejectAll } return false } func (x *StatsMatcher) GetExclusionList() *matcher.ListStringMatcher { if x, ok := x.GetStatsMatcher().(*StatsMatcher_ExclusionList); ok { return x.ExclusionList } return nil } func (x *StatsMatcher) GetInclusionList() *matcher.ListStringMatcher { if x, ok := x.GetStatsMatcher().(*StatsMatcher_InclusionList); ok { return x.InclusionList } return nil } type isStatsMatcher_StatsMatcher interface { isStatsMatcher_StatsMatcher() } type StatsMatcher_RejectAll struct { // If `reject_all` is true, then all stats are disabled. If `reject_all` is false, then all // stats are enabled. RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"` } type StatsMatcher_ExclusionList struct { // Exclusive match. All stats are enabled except for those matching one of the supplied // StringMatcher protos. ExclusionList *matcher.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"` } type StatsMatcher_InclusionList struct { // Inclusive match. No stats are enabled except for those matching one of the supplied // StringMatcher protos. InclusionList *matcher.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"` } func (*StatsMatcher_RejectAll) isStatsMatcher_StatsMatcher() {} func (*StatsMatcher_ExclusionList) isStatsMatcher_StatsMatcher() {} func (*StatsMatcher_InclusionList) isStatsMatcher_StatsMatcher() {} // Designates a tag name and value pair. The value may be either a fixed value // or a regex providing the value via capture groups. The specified tag will be // unconditionally set if a fixed value, otherwise it will only be set if one // or more capture groups in the regex match. type TagSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Attaches an identifier to the tag values to identify the tag being in the // sink. Envoy has a set of default names and regexes to extract dynamic // portions of existing stats, which can be found in :repo:`well_known_names.h // ` in the Envoy repository. If a :ref:`tag_name // ` is provided in the config and // neither :ref:`regex ` or // :ref:`fixed_value ` were specified, // Envoy will attempt to find that name in its set of defaults and use the accompanying regex. // // .. note:: // // It is invalid to specify the same tag name twice in a config. TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"` // Types that are assignable to TagValue: // // *TagSpecifier_Regex // *TagSpecifier_FixedValue TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"` } func (x *TagSpecifier) Reset() { *x = TagSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TagSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*TagSpecifier) ProtoMessage() {} func (x *TagSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead. func (*TagSpecifier) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{3} } func (x *TagSpecifier) GetTagName() string { if x != nil { return x.TagName } return "" } func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue { if m != nil { return m.TagValue } return nil } func (x *TagSpecifier) GetRegex() string { if x, ok := x.GetTagValue().(*TagSpecifier_Regex); ok { return x.Regex } return "" } func (x *TagSpecifier) GetFixedValue() string { if x, ok := x.GetTagValue().(*TagSpecifier_FixedValue); ok { return x.FixedValue } return "" } type isTagSpecifier_TagValue interface { isTagSpecifier_TagValue() } type TagSpecifier_Regex struct { // Designates a tag to strip from the tag extracted name and provide as a named // tag value for all statistics. This will only occur if any part of the name // matches the regex provided with one or more capture groups. // // The first capture group identifies the portion of the name to remove. The // second capture group (which will normally be nested inside the first) will // designate the value of the tag for the statistic. If no second capture // group is provided, the first will also be used to set the value of the tag. // All other capture groups will be ignored. // // Example 1. a stat name “cluster.foo_cluster.upstream_rq_timeout“ and // one tag specifier: // // .. code-block:: json // // { // "tag_name": "envoy.cluster_name", // "regex": "^cluster\\.((.+?)\\.)" // } // // Note that the regex will remove “foo_cluster.“ making the tag extracted // name “cluster.upstream_rq_timeout“ and the tag value for // “envoy.cluster_name“ will be “foo_cluster“ (note: there will be no // “.“ character because of the second capture group). // // Example 2. a stat name // “http.connection_manager_1.user_agent.ios.downstream_cx_total“ and two // tag specifiers: // // .. code-block:: json // // [ // { // "tag_name": "envoy.http_user_agent", // "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$" // }, // { // "tag_name": "envoy.http_conn_manager_prefix", // "regex": "^http\\.((.*?)\\.)" // } // ] // // The two regexes of the specifiers will be processed in the definition order. // // The first regex will remove “ios.“, leaving the tag extracted name // “http.connection_manager_1.user_agent.downstream_cx_total“. The tag // “envoy.http_user_agent“ will be added with tag value “ios“. // // The second regex will remove “connection_manager_1.“ from the tag // extracted name produced by the first regex // “http.connection_manager_1.user_agent.downstream_cx_total“, leaving // “http.user_agent.downstream_cx_total“ as the tag extracted name. The tag // “envoy.http_conn_manager_prefix“ will be added with the tag value // “connection_manager_1“. Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"` } type TagSpecifier_FixedValue struct { // Specifies a fixed tag value for the “tag_name“. FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"` } func (*TagSpecifier_Regex) isTagSpecifier_TagValue() {} func (*TagSpecifier_FixedValue) isTagSpecifier_TagValue() {} // Stats configuration proto schema for built-in *envoy.stat_sinks.statsd* sink. This sink does not support // tagged metrics. // [#extension: envoy.stat_sinks.statsd] type StatsdSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to StatsdSpecifier: // // *StatsdSink_Address // *StatsdSink_TcpClusterName StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"` // Optional custom prefix for StatsdSink. If // specified, this will override the default prefix. // For example: // // .. code-block:: json // // { // "prefix" : "envoy-prod" // } // // will change emitted stats to // // .. code-block:: cpp // // envoy-prod.test_counter:1|c // envoy-prod.test_timer:5|ms // // Note that the default prefix, "envoy", will be used if a prefix is not // specified. // // Stats with default prefix: // // .. code-block:: cpp // // envoy.test_counter:1|c // envoy.test_timer:5|ms Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *StatsdSink) Reset() { *x = StatsdSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsdSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsdSink) ProtoMessage() {} func (x *StatsdSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead. func (*StatsdSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{4} } func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier { if m != nil { return m.StatsdSpecifier } return nil } func (x *StatsdSink) GetAddress() *core.Address { if x, ok := x.GetStatsdSpecifier().(*StatsdSink_Address); ok { return x.Address } return nil } func (x *StatsdSink) GetTcpClusterName() string { if x, ok := x.GetStatsdSpecifier().(*StatsdSink_TcpClusterName); ok { return x.TcpClusterName } return "" } func (x *StatsdSink) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isStatsdSink_StatsdSpecifier interface { isStatsdSink_StatsdSpecifier() } type StatsdSink_Address struct { // The UDP address of a running `statsd `_ // compliant listener. If specified, statistics will be flushed to this // address. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` } type StatsdSink_TcpClusterName struct { // The name of a cluster that is running a TCP `statsd // `_ compliant listener. If specified, // Envoy will connect to this cluster to flush statistics. TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"` } func (*StatsdSink_Address) isStatsdSink_StatsdSpecifier() {} func (*StatsdSink_TcpClusterName) isStatsdSink_StatsdSpecifier() {} // Stats configuration proto schema for built-in *envoy.stat_sinks.dog_statsd* sink. // The sink emits stats with `DogStatsD `_ // compatible tags. Tags are configurable via :ref:`StatsConfig // `. // [#extension: envoy.stat_sinks.dog_statsd] type DogStatsdSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to DogStatsdSpecifier: // // *DogStatsdSink_Address DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"` // Optional custom metric name prefix. See :ref:`StatsdSink's prefix field // ` for more details. Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *DogStatsdSink) Reset() { *x = DogStatsdSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DogStatsdSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*DogStatsdSink) ProtoMessage() {} func (x *DogStatsdSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DogStatsdSink.ProtoReflect.Descriptor instead. func (*DogStatsdSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{5} } func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier { if m != nil { return m.DogStatsdSpecifier } return nil } func (x *DogStatsdSink) GetAddress() *core.Address { if x, ok := x.GetDogStatsdSpecifier().(*DogStatsdSink_Address); ok { return x.Address } return nil } func (x *DogStatsdSink) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isDogStatsdSink_DogStatsdSpecifier interface { isDogStatsdSink_DogStatsdSpecifier() } type DogStatsdSink_Address struct { // The UDP address of a running DogStatsD compliant listener. If specified, // statistics will be flushed to this address. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` } func (*DogStatsdSink_Address) isDogStatsdSink_DogStatsdSpecifier() {} // Stats configuration proto schema for built-in *envoy.stat_sinks.hystrix* sink. // The sink emits stats in `text/event-stream // `_ // formatted stream for use by `Hystrix dashboard // `_. // // Note that only a single HystrixSink should be configured. // // Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`. // [#extension: envoy.stat_sinks.hystrix] type HystrixSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of buckets the rolling statistical window is divided into. // // Each time the sink is flushed, all relevant Envoy statistics are sampled and // added to the rolling window (removing the oldest samples in the window // in the process). The sink then outputs the aggregate statistics across the // current rolling window to the event stream(s). // // rolling_window(ms) = stats_flush_interval(ms) * num_of_buckets // // More detailed explanation can be found in `Hystrix wiki // `_. NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"` } func (x *HystrixSink) Reset() { *x = HystrixSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HystrixSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*HystrixSink) ProtoMessage() {} func (x *HystrixSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v2_stats_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead. func (*HystrixSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v2_stats_proto_rawDescGZIP(), []int{6} } func (x *HystrixSink) GetNumBuckets() int64 { if x != nil { return x.NumBuckets } return 0 } var File_envoy_config_metrics_v2_stats_proto protoreflect.FileDescriptor var file_envoy_config_metrics_v2_stats_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x22, 0xe5, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7b, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x1b, 0x0a, 0x14, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x2e, 0x0a, 0x0b, 0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_metrics_v2_stats_proto_rawDescOnce sync.Once file_envoy_config_metrics_v2_stats_proto_rawDescData = file_envoy_config_metrics_v2_stats_proto_rawDesc ) func file_envoy_config_metrics_v2_stats_proto_rawDescGZIP() []byte { file_envoy_config_metrics_v2_stats_proto_rawDescOnce.Do(func() { file_envoy_config_metrics_v2_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v2_stats_proto_rawDescData) }) return file_envoy_config_metrics_v2_stats_proto_rawDescData } var file_envoy_config_metrics_v2_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_config_metrics_v2_stats_proto_goTypes = []interface{}{ (*StatsSink)(nil), // 0: envoy.config.metrics.v2.StatsSink (*StatsConfig)(nil), // 1: envoy.config.metrics.v2.StatsConfig (*StatsMatcher)(nil), // 2: envoy.config.metrics.v2.StatsMatcher (*TagSpecifier)(nil), // 3: envoy.config.metrics.v2.TagSpecifier (*StatsdSink)(nil), // 4: envoy.config.metrics.v2.StatsdSink (*DogStatsdSink)(nil), // 5: envoy.config.metrics.v2.DogStatsdSink (*HystrixSink)(nil), // 6: envoy.config.metrics.v2.HystrixSink (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*any1.Any)(nil), // 8: google.protobuf.Any (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue (*matcher.ListStringMatcher)(nil), // 10: envoy.type.matcher.ListStringMatcher (*core.Address)(nil), // 11: envoy.api.v2.core.Address } var file_envoy_config_metrics_v2_stats_proto_depIdxs = []int32{ 7, // 0: envoy.config.metrics.v2.StatsSink.config:type_name -> google.protobuf.Struct 8, // 1: envoy.config.metrics.v2.StatsSink.typed_config:type_name -> google.protobuf.Any 3, // 2: envoy.config.metrics.v2.StatsConfig.stats_tags:type_name -> envoy.config.metrics.v2.TagSpecifier 9, // 3: envoy.config.metrics.v2.StatsConfig.use_all_default_tags:type_name -> google.protobuf.BoolValue 2, // 4: envoy.config.metrics.v2.StatsConfig.stats_matcher:type_name -> envoy.config.metrics.v2.StatsMatcher 10, // 5: envoy.config.metrics.v2.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.ListStringMatcher 10, // 6: envoy.config.metrics.v2.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.ListStringMatcher 11, // 7: envoy.config.metrics.v2.StatsdSink.address:type_name -> envoy.api.v2.core.Address 11, // 8: envoy.config.metrics.v2.DogStatsdSink.address:type_name -> envoy.api.v2.core.Address 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_config_metrics_v2_stats_proto_init() } func file_envoy_config_metrics_v2_stats_proto_init() { if File_envoy_config_metrics_v2_stats_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_metrics_v2_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TagSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsdSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DogStatsdSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v2_stats_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HystrixSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_metrics_v2_stats_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StatsSink_Config)(nil), (*StatsSink_TypedConfig)(nil), } file_envoy_config_metrics_v2_stats_proto_msgTypes[2].OneofWrappers = []interface{}{ (*StatsMatcher_RejectAll)(nil), (*StatsMatcher_ExclusionList)(nil), (*StatsMatcher_InclusionList)(nil), } file_envoy_config_metrics_v2_stats_proto_msgTypes[3].OneofWrappers = []interface{}{ (*TagSpecifier_Regex)(nil), (*TagSpecifier_FixedValue)(nil), } file_envoy_config_metrics_v2_stats_proto_msgTypes[4].OneofWrappers = []interface{}{ (*StatsdSink_Address)(nil), (*StatsdSink_TcpClusterName)(nil), } file_envoy_config_metrics_v2_stats_proto_msgTypes[5].OneofWrappers = []interface{}{ (*DogStatsdSink_Address)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_metrics_v2_stats_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_metrics_v2_stats_proto_goTypes, DependencyIndexes: file_envoy_config_metrics_v2_stats_proto_depIdxs, MessageInfos: file_envoy_config_metrics_v2_stats_proto_msgTypes, }.Build() File_envoy_config_metrics_v2_stats_proto = out.File file_envoy_config_metrics_v2_stats_proto_rawDesc = nil file_envoy_config_metrics_v2_stats_proto_goTypes = nil file_envoy_config_metrics_v2_stats_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/metrics/v2/stats.pb.validate.go000077500000000000000000000750071454502223200252440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/metrics/v2/stats.proto package metricsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StatsSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsSinkMultiError, or nil // if none found. func (m *StatsSink) ValidateAll() error { return m.validate(true) } func (m *StatsSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *StatsSink_Config: if v == nil { err := StatsSinkValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsSinkValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *StatsSink_TypedConfig: if v == nil { err := StatsSinkValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return StatsSinkMultiError(errors) } return nil } // StatsSinkMultiError is an error wrapping multiple validation errors returned // by StatsSink.ValidateAll() if the designated constraints aren't met. type StatsSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsSinkMultiError) AllErrors() []error { return m } // StatsSinkValidationError is the validation error returned by // StatsSink.Validate if the designated constraints aren't met. type StatsSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsSinkValidationError) ErrorName() string { return "StatsSinkValidationError" } // Error satisfies the builtin error interface func (e StatsSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsSinkValidationError{} // Validate checks the field values on StatsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsConfigMultiError, or // nil if none found. func (m *StatsConfig) ValidateAll() error { return m.validate(true) } func (m *StatsConfig) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStatsTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseAllDefaultTags()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseAllDefaultTags()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStatsMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StatsConfigMultiError(errors) } return nil } // StatsConfigMultiError is an error wrapping multiple validation errors // returned by StatsConfig.ValidateAll() if the designated constraints aren't met. type StatsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsConfigMultiError) AllErrors() []error { return m } // StatsConfigValidationError is the validation error returned by // StatsConfig.Validate if the designated constraints aren't met. type StatsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsConfigValidationError) ErrorName() string { return "StatsConfigValidationError" } // Error satisfies the builtin error interface func (e StatsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsConfigValidationError{} // Validate checks the field values on StatsMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsMatcherMultiError, or // nil if none found. func (m *StatsMatcher) ValidateAll() error { return m.validate(true) } func (m *StatsMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofStatsMatcherPresent := false switch v := m.StatsMatcher.(type) { case *StatsMatcher_RejectAll: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true // no validation rules for RejectAll case *StatsMatcher_ExclusionList: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true if all { switch v := interface{}(m.GetExclusionList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExclusionList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, } } } case *StatsMatcher_InclusionList: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true if all { switch v := interface{}(m.GetInclusionList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInclusionList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofStatsMatcherPresent { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StatsMatcherMultiError(errors) } return nil } // StatsMatcherMultiError is an error wrapping multiple validation errors // returned by StatsMatcher.ValidateAll() if the designated constraints aren't met. type StatsMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsMatcherMultiError) AllErrors() []error { return m } // StatsMatcherValidationError is the validation error returned by // StatsMatcher.Validate if the designated constraints aren't met. type StatsMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsMatcherValidationError) ErrorName() string { return "StatsMatcherValidationError" } // Error satisfies the builtin error interface func (e StatsMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsMatcherValidationError{} // Validate checks the field values on TagSpecifier with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TagSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TagSpecifier with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TagSpecifierMultiError, or // nil if none found. func (m *TagSpecifier) ValidateAll() error { return m.validate(true) } func (m *TagSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TagName switch v := m.TagValue.(type) { case *TagSpecifier_Regex: if v == nil { err := TagSpecifierValidationError{ field: "TagValue", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if len(m.GetRegex()) > 1024 { err := TagSpecifierValidationError{ field: "Regex", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } case *TagSpecifier_FixedValue: if v == nil { err := TagSpecifierValidationError{ field: "TagValue", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for FixedValue default: _ = v // ensures v is used } if len(errors) > 0 { return TagSpecifierMultiError(errors) } return nil } // TagSpecifierMultiError is an error wrapping multiple validation errors // returned by TagSpecifier.ValidateAll() if the designated constraints aren't met. type TagSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TagSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TagSpecifierMultiError) AllErrors() []error { return m } // TagSpecifierValidationError is the validation error returned by // TagSpecifier.Validate if the designated constraints aren't met. type TagSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TagSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TagSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TagSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TagSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TagSpecifierValidationError) ErrorName() string { return "TagSpecifierValidationError" } // Error satisfies the builtin error interface func (e TagSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTagSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TagSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TagSpecifierValidationError{} // Validate checks the field values on StatsdSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsdSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsdSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsdSinkMultiError, or // nil if none found. func (m *StatsdSink) ValidateAll() error { return m.validate(true) } func (m *StatsdSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix oneofStatsdSpecifierPresent := false switch v := m.StatsdSpecifier.(type) { case *StatsdSink_Address: if v == nil { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsdSpecifierPresent = true if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } case *StatsdSink_TcpClusterName: if v == nil { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsdSpecifierPresent = true // no validation rules for TcpClusterName default: _ = v // ensures v is used } if !oneofStatsdSpecifierPresent { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StatsdSinkMultiError(errors) } return nil } // StatsdSinkMultiError is an error wrapping multiple validation errors // returned by StatsdSink.ValidateAll() if the designated constraints aren't met. type StatsdSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsdSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsdSinkMultiError) AllErrors() []error { return m } // StatsdSinkValidationError is the validation error returned by // StatsdSink.Validate if the designated constraints aren't met. type StatsdSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsdSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsdSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsdSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsdSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsdSinkValidationError) ErrorName() string { return "StatsdSinkValidationError" } // Error satisfies the builtin error interface func (e StatsdSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsdSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsdSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsdSinkValidationError{} // Validate checks the field values on DogStatsdSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DogStatsdSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DogStatsdSink with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DogStatsdSinkMultiError, or // nil if none found. func (m *DogStatsdSink) ValidateAll() error { return m.validate(true) } func (m *DogStatsdSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix oneofDogStatsdSpecifierPresent := false switch v := m.DogStatsdSpecifier.(type) { case *DogStatsdSink_Address: if v == nil { err := DogStatsdSinkValidationError{ field: "DogStatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDogStatsdSpecifierPresent = true if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofDogStatsdSpecifierPresent { err := DogStatsdSinkValidationError{ field: "DogStatsdSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DogStatsdSinkMultiError(errors) } return nil } // DogStatsdSinkMultiError is an error wrapping multiple validation errors // returned by DogStatsdSink.ValidateAll() if the designated constraints // aren't met. type DogStatsdSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DogStatsdSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DogStatsdSinkMultiError) AllErrors() []error { return m } // DogStatsdSinkValidationError is the validation error returned by // DogStatsdSink.Validate if the designated constraints aren't met. type DogStatsdSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DogStatsdSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DogStatsdSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DogStatsdSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DogStatsdSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DogStatsdSinkValidationError) ErrorName() string { return "DogStatsdSinkValidationError" } // Error satisfies the builtin error interface func (e DogStatsdSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDogStatsdSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DogStatsdSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DogStatsdSinkValidationError{} // Validate checks the field values on HystrixSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HystrixSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HystrixSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HystrixSinkMultiError, or // nil if none found. func (m *HystrixSink) ValidateAll() error { return m.validate(true) } func (m *HystrixSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for NumBuckets if len(errors) > 0 { return HystrixSinkMultiError(errors) } return nil } // HystrixSinkMultiError is an error wrapping multiple validation errors // returned by HystrixSink.ValidateAll() if the designated constraints aren't met. type HystrixSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HystrixSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HystrixSinkMultiError) AllErrors() []error { return m } // HystrixSinkValidationError is the validation error returned by // HystrixSink.Validate if the designated constraints aren't met. type HystrixSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HystrixSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HystrixSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HystrixSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HystrixSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HystrixSinkValidationError) ErrorName() string { return "HystrixSinkValidationError" } // Error satisfies the builtin error interface func (e HystrixSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHystrixSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HystrixSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HystrixSinkValidationError{} go-control-plane-0.12.0/envoy/config/metrics/v3/000077500000000000000000000000001454502223200213545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/metrics/v3/metrics_service.pb.go000077500000000000000000000376101454502223200255030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/metrics/v3/metrics_service.proto package metricsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HistogramEmitMode is used to configure which metric types should be emitted for histograms. type HistogramEmitMode int32 const ( // Emit Histogram and Summary metric types. HistogramEmitMode_SUMMARY_AND_HISTOGRAM HistogramEmitMode = 0 // Emit only Summary metric types. HistogramEmitMode_SUMMARY HistogramEmitMode = 1 // Emit only Histogram metric types. HistogramEmitMode_HISTOGRAM HistogramEmitMode = 2 ) // Enum value maps for HistogramEmitMode. var ( HistogramEmitMode_name = map[int32]string{ 0: "SUMMARY_AND_HISTOGRAM", 1: "SUMMARY", 2: "HISTOGRAM", } HistogramEmitMode_value = map[string]int32{ "SUMMARY_AND_HISTOGRAM": 0, "SUMMARY": 1, "HISTOGRAM": 2, } ) func (x HistogramEmitMode) Enum() *HistogramEmitMode { p := new(HistogramEmitMode) *p = x return p } func (x HistogramEmitMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HistogramEmitMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_metrics_v3_metrics_service_proto_enumTypes[0].Descriptor() } func (HistogramEmitMode) Type() protoreflect.EnumType { return &file_envoy_config_metrics_v3_metrics_service_proto_enumTypes[0] } func (x HistogramEmitMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HistogramEmitMode.Descriptor instead. func (HistogramEmitMode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_metrics_service_proto_rawDescGZIP(), []int{0} } // Metrics Service is configured as a built-in “envoy.stat_sinks.metrics_service“ :ref:`StatsSink // `. This opaque configuration will be used to create // Metrics Service. // // Example: // // .. code-block:: yaml // // stats_sinks: // - name: envoy.stat_sinks.metrics_service // typed_config: // "@type": type.googleapis.com/envoy.config.metrics.v3.MetricsServiceConfig // transport_api_version: V3 // // [#extension: envoy.stat_sinks.metrics_service] // [#next-free-field: 6] type MetricsServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream gRPC cluster that hosts the metrics service. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // API version for metric service transport protocol. This describes the metric service gRPC // endpoint and version of messages used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,3,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` // If true, counters are reported as the delta between flushing intervals. Otherwise, the current // counter value is reported. Defaults to false. // Eventually (https://github.com/envoyproxy/envoy/issues/10968) if this value is not set, the // sink will take updates from the :ref:`MetricsResponse `. ReportCountersAsDeltas *wrappers.BoolValue `protobuf:"bytes,2,opt,name=report_counters_as_deltas,json=reportCountersAsDeltas,proto3" json:"report_counters_as_deltas,omitempty"` // If true, metrics will have their tags emitted as labels on the metrics objects sent to the MetricsService, // and the tag extracted name will be used instead of the full name, which may contain values used by the tag // extractor or additional tags added during stats creation. EmitTagsAsLabels bool `protobuf:"varint,4,opt,name=emit_tags_as_labels,json=emitTagsAsLabels,proto3" json:"emit_tags_as_labels,omitempty"` // Specify which metrics types to emit for histograms. Defaults to SUMMARY_AND_HISTOGRAM. HistogramEmitMode HistogramEmitMode `protobuf:"varint,5,opt,name=histogram_emit_mode,json=histogramEmitMode,proto3,enum=envoy.config.metrics.v3.HistogramEmitMode" json:"histogram_emit_mode,omitempty"` } func (x *MetricsServiceConfig) Reset() { *x = MetricsServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_metrics_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetricsServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetricsServiceConfig) ProtoMessage() {} func (x *MetricsServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_metrics_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetricsServiceConfig.ProtoReflect.Descriptor instead. func (*MetricsServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_metrics_service_proto_rawDescGZIP(), []int{0} } func (x *MetricsServiceConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *MetricsServiceConfig) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } func (x *MetricsServiceConfig) GetReportCountersAsDeltas() *wrappers.BoolValue { if x != nil { return x.ReportCountersAsDeltas } return nil } func (x *MetricsServiceConfig) GetEmitTagsAsLabels() bool { if x != nil { return x.EmitTagsAsLabels } return false } func (x *MetricsServiceConfig) GetHistogramEmitMode() HistogramEmitMode { if x != nil { return x.HistogramEmitMode } return HistogramEmitMode_SUMMARY_AND_HISTOGRAM } var File_envoy_config_metrics_v3_metrics_service_proto protoreflect.FileDescriptor var file_envoy_config_metrics_v3_metrics_service_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x03, 0x0a, 0x14, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x41, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6d, 0x69, 0x74, 0x54, 0x61, 0x67, 0x73, 0x41, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x13, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x4a, 0x0a, 0x11, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0x02, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_metrics_v3_metrics_service_proto_rawDescOnce sync.Once file_envoy_config_metrics_v3_metrics_service_proto_rawDescData = file_envoy_config_metrics_v3_metrics_service_proto_rawDesc ) func file_envoy_config_metrics_v3_metrics_service_proto_rawDescGZIP() []byte { file_envoy_config_metrics_v3_metrics_service_proto_rawDescOnce.Do(func() { file_envoy_config_metrics_v3_metrics_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v3_metrics_service_proto_rawDescData) }) return file_envoy_config_metrics_v3_metrics_service_proto_rawDescData } var file_envoy_config_metrics_v3_metrics_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_metrics_v3_metrics_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_metrics_v3_metrics_service_proto_goTypes = []interface{}{ (HistogramEmitMode)(0), // 0: envoy.config.metrics.v3.HistogramEmitMode (*MetricsServiceConfig)(nil), // 1: envoy.config.metrics.v3.MetricsServiceConfig (*v3.GrpcService)(nil), // 2: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 3: envoy.config.core.v3.ApiVersion (*wrappers.BoolValue)(nil), // 4: google.protobuf.BoolValue } var file_envoy_config_metrics_v3_metrics_service_proto_depIdxs = []int32{ 2, // 0: envoy.config.metrics.v3.MetricsServiceConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 3, // 1: envoy.config.metrics.v3.MetricsServiceConfig.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 4, // 2: envoy.config.metrics.v3.MetricsServiceConfig.report_counters_as_deltas:type_name -> google.protobuf.BoolValue 0, // 3: envoy.config.metrics.v3.MetricsServiceConfig.histogram_emit_mode:type_name -> envoy.config.metrics.v3.HistogramEmitMode 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_metrics_v3_metrics_service_proto_init() } func file_envoy_config_metrics_v3_metrics_service_proto_init() { if File_envoy_config_metrics_v3_metrics_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_metrics_v3_metrics_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetricsServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_metrics_v3_metrics_service_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_metrics_v3_metrics_service_proto_goTypes, DependencyIndexes: file_envoy_config_metrics_v3_metrics_service_proto_depIdxs, EnumInfos: file_envoy_config_metrics_v3_metrics_service_proto_enumTypes, MessageInfos: file_envoy_config_metrics_v3_metrics_service_proto_msgTypes, }.Build() File_envoy_config_metrics_v3_metrics_service_proto = out.File file_envoy_config_metrics_v3_metrics_service_proto_rawDesc = nil file_envoy_config_metrics_v3_metrics_service_proto_goTypes = nil file_envoy_config_metrics_v3_metrics_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/metrics/v3/metrics_service.pb.validate.go000077500000000000000000000140141454502223200272640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/metrics/v3/metrics_service.proto package metricsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on MetricsServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetricsServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetricsServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetricsServiceConfigMultiError, or nil if none found. func (m *MetricsServiceConfig) ValidateAll() error { return m.validate(true) } func (m *MetricsServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := MetricsServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetricsServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := MetricsServiceConfigValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetReportCountersAsDeltas()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "ReportCountersAsDeltas", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetricsServiceConfigValidationError{ field: "ReportCountersAsDeltas", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReportCountersAsDeltas()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetricsServiceConfigValidationError{ field: "ReportCountersAsDeltas", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EmitTagsAsLabels if _, ok := HistogramEmitMode_name[int32(m.GetHistogramEmitMode())]; !ok { err := MetricsServiceConfigValidationError{ field: "HistogramEmitMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetricsServiceConfigMultiError(errors) } return nil } // MetricsServiceConfigMultiError is an error wrapping multiple validation // errors returned by MetricsServiceConfig.ValidateAll() if the designated // constraints aren't met. type MetricsServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetricsServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetricsServiceConfigMultiError) AllErrors() []error { return m } // MetricsServiceConfigValidationError is the validation error returned by // MetricsServiceConfig.Validate if the designated constraints aren't met. type MetricsServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetricsServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetricsServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetricsServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetricsServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetricsServiceConfigValidationError) ErrorName() string { return "MetricsServiceConfigValidationError" } // Error satisfies the builtin error interface func (e MetricsServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetricsServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetricsServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetricsServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/metrics/v3/stats.pb.go000077500000000000000000001353161454502223200234550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/metrics/v3/stats.proto package metricsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for pluggable stats sinks. type StatsSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the stats sink to instantiate. The name must match a supported // stats sink. // See the :ref:`extensions listed in typed_config below ` for the default list of available stats sink. // Sinks optionally support tagged/multiple dimensional metrics. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Stats sink specific configuration which depends on the sink being instantiated. See // :ref:`StatsdSink ` for an example. // [#extension-category: envoy.stats_sinks] // // Types that are assignable to ConfigType: // // *StatsSink_TypedConfig ConfigType isStatsSink_ConfigType `protobuf_oneof:"config_type"` } func (x *StatsSink) Reset() { *x = StatsSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsSink) ProtoMessage() {} func (x *StatsSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsSink.ProtoReflect.Descriptor instead. func (*StatsSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{0} } func (x *StatsSink) GetName() string { if x != nil { return x.Name } return "" } func (m *StatsSink) GetConfigType() isStatsSink_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *StatsSink) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*StatsSink_TypedConfig); ok { return x.TypedConfig } return nil } type isStatsSink_ConfigType interface { isStatsSink_ConfigType() } type StatsSink_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*StatsSink_TypedConfig) isStatsSink_ConfigType() {} // Statistics configuration such as tagging. type StatsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Each stat name is independently processed through these tag specifiers. When a tag is // matched, the first capture group is not immediately removed from the name, so later // :ref:`TagSpecifiers ` can also match that // same portion of the match. After all tag matching is complete, a tag-extracted version of // the name is produced and is used in stats sinks that represent tags, such as Prometheus. StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags,proto3" json:"stats_tags,omitempty"` // Use all default tag regexes specified in Envoy. These can be combined with // custom tags specified in :ref:`stats_tags // `. They will be processed before // the custom tags. // // .. note:: // // If any default tags are specified twice, the config will be considered // invalid. // // See :repo:`well_known_names.h ` for a list of the // default tags in Envoy. // // If not provided, the value is assumed to be true. UseAllDefaultTags *wrappers.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags,proto3" json:"use_all_default_tags,omitempty"` // Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated // as normal. Preventing the instantiation of certain families of stats can improve memory // performance for Envoys running especially large configs. // // .. warning:: // // Excluding stats may affect Envoy's behavior in undocumented ways. See // `issue #8771 `_ for more information. // If any unexpected behavior changes are observed, please open a new issue immediately. StatsMatcher *StatsMatcher `protobuf:"bytes,3,opt,name=stats_matcher,json=statsMatcher,proto3" json:"stats_matcher,omitempty"` // Defines rules for setting the histogram buckets. Rules are evaluated in order, and the first // match is applied. If no match is found (or if no rules are set), the following default buckets // are used: // // .. code-block:: json // // [ // 0.5, // 1, // 5, // 10, // 25, // 50, // 100, // 250, // 500, // 1000, // 2500, // 5000, // 10000, // 30000, // 60000, // 300000, // 600000, // 1800000, // 3600000 // ] HistogramBucketSettings []*HistogramBucketSettings `protobuf:"bytes,4,rep,name=histogram_bucket_settings,json=histogramBucketSettings,proto3" json:"histogram_bucket_settings,omitempty"` } func (x *StatsConfig) Reset() { *x = StatsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsConfig) ProtoMessage() {} func (x *StatsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsConfig.ProtoReflect.Descriptor instead. func (*StatsConfig) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{1} } func (x *StatsConfig) GetStatsTags() []*TagSpecifier { if x != nil { return x.StatsTags } return nil } func (x *StatsConfig) GetUseAllDefaultTags() *wrappers.BoolValue { if x != nil { return x.UseAllDefaultTags } return nil } func (x *StatsConfig) GetStatsMatcher() *StatsMatcher { if x != nil { return x.StatsMatcher } return nil } func (x *StatsConfig) GetHistogramBucketSettings() []*HistogramBucketSettings { if x != nil { return x.HistogramBucketSettings } return nil } // Configuration for disabling stat instantiation. type StatsMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to StatsMatcher: // // *StatsMatcher_RejectAll // *StatsMatcher_ExclusionList // *StatsMatcher_InclusionList StatsMatcher isStatsMatcher_StatsMatcher `protobuf_oneof:"stats_matcher"` } func (x *StatsMatcher) Reset() { *x = StatsMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsMatcher) ProtoMessage() {} func (x *StatsMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsMatcher.ProtoReflect.Descriptor instead. func (*StatsMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{2} } func (m *StatsMatcher) GetStatsMatcher() isStatsMatcher_StatsMatcher { if m != nil { return m.StatsMatcher } return nil } func (x *StatsMatcher) GetRejectAll() bool { if x, ok := x.GetStatsMatcher().(*StatsMatcher_RejectAll); ok { return x.RejectAll } return false } func (x *StatsMatcher) GetExclusionList() *v3.ListStringMatcher { if x, ok := x.GetStatsMatcher().(*StatsMatcher_ExclusionList); ok { return x.ExclusionList } return nil } func (x *StatsMatcher) GetInclusionList() *v3.ListStringMatcher { if x, ok := x.GetStatsMatcher().(*StatsMatcher_InclusionList); ok { return x.InclusionList } return nil } type isStatsMatcher_StatsMatcher interface { isStatsMatcher_StatsMatcher() } type StatsMatcher_RejectAll struct { // If “reject_all“ is true, then all stats are disabled. If “reject_all“ is false, then all // stats are enabled. RejectAll bool `protobuf:"varint,1,opt,name=reject_all,json=rejectAll,proto3,oneof"` } type StatsMatcher_ExclusionList struct { // Exclusive match. All stats are enabled except for those matching one of the supplied // StringMatcher protos. ExclusionList *v3.ListStringMatcher `protobuf:"bytes,2,opt,name=exclusion_list,json=exclusionList,proto3,oneof"` } type StatsMatcher_InclusionList struct { // Inclusive match. No stats are enabled except for those matching one of the supplied // StringMatcher protos. InclusionList *v3.ListStringMatcher `protobuf:"bytes,3,opt,name=inclusion_list,json=inclusionList,proto3,oneof"` } func (*StatsMatcher_RejectAll) isStatsMatcher_StatsMatcher() {} func (*StatsMatcher_ExclusionList) isStatsMatcher_StatsMatcher() {} func (*StatsMatcher_InclusionList) isStatsMatcher_StatsMatcher() {} // Designates a tag name and value pair. The value may be either a fixed value // or a regex providing the value via capture groups. The specified tag will be // unconditionally set if a fixed value, otherwise it will only be set if one // or more capture groups in the regex match. type TagSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Attaches an identifier to the tag values to identify the tag being in the // sink. Envoy has a set of default names and regexes to extract dynamic // portions of existing stats, which can be found in :repo:`well_known_names.h // ` in the Envoy repository. If a :ref:`tag_name // ` is provided in the config and // neither :ref:`regex ` or // :ref:`fixed_value ` were specified, // Envoy will attempt to find that name in its set of defaults and use the accompanying regex. // // .. note:: // // A stat name may be spelled in such a way that it matches two different // tag extractors for the same tag name. In that case, all but one of the // tag values will be dropped. It is not specified which tag value will be // retained. The extraction will only occur for one of the extractors, and // only the matched extraction will be removed from the tag name. TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"` // Types that are assignable to TagValue: // // *TagSpecifier_Regex // *TagSpecifier_FixedValue TagValue isTagSpecifier_TagValue `protobuf_oneof:"tag_value"` } func (x *TagSpecifier) Reset() { *x = TagSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TagSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*TagSpecifier) ProtoMessage() {} func (x *TagSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TagSpecifier.ProtoReflect.Descriptor instead. func (*TagSpecifier) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{3} } func (x *TagSpecifier) GetTagName() string { if x != nil { return x.TagName } return "" } func (m *TagSpecifier) GetTagValue() isTagSpecifier_TagValue { if m != nil { return m.TagValue } return nil } func (x *TagSpecifier) GetRegex() string { if x, ok := x.GetTagValue().(*TagSpecifier_Regex); ok { return x.Regex } return "" } func (x *TagSpecifier) GetFixedValue() string { if x, ok := x.GetTagValue().(*TagSpecifier_FixedValue); ok { return x.FixedValue } return "" } type isTagSpecifier_TagValue interface { isTagSpecifier_TagValue() } type TagSpecifier_Regex struct { // Designates a tag to strip from the tag extracted name and provide as a named // tag value for all statistics. This will only occur if any part of the name // matches the regex provided with one or more capture groups. // // The first capture group identifies the portion of the name to remove. The // second capture group (which will normally be nested inside the first) will // designate the value of the tag for the statistic. If no second capture // group is provided, the first will also be used to set the value of the tag. // All other capture groups will be ignored. // // Example 1. a stat name “cluster.foo_cluster.upstream_rq_timeout“ and // one tag specifier: // // .. code-block:: json // // { // "tag_name": "envoy.cluster_name", // "regex": "^cluster\\.((.+?)\\.)" // } // // Note that the regex will remove “foo_cluster.“ making the tag extracted // name “cluster.upstream_rq_timeout“ and the tag value for // “envoy.cluster_name“ will be “foo_cluster“ (note: there will be no // “.“ character because of the second capture group). // // Example 2. a stat name // “http.connection_manager_1.user_agent.ios.downstream_cx_total“ and two // tag specifiers: // // .. code-block:: json // // [ // { // "tag_name": "envoy.http_user_agent", // "regex": "^http(?=\\.).*?\\.user_agent\\.((.+?)\\.)\\w+?$" // }, // { // "tag_name": "envoy.http_conn_manager_prefix", // "regex": "^http\\.((.*?)\\.)" // } // ] // // The two regexes of the specifiers will be processed from the elaborated // stat name. // // The first regex will save “ios.“ as the tag value for “envoy.http_user_agent“. It will // leave it in the name for potential matching with additional tag specifiers. After all tag // specifiers are processed the tags will be removed from the name. // // The second regex will populate tag “envoy.http_conn_manager_prefix“ with value // “connection_manager_1.“, based on the original stat name. // // As a final step, the matched tags are removed, leaving // “http.user_agent.downstream_cx_total“ as the tag extracted name. Regex string `protobuf:"bytes,2,opt,name=regex,proto3,oneof"` } type TagSpecifier_FixedValue struct { // Specifies a fixed tag value for the “tag_name“. FixedValue string `protobuf:"bytes,3,opt,name=fixed_value,json=fixedValue,proto3,oneof"` } func (*TagSpecifier_Regex) isTagSpecifier_TagValue() {} func (*TagSpecifier_FixedValue) isTagSpecifier_TagValue() {} // Specifies a matcher for stats and the buckets that matching stats should use. type HistogramBucketSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The stats that this rule applies to. The match is applied to the original stat name // before tag-extraction, for example “cluster.exampleclustername.upstream_cx_length_ms“. Match *v3.StringMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Each value is the upper bound of a bucket. Each bucket must be greater than 0 and unique. // The order of the buckets does not matter. Buckets []float64 `protobuf:"fixed64,2,rep,packed,name=buckets,proto3" json:"buckets,omitempty"` } func (x *HistogramBucketSettings) Reset() { *x = HistogramBucketSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistogramBucketSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistogramBucketSettings) ProtoMessage() {} func (x *HistogramBucketSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HistogramBucketSettings.ProtoReflect.Descriptor instead. func (*HistogramBucketSettings) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{4} } func (x *HistogramBucketSettings) GetMatch() *v3.StringMatcher { if x != nil { return x.Match } return nil } func (x *HistogramBucketSettings) GetBuckets() []float64 { if x != nil { return x.Buckets } return nil } // Stats configuration proto schema for built-in “envoy.stat_sinks.statsd“ sink. This sink does not support // tagged metrics. // [#extension: envoy.stat_sinks.statsd] type StatsdSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to StatsdSpecifier: // // *StatsdSink_Address // *StatsdSink_TcpClusterName StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"` // Optional custom prefix for StatsdSink. If // specified, this will override the default prefix. // For example: // // .. code-block:: json // // { // "prefix" : "envoy-prod" // } // // will change emitted stats to // // .. code-block:: cpp // // envoy-prod.test_counter:1|c // envoy-prod.test_timer:5|ms // // Note that the default prefix, "envoy", will be used if a prefix is not // specified. // // Stats with default prefix: // // .. code-block:: cpp // // envoy.test_counter:1|c // envoy.test_timer:5|ms Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *StatsdSink) Reset() { *x = StatsdSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatsdSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatsdSink) ProtoMessage() {} func (x *StatsdSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatsdSink.ProtoReflect.Descriptor instead. func (*StatsdSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{5} } func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier { if m != nil { return m.StatsdSpecifier } return nil } func (x *StatsdSink) GetAddress() *v31.Address { if x, ok := x.GetStatsdSpecifier().(*StatsdSink_Address); ok { return x.Address } return nil } func (x *StatsdSink) GetTcpClusterName() string { if x, ok := x.GetStatsdSpecifier().(*StatsdSink_TcpClusterName); ok { return x.TcpClusterName } return "" } func (x *StatsdSink) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isStatsdSink_StatsdSpecifier interface { isStatsdSink_StatsdSpecifier() } type StatsdSink_Address struct { // The UDP address of a running `statsd `_ // compliant listener. If specified, statistics will be flushed to this // address. Address *v31.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` } type StatsdSink_TcpClusterName struct { // The name of a cluster that is running a TCP `statsd // `_ compliant listener. If specified, // Envoy will connect to this cluster to flush statistics. TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"` } func (*StatsdSink_Address) isStatsdSink_StatsdSpecifier() {} func (*StatsdSink_TcpClusterName) isStatsdSink_StatsdSpecifier() {} // Stats configuration proto schema for built-in “envoy.stat_sinks.dog_statsd“ sink. // The sink emits stats with `DogStatsD `_ // compatible tags. Tags are configurable via :ref:`StatsConfig // `. // [#extension: envoy.stat_sinks.dog_statsd] type DogStatsdSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to DogStatsdSpecifier: // // *DogStatsdSink_Address DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"` // Optional custom metric name prefix. See :ref:`StatsdSink's prefix field // ` for more details. Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // Optional max datagram size to use when sending UDP messages. By default Envoy // will emit one metric per datagram. By specifying a max-size larger than a single // metric, Envoy will emit multiple, new-line separated metrics. The max datagram // size should not exceed your network's MTU. // // Note that this value may not be respected if smaller than a single metric. MaxBytesPerDatagram *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=max_bytes_per_datagram,json=maxBytesPerDatagram,proto3" json:"max_bytes_per_datagram,omitempty"` } func (x *DogStatsdSink) Reset() { *x = DogStatsdSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DogStatsdSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*DogStatsdSink) ProtoMessage() {} func (x *DogStatsdSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DogStatsdSink.ProtoReflect.Descriptor instead. func (*DogStatsdSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{6} } func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier { if m != nil { return m.DogStatsdSpecifier } return nil } func (x *DogStatsdSink) GetAddress() *v31.Address { if x, ok := x.GetDogStatsdSpecifier().(*DogStatsdSink_Address); ok { return x.Address } return nil } func (x *DogStatsdSink) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *DogStatsdSink) GetMaxBytesPerDatagram() *wrappers.UInt64Value { if x != nil { return x.MaxBytesPerDatagram } return nil } type isDogStatsdSink_DogStatsdSpecifier interface { isDogStatsdSink_DogStatsdSpecifier() } type DogStatsdSink_Address struct { // The UDP address of a running DogStatsD compliant listener. If specified, // statistics will be flushed to this address. Address *v31.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` } func (*DogStatsdSink_Address) isDogStatsdSink_DogStatsdSpecifier() {} // Stats configuration proto schema for built-in “envoy.stat_sinks.hystrix“ sink. // The sink emits stats in `text/event-stream // `_ // formatted stream for use by `Hystrix dashboard // `_. // // Note that only a single HystrixSink should be configured. // // Streaming is started through an admin endpoint :http:get:`/hystrix_event_stream`. // [#extension: envoy.stat_sinks.hystrix] type HystrixSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of buckets the rolling statistical window is divided into. // // Each time the sink is flushed, all relevant Envoy statistics are sampled and // added to the rolling window (removing the oldest samples in the window // in the process). The sink then outputs the aggregate statistics across the // current rolling window to the event stream(s). // // “rolling_window(ms)“ = “stats_flush_interval(ms)“ * “num_of_buckets“ // // More detailed explanation can be found in `Hystrix wiki // `_. NumBuckets int64 `protobuf:"varint,1,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"` } func (x *HystrixSink) Reset() { *x = HystrixSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HystrixSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*HystrixSink) ProtoMessage() {} func (x *HystrixSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_metrics_v3_stats_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HystrixSink.ProtoReflect.Descriptor instead. func (*HystrixSink) Descriptor() ([]byte, []int) { return file_envoy_config_metrics_v3_stats_proto_rawDescGZIP(), []int{7} } func (x *HystrixSink) GetNumBuckets() int64 { if x != nil { return x.NumBuckets } return 0 } var File_envoy_config_metrics_v3_stats_proto protoreflect.FileDescriptor var file_envoy_config_metrics_v3_stats_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x86, 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x75, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x19, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x98, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x51, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x17, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x92, 0x01, 0x11, 0x08, 0x01, 0x18, 0x01, 0x22, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x8f, 0x02, 0x0a, 0x0d, 0x44, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x1b, 0x0a, 0x14, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x5a, 0x0a, 0x0b, 0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x73, 0x74, 0x72, 0x69, 0x78, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_metrics_v3_stats_proto_rawDescOnce sync.Once file_envoy_config_metrics_v3_stats_proto_rawDescData = file_envoy_config_metrics_v3_stats_proto_rawDesc ) func file_envoy_config_metrics_v3_stats_proto_rawDescGZIP() []byte { file_envoy_config_metrics_v3_stats_proto_rawDescOnce.Do(func() { file_envoy_config_metrics_v3_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_metrics_v3_stats_proto_rawDescData) }) return file_envoy_config_metrics_v3_stats_proto_rawDescData } var file_envoy_config_metrics_v3_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_config_metrics_v3_stats_proto_goTypes = []interface{}{ (*StatsSink)(nil), // 0: envoy.config.metrics.v3.StatsSink (*StatsConfig)(nil), // 1: envoy.config.metrics.v3.StatsConfig (*StatsMatcher)(nil), // 2: envoy.config.metrics.v3.StatsMatcher (*TagSpecifier)(nil), // 3: envoy.config.metrics.v3.TagSpecifier (*HistogramBucketSettings)(nil), // 4: envoy.config.metrics.v3.HistogramBucketSettings (*StatsdSink)(nil), // 5: envoy.config.metrics.v3.StatsdSink (*DogStatsdSink)(nil), // 6: envoy.config.metrics.v3.DogStatsdSink (*HystrixSink)(nil), // 7: envoy.config.metrics.v3.HystrixSink (*any1.Any)(nil), // 8: google.protobuf.Any (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue (*v3.ListStringMatcher)(nil), // 10: envoy.type.matcher.v3.ListStringMatcher (*v3.StringMatcher)(nil), // 11: envoy.type.matcher.v3.StringMatcher (*v31.Address)(nil), // 12: envoy.config.core.v3.Address (*wrappers.UInt64Value)(nil), // 13: google.protobuf.UInt64Value } var file_envoy_config_metrics_v3_stats_proto_depIdxs = []int32{ 8, // 0: envoy.config.metrics.v3.StatsSink.typed_config:type_name -> google.protobuf.Any 3, // 1: envoy.config.metrics.v3.StatsConfig.stats_tags:type_name -> envoy.config.metrics.v3.TagSpecifier 9, // 2: envoy.config.metrics.v3.StatsConfig.use_all_default_tags:type_name -> google.protobuf.BoolValue 2, // 3: envoy.config.metrics.v3.StatsConfig.stats_matcher:type_name -> envoy.config.metrics.v3.StatsMatcher 4, // 4: envoy.config.metrics.v3.StatsConfig.histogram_bucket_settings:type_name -> envoy.config.metrics.v3.HistogramBucketSettings 10, // 5: envoy.config.metrics.v3.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher 10, // 6: envoy.config.metrics.v3.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher 11, // 7: envoy.config.metrics.v3.HistogramBucketSettings.match:type_name -> envoy.type.matcher.v3.StringMatcher 12, // 8: envoy.config.metrics.v3.StatsdSink.address:type_name -> envoy.config.core.v3.Address 12, // 9: envoy.config.metrics.v3.DogStatsdSink.address:type_name -> envoy.config.core.v3.Address 13, // 10: envoy.config.metrics.v3.DogStatsdSink.max_bytes_per_datagram:type_name -> google.protobuf.UInt64Value 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_config_metrics_v3_stats_proto_init() } func file_envoy_config_metrics_v3_stats_proto_init() { if File_envoy_config_metrics_v3_stats_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_metrics_v3_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TagSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistogramBucketSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsdSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DogStatsdSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_metrics_v3_stats_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HystrixSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_metrics_v3_stats_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StatsSink_TypedConfig)(nil), } file_envoy_config_metrics_v3_stats_proto_msgTypes[2].OneofWrappers = []interface{}{ (*StatsMatcher_RejectAll)(nil), (*StatsMatcher_ExclusionList)(nil), (*StatsMatcher_InclusionList)(nil), } file_envoy_config_metrics_v3_stats_proto_msgTypes[3].OneofWrappers = []interface{}{ (*TagSpecifier_Regex)(nil), (*TagSpecifier_FixedValue)(nil), } file_envoy_config_metrics_v3_stats_proto_msgTypes[5].OneofWrappers = []interface{}{ (*StatsdSink_Address)(nil), (*StatsdSink_TcpClusterName)(nil), } file_envoy_config_metrics_v3_stats_proto_msgTypes[6].OneofWrappers = []interface{}{ (*DogStatsdSink_Address)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_metrics_v3_stats_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_metrics_v3_stats_proto_goTypes, DependencyIndexes: file_envoy_config_metrics_v3_stats_proto_depIdxs, MessageInfos: file_envoy_config_metrics_v3_stats_proto_msgTypes, }.Build() File_envoy_config_metrics_v3_stats_proto = out.File file_envoy_config_metrics_v3_stats_proto_rawDesc = nil file_envoy_config_metrics_v3_stats_proto_goTypes = nil file_envoy_config_metrics_v3_stats_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/metrics/v3/stats.pb.validate.go000077500000000000000000001071671454502223200252500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/metrics/v3/stats.proto package metricsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StatsSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsSinkMultiError, or nil // if none found. func (m *StatsSink) ValidateAll() error { return m.validate(true) } func (m *StatsSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.ConfigType.(type) { case *StatsSink_TypedConfig: if v == nil { err := StatsSinkValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsSinkValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return StatsSinkMultiError(errors) } return nil } // StatsSinkMultiError is an error wrapping multiple validation errors returned // by StatsSink.ValidateAll() if the designated constraints aren't met. type StatsSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsSinkMultiError) AllErrors() []error { return m } // StatsSinkValidationError is the validation error returned by // StatsSink.Validate if the designated constraints aren't met. type StatsSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsSinkValidationError) ErrorName() string { return "StatsSinkValidationError" } // Error satisfies the builtin error interface func (e StatsSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsSinkValidationError{} // Validate checks the field values on StatsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsConfigMultiError, or // nil if none found. func (m *StatsConfig) ValidateAll() error { return m.validate(true) } func (m *StatsConfig) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetStatsTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: fmt.Sprintf("StatsTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUseAllDefaultTags()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseAllDefaultTags()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: "UseAllDefaultTags", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStatsMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: "StatsMatcher", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHistogramBucketSettings() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("HistogramBucketSettings[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsConfigValidationError{ field: fmt.Sprintf("HistogramBucketSettings[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsConfigValidationError{ field: fmt.Sprintf("HistogramBucketSettings[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StatsConfigMultiError(errors) } return nil } // StatsConfigMultiError is an error wrapping multiple validation errors // returned by StatsConfig.ValidateAll() if the designated constraints aren't met. type StatsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsConfigMultiError) AllErrors() []error { return m } // StatsConfigValidationError is the validation error returned by // StatsConfig.Validate if the designated constraints aren't met. type StatsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsConfigValidationError) ErrorName() string { return "StatsConfigValidationError" } // Error satisfies the builtin error interface func (e StatsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsConfigValidationError{} // Validate checks the field values on StatsMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsMatcherMultiError, or // nil if none found. func (m *StatsMatcher) ValidateAll() error { return m.validate(true) } func (m *StatsMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofStatsMatcherPresent := false switch v := m.StatsMatcher.(type) { case *StatsMatcher_RejectAll: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true // no validation rules for RejectAll case *StatsMatcher_ExclusionList: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true if all { switch v := interface{}(m.GetExclusionList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExclusionList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsMatcherValidationError{ field: "ExclusionList", reason: "embedded message failed validation", cause: err, } } } case *StatsMatcher_InclusionList: if v == nil { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsMatcherPresent = true if all { switch v := interface{}(m.GetInclusionList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInclusionList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsMatcherValidationError{ field: "InclusionList", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofStatsMatcherPresent { err := StatsMatcherValidationError{ field: "StatsMatcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StatsMatcherMultiError(errors) } return nil } // StatsMatcherMultiError is an error wrapping multiple validation errors // returned by StatsMatcher.ValidateAll() if the designated constraints aren't met. type StatsMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsMatcherMultiError) AllErrors() []error { return m } // StatsMatcherValidationError is the validation error returned by // StatsMatcher.Validate if the designated constraints aren't met. type StatsMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsMatcherValidationError) ErrorName() string { return "StatsMatcherValidationError" } // Error satisfies the builtin error interface func (e StatsMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsMatcherValidationError{} // Validate checks the field values on TagSpecifier with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TagSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TagSpecifier with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TagSpecifierMultiError, or // nil if none found. func (m *TagSpecifier) ValidateAll() error { return m.validate(true) } func (m *TagSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TagName switch v := m.TagValue.(type) { case *TagSpecifier_Regex: if v == nil { err := TagSpecifierValidationError{ field: "TagValue", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if len(m.GetRegex()) > 1024 { err := TagSpecifierValidationError{ field: "Regex", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } case *TagSpecifier_FixedValue: if v == nil { err := TagSpecifierValidationError{ field: "TagValue", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for FixedValue default: _ = v // ensures v is used } if len(errors) > 0 { return TagSpecifierMultiError(errors) } return nil } // TagSpecifierMultiError is an error wrapping multiple validation errors // returned by TagSpecifier.ValidateAll() if the designated constraints aren't met. type TagSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TagSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TagSpecifierMultiError) AllErrors() []error { return m } // TagSpecifierValidationError is the validation error returned by // TagSpecifier.Validate if the designated constraints aren't met. type TagSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TagSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TagSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TagSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TagSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TagSpecifierValidationError) ErrorName() string { return "TagSpecifierValidationError" } // Error satisfies the builtin error interface func (e TagSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTagSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TagSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TagSpecifierValidationError{} // Validate checks the field values on HistogramBucketSettings with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HistogramBucketSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HistogramBucketSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HistogramBucketSettingsMultiError, or nil if none found. func (m *HistogramBucketSettings) ValidateAll() error { return m.validate(true) } func (m *HistogramBucketSettings) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := HistogramBucketSettingsValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HistogramBucketSettingsValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HistogramBucketSettingsValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HistogramBucketSettingsValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if len(m.GetBuckets()) < 1 { err := HistogramBucketSettingsValidationError{ field: "Buckets", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } _HistogramBucketSettings_Buckets_Unique := make(map[float64]struct{}, len(m.GetBuckets())) for idx, item := range m.GetBuckets() { _, _ = idx, item if _, exists := _HistogramBucketSettings_Buckets_Unique[item]; exists { err := HistogramBucketSettingsValidationError{ field: fmt.Sprintf("Buckets[%v]", idx), reason: "repeated value must contain unique items", } if !all { return err } errors = append(errors, err) } else { _HistogramBucketSettings_Buckets_Unique[item] = struct{}{} } if item <= 0 { err := HistogramBucketSettingsValidationError{ field: fmt.Sprintf("Buckets[%v]", idx), reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return HistogramBucketSettingsMultiError(errors) } return nil } // HistogramBucketSettingsMultiError is an error wrapping multiple validation // errors returned by HistogramBucketSettings.ValidateAll() if the designated // constraints aren't met. type HistogramBucketSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HistogramBucketSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HistogramBucketSettingsMultiError) AllErrors() []error { return m } // HistogramBucketSettingsValidationError is the validation error returned by // HistogramBucketSettings.Validate if the designated constraints aren't met. type HistogramBucketSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HistogramBucketSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HistogramBucketSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HistogramBucketSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HistogramBucketSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HistogramBucketSettingsValidationError) ErrorName() string { return "HistogramBucketSettingsValidationError" } // Error satisfies the builtin error interface func (e HistogramBucketSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHistogramBucketSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HistogramBucketSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HistogramBucketSettingsValidationError{} // Validate checks the field values on StatsdSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StatsdSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatsdSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StatsdSinkMultiError, or // nil if none found. func (m *StatsdSink) ValidateAll() error { return m.validate(true) } func (m *StatsdSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix oneofStatsdSpecifierPresent := false switch v := m.StatsdSpecifier.(type) { case *StatsdSink_Address: if v == nil { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsdSpecifierPresent = true if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } case *StatsdSink_TcpClusterName: if v == nil { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsdSpecifierPresent = true // no validation rules for TcpClusterName default: _ = v // ensures v is used } if !oneofStatsdSpecifierPresent { err := StatsdSinkValidationError{ field: "StatsdSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StatsdSinkMultiError(errors) } return nil } // StatsdSinkMultiError is an error wrapping multiple validation errors // returned by StatsdSink.ValidateAll() if the designated constraints aren't met. type StatsdSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatsdSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatsdSinkMultiError) AllErrors() []error { return m } // StatsdSinkValidationError is the validation error returned by // StatsdSink.Validate if the designated constraints aren't met. type StatsdSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatsdSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatsdSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatsdSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatsdSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatsdSinkValidationError) ErrorName() string { return "StatsdSinkValidationError" } // Error satisfies the builtin error interface func (e StatsdSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatsdSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatsdSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatsdSinkValidationError{} // Validate checks the field values on DogStatsdSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DogStatsdSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DogStatsdSink with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DogStatsdSinkMultiError, or // nil if none found. func (m *DogStatsdSink) ValidateAll() error { return m.validate(true) } func (m *DogStatsdSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix if wrapper := m.GetMaxBytesPerDatagram(); wrapper != nil { if wrapper.GetValue() <= 0 { err := DogStatsdSinkValidationError{ field: "MaxBytesPerDatagram", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } oneofDogStatsdSpecifierPresent := false switch v := m.DogStatsdSpecifier.(type) { case *DogStatsdSink_Address: if v == nil { err := DogStatsdSinkValidationError{ field: "DogStatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDogStatsdSpecifierPresent = true if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DogStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofDogStatsdSpecifierPresent { err := DogStatsdSinkValidationError{ field: "DogStatsdSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DogStatsdSinkMultiError(errors) } return nil } // DogStatsdSinkMultiError is an error wrapping multiple validation errors // returned by DogStatsdSink.ValidateAll() if the designated constraints // aren't met. type DogStatsdSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DogStatsdSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DogStatsdSinkMultiError) AllErrors() []error { return m } // DogStatsdSinkValidationError is the validation error returned by // DogStatsdSink.Validate if the designated constraints aren't met. type DogStatsdSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DogStatsdSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DogStatsdSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DogStatsdSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DogStatsdSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DogStatsdSinkValidationError) ErrorName() string { return "DogStatsdSinkValidationError" } // Error satisfies the builtin error interface func (e DogStatsdSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDogStatsdSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DogStatsdSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DogStatsdSinkValidationError{} // Validate checks the field values on HystrixSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HystrixSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HystrixSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HystrixSinkMultiError, or // nil if none found. func (m *HystrixSink) ValidateAll() error { return m.validate(true) } func (m *HystrixSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for NumBuckets if len(errors) > 0 { return HystrixSinkMultiError(errors) } return nil } // HystrixSinkMultiError is an error wrapping multiple validation errors // returned by HystrixSink.ValidateAll() if the designated constraints aren't met. type HystrixSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HystrixSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HystrixSinkMultiError) AllErrors() []error { return m } // HystrixSinkValidationError is the validation error returned by // HystrixSink.Validate if the designated constraints aren't met. type HystrixSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HystrixSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HystrixSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HystrixSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HystrixSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HystrixSinkValidationError) ErrorName() string { return "HystrixSinkValidationError" } // Error satisfies the builtin error interface func (e HystrixSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHystrixSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HystrixSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HystrixSinkValidationError{} go-control-plane-0.12.0/envoy/config/overload/000077500000000000000000000000001454502223200211715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/overload/v2alpha/000077500000000000000000000000001454502223200225265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/overload/v2alpha/overload.pb.go000077500000000000000000000555011454502223200253010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/overload/v2alpha/overload.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ResourceMonitor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the resource monitor to instantiate. Must match a registered // resource monitor type. The built-in resource monitors are: // // - :ref:`envoy.resource_monitors.fixed_heap // ` // - :ref:`envoy.resource_monitors.injected_resource // ` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Configuration for the resource monitor being instantiated. // // Types that are assignable to ConfigType: // // *ResourceMonitor_Config // *ResourceMonitor_TypedConfig ConfigType isResourceMonitor_ConfigType `protobuf_oneof:"config_type"` } func (x *ResourceMonitor) Reset() { *x = ResourceMonitor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResourceMonitor) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResourceMonitor) ProtoMessage() {} func (x *ResourceMonitor) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResourceMonitor.ProtoReflect.Descriptor instead. func (*ResourceMonitor) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP(), []int{0} } func (x *ResourceMonitor) GetName() string { if x != nil { return x.Name } return "" } func (m *ResourceMonitor) GetConfigType() isResourceMonitor_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/overload/v2alpha/overload.proto. func (x *ResourceMonitor) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*ResourceMonitor_Config); ok { return x.Config } return nil } func (x *ResourceMonitor) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ResourceMonitor_TypedConfig); ok { return x.TypedConfig } return nil } type isResourceMonitor_ConfigType interface { isResourceMonitor_ConfigType() } type ResourceMonitor_Config struct { // Deprecated: Marked as deprecated in envoy/config/overload/v2alpha/overload.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type ResourceMonitor_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ResourceMonitor_Config) isResourceMonitor_ConfigType() {} func (*ResourceMonitor_TypedConfig) isResourceMonitor_ConfigType() {} type ThresholdTrigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If the resource pressure is greater than or equal to this value, the trigger // will fire. Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *ThresholdTrigger) Reset() { *x = ThresholdTrigger{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThresholdTrigger) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThresholdTrigger) ProtoMessage() {} func (x *ThresholdTrigger) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThresholdTrigger.ProtoReflect.Descriptor instead. func (*ThresholdTrigger) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP(), []int{1} } func (x *ThresholdTrigger) GetValue() float64 { if x != nil { return x.Value } return 0 } type Trigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the resource this is a trigger for. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to TriggerOneof: // // *Trigger_Threshold TriggerOneof isTrigger_TriggerOneof `protobuf_oneof:"trigger_oneof"` } func (x *Trigger) Reset() { *x = Trigger{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Trigger) String() string { return protoimpl.X.MessageStringOf(x) } func (*Trigger) ProtoMessage() {} func (x *Trigger) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Trigger.ProtoReflect.Descriptor instead. func (*Trigger) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP(), []int{2} } func (x *Trigger) GetName() string { if x != nil { return x.Name } return "" } func (m *Trigger) GetTriggerOneof() isTrigger_TriggerOneof { if m != nil { return m.TriggerOneof } return nil } func (x *Trigger) GetThreshold() *ThresholdTrigger { if x, ok := x.GetTriggerOneof().(*Trigger_Threshold); ok { return x.Threshold } return nil } type isTrigger_TriggerOneof interface { isTrigger_TriggerOneof() } type Trigger_Threshold struct { Threshold *ThresholdTrigger `protobuf:"bytes,2,opt,name=threshold,proto3,oneof"` } func (*Trigger_Threshold) isTrigger_TriggerOneof() {} type OverloadAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the overload action. This is just a well-known string that listeners can // use for registering callbacks. Custom overload actions should be named using reverse // DNS to ensure uniqueness. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A set of triggers for this action. If any of these triggers fire the overload action // is activated. Listeners are notified when the overload action transitions from // inactivated to activated, or vice versa. Triggers []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"` } func (x *OverloadAction) Reset() { *x = OverloadAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OverloadAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*OverloadAction) ProtoMessage() {} func (x *OverloadAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OverloadAction.ProtoReflect.Descriptor instead. func (*OverloadAction) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP(), []int{3} } func (x *OverloadAction) GetName() string { if x != nil { return x.Name } return "" } func (x *OverloadAction) GetTriggers() []*Trigger { if x != nil { return x.Triggers } return nil } type OverloadManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The interval for refreshing resource usage. RefreshInterval *duration.Duration `protobuf:"bytes,1,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"` // The set of resources to monitor. ResourceMonitors []*ResourceMonitor `protobuf:"bytes,2,rep,name=resource_monitors,json=resourceMonitors,proto3" json:"resource_monitors,omitempty"` // The set of overload actions. Actions []*OverloadAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` } func (x *OverloadManager) Reset() { *x = OverloadManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OverloadManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*OverloadManager) ProtoMessage() {} func (x *OverloadManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v2alpha_overload_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OverloadManager.ProtoReflect.Descriptor instead. func (*OverloadManager) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP(), []int{4} } func (x *OverloadManager) GetRefreshInterval() *duration.Duration { if x != nil { return x.RefreshInterval } return nil } func (x *OverloadManager) GetResourceMonitors() []*ResourceMonitor { if x != nil { return x.ResourceMonitors } return nil } func (x *OverloadManager) GetActions() []*OverloadAction { if x != nil { return x.Actions } return nil } var File_envoy_config_overload_v2alpha_overload_proto protoreflect.FileDescriptor var file_envoy_config_overload_v2alpha_overload_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x10, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x14, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7b, 0x0a, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0f, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x65, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x8c, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_overload_v2alpha_overload_proto_rawDescOnce sync.Once file_envoy_config_overload_v2alpha_overload_proto_rawDescData = file_envoy_config_overload_v2alpha_overload_proto_rawDesc ) func file_envoy_config_overload_v2alpha_overload_proto_rawDescGZIP() []byte { file_envoy_config_overload_v2alpha_overload_proto_rawDescOnce.Do(func() { file_envoy_config_overload_v2alpha_overload_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_overload_v2alpha_overload_proto_rawDescData) }) return file_envoy_config_overload_v2alpha_overload_proto_rawDescData } var file_envoy_config_overload_v2alpha_overload_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_config_overload_v2alpha_overload_proto_goTypes = []interface{}{ (*ResourceMonitor)(nil), // 0: envoy.config.overload.v2alpha.ResourceMonitor (*ThresholdTrigger)(nil), // 1: envoy.config.overload.v2alpha.ThresholdTrigger (*Trigger)(nil), // 2: envoy.config.overload.v2alpha.Trigger (*OverloadAction)(nil), // 3: envoy.config.overload.v2alpha.OverloadAction (*OverloadManager)(nil), // 4: envoy.config.overload.v2alpha.OverloadManager (*_struct.Struct)(nil), // 5: google.protobuf.Struct (*any1.Any)(nil), // 6: google.protobuf.Any (*duration.Duration)(nil), // 7: google.protobuf.Duration } var file_envoy_config_overload_v2alpha_overload_proto_depIdxs = []int32{ 5, // 0: envoy.config.overload.v2alpha.ResourceMonitor.config:type_name -> google.protobuf.Struct 6, // 1: envoy.config.overload.v2alpha.ResourceMonitor.typed_config:type_name -> google.protobuf.Any 1, // 2: envoy.config.overload.v2alpha.Trigger.threshold:type_name -> envoy.config.overload.v2alpha.ThresholdTrigger 2, // 3: envoy.config.overload.v2alpha.OverloadAction.triggers:type_name -> envoy.config.overload.v2alpha.Trigger 7, // 4: envoy.config.overload.v2alpha.OverloadManager.refresh_interval:type_name -> google.protobuf.Duration 0, // 5: envoy.config.overload.v2alpha.OverloadManager.resource_monitors:type_name -> envoy.config.overload.v2alpha.ResourceMonitor 3, // 6: envoy.config.overload.v2alpha.OverloadManager.actions:type_name -> envoy.config.overload.v2alpha.OverloadAction 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_config_overload_v2alpha_overload_proto_init() } func file_envoy_config_overload_v2alpha_overload_proto_init() { if File_envoy_config_overload_v2alpha_overload_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_overload_v2alpha_overload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceMonitor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThresholdTrigger); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Trigger); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverloadAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverloadManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ResourceMonitor_Config)(nil), (*ResourceMonitor_TypedConfig)(nil), } file_envoy_config_overload_v2alpha_overload_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Trigger_Threshold)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_overload_v2alpha_overload_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_overload_v2alpha_overload_proto_goTypes, DependencyIndexes: file_envoy_config_overload_v2alpha_overload_proto_depIdxs, MessageInfos: file_envoy_config_overload_v2alpha_overload_proto_msgTypes, }.Build() File_envoy_config_overload_v2alpha_overload_proto = out.File file_envoy_config_overload_v2alpha_overload_proto_rawDesc = nil file_envoy_config_overload_v2alpha_overload_proto_goTypes = nil file_envoy_config_overload_v2alpha_overload_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/overload/v2alpha/overload.pb.validate.go000077500000000000000000000546661454502223200271040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/overload/v2alpha/overload.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ResourceMonitor with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ResourceMonitor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResourceMonitor with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResourceMonitorMultiError, or nil if none found. func (m *ResourceMonitor) ValidateAll() error { return m.validate(true) } func (m *ResourceMonitor) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := ResourceMonitorValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *ResourceMonitor_Config: if v == nil { err := ResourceMonitorValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceMonitorValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *ResourceMonitor_TypedConfig: if v == nil { err := ResourceMonitorValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ResourceMonitorMultiError(errors) } return nil } // ResourceMonitorMultiError is an error wrapping multiple validation errors // returned by ResourceMonitor.ValidateAll() if the designated constraints // aren't met. type ResourceMonitorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceMonitorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceMonitorMultiError) AllErrors() []error { return m } // ResourceMonitorValidationError is the validation error returned by // ResourceMonitor.Validate if the designated constraints aren't met. type ResourceMonitorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceMonitorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceMonitorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceMonitorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceMonitorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceMonitorValidationError) ErrorName() string { return "ResourceMonitorValidationError" } // Error satisfies the builtin error interface func (e ResourceMonitorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResourceMonitor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceMonitorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceMonitorValidationError{} // Validate checks the field values on ThresholdTrigger with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ThresholdTrigger) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThresholdTrigger with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ThresholdTriggerMultiError, or nil if none found. func (m *ThresholdTrigger) ValidateAll() error { return m.validate(true) } func (m *ThresholdTrigger) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetValue(); val < 0 || val > 1 { err := ThresholdTriggerValidationError{ field: "Value", reason: "value must be inside range [0, 1]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ThresholdTriggerMultiError(errors) } return nil } // ThresholdTriggerMultiError is an error wrapping multiple validation errors // returned by ThresholdTrigger.ValidateAll() if the designated constraints // aren't met. type ThresholdTriggerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThresholdTriggerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThresholdTriggerMultiError) AllErrors() []error { return m } // ThresholdTriggerValidationError is the validation error returned by // ThresholdTrigger.Validate if the designated constraints aren't met. type ThresholdTriggerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThresholdTriggerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThresholdTriggerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThresholdTriggerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThresholdTriggerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThresholdTriggerValidationError) ErrorName() string { return "ThresholdTriggerValidationError" } // Error satisfies the builtin error interface func (e ThresholdTriggerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThresholdTrigger.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThresholdTriggerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThresholdTriggerValidationError{} // Validate checks the field values on Trigger with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Trigger) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Trigger with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TriggerMultiError, or nil if none found. func (m *Trigger) ValidateAll() error { return m.validate(true) } func (m *Trigger) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := TriggerValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } oneofTriggerOneofPresent := false switch v := m.TriggerOneof.(type) { case *Trigger_Threshold: if v == nil { err := TriggerValidationError{ field: "TriggerOneof", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTriggerOneofPresent = true if all { switch v := interface{}(m.GetThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTriggerOneofPresent { err := TriggerValidationError{ field: "TriggerOneof", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TriggerMultiError(errors) } return nil } // TriggerMultiError is an error wrapping multiple validation errors returned // by Trigger.ValidateAll() if the designated constraints aren't met. type TriggerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TriggerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TriggerMultiError) AllErrors() []error { return m } // TriggerValidationError is the validation error returned by Trigger.Validate // if the designated constraints aren't met. type TriggerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TriggerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TriggerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TriggerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TriggerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TriggerValidationError) ErrorName() string { return "TriggerValidationError" } // Error satisfies the builtin error interface func (e TriggerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTrigger.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TriggerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TriggerValidationError{} // Validate checks the field values on OverloadAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OverloadAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OverloadAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OverloadActionMultiError, // or nil if none found. func (m *OverloadAction) ValidateAll() error { return m.validate(true) } func (m *OverloadAction) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := OverloadActionValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetTriggers()) < 1 { err := OverloadActionValidationError{ field: "Triggers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTriggers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OverloadActionMultiError(errors) } return nil } // OverloadActionMultiError is an error wrapping multiple validation errors // returned by OverloadAction.ValidateAll() if the designated constraints // aren't met. type OverloadActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OverloadActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OverloadActionMultiError) AllErrors() []error { return m } // OverloadActionValidationError is the validation error returned by // OverloadAction.Validate if the designated constraints aren't met. type OverloadActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OverloadActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OverloadActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OverloadActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OverloadActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OverloadActionValidationError) ErrorName() string { return "OverloadActionValidationError" } // Error satisfies the builtin error interface func (e OverloadActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOverloadAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OverloadActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OverloadActionValidationError{} // Validate checks the field values on OverloadManager with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OverloadManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OverloadManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OverloadManagerMultiError, or nil if none found. func (m *OverloadManager) ValidateAll() error { return m.validate(true) } func (m *OverloadManager) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRefreshInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, } } } if len(m.GetResourceMonitors()) < 1 { err := OverloadManagerValidationError{ field: "ResourceMonitors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResourceMonitors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OverloadManagerMultiError(errors) } return nil } // OverloadManagerMultiError is an error wrapping multiple validation errors // returned by OverloadManager.ValidateAll() if the designated constraints // aren't met. type OverloadManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OverloadManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OverloadManagerMultiError) AllErrors() []error { return m } // OverloadManagerValidationError is the validation error returned by // OverloadManager.Validate if the designated constraints aren't met. type OverloadManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OverloadManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OverloadManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OverloadManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OverloadManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OverloadManagerValidationError) ErrorName() string { return "OverloadManagerValidationError" } // Error satisfies the builtin error interface func (e OverloadManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOverloadManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OverloadManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OverloadManagerValidationError{} go-control-plane-0.12.0/envoy/config/overload/v3/000077500000000000000000000000001454502223200215215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/overload/v3/overload.pb.go000077500000000000000000001443031454502223200242730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/overload/v3/overload.proto package overloadv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ScaleTimersOverloadActionConfig_TimerType int32 const ( // Unsupported value; users must explicitly specify the timer they want scaled. ScaleTimersOverloadActionConfig_UNSPECIFIED ScaleTimersOverloadActionConfig_TimerType = 0 // Adjusts the idle timer for downstream HTTP connections that takes effect when there are no active streams. // This affects the value of :ref:`HttpConnectionManager.common_http_protocol_options.idle_timeout // ` ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_CONNECTION_IDLE ScaleTimersOverloadActionConfig_TimerType = 1 // Adjusts the idle timer for HTTP streams initiated by downstream clients. // This affects the value of :ref:`RouteAction.idle_timeout ` and // :ref:`HttpConnectionManager.stream_idle_timeout // ` ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_STREAM_IDLE ScaleTimersOverloadActionConfig_TimerType = 2 // Adjusts the timer for how long downstream clients have to finish transport-level negotiations // before the connection is closed. // This affects the value of // :ref:`FilterChain.transport_socket_connect_timeout `. ScaleTimersOverloadActionConfig_TRANSPORT_SOCKET_CONNECT ScaleTimersOverloadActionConfig_TimerType = 3 ) // Enum value maps for ScaleTimersOverloadActionConfig_TimerType. var ( ScaleTimersOverloadActionConfig_TimerType_name = map[int32]string{ 0: "UNSPECIFIED", 1: "HTTP_DOWNSTREAM_CONNECTION_IDLE", 2: "HTTP_DOWNSTREAM_STREAM_IDLE", 3: "TRANSPORT_SOCKET_CONNECT", } ScaleTimersOverloadActionConfig_TimerType_value = map[string]int32{ "UNSPECIFIED": 0, "HTTP_DOWNSTREAM_CONNECTION_IDLE": 1, "HTTP_DOWNSTREAM_STREAM_IDLE": 2, "TRANSPORT_SOCKET_CONNECT": 3, } ) func (x ScaleTimersOverloadActionConfig_TimerType) Enum() *ScaleTimersOverloadActionConfig_TimerType { p := new(ScaleTimersOverloadActionConfig_TimerType) *p = x return p } func (x ScaleTimersOverloadActionConfig_TimerType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ScaleTimersOverloadActionConfig_TimerType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_overload_v3_overload_proto_enumTypes[0].Descriptor() } func (ScaleTimersOverloadActionConfig_TimerType) Type() protoreflect.EnumType { return &file_envoy_config_overload_v3_overload_proto_enumTypes[0] } func (x ScaleTimersOverloadActionConfig_TimerType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ScaleTimersOverloadActionConfig_TimerType.Descriptor instead. func (ScaleTimersOverloadActionConfig_TimerType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{4, 0} } type ResourceMonitor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the resource monitor to instantiate. Must match a registered // resource monitor type. // See the :ref:`extensions listed in typed_config below ` for the default list of available resource monitor. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Configuration for the resource monitor being instantiated. // [#extension-category: envoy.resource_monitors] // // Types that are assignable to ConfigType: // // *ResourceMonitor_TypedConfig ConfigType isResourceMonitor_ConfigType `protobuf_oneof:"config_type"` } func (x *ResourceMonitor) Reset() { *x = ResourceMonitor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResourceMonitor) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResourceMonitor) ProtoMessage() {} func (x *ResourceMonitor) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResourceMonitor.ProtoReflect.Descriptor instead. func (*ResourceMonitor) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{0} } func (x *ResourceMonitor) GetName() string { if x != nil { return x.Name } return "" } func (m *ResourceMonitor) GetConfigType() isResourceMonitor_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *ResourceMonitor) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ResourceMonitor_TypedConfig); ok { return x.TypedConfig } return nil } type isResourceMonitor_ConfigType interface { isResourceMonitor_ConfigType() } type ResourceMonitor_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ResourceMonitor_TypedConfig) isResourceMonitor_ConfigType() {} type ThresholdTrigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If the resource pressure is greater than or equal to this value, the trigger // will enter saturation. Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *ThresholdTrigger) Reset() { *x = ThresholdTrigger{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThresholdTrigger) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThresholdTrigger) ProtoMessage() {} func (x *ThresholdTrigger) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThresholdTrigger.ProtoReflect.Descriptor instead. func (*ThresholdTrigger) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{1} } func (x *ThresholdTrigger) GetValue() float64 { if x != nil { return x.Value } return 0 } type ScaledTrigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If the resource pressure is greater than this value, the trigger will be in the // :ref:`scaling ` state with value // “(pressure - scaling_threshold) / (saturation_threshold - scaling_threshold)“. ScalingThreshold float64 `protobuf:"fixed64,1,opt,name=scaling_threshold,json=scalingThreshold,proto3" json:"scaling_threshold,omitempty"` // If the resource pressure is greater than this value, the trigger will enter saturation. SaturationThreshold float64 `protobuf:"fixed64,2,opt,name=saturation_threshold,json=saturationThreshold,proto3" json:"saturation_threshold,omitempty"` } func (x *ScaledTrigger) Reset() { *x = ScaledTrigger{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScaledTrigger) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScaledTrigger) ProtoMessage() {} func (x *ScaledTrigger) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScaledTrigger.ProtoReflect.Descriptor instead. func (*ScaledTrigger) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{2} } func (x *ScaledTrigger) GetScalingThreshold() float64 { if x != nil { return x.ScalingThreshold } return 0 } func (x *ScaledTrigger) GetSaturationThreshold() float64 { if x != nil { return x.SaturationThreshold } return 0 } type Trigger struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the resource this is a trigger for. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to TriggerOneof: // // *Trigger_Threshold // *Trigger_Scaled TriggerOneof isTrigger_TriggerOneof `protobuf_oneof:"trigger_oneof"` } func (x *Trigger) Reset() { *x = Trigger{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Trigger) String() string { return protoimpl.X.MessageStringOf(x) } func (*Trigger) ProtoMessage() {} func (x *Trigger) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Trigger.ProtoReflect.Descriptor instead. func (*Trigger) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{3} } func (x *Trigger) GetName() string { if x != nil { return x.Name } return "" } func (m *Trigger) GetTriggerOneof() isTrigger_TriggerOneof { if m != nil { return m.TriggerOneof } return nil } func (x *Trigger) GetThreshold() *ThresholdTrigger { if x, ok := x.GetTriggerOneof().(*Trigger_Threshold); ok { return x.Threshold } return nil } func (x *Trigger) GetScaled() *ScaledTrigger { if x, ok := x.GetTriggerOneof().(*Trigger_Scaled); ok { return x.Scaled } return nil } type isTrigger_TriggerOneof interface { isTrigger_TriggerOneof() } type Trigger_Threshold struct { Threshold *ThresholdTrigger `protobuf:"bytes,2,opt,name=threshold,proto3,oneof"` } type Trigger_Scaled struct { Scaled *ScaledTrigger `protobuf:"bytes,3,opt,name=scaled,proto3,oneof"` } func (*Trigger_Threshold) isTrigger_TriggerOneof() {} func (*Trigger_Scaled) isTrigger_TriggerOneof() {} // Typed configuration for the "envoy.overload_actions.reduce_timeouts" action. See // :ref:`the docs ` for an example of how to configure // the action with different timeouts and minimum values. type ScaleTimersOverloadActionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A set of timer scaling rules to be applied. TimerScaleFactors []*ScaleTimersOverloadActionConfig_ScaleTimer `protobuf:"bytes,1,rep,name=timer_scale_factors,json=timerScaleFactors,proto3" json:"timer_scale_factors,omitempty"` } func (x *ScaleTimersOverloadActionConfig) Reset() { *x = ScaleTimersOverloadActionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScaleTimersOverloadActionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScaleTimersOverloadActionConfig) ProtoMessage() {} func (x *ScaleTimersOverloadActionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScaleTimersOverloadActionConfig.ProtoReflect.Descriptor instead. func (*ScaleTimersOverloadActionConfig) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{4} } func (x *ScaleTimersOverloadActionConfig) GetTimerScaleFactors() []*ScaleTimersOverloadActionConfig_ScaleTimer { if x != nil { return x.TimerScaleFactors } return nil } type OverloadAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the overload action. This is just a well-known string that listeners can // use for registering callbacks. Custom overload actions should be named using reverse // DNS to ensure uniqueness. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A set of triggers for this action. The state of the action is the maximum // state of all triggers, which can be scalar values between 0 and 1 or // saturated. Listeners are notified when the overload action changes state. // An overload manager action can only have one trigger for a given resource // e.g. :ref:`Trigger.name // ` must be unique // in this list. Triggers []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"` // Configuration for the action being instantiated. TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *OverloadAction) Reset() { *x = OverloadAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OverloadAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*OverloadAction) ProtoMessage() {} func (x *OverloadAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OverloadAction.ProtoReflect.Descriptor instead. func (*OverloadAction) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{5} } func (x *OverloadAction) GetName() string { if x != nil { return x.Name } return "" } func (x *OverloadAction) GetTriggers() []*Trigger { if x != nil { return x.Triggers } return nil } func (x *OverloadAction) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } // A point within the connection or request lifecycle that provides context on // whether to shed load at that given stage for the current entity at the // point. type LoadShedPoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This is just a well-known string for the LoadShedPoint. // Deployment specific LoadShedPoints e.g. within a custom extension should // be prefixed by the company / deployment name to avoid colliding with any // open source LoadShedPoints. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A set of triggers for this LoadShedPoint. The LoadShedPoint will use the // the maximum state of all triggers, which can be scalar values between 0 and // 1 or saturated. A LoadShedPoint can only have one trigger for a given // resource e.g. :ref:`Trigger.name // ` must be unique in // this list. Triggers []*Trigger `protobuf:"bytes,2,rep,name=triggers,proto3" json:"triggers,omitempty"` } func (x *LoadShedPoint) Reset() { *x = LoadShedPoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadShedPoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadShedPoint) ProtoMessage() {} func (x *LoadShedPoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadShedPoint.ProtoReflect.Descriptor instead. func (*LoadShedPoint) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{6} } func (x *LoadShedPoint) GetName() string { if x != nil { return x.Name } return "" } func (x *LoadShedPoint) GetTriggers() []*Trigger { if x != nil { return x.Triggers } return nil } // Configuration for which accounts the WatermarkBuffer Factories should // track. type BufferFactoryConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The minimum power of two at which Envoy starts tracking an account. // // Envoy has 8 power of two buckets starting with the provided exponent below. // Concretely the 1st bucket contains accounts for streams that use // [2^minimum_account_to_track_power_of_two, // 2^(minimum_account_to_track_power_of_two + 1)) bytes. // With the 8th bucket tracking accounts // >= 128 * 2^minimum_account_to_track_power_of_two. // // The maximum value is 56, since we're using uint64_t for bytes counting, // and that's the last value that would use the 8 buckets. In practice, // we don't expect the proxy to be holding 2^56 bytes. // // If omitted, Envoy should not do any tracking. MinimumAccountToTrackPowerOfTwo uint32 `protobuf:"varint,1,opt,name=minimum_account_to_track_power_of_two,json=minimumAccountToTrackPowerOfTwo,proto3" json:"minimum_account_to_track_power_of_two,omitempty"` } func (x *BufferFactoryConfig) Reset() { *x = BufferFactoryConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferFactoryConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferFactoryConfig) ProtoMessage() {} func (x *BufferFactoryConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferFactoryConfig.ProtoReflect.Descriptor instead. func (*BufferFactoryConfig) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{7} } func (x *BufferFactoryConfig) GetMinimumAccountToTrackPowerOfTwo() uint32 { if x != nil { return x.MinimumAccountToTrackPowerOfTwo } return 0 } // [#next-free-field: 6] type OverloadManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The interval for refreshing resource usage. RefreshInterval *duration.Duration `protobuf:"bytes,1,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"` // The set of resources to monitor. ResourceMonitors []*ResourceMonitor `protobuf:"bytes,2,rep,name=resource_monitors,json=resourceMonitors,proto3" json:"resource_monitors,omitempty"` // The set of overload actions. Actions []*OverloadAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` // The set of load shed points. LoadshedPoints []*LoadShedPoint `protobuf:"bytes,5,rep,name=loadshed_points,json=loadshedPoints,proto3" json:"loadshed_points,omitempty"` // Configuration for buffer factory. BufferFactoryConfig *BufferFactoryConfig `protobuf:"bytes,4,opt,name=buffer_factory_config,json=bufferFactoryConfig,proto3" json:"buffer_factory_config,omitempty"` } func (x *OverloadManager) Reset() { *x = OverloadManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OverloadManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*OverloadManager) ProtoMessage() {} func (x *OverloadManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OverloadManager.ProtoReflect.Descriptor instead. func (*OverloadManager) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{8} } func (x *OverloadManager) GetRefreshInterval() *duration.Duration { if x != nil { return x.RefreshInterval } return nil } func (x *OverloadManager) GetResourceMonitors() []*ResourceMonitor { if x != nil { return x.ResourceMonitors } return nil } func (x *OverloadManager) GetActions() []*OverloadAction { if x != nil { return x.Actions } return nil } func (x *OverloadManager) GetLoadshedPoints() []*LoadShedPoint { if x != nil { return x.LoadshedPoints } return nil } func (x *OverloadManager) GetBufferFactoryConfig() *BufferFactoryConfig { if x != nil { return x.BufferFactoryConfig } return nil } type ScaleTimersOverloadActionConfig_ScaleTimer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of timer this minimum applies to. Timer ScaleTimersOverloadActionConfig_TimerType `protobuf:"varint,1,opt,name=timer,proto3,enum=envoy.config.overload.v3.ScaleTimersOverloadActionConfig_TimerType" json:"timer,omitempty"` // Types that are assignable to OverloadAdjust: // // *ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout // *ScaleTimersOverloadActionConfig_ScaleTimer_MinScale OverloadAdjust isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust `protobuf_oneof:"overload_adjust"` } func (x *ScaleTimersOverloadActionConfig_ScaleTimer) Reset() { *x = ScaleTimersOverloadActionConfig_ScaleTimer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScaleTimersOverloadActionConfig_ScaleTimer) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScaleTimersOverloadActionConfig_ScaleTimer) ProtoMessage() {} func (x *ScaleTimersOverloadActionConfig_ScaleTimer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScaleTimersOverloadActionConfig_ScaleTimer.ProtoReflect.Descriptor instead. func (*ScaleTimersOverloadActionConfig_ScaleTimer) Descriptor() ([]byte, []int) { return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{4, 0} } func (x *ScaleTimersOverloadActionConfig_ScaleTimer) GetTimer() ScaleTimersOverloadActionConfig_TimerType { if x != nil { return x.Timer } return ScaleTimersOverloadActionConfig_UNSPECIFIED } func (m *ScaleTimersOverloadActionConfig_ScaleTimer) GetOverloadAdjust() isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust { if m != nil { return m.OverloadAdjust } return nil } func (x *ScaleTimersOverloadActionConfig_ScaleTimer) GetMinTimeout() *duration.Duration { if x, ok := x.GetOverloadAdjust().(*ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout); ok { return x.MinTimeout } return nil } func (x *ScaleTimersOverloadActionConfig_ScaleTimer) GetMinScale() *v3.Percent { if x, ok := x.GetOverloadAdjust().(*ScaleTimersOverloadActionConfig_ScaleTimer_MinScale); ok { return x.MinScale } return nil } type isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust interface { isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust() } type ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout struct { // Sets the minimum duration as an absolute value. MinTimeout *duration.Duration `protobuf:"bytes,2,opt,name=min_timeout,json=minTimeout,proto3,oneof"` } type ScaleTimersOverloadActionConfig_ScaleTimer_MinScale struct { // Sets the minimum duration as a percentage of the maximum value. MinScale *v3.Percent `protobuf:"bytes,3,opt,name=min_scale,json=minScale,proto3,oneof"` } func (*ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout) isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust() { } func (*ScaleTimersOverloadActionConfig_ScaleTimer_MinScale) isScaleTimersOverloadActionConfig_ScaleTimer_OverloadAdjust() { } var File_envoy_config_overload_v3_overload_proto protoreflect.FileDescriptor var file_envoy_config_overload_v3_overload_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x78, 0x0a, 0x10, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x11, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x10, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x14, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x13, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa7, 0x04, 0x0a, 0x1f, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x80, 0x02, 0x0a, 0x0a, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x80, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x03, 0x22, 0xe4, 0x01, 0x0a, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0x0a, 0x0d, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x68, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x70, 0x0a, 0x13, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x25, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x38, 0x28, 0x0a, 0x52, 0x1f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x77, 0x6f, 0x22, 0xe8, 0x03, 0x0a, 0x0f, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x60, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x68, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x68, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_overload_v3_overload_proto_rawDescOnce sync.Once file_envoy_config_overload_v3_overload_proto_rawDescData = file_envoy_config_overload_v3_overload_proto_rawDesc ) func file_envoy_config_overload_v3_overload_proto_rawDescGZIP() []byte { file_envoy_config_overload_v3_overload_proto_rawDescOnce.Do(func() { file_envoy_config_overload_v3_overload_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_overload_v3_overload_proto_rawDescData) }) return file_envoy_config_overload_v3_overload_proto_rawDescData } var file_envoy_config_overload_v3_overload_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_overload_v3_overload_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_envoy_config_overload_v3_overload_proto_goTypes = []interface{}{ (ScaleTimersOverloadActionConfig_TimerType)(0), // 0: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.TimerType (*ResourceMonitor)(nil), // 1: envoy.config.overload.v3.ResourceMonitor (*ThresholdTrigger)(nil), // 2: envoy.config.overload.v3.ThresholdTrigger (*ScaledTrigger)(nil), // 3: envoy.config.overload.v3.ScaledTrigger (*Trigger)(nil), // 4: envoy.config.overload.v3.Trigger (*ScaleTimersOverloadActionConfig)(nil), // 5: envoy.config.overload.v3.ScaleTimersOverloadActionConfig (*OverloadAction)(nil), // 6: envoy.config.overload.v3.OverloadAction (*LoadShedPoint)(nil), // 7: envoy.config.overload.v3.LoadShedPoint (*BufferFactoryConfig)(nil), // 8: envoy.config.overload.v3.BufferFactoryConfig (*OverloadManager)(nil), // 9: envoy.config.overload.v3.OverloadManager (*ScaleTimersOverloadActionConfig_ScaleTimer)(nil), // 10: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer (*any1.Any)(nil), // 11: google.protobuf.Any (*duration.Duration)(nil), // 12: google.protobuf.Duration (*v3.Percent)(nil), // 13: envoy.type.v3.Percent } var file_envoy_config_overload_v3_overload_proto_depIdxs = []int32{ 11, // 0: envoy.config.overload.v3.ResourceMonitor.typed_config:type_name -> google.protobuf.Any 2, // 1: envoy.config.overload.v3.Trigger.threshold:type_name -> envoy.config.overload.v3.ThresholdTrigger 3, // 2: envoy.config.overload.v3.Trigger.scaled:type_name -> envoy.config.overload.v3.ScaledTrigger 10, // 3: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.timer_scale_factors:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer 4, // 4: envoy.config.overload.v3.OverloadAction.triggers:type_name -> envoy.config.overload.v3.Trigger 11, // 5: envoy.config.overload.v3.OverloadAction.typed_config:type_name -> google.protobuf.Any 4, // 6: envoy.config.overload.v3.LoadShedPoint.triggers:type_name -> envoy.config.overload.v3.Trigger 12, // 7: envoy.config.overload.v3.OverloadManager.refresh_interval:type_name -> google.protobuf.Duration 1, // 8: envoy.config.overload.v3.OverloadManager.resource_monitors:type_name -> envoy.config.overload.v3.ResourceMonitor 6, // 9: envoy.config.overload.v3.OverloadManager.actions:type_name -> envoy.config.overload.v3.OverloadAction 7, // 10: envoy.config.overload.v3.OverloadManager.loadshed_points:type_name -> envoy.config.overload.v3.LoadShedPoint 8, // 11: envoy.config.overload.v3.OverloadManager.buffer_factory_config:type_name -> envoy.config.overload.v3.BufferFactoryConfig 0, // 12: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.timer:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.TimerType 12, // 13: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_timeout:type_name -> google.protobuf.Duration 13, // 14: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_scale:type_name -> envoy.type.v3.Percent 15, // [15:15] is the sub-list for method output_type 15, // [15:15] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name } func init() { file_envoy_config_overload_v3_overload_proto_init() } func file_envoy_config_overload_v3_overload_proto_init() { if File_envoy_config_overload_v3_overload_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_overload_v3_overload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceMonitor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThresholdTrigger); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScaledTrigger); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Trigger); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScaleTimersOverloadActionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverloadAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadShedPoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferFactoryConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverloadManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_overload_v3_overload_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScaleTimersOverloadActionConfig_ScaleTimer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_overload_v3_overload_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ResourceMonitor_TypedConfig)(nil), } file_envoy_config_overload_v3_overload_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Trigger_Threshold)(nil), (*Trigger_Scaled)(nil), } file_envoy_config_overload_v3_overload_proto_msgTypes[9].OneofWrappers = []interface{}{ (*ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout)(nil), (*ScaleTimersOverloadActionConfig_ScaleTimer_MinScale)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_overload_v3_overload_proto_rawDesc, NumEnums: 1, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_overload_v3_overload_proto_goTypes, DependencyIndexes: file_envoy_config_overload_v3_overload_proto_depIdxs, EnumInfos: file_envoy_config_overload_v3_overload_proto_enumTypes, MessageInfos: file_envoy_config_overload_v3_overload_proto_msgTypes, }.Build() File_envoy_config_overload_v3_overload_proto = out.File file_envoy_config_overload_v3_overload_proto_rawDesc = nil file_envoy_config_overload_v3_overload_proto_goTypes = nil file_envoy_config_overload_v3_overload_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/overload/v3/overload.pb.validate.go000077500000000000000000001352501454502223200260640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/overload/v3/overload.proto package overloadv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ResourceMonitor with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ResourceMonitor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResourceMonitor with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResourceMonitorMultiError, or nil if none found. func (m *ResourceMonitor) ValidateAll() error { return m.validate(true) } func (m *ResourceMonitor) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ResourceMonitorValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *ResourceMonitor_TypedConfig: if v == nil { err := ResourceMonitorValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceMonitorValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ResourceMonitorMultiError(errors) } return nil } // ResourceMonitorMultiError is an error wrapping multiple validation errors // returned by ResourceMonitor.ValidateAll() if the designated constraints // aren't met. type ResourceMonitorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceMonitorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceMonitorMultiError) AllErrors() []error { return m } // ResourceMonitorValidationError is the validation error returned by // ResourceMonitor.Validate if the designated constraints aren't met. type ResourceMonitorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceMonitorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceMonitorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceMonitorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceMonitorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceMonitorValidationError) ErrorName() string { return "ResourceMonitorValidationError" } // Error satisfies the builtin error interface func (e ResourceMonitorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResourceMonitor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceMonitorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceMonitorValidationError{} // Validate checks the field values on ThresholdTrigger with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ThresholdTrigger) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThresholdTrigger with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ThresholdTriggerMultiError, or nil if none found. func (m *ThresholdTrigger) ValidateAll() error { return m.validate(true) } func (m *ThresholdTrigger) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetValue(); val < 0 || val > 1 { err := ThresholdTriggerValidationError{ field: "Value", reason: "value must be inside range [0, 1]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ThresholdTriggerMultiError(errors) } return nil } // ThresholdTriggerMultiError is an error wrapping multiple validation errors // returned by ThresholdTrigger.ValidateAll() if the designated constraints // aren't met. type ThresholdTriggerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThresholdTriggerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThresholdTriggerMultiError) AllErrors() []error { return m } // ThresholdTriggerValidationError is the validation error returned by // ThresholdTrigger.Validate if the designated constraints aren't met. type ThresholdTriggerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThresholdTriggerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThresholdTriggerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThresholdTriggerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThresholdTriggerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThresholdTriggerValidationError) ErrorName() string { return "ThresholdTriggerValidationError" } // Error satisfies the builtin error interface func (e ThresholdTriggerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThresholdTrigger.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThresholdTriggerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThresholdTriggerValidationError{} // Validate checks the field values on ScaledTrigger with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScaledTrigger) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScaledTrigger with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ScaledTriggerMultiError, or // nil if none found. func (m *ScaledTrigger) ValidateAll() error { return m.validate(true) } func (m *ScaledTrigger) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetScalingThreshold(); val < 0 || val > 1 { err := ScaledTriggerValidationError{ field: "ScalingThreshold", reason: "value must be inside range [0, 1]", } if !all { return err } errors = append(errors, err) } if val := m.GetSaturationThreshold(); val < 0 || val > 1 { err := ScaledTriggerValidationError{ field: "SaturationThreshold", reason: "value must be inside range [0, 1]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScaledTriggerMultiError(errors) } return nil } // ScaledTriggerMultiError is an error wrapping multiple validation errors // returned by ScaledTrigger.ValidateAll() if the designated constraints // aren't met. type ScaledTriggerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScaledTriggerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScaledTriggerMultiError) AllErrors() []error { return m } // ScaledTriggerValidationError is the validation error returned by // ScaledTrigger.Validate if the designated constraints aren't met. type ScaledTriggerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScaledTriggerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScaledTriggerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScaledTriggerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScaledTriggerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScaledTriggerValidationError) ErrorName() string { return "ScaledTriggerValidationError" } // Error satisfies the builtin error interface func (e ScaledTriggerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScaledTrigger.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScaledTriggerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScaledTriggerValidationError{} // Validate checks the field values on Trigger with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Trigger) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Trigger with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TriggerMultiError, or nil if none found. func (m *Trigger) ValidateAll() error { return m.validate(true) } func (m *Trigger) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := TriggerValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofTriggerOneofPresent := false switch v := m.TriggerOneof.(type) { case *Trigger_Threshold: if v == nil { err := TriggerValidationError{ field: "TriggerOneof", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTriggerOneofPresent = true if all { switch v := interface{}(m.GetThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TriggerValidationError{ field: "Threshold", reason: "embedded message failed validation", cause: err, } } } case *Trigger_Scaled: if v == nil { err := TriggerValidationError{ field: "TriggerOneof", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTriggerOneofPresent = true if all { switch v := interface{}(m.GetScaled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TriggerValidationError{ field: "Scaled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TriggerValidationError{ field: "Scaled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScaled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TriggerValidationError{ field: "Scaled", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTriggerOneofPresent { err := TriggerValidationError{ field: "TriggerOneof", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TriggerMultiError(errors) } return nil } // TriggerMultiError is an error wrapping multiple validation errors returned // by Trigger.ValidateAll() if the designated constraints aren't met. type TriggerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TriggerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TriggerMultiError) AllErrors() []error { return m } // TriggerValidationError is the validation error returned by Trigger.Validate // if the designated constraints aren't met. type TriggerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TriggerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TriggerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TriggerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TriggerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TriggerValidationError) ErrorName() string { return "TriggerValidationError" } // Error satisfies the builtin error interface func (e TriggerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTrigger.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TriggerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TriggerValidationError{} // Validate checks the field values on ScaleTimersOverloadActionConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScaleTimersOverloadActionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScaleTimersOverloadActionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ScaleTimersOverloadActionConfigMultiError, or nil if none found. func (m *ScaleTimersOverloadActionConfig) ValidateAll() error { return m.validate(true) } func (m *ScaleTimersOverloadActionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetTimerScaleFactors()) < 1 { err := ScaleTimersOverloadActionConfigValidationError{ field: "TimerScaleFactors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTimerScaleFactors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfigValidationError{ field: fmt.Sprintf("TimerScaleFactors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfigValidationError{ field: fmt.Sprintf("TimerScaleFactors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScaleTimersOverloadActionConfigValidationError{ field: fmt.Sprintf("TimerScaleFactors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScaleTimersOverloadActionConfigMultiError(errors) } return nil } // ScaleTimersOverloadActionConfigMultiError is an error wrapping multiple // validation errors returned by ScaleTimersOverloadActionConfig.ValidateAll() // if the designated constraints aren't met. type ScaleTimersOverloadActionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScaleTimersOverloadActionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScaleTimersOverloadActionConfigMultiError) AllErrors() []error { return m } // ScaleTimersOverloadActionConfigValidationError is the validation error // returned by ScaleTimersOverloadActionConfig.Validate if the designated // constraints aren't met. type ScaleTimersOverloadActionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScaleTimersOverloadActionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScaleTimersOverloadActionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScaleTimersOverloadActionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScaleTimersOverloadActionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScaleTimersOverloadActionConfigValidationError) ErrorName() string { return "ScaleTimersOverloadActionConfigValidationError" } // Error satisfies the builtin error interface func (e ScaleTimersOverloadActionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScaleTimersOverloadActionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScaleTimersOverloadActionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScaleTimersOverloadActionConfigValidationError{} // Validate checks the field values on OverloadAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OverloadAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OverloadAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OverloadActionMultiError, // or nil if none found. func (m *OverloadAction) ValidateAll() error { return m.validate(true) } func (m *OverloadAction) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := OverloadActionValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetTriggers()) < 1 { err := OverloadActionValidationError{ field: "Triggers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTriggers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadActionValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OverloadActionMultiError(errors) } return nil } // OverloadActionMultiError is an error wrapping multiple validation errors // returned by OverloadAction.ValidateAll() if the designated constraints // aren't met. type OverloadActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OverloadActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OverloadActionMultiError) AllErrors() []error { return m } // OverloadActionValidationError is the validation error returned by // OverloadAction.Validate if the designated constraints aren't met. type OverloadActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OverloadActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OverloadActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OverloadActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OverloadActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OverloadActionValidationError) ErrorName() string { return "OverloadActionValidationError" } // Error satisfies the builtin error interface func (e OverloadActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOverloadAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OverloadActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OverloadActionValidationError{} // Validate checks the field values on LoadShedPoint with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LoadShedPoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadShedPoint with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LoadShedPointMultiError, or // nil if none found. func (m *LoadShedPoint) ValidateAll() error { return m.validate(true) } func (m *LoadShedPoint) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := LoadShedPointValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetTriggers()) < 1 { err := LoadShedPointValidationError{ field: "Triggers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTriggers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadShedPointValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadShedPointValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadShedPointValidationError{ field: fmt.Sprintf("Triggers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LoadShedPointMultiError(errors) } return nil } // LoadShedPointMultiError is an error wrapping multiple validation errors // returned by LoadShedPoint.ValidateAll() if the designated constraints // aren't met. type LoadShedPointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadShedPointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadShedPointMultiError) AllErrors() []error { return m } // LoadShedPointValidationError is the validation error returned by // LoadShedPoint.Validate if the designated constraints aren't met. type LoadShedPointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadShedPointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadShedPointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadShedPointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadShedPointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadShedPointValidationError) ErrorName() string { return "LoadShedPointValidationError" } // Error satisfies the builtin error interface func (e LoadShedPointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadShedPoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadShedPointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadShedPointValidationError{} // Validate checks the field values on BufferFactoryConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BufferFactoryConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferFactoryConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BufferFactoryConfigMultiError, or nil if none found. func (m *BufferFactoryConfig) ValidateAll() error { return m.validate(true) } func (m *BufferFactoryConfig) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetMinimumAccountToTrackPowerOfTwo(); val < 10 || val > 56 { err := BufferFactoryConfigValidationError{ field: "MinimumAccountToTrackPowerOfTwo", reason: "value must be inside range [10, 56]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferFactoryConfigMultiError(errors) } return nil } // BufferFactoryConfigMultiError is an error wrapping multiple validation // errors returned by BufferFactoryConfig.ValidateAll() if the designated // constraints aren't met. type BufferFactoryConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferFactoryConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferFactoryConfigMultiError) AllErrors() []error { return m } // BufferFactoryConfigValidationError is the validation error returned by // BufferFactoryConfig.Validate if the designated constraints aren't met. type BufferFactoryConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferFactoryConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferFactoryConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferFactoryConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferFactoryConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferFactoryConfigValidationError) ErrorName() string { return "BufferFactoryConfigValidationError" } // Error satisfies the builtin error interface func (e BufferFactoryConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferFactoryConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferFactoryConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferFactoryConfigValidationError{} // Validate checks the field values on OverloadManager with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OverloadManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OverloadManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OverloadManagerMultiError, or nil if none found. func (m *OverloadManager) ValidateAll() error { return m.validate(true) } func (m *OverloadManager) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRefreshInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRefreshInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: "RefreshInterval", reason: "embedded message failed validation", cause: err, } } } if len(m.GetResourceMonitors()) < 1 { err := OverloadManagerValidationError{ field: "ResourceMonitors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResourceMonitors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: fmt.Sprintf("ResourceMonitors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetLoadshedPoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("LoadshedPoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: fmt.Sprintf("LoadshedPoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: fmt.Sprintf("LoadshedPoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetBufferFactoryConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "BufferFactoryConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OverloadManagerValidationError{ field: "BufferFactoryConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferFactoryConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OverloadManagerValidationError{ field: "BufferFactoryConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OverloadManagerMultiError(errors) } return nil } // OverloadManagerMultiError is an error wrapping multiple validation errors // returned by OverloadManager.ValidateAll() if the designated constraints // aren't met. type OverloadManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OverloadManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OverloadManagerMultiError) AllErrors() []error { return m } // OverloadManagerValidationError is the validation error returned by // OverloadManager.Validate if the designated constraints aren't met. type OverloadManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OverloadManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OverloadManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OverloadManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OverloadManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OverloadManagerValidationError) ErrorName() string { return "OverloadManagerValidationError" } // Error satisfies the builtin error interface func (e OverloadManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOverloadManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OverloadManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OverloadManagerValidationError{} // Validate checks the field values on // ScaleTimersOverloadActionConfig_ScaleTimer with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScaleTimersOverloadActionConfig_ScaleTimer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScaleTimersOverloadActionConfig_ScaleTimer with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ScaleTimersOverloadActionConfig_ScaleTimerMultiError, or nil if none found. func (m *ScaleTimersOverloadActionConfig_ScaleTimer) ValidateAll() error { return m.validate(true) } func (m *ScaleTimersOverloadActionConfig_ScaleTimer) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := _ScaleTimersOverloadActionConfig_ScaleTimer_Timer_NotInLookup[m.GetTimer()]; ok { err := ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "Timer", reason: "value must not be in list [UNSPECIFIED]", } if !all { return err } errors = append(errors, err) } if _, ok := ScaleTimersOverloadActionConfig_TimerType_name[int32(m.GetTimer())]; !ok { err := ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "Timer", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofOverloadAdjustPresent := false switch v := m.OverloadAdjust.(type) { case *ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout: if v == nil { err := ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "OverloadAdjust", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverloadAdjustPresent = true if all { switch v := interface{}(m.GetMinTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinTimeout", reason: "embedded message failed validation", cause: err, } } } case *ScaleTimersOverloadActionConfig_ScaleTimer_MinScale: if v == nil { err := ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "OverloadAdjust", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverloadAdjustPresent = true if all { switch v := interface{}(m.GetMinScale()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinScale", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinScale", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinScale()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "MinScale", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverloadAdjustPresent { err := ScaleTimersOverloadActionConfig_ScaleTimerValidationError{ field: "OverloadAdjust", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScaleTimersOverloadActionConfig_ScaleTimerMultiError(errors) } return nil } // ScaleTimersOverloadActionConfig_ScaleTimerMultiError is an error wrapping // multiple validation errors returned by // ScaleTimersOverloadActionConfig_ScaleTimer.ValidateAll() if the designated // constraints aren't met. type ScaleTimersOverloadActionConfig_ScaleTimerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScaleTimersOverloadActionConfig_ScaleTimerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScaleTimersOverloadActionConfig_ScaleTimerMultiError) AllErrors() []error { return m } // ScaleTimersOverloadActionConfig_ScaleTimerValidationError is the validation // error returned by ScaleTimersOverloadActionConfig_ScaleTimer.Validate if // the designated constraints aren't met. type ScaleTimersOverloadActionConfig_ScaleTimerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) ErrorName() string { return "ScaleTimersOverloadActionConfig_ScaleTimerValidationError" } // Error satisfies the builtin error interface func (e ScaleTimersOverloadActionConfig_ScaleTimerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScaleTimersOverloadActionConfig_ScaleTimer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScaleTimersOverloadActionConfig_ScaleTimerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScaleTimersOverloadActionConfig_ScaleTimerValidationError{} var _ScaleTimersOverloadActionConfig_ScaleTimer_Timer_NotInLookup = map[ScaleTimersOverloadActionConfig_TimerType]struct{}{ 0: {}, } go-control-plane-0.12.0/envoy/config/ratelimit/000077500000000000000000000000001454502223200213505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/ratelimit/v2/000077500000000000000000000000001454502223200216775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/ratelimit/v2/rls.pb.go000077500000000000000000000166441454502223200234440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/ratelimit/v2/rls.proto package ratelimitv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Rate limit :ref:`configuration overview `. type RateLimitServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the gRPC service that hosts the rate limit service. The client // will connect to this cluster when it needs to make rate limit service // requests. GrpcService *core.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *RateLimitServiceConfig) Reset() { *x = RateLimitServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_ratelimit_v2_rls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitServiceConfig) ProtoMessage() {} func (x *RateLimitServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_ratelimit_v2_rls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitServiceConfig.ProtoReflect.Descriptor instead. func (*RateLimitServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_ratelimit_v2_rls_proto_rawDescGZIP(), []int{0} } func (x *RateLimitServiceConfig) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } var File_envoy_config_ratelimit_v2_rls_proto protoreflect.FileDescriptor var file_envoy_config_ratelimit_v2_rls_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x16, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x52, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_ratelimit_v2_rls_proto_rawDescOnce sync.Once file_envoy_config_ratelimit_v2_rls_proto_rawDescData = file_envoy_config_ratelimit_v2_rls_proto_rawDesc ) func file_envoy_config_ratelimit_v2_rls_proto_rawDescGZIP() []byte { file_envoy_config_ratelimit_v2_rls_proto_rawDescOnce.Do(func() { file_envoy_config_ratelimit_v2_rls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_ratelimit_v2_rls_proto_rawDescData) }) return file_envoy_config_ratelimit_v2_rls_proto_rawDescData } var file_envoy_config_ratelimit_v2_rls_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_ratelimit_v2_rls_proto_goTypes = []interface{}{ (*RateLimitServiceConfig)(nil), // 0: envoy.config.ratelimit.v2.RateLimitServiceConfig (*core.GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService } var file_envoy_config_ratelimit_v2_rls_proto_depIdxs = []int32{ 1, // 0: envoy.config.ratelimit.v2.RateLimitServiceConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_ratelimit_v2_rls_proto_init() } func file_envoy_config_ratelimit_v2_rls_proto_init() { if File_envoy_config_ratelimit_v2_rls_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_ratelimit_v2_rls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_ratelimit_v2_rls_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_ratelimit_v2_rls_proto_goTypes, DependencyIndexes: file_envoy_config_ratelimit_v2_rls_proto_depIdxs, MessageInfos: file_envoy_config_ratelimit_v2_rls_proto_msgTypes, }.Build() File_envoy_config_ratelimit_v2_rls_proto = out.File file_envoy_config_ratelimit_v2_rls_proto_rawDesc = nil file_envoy_config_ratelimit_v2_rls_proto_goTypes = nil file_envoy_config_ratelimit_v2_rls_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/ratelimit/v2/rls.pb.validate.go000077500000000000000000000107551454502223200252310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/ratelimit/v2/rls.proto package ratelimitv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitServiceConfigMultiError, or nil if none found. func (m *RateLimitServiceConfig) ValidateAll() error { return m.validate(true) } func (m *RateLimitServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitServiceConfigMultiError(errors) } return nil } // RateLimitServiceConfigMultiError is an error wrapping multiple validation // errors returned by RateLimitServiceConfig.ValidateAll() if the designated // constraints aren't met. type RateLimitServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitServiceConfigMultiError) AllErrors() []error { return m } // RateLimitServiceConfigValidationError is the validation error returned by // RateLimitServiceConfig.Validate if the designated constraints aren't met. type RateLimitServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitServiceConfigValidationError) ErrorName() string { return "RateLimitServiceConfigValidationError" } // Error satisfies the builtin error interface func (e RateLimitServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/ratelimit/v3/000077500000000000000000000000001454502223200217005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/ratelimit/v3/rls.pb.go000077500000000000000000000227611454502223200234420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/ratelimit/v3/rls.proto package ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Rate limit :ref:`configuration overview `. type RateLimitServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the gRPC service that hosts the rate limit service. The client // will connect to this cluster when it needs to make rate limit service // requests. GrpcService *v3.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // API version for rate limit transport protocol. This describes the rate limit gRPC endpoint and // version of messages used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,4,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` } func (x *RateLimitServiceConfig) Reset() { *x = RateLimitServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_ratelimit_v3_rls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitServiceConfig) ProtoMessage() {} func (x *RateLimitServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_ratelimit_v3_rls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitServiceConfig.ProtoReflect.Descriptor instead. func (*RateLimitServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_ratelimit_v3_rls_proto_rawDescGZIP(), []int{0} } func (x *RateLimitServiceConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *RateLimitServiceConfig) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } var File_envoy_config_ratelimit_v3_rls_proto protoreflect.FileDescriptor var file_envoy_config_ratelimit_v3_rls_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x16, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x52, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_ratelimit_v3_rls_proto_rawDescOnce sync.Once file_envoy_config_ratelimit_v3_rls_proto_rawDescData = file_envoy_config_ratelimit_v3_rls_proto_rawDesc ) func file_envoy_config_ratelimit_v3_rls_proto_rawDescGZIP() []byte { file_envoy_config_ratelimit_v3_rls_proto_rawDescOnce.Do(func() { file_envoy_config_ratelimit_v3_rls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_ratelimit_v3_rls_proto_rawDescData) }) return file_envoy_config_ratelimit_v3_rls_proto_rawDescData } var file_envoy_config_ratelimit_v3_rls_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_ratelimit_v3_rls_proto_goTypes = []interface{}{ (*RateLimitServiceConfig)(nil), // 0: envoy.config.ratelimit.v3.RateLimitServiceConfig (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 2: envoy.config.core.v3.ApiVersion } var file_envoy_config_ratelimit_v3_rls_proto_depIdxs = []int32{ 1, // 0: envoy.config.ratelimit.v3.RateLimitServiceConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 1: envoy.config.ratelimit.v3.RateLimitServiceConfig.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_ratelimit_v3_rls_proto_init() } func file_envoy_config_ratelimit_v3_rls_proto_init() { if File_envoy_config_ratelimit_v3_rls_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_ratelimit_v3_rls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_ratelimit_v3_rls_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_ratelimit_v3_rls_proto_goTypes, DependencyIndexes: file_envoy_config_ratelimit_v3_rls_proto_depIdxs, MessageInfos: file_envoy_config_ratelimit_v3_rls_proto_msgTypes, }.Build() File_envoy_config_ratelimit_v3_rls_proto = out.File file_envoy_config_ratelimit_v3_rls_proto_rawDesc = nil file_envoy_config_ratelimit_v3_rls_proto_goTypes = nil file_envoy_config_ratelimit_v3_rls_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/ratelimit/v3/rls.pb.validate.go000077500000000000000000000115431454502223200252260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/ratelimit/v3/rls.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on RateLimitServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitServiceConfigMultiError, or nil if none found. func (m *RateLimitServiceConfig) ValidateAll() error { return m.validate(true) } func (m *RateLimitServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := RateLimitServiceConfigValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitServiceConfigMultiError(errors) } return nil } // RateLimitServiceConfigMultiError is an error wrapping multiple validation // errors returned by RateLimitServiceConfig.ValidateAll() if the designated // constraints aren't met. type RateLimitServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitServiceConfigMultiError) AllErrors() []error { return m } // RateLimitServiceConfigValidationError is the validation error returned by // RateLimitServiceConfig.Validate if the designated constraints aren't met. type RateLimitServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitServiceConfigValidationError) ErrorName() string { return "RateLimitServiceConfigValidationError" } // Error satisfies the builtin error interface func (e RateLimitServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/rbac/000077500000000000000000000000001454502223200202655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/rbac/v2/000077500000000000000000000000001454502223200206145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/rbac/v2/rbac.pb.go000077500000000000000000001422531454502223200224640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/rbac/v2/rbac.proto package rbacv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" v1alpha1 "google.golang.org/genproto/googleapis/api/expr/v1alpha1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Should we do safe-list or block-list style access control? type RBAC_Action int32 const ( // The policies grant access to principals. The rest is denied. This is safe-list style // access control. This is the default type. RBAC_ALLOW RBAC_Action = 0 // The policies deny access to principals. The rest is allowed. This is block-list style // access control. RBAC_DENY RBAC_Action = 1 ) // Enum value maps for RBAC_Action. var ( RBAC_Action_name = map[int32]string{ 0: "ALLOW", 1: "DENY", } RBAC_Action_value = map[string]int32{ "ALLOW": 0, "DENY": 1, } ) func (x RBAC_Action) Enum() *RBAC_Action { p := new(RBAC_Action) *p = x return p } func (x RBAC_Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RBAC_Action) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_rbac_v2_rbac_proto_enumTypes[0].Descriptor() } func (RBAC_Action) Type() protoreflect.EnumType { return &file_envoy_config_rbac_v2_rbac_proto_enumTypes[0] } func (x RBAC_Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RBAC_Action.Descriptor instead. func (RBAC_Action) EnumDescriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{0, 0} } // Role Based Access Control (RBAC) provides service-level and method-level access control for a // service. RBAC policies are additive. The policies are examined in order. A request is allowed // once a matching policy is found (suppose the `action` is ALLOW). // // Here is an example of RBAC configuration. It has two policies: // // - Service account "cluster.local/ns/default/sa/admin" has full access to the service, and so // does "cluster.local/ns/default/sa/superuser". // // - Any user can read ("GET") the service at paths with prefix "/products", so long as the // destination port is either 80 or 443. // // .. code-block:: yaml // // action: ALLOW // policies: // "service-admin": // permissions: // // - any: true // principals: // // - authenticated: // principal_name: // exact: "cluster.local/ns/default/sa/admin" // // - authenticated: // principal_name: // exact: "cluster.local/ns/default/sa/superuser" // "product-viewer": // permissions: // // - and_rules: // rules: // // - header: { name: ":method", exact_match: "GET" } // // - url_path: // path: { prefix: "/products" } // // - or_rules: // rules: // // - destination_port: 80 // // - destination_port: 443 // principals: // // - any: true type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The action to take if a policy matches. The request is allowed if and only if: // // - `action` is "ALLOWED" and at least one policy matches // - `action` is "DENY" and none of the policies match Action RBAC_Action `protobuf:"varint,1,opt,name=action,proto3,enum=envoy.config.rbac.v2.RBAC_Action" json:"action,omitempty"` // Maps from policy name to policy. A match occurs when at least one policy matches the request. Policies map[string]*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetAction() RBAC_Action { if x != nil { return x.Action } return RBAC_ALLOW } func (x *RBAC) GetPolicies() map[string]*Policy { if x != nil { return x.Policies } return nil } // Policy specifies a role and the principals that are assigned/denied the role. A policy matches if // and only if at least one of its permissions match the action taking place AND at least one of its // principals match the downstream AND the condition is true if specified. type Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The set of permissions that define a role. Each permission is matched with OR // semantics. To match all actions for this policy, a single Permission with the `any` field set // to true should be used. Permissions []*Permission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` // Required. The set of principals that are assigned/denied the role based on “action”. Each // principal is matched with OR semantics. To match all downstreams for this policy, a single // Principal with the `any` field set to true should be used. Principals []*Principal `protobuf:"bytes,2,rep,name=principals,proto3" json:"principals,omitempty"` // An optional symbolic expression specifying an access control // :ref:`condition `. The condition is combined // with the permissions and the principals as a clause with AND semantics. Condition *v1alpha1.Expr `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` } func (x *Policy) Reset() { *x = Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{1} } func (x *Policy) GetPermissions() []*Permission { if x != nil { return x.Permissions } return nil } func (x *Policy) GetPrincipals() []*Principal { if x != nil { return x.Principals } return nil } func (x *Policy) GetCondition() *v1alpha1.Expr { if x != nil { return x.Condition } return nil } // Permission defines an action (or actions) that a principal can take. // [#next-free-field: 11] type Permission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *Permission_AndRules // *Permission_OrRules // *Permission_Any // *Permission_Header // *Permission_UrlPath // *Permission_DestinationIp // *Permission_DestinationPort // *Permission_Metadata // *Permission_NotRule // *Permission_RequestedServerName Rule isPermission_Rule `protobuf_oneof:"rule"` } func (x *Permission) Reset() { *x = Permission{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permission) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permission) ProtoMessage() {} func (x *Permission) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permission.ProtoReflect.Descriptor instead. func (*Permission) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{2} } func (m *Permission) GetRule() isPermission_Rule { if m != nil { return m.Rule } return nil } func (x *Permission) GetAndRules() *Permission_Set { if x, ok := x.GetRule().(*Permission_AndRules); ok { return x.AndRules } return nil } func (x *Permission) GetOrRules() *Permission_Set { if x, ok := x.GetRule().(*Permission_OrRules); ok { return x.OrRules } return nil } func (x *Permission) GetAny() bool { if x, ok := x.GetRule().(*Permission_Any); ok { return x.Any } return false } func (x *Permission) GetHeader() *route.HeaderMatcher { if x, ok := x.GetRule().(*Permission_Header); ok { return x.Header } return nil } func (x *Permission) GetUrlPath() *matcher.PathMatcher { if x, ok := x.GetRule().(*Permission_UrlPath); ok { return x.UrlPath } return nil } func (x *Permission) GetDestinationIp() *core.CidrRange { if x, ok := x.GetRule().(*Permission_DestinationIp); ok { return x.DestinationIp } return nil } func (x *Permission) GetDestinationPort() uint32 { if x, ok := x.GetRule().(*Permission_DestinationPort); ok { return x.DestinationPort } return 0 } func (x *Permission) GetMetadata() *matcher.MetadataMatcher { if x, ok := x.GetRule().(*Permission_Metadata); ok { return x.Metadata } return nil } func (x *Permission) GetNotRule() *Permission { if x, ok := x.GetRule().(*Permission_NotRule); ok { return x.NotRule } return nil } func (x *Permission) GetRequestedServerName() *matcher.StringMatcher { if x, ok := x.GetRule().(*Permission_RequestedServerName); ok { return x.RequestedServerName } return nil } type isPermission_Rule interface { isPermission_Rule() } type Permission_AndRules struct { // A set of rules that all must match in order to define the action. AndRules *Permission_Set `protobuf:"bytes,1,opt,name=and_rules,json=andRules,proto3,oneof"` } type Permission_OrRules struct { // A set of rules where at least one must match in order to define the action. OrRules *Permission_Set `protobuf:"bytes,2,opt,name=or_rules,json=orRules,proto3,oneof"` } type Permission_Any struct { // When any is set, it matches any action. Any bool `protobuf:"varint,3,opt,name=any,proto3,oneof"` } type Permission_Header struct { // A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only // available for HTTP request. // Note: the pseudo-header :path includes the query and fragment string. Use the `url_path` // field if you want to match the URL path without the query and fragment string. Header *route.HeaderMatcher `protobuf:"bytes,4,opt,name=header,proto3,oneof"` } type Permission_UrlPath struct { // A URL path on the incoming HTTP request. Only available for HTTP. UrlPath *matcher.PathMatcher `protobuf:"bytes,10,opt,name=url_path,json=urlPath,proto3,oneof"` } type Permission_DestinationIp struct { // A CIDR block that describes the destination IP. DestinationIp *core.CidrRange `protobuf:"bytes,5,opt,name=destination_ip,json=destinationIp,proto3,oneof"` } type Permission_DestinationPort struct { // A port number that describes the destination port connecting to. DestinationPort uint32 `protobuf:"varint,6,opt,name=destination_port,json=destinationPort,proto3,oneof"` } type Permission_Metadata struct { // Metadata that describes additional information about the action. Metadata *matcher.MetadataMatcher `protobuf:"bytes,7,opt,name=metadata,proto3,oneof"` } type Permission_NotRule struct { // Negates matching the provided permission. For instance, if the value of `not_rule` would // match, this permission would not match. Conversely, if the value of `not_rule` would not // match, this permission would match. NotRule *Permission `protobuf:"bytes,8,opt,name=not_rule,json=notRule,proto3,oneof"` } type Permission_RequestedServerName struct { // The request server from the client's connection request. This is // typically TLS SNI. // // .. attention:: // // The behavior of this field may be affected by how Envoy is configured // as explained below. // // * If the :ref:`TLS Inspector ` // filter is not added, and if a `FilterChainMatch` is not defined for // the :ref:`server name `, // a TLS connection's requested SNI server name will be treated as if it // wasn't present. // // * A :ref:`listener filter ` may // overwrite a connection's requested server name within Envoy. // // Please refer to :ref:`this FAQ entry ` to learn to // setup SNI. RequestedServerName *matcher.StringMatcher `protobuf:"bytes,9,opt,name=requested_server_name,json=requestedServerName,proto3,oneof"` } func (*Permission_AndRules) isPermission_Rule() {} func (*Permission_OrRules) isPermission_Rule() {} func (*Permission_Any) isPermission_Rule() {} func (*Permission_Header) isPermission_Rule() {} func (*Permission_UrlPath) isPermission_Rule() {} func (*Permission_DestinationIp) isPermission_Rule() {} func (*Permission_DestinationPort) isPermission_Rule() {} func (*Permission_Metadata) isPermission_Rule() {} func (*Permission_NotRule) isPermission_Rule() {} func (*Permission_RequestedServerName) isPermission_Rule() {} // Principal defines an identity or a group of identities for a downstream subject. // [#next-free-field: 12] type Principal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Identifier: // // *Principal_AndIds // *Principal_OrIds // *Principal_Any // *Principal_Authenticated_ // *Principal_SourceIp // *Principal_DirectRemoteIp // *Principal_RemoteIp // *Principal_Header // *Principal_UrlPath // *Principal_Metadata // *Principal_NotId Identifier isPrincipal_Identifier `protobuf_oneof:"identifier"` } func (x *Principal) Reset() { *x = Principal{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal) ProtoMessage() {} func (x *Principal) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal.ProtoReflect.Descriptor instead. func (*Principal) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{3} } func (m *Principal) GetIdentifier() isPrincipal_Identifier { if m != nil { return m.Identifier } return nil } func (x *Principal) GetAndIds() *Principal_Set { if x, ok := x.GetIdentifier().(*Principal_AndIds); ok { return x.AndIds } return nil } func (x *Principal) GetOrIds() *Principal_Set { if x, ok := x.GetIdentifier().(*Principal_OrIds); ok { return x.OrIds } return nil } func (x *Principal) GetAny() bool { if x, ok := x.GetIdentifier().(*Principal_Any); ok { return x.Any } return false } func (x *Principal) GetAuthenticated() *Principal_Authenticated { if x, ok := x.GetIdentifier().(*Principal_Authenticated_); ok { return x.Authenticated } return nil } // Deprecated: Marked as deprecated in envoy/config/rbac/v2/rbac.proto. func (x *Principal) GetSourceIp() *core.CidrRange { if x, ok := x.GetIdentifier().(*Principal_SourceIp); ok { return x.SourceIp } return nil } func (x *Principal) GetDirectRemoteIp() *core.CidrRange { if x, ok := x.GetIdentifier().(*Principal_DirectRemoteIp); ok { return x.DirectRemoteIp } return nil } func (x *Principal) GetRemoteIp() *core.CidrRange { if x, ok := x.GetIdentifier().(*Principal_RemoteIp); ok { return x.RemoteIp } return nil } func (x *Principal) GetHeader() *route.HeaderMatcher { if x, ok := x.GetIdentifier().(*Principal_Header); ok { return x.Header } return nil } func (x *Principal) GetUrlPath() *matcher.PathMatcher { if x, ok := x.GetIdentifier().(*Principal_UrlPath); ok { return x.UrlPath } return nil } func (x *Principal) GetMetadata() *matcher.MetadataMatcher { if x, ok := x.GetIdentifier().(*Principal_Metadata); ok { return x.Metadata } return nil } func (x *Principal) GetNotId() *Principal { if x, ok := x.GetIdentifier().(*Principal_NotId); ok { return x.NotId } return nil } type isPrincipal_Identifier interface { isPrincipal_Identifier() } type Principal_AndIds struct { // A set of identifiers that all must match in order to define the downstream. AndIds *Principal_Set `protobuf:"bytes,1,opt,name=and_ids,json=andIds,proto3,oneof"` } type Principal_OrIds struct { // A set of identifiers at least one must match in order to define the downstream. OrIds *Principal_Set `protobuf:"bytes,2,opt,name=or_ids,json=orIds,proto3,oneof"` } type Principal_Any struct { // When any is set, it matches any downstream. Any bool `protobuf:"varint,3,opt,name=any,proto3,oneof"` } type Principal_Authenticated_ struct { // Authenticated attributes that identify the downstream. Authenticated *Principal_Authenticated `protobuf:"bytes,4,opt,name=authenticated,proto3,oneof"` } type Principal_SourceIp struct { // A CIDR block that describes the downstream IP. // This address will honor proxy protocol, but will not honor XFF. // // Deprecated: Marked as deprecated in envoy/config/rbac/v2/rbac.proto. SourceIp *core.CidrRange `protobuf:"bytes,5,opt,name=source_ip,json=sourceIp,proto3,oneof"` } type Principal_DirectRemoteIp struct { // A CIDR block that describes the downstream remote/origin address. // Note: This is always the physical peer even if the // :ref:`remote_ip ` is inferred // from for example the x-forwarder-for header, proxy protocol, etc. DirectRemoteIp *core.CidrRange `protobuf:"bytes,10,opt,name=direct_remote_ip,json=directRemoteIp,proto3,oneof"` } type Principal_RemoteIp struct { // A CIDR block that describes the downstream remote/origin address. // Note: This may not be the physical peer and could be different from the // :ref:`direct_remote_ip `. // E.g, if the remote ip is inferred from for example the x-forwarder-for header, // proxy protocol, etc. RemoteIp *core.CidrRange `protobuf:"bytes,11,opt,name=remote_ip,json=remoteIp,proto3,oneof"` } type Principal_Header struct { // A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only // available for HTTP request. // Note: the pseudo-header :path includes the query and fragment string. Use the `url_path` // field if you want to match the URL path without the query and fragment string. Header *route.HeaderMatcher `protobuf:"bytes,6,opt,name=header,proto3,oneof"` } type Principal_UrlPath struct { // A URL path on the incoming HTTP request. Only available for HTTP. UrlPath *matcher.PathMatcher `protobuf:"bytes,9,opt,name=url_path,json=urlPath,proto3,oneof"` } type Principal_Metadata struct { // Metadata that describes additional information about the principal. Metadata *matcher.MetadataMatcher `protobuf:"bytes,7,opt,name=metadata,proto3,oneof"` } type Principal_NotId struct { // Negates matching the provided principal. For instance, if the value of `not_id` would match, // this principal would not match. Conversely, if the value of `not_id` would not match, this // principal would match. NotId *Principal `protobuf:"bytes,8,opt,name=not_id,json=notId,proto3,oneof"` } func (*Principal_AndIds) isPrincipal_Identifier() {} func (*Principal_OrIds) isPrincipal_Identifier() {} func (*Principal_Any) isPrincipal_Identifier() {} func (*Principal_Authenticated_) isPrincipal_Identifier() {} func (*Principal_SourceIp) isPrincipal_Identifier() {} func (*Principal_DirectRemoteIp) isPrincipal_Identifier() {} func (*Principal_RemoteIp) isPrincipal_Identifier() {} func (*Principal_Header) isPrincipal_Identifier() {} func (*Principal_UrlPath) isPrincipal_Identifier() {} func (*Principal_Metadata) isPrincipal_Identifier() {} func (*Principal_NotId) isPrincipal_Identifier() {} // Used in the `and_rules` and `or_rules` fields in the `rule` oneof. Depending on the context, // each are applied with the associated behavior. type Permission_Set struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rules []*Permission `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *Permission_Set) Reset() { *x = Permission_Set{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permission_Set) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permission_Set) ProtoMessage() {} func (x *Permission_Set) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permission_Set.ProtoReflect.Descriptor instead. func (*Permission_Set) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{2, 0} } func (x *Permission_Set) GetRules() []*Permission { if x != nil { return x.Rules } return nil } // Used in the `and_ids` and `or_ids` fields in the `identifier` oneof. Depending on the context, // each are applied with the associated behavior. type Principal_Set struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []*Principal `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } func (x *Principal_Set) Reset() { *x = Principal_Set{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal_Set) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal_Set) ProtoMessage() {} func (x *Principal_Set) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal_Set.ProtoReflect.Descriptor instead. func (*Principal_Set) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{3, 0} } func (x *Principal_Set) GetIds() []*Principal { if x != nil { return x.Ids } return nil } // Authentication attributes for a downstream. type Principal_Authenticated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the principal. If set, The URI SAN or DNS SAN in that order is used from the // certificate, otherwise the subject field is used. If unset, it applies to any user that is // authenticated. PrincipalName *matcher.StringMatcher `protobuf:"bytes,2,opt,name=principal_name,json=principalName,proto3" json:"principal_name,omitempty"` } func (x *Principal_Authenticated) Reset() { *x = Principal_Authenticated{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal_Authenticated) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal_Authenticated) ProtoMessage() {} func (x *Principal_Authenticated) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v2_rbac_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal_Authenticated.ProtoReflect.Descriptor instead. func (*Principal_Authenticated) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP(), []int{3, 1} } func (x *Principal_Authenticated) GetPrincipalName() *matcher.StringMatcher { if x != nil { return x.PrincipalName } return nil } var File_envoy_config_rbac_v2_rbac_proto protoreflect.FileDescriptor var file_envoy_config_rbac_v2_rbac_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x59, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x22, 0xdf, 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4c, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdc, 0x05, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x12, 0x36, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf5, 0x06, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x55, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x48, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x64, 0x1a, 0x42, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x69, 0x64, 0x73, 0x1a, 0x5f, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x11, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x7d, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_rbac_v2_rbac_proto_rawDescOnce sync.Once file_envoy_config_rbac_v2_rbac_proto_rawDescData = file_envoy_config_rbac_v2_rbac_proto_rawDesc ) func file_envoy_config_rbac_v2_rbac_proto_rawDescGZIP() []byte { file_envoy_config_rbac_v2_rbac_proto_rawDescOnce.Do(func() { file_envoy_config_rbac_v2_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_rbac_v2_rbac_proto_rawDescData) }) return file_envoy_config_rbac_v2_rbac_proto_rawDescData } var file_envoy_config_rbac_v2_rbac_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_rbac_v2_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_config_rbac_v2_rbac_proto_goTypes = []interface{}{ (RBAC_Action)(0), // 0: envoy.config.rbac.v2.RBAC.Action (*RBAC)(nil), // 1: envoy.config.rbac.v2.RBAC (*Policy)(nil), // 2: envoy.config.rbac.v2.Policy (*Permission)(nil), // 3: envoy.config.rbac.v2.Permission (*Principal)(nil), // 4: envoy.config.rbac.v2.Principal nil, // 5: envoy.config.rbac.v2.RBAC.PoliciesEntry (*Permission_Set)(nil), // 6: envoy.config.rbac.v2.Permission.Set (*Principal_Set)(nil), // 7: envoy.config.rbac.v2.Principal.Set (*Principal_Authenticated)(nil), // 8: envoy.config.rbac.v2.Principal.Authenticated (*v1alpha1.Expr)(nil), // 9: google.api.expr.v1alpha1.Expr (*route.HeaderMatcher)(nil), // 10: envoy.api.v2.route.HeaderMatcher (*matcher.PathMatcher)(nil), // 11: envoy.type.matcher.PathMatcher (*core.CidrRange)(nil), // 12: envoy.api.v2.core.CidrRange (*matcher.MetadataMatcher)(nil), // 13: envoy.type.matcher.MetadataMatcher (*matcher.StringMatcher)(nil), // 14: envoy.type.matcher.StringMatcher } var file_envoy_config_rbac_v2_rbac_proto_depIdxs = []int32{ 0, // 0: envoy.config.rbac.v2.RBAC.action:type_name -> envoy.config.rbac.v2.RBAC.Action 5, // 1: envoy.config.rbac.v2.RBAC.policies:type_name -> envoy.config.rbac.v2.RBAC.PoliciesEntry 3, // 2: envoy.config.rbac.v2.Policy.permissions:type_name -> envoy.config.rbac.v2.Permission 4, // 3: envoy.config.rbac.v2.Policy.principals:type_name -> envoy.config.rbac.v2.Principal 9, // 4: envoy.config.rbac.v2.Policy.condition:type_name -> google.api.expr.v1alpha1.Expr 6, // 5: envoy.config.rbac.v2.Permission.and_rules:type_name -> envoy.config.rbac.v2.Permission.Set 6, // 6: envoy.config.rbac.v2.Permission.or_rules:type_name -> envoy.config.rbac.v2.Permission.Set 10, // 7: envoy.config.rbac.v2.Permission.header:type_name -> envoy.api.v2.route.HeaderMatcher 11, // 8: envoy.config.rbac.v2.Permission.url_path:type_name -> envoy.type.matcher.PathMatcher 12, // 9: envoy.config.rbac.v2.Permission.destination_ip:type_name -> envoy.api.v2.core.CidrRange 13, // 10: envoy.config.rbac.v2.Permission.metadata:type_name -> envoy.type.matcher.MetadataMatcher 3, // 11: envoy.config.rbac.v2.Permission.not_rule:type_name -> envoy.config.rbac.v2.Permission 14, // 12: envoy.config.rbac.v2.Permission.requested_server_name:type_name -> envoy.type.matcher.StringMatcher 7, // 13: envoy.config.rbac.v2.Principal.and_ids:type_name -> envoy.config.rbac.v2.Principal.Set 7, // 14: envoy.config.rbac.v2.Principal.or_ids:type_name -> envoy.config.rbac.v2.Principal.Set 8, // 15: envoy.config.rbac.v2.Principal.authenticated:type_name -> envoy.config.rbac.v2.Principal.Authenticated 12, // 16: envoy.config.rbac.v2.Principal.source_ip:type_name -> envoy.api.v2.core.CidrRange 12, // 17: envoy.config.rbac.v2.Principal.direct_remote_ip:type_name -> envoy.api.v2.core.CidrRange 12, // 18: envoy.config.rbac.v2.Principal.remote_ip:type_name -> envoy.api.v2.core.CidrRange 10, // 19: envoy.config.rbac.v2.Principal.header:type_name -> envoy.api.v2.route.HeaderMatcher 11, // 20: envoy.config.rbac.v2.Principal.url_path:type_name -> envoy.type.matcher.PathMatcher 13, // 21: envoy.config.rbac.v2.Principal.metadata:type_name -> envoy.type.matcher.MetadataMatcher 4, // 22: envoy.config.rbac.v2.Principal.not_id:type_name -> envoy.config.rbac.v2.Principal 2, // 23: envoy.config.rbac.v2.RBAC.PoliciesEntry.value:type_name -> envoy.config.rbac.v2.Policy 3, // 24: envoy.config.rbac.v2.Permission.Set.rules:type_name -> envoy.config.rbac.v2.Permission 4, // 25: envoy.config.rbac.v2.Principal.Set.ids:type_name -> envoy.config.rbac.v2.Principal 14, // 26: envoy.config.rbac.v2.Principal.Authenticated.principal_name:type_name -> envoy.type.matcher.StringMatcher 27, // [27:27] is the sub-list for method output_type 27, // [27:27] is the sub-list for method input_type 27, // [27:27] is the sub-list for extension type_name 27, // [27:27] is the sub-list for extension extendee 0, // [0:27] is the sub-list for field type_name } func init() { file_envoy_config_rbac_v2_rbac_proto_init() } func file_envoy_config_rbac_v2_rbac_proto_init() { if File_envoy_config_rbac_v2_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_rbac_v2_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permission); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permission_Set); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal_Set); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal_Authenticated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_rbac_v2_rbac_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Permission_AndRules)(nil), (*Permission_OrRules)(nil), (*Permission_Any)(nil), (*Permission_Header)(nil), (*Permission_UrlPath)(nil), (*Permission_DestinationIp)(nil), (*Permission_DestinationPort)(nil), (*Permission_Metadata)(nil), (*Permission_NotRule)(nil), (*Permission_RequestedServerName)(nil), } file_envoy_config_rbac_v2_rbac_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Principal_AndIds)(nil), (*Principal_OrIds)(nil), (*Principal_Any)(nil), (*Principal_Authenticated_)(nil), (*Principal_SourceIp)(nil), (*Principal_DirectRemoteIp)(nil), (*Principal_RemoteIp)(nil), (*Principal_Header)(nil), (*Principal_UrlPath)(nil), (*Principal_Metadata)(nil), (*Principal_NotId)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_rbac_v2_rbac_proto_rawDesc, NumEnums: 1, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_rbac_v2_rbac_proto_goTypes, DependencyIndexes: file_envoy_config_rbac_v2_rbac_proto_depIdxs, EnumInfos: file_envoy_config_rbac_v2_rbac_proto_enumTypes, MessageInfos: file_envoy_config_rbac_v2_rbac_proto_msgTypes, }.Build() File_envoy_config_rbac_v2_rbac_proto = out.File file_envoy_config_rbac_v2_rbac_proto_rawDesc = nil file_envoy_config_rbac_v2_rbac_proto_goTypes = nil file_envoy_config_rbac_v2_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/rbac/v2/rbac.pb.validate.go000077500000000000000000001370531454502223200242560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/rbac/v2/rbac.proto package rbacv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Action { sorted_keys := make([]string, len(m.GetPolicies())) i := 0 for key := range m.GetPolicies() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPolicies()[key] _ = val // no validation rules for Policies[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} // Validate checks the field values on Policy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Policy with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PolicyMultiError, or nil if none found. func (m *Policy) ValidateAll() error { return m.validate(true) } func (m *Policy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPermissions()) < 1 { err := PolicyValidationError{ field: "Permissions", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPermissions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetPrincipals()) < 1 { err := PolicyValidationError{ field: "Principals", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPrincipals() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetCondition()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCondition()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PolicyMultiError(errors) } return nil } // PolicyMultiError is an error wrapping multiple validation errors returned by // Policy.ValidateAll() if the designated constraints aren't met. type PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PolicyMultiError) AllErrors() []error { return m } // PolicyValidationError is the validation error returned by Policy.Validate if // the designated constraints aren't met. type PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PolicyValidationError) ErrorName() string { return "PolicyValidationError" } // Error satisfies the builtin error interface func (e PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PolicyValidationError{} // Validate checks the field values on Permission with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Permission) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Permission with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PermissionMultiError, or // nil if none found. func (m *Permission) ValidateAll() error { return m.validate(true) } func (m *Permission) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *Permission_AndRules: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, } } } case *Permission_OrRules: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, } } } case *Permission_Any: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAny() != true { err := PermissionValidationError{ field: "Any", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *Permission_Header: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *Permission_UrlPath: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetUrlPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUrlPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, } } } case *Permission_DestinationIp: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetDestinationIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, } } } case *Permission_DestinationPort: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetDestinationPort() > 65535 { err := PermissionValidationError{ field: "DestinationPort", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } case *Permission_Metadata: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *Permission_NotRule: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotRule()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotRule()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, } } } case *Permission_RequestedServerName: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetRequestedServerName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestedServerName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := PermissionValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PermissionMultiError(errors) } return nil } // PermissionMultiError is an error wrapping multiple validation errors // returned by Permission.ValidateAll() if the designated constraints aren't met. type PermissionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PermissionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PermissionMultiError) AllErrors() []error { return m } // PermissionValidationError is the validation error returned by // Permission.Validate if the designated constraints aren't met. type PermissionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PermissionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PermissionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PermissionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PermissionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PermissionValidationError) ErrorName() string { return "PermissionValidationError" } // Error satisfies the builtin error interface func (e PermissionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPermission.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PermissionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PermissionValidationError{} // Validate checks the field values on Principal with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Principal) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PrincipalMultiError, or nil // if none found. func (m *Principal) ValidateAll() error { return m.validate(true) } func (m *Principal) validate(all bool) error { if m == nil { return nil } var errors []error oneofIdentifierPresent := false switch v := m.Identifier.(type) { case *Principal_AndIds: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetAndIds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndIds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, } } } case *Principal_OrIds: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetOrIds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrIds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, } } } case *Principal_Any: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if m.GetAny() != true { err := PrincipalValidationError{ field: "Any", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *Principal_Authenticated_: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetAuthenticated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthenticated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, } } } case *Principal_SourceIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetSourceIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_DirectRemoteIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetDirectRemoteIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDirectRemoteIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_RemoteIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetRemoteIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_Header: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *Principal_UrlPath: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetUrlPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUrlPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, } } } case *Principal_Metadata: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *Principal_NotId: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetNotId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofIdentifierPresent { err := PrincipalValidationError{ field: "Identifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PrincipalMultiError(errors) } return nil } // PrincipalMultiError is an error wrapping multiple validation errors returned // by Principal.ValidateAll() if the designated constraints aren't met. type PrincipalMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PrincipalMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PrincipalMultiError) AllErrors() []error { return m } // PrincipalValidationError is the validation error returned by // Principal.Validate if the designated constraints aren't met. type PrincipalValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PrincipalValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PrincipalValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PrincipalValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PrincipalValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PrincipalValidationError) ErrorName() string { return "PrincipalValidationError" } // Error satisfies the builtin error interface func (e PrincipalValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PrincipalValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PrincipalValidationError{} // Validate checks the field values on Permission_Set with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Permission_Set) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Permission_Set with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Permission_SetMultiError, // or nil if none found. func (m *Permission_Set) ValidateAll() error { return m.validate(true) } func (m *Permission_Set) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 1 { err := Permission_SetValidationError{ field: "Rules", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Permission_SetMultiError(errors) } return nil } // Permission_SetMultiError is an error wrapping multiple validation errors // returned by Permission_Set.ValidateAll() if the designated constraints // aren't met. type Permission_SetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Permission_SetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Permission_SetMultiError) AllErrors() []error { return m } // Permission_SetValidationError is the validation error returned by // Permission_Set.Validate if the designated constraints aren't met. type Permission_SetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Permission_SetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Permission_SetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Permission_SetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Permission_SetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Permission_SetValidationError) ErrorName() string { return "Permission_SetValidationError" } // Error satisfies the builtin error interface func (e Permission_SetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPermission_Set.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Permission_SetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Permission_SetValidationError{} // Validate checks the field values on Principal_Set with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Principal_Set) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal_Set with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Principal_SetMultiError, or // nil if none found. func (m *Principal_Set) ValidateAll() error { return m.validate(true) } func (m *Principal_Set) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetIds()) < 1 { err := Principal_SetValidationError{ field: "Ids", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetIds() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Principal_SetMultiError(errors) } return nil } // Principal_SetMultiError is an error wrapping multiple validation errors // returned by Principal_Set.ValidateAll() if the designated constraints // aren't met. type Principal_SetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Principal_SetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Principal_SetMultiError) AllErrors() []error { return m } // Principal_SetValidationError is the validation error returned by // Principal_Set.Validate if the designated constraints aren't met. type Principal_SetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Principal_SetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Principal_SetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Principal_SetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Principal_SetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Principal_SetValidationError) ErrorName() string { return "Principal_SetValidationError" } // Error satisfies the builtin error interface func (e Principal_SetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal_Set.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Principal_SetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Principal_SetValidationError{} // Validate checks the field values on Principal_Authenticated with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Principal_Authenticated) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal_Authenticated with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Principal_AuthenticatedMultiError, or nil if none found. func (m *Principal_Authenticated) ValidateAll() error { return m.validate(true) } func (m *Principal_Authenticated) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPrincipalName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrincipalName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Principal_AuthenticatedMultiError(errors) } return nil } // Principal_AuthenticatedMultiError is an error wrapping multiple validation // errors returned by Principal_Authenticated.ValidateAll() if the designated // constraints aren't met. type Principal_AuthenticatedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Principal_AuthenticatedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Principal_AuthenticatedMultiError) AllErrors() []error { return m } // Principal_AuthenticatedValidationError is the validation error returned by // Principal_Authenticated.Validate if the designated constraints aren't met. type Principal_AuthenticatedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Principal_AuthenticatedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Principal_AuthenticatedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Principal_AuthenticatedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Principal_AuthenticatedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Principal_AuthenticatedValidationError) ErrorName() string { return "Principal_AuthenticatedValidationError" } // Error satisfies the builtin error interface func (e Principal_AuthenticatedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal_Authenticated.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Principal_AuthenticatedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Principal_AuthenticatedValidationError{} go-control-plane-0.12.0/envoy/config/rbac/v3/000077500000000000000000000000001454502223200206155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/rbac/v3/rbac.pb.go000077500000000000000000002240041454502223200224600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/rbac/v3/rbac.proto package rbacv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" v1alpha1 "google.golang.org/genproto/googleapis/api/expr/v1alpha1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Should we do safe-list or block-list style access control? type RBAC_Action int32 const ( // The policies grant access to principals. The rest are denied. This is safe-list style // access control. This is the default type. RBAC_ALLOW RBAC_Action = 0 // The policies deny access to principals. The rest are allowed. This is block-list style // access control. RBAC_DENY RBAC_Action = 1 // The policies set the “access_log_hint“ dynamic metadata key based on if requests match. // All requests are allowed. RBAC_LOG RBAC_Action = 2 ) // Enum value maps for RBAC_Action. var ( RBAC_Action_name = map[int32]string{ 0: "ALLOW", 1: "DENY", 2: "LOG", } RBAC_Action_value = map[string]int32{ "ALLOW": 0, "DENY": 1, "LOG": 2, } ) func (x RBAC_Action) Enum() *RBAC_Action { p := new(RBAC_Action) *p = x return p } func (x RBAC_Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RBAC_Action) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_rbac_v3_rbac_proto_enumTypes[0].Descriptor() } func (RBAC_Action) Type() protoreflect.EnumType { return &file_envoy_config_rbac_v3_rbac_proto_enumTypes[0] } func (x RBAC_Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RBAC_Action.Descriptor instead. func (RBAC_Action) EnumDescriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{0, 0} } // Deny and allow here refer to RBAC decisions, not actions. type RBAC_AuditLoggingOptions_AuditCondition int32 const ( // Never audit. RBAC_AuditLoggingOptions_NONE RBAC_AuditLoggingOptions_AuditCondition = 0 // Audit when RBAC denies the request. RBAC_AuditLoggingOptions_ON_DENY RBAC_AuditLoggingOptions_AuditCondition = 1 // Audit when RBAC allows the request. RBAC_AuditLoggingOptions_ON_ALLOW RBAC_AuditLoggingOptions_AuditCondition = 2 // Audit whether RBAC allows or denies the request. RBAC_AuditLoggingOptions_ON_DENY_AND_ALLOW RBAC_AuditLoggingOptions_AuditCondition = 3 ) // Enum value maps for RBAC_AuditLoggingOptions_AuditCondition. var ( RBAC_AuditLoggingOptions_AuditCondition_name = map[int32]string{ 0: "NONE", 1: "ON_DENY", 2: "ON_ALLOW", 3: "ON_DENY_AND_ALLOW", } RBAC_AuditLoggingOptions_AuditCondition_value = map[string]int32{ "NONE": 0, "ON_DENY": 1, "ON_ALLOW": 2, "ON_DENY_AND_ALLOW": 3, } ) func (x RBAC_AuditLoggingOptions_AuditCondition) Enum() *RBAC_AuditLoggingOptions_AuditCondition { p := new(RBAC_AuditLoggingOptions_AuditCondition) *p = x return p } func (x RBAC_AuditLoggingOptions_AuditCondition) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RBAC_AuditLoggingOptions_AuditCondition) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_rbac_v3_rbac_proto_enumTypes[1].Descriptor() } func (RBAC_AuditLoggingOptions_AuditCondition) Type() protoreflect.EnumType { return &file_envoy_config_rbac_v3_rbac_proto_enumTypes[1] } func (x RBAC_AuditLoggingOptions_AuditCondition) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RBAC_AuditLoggingOptions_AuditCondition.Descriptor instead. func (RBAC_AuditLoggingOptions_AuditCondition) EnumDescriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{0, 0, 0} } // Role Based Access Control (RBAC) provides service-level and method-level access control for a // service. Requests are allowed or denied based on the “action“ and whether a matching policy is // found. For instance, if the action is ALLOW and a matching policy is found the request should be // allowed. // // RBAC can also be used to make access logging decisions by communicating with access loggers // through dynamic metadata. When the action is LOG and at least one policy matches, the // “access_log_hint“ value in the shared key namespace 'envoy.common' is set to “true“ indicating // the request should be logged. // // Here is an example of RBAC configuration. It has two policies: // // - Service account “cluster.local/ns/default/sa/admin“ has full access to the service, and so // does "cluster.local/ns/default/sa/superuser". // // - Any user can read (“GET“) the service at paths with prefix “/products“, so long as the // destination port is either 80 or 443. // // .. code-block:: yaml // // action: ALLOW // policies: // "service-admin": // permissions: // // - any: true // principals: // // - authenticated: // principal_name: // exact: "cluster.local/ns/default/sa/admin" // // - authenticated: // principal_name: // exact: "cluster.local/ns/default/sa/superuser" // "product-viewer": // permissions: // // - and_rules: // rules: // // - header: // name: ":method" // string_match: // exact: "GET" // // - url_path: // path: { prefix: "/products" } // // - or_rules: // rules: // // - destination_port: 80 // // - destination_port: 443 // principals: // // - any: true type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The action to take if a policy matches. Every action either allows or denies a request, // and can also carry out action-specific operations. // // Actions: // // - “ALLOW“: Allows the request if and only if there is a policy that matches // the request. // - “DENY“: Allows the request if and only if there are no policies that // match the request. // - “LOG“: Allows all requests. If at least one policy matches, the dynamic // metadata key “access_log_hint“ is set to the value “true“ under the shared // key namespace “envoy.common“. If no policies match, it is set to “false“. // Other actions do not modify this key. Action RBAC_Action `protobuf:"varint,1,opt,name=action,proto3,enum=envoy.config.rbac.v3.RBAC_Action" json:"action,omitempty"` // Maps from policy name to policy. A match occurs when at least one policy matches the request. // The policies are evaluated in lexicographic order of the policy name. Policies map[string]*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Audit logging options that include the condition for audit logging to happen // and audit logger configurations. // // [#not-implemented-hide:] AuditLoggingOptions *RBAC_AuditLoggingOptions `protobuf:"bytes,3,opt,name=audit_logging_options,json=auditLoggingOptions,proto3" json:"audit_logging_options,omitempty"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetAction() RBAC_Action { if x != nil { return x.Action } return RBAC_ALLOW } func (x *RBAC) GetPolicies() map[string]*Policy { if x != nil { return x.Policies } return nil } func (x *RBAC) GetAuditLoggingOptions() *RBAC_AuditLoggingOptions { if x != nil { return x.AuditLoggingOptions } return nil } // Policy specifies a role and the principals that are assigned/denied the role. // A policy matches if and only if at least one of its permissions match the // action taking place AND at least one of its principals match the downstream // AND the condition is true if specified. type Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The set of permissions that define a role. Each permission is // matched with OR semantics. To match all actions for this policy, a single // Permission with the “any“ field set to true should be used. Permissions []*Permission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` // Required. The set of principals that are assigned/denied the role based on // “action”. Each principal is matched with OR semantics. To match all // downstreams for this policy, a single Principal with the “any“ field set to // true should be used. Principals []*Principal `protobuf:"bytes,2,rep,name=principals,proto3" json:"principals,omitempty"` // An optional symbolic expression specifying an access control // :ref:`condition `. The condition is combined // with the permissions and the principals as a clause with AND semantics. // Only be used when checked_condition is not used. Condition *v1alpha1.Expr `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` // [#not-implemented-hide:] // An optional symbolic expression that has been successfully type checked. // Only be used when condition is not used. CheckedCondition *v1alpha1.CheckedExpr `protobuf:"bytes,4,opt,name=checked_condition,json=checkedCondition,proto3" json:"checked_condition,omitempty"` } func (x *Policy) Reset() { *x = Policy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Policy) String() string { return protoimpl.X.MessageStringOf(x) } func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{1} } func (x *Policy) GetPermissions() []*Permission { if x != nil { return x.Permissions } return nil } func (x *Policy) GetPrincipals() []*Principal { if x != nil { return x.Principals } return nil } func (x *Policy) GetCondition() *v1alpha1.Expr { if x != nil { return x.Condition } return nil } func (x *Policy) GetCheckedCondition() *v1alpha1.CheckedExpr { if x != nil { return x.CheckedCondition } return nil } // Permission defines an action (or actions) that a principal can take. // [#next-free-field: 13] type Permission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *Permission_AndRules // *Permission_OrRules // *Permission_Any // *Permission_Header // *Permission_UrlPath // *Permission_DestinationIp // *Permission_DestinationPort // *Permission_DestinationPortRange // *Permission_Metadata // *Permission_NotRule // *Permission_RequestedServerName // *Permission_Matcher Rule isPermission_Rule `protobuf_oneof:"rule"` } func (x *Permission) Reset() { *x = Permission{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permission) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permission) ProtoMessage() {} func (x *Permission) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permission.ProtoReflect.Descriptor instead. func (*Permission) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{2} } func (m *Permission) GetRule() isPermission_Rule { if m != nil { return m.Rule } return nil } func (x *Permission) GetAndRules() *Permission_Set { if x, ok := x.GetRule().(*Permission_AndRules); ok { return x.AndRules } return nil } func (x *Permission) GetOrRules() *Permission_Set { if x, ok := x.GetRule().(*Permission_OrRules); ok { return x.OrRules } return nil } func (x *Permission) GetAny() bool { if x, ok := x.GetRule().(*Permission_Any); ok { return x.Any } return false } func (x *Permission) GetHeader() *v3.HeaderMatcher { if x, ok := x.GetRule().(*Permission_Header); ok { return x.Header } return nil } func (x *Permission) GetUrlPath() *v31.PathMatcher { if x, ok := x.GetRule().(*Permission_UrlPath); ok { return x.UrlPath } return nil } func (x *Permission) GetDestinationIp() *v32.CidrRange { if x, ok := x.GetRule().(*Permission_DestinationIp); ok { return x.DestinationIp } return nil } func (x *Permission) GetDestinationPort() uint32 { if x, ok := x.GetRule().(*Permission_DestinationPort); ok { return x.DestinationPort } return 0 } func (x *Permission) GetDestinationPortRange() *v33.Int32Range { if x, ok := x.GetRule().(*Permission_DestinationPortRange); ok { return x.DestinationPortRange } return nil } func (x *Permission) GetMetadata() *v31.MetadataMatcher { if x, ok := x.GetRule().(*Permission_Metadata); ok { return x.Metadata } return nil } func (x *Permission) GetNotRule() *Permission { if x, ok := x.GetRule().(*Permission_NotRule); ok { return x.NotRule } return nil } func (x *Permission) GetRequestedServerName() *v31.StringMatcher { if x, ok := x.GetRule().(*Permission_RequestedServerName); ok { return x.RequestedServerName } return nil } func (x *Permission) GetMatcher() *v32.TypedExtensionConfig { if x, ok := x.GetRule().(*Permission_Matcher); ok { return x.Matcher } return nil } type isPermission_Rule interface { isPermission_Rule() } type Permission_AndRules struct { // A set of rules that all must match in order to define the action. AndRules *Permission_Set `protobuf:"bytes,1,opt,name=and_rules,json=andRules,proto3,oneof"` } type Permission_OrRules struct { // A set of rules where at least one must match in order to define the action. OrRules *Permission_Set `protobuf:"bytes,2,opt,name=or_rules,json=orRules,proto3,oneof"` } type Permission_Any struct { // When any is set, it matches any action. Any bool `protobuf:"varint,3,opt,name=any,proto3,oneof"` } type Permission_Header struct { // A header (or pseudo-header such as :path or :method) on the incoming HTTP request. Only // available for HTTP request. // Note: the pseudo-header :path includes the query and fragment string. Use the “url_path“ // field if you want to match the URL path without the query and fragment string. Header *v3.HeaderMatcher `protobuf:"bytes,4,opt,name=header,proto3,oneof"` } type Permission_UrlPath struct { // A URL path on the incoming HTTP request. Only available for HTTP. UrlPath *v31.PathMatcher `protobuf:"bytes,10,opt,name=url_path,json=urlPath,proto3,oneof"` } type Permission_DestinationIp struct { // A CIDR block that describes the destination IP. DestinationIp *v32.CidrRange `protobuf:"bytes,5,opt,name=destination_ip,json=destinationIp,proto3,oneof"` } type Permission_DestinationPort struct { // A port number that describes the destination port connecting to. DestinationPort uint32 `protobuf:"varint,6,opt,name=destination_port,json=destinationPort,proto3,oneof"` } type Permission_DestinationPortRange struct { // A port number range that describes a range of destination ports connecting to. DestinationPortRange *v33.Int32Range `protobuf:"bytes,11,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"` } type Permission_Metadata struct { // Metadata that describes additional information about the action. Metadata *v31.MetadataMatcher `protobuf:"bytes,7,opt,name=metadata,proto3,oneof"` } type Permission_NotRule struct { // Negates matching the provided permission. For instance, if the value of // “not_rule“ would match, this permission would not match. Conversely, if // the value of “not_rule“ would not match, this permission would match. NotRule *Permission `protobuf:"bytes,8,opt,name=not_rule,json=notRule,proto3,oneof"` } type Permission_RequestedServerName struct { // The request server from the client's connection request. This is // typically TLS SNI. // // .. attention:: // // The behavior of this field may be affected by how Envoy is configured // as explained below. // // * If the :ref:`TLS Inspector ` // filter is not added, and if a ``FilterChainMatch`` is not defined for // the :ref:`server name // `, // a TLS connection's requested SNI server name will be treated as if it // wasn't present. // // * A :ref:`listener filter ` may // overwrite a connection's requested server name within Envoy. // // Please refer to :ref:`this FAQ entry ` to learn to // setup SNI. RequestedServerName *v31.StringMatcher `protobuf:"bytes,9,opt,name=requested_server_name,json=requestedServerName,proto3,oneof"` } type Permission_Matcher struct { // Extension for configuring custom matchers for RBAC. // [#extension-category: envoy.rbac.matchers] Matcher *v32.TypedExtensionConfig `protobuf:"bytes,12,opt,name=matcher,proto3,oneof"` } func (*Permission_AndRules) isPermission_Rule() {} func (*Permission_OrRules) isPermission_Rule() {} func (*Permission_Any) isPermission_Rule() {} func (*Permission_Header) isPermission_Rule() {} func (*Permission_UrlPath) isPermission_Rule() {} func (*Permission_DestinationIp) isPermission_Rule() {} func (*Permission_DestinationPort) isPermission_Rule() {} func (*Permission_DestinationPortRange) isPermission_Rule() {} func (*Permission_Metadata) isPermission_Rule() {} func (*Permission_NotRule) isPermission_Rule() {} func (*Permission_RequestedServerName) isPermission_Rule() {} func (*Permission_Matcher) isPermission_Rule() {} // Principal defines an identity or a group of identities for a downstream // subject. // [#next-free-field: 13] type Principal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Identifier: // // *Principal_AndIds // *Principal_OrIds // *Principal_Any // *Principal_Authenticated_ // *Principal_SourceIp // *Principal_DirectRemoteIp // *Principal_RemoteIp // *Principal_Header // *Principal_UrlPath // *Principal_Metadata // *Principal_FilterState // *Principal_NotId Identifier isPrincipal_Identifier `protobuf_oneof:"identifier"` } func (x *Principal) Reset() { *x = Principal{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal) ProtoMessage() {} func (x *Principal) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal.ProtoReflect.Descriptor instead. func (*Principal) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{3} } func (m *Principal) GetIdentifier() isPrincipal_Identifier { if m != nil { return m.Identifier } return nil } func (x *Principal) GetAndIds() *Principal_Set { if x, ok := x.GetIdentifier().(*Principal_AndIds); ok { return x.AndIds } return nil } func (x *Principal) GetOrIds() *Principal_Set { if x, ok := x.GetIdentifier().(*Principal_OrIds); ok { return x.OrIds } return nil } func (x *Principal) GetAny() bool { if x, ok := x.GetIdentifier().(*Principal_Any); ok { return x.Any } return false } func (x *Principal) GetAuthenticated() *Principal_Authenticated { if x, ok := x.GetIdentifier().(*Principal_Authenticated_); ok { return x.Authenticated } return nil } // Deprecated: Marked as deprecated in envoy/config/rbac/v3/rbac.proto. func (x *Principal) GetSourceIp() *v32.CidrRange { if x, ok := x.GetIdentifier().(*Principal_SourceIp); ok { return x.SourceIp } return nil } func (x *Principal) GetDirectRemoteIp() *v32.CidrRange { if x, ok := x.GetIdentifier().(*Principal_DirectRemoteIp); ok { return x.DirectRemoteIp } return nil } func (x *Principal) GetRemoteIp() *v32.CidrRange { if x, ok := x.GetIdentifier().(*Principal_RemoteIp); ok { return x.RemoteIp } return nil } func (x *Principal) GetHeader() *v3.HeaderMatcher { if x, ok := x.GetIdentifier().(*Principal_Header); ok { return x.Header } return nil } func (x *Principal) GetUrlPath() *v31.PathMatcher { if x, ok := x.GetIdentifier().(*Principal_UrlPath); ok { return x.UrlPath } return nil } func (x *Principal) GetMetadata() *v31.MetadataMatcher { if x, ok := x.GetIdentifier().(*Principal_Metadata); ok { return x.Metadata } return nil } func (x *Principal) GetFilterState() *v31.FilterStateMatcher { if x, ok := x.GetIdentifier().(*Principal_FilterState); ok { return x.FilterState } return nil } func (x *Principal) GetNotId() *Principal { if x, ok := x.GetIdentifier().(*Principal_NotId); ok { return x.NotId } return nil } type isPrincipal_Identifier interface { isPrincipal_Identifier() } type Principal_AndIds struct { // A set of identifiers that all must match in order to define the // downstream. AndIds *Principal_Set `protobuf:"bytes,1,opt,name=and_ids,json=andIds,proto3,oneof"` } type Principal_OrIds struct { // A set of identifiers at least one must match in order to define the // downstream. OrIds *Principal_Set `protobuf:"bytes,2,opt,name=or_ids,json=orIds,proto3,oneof"` } type Principal_Any struct { // When any is set, it matches any downstream. Any bool `protobuf:"varint,3,opt,name=any,proto3,oneof"` } type Principal_Authenticated_ struct { // Authenticated attributes that identify the downstream. Authenticated *Principal_Authenticated `protobuf:"bytes,4,opt,name=authenticated,proto3,oneof"` } type Principal_SourceIp struct { // A CIDR block that describes the downstream IP. // This address will honor proxy protocol, but will not honor XFF. // // This field is deprecated; either use :ref:`remote_ip // ` for the same // behavior, or use // :ref:`direct_remote_ip `. // // Deprecated: Marked as deprecated in envoy/config/rbac/v3/rbac.proto. SourceIp *v32.CidrRange `protobuf:"bytes,5,opt,name=source_ip,json=sourceIp,proto3,oneof"` } type Principal_DirectRemoteIp struct { // A CIDR block that describes the downstream remote/origin address. // Note: This is always the physical peer even if the // :ref:`remote_ip ` is // inferred from for example the x-forwarder-for header, proxy protocol, // etc. DirectRemoteIp *v32.CidrRange `protobuf:"bytes,10,opt,name=direct_remote_ip,json=directRemoteIp,proto3,oneof"` } type Principal_RemoteIp struct { // A CIDR block that describes the downstream remote/origin address. // Note: This may not be the physical peer and could be different from the // :ref:`direct_remote_ip // `. E.g, if the // remote ip is inferred from for example the x-forwarder-for header, proxy // protocol, etc. RemoteIp *v32.CidrRange `protobuf:"bytes,11,opt,name=remote_ip,json=remoteIp,proto3,oneof"` } type Principal_Header struct { // A header (or pseudo-header such as :path or :method) on the incoming HTTP // request. Only available for HTTP request. Note: the pseudo-header :path // includes the query and fragment string. Use the “url_path“ field if you // want to match the URL path without the query and fragment string. Header *v3.HeaderMatcher `protobuf:"bytes,6,opt,name=header,proto3,oneof"` } type Principal_UrlPath struct { // A URL path on the incoming HTTP request. Only available for HTTP. UrlPath *v31.PathMatcher `protobuf:"bytes,9,opt,name=url_path,json=urlPath,proto3,oneof"` } type Principal_Metadata struct { // Metadata that describes additional information about the principal. Metadata *v31.MetadataMatcher `protobuf:"bytes,7,opt,name=metadata,proto3,oneof"` } type Principal_FilterState struct { // Identifies the principal using a filter state object. FilterState *v31.FilterStateMatcher `protobuf:"bytes,12,opt,name=filter_state,json=filterState,proto3,oneof"` } type Principal_NotId struct { // Negates matching the provided principal. For instance, if the value of // “not_id“ would match, this principal would not match. Conversely, if the // value of “not_id“ would not match, this principal would match. NotId *Principal `protobuf:"bytes,8,opt,name=not_id,json=notId,proto3,oneof"` } func (*Principal_AndIds) isPrincipal_Identifier() {} func (*Principal_OrIds) isPrincipal_Identifier() {} func (*Principal_Any) isPrincipal_Identifier() {} func (*Principal_Authenticated_) isPrincipal_Identifier() {} func (*Principal_SourceIp) isPrincipal_Identifier() {} func (*Principal_DirectRemoteIp) isPrincipal_Identifier() {} func (*Principal_RemoteIp) isPrincipal_Identifier() {} func (*Principal_Header) isPrincipal_Identifier() {} func (*Principal_UrlPath) isPrincipal_Identifier() {} func (*Principal_Metadata) isPrincipal_Identifier() {} func (*Principal_FilterState) isPrincipal_Identifier() {} func (*Principal_NotId) isPrincipal_Identifier() {} // Action defines the result of allowance or denial when a request matches the matcher. type Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name indicates the policy name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The action to take if the matcher matches. Every action either allows or denies a request, // and can also carry out action-specific operations. // // Actions: // // - “ALLOW“: If the request gets matched on ALLOW, it is permitted. // - “DENY“: If the request gets matched on DENY, it is not permitted. // - “LOG“: If the request gets matched on LOG, it is permitted. Besides, the // dynamic metadata key “access_log_hint“ under the shared key namespace // “envoy.common“ will be set to the value “true“. // - If the request cannot get matched, it will fallback to “DENY“. // // Log behavior: // // If the RBAC matcher contains at least one LOG action, the dynamic // metadata key ``access_log_hint`` will be set based on if the request // get matched on the LOG action. Action RBAC_Action `protobuf:"varint,2,opt,name=action,proto3,enum=envoy.config.rbac.v3.RBAC_Action" json:"action,omitempty"` } func (x *Action) Reset() { *x = Action{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*Action) ProtoMessage() {} func (x *Action) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Action.ProtoReflect.Descriptor instead. func (*Action) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{4} } func (x *Action) GetName() string { if x != nil { return x.Name } return "" } func (x *Action) GetAction() RBAC_Action { if x != nil { return x.Action } return RBAC_ALLOW } type RBAC_AuditLoggingOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Condition for the audit logging to happen. // If this condition is met, all the audit loggers configured here will be invoked. // // [#not-implemented-hide:] AuditCondition RBAC_AuditLoggingOptions_AuditCondition `protobuf:"varint,1,opt,name=audit_condition,json=auditCondition,proto3,enum=envoy.config.rbac.v3.RBAC_AuditLoggingOptions_AuditCondition" json:"audit_condition,omitempty"` // Configurations for RBAC-based authorization audit loggers. // // [#not-implemented-hide:] LoggerConfigs []*RBAC_AuditLoggingOptions_AuditLoggerConfig `protobuf:"bytes,2,rep,name=logger_configs,json=loggerConfigs,proto3" json:"logger_configs,omitempty"` } func (x *RBAC_AuditLoggingOptions) Reset() { *x = RBAC_AuditLoggingOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC_AuditLoggingOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC_AuditLoggingOptions) ProtoMessage() {} func (x *RBAC_AuditLoggingOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC_AuditLoggingOptions.ProtoReflect.Descriptor instead. func (*RBAC_AuditLoggingOptions) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{0, 0} } func (x *RBAC_AuditLoggingOptions) GetAuditCondition() RBAC_AuditLoggingOptions_AuditCondition { if x != nil { return x.AuditCondition } return RBAC_AuditLoggingOptions_NONE } func (x *RBAC_AuditLoggingOptions) GetLoggerConfigs() []*RBAC_AuditLoggingOptions_AuditLoggerConfig { if x != nil { return x.LoggerConfigs } return nil } // [#not-implemented-hide:] type RBAC_AuditLoggingOptions_AuditLoggerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Typed logger configuration. // // [#extension-category: envoy.rbac.audit_loggers] AuditLogger *v32.TypedExtensionConfig `protobuf:"bytes,1,opt,name=audit_logger,json=auditLogger,proto3" json:"audit_logger,omitempty"` // If true, when the logger is not supported, the data plane will not NACK but simply ignore it. IsOptional bool `protobuf:"varint,2,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"` } func (x *RBAC_AuditLoggingOptions_AuditLoggerConfig) Reset() { *x = RBAC_AuditLoggingOptions_AuditLoggerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC_AuditLoggingOptions_AuditLoggerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC_AuditLoggingOptions_AuditLoggerConfig) ProtoMessage() {} func (x *RBAC_AuditLoggingOptions_AuditLoggerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC_AuditLoggingOptions_AuditLoggerConfig.ProtoReflect.Descriptor instead. func (*RBAC_AuditLoggingOptions_AuditLoggerConfig) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *RBAC_AuditLoggingOptions_AuditLoggerConfig) GetAuditLogger() *v32.TypedExtensionConfig { if x != nil { return x.AuditLogger } return nil } func (x *RBAC_AuditLoggingOptions_AuditLoggerConfig) GetIsOptional() bool { if x != nil { return x.IsOptional } return false } // Used in the “and_rules“ and “or_rules“ fields in the “rule“ oneof. Depending on the context, // each are applied with the associated behavior. type Permission_Set struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rules []*Permission `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *Permission_Set) Reset() { *x = Permission_Set{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Permission_Set) String() string { return protoimpl.X.MessageStringOf(x) } func (*Permission_Set) ProtoMessage() {} func (x *Permission_Set) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Permission_Set.ProtoReflect.Descriptor instead. func (*Permission_Set) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{2, 0} } func (x *Permission_Set) GetRules() []*Permission { if x != nil { return x.Rules } return nil } // Used in the “and_ids“ and “or_ids“ fields in the “identifier“ oneof. // Depending on the context, each are applied with the associated behavior. type Principal_Set struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []*Principal `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } func (x *Principal_Set) Reset() { *x = Principal_Set{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal_Set) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal_Set) ProtoMessage() {} func (x *Principal_Set) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal_Set.ProtoReflect.Descriptor instead. func (*Principal_Set) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{3, 0} } func (x *Principal_Set) GetIds() []*Principal { if x != nil { return x.Ids } return nil } // Authentication attributes for a downstream. type Principal_Authenticated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the principal. If set, The URI SAN or DNS SAN in that order // is used from the certificate, otherwise the subject field is used. If // unset, it applies to any user that is authenticated. PrincipalName *v31.StringMatcher `protobuf:"bytes,2,opt,name=principal_name,json=principalName,proto3" json:"principal_name,omitempty"` } func (x *Principal_Authenticated) Reset() { *x = Principal_Authenticated{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Principal_Authenticated) String() string { return protoimpl.X.MessageStringOf(x) } func (*Principal_Authenticated) ProtoMessage() {} func (x *Principal_Authenticated) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_rbac_v3_rbac_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Principal_Authenticated.ProtoReflect.Descriptor instead. func (*Principal_Authenticated) Descriptor() ([]byte, []int) { return file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP(), []int{3, 1} } func (x *Principal_Authenticated) GetPrincipalName() *v31.StringMatcher { if x != nil { return x.PrincipalName } return nil } var File_envoy_config_rbac_v3_rbac_proto protoreflect.FileDescriptor var file_envoy_config_rbac_v3_rbac_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x06, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x43, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc4, 0x03, 0x0a, 0x13, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x83, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0x4c, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x1a, 0x59, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x47, 0x10, 0x02, 0x3a, 0x20, 0x9a, 0xc5, 0x88, 0x1e, 0x1b, 0x0a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x22, 0x93, 0x03, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4c, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x42, 0x1c, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x42, 0x1c, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x16, 0x12, 0x14, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xda, 0x07, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x12, 0x36, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0xff, 0xff, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x51, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x73, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xeb, 0x08, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x55, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x4b, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x12, 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x64, 0x1a, 0x6d, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x69, 0x64, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x1a, 0x97, 0x01, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x11, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x60, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x7d, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_rbac_v3_rbac_proto_rawDescOnce sync.Once file_envoy_config_rbac_v3_rbac_proto_rawDescData = file_envoy_config_rbac_v3_rbac_proto_rawDesc ) func file_envoy_config_rbac_v3_rbac_proto_rawDescGZIP() []byte { file_envoy_config_rbac_v3_rbac_proto_rawDescOnce.Do(func() { file_envoy_config_rbac_v3_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_rbac_v3_rbac_proto_rawDescData) }) return file_envoy_config_rbac_v3_rbac_proto_rawDescData } var file_envoy_config_rbac_v3_rbac_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_rbac_v3_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_envoy_config_rbac_v3_rbac_proto_goTypes = []interface{}{ (RBAC_Action)(0), // 0: envoy.config.rbac.v3.RBAC.Action (RBAC_AuditLoggingOptions_AuditCondition)(0), // 1: envoy.config.rbac.v3.RBAC.AuditLoggingOptions.AuditCondition (*RBAC)(nil), // 2: envoy.config.rbac.v3.RBAC (*Policy)(nil), // 3: envoy.config.rbac.v3.Policy (*Permission)(nil), // 4: envoy.config.rbac.v3.Permission (*Principal)(nil), // 5: envoy.config.rbac.v3.Principal (*Action)(nil), // 6: envoy.config.rbac.v3.Action (*RBAC_AuditLoggingOptions)(nil), // 7: envoy.config.rbac.v3.RBAC.AuditLoggingOptions nil, // 8: envoy.config.rbac.v3.RBAC.PoliciesEntry (*RBAC_AuditLoggingOptions_AuditLoggerConfig)(nil), // 9: envoy.config.rbac.v3.RBAC.AuditLoggingOptions.AuditLoggerConfig (*Permission_Set)(nil), // 10: envoy.config.rbac.v3.Permission.Set (*Principal_Set)(nil), // 11: envoy.config.rbac.v3.Principal.Set (*Principal_Authenticated)(nil), // 12: envoy.config.rbac.v3.Principal.Authenticated (*v1alpha1.Expr)(nil), // 13: google.api.expr.v1alpha1.Expr (*v1alpha1.CheckedExpr)(nil), // 14: google.api.expr.v1alpha1.CheckedExpr (*v3.HeaderMatcher)(nil), // 15: envoy.config.route.v3.HeaderMatcher (*v31.PathMatcher)(nil), // 16: envoy.type.matcher.v3.PathMatcher (*v32.CidrRange)(nil), // 17: envoy.config.core.v3.CidrRange (*v33.Int32Range)(nil), // 18: envoy.type.v3.Int32Range (*v31.MetadataMatcher)(nil), // 19: envoy.type.matcher.v3.MetadataMatcher (*v31.StringMatcher)(nil), // 20: envoy.type.matcher.v3.StringMatcher (*v32.TypedExtensionConfig)(nil), // 21: envoy.config.core.v3.TypedExtensionConfig (*v31.FilterStateMatcher)(nil), // 22: envoy.type.matcher.v3.FilterStateMatcher } var file_envoy_config_rbac_v3_rbac_proto_depIdxs = []int32{ 0, // 0: envoy.config.rbac.v3.RBAC.action:type_name -> envoy.config.rbac.v3.RBAC.Action 8, // 1: envoy.config.rbac.v3.RBAC.policies:type_name -> envoy.config.rbac.v3.RBAC.PoliciesEntry 7, // 2: envoy.config.rbac.v3.RBAC.audit_logging_options:type_name -> envoy.config.rbac.v3.RBAC.AuditLoggingOptions 4, // 3: envoy.config.rbac.v3.Policy.permissions:type_name -> envoy.config.rbac.v3.Permission 5, // 4: envoy.config.rbac.v3.Policy.principals:type_name -> envoy.config.rbac.v3.Principal 13, // 5: envoy.config.rbac.v3.Policy.condition:type_name -> google.api.expr.v1alpha1.Expr 14, // 6: envoy.config.rbac.v3.Policy.checked_condition:type_name -> google.api.expr.v1alpha1.CheckedExpr 10, // 7: envoy.config.rbac.v3.Permission.and_rules:type_name -> envoy.config.rbac.v3.Permission.Set 10, // 8: envoy.config.rbac.v3.Permission.or_rules:type_name -> envoy.config.rbac.v3.Permission.Set 15, // 9: envoy.config.rbac.v3.Permission.header:type_name -> envoy.config.route.v3.HeaderMatcher 16, // 10: envoy.config.rbac.v3.Permission.url_path:type_name -> envoy.type.matcher.v3.PathMatcher 17, // 11: envoy.config.rbac.v3.Permission.destination_ip:type_name -> envoy.config.core.v3.CidrRange 18, // 12: envoy.config.rbac.v3.Permission.destination_port_range:type_name -> envoy.type.v3.Int32Range 19, // 13: envoy.config.rbac.v3.Permission.metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher 4, // 14: envoy.config.rbac.v3.Permission.not_rule:type_name -> envoy.config.rbac.v3.Permission 20, // 15: envoy.config.rbac.v3.Permission.requested_server_name:type_name -> envoy.type.matcher.v3.StringMatcher 21, // 16: envoy.config.rbac.v3.Permission.matcher:type_name -> envoy.config.core.v3.TypedExtensionConfig 11, // 17: envoy.config.rbac.v3.Principal.and_ids:type_name -> envoy.config.rbac.v3.Principal.Set 11, // 18: envoy.config.rbac.v3.Principal.or_ids:type_name -> envoy.config.rbac.v3.Principal.Set 12, // 19: envoy.config.rbac.v3.Principal.authenticated:type_name -> envoy.config.rbac.v3.Principal.Authenticated 17, // 20: envoy.config.rbac.v3.Principal.source_ip:type_name -> envoy.config.core.v3.CidrRange 17, // 21: envoy.config.rbac.v3.Principal.direct_remote_ip:type_name -> envoy.config.core.v3.CidrRange 17, // 22: envoy.config.rbac.v3.Principal.remote_ip:type_name -> envoy.config.core.v3.CidrRange 15, // 23: envoy.config.rbac.v3.Principal.header:type_name -> envoy.config.route.v3.HeaderMatcher 16, // 24: envoy.config.rbac.v3.Principal.url_path:type_name -> envoy.type.matcher.v3.PathMatcher 19, // 25: envoy.config.rbac.v3.Principal.metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher 22, // 26: envoy.config.rbac.v3.Principal.filter_state:type_name -> envoy.type.matcher.v3.FilterStateMatcher 5, // 27: envoy.config.rbac.v3.Principal.not_id:type_name -> envoy.config.rbac.v3.Principal 0, // 28: envoy.config.rbac.v3.Action.action:type_name -> envoy.config.rbac.v3.RBAC.Action 1, // 29: envoy.config.rbac.v3.RBAC.AuditLoggingOptions.audit_condition:type_name -> envoy.config.rbac.v3.RBAC.AuditLoggingOptions.AuditCondition 9, // 30: envoy.config.rbac.v3.RBAC.AuditLoggingOptions.logger_configs:type_name -> envoy.config.rbac.v3.RBAC.AuditLoggingOptions.AuditLoggerConfig 3, // 31: envoy.config.rbac.v3.RBAC.PoliciesEntry.value:type_name -> envoy.config.rbac.v3.Policy 21, // 32: envoy.config.rbac.v3.RBAC.AuditLoggingOptions.AuditLoggerConfig.audit_logger:type_name -> envoy.config.core.v3.TypedExtensionConfig 4, // 33: envoy.config.rbac.v3.Permission.Set.rules:type_name -> envoy.config.rbac.v3.Permission 5, // 34: envoy.config.rbac.v3.Principal.Set.ids:type_name -> envoy.config.rbac.v3.Principal 20, // 35: envoy.config.rbac.v3.Principal.Authenticated.principal_name:type_name -> envoy.type.matcher.v3.StringMatcher 36, // [36:36] is the sub-list for method output_type 36, // [36:36] is the sub-list for method input_type 36, // [36:36] is the sub-list for extension type_name 36, // [36:36] is the sub-list for extension extendee 0, // [0:36] is the sub-list for field type_name } func init() { file_envoy_config_rbac_v3_rbac_proto_init() } func file_envoy_config_rbac_v3_rbac_proto_init() { if File_envoy_config_rbac_v3_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_rbac_v3_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permission); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC_AuditLoggingOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC_AuditLoggingOptions_AuditLoggerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Permission_Set); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal_Set); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Principal_Authenticated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_rbac_v3_rbac_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Permission_AndRules)(nil), (*Permission_OrRules)(nil), (*Permission_Any)(nil), (*Permission_Header)(nil), (*Permission_UrlPath)(nil), (*Permission_DestinationIp)(nil), (*Permission_DestinationPort)(nil), (*Permission_DestinationPortRange)(nil), (*Permission_Metadata)(nil), (*Permission_NotRule)(nil), (*Permission_RequestedServerName)(nil), (*Permission_Matcher)(nil), } file_envoy_config_rbac_v3_rbac_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Principal_AndIds)(nil), (*Principal_OrIds)(nil), (*Principal_Any)(nil), (*Principal_Authenticated_)(nil), (*Principal_SourceIp)(nil), (*Principal_DirectRemoteIp)(nil), (*Principal_RemoteIp)(nil), (*Principal_Header)(nil), (*Principal_UrlPath)(nil), (*Principal_Metadata)(nil), (*Principal_FilterState)(nil), (*Principal_NotId)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_rbac_v3_rbac_proto_rawDesc, NumEnums: 2, NumMessages: 11, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_rbac_v3_rbac_proto_goTypes, DependencyIndexes: file_envoy_config_rbac_v3_rbac_proto_depIdxs, EnumInfos: file_envoy_config_rbac_v3_rbac_proto_enumTypes, MessageInfos: file_envoy_config_rbac_v3_rbac_proto_msgTypes, }.Build() File_envoy_config_rbac_v3_rbac_proto = out.File file_envoy_config_rbac_v3_rbac_proto_rawDesc = nil file_envoy_config_rbac_v3_rbac_proto_goTypes = nil file_envoy_config_rbac_v3_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/rbac/v3/rbac.pb.validate.go000077500000000000000000001776761454502223200242760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/rbac/v3/rbac.proto package rbacv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RBAC_Action_name[int32(m.GetAction())]; !ok { err := RBACValidationError{ field: "Action", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetPolicies())) i := 0 for key := range m.GetPolicies() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetPolicies()[key] _ = val // no validation rules for Policies[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: fmt.Sprintf("Policies[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetAuditLoggingOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "AuditLoggingOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "AuditLoggingOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuditLoggingOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "AuditLoggingOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} // Validate checks the field values on Policy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Policy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Policy with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PolicyMultiError, or nil if none found. func (m *Policy) ValidateAll() error { return m.validate(true) } func (m *Policy) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPermissions()) < 1 { err := PolicyValidationError{ field: "Permissions", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPermissions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: fmt.Sprintf("Permissions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetPrincipals()) < 1 { err := PolicyValidationError{ field: "Principals", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPrincipals() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: fmt.Sprintf("Principals[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetCondition()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCondition()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: "Condition", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCheckedCondition()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PolicyValidationError{ field: "CheckedCondition", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PolicyValidationError{ field: "CheckedCondition", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCheckedCondition()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PolicyValidationError{ field: "CheckedCondition", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PolicyMultiError(errors) } return nil } // PolicyMultiError is an error wrapping multiple validation errors returned by // Policy.ValidateAll() if the designated constraints aren't met. type PolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PolicyMultiError) AllErrors() []error { return m } // PolicyValidationError is the validation error returned by Policy.Validate if // the designated constraints aren't met. type PolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PolicyValidationError) ErrorName() string { return "PolicyValidationError" } // Error satisfies the builtin error interface func (e PolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PolicyValidationError{} // Validate checks the field values on Permission with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Permission) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Permission with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PermissionMultiError, or // nil if none found. func (m *Permission) ValidateAll() error { return m.validate(true) } func (m *Permission) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *Permission_AndRules: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "AndRules", reason: "embedded message failed validation", cause: err, } } } case *Permission_OrRules: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "OrRules", reason: "embedded message failed validation", cause: err, } } } case *Permission_Any: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAny() != true { err := PermissionValidationError{ field: "Any", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *Permission_Header: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *Permission_UrlPath: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetUrlPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUrlPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, } } } case *Permission_DestinationIp: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetDestinationIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "DestinationIp", reason: "embedded message failed validation", cause: err, } } } case *Permission_DestinationPort: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetDestinationPort() > 65535 { err := PermissionValidationError{ field: "DestinationPort", reason: "value must be less than or equal to 65535", } if !all { return err } errors = append(errors, err) } case *Permission_DestinationPortRange: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetDestinationPortRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationPortRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "DestinationPortRange", reason: "embedded message failed validation", cause: err, } } } case *Permission_Metadata: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *Permission_NotRule: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotRule()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotRule()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "NotRule", reason: "embedded message failed validation", cause: err, } } } case *Permission_RequestedServerName: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetRequestedServerName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestedServerName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "RequestedServerName", reason: "embedded message failed validation", cause: err, } } } case *Permission_Matcher: if v == nil { err := PermissionValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PermissionValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PermissionValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PermissionValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := PermissionValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PermissionMultiError(errors) } return nil } // PermissionMultiError is an error wrapping multiple validation errors // returned by Permission.ValidateAll() if the designated constraints aren't met. type PermissionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PermissionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PermissionMultiError) AllErrors() []error { return m } // PermissionValidationError is the validation error returned by // Permission.Validate if the designated constraints aren't met. type PermissionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PermissionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PermissionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PermissionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PermissionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PermissionValidationError) ErrorName() string { return "PermissionValidationError" } // Error satisfies the builtin error interface func (e PermissionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPermission.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PermissionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PermissionValidationError{} // Validate checks the field values on Principal with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Principal) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PrincipalMultiError, or nil // if none found. func (m *Principal) ValidateAll() error { return m.validate(true) } func (m *Principal) validate(all bool) error { if m == nil { return nil } var errors []error oneofIdentifierPresent := false switch v := m.Identifier.(type) { case *Principal_AndIds: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetAndIds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndIds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "AndIds", reason: "embedded message failed validation", cause: err, } } } case *Principal_OrIds: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetOrIds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrIds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "OrIds", reason: "embedded message failed validation", cause: err, } } } case *Principal_Any: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if m.GetAny() != true { err := PrincipalValidationError{ field: "Any", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *Principal_Authenticated_: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetAuthenticated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthenticated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Authenticated", reason: "embedded message failed validation", cause: err, } } } case *Principal_SourceIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetSourceIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_DirectRemoteIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetDirectRemoteIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDirectRemoteIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "DirectRemoteIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_RemoteIp: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetRemoteIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "RemoteIp", reason: "embedded message failed validation", cause: err, } } } case *Principal_Header: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *Principal_UrlPath: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetUrlPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUrlPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "UrlPath", reason: "embedded message failed validation", cause: err, } } } case *Principal_Metadata: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *Principal_FilterState: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetFilterState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, } } } case *Principal_NotId: if v == nil { err := PrincipalValidationError{ field: "Identifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofIdentifierPresent = true if all { switch v := interface{}(m.GetNotId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrincipalValidationError{ field: "NotId", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofIdentifierPresent { err := PrincipalValidationError{ field: "Identifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PrincipalMultiError(errors) } return nil } // PrincipalMultiError is an error wrapping multiple validation errors returned // by Principal.ValidateAll() if the designated constraints aren't met. type PrincipalMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PrincipalMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PrincipalMultiError) AllErrors() []error { return m } // PrincipalValidationError is the validation error returned by // Principal.Validate if the designated constraints aren't met. type PrincipalValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PrincipalValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PrincipalValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PrincipalValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PrincipalValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PrincipalValidationError) ErrorName() string { return "PrincipalValidationError" } // Error satisfies the builtin error interface func (e PrincipalValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PrincipalValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PrincipalValidationError{} // Validate checks the field values on Action with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Action) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Action with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ActionMultiError, or nil if none found. func (m *Action) ValidateAll() error { return m.validate(true) } func (m *Action) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ActionValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Action if len(errors) > 0 { return ActionMultiError(errors) } return nil } // ActionMultiError is an error wrapping multiple validation errors returned by // Action.ValidateAll() if the designated constraints aren't met. type ActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ActionMultiError) AllErrors() []error { return m } // ActionValidationError is the validation error returned by Action.Validate if // the designated constraints aren't met. type ActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ActionValidationError) ErrorName() string { return "ActionValidationError" } // Error satisfies the builtin error interface func (e ActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ActionValidationError{} // Validate checks the field values on RBAC_AuditLoggingOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RBAC_AuditLoggingOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC_AuditLoggingOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RBAC_AuditLoggingOptionsMultiError, or nil if none found. func (m *RBAC_AuditLoggingOptions) ValidateAll() error { return m.validate(true) } func (m *RBAC_AuditLoggingOptions) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RBAC_AuditLoggingOptions_AuditCondition_name[int32(m.GetAuditCondition())]; !ok { err := RBAC_AuditLoggingOptionsValidationError{ field: "AuditCondition", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLoggerConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBAC_AuditLoggingOptionsValidationError{ field: fmt.Sprintf("LoggerConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBAC_AuditLoggingOptionsValidationError{ field: fmt.Sprintf("LoggerConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBAC_AuditLoggingOptionsValidationError{ field: fmt.Sprintf("LoggerConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RBAC_AuditLoggingOptionsMultiError(errors) } return nil } // RBAC_AuditLoggingOptionsMultiError is an error wrapping multiple validation // errors returned by RBAC_AuditLoggingOptions.ValidateAll() if the designated // constraints aren't met. type RBAC_AuditLoggingOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBAC_AuditLoggingOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBAC_AuditLoggingOptionsMultiError) AllErrors() []error { return m } // RBAC_AuditLoggingOptionsValidationError is the validation error returned by // RBAC_AuditLoggingOptions.Validate if the designated constraints aren't met. type RBAC_AuditLoggingOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBAC_AuditLoggingOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBAC_AuditLoggingOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBAC_AuditLoggingOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBAC_AuditLoggingOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBAC_AuditLoggingOptionsValidationError) ErrorName() string { return "RBAC_AuditLoggingOptionsValidationError" } // Error satisfies the builtin error interface func (e RBAC_AuditLoggingOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC_AuditLoggingOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBAC_AuditLoggingOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBAC_AuditLoggingOptionsValidationError{} // Validate checks the field values on // RBAC_AuditLoggingOptions_AuditLoggerConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RBAC_AuditLoggingOptions_AuditLoggerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RBAC_AuditLoggingOptions_AuditLoggerConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError, or nil if none found. func (m *RBAC_AuditLoggingOptions_AuditLoggerConfig) ValidateAll() error { return m.validate(true) } func (m *RBAC_AuditLoggingOptions_AuditLoggerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAuditLogger()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError{ field: "AuditLogger", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError{ field: "AuditLogger", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuditLogger()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError{ field: "AuditLogger", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IsOptional if len(errors) > 0 { return RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError(errors) } return nil } // RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError is an error wrapping // multiple validation errors returned by // RBAC_AuditLoggingOptions_AuditLoggerConfig.ValidateAll() if the designated // constraints aren't met. type RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBAC_AuditLoggingOptions_AuditLoggerConfigMultiError) AllErrors() []error { return m } // RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError is the validation // error returned by RBAC_AuditLoggingOptions_AuditLoggerConfig.Validate if // the designated constraints aren't met. type RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) ErrorName() string { return "RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError" } // Error satisfies the builtin error interface func (e RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC_AuditLoggingOptions_AuditLoggerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBAC_AuditLoggingOptions_AuditLoggerConfigValidationError{} // Validate checks the field values on Permission_Set with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Permission_Set) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Permission_Set with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Permission_SetMultiError, // or nil if none found. func (m *Permission_Set) ValidateAll() error { return m.validate(true) } func (m *Permission_Set) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 1 { err := Permission_SetValidationError{ field: "Rules", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Permission_SetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Permission_SetMultiError(errors) } return nil } // Permission_SetMultiError is an error wrapping multiple validation errors // returned by Permission_Set.ValidateAll() if the designated constraints // aren't met. type Permission_SetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Permission_SetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Permission_SetMultiError) AllErrors() []error { return m } // Permission_SetValidationError is the validation error returned by // Permission_Set.Validate if the designated constraints aren't met. type Permission_SetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Permission_SetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Permission_SetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Permission_SetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Permission_SetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Permission_SetValidationError) ErrorName() string { return "Permission_SetValidationError" } // Error satisfies the builtin error interface func (e Permission_SetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPermission_Set.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Permission_SetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Permission_SetValidationError{} // Validate checks the field values on Principal_Set with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Principal_Set) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal_Set with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Principal_SetMultiError, or // nil if none found. func (m *Principal_Set) ValidateAll() error { return m.validate(true) } func (m *Principal_Set) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetIds()) < 1 { err := Principal_SetValidationError{ field: "Ids", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetIds() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Principal_SetValidationError{ field: fmt.Sprintf("Ids[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return Principal_SetMultiError(errors) } return nil } // Principal_SetMultiError is an error wrapping multiple validation errors // returned by Principal_Set.ValidateAll() if the designated constraints // aren't met. type Principal_SetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Principal_SetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Principal_SetMultiError) AllErrors() []error { return m } // Principal_SetValidationError is the validation error returned by // Principal_Set.Validate if the designated constraints aren't met. type Principal_SetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Principal_SetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Principal_SetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Principal_SetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Principal_SetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Principal_SetValidationError) ErrorName() string { return "Principal_SetValidationError" } // Error satisfies the builtin error interface func (e Principal_SetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal_Set.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Principal_SetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Principal_SetValidationError{} // Validate checks the field values on Principal_Authenticated with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Principal_Authenticated) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Principal_Authenticated with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Principal_AuthenticatedMultiError, or nil if none found. func (m *Principal_Authenticated) ValidateAll() error { return m.validate(true) } func (m *Principal_Authenticated) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPrincipalName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrincipalName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Principal_AuthenticatedValidationError{ field: "PrincipalName", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Principal_AuthenticatedMultiError(errors) } return nil } // Principal_AuthenticatedMultiError is an error wrapping multiple validation // errors returned by Principal_Authenticated.ValidateAll() if the designated // constraints aren't met. type Principal_AuthenticatedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Principal_AuthenticatedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Principal_AuthenticatedMultiError) AllErrors() []error { return m } // Principal_AuthenticatedValidationError is the validation error returned by // Principal_Authenticated.Validate if the designated constraints aren't met. type Principal_AuthenticatedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Principal_AuthenticatedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Principal_AuthenticatedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Principal_AuthenticatedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Principal_AuthenticatedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Principal_AuthenticatedValidationError) ErrorName() string { return "Principal_AuthenticatedValidationError" } // Error satisfies the builtin error interface func (e Principal_AuthenticatedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrincipal_Authenticated.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Principal_AuthenticatedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Principal_AuthenticatedValidationError{} go-control-plane-0.12.0/envoy/config/resource_monitor/000077500000000000000000000000001454502223200227545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/fixed_heap/000077500000000000000000000000001454502223200250505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/fixed_heap/v2alpha/000077500000000000000000000000001454502223200264055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/fixed_heap/v2alpha/fixed_heap.pb.go000077500000000000000000000200421454502223200314310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/resource_monitor/fixed_heap/v2alpha/fixed_heap.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The fixed heap resource monitor reports the Envoy process memory pressure, computed as a // fraction of currently reserved heap memory divided by a statically configured maximum // specified in the FixedHeapConfig. type FixedHeapConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MaxHeapSizeBytes uint64 `protobuf:"varint,1,opt,name=max_heap_size_bytes,json=maxHeapSizeBytes,proto3" json:"max_heap_size_bytes,omitempty"` } func (x *FixedHeapConfig) Reset() { *x = FixedHeapConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FixedHeapConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FixedHeapConfig) ProtoMessage() {} func (x *FixedHeapConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FixedHeapConfig.ProtoReflect.Descriptor instead. func (*FixedHeapConfig) Descriptor() ([]byte, []int) { return file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescGZIP(), []int{0} } func (x *FixedHeapConfig) GetMaxHeapSizeBytes() uint64 { if x != nil { return x.MaxHeapSizeBytes } return 0 } var File_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto protoreflect.FileDescriptor var file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x48, 0x65, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescOnce sync.Once file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescData = file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDesc ) func file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescGZIP() []byte { file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescOnce.Do(func() { file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescData) }) return file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDescData } var file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_goTypes = []interface{}{ (*FixedHeapConfig)(nil), // 0: envoy.config.resource_monitor.fixed_heap.v2alpha.FixedHeapConfig } var file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_init() } func file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_init() { if File_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixedHeapConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_goTypes, DependencyIndexes: file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_depIdxs, MessageInfos: file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_msgTypes, }.Build() File_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto = out.File file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_rawDesc = nil file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_goTypes = nil file_envoy_config_resource_monitor_fixed_heap_v2alpha_fixed_heap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/resource_monitor/fixed_heap/v2alpha/fixed_heap.pb.validate.go000077500000000000000000000067771454502223200332440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/resource_monitor/fixed_heap/v2alpha/fixed_heap.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FixedHeapConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FixedHeapConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FixedHeapConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FixedHeapConfigMultiError, or nil if none found. func (m *FixedHeapConfig) ValidateAll() error { return m.validate(true) } func (m *FixedHeapConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxHeapSizeBytes() <= 0 { err := FixedHeapConfigValidationError{ field: "MaxHeapSizeBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FixedHeapConfigMultiError(errors) } return nil } // FixedHeapConfigMultiError is an error wrapping multiple validation errors // returned by FixedHeapConfig.ValidateAll() if the designated constraints // aren't met. type FixedHeapConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FixedHeapConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FixedHeapConfigMultiError) AllErrors() []error { return m } // FixedHeapConfigValidationError is the validation error returned by // FixedHeapConfig.Validate if the designated constraints aren't met. type FixedHeapConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FixedHeapConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FixedHeapConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FixedHeapConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FixedHeapConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FixedHeapConfigValidationError) ErrorName() string { return "FixedHeapConfigValidationError" } // Error satisfies the builtin error interface func (e FixedHeapConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFixedHeapConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FixedHeapConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FixedHeapConfigValidationError{} go-control-plane-0.12.0/envoy/config/resource_monitor/injected_resource/000077500000000000000000000000001454502223200264505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/injected_resource/v2alpha/000077500000000000000000000000001454502223200300055ustar00rootroot00000000000000injected_resource.pb.go000077500000000000000000000214201454502223200343530ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/injected_resource/v2alpha// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/resource_monitor/injected_resource/v2alpha/injected_resource.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The injected resource monitor allows injecting a synthetic resource pressure into Envoy // via a text file, which must contain a floating-point number in the range [0..1] representing // the resource pressure and be updated atomically by a symbolic link swap. // This is intended primarily for integration tests to force Envoy into an overloaded state. type InjectedResourceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` } func (x *InjectedResourceConfig) Reset() { *x = InjectedResourceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InjectedResourceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*InjectedResourceConfig) ProtoMessage() {} func (x *InjectedResourceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InjectedResourceConfig.ProtoReflect.Descriptor instead. func (*InjectedResourceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescGZIP(), []int{0} } func (x *InjectedResourceConfig) GetFilename() string { if x != nil { return x.Filename } return "" } var File_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto protoreflect.FileDescriptor var file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x16, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescOnce sync.Once file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescData = file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDesc ) func file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescGZIP() []byte { file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescOnce.Do(func() { file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescData) }) return file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDescData } var file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_goTypes = []interface{}{ (*InjectedResourceConfig)(nil), // 0: envoy.config.resource_monitor.injected_resource.v2alpha.InjectedResourceConfig } var file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_init() } func file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_init() { if File_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InjectedResourceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_goTypes, DependencyIndexes: file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_depIdxs, MessageInfos: file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_msgTypes, }.Build() File_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto = out.File file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_rawDesc = nil file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_goTypes = nil file_envoy_config_resource_monitor_injected_resource_v2alpha_injected_resource_proto_depIdxs = nil } injected_resource.pb.validate.go000077500000000000000000000073011454502223200361450ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/resource_monitor/injected_resource/v2alpha// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/resource_monitor/injected_resource/v2alpha/injected_resource.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on InjectedResourceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *InjectedResourceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on InjectedResourceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // InjectedResourceConfigMultiError, or nil if none found. func (m *InjectedResourceConfig) ValidateAll() error { return m.validate(true) } func (m *InjectedResourceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFilename()) < 1 { err := InjectedResourceConfigValidationError{ field: "Filename", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return InjectedResourceConfigMultiError(errors) } return nil } // InjectedResourceConfigMultiError is an error wrapping multiple validation // errors returned by InjectedResourceConfig.ValidateAll() if the designated // constraints aren't met. type InjectedResourceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InjectedResourceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InjectedResourceConfigMultiError) AllErrors() []error { return m } // InjectedResourceConfigValidationError is the validation error returned by // InjectedResourceConfig.Validate if the designated constraints aren't met. type InjectedResourceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InjectedResourceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InjectedResourceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InjectedResourceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InjectedResourceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InjectedResourceConfigValidationError) ErrorName() string { return "InjectedResourceConfigValidationError" } // Error satisfies the builtin error interface func (e InjectedResourceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInjectedResourceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InjectedResourceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InjectedResourceConfigValidationError{} go-control-plane-0.12.0/envoy/config/retry/000077500000000000000000000000001454502223200205235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_canary_hosts/000077500000000000000000000000001454502223200242505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_canary_hosts/v2/000077500000000000000000000000001454502223200245775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.pb.go000077500000000000000000000172101454502223200312570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.proto package omit_canary_hostsv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OmitCanaryHostsPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OmitCanaryHostsPredicate) Reset() { *x = OmitCanaryHostsPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OmitCanaryHostsPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OmitCanaryHostsPredicate) ProtoMessage() {} func (x *OmitCanaryHostsPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OmitCanaryHostsPredicate.ProtoReflect.Descriptor instead. func (*OmitCanaryHostsPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescGZIP(), []int{0} } var File_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto protoreflect.FileDescriptor var file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x4f, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0xf3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x4f, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescOnce sync.Once file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescData = file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDesc ) func file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescGZIP() []byte { file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescOnce.Do(func() { file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescData) }) return file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDescData } var file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_goTypes = []interface{}{ (*OmitCanaryHostsPredicate)(nil), // 0: envoy.config.retry.omit_canary_hosts.v2.OmitCanaryHostsPredicate } var file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_init() } func file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_init() { if File_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OmitCanaryHostsPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_goTypes, DependencyIndexes: file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_depIdxs, MessageInfos: file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_msgTypes, }.Build() File_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto = out.File file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_rawDesc = nil file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_goTypes = nil file_envoy_config_retry_omit_canary_hosts_v2_omit_canary_hosts_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.pb.validate.go000077500000000000000000000070201454502223200330450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.proto package omit_canary_hostsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OmitCanaryHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OmitCanaryHostsPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OmitCanaryHostsPredicate with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OmitCanaryHostsPredicateMultiError, or nil if none found. func (m *OmitCanaryHostsPredicate) ValidateAll() error { return m.validate(true) } func (m *OmitCanaryHostsPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OmitCanaryHostsPredicateMultiError(errors) } return nil } // OmitCanaryHostsPredicateMultiError is an error wrapping multiple validation // errors returned by OmitCanaryHostsPredicate.ValidateAll() if the designated // constraints aren't met. type OmitCanaryHostsPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OmitCanaryHostsPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OmitCanaryHostsPredicateMultiError) AllErrors() []error { return m } // OmitCanaryHostsPredicateValidationError is the validation error returned by // OmitCanaryHostsPredicate.Validate if the designated constraints aren't met. type OmitCanaryHostsPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OmitCanaryHostsPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OmitCanaryHostsPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OmitCanaryHostsPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OmitCanaryHostsPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OmitCanaryHostsPredicateValidationError) ErrorName() string { return "OmitCanaryHostsPredicateValidationError" } // Error satisfies the builtin error interface func (e OmitCanaryHostsPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOmitCanaryHostsPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OmitCanaryHostsPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OmitCanaryHostsPredicateValidationError{} go-control-plane-0.12.0/envoy/config/retry/omit_host_metadata/000077500000000000000000000000001454502223200243705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_host_metadata/v2/000077500000000000000000000000001454502223200247175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_host_metadata/v2/omit_host_metadata_config.pb.go000077500000000000000000000227431454502223200330530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/retry/omit_host_metadata/v2/omit_host_metadata_config.proto package omit_host_metadatav2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A retry host predicate that can be used to reject a host based on // predefined metadata match criteria. // [#extension: envoy.retry_host_predicates.omit_host_metadata] type OmitHostMetadataConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Retry host predicate metadata match criteria. The hosts in // the upstream cluster with matching metadata will be omitted while // attempting a retry of a failed request. The metadata should be specified // under the *envoy.lb* key. MetadataMatch *core.Metadata `protobuf:"bytes,1,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *OmitHostMetadataConfig) Reset() { *x = OmitHostMetadataConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OmitHostMetadataConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OmitHostMetadataConfig) ProtoMessage() {} func (x *OmitHostMetadataConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OmitHostMetadataConfig.ProtoReflect.Descriptor instead. func (*OmitHostMetadataConfig) Descriptor() ([]byte, []int) { return file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescGZIP(), []int{0} } func (x *OmitHostMetadataConfig) GetMetadataMatch() *core.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto protoreflect.FileDescriptor var file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x16, 0x4f, 0x6d, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0xfe, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x33, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x1b, 0x4f, 0x6d, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescOnce sync.Once file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescData = file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDesc ) func file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescGZIP() []byte { file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescOnce.Do(func() { file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescData) }) return file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDescData } var file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_goTypes = []interface{}{ (*OmitHostMetadataConfig)(nil), // 0: envoy.config.retry.omit_host_metadata.v2.OmitHostMetadataConfig (*core.Metadata)(nil), // 1: envoy.api.v2.core.Metadata } var file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_depIdxs = []int32{ 1, // 0: envoy.config.retry.omit_host_metadata.v2.OmitHostMetadataConfig.metadata_match:type_name -> envoy.api.v2.core.Metadata 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_init() } func file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_init() { if File_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OmitHostMetadataConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_goTypes, DependencyIndexes: file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_depIdxs, MessageInfos: file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_msgTypes, }.Build() File_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto = out.File file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_rawDesc = nil file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_goTypes = nil file_envoy_config_retry_omit_host_metadata_v2_omit_host_metadata_config_proto_depIdxs = nil } omit_host_metadata_config.pb.validate.go000077500000000000000000000105261454502223200345600ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/omit_host_metadata/v2// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/retry/omit_host_metadata/v2/omit_host_metadata_config.proto package omit_host_metadatav2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OmitHostMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OmitHostMetadataConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OmitHostMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OmitHostMetadataConfigMultiError, or nil if none found. func (m *OmitHostMetadataConfig) ValidateAll() error { return m.validate(true) } func (m *OmitHostMetadataConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OmitHostMetadataConfigMultiError(errors) } return nil } // OmitHostMetadataConfigMultiError is an error wrapping multiple validation // errors returned by OmitHostMetadataConfig.ValidateAll() if the designated // constraints aren't met. type OmitHostMetadataConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OmitHostMetadataConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OmitHostMetadataConfigMultiError) AllErrors() []error { return m } // OmitHostMetadataConfigValidationError is the validation error returned by // OmitHostMetadataConfig.Validate if the designated constraints aren't met. type OmitHostMetadataConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OmitHostMetadataConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OmitHostMetadataConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OmitHostMetadataConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OmitHostMetadataConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OmitHostMetadataConfigValidationError) ErrorName() string { return "OmitHostMetadataConfigValidationError" } // Error satisfies the builtin error interface func (e OmitHostMetadataConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOmitHostMetadataConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OmitHostMetadataConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OmitHostMetadataConfigValidationError{} go-control-plane-0.12.0/envoy/config/retry/previous_hosts/000077500000000000000000000000001454502223200236175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/previous_hosts/v2/000077500000000000000000000000001454502223200241465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/previous_hosts/v2/previous_hosts.pb.go000077500000000000000000000164461454502223200302070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/retry/previous_hosts/v2/previous_hosts.proto package previous_hostsv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PreviousHostsPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PreviousHostsPredicate) Reset() { *x = PreviousHostsPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreviousHostsPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreviousHostsPredicate) ProtoMessage() {} func (x *PreviousHostsPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreviousHostsPredicate.ProtoReflect.Descriptor instead. func (*PreviousHostsPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescGZIP(), []int{0} } var File_envoy_config_retry_previous_hosts_v2_previous_hosts_proto protoreflect.FileDescriptor var file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDesc = []byte{ 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0xe5, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescOnce sync.Once file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescData = file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDesc ) func file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescGZIP() []byte { file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescOnce.Do(func() { file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescData) }) return file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDescData } var file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_goTypes = []interface{}{ (*PreviousHostsPredicate)(nil), // 0: envoy.config.retry.previous_hosts.v2.PreviousHostsPredicate } var file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_init() } func file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_init() { if File_envoy_config_retry_previous_hosts_v2_previous_hosts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviousHostsPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_goTypes, DependencyIndexes: file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_depIdxs, MessageInfos: file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_msgTypes, }.Build() File_envoy_config_retry_previous_hosts_v2_previous_hosts_proto = out.File file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_rawDesc = nil file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_goTypes = nil file_envoy_config_retry_previous_hosts_v2_previous_hosts_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/retry/previous_hosts/v2/previous_hosts.pb.validate.go000077500000000000000000000067251454502223200317760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/retry/previous_hosts/v2/previous_hosts.proto package previous_hostsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreviousHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreviousHostsPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreviousHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreviousHostsPredicateMultiError, or nil if none found. func (m *PreviousHostsPredicate) ValidateAll() error { return m.validate(true) } func (m *PreviousHostsPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PreviousHostsPredicateMultiError(errors) } return nil } // PreviousHostsPredicateMultiError is an error wrapping multiple validation // errors returned by PreviousHostsPredicate.ValidateAll() if the designated // constraints aren't met. type PreviousHostsPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreviousHostsPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreviousHostsPredicateMultiError) AllErrors() []error { return m } // PreviousHostsPredicateValidationError is the validation error returned by // PreviousHostsPredicate.Validate if the designated constraints aren't met. type PreviousHostsPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreviousHostsPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreviousHostsPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreviousHostsPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreviousHostsPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreviousHostsPredicateValidationError) ErrorName() string { return "PreviousHostsPredicateValidationError" } // Error satisfies the builtin error interface func (e PreviousHostsPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreviousHostsPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreviousHostsPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreviousHostsPredicateValidationError{} go-control-plane-0.12.0/envoy/config/retry/previous_priorities/000077500000000000000000000000001454502223200246505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/previous_priorities/previous_priorities_config.pb.go000077500000000000000000000256761454502223200332740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/retry/previous_priorities/previous_priorities_config.proto package previous_priorities import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A retry host selector that attempts to spread retries between priorities, even if certain // priorities would not normally be attempted due to higher priorities being available. // // As priorities get excluded, load will be distributed amongst the remaining healthy priorities // based on the relative health of the priorities, matching how load is distributed during regular // host selection. For example, given priority healths of {100, 50, 50}, the original load will be // {100, 0, 0} (since P0 has capacity to handle 100% of the traffic). If P0 is excluded, the load // changes to {0, 50, 50}, because P1 is only able to handle 50% of the traffic, causing the // remaining to spill over to P2. // // Each priority attempted will be excluded until there are no healthy priorities left, at which // point the list of attempted priorities will be reset, essentially starting from the beginning. // For example, given three priorities P0, P1, P2 with healthy % of 100, 0 and 50 respectively, the // following sequence of priorities would be selected (assuming update_frequency = 1): // Attempt 1: P0 (P0 is 100% healthy) // Attempt 2: P2 (P0 already attempted, P2 only healthy priority) // Attempt 3: P0 (no healthy priorities, reset) // Attempt 4: P2 // // In the case of all upstream hosts being unhealthy, no adjustments will be made to the original // priority load, so behavior should be identical to not using this plugin. // // Using this PriorityFilter requires rebuilding the priority load, which runs in O(# of // priorities), which might incur significant overhead for clusters with many priorities. // [#extension: envoy.retry_priorities.previous_priorities] type PreviousPrioritiesConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How often the priority load should be updated based on previously attempted priorities. Useful // to allow each priorities to receive more than one request before being excluded or to reduce // the number of times that the priority load has to be recomputed. // // For example, by setting this to 2, then the first two attempts (initial attempt and first // retry) will use the unmodified priority load. The third and fourth attempt will use priority // load which excludes the priorities routed to with the first two attempts, and the fifth and // sixth attempt will use the priority load excluding the priorities used for the first four // attempts. // // Must be greater than 0. UpdateFrequency int32 `protobuf:"varint,1,opt,name=update_frequency,json=updateFrequency,proto3" json:"update_frequency,omitempty"` } func (x *PreviousPrioritiesConfig) Reset() { *x = PreviousPrioritiesConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreviousPrioritiesConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreviousPrioritiesConfig) ProtoMessage() {} func (x *PreviousPrioritiesConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreviousPrioritiesConfig.ProtoReflect.Descriptor instead. func (*PreviousPrioritiesConfig) Descriptor() ([]byte, []int) { return file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescGZIP(), []int{0} } func (x *PreviousPrioritiesConfig) GetUpdateFrequency() int32 { if x != nil { return x.UpdateFrequency } return 0 } var File_envoy_config_retry_previous_priorities_previous_priorities_config_proto protoreflect.FileDescriptor var file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x42, 0xec, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x38, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x1d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescOnce sync.Once file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescData = file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDesc ) func file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescGZIP() []byte { file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescOnce.Do(func() { file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescData) }) return file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDescData } var file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_goTypes = []interface{}{ (*PreviousPrioritiesConfig)(nil), // 0: envoy.config.retry.previous_priorities.PreviousPrioritiesConfig } var file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_init() } func file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_init() { if File_envoy_config_retry_previous_priorities_previous_priorities_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviousPrioritiesConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_goTypes, DependencyIndexes: file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_depIdxs, MessageInfos: file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_msgTypes, }.Build() File_envoy_config_retry_previous_priorities_previous_priorities_config_proto = out.File file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_rawDesc = nil file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_goTypes = nil file_envoy_config_retry_previous_priorities_previous_priorities_config_proto_depIdxs = nil } previous_priorities_config.pb.validate.go000077500000000000000000000073721454502223200347760ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/retry/previous_priorities// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/retry/previous_priorities/previous_priorities_config.proto package previous_priorities import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreviousPrioritiesConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreviousPrioritiesConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreviousPrioritiesConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreviousPrioritiesConfigMultiError, or nil if none found. func (m *PreviousPrioritiesConfig) ValidateAll() error { return m.validate(true) } func (m *PreviousPrioritiesConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetUpdateFrequency() <= 0 { err := PreviousPrioritiesConfigValidationError{ field: "UpdateFrequency", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PreviousPrioritiesConfigMultiError(errors) } return nil } // PreviousPrioritiesConfigMultiError is an error wrapping multiple validation // errors returned by PreviousPrioritiesConfig.ValidateAll() if the designated // constraints aren't met. type PreviousPrioritiesConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreviousPrioritiesConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreviousPrioritiesConfigMultiError) AllErrors() []error { return m } // PreviousPrioritiesConfigValidationError is the validation error returned by // PreviousPrioritiesConfig.Validate if the designated constraints aren't met. type PreviousPrioritiesConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreviousPrioritiesConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreviousPrioritiesConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreviousPrioritiesConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreviousPrioritiesConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreviousPrioritiesConfigValidationError) ErrorName() string { return "PreviousPrioritiesConfigValidationError" } // Error satisfies the builtin error interface func (e PreviousPrioritiesConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreviousPrioritiesConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreviousPrioritiesConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreviousPrioritiesConfigValidationError{} go-control-plane-0.12.0/envoy/config/route/000077500000000000000000000000001454502223200205145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/route/v3/000077500000000000000000000000001454502223200210445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/route/v3/route.pb.go000077500000000000000000000775551454502223200231570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/route/v3/route.proto package routev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 18] type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. For example, it might match // :ref:`route_config_name // ` in // :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.Rds`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An array of virtual hosts that make up the route table. VirtualHosts []*VirtualHost `protobuf:"bytes,2,rep,name=virtual_hosts,json=virtualHosts,proto3" json:"virtual_hosts,omitempty"` // An array of virtual hosts will be dynamically loaded via the VHDS API. // Both “virtual_hosts“ and “vhds“ fields will be used when present. “virtual_hosts“ can be used // for a base routing table or for infrequently changing virtual hosts. “vhds“ is used for // on-demand discovery of virtual hosts. The contents of these two fields will be merged to // generate a routing table for a given RouteConfiguration, with “vhds“ derived configuration // taking precedence. Vhds *Vhds `protobuf:"bytes,9,opt,name=vhds,proto3" json:"vhds,omitempty"` // Optionally specifies a list of HTTP headers that the connection manager // will consider to be internal only. If they are found on external requests they will be cleaned // prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more // information. InternalOnlyHeaders []string `protobuf:"bytes,3,rep,name=internal_only_headers,json=internalOnlyHeaders,proto3" json:"internal_only_headers,omitempty"` // Specifies a list of HTTP headers that should be added to each response that // the connection manager encodes. Headers specified at this level are applied // after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or // :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // that the connection manager encodes. ResponseHeadersToRemove []string `protobuf:"bytes,5,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Specifies a list of HTTP headers that should be added to each request // routed by the HTTP connection manager. Headers specified at this level are // applied after headers from any enclosed :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` or // :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // routed by the HTTP connection manager. RequestHeadersToRemove []string `protobuf:"bytes,8,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // By default, headers that should be added/removed are evaluated from most to least specific: // // * route level // * virtual host level // * connection manager level // // To allow setting overrides at the route or virtual host level, this order can be reversed // by setting this option to true. Defaults to false. MostSpecificHeaderMutationsWins bool `protobuf:"varint,10,opt,name=most_specific_header_mutations_wins,json=mostSpecificHeaderMutationsWins,proto3" json:"most_specific_header_mutations_wins,omitempty"` // An optional boolean that specifies whether the clusters that the route // table refers to will be validated by the cluster manager. If set to true // and a route refers to a non-existent cluster, the route table will not // load. If set to false and a route refers to a non-existent cluster, the // route table will load and the router filter will return a 404 if the route // is selected at runtime. This setting defaults to true if the route table // is statically defined via the :ref:`route_config // ` // option. This setting default to false if the route table is loaded dynamically via the // :ref:`rds // ` // option. Users may wish to override the default behavior in certain cases (for example when // using CDS with a static route table). ValidateClusters *wrappers.BoolValue `protobuf:"bytes,7,opt,name=validate_clusters,json=validateClusters,proto3" json:"validate_clusters,omitempty"` // The maximum bytes of the response :ref:`direct response body // ` size. If not specified the default // is 4096. // // .. warning:: // // Envoy currently holds the content of :ref:`direct response body // ` in memory. Be careful setting // this to be larger than the default 4KB, since the allocated memory for direct response body // is not subject to data plane buffering controls. MaxDirectResponseBodySizeBytes *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=max_direct_response_body_size_bytes,json=maxDirectResponseBodySizeBytes,proto3" json:"max_direct_response_body_size_bytes,omitempty"` // A list of plugins and their configurations which may be used by a // :ref:`cluster specifier plugin name ` // within the route. All “extension.name“ fields in this list must be unique. ClusterSpecifierPlugins []*ClusterSpecifierPlugin `protobuf:"bytes,12,rep,name=cluster_specifier_plugins,json=clusterSpecifierPlugins,proto3" json:"cluster_specifier_plugins,omitempty"` // Specify a set of default request mirroring policies which apply to all routes under its virtual hosts. // Note that policies are not merged, the most specific non-empty one becomes the mirror policies. RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `protobuf:"bytes,13,rep,name=request_mirror_policies,json=requestMirrorPolicies,proto3" json:"request_mirror_policies,omitempty"` // By default, port in :authority header (if any) is used in host matching. // With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost. // NOTE: this option will not strip the port number (if any) contained in route config // :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field. IgnorePortInHostMatching bool `protobuf:"varint,14,opt,name=ignore_port_in_host_matching,json=ignorePortInHostMatching,proto3" json:"ignore_port_in_host_matching,omitempty"` // Ignore path-parameters in path-matching. // Before RFC3986, URI were like(RFC1808): :///;?# // Envoy by default takes ":path" as ";". // For users who want to only match path on the "" portion, this option should be true. IgnorePathParametersInPathMatching bool `protobuf:"varint,15,opt,name=ignore_path_parameters_in_path_matching,json=ignorePathParametersInPathMatching,proto3" json:"ignore_path_parameters_in_path_matching,omitempty"` // This field can be used to provide RouteConfiguration level per filter config. The key should match the // :ref:`filter config name // `. // See :ref:`Http filter route specific config ` // for details. // [#comment: An entry's value may be wrapped in a // :ref:`FilterConfig` // message to specify additional options.] TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,16,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The metadata field can be used to provide additional information // about the route configuration. It can be used for configuration, stats, and logging. // The metadata should go under the filter namespace that will need it. // For instance, if the metadata is intended for the Router filter, // the filter name should be specified as “envoy.filters.http.router“. Metadata *v3.Metadata `protobuf:"bytes,17,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost { if x != nil { return x.VirtualHosts } return nil } func (x *RouteConfiguration) GetVhds() *Vhds { if x != nil { return x.Vhds } return nil } func (x *RouteConfiguration) GetInternalOnlyHeaders() []string { if x != nil { return x.InternalOnlyHeaders } return nil } func (x *RouteConfiguration) GetResponseHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *RouteConfiguration) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *RouteConfiguration) GetRequestHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *RouteConfiguration) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *RouteConfiguration) GetMostSpecificHeaderMutationsWins() bool { if x != nil { return x.MostSpecificHeaderMutationsWins } return false } func (x *RouteConfiguration) GetValidateClusters() *wrappers.BoolValue { if x != nil { return x.ValidateClusters } return nil } func (x *RouteConfiguration) GetMaxDirectResponseBodySizeBytes() *wrappers.UInt32Value { if x != nil { return x.MaxDirectResponseBodySizeBytes } return nil } func (x *RouteConfiguration) GetClusterSpecifierPlugins() []*ClusterSpecifierPlugin { if x != nil { return x.ClusterSpecifierPlugins } return nil } func (x *RouteConfiguration) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicies } return nil } func (x *RouteConfiguration) GetIgnorePortInHostMatching() bool { if x != nil { return x.IgnorePortInHostMatching } return false } func (x *RouteConfiguration) GetIgnorePathParametersInPathMatching() bool { if x != nil { return x.IgnorePathParametersInPathMatching } return false } func (x *RouteConfiguration) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (x *RouteConfiguration) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } type Vhds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for VHDS. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` } func (x *Vhds) Reset() { *x = Vhds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Vhds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Vhds) ProtoMessage() {} func (x *Vhds) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Vhds.ProtoReflect.Descriptor instead. func (*Vhds) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_proto_rawDescGZIP(), []int{1} } func (x *Vhds) GetConfigSource() *v3.ConfigSource { if x != nil { return x.ConfigSource } return nil } var File_envoy_config_route_v3_route_proto protoreflect.FileDescriptor var file_envoy_config_route_v3_route_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x0c, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x76, 0x68, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x68, 0x64, 0x73, 0x52, 0x04, 0x76, 0x68, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4d, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6d, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x19, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x17, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x27, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x7a, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x04, 0x56, 0x68, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x18, 0x9a, 0xc5, 0x88, 0x1e, 0x13, 0x0a, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x68, 0x64, 0x73, 0x42, 0x81, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_route_v3_route_proto_rawDescOnce sync.Once file_envoy_config_route_v3_route_proto_rawDescData = file_envoy_config_route_v3_route_proto_rawDesc ) func file_envoy_config_route_v3_route_proto_rawDescGZIP() []byte { file_envoy_config_route_v3_route_proto_rawDescOnce.Do(func() { file_envoy_config_route_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_route_v3_route_proto_rawDescData) }) return file_envoy_config_route_v3_route_proto_rawDescData } var file_envoy_config_route_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_route_v3_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.config.route.v3.RouteConfiguration (*Vhds)(nil), // 1: envoy.config.route.v3.Vhds nil, // 2: envoy.config.route.v3.RouteConfiguration.TypedPerFilterConfigEntry (*VirtualHost)(nil), // 3: envoy.config.route.v3.VirtualHost (*v3.HeaderValueOption)(nil), // 4: envoy.config.core.v3.HeaderValueOption (*wrappers.BoolValue)(nil), // 5: google.protobuf.BoolValue (*wrappers.UInt32Value)(nil), // 6: google.protobuf.UInt32Value (*ClusterSpecifierPlugin)(nil), // 7: envoy.config.route.v3.ClusterSpecifierPlugin (*RouteAction_RequestMirrorPolicy)(nil), // 8: envoy.config.route.v3.RouteAction.RequestMirrorPolicy (*v3.Metadata)(nil), // 9: envoy.config.core.v3.Metadata (*v3.ConfigSource)(nil), // 10: envoy.config.core.v3.ConfigSource (*any1.Any)(nil), // 11: google.protobuf.Any } var file_envoy_config_route_v3_route_proto_depIdxs = []int32{ 3, // 0: envoy.config.route.v3.RouteConfiguration.virtual_hosts:type_name -> envoy.config.route.v3.VirtualHost 1, // 1: envoy.config.route.v3.RouteConfiguration.vhds:type_name -> envoy.config.route.v3.Vhds 4, // 2: envoy.config.route.v3.RouteConfiguration.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 4, // 3: envoy.config.route.v3.RouteConfiguration.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 5, // 4: envoy.config.route.v3.RouteConfiguration.validate_clusters:type_name -> google.protobuf.BoolValue 6, // 5: envoy.config.route.v3.RouteConfiguration.max_direct_response_body_size_bytes:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.config.route.v3.RouteConfiguration.cluster_specifier_plugins:type_name -> envoy.config.route.v3.ClusterSpecifierPlugin 8, // 7: envoy.config.route.v3.RouteConfiguration.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy 2, // 8: envoy.config.route.v3.RouteConfiguration.typed_per_filter_config:type_name -> envoy.config.route.v3.RouteConfiguration.TypedPerFilterConfigEntry 9, // 9: envoy.config.route.v3.RouteConfiguration.metadata:type_name -> envoy.config.core.v3.Metadata 10, // 10: envoy.config.route.v3.Vhds.config_source:type_name -> envoy.config.core.v3.ConfigSource 11, // 11: envoy.config.route.v3.RouteConfiguration.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_config_route_v3_route_proto_init() } func file_envoy_config_route_v3_route_proto_init() { if File_envoy_config_route_v3_route_proto != nil { return } file_envoy_config_route_v3_route_components_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_route_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Vhds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_route_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_route_v3_route_proto_goTypes, DependencyIndexes: file_envoy_config_route_v3_route_proto_depIdxs, MessageInfos: file_envoy_config_route_v3_route_proto_msgTypes, }.Build() File_envoy_config_route_v3_route_proto = out.File file_envoy_config_route_v3_route_proto_rawDesc = nil file_envoy_config_route_v3_route_proto_goTypes = nil file_envoy_config_route_v3_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/route/v3/route.pb.validate.go000077500000000000000000000452471454502223200247400ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/route/v3/route.proto package routev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetVirtualHosts() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("VirtualHosts[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetVhds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVhds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "Vhds", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetInternalOnlyHeaders() { _, _ = idx, item if !_RouteConfiguration_InternalOnlyHeaders_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("InternalOnlyHeaders[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := RouteConfigurationValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToRemove() { _, _ = idx, item if !_RouteConfiguration_ResponseHeadersToRemove_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := RouteConfigurationValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if !_RouteConfiguration_RequestHeadersToRemove_Pattern.MatchString(item) { err := RouteConfigurationValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } // no validation rules for MostSpecificHeaderMutationsWins if all { switch v := interface{}(m.GetValidateClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidateClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxDirectResponseBodySizeBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "MaxDirectResponseBodySizeBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "MaxDirectResponseBodySizeBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxDirectResponseBodySizeBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "MaxDirectResponseBodySizeBytes", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetClusterSpecifierPlugins() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ClusterSpecifierPlugins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("ClusterSpecifierPlugins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("ClusterSpecifierPlugins[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestMirrorPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for IgnorePortInHostMatching // no validation rules for IgnorePathParametersInPathMatching { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} var _RouteConfiguration_InternalOnlyHeaders_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteConfiguration_ResponseHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteConfiguration_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on Vhds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Vhds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Vhds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in VhdsMultiError, or nil if none found. func (m *Vhds) ValidateAll() error { return m.validate(true) } func (m *Vhds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := VhdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VhdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VhdsMultiError(errors) } return nil } // VhdsMultiError is an error wrapping multiple validation errors returned by // Vhds.ValidateAll() if the designated constraints aren't met. type VhdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VhdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VhdsMultiError) AllErrors() []error { return m } // VhdsValidationError is the validation error returned by Vhds.Validate if the // designated constraints aren't met. type VhdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VhdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VhdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VhdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VhdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VhdsValidationError) ErrorName() string { return "VhdsValidationError" } // Error satisfies the builtin error interface func (e VhdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVhds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VhdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VhdsValidationError{} go-control-plane-0.12.0/envoy/config/route/v3/route_components.pb.go000077500000000000000000015355431454502223200254210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/route/v3/route_components.proto package routev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v35 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" v34 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type VirtualHost_TlsRequirementType int32 const ( // No TLS requirement for the virtual host. VirtualHost_NONE VirtualHost_TlsRequirementType = 0 // External requests must use TLS. If a request is external and it is not // using TLS, a 301 redirect will be sent telling the client to use HTTPS. VirtualHost_EXTERNAL_ONLY VirtualHost_TlsRequirementType = 1 // All requests must use TLS. If a request is not using TLS, a 301 redirect // will be sent telling the client to use HTTPS. VirtualHost_ALL VirtualHost_TlsRequirementType = 2 ) // Enum value maps for VirtualHost_TlsRequirementType. var ( VirtualHost_TlsRequirementType_name = map[int32]string{ 0: "NONE", 1: "EXTERNAL_ONLY", 2: "ALL", } VirtualHost_TlsRequirementType_value = map[string]int32{ "NONE": 0, "EXTERNAL_ONLY": 1, "ALL": 2, } ) func (x VirtualHost_TlsRequirementType) Enum() *VirtualHost_TlsRequirementType { p := new(VirtualHost_TlsRequirementType) *p = x return p } func (x VirtualHost_TlsRequirementType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VirtualHost_TlsRequirementType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[0].Descriptor() } func (VirtualHost_TlsRequirementType) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[0] } func (x VirtualHost_TlsRequirementType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use VirtualHost_TlsRequirementType.Descriptor instead. func (VirtualHost_TlsRequirementType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{0, 0} } type RouteAction_ClusterNotFoundResponseCode int32 const ( // HTTP status code - 503 Service Unavailable. RouteAction_SERVICE_UNAVAILABLE RouteAction_ClusterNotFoundResponseCode = 0 // HTTP status code - 404 Not Found. RouteAction_NOT_FOUND RouteAction_ClusterNotFoundResponseCode = 1 // HTTP status code - 500 Internal Server Error. RouteAction_INTERNAL_SERVER_ERROR RouteAction_ClusterNotFoundResponseCode = 2 ) // Enum value maps for RouteAction_ClusterNotFoundResponseCode. var ( RouteAction_ClusterNotFoundResponseCode_name = map[int32]string{ 0: "SERVICE_UNAVAILABLE", 1: "NOT_FOUND", 2: "INTERNAL_SERVER_ERROR", } RouteAction_ClusterNotFoundResponseCode_value = map[string]int32{ "SERVICE_UNAVAILABLE": 0, "NOT_FOUND": 1, "INTERNAL_SERVER_ERROR": 2, } ) func (x RouteAction_ClusterNotFoundResponseCode) Enum() *RouteAction_ClusterNotFoundResponseCode { p := new(RouteAction_ClusterNotFoundResponseCode) *p = x return p } func (x RouteAction_ClusterNotFoundResponseCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RouteAction_ClusterNotFoundResponseCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[1].Descriptor() } func (RouteAction_ClusterNotFoundResponseCode) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[1] } func (x RouteAction_ClusterNotFoundResponseCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RouteAction_ClusterNotFoundResponseCode.Descriptor instead. func (RouteAction_ClusterNotFoundResponseCode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 0} } // Configures :ref:`internal redirect ` behavior. // [#next-major-version: remove this definition - it's defined in the InternalRedirectPolicy message.] // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. type RouteAction_InternalRedirectAction int32 const ( RouteAction_PASS_THROUGH_INTERNAL_REDIRECT RouteAction_InternalRedirectAction = 0 RouteAction_HANDLE_INTERNAL_REDIRECT RouteAction_InternalRedirectAction = 1 ) // Enum value maps for RouteAction_InternalRedirectAction. var ( RouteAction_InternalRedirectAction_name = map[int32]string{ 0: "PASS_THROUGH_INTERNAL_REDIRECT", 1: "HANDLE_INTERNAL_REDIRECT", } RouteAction_InternalRedirectAction_value = map[string]int32{ "PASS_THROUGH_INTERNAL_REDIRECT": 0, "HANDLE_INTERNAL_REDIRECT": 1, } ) func (x RouteAction_InternalRedirectAction) Enum() *RouteAction_InternalRedirectAction { p := new(RouteAction_InternalRedirectAction) *p = x return p } func (x RouteAction_InternalRedirectAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RouteAction_InternalRedirectAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[2].Descriptor() } func (RouteAction_InternalRedirectAction) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[2] } func (x RouteAction_InternalRedirectAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RouteAction_InternalRedirectAction.Descriptor instead. func (RouteAction_InternalRedirectAction) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1} } type RetryPolicy_ResetHeaderFormat int32 const ( RetryPolicy_SECONDS RetryPolicy_ResetHeaderFormat = 0 RetryPolicy_UNIX_TIMESTAMP RetryPolicy_ResetHeaderFormat = 1 ) // Enum value maps for RetryPolicy_ResetHeaderFormat. var ( RetryPolicy_ResetHeaderFormat_name = map[int32]string{ 0: "SECONDS", 1: "UNIX_TIMESTAMP", } RetryPolicy_ResetHeaderFormat_value = map[string]int32{ "SECONDS": 0, "UNIX_TIMESTAMP": 1, } ) func (x RetryPolicy_ResetHeaderFormat) Enum() *RetryPolicy_ResetHeaderFormat { p := new(RetryPolicy_ResetHeaderFormat) *p = x return p } func (x RetryPolicy_ResetHeaderFormat) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RetryPolicy_ResetHeaderFormat) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[3].Descriptor() } func (RetryPolicy_ResetHeaderFormat) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[3] } func (x RetryPolicy_ResetHeaderFormat) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RetryPolicy_ResetHeaderFormat.Descriptor instead. func (RetryPolicy_ResetHeaderFormat) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 0} } type RedirectAction_RedirectResponseCode int32 const ( // Moved Permanently HTTP Status Code - 301. RedirectAction_MOVED_PERMANENTLY RedirectAction_RedirectResponseCode = 0 // Found HTTP Status Code - 302. RedirectAction_FOUND RedirectAction_RedirectResponseCode = 1 // See Other HTTP Status Code - 303. RedirectAction_SEE_OTHER RedirectAction_RedirectResponseCode = 2 // Temporary Redirect HTTP Status Code - 307. RedirectAction_TEMPORARY_REDIRECT RedirectAction_RedirectResponseCode = 3 // Permanent Redirect HTTP Status Code - 308. RedirectAction_PERMANENT_REDIRECT RedirectAction_RedirectResponseCode = 4 ) // Enum value maps for RedirectAction_RedirectResponseCode. var ( RedirectAction_RedirectResponseCode_name = map[int32]string{ 0: "MOVED_PERMANENTLY", 1: "FOUND", 2: "SEE_OTHER", 3: "TEMPORARY_REDIRECT", 4: "PERMANENT_REDIRECT", } RedirectAction_RedirectResponseCode_value = map[string]int32{ "MOVED_PERMANENTLY": 0, "FOUND": 1, "SEE_OTHER": 2, "TEMPORARY_REDIRECT": 3, "PERMANENT_REDIRECT": 4, } ) func (x RedirectAction_RedirectResponseCode) Enum() *RedirectAction_RedirectResponseCode { p := new(RedirectAction_RedirectResponseCode) *p = x return p } func (x RedirectAction_RedirectResponseCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RedirectAction_RedirectResponseCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[4].Descriptor() } func (RedirectAction_RedirectResponseCode) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[4] } func (x RedirectAction_RedirectResponseCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RedirectAction_RedirectResponseCode.Descriptor instead. func (RedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{11, 0} } type RateLimit_Action_MetaData_Source int32 const ( // Query :ref:`dynamic metadata ` RateLimit_Action_MetaData_DYNAMIC RateLimit_Action_MetaData_Source = 0 // Query :ref:`route entry metadata ` RateLimit_Action_MetaData_ROUTE_ENTRY RateLimit_Action_MetaData_Source = 1 ) // Enum value maps for RateLimit_Action_MetaData_Source. var ( RateLimit_Action_MetaData_Source_name = map[int32]string{ 0: "DYNAMIC", 1: "ROUTE_ENTRY", } RateLimit_Action_MetaData_Source_value = map[string]int32{ "DYNAMIC": 0, "ROUTE_ENTRY": 1, } ) func (x RateLimit_Action_MetaData_Source) Enum() *RateLimit_Action_MetaData_Source { p := new(RateLimit_Action_MetaData_Source) *p = x return p } func (x RateLimit_Action_MetaData_Source) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimit_Action_MetaData_Source) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_route_v3_route_components_proto_enumTypes[5].Descriptor() } func (RateLimit_Action_MetaData_Source) Type() protoreflect.EnumType { return &file_envoy_config_route_v3_route_components_proto_enumTypes[5] } func (x RateLimit_Action_MetaData_Source) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimit_Action_MetaData_Source.Descriptor instead. func (RateLimit_Action_MetaData_Source) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 8, 0} } // The top level element in the routing configuration is a virtual host. Each virtual host has // a logical name as well as a set of domains that get routed to it based on the incoming request's // host header. This allows a single listener to service multiple top level domain path trees. Once // a virtual host is selected based on the domain, the routes are processed in order to see which // upstream cluster to route to or whether to perform a redirect. // [#next-free-field: 25] type VirtualHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The logical name of the virtual host. This is used when emitting certain // statistics but is not relevant for routing. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A list of domains (host/authority header) that will be matched to this // virtual host. Wildcard hosts are supported in the suffix or prefix form. // // Domain search order: // 1. Exact domain names: “www.foo.com“. // 2. Suffix domain wildcards: “*.foo.com“ or “*-bar.foo.com“. // 3. Prefix domain wildcards: “foo.*“ or “foo-*“. // 4. Special wildcard “*“ matching any domain. // // .. note:: // // The wildcard will not match the empty string. // e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``. // The longest wildcards match first. // Only a single virtual host in the entire route configuration can match on ``*``. A domain // must be unique across all virtual hosts or the config will fail to load. // // Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE. Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"` // The list of routes that will be matched, in order, for incoming requests. // The first route that matches will be used. // Only one of this and “matcher“ can be specified. Routes []*Route `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"` // [#next-major-version: This should be included in a oneof with routes wrapped in a message.] // The match tree to use when resolving route actions for incoming requests. Only one of this and “routes“ // can be specified. Matcher *v3.Matcher `protobuf:"bytes,21,opt,name=matcher,proto3" json:"matcher,omitempty"` // Specifies the type of TLS enforcement the virtual host expects. If this option is not // specified, there is no TLS requirement for the virtual host. RequireTls VirtualHost_TlsRequirementType `protobuf:"varint,4,opt,name=require_tls,json=requireTls,proto3,enum=envoy.config.route.v3.VirtualHost_TlsRequirementType" json:"require_tls,omitempty"` // A list of virtual clusters defined for this virtual host. Virtual clusters // are used for additional statistics gathering. VirtualClusters []*VirtualCluster `protobuf:"bytes,5,rep,name=virtual_clusters,json=virtualClusters,proto3" json:"virtual_clusters,omitempty"` // Specifies a set of rate limit configurations that will be applied to the // virtual host. RateLimits []*RateLimit `protobuf:"bytes,6,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Specifies a list of HTTP headers that should be added to each request // handled by this virtual host. Headers specified at this level are applied // after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the // enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,7,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // handled by this virtual host. RequestHeadersToRemove []string `protobuf:"bytes,13,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a list of HTTP headers that should be added to each response // handled by this virtual host. Headers specified at this level are applied // after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the // enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,10,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // handled by this virtual host. ResponseHeadersToRemove []string `protobuf:"bytes,11,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is // found in the // :ref:`VirtualHost.typed_per_filter_config`. // // .. attention:: // // This option has been deprecated. Please use // :ref:`VirtualHost.typed_per_filter_config` // to configure the CORS HTTP filter. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. Cors *CorsPolicy `protobuf:"bytes,8,opt,name=cors,proto3" json:"cors,omitempty"` // This field can be used to provide virtual host level per filter config. The key should match the // :ref:`filter config name // `. // See :ref:`Http filter route specific config ` // for details. // [#comment: An entry's value may be wrapped in a // :ref:`FilterConfig` // message to specify additional options.] TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,15,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Decides whether the :ref:`x-envoy-attempt-count // ` header should be included // in the upstream request. Setting this option will cause it to override any existing header // value, so in the case of two Envoys on the request path with this option enabled, the upstream // will see the attempt count as perceived by the second Envoy. Defaults to false. // This header is unaffected by the // :ref:`suppress_envoy_headers // ` flag. // // [#next-major-version: rename to include_attempt_count_in_request.] IncludeRequestAttemptCount bool `protobuf:"varint,14,opt,name=include_request_attempt_count,json=includeRequestAttemptCount,proto3" json:"include_request_attempt_count,omitempty"` // Decides whether the :ref:`x-envoy-attempt-count // ` header should be included // in the downstream response. Setting this option will cause the router to override any existing header // value, so in the case of two Envoys on the request path with this option enabled, the downstream // will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. // This header is unaffected by the // :ref:`suppress_envoy_headers // ` flag. IncludeAttemptCountInResponse bool `protobuf:"varint,19,opt,name=include_attempt_count_in_response,json=includeAttemptCountInResponse,proto3" json:"include_attempt_count_in_response,omitempty"` // Indicates the retry policy for all routes in this virtual host. Note that setting a // route level entry will take precedence over this config and it'll be treated // independently (e.g.: values are not inherited). RetryPolicy *RetryPolicy `protobuf:"bytes,16,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` // [#not-implemented-hide:] // Specifies the configuration for retry policy extension. Note that setting a route level entry // will take precedence over this config and it'll be treated independently (e.g.: values are not // inherited). :ref:`Retry policy ` should not be // set if this field is used. RetryPolicyTypedConfig *any1.Any `protobuf:"bytes,20,opt,name=retry_policy_typed_config,json=retryPolicyTypedConfig,proto3" json:"retry_policy_typed_config,omitempty"` // Indicates the hedge policy for all routes in this virtual host. Note that setting a // route level entry will take precedence over this config and it'll be treated // independently (e.g.: values are not inherited). HedgePolicy *HedgePolicy `protobuf:"bytes,17,opt,name=hedge_policy,json=hedgePolicy,proto3" json:"hedge_policy,omitempty"` // Decides whether to include the :ref:`x-envoy-is-timeout-retry ` // request header in retries initiated by per try timeouts. IncludeIsTimeoutRetryHeader bool `protobuf:"varint,23,opt,name=include_is_timeout_retry_header,json=includeIsTimeoutRetryHeader,proto3" json:"include_is_timeout_retry_header,omitempty"` // The maximum bytes which will be buffered for retries and shadowing. // If set and a route-specific limit is not set, the bytes actually buffered will be the minimum // value of this and the listener per_connection_buffer_limit_bytes. PerRequestBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,18,opt,name=per_request_buffer_limit_bytes,json=perRequestBufferLimitBytes,proto3" json:"per_request_buffer_limit_bytes,omitempty"` // Specify a set of default request mirroring policies for every route under this virtual host. // It takes precedence over the route config mirror policy entirely. // That is, policies are not merged, the most specific non-empty one becomes the mirror policies. RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `protobuf:"bytes,22,rep,name=request_mirror_policies,json=requestMirrorPolicies,proto3" json:"request_mirror_policies,omitempty"` // The metadata field can be used to provide additional information // about the virtual host. It can be used for configuration, stats, and logging. // The metadata should go under the filter namespace that will need it. // For instance, if the metadata is intended for the Router filter, // the filter name should be specified as “envoy.filters.http.router“. Metadata *v31.Metadata `protobuf:"bytes,24,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *VirtualHost) Reset() { *x = VirtualHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VirtualHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*VirtualHost) ProtoMessage() {} func (x *VirtualHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead. func (*VirtualHost) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{0} } func (x *VirtualHost) GetName() string { if x != nil { return x.Name } return "" } func (x *VirtualHost) GetDomains() []string { if x != nil { return x.Domains } return nil } func (x *VirtualHost) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } func (x *VirtualHost) GetMatcher() *v3.Matcher { if x != nil { return x.Matcher } return nil } func (x *VirtualHost) GetRequireTls() VirtualHost_TlsRequirementType { if x != nil { return x.RequireTls } return VirtualHost_NONE } func (x *VirtualHost) GetVirtualClusters() []*VirtualCluster { if x != nil { return x.VirtualClusters } return nil } func (x *VirtualHost) GetRateLimits() []*RateLimit { if x != nil { return x.RateLimits } return nil } func (x *VirtualHost) GetRequestHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *VirtualHost) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *VirtualHost) GetResponseHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *VirtualHost) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *VirtualHost) GetCors() *CorsPolicy { if x != nil { return x.Cors } return nil } func (x *VirtualHost) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (x *VirtualHost) GetIncludeRequestAttemptCount() bool { if x != nil { return x.IncludeRequestAttemptCount } return false } func (x *VirtualHost) GetIncludeAttemptCountInResponse() bool { if x != nil { return x.IncludeAttemptCountInResponse } return false } func (x *VirtualHost) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } func (x *VirtualHost) GetRetryPolicyTypedConfig() *any1.Any { if x != nil { return x.RetryPolicyTypedConfig } return nil } func (x *VirtualHost) GetHedgePolicy() *HedgePolicy { if x != nil { return x.HedgePolicy } return nil } func (x *VirtualHost) GetIncludeIsTimeoutRetryHeader() bool { if x != nil { return x.IncludeIsTimeoutRetryHeader } return false } func (x *VirtualHost) GetPerRequestBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerRequestBufferLimitBytes } return nil } func (x *VirtualHost) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicies } return nil } func (x *VirtualHost) GetMetadata() *v31.Metadata { if x != nil { return x.Metadata } return nil } // A filter-defined action type. type FilterAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Action *any1.Any `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` } func (x *FilterAction) Reset() { *x = FilterAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterAction) ProtoMessage() {} func (x *FilterAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterAction.ProtoReflect.Descriptor instead. func (*FilterAction) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{1} } func (x *FilterAction) GetAction() *any1.Any { if x != nil { return x.Action } return nil } // This can be used in route matcher :ref:`VirtualHost.matcher `. // When the matcher matches, routes will be matched and run. type RouteList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of routes that will be matched and run, in order. The first route that matches will be used. Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteList) Reset() { *x = RouteList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteList) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteList) ProtoMessage() {} func (x *RouteList) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteList.ProtoReflect.Descriptor instead. func (*RouteList) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{2} } func (x *RouteList) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } // A route is both a specification of how to match a request as well as an indication of what to do // next (e.g., redirect, forward, rewrite, etc.). // // .. attention:: // // Envoy supports routing on HTTP method via :ref:`header matching // `. // // [#next-free-field: 20] type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name for the route. Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"` // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Types that are assignable to Action: // // *Route_Route // *Route_Redirect // *Route_DirectResponse // *Route_FilterAction // *Route_NonForwardingAction Action isRoute_Action `protobuf_oneof:"action"` // The Metadata field can be used to provide additional information // about the route. It can be used for configuration, stats, and logging. // The metadata should go under the filter namespace that will need it. // For instance, if the metadata is intended for the Router filter, // the filter name should be specified as “envoy.filters.http.router“. Metadata *v31.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` // Decorator for the matched route. Decorator *Decorator `protobuf:"bytes,5,opt,name=decorator,proto3" json:"decorator,omitempty"` // This field can be used to provide route specific per filter config. The key should match the // :ref:`filter config name // `. // See :ref:`Http filter route specific config ` // for details. // [#comment: An entry's value may be wrapped in a // :ref:`FilterConfig` // message to specify additional options.] TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,13,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies a set of headers that will be added to requests matching this // route. Headers specified at this level are applied before headers from the // enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and // :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,9,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request // matching this route. RequestHeadersToRemove []string `protobuf:"bytes,12,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a set of headers that will be added to responses to requests // matching this route. Headers specified at this level are applied before // headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and // :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including // details on header value syntax, see the documentation on // :ref:`custom request headers `. ResponseHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,10,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each response // to requests matching this route. ResponseHeadersToRemove []string `protobuf:"bytes,11,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // Presence of the object defines whether the connection manager's tracing configuration // is overridden by this route specific instance. Tracing *Tracing `protobuf:"bytes,15,opt,name=tracing,proto3" json:"tracing,omitempty"` // The maximum bytes which will be buffered for retries and shadowing. // If set, the bytes actually buffered will be the minimum value of this and the // listener per_connection_buffer_limit_bytes. PerRequestBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=per_request_buffer_limit_bytes,json=perRequestBufferLimitBytes,proto3" json:"per_request_buffer_limit_bytes,omitempty"` // The human readable prefix to use when emitting statistics for this endpoint. // The statistics are rooted at vhost..route.. // This should be set for highly critical // endpoints that one wishes to get “per-route” statistics on. // If not set, endpoint statistics are not generated. // // The emitted statistics are the same as those documented for :ref:`virtual clusters `. // // .. warning:: // // We do not recommend setting up a stat prefix for // every application endpoint. This is both not easily maintainable and // statistics use a non-trivial amount of memory(approximately 1KiB per route). StatPrefix string `protobuf:"bytes,19,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{3} } func (x *Route) GetName() string { if x != nil { return x.Name } return "" } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (m *Route) GetAction() isRoute_Action { if m != nil { return m.Action } return nil } func (x *Route) GetRoute() *RouteAction { if x, ok := x.GetAction().(*Route_Route); ok { return x.Route } return nil } func (x *Route) GetRedirect() *RedirectAction { if x, ok := x.GetAction().(*Route_Redirect); ok { return x.Redirect } return nil } func (x *Route) GetDirectResponse() *DirectResponseAction { if x, ok := x.GetAction().(*Route_DirectResponse); ok { return x.DirectResponse } return nil } func (x *Route) GetFilterAction() *FilterAction { if x, ok := x.GetAction().(*Route_FilterAction); ok { return x.FilterAction } return nil } func (x *Route) GetNonForwardingAction() *NonForwardingAction { if x, ok := x.GetAction().(*Route_NonForwardingAction); ok { return x.NonForwardingAction } return nil } func (x *Route) GetMetadata() *v31.Metadata { if x != nil { return x.Metadata } return nil } func (x *Route) GetDecorator() *Decorator { if x != nil { return x.Decorator } return nil } func (x *Route) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (x *Route) GetRequestHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *Route) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *Route) GetResponseHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *Route) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *Route) GetTracing() *Tracing { if x != nil { return x.Tracing } return nil } func (x *Route) GetPerRequestBufferLimitBytes() *wrappers.UInt32Value { if x != nil { return x.PerRequestBufferLimitBytes } return nil } func (x *Route) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } type isRoute_Action interface { isRoute_Action() } type Route_Route struct { // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3,oneof"` } type Route_Redirect struct { // Return a redirect. Redirect *RedirectAction `protobuf:"bytes,3,opt,name=redirect,proto3,oneof"` } type Route_DirectResponse struct { // Return an arbitrary HTTP response directly, without proxying. DirectResponse *DirectResponseAction `protobuf:"bytes,7,opt,name=direct_response,json=directResponse,proto3,oneof"` } type Route_FilterAction struct { // [#not-implemented-hide:] // A filter-defined action (e.g., it could dynamically generate the RouteAction). // [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when // implemented] FilterAction *FilterAction `protobuf:"bytes,17,opt,name=filter_action,json=filterAction,proto3,oneof"` } type Route_NonForwardingAction struct { // [#not-implemented-hide:] // An action used when the route will generate a response directly, // without forwarding to an upstream host. This will be used in non-proxy // xDS clients like the gRPC server. It could also be used in the future // in Envoy for a filter that directly generates responses for requests. NonForwardingAction *NonForwardingAction `protobuf:"bytes,18,opt,name=non_forwarding_action,json=nonForwardingAction,proto3,oneof"` } func (*Route_Route) isRoute_Action() {} func (*Route_Redirect) isRoute_Action() {} func (*Route_DirectResponse) isRoute_Action() {} func (*Route_FilterAction) isRoute_Action() {} func (*Route_NonForwardingAction) isRoute_Action() {} // Compared to the :ref:`cluster ` field that specifies a // single upstream cluster as the target of a request, the :ref:`weighted_clusters // ` option allows for specification of // multiple upstream clusters along with weights that indicate the percentage of // traffic to be forwarded to each cluster. The router selects an upstream cluster based on the // weights. type WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` // Specifies the total weight across all clusters. The sum of all cluster weights must equal this // value, if this is greater than 0. // This field is now deprecated, and the client will use the sum of all // cluster weights. It is up to the management server to supply the correct weights. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. TotalWeight *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=total_weight,json=totalWeight,proto3" json:"total_weight,omitempty"` // Specifies the runtime key prefix that should be used to construct the // runtime keys associated with each cluster. When the “runtime_key_prefix“ is // specified, the router will look for weights associated with each upstream // cluster under the key “runtime_key_prefix“ + “.“ + “cluster[i].name“ where // “cluster[i]“ denotes an entry in the clusters array field. If the runtime // key for the cluster does not exist, the value specified in the // configuration file will be used as the default weight. See the :ref:`runtime documentation // ` for how key names map to the underlying implementation. RuntimeKeyPrefix string `protobuf:"bytes,2,opt,name=runtime_key_prefix,json=runtimeKeyPrefix,proto3" json:"runtime_key_prefix,omitempty"` // Types that are assignable to RandomValueSpecifier: // // *WeightedCluster_HeaderName RandomValueSpecifier isWeightedCluster_RandomValueSpecifier `protobuf_oneof:"random_value_specifier"` } func (x *WeightedCluster) Reset() { *x = WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster) ProtoMessage() {} func (x *WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster.ProtoReflect.Descriptor instead. func (*WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{4} } func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *WeightedCluster) GetTotalWeight() *wrappers.UInt32Value { if x != nil { return x.TotalWeight } return nil } func (x *WeightedCluster) GetRuntimeKeyPrefix() string { if x != nil { return x.RuntimeKeyPrefix } return "" } func (m *WeightedCluster) GetRandomValueSpecifier() isWeightedCluster_RandomValueSpecifier { if m != nil { return m.RandomValueSpecifier } return nil } func (x *WeightedCluster) GetHeaderName() string { if x, ok := x.GetRandomValueSpecifier().(*WeightedCluster_HeaderName); ok { return x.HeaderName } return "" } type isWeightedCluster_RandomValueSpecifier interface { isWeightedCluster_RandomValueSpecifier() } type WeightedCluster_HeaderName struct { // Specifies the header name that is used to look up the random value passed in the request header. // This is used to ensure consistent cluster picking across multiple proxy levels for weighted traffic. // If header is not present or invalid, Envoy will fall back to use the internally generated random value. // This header is expected to be single-valued header as we only want to have one selected value throughout // the process for the consistency. And the value is a unsigned number between 0 and UINT64_MAX. HeaderName string `protobuf:"bytes,4,opt,name=header_name,json=headerName,proto3,oneof"` } func (*WeightedCluster_HeaderName) isWeightedCluster_RandomValueSpecifier() {} // Configuration for a cluster specifier plugin. type ClusterSpecifierPlugin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the plugin and its opaque configuration. Extension *v31.TypedExtensionConfig `protobuf:"bytes,1,opt,name=extension,proto3" json:"extension,omitempty"` // If is_optional is not set or is set to false and the plugin defined by this message is not a // supported type, the containing resource is NACKed. If is_optional is set to true, the resource // would not be NACKed for this reason. In this case, routes referencing this plugin's name would // not be treated as an illegal configuration, but would result in a failure if the route is // selected. IsOptional bool `protobuf:"varint,2,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"` } func (x *ClusterSpecifierPlugin) Reset() { *x = ClusterSpecifierPlugin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterSpecifierPlugin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterSpecifierPlugin) ProtoMessage() {} func (x *ClusterSpecifierPlugin) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterSpecifierPlugin.ProtoReflect.Descriptor instead. func (*ClusterSpecifierPlugin) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{5} } func (x *ClusterSpecifierPlugin) GetExtension() *v31.TypedExtensionConfig { if x != nil { return x.Extension } return nil } func (x *ClusterSpecifierPlugin) GetIsOptional() bool { if x != nil { return x.IsOptional } return false } // [#next-free-field: 16] type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PathSpecifier: // // *RouteMatch_Prefix // *RouteMatch_Path // *RouteMatch_SafeRegex // *RouteMatch_ConnectMatcher_ // *RouteMatch_PathSeparatedPrefix // *RouteMatch_PathMatchPolicy PathSpecifier isRouteMatch_PathSpecifier `protobuf_oneof:"path_specifier"` // Indicates that prefix/path matching should be case sensitive. The default // is true. Ignored for safe_regex matching. CaseSensitive *wrappers.BoolValue `protobuf:"bytes,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` // Indicates that the route should additionally match on a runtime key. Every time the route // is considered for a match, it must also fall under the percentage of matches indicated by // this field. For some fraction N/D, a random number in the range [0,D) is selected. If the // number is <= the value of the numerator N, or if the key is not present, the default // value, the router continues to evaluate the remaining match criteria. A runtime_fraction // route configuration can be used to roll out route changes in a gradual manner without full // code/config deploys. Refer to the :ref:`traffic shifting // ` docs for additional documentation. // // .. note:: // // Parsing this field is implemented such that the runtime key's data may be represented // as a FractionalPercent proto represented as JSON/YAML and may also be represented as an // integer with the assumption that the value is an integral percentage out of 100. For // instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent // whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics. RuntimeFraction *v31.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Specifies a set of headers that the route should match on. The router will // check the request’s headers against all the specified headers in the route // config. A match will happen if all the headers in the route are present in // the request with the same values (or based on presence if the value field // is not in the config). Headers []*HeaderMatcher `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty"` // Specifies a set of URL query parameters on which the route should // match. The router will check the query string from the “path“ header // against all the specified query parameters. If the number of specified // query parameters is nonzero, they all must match the “path“ header's // query string for a match to occur. In the event query parameters are // repeated, only the first value for each key will be considered. // // .. note:: // // If query parameters are used to pass request message fields when // `grpc_json_transcoder `_ // is used, the transcoded message fields maybe different. The query parameters are // url encoded, but the message fields are not. For example, if a query // parameter is "foo%20bar", the message field will be "foo bar". QueryParameters []*QueryParameterMatcher `protobuf:"bytes,7,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"` // If specified, only gRPC requests will be matched. The router will check // that the content-type header has a application/grpc or one of the various // application/grpc+ values. Grpc *RouteMatch_GrpcRouteMatchOptions `protobuf:"bytes,8,opt,name=grpc,proto3" json:"grpc,omitempty"` // If specified, the client tls context will be matched against the defined // match options. // // [#next-major-version: unify with RBAC] TlsContext *RouteMatch_TlsContextMatchOptions `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"` // Specifies a set of dynamic metadata matchers on which the route should match. // The router will check the dynamic metadata against all the specified dynamic metadata matchers. // If the number of specified dynamic metadata matchers is nonzero, they all must match the // dynamic metadata for a match to occur. DynamicMetadata []*v32.MetadataMatcher `protobuf:"bytes,13,rep,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{6} } func (m *RouteMatch) GetPathSpecifier() isRouteMatch_PathSpecifier { if m != nil { return m.PathSpecifier } return nil } func (x *RouteMatch) GetPrefix() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_Prefix); ok { return x.Prefix } return "" } func (x *RouteMatch) GetPath() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_Path); ok { return x.Path } return "" } func (x *RouteMatch) GetSafeRegex() *v32.RegexMatcher { if x, ok := x.GetPathSpecifier().(*RouteMatch_SafeRegex); ok { return x.SafeRegex } return nil } func (x *RouteMatch) GetConnectMatcher() *RouteMatch_ConnectMatcher { if x, ok := x.GetPathSpecifier().(*RouteMatch_ConnectMatcher_); ok { return x.ConnectMatcher } return nil } func (x *RouteMatch) GetPathSeparatedPrefix() string { if x, ok := x.GetPathSpecifier().(*RouteMatch_PathSeparatedPrefix); ok { return x.PathSeparatedPrefix } return "" } func (x *RouteMatch) GetPathMatchPolicy() *v31.TypedExtensionConfig { if x, ok := x.GetPathSpecifier().(*RouteMatch_PathMatchPolicy); ok { return x.PathMatchPolicy } return nil } func (x *RouteMatch) GetCaseSensitive() *wrappers.BoolValue { if x != nil { return x.CaseSensitive } return nil } func (x *RouteMatch) GetRuntimeFraction() *v31.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RouteMatch) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *RouteMatch) GetQueryParameters() []*QueryParameterMatcher { if x != nil { return x.QueryParameters } return nil } func (x *RouteMatch) GetGrpc() *RouteMatch_GrpcRouteMatchOptions { if x != nil { return x.Grpc } return nil } func (x *RouteMatch) GetTlsContext() *RouteMatch_TlsContextMatchOptions { if x != nil { return x.TlsContext } return nil } func (x *RouteMatch) GetDynamicMetadata() []*v32.MetadataMatcher { if x != nil { return x.DynamicMetadata } return nil } type isRouteMatch_PathSpecifier interface { isRouteMatch_PathSpecifier() } type RouteMatch_Prefix struct { // If specified, the route is a prefix rule meaning that the prefix must // match the beginning of the “:path“ header. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"` } type RouteMatch_Path struct { // If specified, the route is an exact path rule meaning that the path must // exactly match the “:path“ header once the query string is removed. Path string `protobuf:"bytes,2,opt,name=path,proto3,oneof"` } type RouteMatch_SafeRegex struct { // If specified, the route is a regular expression rule meaning that the // regex must match the “:path“ header once the query string is removed. The entire path // (without the query string) must match the regex. The rule will not match if only a // subsequence of the “:path“ header matches the regex. // // [#next-major-version: In the v3 API we should redo how path specification works such // that we utilize StringMatcher, and additionally have consistent options around whether we // strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive // to deprecate the existing options. We should even consider whether we want to do away with // path_specifier entirely and just rely on a set of header matchers which can already match // on :path, etc. The issue with that is it is unclear how to generically deal with query string // stripping. This needs more thought.] SafeRegex *v32.RegexMatcher `protobuf:"bytes,10,opt,name=safe_regex,json=safeRegex,proto3,oneof"` } type RouteMatch_ConnectMatcher_ struct { // If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. // Note that this will not match other Extended CONNECT requests (WebSocket and the like) as // they are normalized in Envoy as HTTP/1.1 style upgrades. // This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, // where Extended CONNECT requests may have a path, the path matchers will work if // there is a path present. // Note that CONNECT support is currently considered alpha in Envoy. // [#comment: TODO(htuch): Replace the above comment with an alpha tag.] ConnectMatcher *RouteMatch_ConnectMatcher `protobuf:"bytes,12,opt,name=connect_matcher,json=connectMatcher,proto3,oneof"` } type RouteMatch_PathSeparatedPrefix struct { // If specified, the route is a path-separated prefix rule meaning that the // “:path“ header (without the query string) must either exactly match the // “path_separated_prefix“ or have it as a prefix, followed by “/“ // // For example, “/api/dev“ would match // “/api/dev“, “/api/dev/“, “/api/dev/v1“, and “/api/dev?param=true“ // but would not match “/api/developer“ // // Expect the value to not contain “?“ or “#“ and not to end in “/“ PathSeparatedPrefix string `protobuf:"bytes,14,opt,name=path_separated_prefix,json=pathSeparatedPrefix,proto3,oneof"` } type RouteMatch_PathMatchPolicy struct { // [#extension-category: envoy.path.match] PathMatchPolicy *v31.TypedExtensionConfig `protobuf:"bytes,15,opt,name=path_match_policy,json=pathMatchPolicy,proto3,oneof"` } func (*RouteMatch_Prefix) isRouteMatch_PathSpecifier() {} func (*RouteMatch_Path) isRouteMatch_PathSpecifier() {} func (*RouteMatch_SafeRegex) isRouteMatch_PathSpecifier() {} func (*RouteMatch_ConnectMatcher_) isRouteMatch_PathSpecifier() {} func (*RouteMatch_PathSeparatedPrefix) isRouteMatch_PathSpecifier() {} func (*RouteMatch_PathMatchPolicy) isRouteMatch_PathSpecifier() {} // Cors policy configuration. // // .. attention:: // // This message has been deprecated. Please use // :ref:`CorsPolicy in filter extension ` // as as alternative. // // [#next-free-field: 13] type CorsPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies string patterns that match allowed origins. An origin is allowed if any of the // string matchers match. AllowOriginStringMatch []*v32.StringMatcher `protobuf:"bytes,11,rep,name=allow_origin_string_match,json=allowOriginStringMatch,proto3" json:"allow_origin_string_match,omitempty"` // Specifies the content for the “access-control-allow-methods“ header. AllowMethods string `protobuf:"bytes,2,opt,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` // Specifies the content for the “access-control-allow-headers“ header. AllowHeaders string `protobuf:"bytes,3,opt,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` // Specifies the content for the “access-control-expose-headers“ header. ExposeHeaders string `protobuf:"bytes,4,opt,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` // Specifies the content for the “access-control-max-age“ header. MaxAge string `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` // Specifies whether the resource allows credentials. AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` // Types that are assignable to EnabledSpecifier: // // *CorsPolicy_FilterEnabled EnabledSpecifier isCorsPolicy_EnabledSpecifier `protobuf_oneof:"enabled_specifier"` // Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not // enforced. // // This field is intended to be used when “filter_enabled“ and “enabled“ are off. One of those // fields have to explicitly disable the filter in order for this setting to take effect. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate // and track the request's “Origin“ to determine if it's valid but will not enforce any policies. ShadowEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,10,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` // Specify whether allow requests whose target server's IP address is more private than that from // which the request initiator was fetched. // // More details refer to https://developer.chrome.com/blog/private-network-access-preflight. AllowPrivateNetworkAccess *wrappers.BoolValue `protobuf:"bytes,12,opt,name=allow_private_network_access,json=allowPrivateNetworkAccess,proto3" json:"allow_private_network_access,omitempty"` } func (x *CorsPolicy) Reset() { *x = CorsPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CorsPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CorsPolicy) ProtoMessage() {} func (x *CorsPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead. func (*CorsPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{7} } func (x *CorsPolicy) GetAllowOriginStringMatch() []*v32.StringMatcher { if x != nil { return x.AllowOriginStringMatch } return nil } func (x *CorsPolicy) GetAllowMethods() string { if x != nil { return x.AllowMethods } return "" } func (x *CorsPolicy) GetAllowHeaders() string { if x != nil { return x.AllowHeaders } return "" } func (x *CorsPolicy) GetExposeHeaders() string { if x != nil { return x.ExposeHeaders } return "" } func (x *CorsPolicy) GetMaxAge() string { if x != nil { return x.MaxAge } return "" } func (x *CorsPolicy) GetAllowCredentials() *wrappers.BoolValue { if x != nil { return x.AllowCredentials } return nil } func (m *CorsPolicy) GetEnabledSpecifier() isCorsPolicy_EnabledSpecifier { if m != nil { return m.EnabledSpecifier } return nil } func (x *CorsPolicy) GetFilterEnabled() *v31.RuntimeFractionalPercent { if x, ok := x.GetEnabledSpecifier().(*CorsPolicy_FilterEnabled); ok { return x.FilterEnabled } return nil } func (x *CorsPolicy) GetShadowEnabled() *v31.RuntimeFractionalPercent { if x != nil { return x.ShadowEnabled } return nil } func (x *CorsPolicy) GetAllowPrivateNetworkAccess() *wrappers.BoolValue { if x != nil { return x.AllowPrivateNetworkAccess } return nil } type isCorsPolicy_EnabledSpecifier interface { isCorsPolicy_EnabledSpecifier() } type CorsPolicy_FilterEnabled struct { // Specifies the % of requests for which the CORS filter is enabled. // // If neither “enabled“, “filter_enabled“, nor “shadow_enabled“ are specified, the CORS // filter will be enabled for 100% of the requests. // // If :ref:`runtime_key ` is // specified, Envoy will lookup the runtime key to get the percentage of requests to filter. FilterEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=filter_enabled,json=filterEnabled,proto3,oneof"` } func (*CorsPolicy_FilterEnabled) isCorsPolicy_EnabledSpecifier() {} // [#next-free-field: 42] type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_ClusterHeader // *RouteAction_WeightedClusters // *RouteAction_ClusterSpecifierPlugin // *RouteAction_InlineClusterSpecifierPlugin ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // The HTTP status code to use when configured cluster is not found. // The default response code is 503 Service Unavailable. ClusterNotFoundResponseCode RouteAction_ClusterNotFoundResponseCode `protobuf:"varint,20,opt,name=cluster_not_found_response_code,json=clusterNotFoundResponseCode,proto3,enum=envoy.config.route.v3.RouteAction_ClusterNotFoundResponseCode" json:"cluster_not_found_response_code,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints // in the upstream cluster with metadata matching what's set in this field will be considered // for load balancing. If using :ref:`weighted_clusters // `, metadata will be merged, with values // provided there taking precedence. The filter name should be specified as “envoy.lb“. MetadataMatch *v31.Metadata `protobuf:"bytes,4,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Indicates that during forwarding, the matched prefix (or path) should be // swapped with this value. This option allows application URLs to be rooted // at a different path from those exposed at the reverse proxy layer. The router filter will // place the original path before rewrite into the :ref:`x-envoy-original-path // ` header. // // Only one of :ref:`regex_rewrite ` // :ref:`path_rewrite_policy `, // or :ref:`prefix_rewrite ` may be specified. // // .. attention:: // // Pay careful attention to the use of trailing slashes in the // :ref:`route's match ` prefix value. // Stripping a prefix from a path requires multiple Routes to handle all cases. For example, // rewriting ``/prefix`` to ``/`` and ``/prefix/etc`` to ``/etc`` cannot be done in a single // :ref:`Route `, as shown by the below config entries: // // .. code-block:: yaml // // - match: // prefix: "/prefix/" // route: // prefix_rewrite: "/" // - match: // prefix: "/prefix" // route: // prefix_rewrite: "/" // // Having above entries in the config, requests to ``/prefix`` will be stripped to ``/``, while // requests to ``/prefix/etc`` will be stripped to ``/etc``. PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"` // Indicates that during forwarding, portions of the path that match the // pattern should be rewritten, even allowing the substitution of capture // groups from the pattern into the new path as specified by the rewrite // substitution string. This is useful to allow application paths to be // rewritten in a way that is aware of segments with variable content like // identifiers. The router filter will place the original path as it was // before the rewrite into the :ref:`x-envoy-original-path // ` header. // // Only one of :ref:`regex_rewrite `, // :ref:`prefix_rewrite `, or // :ref:`path_rewrite_policy `] // may be specified. // // Examples using Google's `RE2 `_ engine: // // - The path pattern “^/service/([^/]+)(/.*)$“ paired with a substitution // string of “\2/instance/\1“ would transform “/service/foo/v1/api“ // into “/v1/api/instance/foo“. // // - The pattern “one“ paired with a substitution string of “two“ would // transform “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/two/zzz“. // // - The pattern “^(.*?)one(.*)$“ paired with a substitution string of // “\1two\2“ would replace only the first occurrence of “one“, // transforming path “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/one/zzz“. // // - The pattern “(?i)/xxx/“ paired with a substitution string of “/yyy/“ // would do a case-insensitive match and transform path “/aaa/XxX/bbb“ to // “/aaa/yyy/bbb“. RegexRewrite *v32.RegexMatchAndSubstitute `protobuf:"bytes,32,opt,name=regex_rewrite,json=regexRewrite,proto3" json:"regex_rewrite,omitempty"` // [#extension-category: envoy.path.rewrite] PathRewritePolicy *v31.TypedExtensionConfig `protobuf:"bytes,41,opt,name=path_rewrite_policy,json=pathRewritePolicy,proto3" json:"path_rewrite_policy,omitempty"` // Types that are assignable to HostRewriteSpecifier: // // *RouteAction_HostRewriteLiteral // *RouteAction_AutoHostRewrite // *RouteAction_HostRewriteHeader // *RouteAction_HostRewritePathRegex HostRewriteSpecifier isRouteAction_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` // If set, then a host rewrite action (one of // :ref:`host_rewrite_literal `, // :ref:`auto_host_rewrite `, // :ref:`host_rewrite_header `, or // :ref:`host_rewrite_path_regex `) // causes the original value of the host header, if any, to be appended to the // :ref:`config_http_conn_man_headers_x-forwarded-host` HTTP header if it is different to the last value appended. // This can be disabled by setting the runtime guard “envoy_reloadable_features_append_xfh_idempotent“ to false. AppendXForwardedHost bool `protobuf:"varint,38,opt,name=append_x_forwarded_host,json=appendXForwardedHost,proto3" json:"append_x_forwarded_host,omitempty"` // Specifies the upstream timeout for the route. If not specified, the default is 15s. This // spans between the point at which the entire downstream request (i.e. end-of-stream) has been // processed and when the upstream response has been completely processed. A value of 0 will // disable the route's timeout. // // .. note:: // // This timeout includes all retries. See also // :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the // :ref:`retry overview `. Timeout *duration.Duration `protobuf:"bytes,8,opt,name=timeout,proto3" json:"timeout,omitempty"` // Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, // although the connection manager wide :ref:`stream_idle_timeout // ` // will still apply. A value of 0 will completely disable the route's idle timeout, even if a // connection manager stream idle timeout is configured. // // The idle timeout is distinct to :ref:`timeout // `, which provides an upper bound // on the upstream response time; :ref:`idle_timeout // ` instead bounds the amount // of time the request's stream may be idle. // // After header decoding, the idle timeout will apply on downstream and // upstream request events. Each time an encode/decode event for headers or // data is processed for the stream, the timer will be reset. If the timeout // fires, the stream is terminated with a 408 Request Timeout error code if no // upstream response header has been received, otherwise a stream reset // occurs. // // If the :ref:`overload action ` "envoy.overload_actions.reduce_timeouts" // is configured, this timeout is scaled according to the value for // :ref:`HTTP_DOWNSTREAM_STREAM_IDLE `. IdleTimeout *duration.Duration `protobuf:"bytes,24,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Specifies how to send request over TLS early data. // If absent, allows `safe HTTP requests `_ to be sent on early data. // [#extension-category: envoy.route.early_data_policy] EarlyDataPolicy *v31.TypedExtensionConfig `protobuf:"bytes,40,opt,name=early_data_policy,json=earlyDataPolicy,proto3" json:"early_data_policy,omitempty"` // Indicates that the route has a retry policy. Note that if this is set, // it'll take precedence over the virtual host level retry policy entirely // (e.g.: policies are not merged, most internal one becomes the enforced policy). RetryPolicy *RetryPolicy `protobuf:"bytes,9,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` // [#not-implemented-hide:] // Specifies the configuration for retry policy extension. Note that if this is set, it'll take // precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, // most internal one becomes the enforced policy). :ref:`Retry policy ` // should not be set if this field is used. RetryPolicyTypedConfig *any1.Any `protobuf:"bytes,33,opt,name=retry_policy_typed_config,json=retryPolicyTypedConfig,proto3" json:"retry_policy_typed_config,omitempty"` // Specify a set of route request mirroring policies. // It takes precedence over the virtual host and route config mirror policy entirely. // That is, policies are not merged, the most specific non-empty one becomes the mirror policies. RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `protobuf:"bytes,30,rep,name=request_mirror_policies,json=requestMirrorPolicies,proto3" json:"request_mirror_policies,omitempty"` // Optionally specifies the :ref:`routing priority `. Priority v31.RoutingPriority `protobuf:"varint,11,opt,name=priority,proto3,enum=envoy.config.core.v3.RoutingPriority" json:"priority,omitempty"` // Specifies a set of rate limit configurations that could be applied to the // route. RateLimits []*RateLimit `protobuf:"bytes,13,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Specifies if the rate limit filter should include the virtual host rate // limits. By default, if the route configured rate limits, the virtual host // :ref:`rate_limits ` are not applied to the // request. // // This field is deprecated. Please use :ref:`vh_rate_limits ` // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. IncludeVhRateLimits *wrappers.BoolValue `protobuf:"bytes,14,opt,name=include_vh_rate_limits,json=includeVhRateLimits,proto3" json:"include_vh_rate_limits,omitempty"` // Specifies a list of hash policies to use for ring hash load balancing. Each // hash policy is evaluated individually and the combined result is used to // route the request. The method of combination is deterministic such that // identical lists of hash policies will produce the same hash. Since a hash // policy examines specific parts of a request, it can fail to produce a hash // (i.e. if the hashed header is not present). If (and only if) all configured // hash policies fail to generate a hash, no hash will be produced for // the route. In this case, the behavior is the same as if no hash policies // were specified (i.e. the ring hash load balancer will choose a random // backend). If a hash policy has the "terminal" attribute set to true, and // there is already a hash generated, the hash is returned immediately, // ignoring the rest of the hash policy list. HashPolicy []*RouteAction_HashPolicy `protobuf:"bytes,15,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"` // Indicates that the route has a CORS policy. This field is ignored if related cors policy is // found in the :ref:`Route.typed_per_filter_config` or // :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config`. // // .. attention:: // // This option has been deprecated. Please use // :ref:`Route.typed_per_filter_config` or // :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config` // to configure the CORS HTTP filter. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. Cors *CorsPolicy `protobuf:"bytes,17,opt,name=cors,proto3" json:"cors,omitempty"` // Deprecated by :ref:`grpc_timeout_header_max ` // If present, and the request is a gRPC request, use the // `grpc-timeout header `_, // or its default value (infinity) instead of // :ref:`timeout `, but limit the applied timeout // to the maximum value specified here. If configured as 0, the maximum allowed timeout for // gRPC requests is infinity. If not configured at all, the “grpc-timeout“ header is not used // and gRPC requests time out like any other requests using // :ref:`timeout ` or its default. // This can be used to prevent unexpected upstream request timeouts due to potentially long // time gaps between gRPC request and response in gRPC streaming mode. // // .. note:: // // If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes // precedence over `grpc-timeout header `_, when // both are present. See also // :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the // :ref:`retry overview `. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. MaxGrpcTimeout *duration.Duration `protobuf:"bytes,23,opt,name=max_grpc_timeout,json=maxGrpcTimeout,proto3" json:"max_grpc_timeout,omitempty"` // Deprecated by :ref:`grpc_timeout_header_offset `. // If present, Envoy will adjust the timeout provided by the “grpc-timeout“ header by subtracting // the provided duration from the header. This is useful in allowing Envoy to set its global // timeout to be less than that of the deadline imposed by the calling client, which makes it more // likely that Envoy will handle the timeout instead of having the call canceled by the client. // The offset will only be applied if the provided grpc_timeout is greater than the offset. This // ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning // infinity). // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. GrpcTimeoutOffset *duration.Duration `protobuf:"bytes,28,opt,name=grpc_timeout_offset,json=grpcTimeoutOffset,proto3" json:"grpc_timeout_offset,omitempty"` UpgradeConfigs []*RouteAction_UpgradeConfig `protobuf:"bytes,25,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"` // If present, Envoy will try to follow an upstream redirect response instead of proxying the // response back to the downstream. An upstream redirect response is defined // by :ref:`redirect_response_codes // `. InternalRedirectPolicy *InternalRedirectPolicy `protobuf:"bytes,34,opt,name=internal_redirect_policy,json=internalRedirectPolicy,proto3" json:"internal_redirect_policy,omitempty"` // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. InternalRedirectAction RouteAction_InternalRedirectAction `protobuf:"varint,26,opt,name=internal_redirect_action,json=internalRedirectAction,proto3,enum=envoy.config.route.v3.RouteAction_InternalRedirectAction" json:"internal_redirect_action,omitempty"` // An internal redirect is handled, iff the number of previous internal redirects that a // downstream request has encountered is lower than this value, and // :ref:`internal_redirect_action ` // is set to :ref:`HANDLE_INTERNAL_REDIRECT // ` // In the case where a downstream request is bounced among multiple routes by internal redirect, // the first route that hits this threshold, or has // :ref:`internal_redirect_action ` // set to // :ref:`PASS_THROUGH_INTERNAL_REDIRECT // ` // will pass the redirect back to downstream. // // If not specified, at most one redirect will be followed. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. MaxInternalRedirects *wrappers.UInt32Value `protobuf:"bytes,31,opt,name=max_internal_redirects,json=maxInternalRedirects,proto3" json:"max_internal_redirects,omitempty"` // Indicates that the route has a hedge policy. Note that if this is set, // it'll take precedence over the virtual host level hedge policy entirely // (e.g.: policies are not merged, most internal one becomes the enforced policy). HedgePolicy *HedgePolicy `protobuf:"bytes,27,opt,name=hedge_policy,json=hedgePolicy,proto3" json:"hedge_policy,omitempty"` // Specifies the maximum stream duration for this route. MaxStreamDuration *RouteAction_MaxStreamDuration `protobuf:"bytes,36,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetClusterHeader() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_ClusterHeader); ok { return x.ClusterHeader } return "" } func (x *RouteAction) GetWeightedClusters() *WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetClusterSpecifierPlugin() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_ClusterSpecifierPlugin); ok { return x.ClusterSpecifierPlugin } return "" } func (x *RouteAction) GetInlineClusterSpecifierPlugin() *ClusterSpecifierPlugin { if x, ok := x.GetClusterSpecifier().(*RouteAction_InlineClusterSpecifierPlugin); ok { return x.InlineClusterSpecifierPlugin } return nil } func (x *RouteAction) GetClusterNotFoundResponseCode() RouteAction_ClusterNotFoundResponseCode { if x != nil { return x.ClusterNotFoundResponseCode } return RouteAction_SERVICE_UNAVAILABLE } func (x *RouteAction) GetMetadataMatch() *v31.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *RouteAction) GetPrefixRewrite() string { if x != nil { return x.PrefixRewrite } return "" } func (x *RouteAction) GetRegexRewrite() *v32.RegexMatchAndSubstitute { if x != nil { return x.RegexRewrite } return nil } func (x *RouteAction) GetPathRewritePolicy() *v31.TypedExtensionConfig { if x != nil { return x.PathRewritePolicy } return nil } func (m *RouteAction) GetHostRewriteSpecifier() isRouteAction_HostRewriteSpecifier { if m != nil { return m.HostRewriteSpecifier } return nil } func (x *RouteAction) GetHostRewriteLiteral() string { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_HostRewriteLiteral); ok { return x.HostRewriteLiteral } return "" } func (x *RouteAction) GetAutoHostRewrite() *wrappers.BoolValue { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_AutoHostRewrite); ok { return x.AutoHostRewrite } return nil } func (x *RouteAction) GetHostRewriteHeader() string { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_HostRewriteHeader); ok { return x.HostRewriteHeader } return "" } func (x *RouteAction) GetHostRewritePathRegex() *v32.RegexMatchAndSubstitute { if x, ok := x.GetHostRewriteSpecifier().(*RouteAction_HostRewritePathRegex); ok { return x.HostRewritePathRegex } return nil } func (x *RouteAction) GetAppendXForwardedHost() bool { if x != nil { return x.AppendXForwardedHost } return false } func (x *RouteAction) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RouteAction) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *RouteAction) GetEarlyDataPolicy() *v31.TypedExtensionConfig { if x != nil { return x.EarlyDataPolicy } return nil } func (x *RouteAction) GetRetryPolicy() *RetryPolicy { if x != nil { return x.RetryPolicy } return nil } func (x *RouteAction) GetRetryPolicyTypedConfig() *any1.Any { if x != nil { return x.RetryPolicyTypedConfig } return nil } func (x *RouteAction) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicies } return nil } func (x *RouteAction) GetPriority() v31.RoutingPriority { if x != nil { return x.Priority } return v31.RoutingPriority(0) } func (x *RouteAction) GetRateLimits() []*RateLimit { if x != nil { return x.RateLimits } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetIncludeVhRateLimits() *wrappers.BoolValue { if x != nil { return x.IncludeVhRateLimits } return nil } func (x *RouteAction) GetHashPolicy() []*RouteAction_HashPolicy { if x != nil { return x.HashPolicy } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetCors() *CorsPolicy { if x != nil { return x.Cors } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetMaxGrpcTimeout() *duration.Duration { if x != nil { return x.MaxGrpcTimeout } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetGrpcTimeoutOffset() *duration.Duration { if x != nil { return x.GrpcTimeoutOffset } return nil } func (x *RouteAction) GetUpgradeConfigs() []*RouteAction_UpgradeConfig { if x != nil { return x.UpgradeConfigs } return nil } func (x *RouteAction) GetInternalRedirectPolicy() *InternalRedirectPolicy { if x != nil { return x.InternalRedirectPolicy } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetInternalRedirectAction() RouteAction_InternalRedirectAction { if x != nil { return x.InternalRedirectAction } return RouteAction_PASS_THROUGH_INTERNAL_REDIRECT } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RouteAction) GetMaxInternalRedirects() *wrappers.UInt32Value { if x != nil { return x.MaxInternalRedirects } return nil } func (x *RouteAction) GetHedgePolicy() *HedgePolicy { if x != nil { return x.HedgePolicy } return nil } func (x *RouteAction) GetMaxStreamDuration() *RouteAction_MaxStreamDuration { if x != nil { return x.MaxStreamDuration } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates the upstream cluster to which the request should be routed // to. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_ClusterHeader struct { // Envoy will determine the cluster to route to by reading the value of the // HTTP header named by cluster_header from the request headers. If the // header is not found or the referenced cluster does not exist, Envoy will // return a 404 response. // // .. attention:: // // Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 // ``Host`` header. Thus, if attempting to match on ``Host``, match on ``:authority`` instead. // // .. note:: // // If the header appears multiple times only the first value is used. ClusterHeader string `protobuf:"bytes,2,opt,name=cluster_header,json=clusterHeader,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. See // :ref:`traffic splitting ` // for additional documentation. WeightedClusters *WeightedCluster `protobuf:"bytes,3,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } type RouteAction_ClusterSpecifierPlugin struct { // Name of the cluster specifier plugin to use to determine the cluster for requests on this route. // The cluster specifier plugin name must be defined in the associated // :ref:`cluster specifier plugins ` // in the :ref:`name ` field. ClusterSpecifierPlugin string `protobuf:"bytes,37,opt,name=cluster_specifier_plugin,json=clusterSpecifierPlugin,proto3,oneof"` } type RouteAction_InlineClusterSpecifierPlugin struct { // Custom cluster specifier plugin configuration to use to determine the cluster for requests // on this route. InlineClusterSpecifierPlugin *ClusterSpecifierPlugin `protobuf:"bytes,39,opt,name=inline_cluster_specifier_plugin,json=inlineClusterSpecifierPlugin,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_ClusterHeader) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} func (*RouteAction_ClusterSpecifierPlugin) isRouteAction_ClusterSpecifier() {} func (*RouteAction_InlineClusterSpecifierPlugin) isRouteAction_ClusterSpecifier() {} type isRouteAction_HostRewriteSpecifier interface { isRouteAction_HostRewriteSpecifier() } type RouteAction_HostRewriteLiteral struct { // Indicates that during forwarding, the host header will be swapped with // this value. Using this option will append the // :ref:`config_http_conn_man_headers_x-forwarded-host` header if // :ref:`append_x_forwarded_host ` // is set. HostRewriteLiteral string `protobuf:"bytes,6,opt,name=host_rewrite_literal,json=hostRewriteLiteral,proto3,oneof"` } type RouteAction_AutoHostRewrite struct { // Indicates that during forwarding, the host header will be swapped with // the hostname of the upstream host chosen by the cluster manager. This // option is applicable only when the destination cluster for a route is of // type “strict_dns“ or “logical_dns“, // or when :ref:`hostname ` // field is not empty. Setting this to true with other cluster types // has no effect. Using this option will append the // :ref:`config_http_conn_man_headers_x-forwarded-host` header if // :ref:`append_x_forwarded_host ` // is set. AutoHostRewrite *wrappers.BoolValue `protobuf:"bytes,7,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof"` } type RouteAction_HostRewriteHeader struct { // Indicates that during forwarding, the host header will be swapped with the content of given // downstream or :ref:`custom ` header. // If header value is empty, host header is left intact. Using this option will append the // :ref:`config_http_conn_man_headers_x-forwarded-host` header if // :ref:`append_x_forwarded_host ` // is set. // // .. attention:: // // Pay attention to the potential security implications of using this option. Provided header // must come from trusted source. // // .. note:: // // If the header appears multiple times only the first value is used. HostRewriteHeader string `protobuf:"bytes,29,opt,name=host_rewrite_header,json=hostRewriteHeader,proto3,oneof"` } type RouteAction_HostRewritePathRegex struct { // Indicates that during forwarding, the host header will be swapped with // the result of the regex substitution executed on path value with query and fragment removed. // This is useful for transitioning variable content between path segment and subdomain. // Using this option will append the // :ref:`config_http_conn_man_headers_x-forwarded-host` header if // :ref:`append_x_forwarded_host ` // is set. // // For example with the following config: // // .. code-block:: yaml // // host_rewrite_path_regex: // pattern: // google_re2: {} // regex: "^/(.+)/.+$" // substitution: \1 // // Would rewrite the host header to “envoyproxy.io“ given the path “/envoyproxy.io/some/path“. HostRewritePathRegex *v32.RegexMatchAndSubstitute `protobuf:"bytes,35,opt,name=host_rewrite_path_regex,json=hostRewritePathRegex,proto3,oneof"` } func (*RouteAction_HostRewriteLiteral) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_AutoHostRewrite) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_HostRewriteHeader) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_HostRewritePathRegex) isRouteAction_HostRewriteSpecifier() {} // HTTP retry :ref:`architecture overview `. // [#next-free-field: 14] type RetryPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the conditions under which retry takes place. These are the same // conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and // :ref:`config_http_filters_router_x-envoy-retry-grpc-on`. RetryOn string `protobuf:"bytes,1,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` // Specifies the allowed number of retries. This parameter is optional and // defaults to 1. These are the same conditions documented for // :ref:`config_http_filters_router_x-envoy-max-retries`. NumRetries *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"` // Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This // parameter is optional. The same conditions documented for // :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply. // // .. note:: // // If left unspecified, Envoy will use the global // :ref:`route timeout ` for the request. // Consequently, when using a :ref:`5xx ` based // retry policy, a request that times out will not be retried as the total timeout budget // would have been exhausted. PerTryTimeout *duration.Duration `protobuf:"bytes,3,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"` // Specifies an upstream idle timeout per retry attempt (including the initial attempt). This // parameter is optional and if absent there is no per try idle timeout. The semantics of the per // try idle timeout are similar to the // :ref:`route idle timeout ` and // :ref:`stream idle timeout // ` // both enforced by the HTTP connection manager. The difference is that this idle timeout // is enforced by the router for each individual attempt and thus after all previous filters have // run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout // is useful in cases in which total request timeout is bounded by a number of retries and a // :ref:`per_try_timeout `, but // there is a desire to ensure each try is making incremental progress. Note also that similar // to :ref:`per_try_timeout `, // this idle timeout does not start until after both the entire request has been received by the // router *and* a connection pool connection has been obtained. Unlike // :ref:`per_try_timeout `, // the idle timer continues once the response starts streaming back to the downstream client. // This ensures that response data continues to make progress without using one of the HTTP // connection manager idle timeouts. PerTryIdleTimeout *duration.Duration `protobuf:"bytes,13,opt,name=per_try_idle_timeout,json=perTryIdleTimeout,proto3" json:"per_try_idle_timeout,omitempty"` // Specifies an implementation of a RetryPriority which is used to determine the // distribution of load across priorities used for retries. Refer to // :ref:`retry plugin configuration ` for more details. RetryPriority *RetryPolicy_RetryPriority `protobuf:"bytes,4,opt,name=retry_priority,json=retryPriority,proto3" json:"retry_priority,omitempty"` // Specifies a collection of RetryHostPredicates that will be consulted when selecting a host // for retries. If any of the predicates reject the host, host selection will be reattempted. // Refer to :ref:`retry plugin configuration ` for more // details. RetryHostPredicate []*RetryPolicy_RetryHostPredicate `protobuf:"bytes,5,rep,name=retry_host_predicate,json=retryHostPredicate,proto3" json:"retry_host_predicate,omitempty"` // Retry options predicates that will be applied prior to retrying a request. These predicates // allow customizing request behavior between retries. // [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions] RetryOptionsPredicates []*v31.TypedExtensionConfig `protobuf:"bytes,12,rep,name=retry_options_predicates,json=retryOptionsPredicates,proto3" json:"retry_options_predicates,omitempty"` // The maximum number of times host selection will be reattempted before giving up, at which // point the host that was last selected will be routed to. If unspecified, this will default to // retrying once. HostSelectionRetryMaxAttempts int64 `protobuf:"varint,6,opt,name=host_selection_retry_max_attempts,json=hostSelectionRetryMaxAttempts,proto3" json:"host_selection_retry_max_attempts,omitempty"` // HTTP status codes that should trigger a retry in addition to those specified by retry_on. RetriableStatusCodes []uint32 `protobuf:"varint,7,rep,packed,name=retriable_status_codes,json=retriableStatusCodes,proto3" json:"retriable_status_codes,omitempty"` // Specifies parameters that control exponential retry back off. This parameter is optional, in which case the // default base interval is 25 milliseconds or, if set, the current value of the // “upstream.base_retry_backoff_ms“ runtime parameter. The default maximum interval is 10 times // the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries` // describes Envoy's back-off algorithm. RetryBackOff *RetryPolicy_RetryBackOff `protobuf:"bytes,8,opt,name=retry_back_off,json=retryBackOff,proto3" json:"retry_back_off,omitempty"` // Specifies parameters that control a retry back-off strategy that is used // when the request is rate limited by the upstream server. The server may // return a response header like “Retry-After“ or “X-RateLimit-Reset“ to // provide feedback to the client on how long to wait before retrying. If // configured, this back-off strategy will be used instead of the // default exponential back off strategy (configured using “retry_back_off“) // whenever a response includes the matching headers. RateLimitedRetryBackOff *RetryPolicy_RateLimitedRetryBackOff `protobuf:"bytes,11,opt,name=rate_limited_retry_back_off,json=rateLimitedRetryBackOff,proto3" json:"rate_limited_retry_back_off,omitempty"` // HTTP response headers that trigger a retry if present in the response. A retry will be // triggered if any of the header matches match the upstream response headers. // The field is only consulted if 'retriable-headers' retry policy is active. RetriableHeaders []*HeaderMatcher `protobuf:"bytes,9,rep,name=retriable_headers,json=retriableHeaders,proto3" json:"retriable_headers,omitempty"` // HTTP headers which must be present in the request for retries to be attempted. RetriableRequestHeaders []*HeaderMatcher `protobuf:"bytes,10,rep,name=retriable_request_headers,json=retriableRequestHeaders,proto3" json:"retriable_request_headers,omitempty"` } func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9} } func (x *RetryPolicy) GetRetryOn() string { if x != nil { return x.RetryOn } return "" } func (x *RetryPolicy) GetNumRetries() *wrappers.UInt32Value { if x != nil { return x.NumRetries } return nil } func (x *RetryPolicy) GetPerTryTimeout() *duration.Duration { if x != nil { return x.PerTryTimeout } return nil } func (x *RetryPolicy) GetPerTryIdleTimeout() *duration.Duration { if x != nil { return x.PerTryIdleTimeout } return nil } func (x *RetryPolicy) GetRetryPriority() *RetryPolicy_RetryPriority { if x != nil { return x.RetryPriority } return nil } func (x *RetryPolicy) GetRetryHostPredicate() []*RetryPolicy_RetryHostPredicate { if x != nil { return x.RetryHostPredicate } return nil } func (x *RetryPolicy) GetRetryOptionsPredicates() []*v31.TypedExtensionConfig { if x != nil { return x.RetryOptionsPredicates } return nil } func (x *RetryPolicy) GetHostSelectionRetryMaxAttempts() int64 { if x != nil { return x.HostSelectionRetryMaxAttempts } return 0 } func (x *RetryPolicy) GetRetriableStatusCodes() []uint32 { if x != nil { return x.RetriableStatusCodes } return nil } func (x *RetryPolicy) GetRetryBackOff() *RetryPolicy_RetryBackOff { if x != nil { return x.RetryBackOff } return nil } func (x *RetryPolicy) GetRateLimitedRetryBackOff() *RetryPolicy_RateLimitedRetryBackOff { if x != nil { return x.RateLimitedRetryBackOff } return nil } func (x *RetryPolicy) GetRetriableHeaders() []*HeaderMatcher { if x != nil { return x.RetriableHeaders } return nil } func (x *RetryPolicy) GetRetriableRequestHeaders() []*HeaderMatcher { if x != nil { return x.RetriableRequestHeaders } return nil } // HTTP request hedging :ref:`architecture overview `. type HedgePolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the number of initial requests that should be sent upstream. // Must be at least 1. // Defaults to 1. // [#not-implemented-hide:] InitialRequests *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=initial_requests,json=initialRequests,proto3" json:"initial_requests,omitempty"` // Specifies a probability that an additional upstream request should be sent // on top of what is specified by initial_requests. // Defaults to 0. // [#not-implemented-hide:] AdditionalRequestChance *v33.FractionalPercent `protobuf:"bytes,2,opt,name=additional_request_chance,json=additionalRequestChance,proto3" json:"additional_request_chance,omitempty"` // Indicates that a hedged request should be sent when the per-try timeout is hit. // This means that a retry will be issued without resetting the original request, leaving multiple upstream requests in flight. // The first request to complete successfully will be the one returned to the caller. // // - At any time, a successful response (i.e. not triggering any of the retry-on conditions) would be returned to the client. // - Before per-try timeout, an error response (per retry-on conditions) would be retried immediately or returned ot the client // if there are no more retries left. // - After per-try timeout, an error response would be discarded, as a retry in the form of a hedged request is already in progress. // // Note: For this to have effect, you must have a :ref:`RetryPolicy ` that retries at least // one error code and specifies a maximum number of retries. // // Defaults to false. HedgeOnPerTryTimeout bool `protobuf:"varint,3,opt,name=hedge_on_per_try_timeout,json=hedgeOnPerTryTimeout,proto3" json:"hedge_on_per_try_timeout,omitempty"` } func (x *HedgePolicy) Reset() { *x = HedgePolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HedgePolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HedgePolicy) ProtoMessage() {} func (x *HedgePolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HedgePolicy.ProtoReflect.Descriptor instead. func (*HedgePolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{10} } func (x *HedgePolicy) GetInitialRequests() *wrappers.UInt32Value { if x != nil { return x.InitialRequests } return nil } func (x *HedgePolicy) GetAdditionalRequestChance() *v33.FractionalPercent { if x != nil { return x.AdditionalRequestChance } return nil } func (x *HedgePolicy) GetHedgeOnPerTryTimeout() bool { if x != nil { return x.HedgeOnPerTryTimeout } return false } // [#next-free-field: 10] type RedirectAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When the scheme redirection take place, the following rules apply: // 1. If the source URI scheme is “http“ and the port is explicitly // set to “:80“, the port will be removed after the redirection // 2. If the source URI scheme is “https“ and the port is explicitly // set to “:443“, the port will be removed after the redirection // // Types that are assignable to SchemeRewriteSpecifier: // // *RedirectAction_HttpsRedirect // *RedirectAction_SchemeRedirect SchemeRewriteSpecifier isRedirectAction_SchemeRewriteSpecifier `protobuf_oneof:"scheme_rewrite_specifier"` // The host portion of the URL will be swapped with this value. HostRedirect string `protobuf:"bytes,1,opt,name=host_redirect,json=hostRedirect,proto3" json:"host_redirect,omitempty"` // The port value of the URL will be swapped with this value. PortRedirect uint32 `protobuf:"varint,8,opt,name=port_redirect,json=portRedirect,proto3" json:"port_redirect,omitempty"` // Types that are assignable to PathRewriteSpecifier: // // *RedirectAction_PathRedirect // *RedirectAction_PrefixRewrite // *RedirectAction_RegexRewrite PathRewriteSpecifier isRedirectAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"` // The HTTP status code to use in the redirect response. The default response // code is MOVED_PERMANENTLY (301). ResponseCode RedirectAction_RedirectResponseCode `protobuf:"varint,3,opt,name=response_code,json=responseCode,proto3,enum=envoy.config.route.v3.RedirectAction_RedirectResponseCode" json:"response_code,omitempty"` // Indicates that during redirection, the query portion of the URL will // be removed. Default value is false. StripQuery bool `protobuf:"varint,6,opt,name=strip_query,json=stripQuery,proto3" json:"strip_query,omitempty"` } func (x *RedirectAction) Reset() { *x = RedirectAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedirectAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedirectAction) ProtoMessage() {} func (x *RedirectAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedirectAction.ProtoReflect.Descriptor instead. func (*RedirectAction) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{11} } func (m *RedirectAction) GetSchemeRewriteSpecifier() isRedirectAction_SchemeRewriteSpecifier { if m != nil { return m.SchemeRewriteSpecifier } return nil } func (x *RedirectAction) GetHttpsRedirect() bool { if x, ok := x.GetSchemeRewriteSpecifier().(*RedirectAction_HttpsRedirect); ok { return x.HttpsRedirect } return false } func (x *RedirectAction) GetSchemeRedirect() string { if x, ok := x.GetSchemeRewriteSpecifier().(*RedirectAction_SchemeRedirect); ok { return x.SchemeRedirect } return "" } func (x *RedirectAction) GetHostRedirect() string { if x != nil { return x.HostRedirect } return "" } func (x *RedirectAction) GetPortRedirect() uint32 { if x != nil { return x.PortRedirect } return 0 } func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier { if m != nil { return m.PathRewriteSpecifier } return nil } func (x *RedirectAction) GetPathRedirect() string { if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_PathRedirect); ok { return x.PathRedirect } return "" } func (x *RedirectAction) GetPrefixRewrite() string { if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_PrefixRewrite); ok { return x.PrefixRewrite } return "" } func (x *RedirectAction) GetRegexRewrite() *v32.RegexMatchAndSubstitute { if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_RegexRewrite); ok { return x.RegexRewrite } return nil } func (x *RedirectAction) GetResponseCode() RedirectAction_RedirectResponseCode { if x != nil { return x.ResponseCode } return RedirectAction_MOVED_PERMANENTLY } func (x *RedirectAction) GetStripQuery() bool { if x != nil { return x.StripQuery } return false } type isRedirectAction_SchemeRewriteSpecifier interface { isRedirectAction_SchemeRewriteSpecifier() } type RedirectAction_HttpsRedirect struct { // The scheme portion of the URL will be swapped with "https". HttpsRedirect bool `protobuf:"varint,4,opt,name=https_redirect,json=httpsRedirect,proto3,oneof"` } type RedirectAction_SchemeRedirect struct { // The scheme portion of the URL will be swapped with this value. SchemeRedirect string `protobuf:"bytes,7,opt,name=scheme_redirect,json=schemeRedirect,proto3,oneof"` } func (*RedirectAction_HttpsRedirect) isRedirectAction_SchemeRewriteSpecifier() {} func (*RedirectAction_SchemeRedirect) isRedirectAction_SchemeRewriteSpecifier() {} type isRedirectAction_PathRewriteSpecifier interface { isRedirectAction_PathRewriteSpecifier() } type RedirectAction_PathRedirect struct { // The path portion of the URL will be swapped with this value. // Please note that query string in path_redirect will override the // request's query string and will not be stripped. // // For example, let's say we have the following routes: // // - match: { path: "/old-path-1" } // redirect: { path_redirect: "/new-path-1" } // - match: { path: "/old-path-2" } // redirect: { path_redirect: "/new-path-2", strip-query: "true" } // - match: { path: "/old-path-3" } // redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" } // // 1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1" // 2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2" // 3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1" PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3,oneof"` } type RedirectAction_PrefixRewrite struct { // Indicates that during redirection, the matched prefix (or path) // should be swapped with this value. This option allows redirect URLs be dynamically created // based on the request. // // .. attention:: // // Pay attention to the use of trailing slashes as mentioned in // :ref:`RouteAction's prefix_rewrite `. PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3,oneof"` } type RedirectAction_RegexRewrite struct { // Indicates that during redirect, portions of the path that match the // pattern should be rewritten, even allowing the substitution of capture // groups from the pattern into the new path as specified by the rewrite // substitution string. This is useful to allow application paths to be // rewritten in a way that is aware of segments with variable content like // identifiers. // // Examples using Google's `RE2 `_ engine: // // - The path pattern “^/service/([^/]+)(/.*)$“ paired with a substitution // string of “\2/instance/\1“ would transform “/service/foo/v1/api“ // into “/v1/api/instance/foo“. // // - The pattern “one“ paired with a substitution string of “two“ would // transform “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/two/zzz“. // // - The pattern “^(.*?)one(.*)$“ paired with a substitution string of // “\1two\2“ would replace only the first occurrence of “one“, // transforming path “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/one/zzz“. // // - The pattern “(?i)/xxx/“ paired with a substitution string of “/yyy/“ // would do a case-insensitive match and transform path “/aaa/XxX/bbb“ to // “/aaa/yyy/bbb“. RegexRewrite *v32.RegexMatchAndSubstitute `protobuf:"bytes,9,opt,name=regex_rewrite,json=regexRewrite,proto3,oneof"` } func (*RedirectAction_PathRedirect) isRedirectAction_PathRewriteSpecifier() {} func (*RedirectAction_PrefixRewrite) isRedirectAction_PathRewriteSpecifier() {} func (*RedirectAction_RegexRewrite) isRedirectAction_PathRewriteSpecifier() {} type DirectResponseAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the HTTP response status to be returned. Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // Specifies the content of the response body. If this setting is omitted, // no body is included in the generated response. // // .. note:: // // Headers can be specified using ``response_headers_to_add`` in the enclosing // :ref:`envoy_v3_api_msg_config.route.v3.Route`, :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` or // :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`. Body *v31.DataSource `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` } func (x *DirectResponseAction) Reset() { *x = DirectResponseAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DirectResponseAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectResponseAction) ProtoMessage() {} func (x *DirectResponseAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DirectResponseAction.ProtoReflect.Descriptor instead. func (*DirectResponseAction) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{12} } func (x *DirectResponseAction) GetStatus() uint32 { if x != nil { return x.Status } return 0 } func (x *DirectResponseAction) GetBody() *v31.DataSource { if x != nil { return x.Body } return nil } // [#not-implemented-hide:] type NonForwardingAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NonForwardingAction) Reset() { *x = NonForwardingAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NonForwardingAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*NonForwardingAction) ProtoMessage() {} func (x *NonForwardingAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NonForwardingAction.ProtoReflect.Descriptor instead. func (*NonForwardingAction) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{13} } type Decorator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The operation name associated with the request matched to this route. If tracing is // enabled, this information will be used as the span name reported for this request. // // .. note:: // // For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden // by the :ref:`x-envoy-decorator-operation // ` header. Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` // Whether the decorated details should be propagated to the other party. The default is true. Propagate *wrappers.BoolValue `protobuf:"bytes,2,opt,name=propagate,proto3" json:"propagate,omitempty"` } func (x *Decorator) Reset() { *x = Decorator{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decorator) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decorator) ProtoMessage() {} func (x *Decorator) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decorator.ProtoReflect.Descriptor instead. func (*Decorator) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{14} } func (x *Decorator) GetOperation() string { if x != nil { return x.Operation } return "" } func (x *Decorator) GetPropagate() *wrappers.BoolValue { if x != nil { return x.Propagate } return nil } type Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Target percentage of requests managed by this HTTP connection manager that will be force // traced if the :ref:`x-client-trace-id ` // header is set. This field is a direct analog for the runtime variable // 'tracing.client_enabled' in the :ref:`HTTP Connection Manager // `. // Default: 100% ClientSampling *v33.FractionalPercent `protobuf:"bytes,1,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be randomly // selected for trace generation, if not requested by the client or not forced. This field is // a direct analog for the runtime variable 'tracing.random_sampling' in the // :ref:`HTTP Connection Manager `. // Default: 100% RandomSampling *v33.FractionalPercent `protobuf:"bytes,2,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be traced // after all other sampling checks have been applied (client-directed, force tracing, random // sampling). This field functions as an upper limit on the total configured sampling rate. For // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% // of client requests with the appropriate headers to be force traced. This field is a direct // analog for the runtime variable 'tracing.global_enabled' in the // :ref:`HTTP Connection Manager `. // Default: 100% OverallSampling *v33.FractionalPercent `protobuf:"bytes,3,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` // A list of custom tags with unique tag name to create tags for the active span. // It will take effect after merging with the :ref:`corresponding configuration // ` // configured in the HTTP connection manager. If two tags with the same name are configured // each in the HTTP connection manager and the route level, the one configured here takes // priority. CustomTags []*v34.CustomTag `protobuf:"bytes,4,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` } func (x *Tracing) Reset() { *x = Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing) ProtoMessage() {} func (x *Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing.ProtoReflect.Descriptor instead. func (*Tracing) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{15} } func (x *Tracing) GetClientSampling() *v33.FractionalPercent { if x != nil { return x.ClientSampling } return nil } func (x *Tracing) GetRandomSampling() *v33.FractionalPercent { if x != nil { return x.RandomSampling } return nil } func (x *Tracing) GetOverallSampling() *v33.FractionalPercent { if x != nil { return x.OverallSampling } return nil } func (x *Tracing) GetCustomTags() []*v34.CustomTag { if x != nil { return x.CustomTags } return nil } // A virtual cluster is a way of specifying a regex matching rule against // certain important endpoints such that statistics are generated explicitly for // the matched requests. The reason this is useful is that when doing // prefix/path matching Envoy does not always know what the application // considers to be an endpoint. Thus, it’s impossible for Envoy to generically // emit per endpoint statistics. However, often systems have highly critical // endpoints that they wish to get “perfect” statistics on. Virtual cluster // statistics are perfect in the sense that they are emitted on the downstream // side such that they include network level failures. // // Documentation for :ref:`virtual cluster statistics `. // // .. note:: // // Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for // every application endpoint. This is both not easily maintainable and as well the matching and // statistics output are not free. type VirtualCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies a list of header matchers to use for matching requests. Each specified header must // match. The pseudo-headers “:path“ and “:method“ can be used to match the request path and // method, respectively. Headers []*HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` // Specifies the name of the virtual cluster. The virtual cluster name as well // as the virtual host name are used when emitting statistics. The statistics are emitted by the // router filter and are documented :ref:`here `. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *VirtualCluster) Reset() { *x = VirtualCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VirtualCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*VirtualCluster) ProtoMessage() {} func (x *VirtualCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VirtualCluster.ProtoReflect.Descriptor instead. func (*VirtualCluster) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{16} } func (x *VirtualCluster) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *VirtualCluster) GetName() string { if x != nil { return x.Name } return "" } // Global rate limiting :ref:`architecture overview `. // Also applies to Local rate limiting :ref:`using descriptors `. type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Refers to the stage set in the filter. The rate limit configuration only // applies to filters with the same stage number. The default stage number is // 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"` // The key to be set in runtime to disable this rate limit configuration. DisableKey string `protobuf:"bytes,2,opt,name=disable_key,json=disableKey,proto3" json:"disable_key,omitempty"` // A list of actions that are to be applied for this rate limit configuration. // Order matters as the actions are processed sequentially and the descriptor // is composed by appending descriptor entries in that sequence. If an action // cannot append a descriptor entry, no descriptor is generated for the // configuration. See :ref:`composing actions // ` for additional documentation. Actions []*RateLimit_Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` // An optional limit override to be appended to the descriptor produced by this // rate limit configuration. If the override value is invalid or cannot be resolved // from metadata, no override is provided. See :ref:`rate limit override // ` for more information. Limit *RateLimit_Override `protobuf:"bytes,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17} } func (x *RateLimit) GetStage() *wrappers.UInt32Value { if x != nil { return x.Stage } return nil } func (x *RateLimit) GetDisableKey() string { if x != nil { return x.DisableKey } return "" } func (x *RateLimit) GetActions() []*RateLimit_Action { if x != nil { return x.Actions } return nil } func (x *RateLimit) GetLimit() *RateLimit_Override { if x != nil { return x.Limit } return nil } // .. attention:: // // Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 ``Host`` // header. Thus, if attempting to match on ``Host``, match on ``:authority`` instead. // // .. attention:: // // To route on HTTP method, use the special HTTP/2 ``:method`` header. This works for both // HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g., // // .. code-block:: json // // { // "name": ":method", // "string_match": { // "exact": "POST" // } // } // // .. attention:: // // In the absence of any header match specifier, match will default to :ref:`present_match // `. i.e, a request that has the :ref:`name // ` header will match, regardless of the header's // value. // // [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.] // // [#next-free-field: 15] type HeaderMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the name of the header in the request. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Specifies how the header match will be performed to route the request. // // Types that are assignable to HeaderMatchSpecifier: // // *HeaderMatcher_ExactMatch // *HeaderMatcher_SafeRegexMatch // *HeaderMatcher_RangeMatch // *HeaderMatcher_PresentMatch // *HeaderMatcher_PrefixMatch // *HeaderMatcher_SuffixMatch // *HeaderMatcher_ContainsMatch // *HeaderMatcher_StringMatch HeaderMatchSpecifier isHeaderMatcher_HeaderMatchSpecifier `protobuf_oneof:"header_match_specifier"` // If specified, the match result will be inverted before checking. Defaults to false. // // Examples: // // * The regex “\d{3}“ does not match the value “1234“, so it will match when inverted. // * The range [-10,0) will match the value -1, so it will not match when inverted. InvertMatch bool `protobuf:"varint,8,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"` // If specified, for any header match rule, if the header match rule specified header // does not exist, this header value will be treated as empty. Defaults to false. // // Examples: // // - The header match rule specified header "header1" to range match of [0, 10], // :ref:`invert_match ` // is set to true and :ref:`treat_missing_header_as_empty ` // is set to true; The "header1" header is not present. The match rule will // treat the "header1" as an empty header. The empty header does not match the range, // so it will match when inverted. // - The header match rule specified header "header2" to range match of [0, 10], // :ref:`invert_match ` // is set to true and :ref:`treat_missing_header_as_empty ` // is set to false; The "header2" header is not present and the header // matcher rule for "header2" will be ignored so it will not match. // - The header match rule specified header "header3" to a string regex match // “^$“ which means an empty string, and // :ref:`treat_missing_header_as_empty ` // is set to true; The "header3" header is not present. // The match rule will treat the "header3" header as an empty header so it will match. // - The header match rule specified header "header4" to a string regex match // “^$“ which means an empty string, and // :ref:`treat_missing_header_as_empty ` // is set to false; The "header4" header is not present. // The match rule for "header4" will be ignored so it will not match. TreatMissingHeaderAsEmpty bool `protobuf:"varint,14,opt,name=treat_missing_header_as_empty,json=treatMissingHeaderAsEmpty,proto3" json:"treat_missing_header_as_empty,omitempty"` } func (x *HeaderMatcher) Reset() { *x = HeaderMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMatcher) ProtoMessage() {} func (x *HeaderMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMatcher.ProtoReflect.Descriptor instead. func (*HeaderMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{18} } func (x *HeaderMatcher) GetName() string { if x != nil { return x.Name } return "" } func (m *HeaderMatcher) GetHeaderMatchSpecifier() isHeaderMatcher_HeaderMatchSpecifier { if m != nil { return m.HeaderMatchSpecifier } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *HeaderMatcher) GetExactMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_ExactMatch); ok { return x.ExactMatch } return "" } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *HeaderMatcher) GetSafeRegexMatch() *v32.RegexMatcher { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_SafeRegexMatch); ok { return x.SafeRegexMatch } return nil } func (x *HeaderMatcher) GetRangeMatch() *v33.Int64Range { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_RangeMatch); ok { return x.RangeMatch } return nil } func (x *HeaderMatcher) GetPresentMatch() bool { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_PresentMatch); ok { return x.PresentMatch } return false } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *HeaderMatcher) GetPrefixMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_PrefixMatch); ok { return x.PrefixMatch } return "" } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *HeaderMatcher) GetSuffixMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_SuffixMatch); ok { return x.SuffixMatch } return "" } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *HeaderMatcher) GetContainsMatch() string { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_ContainsMatch); ok { return x.ContainsMatch } return "" } func (x *HeaderMatcher) GetStringMatch() *v32.StringMatcher { if x, ok := x.GetHeaderMatchSpecifier().(*HeaderMatcher_StringMatch); ok { return x.StringMatch } return nil } func (x *HeaderMatcher) GetInvertMatch() bool { if x != nil { return x.InvertMatch } return false } func (x *HeaderMatcher) GetTreatMissingHeaderAsEmpty() bool { if x != nil { return x.TreatMissingHeaderAsEmpty } return false } type isHeaderMatcher_HeaderMatchSpecifier interface { isHeaderMatcher_HeaderMatchSpecifier() } type HeaderMatcher_ExactMatch struct { // If specified, header match will be performed based on the value of the header. // This field is deprecated. Please use :ref:`string_match `. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. ExactMatch string `protobuf:"bytes,4,opt,name=exact_match,json=exactMatch,proto3,oneof"` } type HeaderMatcher_SafeRegexMatch struct { // If specified, this regex string is a regular expression rule which implies the entire request // header value must match the regex. The rule will not match if only a subsequence of the // request header value matches the regex. // This field is deprecated. Please use :ref:`string_match `. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. SafeRegexMatch *v32.RegexMatcher `protobuf:"bytes,11,opt,name=safe_regex_match,json=safeRegexMatch,proto3,oneof"` } type HeaderMatcher_RangeMatch struct { // If specified, header match will be performed based on range. // The rule will match if the request header value is within this range. // The entire request header value must represent an integer in base 10 notation: consisting of // an optional plus or minus sign followed by a sequence of digits. The rule will not match if // the header value does not represent an integer. Match will fail for empty values, floating // point numbers or if only a subsequence of the header value is an integer. // // Examples: // // - For range [-10,0), route will match for header value -1, but not for 0, “somestring“, 10.9, // “-1somestring“ RangeMatch *v33.Int64Range `protobuf:"bytes,6,opt,name=range_match,json=rangeMatch,proto3,oneof"` } type HeaderMatcher_PresentMatch struct { // If specified as true, header match will be performed based on whether the header is in the // request. If specified as false, header match will be performed based on whether the header is absent. PresentMatch bool `protobuf:"varint,7,opt,name=present_match,json=presentMatch,proto3,oneof"` } type HeaderMatcher_PrefixMatch struct { // If specified, header match will be performed based on the prefix of the header value. // Note: empty prefix is not allowed, please use present_match instead. // This field is deprecated. Please use :ref:`string_match `. // // Examples: // // * The prefix “abcd“ matches the value “abcdxyz“, but not for “abcxyz“. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. PrefixMatch string `protobuf:"bytes,9,opt,name=prefix_match,json=prefixMatch,proto3,oneof"` } type HeaderMatcher_SuffixMatch struct { // If specified, header match will be performed based on the suffix of the header value. // Note: empty suffix is not allowed, please use present_match instead. // This field is deprecated. Please use :ref:`string_match `. // // Examples: // // * The suffix “abcd“ matches the value “xyzabcd“, but not for “xyzbcd“. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. SuffixMatch string `protobuf:"bytes,10,opt,name=suffix_match,json=suffixMatch,proto3,oneof"` } type HeaderMatcher_ContainsMatch struct { // If specified, header match will be performed based on whether the header value contains // the given value or not. // Note: empty contains match is not allowed, please use present_match instead. // This field is deprecated. Please use :ref:`string_match `. // // Examples: // // * The value “abcd“ matches the value “xyzabcdpqr“, but not for “xyzbcdpqr“. // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. ContainsMatch string `protobuf:"bytes,12,opt,name=contains_match,json=containsMatch,proto3,oneof"` } type HeaderMatcher_StringMatch struct { // If specified, header match will be performed based on the string match of the header value. StringMatch *v32.StringMatcher `protobuf:"bytes,13,opt,name=string_match,json=stringMatch,proto3,oneof"` } func (*HeaderMatcher_ExactMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_SafeRegexMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_RangeMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_PresentMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_PrefixMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_SuffixMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_ContainsMatch) isHeaderMatcher_HeaderMatchSpecifier() {} func (*HeaderMatcher_StringMatch) isHeaderMatcher_HeaderMatchSpecifier() {} // Query parameter matching treats the query string of a request's :path header // as an ampersand-separated list of keys and/or key=value elements. // [#next-free-field: 7] type QueryParameterMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the name of a key that must be present in the requested // “path“'s query string. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to QueryParameterMatchSpecifier: // // *QueryParameterMatcher_StringMatch // *QueryParameterMatcher_PresentMatch QueryParameterMatchSpecifier isQueryParameterMatcher_QueryParameterMatchSpecifier `protobuf_oneof:"query_parameter_match_specifier"` } func (x *QueryParameterMatcher) Reset() { *x = QueryParameterMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryParameterMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryParameterMatcher) ProtoMessage() {} func (x *QueryParameterMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueryParameterMatcher.ProtoReflect.Descriptor instead. func (*QueryParameterMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{19} } func (x *QueryParameterMatcher) GetName() string { if x != nil { return x.Name } return "" } func (m *QueryParameterMatcher) GetQueryParameterMatchSpecifier() isQueryParameterMatcher_QueryParameterMatchSpecifier { if m != nil { return m.QueryParameterMatchSpecifier } return nil } func (x *QueryParameterMatcher) GetStringMatch() *v32.StringMatcher { if x, ok := x.GetQueryParameterMatchSpecifier().(*QueryParameterMatcher_StringMatch); ok { return x.StringMatch } return nil } func (x *QueryParameterMatcher) GetPresentMatch() bool { if x, ok := x.GetQueryParameterMatchSpecifier().(*QueryParameterMatcher_PresentMatch); ok { return x.PresentMatch } return false } type isQueryParameterMatcher_QueryParameterMatchSpecifier interface { isQueryParameterMatcher_QueryParameterMatchSpecifier() } type QueryParameterMatcher_StringMatch struct { // Specifies whether a query parameter value should match against a string. StringMatch *v32.StringMatcher `protobuf:"bytes,5,opt,name=string_match,json=stringMatch,proto3,oneof"` } type QueryParameterMatcher_PresentMatch struct { // Specifies whether a query parameter should be present. PresentMatch bool `protobuf:"varint,6,opt,name=present_match,json=presentMatch,proto3,oneof"` } func (*QueryParameterMatcher_StringMatch) isQueryParameterMatcher_QueryParameterMatchSpecifier() {} func (*QueryParameterMatcher_PresentMatch) isQueryParameterMatcher_QueryParameterMatchSpecifier() {} // HTTP Internal Redirect :ref:`architecture overview `. // [#next-free-field: 6] type InternalRedirectPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An internal redirect is not handled, unless the number of previous internal redirects that a // downstream request has encountered is lower than this value. // In the case where a downstream request is bounced among multiple routes by internal redirect, // the first route that hits this threshold, or does not set :ref:`internal_redirect_policy // ` // will pass the redirect back to downstream. // // If not specified, at most one redirect will be followed. MaxInternalRedirects *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_internal_redirects,json=maxInternalRedirects,proto3" json:"max_internal_redirects,omitempty"` // Defines what upstream response codes are allowed to trigger internal redirect. If unspecified, // only 302 will be treated as internal redirect. // Only 301, 302, 303, 307 and 308 are valid values. Any other codes will be ignored. RedirectResponseCodes []uint32 `protobuf:"varint,2,rep,packed,name=redirect_response_codes,json=redirectResponseCodes,proto3" json:"redirect_response_codes,omitempty"` // Specifies a list of predicates that are queried when an upstream response is deemed // to trigger an internal redirect by all other criteria. Any predicate in the list can reject // the redirect, causing the response to be proxied to downstream. // [#extension-category: envoy.internal_redirect_predicates] Predicates []*v31.TypedExtensionConfig `protobuf:"bytes,3,rep,name=predicates,proto3" json:"predicates,omitempty"` // Allow internal redirect to follow a target URI with a different scheme than the value of // x-forwarded-proto. The default is false. AllowCrossSchemeRedirect bool `protobuf:"varint,4,opt,name=allow_cross_scheme_redirect,json=allowCrossSchemeRedirect,proto3" json:"allow_cross_scheme_redirect,omitempty"` // Specifies a list of headers, by name, to copy from the internal redirect into the subsequent // request. If a header is specified here but not present in the redirect, it will be cleared in // the subsequent request. ResponseHeadersToCopy []string `protobuf:"bytes,5,rep,name=response_headers_to_copy,json=responseHeadersToCopy,proto3" json:"response_headers_to_copy,omitempty"` } func (x *InternalRedirectPolicy) Reset() { *x = InternalRedirectPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InternalRedirectPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*InternalRedirectPolicy) ProtoMessage() {} func (x *InternalRedirectPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InternalRedirectPolicy.ProtoReflect.Descriptor instead. func (*InternalRedirectPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{20} } func (x *InternalRedirectPolicy) GetMaxInternalRedirects() *wrappers.UInt32Value { if x != nil { return x.MaxInternalRedirects } return nil } func (x *InternalRedirectPolicy) GetRedirectResponseCodes() []uint32 { if x != nil { return x.RedirectResponseCodes } return nil } func (x *InternalRedirectPolicy) GetPredicates() []*v31.TypedExtensionConfig { if x != nil { return x.Predicates } return nil } func (x *InternalRedirectPolicy) GetAllowCrossSchemeRedirect() bool { if x != nil { return x.AllowCrossSchemeRedirect } return false } func (x *InternalRedirectPolicy) GetResponseHeadersToCopy() []string { if x != nil { return x.ResponseHeadersToCopy } return nil } // A simple wrapper for an HTTP filter config. This is intended to be used as a wrapper for the // map value in // :ref:`VirtualHost.typed_per_filter_config`, // :ref:`Route.typed_per_filter_config`, // or :ref:`WeightedCluster.ClusterWeight.typed_per_filter_config` // to add additional flags to the filter. type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter config. Config *any1.Any `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` // If true, the filter is optional, meaning that if the client does // not support the specified filter, it may ignore the map entry rather // than rejecting the config. IsOptional bool `protobuf:"varint,2,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"` // If true, the filter is disabled in the route or virtual host and the “config“ field is ignored. // See :ref:`route based filter chain ` // for more details. // // .. note:: // // This field will take effect when the request arrive and filter chain is created for the request. // If initial route is selected for the request and a filter is disabled in the initial route, then // the filter will not be added to the filter chain. // And if the request is mutated later and re-match to another route, the disabled filter by the // initial route will not be added back to the filter chain because the filter chain is already // created and it is too late to change the chain. // // This field only make sense for the downstream HTTP filters for now. Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{21} } func (x *FilterConfig) GetConfig() *any1.Any { if x != nil { return x.Config } return nil } func (x *FilterConfig) GetIsOptional() bool { if x != nil { return x.IsOptional } return false } func (x *FilterConfig) GetDisabled() bool { if x != nil { return x.Disabled } return false } // [#next-free-field: 13] type WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only one of “name“ and “cluster_header“ may be specified. // [#next-major-version: Need to add back the validation rule: (validate.rules).string = {min_len: 1}] // Name of the upstream cluster. The cluster must exist in the // :ref:`cluster manager configuration `. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Only one of “name“ and “cluster_header“ may be specified. // [#next-major-version: Need to add back the validation rule: (validate.rules).string = {min_len: 1 }] // Envoy will determine the cluster to route to by reading the value of the // HTTP header named by cluster_header from the request headers. If the // header is not found or the referenced cluster does not exist, Envoy will // return a 404 response. // // .. attention:: // // Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 // ``Host`` header. Thus, if attempting to match on ``Host``, match on ``:authority`` instead. // // .. note:: // // If the header appears multiple times only the first value is used. ClusterHeader string `protobuf:"bytes,12,opt,name=cluster_header,json=clusterHeader,proto3" json:"cluster_header,omitempty"` // The weight of the cluster. This value is relative to the other clusters' // weights. When a request matches the route, the choice of an upstream cluster // is determined by its weight. The sum of weights across all // entries in the clusters array must be greater than 0, and must not exceed // uint32_t maximal value (4294967295). Weight *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field will be considered for // load balancing. Note that this will be merged with what's provided in // :ref:`RouteAction.metadata_match `, with // values here taking precedence. The filter name should be specified as “envoy.lb“. MetadataMatch *v31.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Specifies a list of headers to be added to requests when this cluster is selected // through the enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. // Headers specified at this level are applied before headers from the enclosing // :ref:`envoy_v3_api_msg_config.route.v3.Route`, :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`, and // :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. RequestHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,4,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Specifies a list of HTTP headers that should be removed from each request when // this cluster is selected through the enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. RequestHeadersToRemove []string `protobuf:"bytes,9,rep,name=request_headers_to_remove,json=requestHeadersToRemove,proto3" json:"request_headers_to_remove,omitempty"` // Specifies a list of headers to be added to responses when this cluster is selected // through the enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. // Headers specified at this level are applied before headers from the enclosing // :ref:`envoy_v3_api_msg_config.route.v3.Route`, :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`, and // :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on // header value syntax, see the documentation on :ref:`custom request headers // `. ResponseHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,5,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Specifies a list of headers to be removed from responses when this cluster is selected // through the enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteAction`. ResponseHeadersToRemove []string `protobuf:"bytes,6,rep,name=response_headers_to_remove,json=responseHeadersToRemove,proto3" json:"response_headers_to_remove,omitempty"` // This field can be used to provide weighted cluster specific per filter config. The key should match the // :ref:`filter config name // `. // See :ref:`Http filter route specific config ` // for details. // [#comment: An entry's value may be wrapped in a // :ref:`FilterConfig` // message to specify additional options.] TypedPerFilterConfig map[string]*any1.Any `protobuf:"bytes,10,rep,name=typed_per_filter_config,json=typedPerFilterConfig,proto3" json:"typed_per_filter_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Types that are assignable to HostRewriteSpecifier: // // *WeightedCluster_ClusterWeight_HostRewriteLiteral HostRewriteSpecifier isWeightedCluster_ClusterWeight_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` } func (x *WeightedCluster_ClusterWeight) Reset() { *x = WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{4, 0} } func (x *WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *WeightedCluster_ClusterWeight) GetClusterHeader() string { if x != nil { return x.ClusterHeader } return "" } func (x *WeightedCluster_ClusterWeight) GetWeight() *wrappers.UInt32Value { if x != nil { return x.Weight } return nil } func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *v31.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *WeightedCluster_ClusterWeight) GetRequestHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *WeightedCluster_ClusterWeight) GetRequestHeadersToRemove() []string { if x != nil { return x.RequestHeadersToRemove } return nil } func (x *WeightedCluster_ClusterWeight) GetResponseHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *WeightedCluster_ClusterWeight) GetResponseHeadersToRemove() []string { if x != nil { return x.ResponseHeadersToRemove } return nil } func (x *WeightedCluster_ClusterWeight) GetTypedPerFilterConfig() map[string]*any1.Any { if x != nil { return x.TypedPerFilterConfig } return nil } func (m *WeightedCluster_ClusterWeight) GetHostRewriteSpecifier() isWeightedCluster_ClusterWeight_HostRewriteSpecifier { if m != nil { return m.HostRewriteSpecifier } return nil } func (x *WeightedCluster_ClusterWeight) GetHostRewriteLiteral() string { if x, ok := x.GetHostRewriteSpecifier().(*WeightedCluster_ClusterWeight_HostRewriteLiteral); ok { return x.HostRewriteLiteral } return "" } type isWeightedCluster_ClusterWeight_HostRewriteSpecifier interface { isWeightedCluster_ClusterWeight_HostRewriteSpecifier() } type WeightedCluster_ClusterWeight_HostRewriteLiteral struct { // Indicates that during forwarding, the host header will be swapped with // this value. HostRewriteLiteral string `protobuf:"bytes,11,opt,name=host_rewrite_literal,json=hostRewriteLiteral,proto3,oneof"` } func (*WeightedCluster_ClusterWeight_HostRewriteLiteral) isWeightedCluster_ClusterWeight_HostRewriteSpecifier() { } type RouteMatch_GrpcRouteMatchOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RouteMatch_GrpcRouteMatchOptions) Reset() { *x = RouteMatch_GrpcRouteMatchOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch_GrpcRouteMatchOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch_GrpcRouteMatchOptions) ProtoMessage() {} func (x *RouteMatch_GrpcRouteMatchOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch_GrpcRouteMatchOptions.ProtoReflect.Descriptor instead. func (*RouteMatch_GrpcRouteMatchOptions) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{6, 0} } type RouteMatch_TlsContextMatchOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If specified, the route will match against whether or not a certificate is presented. // If not specified, certificate presentation status (true or false) will not be considered when route matching. Presented *wrappers.BoolValue `protobuf:"bytes,1,opt,name=presented,proto3" json:"presented,omitempty"` // If specified, the route will match against whether or not a certificate is validated. // If not specified, certificate validation status (true or false) will not be considered when route matching. // // .. warning:: // // Client certificate validation is not currently performed upon TLS session resumption. For // a resumed TLS session the route will match only when ``validated`` is false, regardless of // whether the client TLS certificate is valid. // // The only known workaround for this issue is to disable TLS session resumption entirely, by // setting both :ref:`disable_stateless_session_resumption ` // and :ref:`disable_stateful_session_resumption ` on the DownstreamTlsContext. Validated *wrappers.BoolValue `protobuf:"bytes,2,opt,name=validated,proto3" json:"validated,omitempty"` } func (x *RouteMatch_TlsContextMatchOptions) Reset() { *x = RouteMatch_TlsContextMatchOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch_TlsContextMatchOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch_TlsContextMatchOptions) ProtoMessage() {} func (x *RouteMatch_TlsContextMatchOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch_TlsContextMatchOptions.ProtoReflect.Descriptor instead. func (*RouteMatch_TlsContextMatchOptions) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{6, 1} } func (x *RouteMatch_TlsContextMatchOptions) GetPresented() *wrappers.BoolValue { if x != nil { return x.Presented } return nil } func (x *RouteMatch_TlsContextMatchOptions) GetValidated() *wrappers.BoolValue { if x != nil { return x.Validated } return nil } // An extensible message for matching CONNECT or CONNECT-UDP requests. type RouteMatch_ConnectMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RouteMatch_ConnectMatcher) Reset() { *x = RouteMatch_ConnectMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch_ConnectMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch_ConnectMatcher) ProtoMessage() {} func (x *RouteMatch_ConnectMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch_ConnectMatcher.ProtoReflect.Descriptor instead. func (*RouteMatch_ConnectMatcher) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{6, 2} } // The router is capable of shadowing traffic from one cluster to another. The current // implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to // respond before returning the response from the primary cluster. All normal statistics are // collected for the shadow cluster making this feature useful for testing. // // During shadowing, the host/authority header is altered such that “-shadow“ is appended. This is // useful for logging. For example, “cluster1“ becomes “cluster1-shadow“. // // .. note:: // // Shadowing will not be triggered if the primary cluster does not exist. // // .. note:: // // Shadowing doesn't support Http CONNECT and upgrades. // // [#next-free-field: 6] type RouteAction_RequestMirrorPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Only one of “cluster“ and “cluster_header“ can be specified. // [#next-major-version: Need to add back the validation rule: (validate.rules).string = {min_len: 1}] // Specifies the cluster that requests will be mirrored to. The cluster must // exist in the cluster manager configuration. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Only one of “cluster“ and “cluster_header“ can be specified. // Envoy will determine the cluster to route to by reading the value of the // HTTP header named by cluster_header from the request headers. Only the first value in header is used, // and no shadow request will happen if the value is not found in headers. Envoy will not wait for // the shadow cluster to respond before returning the response from the primary cluster. // // .. attention:: // // Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 // ``Host`` header. Thus, if attempting to match on ``Host``, match on ``:authority`` instead. // // .. note:: // // If the header appears multiple times only the first value is used. ClusterHeader string `protobuf:"bytes,5,opt,name=cluster_header,json=clusterHeader,proto3" json:"cluster_header,omitempty"` // If not specified, all requests to the target cluster will be mirrored. // // If specified, this field takes precedence over the “runtime_key“ field and requests must also // fall under the percentage of matches indicated by this field. // // For some fraction N/D, a random number in the range [0,D) is selected. If the // number is <= the value of the numerator N, or if the key is not present, the default // value, the request will be mirrored. RuntimeFraction *v31.RuntimeFractionalPercent `protobuf:"bytes,3,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Determines if the trace span should be sampled. Defaults to true. TraceSampled *wrappers.BoolValue `protobuf:"bytes,4,opt,name=trace_sampled,json=traceSampled,proto3" json:"trace_sampled,omitempty"` } func (x *RouteAction_RequestMirrorPolicy) Reset() { *x = RouteAction_RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_RequestMirrorPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_RequestMirrorPolicy) ProtoMessage() {} func (x *RouteAction_RequestMirrorPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RouteAction_RequestMirrorPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 0} } func (x *RouteAction_RequestMirrorPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RouteAction_RequestMirrorPolicy) GetClusterHeader() string { if x != nil { return x.ClusterHeader } return "" } func (x *RouteAction_RequestMirrorPolicy) GetRuntimeFraction() *v31.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RouteAction_RequestMirrorPolicy) GetTraceSampled() *wrappers.BoolValue { if x != nil { return x.TraceSampled } return nil } // Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer // `. // [#next-free-field: 7] type RouteAction_HashPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PolicySpecifier: // // *RouteAction_HashPolicy_Header_ // *RouteAction_HashPolicy_Cookie_ // *RouteAction_HashPolicy_ConnectionProperties_ // *RouteAction_HashPolicy_QueryParameter_ // *RouteAction_HashPolicy_FilterState_ PolicySpecifier isRouteAction_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` // The flag that short-circuits the hash computing. This field provides a // 'fallback' style of configuration: "if a terminal policy doesn't work, // fallback to rest of the policy list", it saves time when the terminal // policy works. // // If true, and there is already a hash computed, ignore rest of the // list of hash polices. // For example, if the following hash methods are configured: // // ========= ======== // specifier terminal // ========= ======== // Header A true // Header B false // Header C false // ========= ======== // // The generateHash process ends if policy "header A" generates a hash, as // it's a terminal policy. Terminal bool `protobuf:"varint,4,opt,name=terminal,proto3" json:"terminal,omitempty"` } func (x *RouteAction_HashPolicy) Reset() { *x = RouteAction_HashPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy) ProtoMessage() {} func (x *RouteAction_HashPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1} } func (m *RouteAction_HashPolicy) GetPolicySpecifier() isRouteAction_HashPolicy_PolicySpecifier { if m != nil { return m.PolicySpecifier } return nil } func (x *RouteAction_HashPolicy) GetHeader() *RouteAction_HashPolicy_Header { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_Header_); ok { return x.Header } return nil } func (x *RouteAction_HashPolicy) GetCookie() *RouteAction_HashPolicy_Cookie { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_Cookie_); ok { return x.Cookie } return nil } func (x *RouteAction_HashPolicy) GetConnectionProperties() *RouteAction_HashPolicy_ConnectionProperties { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_ConnectionProperties_); ok { return x.ConnectionProperties } return nil } func (x *RouteAction_HashPolicy) GetQueryParameter() *RouteAction_HashPolicy_QueryParameter { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_QueryParameter_); ok { return x.QueryParameter } return nil } func (x *RouteAction_HashPolicy) GetFilterState() *RouteAction_HashPolicy_FilterState { if x, ok := x.GetPolicySpecifier().(*RouteAction_HashPolicy_FilterState_); ok { return x.FilterState } return nil } func (x *RouteAction_HashPolicy) GetTerminal() bool { if x != nil { return x.Terminal } return false } type isRouteAction_HashPolicy_PolicySpecifier interface { isRouteAction_HashPolicy_PolicySpecifier() } type RouteAction_HashPolicy_Header_ struct { // Header hash policy. Header *RouteAction_HashPolicy_Header `protobuf:"bytes,1,opt,name=header,proto3,oneof"` } type RouteAction_HashPolicy_Cookie_ struct { // Cookie hash policy. Cookie *RouteAction_HashPolicy_Cookie `protobuf:"bytes,2,opt,name=cookie,proto3,oneof"` } type RouteAction_HashPolicy_ConnectionProperties_ struct { // Connection properties hash policy. ConnectionProperties *RouteAction_HashPolicy_ConnectionProperties `protobuf:"bytes,3,opt,name=connection_properties,json=connectionProperties,proto3,oneof"` } type RouteAction_HashPolicy_QueryParameter_ struct { // Query parameter hash policy. QueryParameter *RouteAction_HashPolicy_QueryParameter `protobuf:"bytes,5,opt,name=query_parameter,json=queryParameter,proto3,oneof"` } type RouteAction_HashPolicy_FilterState_ struct { // Filter state hash policy. FilterState *RouteAction_HashPolicy_FilterState `protobuf:"bytes,6,opt,name=filter_state,json=filterState,proto3,oneof"` } func (*RouteAction_HashPolicy_Header_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_Cookie_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_ConnectionProperties_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_QueryParameter_) isRouteAction_HashPolicy_PolicySpecifier() {} func (*RouteAction_HashPolicy_FilterState_) isRouteAction_HashPolicy_PolicySpecifier() {} // Allows enabling and disabling upgrades on a per-route basis. // This overrides any enabled/disabled upgrade filter chain specified in the // HttpConnectionManager // :ref:`upgrade_configs // ` // but does not affect any custom filter chain specified there. type RouteAction_UpgradeConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The case-insensitive name of this upgrade, e.g. "websocket". // For each upgrade type present in upgrade_configs, requests with // Upgrade: [upgrade_type] will be proxied upstream. UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"` // Determines if upgrades are available on this route. Defaults to true. Enabled *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"` // Configuration for sending data upstream as a raw data payload. This is used for // CONNECT requests, when forwarding CONNECT payload as raw TCP. // Note that CONNECT support is currently considered alpha in Envoy. // [#comment: TODO(htuch): Replace the above comment with an alpha tag.] ConnectConfig *RouteAction_UpgradeConfig_ConnectConfig `protobuf:"bytes,3,opt,name=connect_config,json=connectConfig,proto3" json:"connect_config,omitempty"` } func (x *RouteAction_UpgradeConfig) Reset() { *x = RouteAction_UpgradeConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_UpgradeConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_UpgradeConfig) ProtoMessage() {} func (x *RouteAction_UpgradeConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_UpgradeConfig.ProtoReflect.Descriptor instead. func (*RouteAction_UpgradeConfig) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 2} } func (x *RouteAction_UpgradeConfig) GetUpgradeType() string { if x != nil { return x.UpgradeType } return "" } func (x *RouteAction_UpgradeConfig) GetEnabled() *wrappers.BoolValue { if x != nil { return x.Enabled } return nil } func (x *RouteAction_UpgradeConfig) GetConnectConfig() *RouteAction_UpgradeConfig_ConnectConfig { if x != nil { return x.ConnectConfig } return nil } type RouteAction_MaxStreamDuration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the maximum duration allowed for streams on the route. If not specified, the value // from the :ref:`max_stream_duration // ` field in // :ref:`HttpConnectionManager.common_http_protocol_options // ` // is used. If this field is set explicitly to zero, any // HttpConnectionManager max_stream_duration timeout will be disabled for // this route. MaxStreamDuration *duration.Duration `protobuf:"bytes,1,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` // If present, and the request contains a `grpc-timeout header // `_, use that value as the // “max_stream_duration“, but limit the applied timeout to the maximum value specified here. // If set to 0, the “grpc-timeout“ header is used without modification. GrpcTimeoutHeaderMax *duration.Duration `protobuf:"bytes,2,opt,name=grpc_timeout_header_max,json=grpcTimeoutHeaderMax,proto3" json:"grpc_timeout_header_max,omitempty"` // If present, Envoy will adjust the timeout provided by the “grpc-timeout“ header by // subtracting the provided duration from the header. This is useful for allowing Envoy to set // its global timeout to be less than that of the deadline imposed by the calling client, which // makes it more likely that Envoy will handle the timeout instead of having the call canceled // by the client. If, after applying the offset, the resulting timeout is zero or negative, // the stream will timeout immediately. GrpcTimeoutHeaderOffset *duration.Duration `protobuf:"bytes,3,opt,name=grpc_timeout_header_offset,json=grpcTimeoutHeaderOffset,proto3" json:"grpc_timeout_header_offset,omitempty"` } func (x *RouteAction_MaxStreamDuration) Reset() { *x = RouteAction_MaxStreamDuration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_MaxStreamDuration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_MaxStreamDuration) ProtoMessage() {} func (x *RouteAction_MaxStreamDuration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_MaxStreamDuration.ProtoReflect.Descriptor instead. func (*RouteAction_MaxStreamDuration) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 3} } func (x *RouteAction_MaxStreamDuration) GetMaxStreamDuration() *duration.Duration { if x != nil { return x.MaxStreamDuration } return nil } func (x *RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderMax() *duration.Duration { if x != nil { return x.GrpcTimeoutHeaderMax } return nil } func (x *RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderOffset() *duration.Duration { if x != nil { return x.GrpcTimeoutHeaderOffset } return nil } type RouteAction_HashPolicy_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the request header that will be used to obtain the hash // key. If the request header is not present, no hash will be produced. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // If specified, the request header value will be rewritten and used // to produce the hash key. RegexRewrite *v32.RegexMatchAndSubstitute `protobuf:"bytes,2,opt,name=regex_rewrite,json=regexRewrite,proto3" json:"regex_rewrite,omitempty"` } func (x *RouteAction_HashPolicy_Header) Reset() { *x = RouteAction_HashPolicy_Header{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_Header) ProtoMessage() {} func (x *RouteAction_HashPolicy_Header) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_Header.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_Header) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 0} } func (x *RouteAction_HashPolicy_Header) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *RouteAction_HashPolicy_Header) GetRegexRewrite() *v32.RegexMatchAndSubstitute { if x != nil { return x.RegexRewrite } return nil } // CookieAttribute defines an API for adding additional attributes for a HTTP cookie. type RouteAction_HashPolicy_CookieAttribute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cookie attribute. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The optional value of the cookie attribute. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *RouteAction_HashPolicy_CookieAttribute) Reset() { *x = RouteAction_HashPolicy_CookieAttribute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_CookieAttribute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_CookieAttribute) ProtoMessage() {} func (x *RouteAction_HashPolicy_CookieAttribute) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_CookieAttribute.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_CookieAttribute) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 1} } func (x *RouteAction_HashPolicy_CookieAttribute) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteAction_HashPolicy_CookieAttribute) GetValue() string { if x != nil { return x.Value } return "" } // Envoy supports two types of cookie affinity: // // 1. Passive. Envoy takes a cookie that's present in the cookies header and // hashes on its value. // // 2. Generated. Envoy generates and sets a cookie with an expiration (TTL) // on the first request from the client in its response to the client, // based on the endpoint the request gets sent to. The client then // presents this on the next and all subsequent requests. The hash of // this is sufficient to ensure these requests get sent to the same // endpoint. The cookie is generated by hashing the source and // destination ports and addresses so that multiple independent HTTP2 // streams on the same connection will independently receive the same // cookie, even if they arrive at the Envoy simultaneously. type RouteAction_HashPolicy_Cookie struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cookie that will be used to obtain the hash key. If the // cookie is not present and ttl below is not set, no hash will be // produced. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If specified, a cookie with the TTL will be generated if the cookie is // not present. If the TTL is present and zero, the generated cookie will // be a session cookie. Ttl *duration.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"` // The name of the path for the cookie. If no path is specified here, no path // will be set for the cookie. Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // Additional attributes for the cookie. They will be used when generating a new cookie. Attributes []*RouteAction_HashPolicy_CookieAttribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"` } func (x *RouteAction_HashPolicy_Cookie) Reset() { *x = RouteAction_HashPolicy_Cookie{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_Cookie) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_Cookie) ProtoMessage() {} func (x *RouteAction_HashPolicy_Cookie) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_Cookie.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_Cookie) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 2} } func (x *RouteAction_HashPolicy_Cookie) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteAction_HashPolicy_Cookie) GetTtl() *duration.Duration { if x != nil { return x.Ttl } return nil } func (x *RouteAction_HashPolicy_Cookie) GetPath() string { if x != nil { return x.Path } return "" } func (x *RouteAction_HashPolicy_Cookie) GetAttributes() []*RouteAction_HashPolicy_CookieAttribute { if x != nil { return x.Attributes } return nil } type RouteAction_HashPolicy_ConnectionProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Hash on source IP address. SourceIp bool `protobuf:"varint,1,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"` } func (x *RouteAction_HashPolicy_ConnectionProperties) Reset() { *x = RouteAction_HashPolicy_ConnectionProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_ConnectionProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_ConnectionProperties) ProtoMessage() {} func (x *RouteAction_HashPolicy_ConnectionProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_ConnectionProperties.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_ConnectionProperties) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 3} } func (x *RouteAction_HashPolicy_ConnectionProperties) GetSourceIp() bool { if x != nil { return x.SourceIp } return false } type RouteAction_HashPolicy_QueryParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the URL query parameter that will be used to obtain the hash // key. If the parameter is not present, no hash will be produced. Query // parameter names are case-sensitive. If query parameters are repeated, only // the first value will be considered. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *RouteAction_HashPolicy_QueryParameter) Reset() { *x = RouteAction_HashPolicy_QueryParameter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_QueryParameter) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_QueryParameter) ProtoMessage() {} func (x *RouteAction_HashPolicy_QueryParameter) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_QueryParameter.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_QueryParameter) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 4} } func (x *RouteAction_HashPolicy_QueryParameter) GetName() string { if x != nil { return x.Name } return "" } type RouteAction_HashPolicy_FilterState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the Object in the per-request filterState, which is an // Envoy::Hashable object. If there is no data associated with the key, // or the stored object is not Envoy::Hashable, no hash will be produced. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *RouteAction_HashPolicy_FilterState) Reset() { *x = RouteAction_HashPolicy_FilterState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_HashPolicy_FilterState) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_HashPolicy_FilterState) ProtoMessage() {} func (x *RouteAction_HashPolicy_FilterState) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_HashPolicy_FilterState.ProtoReflect.Descriptor instead. func (*RouteAction_HashPolicy_FilterState) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 1, 5} } func (x *RouteAction_HashPolicy_FilterState) GetKey() string { if x != nil { return x.Key } return "" } // Configuration for sending data upstream as a raw data payload. This is used for // CONNECT or POST requests, when forwarding request payload as raw TCP. type RouteAction_UpgradeConfig_ConnectConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If present, the proxy protocol header will be prepended to the CONNECT payload sent upstream. ProxyProtocolConfig *v31.ProxyProtocolConfig `protobuf:"bytes,1,opt,name=proxy_protocol_config,json=proxyProtocolConfig,proto3" json:"proxy_protocol_config,omitempty"` // If set, the route will also allow forwarding POST payload as raw TCP. AllowPost bool `protobuf:"varint,2,opt,name=allow_post,json=allowPost,proto3" json:"allow_post,omitempty"` } func (x *RouteAction_UpgradeConfig_ConnectConfig) Reset() { *x = RouteAction_UpgradeConfig_ConnectConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_UpgradeConfig_ConnectConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_UpgradeConfig_ConnectConfig) ProtoMessage() {} func (x *RouteAction_UpgradeConfig_ConnectConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_UpgradeConfig_ConnectConfig.ProtoReflect.Descriptor instead. func (*RouteAction_UpgradeConfig_ConnectConfig) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{8, 2, 0} } func (x *RouteAction_UpgradeConfig_ConnectConfig) GetProxyProtocolConfig() *v31.ProxyProtocolConfig { if x != nil { return x.ProxyProtocolConfig } return nil } func (x *RouteAction_UpgradeConfig_ConnectConfig) GetAllowPost() bool { if x != nil { return x.AllowPost } return false } type RetryPolicy_RetryPriority struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // [#extension-category: envoy.retry_priorities] // // Types that are assignable to ConfigType: // // *RetryPolicy_RetryPriority_TypedConfig ConfigType isRetryPolicy_RetryPriority_ConfigType `protobuf_oneof:"config_type"` } func (x *RetryPolicy_RetryPriority) Reset() { *x = RetryPolicy_RetryPriority{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryPriority) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryPriority) ProtoMessage() {} func (x *RetryPolicy_RetryPriority) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryPriority.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryPriority) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 0} } func (x *RetryPolicy_RetryPriority) GetName() string { if x != nil { return x.Name } return "" } func (m *RetryPolicy_RetryPriority) GetConfigType() isRetryPolicy_RetryPriority_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *RetryPolicy_RetryPriority) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*RetryPolicy_RetryPriority_TypedConfig); ok { return x.TypedConfig } return nil } type isRetryPolicy_RetryPriority_ConfigType interface { isRetryPolicy_RetryPriority_ConfigType() } type RetryPolicy_RetryPriority_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*RetryPolicy_RetryPriority_TypedConfig) isRetryPolicy_RetryPriority_ConfigType() {} type RetryPolicy_RetryHostPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // [#extension-category: envoy.retry_host_predicates] // // Types that are assignable to ConfigType: // // *RetryPolicy_RetryHostPredicate_TypedConfig ConfigType isRetryPolicy_RetryHostPredicate_ConfigType `protobuf_oneof:"config_type"` } func (x *RetryPolicy_RetryHostPredicate) Reset() { *x = RetryPolicy_RetryHostPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryHostPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryHostPredicate) ProtoMessage() {} func (x *RetryPolicy_RetryHostPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryHostPredicate.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryHostPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 1} } func (x *RetryPolicy_RetryHostPredicate) GetName() string { if x != nil { return x.Name } return "" } func (m *RetryPolicy_RetryHostPredicate) GetConfigType() isRetryPolicy_RetryHostPredicate_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *RetryPolicy_RetryHostPredicate) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*RetryPolicy_RetryHostPredicate_TypedConfig); ok { return x.TypedConfig } return nil } type isRetryPolicy_RetryHostPredicate_ConfigType interface { isRetryPolicy_RetryHostPredicate_ConfigType() } type RetryPolicy_RetryHostPredicate_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*RetryPolicy_RetryHostPredicate_TypedConfig) isRetryPolicy_RetryHostPredicate_ConfigType() {} type RetryPolicy_RetryBackOff struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the base interval between retries. This parameter is required and must be greater // than zero. Values less than 1 ms are rounded up to 1 ms. // See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's // back-off algorithm. BaseInterval *duration.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"` // Specifies the maximum interval between retries. This parameter is optional, but must be // greater than or equal to the “base_interval“ if set. The default is 10 times the // “base_interval“. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion // of Envoy's back-off algorithm. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *RetryPolicy_RetryBackOff) Reset() { *x = RetryPolicy_RetryBackOff{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RetryBackOff) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RetryBackOff) ProtoMessage() {} func (x *RetryPolicy_RetryBackOff) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RetryBackOff.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryBackOff) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 2} } func (x *RetryPolicy_RetryBackOff) GetBaseInterval() *duration.Duration { if x != nil { return x.BaseInterval } return nil } func (x *RetryPolicy_RetryBackOff) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } type RetryPolicy_ResetHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the reset header. // // .. note:: // // If the header appears multiple times only the first value is used. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The format of the reset header. Format RetryPolicy_ResetHeaderFormat `protobuf:"varint,2,opt,name=format,proto3,enum=envoy.config.route.v3.RetryPolicy_ResetHeaderFormat" json:"format,omitempty"` } func (x *RetryPolicy_ResetHeader) Reset() { *x = RetryPolicy_ResetHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_ResetHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_ResetHeader) ProtoMessage() {} func (x *RetryPolicy_ResetHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_ResetHeader.ProtoReflect.Descriptor instead. func (*RetryPolicy_ResetHeader) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 3} } func (x *RetryPolicy_ResetHeader) GetName() string { if x != nil { return x.Name } return "" } func (x *RetryPolicy_ResetHeader) GetFormat() RetryPolicy_ResetHeaderFormat { if x != nil { return x.Format } return RetryPolicy_SECONDS } // A retry back-off strategy that applies when the upstream server rate limits // the request. // // Given this configuration: // // .. code-block:: yaml // // rate_limited_retry_back_off: // reset_headers: // - name: Retry-After // format: SECONDS // - name: X-RateLimit-Reset // format: UNIX_TIMESTAMP // max_interval: "300s" // // The following algorithm will apply: // // 1. If the response contains the header “Retry-After“ its value must be on // the form “120“ (an integer that represents the number of seconds to // wait before retrying). If so, this value is used as the back-off interval. // 2. Otherwise, if the response contains the header “X-RateLimit-Reset“ its // value must be on the form “1595320702“ (an integer that represents the // point in time at which to retry, as a Unix timestamp in seconds). If so, // the current time is subtracted from this value and the result is used as // the back-off interval. // 3. Otherwise, Envoy will use the default // :ref:`exponential back-off ` // strategy. // // No matter which format is used, if the resulting back-off interval exceeds // “max_interval“ it is discarded and the next header in “reset_headers“ // is tried. If a request timeout is configured for the route it will further // limit how long the request will be allowed to run. // // To prevent many clients retrying at the same point in time jitter is added // to the back-off interval, so the resulting interval is decided by taking: // “random(interval, interval * 1.5)“. // // .. attention:: // // Configuring ``rate_limited_retry_back_off`` will not by itself cause a request // to be retried. You will still need to configure the right retry policy to match // the responses from the upstream server. type RetryPolicy_RateLimitedRetryBackOff struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the reset headers (like “Retry-After“ or “X-RateLimit-Reset“) // to match against the response. Headers are tried in order, and matched case // insensitive. The first header to be parsed successfully is used. If no headers // match the default exponential back-off is used instead. ResetHeaders []*RetryPolicy_ResetHeader `protobuf:"bytes,1,rep,name=reset_headers,json=resetHeaders,proto3" json:"reset_headers,omitempty"` // Specifies the maximum back off interval that Envoy will allow. If a reset // header contains an interval longer than this then it will be discarded and // the next header will be tried. Defaults to 300 seconds. MaxInterval *duration.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"` } func (x *RetryPolicy_RateLimitedRetryBackOff) Reset() { *x = RetryPolicy_RateLimitedRetryBackOff{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RetryPolicy_RateLimitedRetryBackOff) String() string { return protoimpl.X.MessageStringOf(x) } func (*RetryPolicy_RateLimitedRetryBackOff) ProtoMessage() {} func (x *RetryPolicy_RateLimitedRetryBackOff) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RetryPolicy_RateLimitedRetryBackOff.ProtoReflect.Descriptor instead. func (*RetryPolicy_RateLimitedRetryBackOff) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{9, 4} } func (x *RetryPolicy_RateLimitedRetryBackOff) GetResetHeaders() []*RetryPolicy_ResetHeader { if x != nil { return x.ResetHeaders } return nil } func (x *RetryPolicy_RateLimitedRetryBackOff) GetMaxInterval() *duration.Duration { if x != nil { return x.MaxInterval } return nil } // [#next-free-field: 12] type RateLimit_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ActionSpecifier: // // *RateLimit_Action_SourceCluster_ // *RateLimit_Action_DestinationCluster_ // *RateLimit_Action_RequestHeaders_ // *RateLimit_Action_RemoteAddress_ // *RateLimit_Action_GenericKey_ // *RateLimit_Action_HeaderValueMatch_ // *RateLimit_Action_DynamicMetadata // *RateLimit_Action_Metadata // *RateLimit_Action_Extension // *RateLimit_Action_MaskedRemoteAddress_ // *RateLimit_Action_QueryParameterValueMatch_ ActionSpecifier isRateLimit_Action_ActionSpecifier `protobuf_oneof:"action_specifier"` } func (x *RateLimit_Action) Reset() { *x = RateLimit_Action{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action) ProtoMessage() {} func (x *RateLimit_Action) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action.ProtoReflect.Descriptor instead. func (*RateLimit_Action) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0} } func (m *RateLimit_Action) GetActionSpecifier() isRateLimit_Action_ActionSpecifier { if m != nil { return m.ActionSpecifier } return nil } func (x *RateLimit_Action) GetSourceCluster() *RateLimit_Action_SourceCluster { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_SourceCluster_); ok { return x.SourceCluster } return nil } func (x *RateLimit_Action) GetDestinationCluster() *RateLimit_Action_DestinationCluster { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_DestinationCluster_); ok { return x.DestinationCluster } return nil } func (x *RateLimit_Action) GetRequestHeaders() *RateLimit_Action_RequestHeaders { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_RequestHeaders_); ok { return x.RequestHeaders } return nil } func (x *RateLimit_Action) GetRemoteAddress() *RateLimit_Action_RemoteAddress { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_RemoteAddress_); ok { return x.RemoteAddress } return nil } func (x *RateLimit_Action) GetGenericKey() *RateLimit_Action_GenericKey { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_GenericKey_); ok { return x.GenericKey } return nil } func (x *RateLimit_Action) GetHeaderValueMatch() *RateLimit_Action_HeaderValueMatch { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_HeaderValueMatch_); ok { return x.HeaderValueMatch } return nil } // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. func (x *RateLimit_Action) GetDynamicMetadata() *RateLimit_Action_DynamicMetaData { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_DynamicMetadata); ok { return x.DynamicMetadata } return nil } func (x *RateLimit_Action) GetMetadata() *RateLimit_Action_MetaData { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_Metadata); ok { return x.Metadata } return nil } func (x *RateLimit_Action) GetExtension() *v31.TypedExtensionConfig { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_Extension); ok { return x.Extension } return nil } func (x *RateLimit_Action) GetMaskedRemoteAddress() *RateLimit_Action_MaskedRemoteAddress { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_MaskedRemoteAddress_); ok { return x.MaskedRemoteAddress } return nil } func (x *RateLimit_Action) GetQueryParameterValueMatch() *RateLimit_Action_QueryParameterValueMatch { if x, ok := x.GetActionSpecifier().(*RateLimit_Action_QueryParameterValueMatch_); ok { return x.QueryParameterValueMatch } return nil } type isRateLimit_Action_ActionSpecifier interface { isRateLimit_Action_ActionSpecifier() } type RateLimit_Action_SourceCluster_ struct { // Rate limit on source cluster. SourceCluster *RateLimit_Action_SourceCluster `protobuf:"bytes,1,opt,name=source_cluster,json=sourceCluster,proto3,oneof"` } type RateLimit_Action_DestinationCluster_ struct { // Rate limit on destination cluster. DestinationCluster *RateLimit_Action_DestinationCluster `protobuf:"bytes,2,opt,name=destination_cluster,json=destinationCluster,proto3,oneof"` } type RateLimit_Action_RequestHeaders_ struct { // Rate limit on request headers. RequestHeaders *RateLimit_Action_RequestHeaders `protobuf:"bytes,3,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type RateLimit_Action_RemoteAddress_ struct { // Rate limit on remote address. RemoteAddress *RateLimit_Action_RemoteAddress `protobuf:"bytes,4,opt,name=remote_address,json=remoteAddress,proto3,oneof"` } type RateLimit_Action_GenericKey_ struct { // Rate limit on a generic key. GenericKey *RateLimit_Action_GenericKey `protobuf:"bytes,5,opt,name=generic_key,json=genericKey,proto3,oneof"` } type RateLimit_Action_HeaderValueMatch_ struct { // Rate limit on the existence of request headers. HeaderValueMatch *RateLimit_Action_HeaderValueMatch `protobuf:"bytes,6,opt,name=header_value_match,json=headerValueMatch,proto3,oneof"` } type RateLimit_Action_DynamicMetadata struct { // Rate limit on dynamic metadata. // // .. attention:: // // This field has been deprecated in favor of the :ref:`metadata ` field // // Deprecated: Marked as deprecated in envoy/config/route/v3/route_components.proto. DynamicMetadata *RateLimit_Action_DynamicMetaData `protobuf:"bytes,7,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` } type RateLimit_Action_Metadata struct { // Rate limit on metadata. Metadata *RateLimit_Action_MetaData `protobuf:"bytes,8,opt,name=metadata,proto3,oneof"` } type RateLimit_Action_Extension struct { // Rate limit descriptor extension. See the rate limit descriptor extensions documentation. // // :ref:`HTTP matching input functions ` are // permitted as descriptor extensions. The input functions are only // looked up if there is no rate limit descriptor extension matching // the type URL. // // [#extension-category: envoy.rate_limit_descriptors] Extension *v31.TypedExtensionConfig `protobuf:"bytes,9,opt,name=extension,proto3,oneof"` } type RateLimit_Action_MaskedRemoteAddress_ struct { // Rate limit on masked remote address. MaskedRemoteAddress *RateLimit_Action_MaskedRemoteAddress `protobuf:"bytes,10,opt,name=masked_remote_address,json=maskedRemoteAddress,proto3,oneof"` } type RateLimit_Action_QueryParameterValueMatch_ struct { // Rate limit on the existence of query parameters. QueryParameterValueMatch *RateLimit_Action_QueryParameterValueMatch `protobuf:"bytes,11,opt,name=query_parameter_value_match,json=queryParameterValueMatch,proto3,oneof"` } func (*RateLimit_Action_SourceCluster_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_DestinationCluster_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_RequestHeaders_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_RemoteAddress_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_GenericKey_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_HeaderValueMatch_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_DynamicMetadata) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_Metadata) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_Extension) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_MaskedRemoteAddress_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_QueryParameterValueMatch_) isRateLimit_Action_ActionSpecifier() {} type RateLimit_Override struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to OverrideSpecifier: // // *RateLimit_Override_DynamicMetadata_ OverrideSpecifier isRateLimit_Override_OverrideSpecifier `protobuf_oneof:"override_specifier"` } func (x *RateLimit_Override) Reset() { *x = RateLimit_Override{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Override) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Override) ProtoMessage() {} func (x *RateLimit_Override) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Override.ProtoReflect.Descriptor instead. func (*RateLimit_Override) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 1} } func (m *RateLimit_Override) GetOverrideSpecifier() isRateLimit_Override_OverrideSpecifier { if m != nil { return m.OverrideSpecifier } return nil } func (x *RateLimit_Override) GetDynamicMetadata() *RateLimit_Override_DynamicMetadata { if x, ok := x.GetOverrideSpecifier().(*RateLimit_Override_DynamicMetadata_); ok { return x.DynamicMetadata } return nil } type isRateLimit_Override_OverrideSpecifier interface { isRateLimit_Override_OverrideSpecifier() } type RateLimit_Override_DynamicMetadata_ struct { // Limit override from dynamic metadata. DynamicMetadata *RateLimit_Override_DynamicMetadata `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` } func (*RateLimit_Override_DynamicMetadata_) isRateLimit_Override_OverrideSpecifier() {} // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("source_cluster", "") // // is derived from the :option:`--service-cluster` option. type RateLimit_Action_SourceCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_SourceCluster) Reset() { *x = RateLimit_Action_SourceCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_SourceCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_SourceCluster) ProtoMessage() {} func (x *RateLimit_Action_SourceCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_SourceCluster.ProtoReflect.Descriptor instead. func (*RateLimit_Action_SourceCluster) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 0} } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("destination_cluster", "") // // Once a request matches against a route table rule, a routed cluster is determined by one of // the following :ref:`route table configuration ` // settings: // // - :ref:`cluster ` indicates the upstream cluster // to route to. // - :ref:`weighted_clusters ` // chooses a cluster randomly from a set of clusters with attributed weight. // - :ref:`cluster_header ` indicates which // header in the request contains the target cluster. type RateLimit_Action_DestinationCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_DestinationCluster) Reset() { *x = RateLimit_Action_DestinationCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_DestinationCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_DestinationCluster) ProtoMessage() {} func (x *RateLimit_Action_DestinationCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_DestinationCluster.ProtoReflect.Descriptor instead. func (*RateLimit_Action_DestinationCluster) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 1} } // The following descriptor entry is appended when a header contains a key that matches the // “header_name“: // // .. code-block:: cpp // // ("", "") type RateLimit_Action_RequestHeaders struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header name to be queried from the request headers. The header’s // value is used to populate the value of the descriptor entry for the // descriptor_key. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // If set to true, Envoy skips the descriptor while calling rate limiting service // when header is not present in the request. By default it skips calling the // rate limiting service if this header is not present in the request. SkipIfAbsent bool `protobuf:"varint,3,opt,name=skip_if_absent,json=skipIfAbsent,proto3" json:"skip_if_absent,omitempty"` } func (x *RateLimit_Action_RequestHeaders) Reset() { *x = RateLimit_Action_RequestHeaders{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_RequestHeaders) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_RequestHeaders) ProtoMessage() {} func (x *RateLimit_Action_RequestHeaders) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_RequestHeaders.ProtoReflect.Descriptor instead. func (*RateLimit_Action_RequestHeaders) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 2} } func (x *RateLimit_Action_RequestHeaders) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *RateLimit_Action_RequestHeaders) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimit_Action_RequestHeaders) GetSkipIfAbsent() bool { if x != nil { return x.SkipIfAbsent } return false } // The following descriptor entry is appended to the descriptor and is populated using the // trusted address from :ref:`x-forwarded-for `: // // .. code-block:: cpp // // ("remote_address", "") type RateLimit_Action_RemoteAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimit_Action_RemoteAddress) Reset() { *x = RateLimit_Action_RemoteAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_RemoteAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_RemoteAddress) ProtoMessage() {} func (x *RateLimit_Action_RemoteAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_RemoteAddress.ProtoReflect.Descriptor instead. func (*RateLimit_Action_RemoteAddress) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 3} } // The following descriptor entry is appended to the descriptor and is populated using the // masked address from :ref:`x-forwarded-for `: // // .. code-block:: cpp // // ("masked_remote_address", "") type RateLimit_Action_MaskedRemoteAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Length of prefix mask len for IPv4 (e.g. 0, 32). // Defaults to 32 when unset. // For example, trusted address from x-forwarded-for is “192.168.1.1“, // the descriptor entry is ("masked_remote_address", "192.168.1.1/32"); // if mask len is 24, the descriptor entry is ("masked_remote_address", "192.168.1.0/24"). V4PrefixMaskLen *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=v4_prefix_mask_len,json=v4PrefixMaskLen,proto3" json:"v4_prefix_mask_len,omitempty"` // Length of prefix mask len for IPv6 (e.g. 0, 128). // Defaults to 128 when unset. // For example, trusted address from x-forwarded-for is “2001:abcd:ef01:2345:6789:abcd:ef01:234“, // the descriptor entry is ("masked_remote_address", "2001:abcd:ef01:2345:6789:abcd:ef01:234/128"); // if mask len is 64, the descriptor entry is ("masked_remote_address", "2001:abcd:ef01:2345::/64"). V6PrefixMaskLen *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=v6_prefix_mask_len,json=v6PrefixMaskLen,proto3" json:"v6_prefix_mask_len,omitempty"` } func (x *RateLimit_Action_MaskedRemoteAddress) Reset() { *x = RateLimit_Action_MaskedRemoteAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_MaskedRemoteAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_MaskedRemoteAddress) ProtoMessage() {} func (x *RateLimit_Action_MaskedRemoteAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_MaskedRemoteAddress.ProtoReflect.Descriptor instead. func (*RateLimit_Action_MaskedRemoteAddress) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 4} } func (x *RateLimit_Action_MaskedRemoteAddress) GetV4PrefixMaskLen() *wrappers.UInt32Value { if x != nil { return x.V4PrefixMaskLen } return nil } func (x *RateLimit_Action_MaskedRemoteAddress) GetV6PrefixMaskLen() *wrappers.UInt32Value { if x != nil { return x.V6PrefixMaskLen } return nil } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("generic_key", "") type RateLimit_Action_GenericKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // An optional key to use in the descriptor entry. If not set it defaults // to 'generic_key' as the descriptor key. DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` } func (x *RateLimit_Action_GenericKey) Reset() { *x = RateLimit_Action_GenericKey{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_GenericKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_GenericKey) ProtoMessage() {} func (x *RateLimit_Action_GenericKey) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_GenericKey.ProtoReflect.Descriptor instead. func (*RateLimit_Action_GenericKey) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 5} } func (x *RateLimit_Action_GenericKey) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimit_Action_GenericKey) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("header_match", "") type RateLimit_Action_HeaderValueMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. Defaults to “header_match“. DescriptorKey string `protobuf:"bytes,4,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // If set to true, the action will append a descriptor entry when the // request matches the headers. If set to false, the action will append a // descriptor entry when the request does not match the headers. The // default value is true. ExpectMatch *wrappers.BoolValue `protobuf:"bytes,2,opt,name=expect_match,json=expectMatch,proto3" json:"expect_match,omitempty"` // Specifies a set of headers that the rate limit action should match // on. The action will check the request’s headers against all the // specified headers in the config. A match will happen if all the // headers in the config are present in the request with the same values // (or based on presence if the value field is not in the config). Headers []*HeaderMatcher `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RateLimit_Action_HeaderValueMatch) Reset() { *x = RateLimit_Action_HeaderValueMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_HeaderValueMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_HeaderValueMatch) ProtoMessage() {} func (x *RateLimit_Action_HeaderValueMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_HeaderValueMatch.ProtoReflect.Descriptor instead. func (*RateLimit_Action_HeaderValueMatch) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 6} } func (x *RateLimit_Action_HeaderValueMatch) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimit_Action_HeaderValueMatch) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimit_Action_HeaderValueMatch) GetExpectMatch() *wrappers.BoolValue { if x != nil { return x.ExpectMatch } return nil } func (x *RateLimit_Action_HeaderValueMatch) GetHeaders() []*HeaderMatcher { if x != nil { return x.Headers } return nil } // The following descriptor entry is appended when the // :ref:`dynamic metadata ` contains a key value: // // .. code-block:: cpp // // ("", "") // // .. attention:: // // This action has been deprecated in favor of the :ref:`metadata ` action type RateLimit_Action_DynamicMetaData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,1,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // Metadata struct that defines the key and path to retrieve the string value. A match will // only happen if the value in the dynamic metadata is of type string. MetadataKey *v35.MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // An optional value to use if “metadata_key“ is empty. If not set and // no value is present under the metadata_key then no descriptor is generated. DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *RateLimit_Action_DynamicMetaData) Reset() { *x = RateLimit_Action_DynamicMetaData{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_DynamicMetaData) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_DynamicMetaData) ProtoMessage() {} func (x *RateLimit_Action_DynamicMetaData) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_DynamicMetaData.ProtoReflect.Descriptor instead. func (*RateLimit_Action_DynamicMetaData) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 7} } func (x *RateLimit_Action_DynamicMetaData) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimit_Action_DynamicMetaData) GetMetadataKey() *v35.MetadataKey { if x != nil { return x.MetadataKey } return nil } func (x *RateLimit_Action_DynamicMetaData) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } // The following descriptor entry is appended when the metadata contains a key value: // // .. code-block:: cpp // // ("", "") // // [#next-free-field: 6] type RateLimit_Action_MetaData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,1,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // Metadata struct that defines the key and path to retrieve the string value. A match will // only happen if the value in the metadata is of type string. MetadataKey *v35.MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // An optional value to use if “metadata_key“ is empty. If not set and // no value is present under the metadata_key then “skip_if_absent“ is followed to // skip calling the rate limiting service or skip the descriptor. DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Source of metadata Source RateLimit_Action_MetaData_Source `protobuf:"varint,4,opt,name=source,proto3,enum=envoy.config.route.v3.RateLimit_Action_MetaData_Source" json:"source,omitempty"` // If set to true, Envoy skips the descriptor while calling rate limiting service // when “metadata_key“ is empty and “default_value“ is not set. By default it skips calling the // rate limiting service in that case. SkipIfAbsent bool `protobuf:"varint,5,opt,name=skip_if_absent,json=skipIfAbsent,proto3" json:"skip_if_absent,omitempty"` } func (x *RateLimit_Action_MetaData) Reset() { *x = RateLimit_Action_MetaData{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_MetaData) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_MetaData) ProtoMessage() {} func (x *RateLimit_Action_MetaData) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_MetaData.ProtoReflect.Descriptor instead. func (*RateLimit_Action_MetaData) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 8} } func (x *RateLimit_Action_MetaData) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimit_Action_MetaData) GetMetadataKey() *v35.MetadataKey { if x != nil { return x.MetadataKey } return nil } func (x *RateLimit_Action_MetaData) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } func (x *RateLimit_Action_MetaData) GetSource() RateLimit_Action_MetaData_Source { if x != nil { return x.Source } return RateLimit_Action_MetaData_DYNAMIC } func (x *RateLimit_Action_MetaData) GetSkipIfAbsent() bool { if x != nil { return x.SkipIfAbsent } return false } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("query_match", "") type RateLimit_Action_QueryParameterValueMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. Defaults to “query_match“. DescriptorKey string `protobuf:"bytes,4,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // If set to true, the action will append a descriptor entry when the // request matches the headers. If set to false, the action will append a // descriptor entry when the request does not match the headers. The // default value is true. ExpectMatch *wrappers.BoolValue `protobuf:"bytes,2,opt,name=expect_match,json=expectMatch,proto3" json:"expect_match,omitempty"` // Specifies a set of query parameters that the rate limit action should match // on. The action will check the request’s query parameters against all the // specified query parameters in the config. A match will happen if all the // query parameters in the config are present in the request with the same values // (or based on presence if the value field is not in the config). QueryParameters []*QueryParameterMatcher `protobuf:"bytes,3,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"` } func (x *RateLimit_Action_QueryParameterValueMatch) Reset() { *x = RateLimit_Action_QueryParameterValueMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Action_QueryParameterValueMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Action_QueryParameterValueMatch) ProtoMessage() {} func (x *RateLimit_Action_QueryParameterValueMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Action_QueryParameterValueMatch.ProtoReflect.Descriptor instead. func (*RateLimit_Action_QueryParameterValueMatch) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 9} } func (x *RateLimit_Action_QueryParameterValueMatch) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimit_Action_QueryParameterValueMatch) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimit_Action_QueryParameterValueMatch) GetExpectMatch() *wrappers.BoolValue { if x != nil { return x.ExpectMatch } return nil } func (x *RateLimit_Action_QueryParameterValueMatch) GetQueryParameters() []*QueryParameterMatcher { if x != nil { return x.QueryParameters } return nil } // Fetches the override from the dynamic metadata. type RateLimit_Override_DynamicMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Metadata struct that defines the key and path to retrieve the struct value. // The value must be a struct containing an integer "requests_per_unit" property // and a "unit" property with a value parseable to :ref:`RateLimitUnit // enum ` MetadataKey *v35.MetadataKey `protobuf:"bytes,1,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` } func (x *RateLimit_Override_DynamicMetadata) Reset() { *x = RateLimit_Override_DynamicMetadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit_Override_DynamicMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit_Override_DynamicMetadata) ProtoMessage() {} func (x *RateLimit_Override_DynamicMetadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit_Override_DynamicMetadata.ProtoReflect.Descriptor instead. func (*RateLimit_Override_DynamicMetadata) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 1, 0} } func (x *RateLimit_Override_DynamicMetadata) GetMetadataKey() *v35.MetadataKey { if x != nil { return x.MetadataKey } return nil } var File_envoy_config_route_v3_route_components_proto protoreflect.FileDescriptor var file_envoy_config_route_v3_route_components_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x0f, 0x0a, 0x0b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4d, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x22, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4f, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x22, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x73, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x21, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x68, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x1f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x1e, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x12, 0x54, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x52, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x64, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xaf, 0x0b, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x15, 0x6e, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x6e, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x6d, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4d, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x22, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4f, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x22, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x1e, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x1f, 0x9a, 0xc5, 0x88, 0x1e, 0x1a, 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x52, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf3, 0x0a, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x92, 0x08, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x13, 0x12, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x13, 0x12, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4b, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x4d, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x17, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x00, 0x52, 0x12, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x1a, 0x5d, 0x0a, 0x19, 0x54, 0x79, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x52, 0x11, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x52, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xc5, 0x0a, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x5b, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x15, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xfa, 0x42, 0x12, 0x72, 0x10, 0x32, 0x0e, 0x5e, 0x5b, 0x5e, 0x3f, 0x23, 0x5d, 0x2b, 0x5b, 0x5e, 0x3f, 0x23, 0x2f, 0x5d, 0x24, 0x48, 0x00, 0x52, 0x13, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x58, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x12, 0x59, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x15, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc9, 0x01, 0x0a, 0x16, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x15, 0x0a, 0x0e, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xc5, 0x05, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5f, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xdc, 0x2c, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x76, 0x0a, 0x1f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x1c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x8e, 0x01, 0x0a, 0x1f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3f, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x01, 0x52, 0x12, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x48, 0x01, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x17, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x48, 0x01, 0x52, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x35, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x78, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x58, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x11, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x47, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x11, 0x67, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x80, 0x01, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x68, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x64, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x81, 0x03, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x13, 0x12, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x13, 0x12, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x1a, 0xd6, 0x0b, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x79, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0xc6, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x5f, 0x0a, 0x0f, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x72, 0x0c, 0x10, 0x01, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x72, 0x0a, 0x28, 0x80, 0x80, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xfe, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x5d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x1a, 0x7a, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x3a, 0x45, 0x9a, 0xc5, 0x88, 0x1e, 0x40, 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a, 0x66, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x17, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xa3, 0x03, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x8d, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x88, 0x02, 0x0a, 0x11, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x17, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x56, 0x0a, 0x1a, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x67, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x60, 0x0a, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x22, 0x5e, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x1a, 0x02, 0x18, 0x01, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x4a, 0x04, 0x08, 0x10, 0x10, 0x11, 0x4a, 0x04, 0x08, 0x16, 0x10, 0x17, 0x4a, 0x04, 0x08, 0x15, 0x10, 0x16, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xbf, 0x10, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x6e, 0x12, 0x52, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x13, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4a, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x78, 0x0a, 0x1b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x52, 0x17, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x51, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc3, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd6, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x4a, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x1a, 0x88, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0xc0, 0x01, 0x0a, 0x17, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x34, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x01, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x9c, 0x02, 0x0a, 0x0b, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x50, 0x0a, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x18, 0x68, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x65, 0x64, 0x67, 0x65, 0x4f, 0x6e, 0x50, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xe1, 0x05, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x69, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x77, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 0x28, 0xc8, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x4e, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd2, 0x02, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x3a, 0x21, 0x9a, 0xc5, 0x88, 0x1e, 0x1c, 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x01, 0x0a, 0x0e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xc9, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0xb5, 0x18, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x6d, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5e, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x68, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x77, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x42, 0x11, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x15, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x1b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x49, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x53, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0xd1, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x41, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0xbe, 0x01, 0x0a, 0x13, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x12, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x20, 0x52, 0x0f, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x73, 0x6b, 0x4c, 0x65, 0x6e, 0x12, 0x53, 0x0a, 0x12, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x01, 0x52, 0x0f, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x73, 0x6b, 0x4c, 0x65, 0x6e, 0x1a, 0x9e, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x1a, 0xb3, 0x02, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xb8, 0x01, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xda, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x41, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x01, 0x1a, 0x97, 0x02, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x61, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xf2, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x63, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x19, 0x0a, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe6, 0x05, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5c, 0x0a, 0x10, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0c, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x49, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x1d, 0x74, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x74, 0x72, 0x65, 0x61, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xa1, 0x02, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x28, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x21, 0x0a, 0x1f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0x86, 0x03, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x17, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x05, 0x52, 0x15, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x92, 0x01, 0x0c, 0x18, 0x01, 0x22, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x70, 0x79, 0x22, 0x79, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_route_v3_route_components_proto_rawDescOnce sync.Once file_envoy_config_route_v3_route_components_proto_rawDescData = file_envoy_config_route_v3_route_components_proto_rawDesc ) func file_envoy_config_route_v3_route_components_proto_rawDescGZIP() []byte { file_envoy_config_route_v3_route_components_proto_rawDescOnce.Do(func() { file_envoy_config_route_v3_route_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_route_v3_route_components_proto_rawDescData) }) return file_envoy_config_route_v3_route_components_proto_rawDescData } var file_envoy_config_route_v3_route_components_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_envoy_config_route_v3_route_components_proto_msgTypes = make([]protoimpl.MessageInfo, 58) var file_envoy_config_route_v3_route_components_proto_goTypes = []interface{}{ (VirtualHost_TlsRequirementType)(0), // 0: envoy.config.route.v3.VirtualHost.TlsRequirementType (RouteAction_ClusterNotFoundResponseCode)(0), // 1: envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode (RouteAction_InternalRedirectAction)(0), // 2: envoy.config.route.v3.RouteAction.InternalRedirectAction (RetryPolicy_ResetHeaderFormat)(0), // 3: envoy.config.route.v3.RetryPolicy.ResetHeaderFormat (RedirectAction_RedirectResponseCode)(0), // 4: envoy.config.route.v3.RedirectAction.RedirectResponseCode (RateLimit_Action_MetaData_Source)(0), // 5: envoy.config.route.v3.RateLimit.Action.MetaData.Source (*VirtualHost)(nil), // 6: envoy.config.route.v3.VirtualHost (*FilterAction)(nil), // 7: envoy.config.route.v3.FilterAction (*RouteList)(nil), // 8: envoy.config.route.v3.RouteList (*Route)(nil), // 9: envoy.config.route.v3.Route (*WeightedCluster)(nil), // 10: envoy.config.route.v3.WeightedCluster (*ClusterSpecifierPlugin)(nil), // 11: envoy.config.route.v3.ClusterSpecifierPlugin (*RouteMatch)(nil), // 12: envoy.config.route.v3.RouteMatch (*CorsPolicy)(nil), // 13: envoy.config.route.v3.CorsPolicy (*RouteAction)(nil), // 14: envoy.config.route.v3.RouteAction (*RetryPolicy)(nil), // 15: envoy.config.route.v3.RetryPolicy (*HedgePolicy)(nil), // 16: envoy.config.route.v3.HedgePolicy (*RedirectAction)(nil), // 17: envoy.config.route.v3.RedirectAction (*DirectResponseAction)(nil), // 18: envoy.config.route.v3.DirectResponseAction (*NonForwardingAction)(nil), // 19: envoy.config.route.v3.NonForwardingAction (*Decorator)(nil), // 20: envoy.config.route.v3.Decorator (*Tracing)(nil), // 21: envoy.config.route.v3.Tracing (*VirtualCluster)(nil), // 22: envoy.config.route.v3.VirtualCluster (*RateLimit)(nil), // 23: envoy.config.route.v3.RateLimit (*HeaderMatcher)(nil), // 24: envoy.config.route.v3.HeaderMatcher (*QueryParameterMatcher)(nil), // 25: envoy.config.route.v3.QueryParameterMatcher (*InternalRedirectPolicy)(nil), // 26: envoy.config.route.v3.InternalRedirectPolicy (*FilterConfig)(nil), // 27: envoy.config.route.v3.FilterConfig nil, // 28: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry nil, // 29: envoy.config.route.v3.Route.TypedPerFilterConfigEntry (*WeightedCluster_ClusterWeight)(nil), // 30: envoy.config.route.v3.WeightedCluster.ClusterWeight nil, // 31: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry (*RouteMatch_GrpcRouteMatchOptions)(nil), // 32: envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions (*RouteMatch_TlsContextMatchOptions)(nil), // 33: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions (*RouteMatch_ConnectMatcher)(nil), // 34: envoy.config.route.v3.RouteMatch.ConnectMatcher (*RouteAction_RequestMirrorPolicy)(nil), // 35: envoy.config.route.v3.RouteAction.RequestMirrorPolicy (*RouteAction_HashPolicy)(nil), // 36: envoy.config.route.v3.RouteAction.HashPolicy (*RouteAction_UpgradeConfig)(nil), // 37: envoy.config.route.v3.RouteAction.UpgradeConfig (*RouteAction_MaxStreamDuration)(nil), // 38: envoy.config.route.v3.RouteAction.MaxStreamDuration (*RouteAction_HashPolicy_Header)(nil), // 39: envoy.config.route.v3.RouteAction.HashPolicy.Header (*RouteAction_HashPolicy_CookieAttribute)(nil), // 40: envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute (*RouteAction_HashPolicy_Cookie)(nil), // 41: envoy.config.route.v3.RouteAction.HashPolicy.Cookie (*RouteAction_HashPolicy_ConnectionProperties)(nil), // 42: envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties (*RouteAction_HashPolicy_QueryParameter)(nil), // 43: envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter (*RouteAction_HashPolicy_FilterState)(nil), // 44: envoy.config.route.v3.RouteAction.HashPolicy.FilterState (*RouteAction_UpgradeConfig_ConnectConfig)(nil), // 45: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig (*RetryPolicy_RetryPriority)(nil), // 46: envoy.config.route.v3.RetryPolicy.RetryPriority (*RetryPolicy_RetryHostPredicate)(nil), // 47: envoy.config.route.v3.RetryPolicy.RetryHostPredicate (*RetryPolicy_RetryBackOff)(nil), // 48: envoy.config.route.v3.RetryPolicy.RetryBackOff (*RetryPolicy_ResetHeader)(nil), // 49: envoy.config.route.v3.RetryPolicy.ResetHeader (*RetryPolicy_RateLimitedRetryBackOff)(nil), // 50: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff (*RateLimit_Action)(nil), // 51: envoy.config.route.v3.RateLimit.Action (*RateLimit_Override)(nil), // 52: envoy.config.route.v3.RateLimit.Override (*RateLimit_Action_SourceCluster)(nil), // 53: envoy.config.route.v3.RateLimit.Action.SourceCluster (*RateLimit_Action_DestinationCluster)(nil), // 54: envoy.config.route.v3.RateLimit.Action.DestinationCluster (*RateLimit_Action_RequestHeaders)(nil), // 55: envoy.config.route.v3.RateLimit.Action.RequestHeaders (*RateLimit_Action_RemoteAddress)(nil), // 56: envoy.config.route.v3.RateLimit.Action.RemoteAddress (*RateLimit_Action_MaskedRemoteAddress)(nil), // 57: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress (*RateLimit_Action_GenericKey)(nil), // 58: envoy.config.route.v3.RateLimit.Action.GenericKey (*RateLimit_Action_HeaderValueMatch)(nil), // 59: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch (*RateLimit_Action_DynamicMetaData)(nil), // 60: envoy.config.route.v3.RateLimit.Action.DynamicMetaData (*RateLimit_Action_MetaData)(nil), // 61: envoy.config.route.v3.RateLimit.Action.MetaData (*RateLimit_Action_QueryParameterValueMatch)(nil), // 62: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch (*RateLimit_Override_DynamicMetadata)(nil), // 63: envoy.config.route.v3.RateLimit.Override.DynamicMetadata (*v3.Matcher)(nil), // 64: xds.type.matcher.v3.Matcher (*v31.HeaderValueOption)(nil), // 65: envoy.config.core.v3.HeaderValueOption (*any1.Any)(nil), // 66: google.protobuf.Any (*wrappers.UInt32Value)(nil), // 67: google.protobuf.UInt32Value (*v31.Metadata)(nil), // 68: envoy.config.core.v3.Metadata (*v31.TypedExtensionConfig)(nil), // 69: envoy.config.core.v3.TypedExtensionConfig (*v32.RegexMatcher)(nil), // 70: envoy.type.matcher.v3.RegexMatcher (*wrappers.BoolValue)(nil), // 71: google.protobuf.BoolValue (*v31.RuntimeFractionalPercent)(nil), // 72: envoy.config.core.v3.RuntimeFractionalPercent (*v32.MetadataMatcher)(nil), // 73: envoy.type.matcher.v3.MetadataMatcher (*v32.StringMatcher)(nil), // 74: envoy.type.matcher.v3.StringMatcher (*v32.RegexMatchAndSubstitute)(nil), // 75: envoy.type.matcher.v3.RegexMatchAndSubstitute (*duration.Duration)(nil), // 76: google.protobuf.Duration (v31.RoutingPriority)(0), // 77: envoy.config.core.v3.RoutingPriority (*v33.FractionalPercent)(nil), // 78: envoy.type.v3.FractionalPercent (*v31.DataSource)(nil), // 79: envoy.config.core.v3.DataSource (*v34.CustomTag)(nil), // 80: envoy.type.tracing.v3.CustomTag (*v33.Int64Range)(nil), // 81: envoy.type.v3.Int64Range (*v31.ProxyProtocolConfig)(nil), // 82: envoy.config.core.v3.ProxyProtocolConfig (*v35.MetadataKey)(nil), // 83: envoy.type.metadata.v3.MetadataKey } var file_envoy_config_route_v3_route_components_proto_depIdxs = []int32{ 9, // 0: envoy.config.route.v3.VirtualHost.routes:type_name -> envoy.config.route.v3.Route 64, // 1: envoy.config.route.v3.VirtualHost.matcher:type_name -> xds.type.matcher.v3.Matcher 0, // 2: envoy.config.route.v3.VirtualHost.require_tls:type_name -> envoy.config.route.v3.VirtualHost.TlsRequirementType 22, // 3: envoy.config.route.v3.VirtualHost.virtual_clusters:type_name -> envoy.config.route.v3.VirtualCluster 23, // 4: envoy.config.route.v3.VirtualHost.rate_limits:type_name -> envoy.config.route.v3.RateLimit 65, // 5: envoy.config.route.v3.VirtualHost.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 65, // 6: envoy.config.route.v3.VirtualHost.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 13, // 7: envoy.config.route.v3.VirtualHost.cors:type_name -> envoy.config.route.v3.CorsPolicy 28, // 8: envoy.config.route.v3.VirtualHost.typed_per_filter_config:type_name -> envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry 15, // 9: envoy.config.route.v3.VirtualHost.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy 66, // 10: envoy.config.route.v3.VirtualHost.retry_policy_typed_config:type_name -> google.protobuf.Any 16, // 11: envoy.config.route.v3.VirtualHost.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy 67, // 12: envoy.config.route.v3.VirtualHost.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 35, // 13: envoy.config.route.v3.VirtualHost.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy 68, // 14: envoy.config.route.v3.VirtualHost.metadata:type_name -> envoy.config.core.v3.Metadata 66, // 15: envoy.config.route.v3.FilterAction.action:type_name -> google.protobuf.Any 9, // 16: envoy.config.route.v3.RouteList.routes:type_name -> envoy.config.route.v3.Route 12, // 17: envoy.config.route.v3.Route.match:type_name -> envoy.config.route.v3.RouteMatch 14, // 18: envoy.config.route.v3.Route.route:type_name -> envoy.config.route.v3.RouteAction 17, // 19: envoy.config.route.v3.Route.redirect:type_name -> envoy.config.route.v3.RedirectAction 18, // 20: envoy.config.route.v3.Route.direct_response:type_name -> envoy.config.route.v3.DirectResponseAction 7, // 21: envoy.config.route.v3.Route.filter_action:type_name -> envoy.config.route.v3.FilterAction 19, // 22: envoy.config.route.v3.Route.non_forwarding_action:type_name -> envoy.config.route.v3.NonForwardingAction 68, // 23: envoy.config.route.v3.Route.metadata:type_name -> envoy.config.core.v3.Metadata 20, // 24: envoy.config.route.v3.Route.decorator:type_name -> envoy.config.route.v3.Decorator 29, // 25: envoy.config.route.v3.Route.typed_per_filter_config:type_name -> envoy.config.route.v3.Route.TypedPerFilterConfigEntry 65, // 26: envoy.config.route.v3.Route.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 65, // 27: envoy.config.route.v3.Route.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 21, // 28: envoy.config.route.v3.Route.tracing:type_name -> envoy.config.route.v3.Tracing 67, // 29: envoy.config.route.v3.Route.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value 30, // 30: envoy.config.route.v3.WeightedCluster.clusters:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight 67, // 31: envoy.config.route.v3.WeightedCluster.total_weight:type_name -> google.protobuf.UInt32Value 69, // 32: envoy.config.route.v3.ClusterSpecifierPlugin.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig 70, // 33: envoy.config.route.v3.RouteMatch.safe_regex:type_name -> envoy.type.matcher.v3.RegexMatcher 34, // 34: envoy.config.route.v3.RouteMatch.connect_matcher:type_name -> envoy.config.route.v3.RouteMatch.ConnectMatcher 69, // 35: envoy.config.route.v3.RouteMatch.path_match_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig 71, // 36: envoy.config.route.v3.RouteMatch.case_sensitive:type_name -> google.protobuf.BoolValue 72, // 37: envoy.config.route.v3.RouteMatch.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 24, // 38: envoy.config.route.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 25, // 39: envoy.config.route.v3.RouteMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher 32, // 40: envoy.config.route.v3.RouteMatch.grpc:type_name -> envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions 33, // 41: envoy.config.route.v3.RouteMatch.tls_context:type_name -> envoy.config.route.v3.RouteMatch.TlsContextMatchOptions 73, // 42: envoy.config.route.v3.RouteMatch.dynamic_metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher 74, // 43: envoy.config.route.v3.CorsPolicy.allow_origin_string_match:type_name -> envoy.type.matcher.v3.StringMatcher 71, // 44: envoy.config.route.v3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue 72, // 45: envoy.config.route.v3.CorsPolicy.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 72, // 46: envoy.config.route.v3.CorsPolicy.shadow_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 71, // 47: envoy.config.route.v3.CorsPolicy.allow_private_network_access:type_name -> google.protobuf.BoolValue 10, // 48: envoy.config.route.v3.RouteAction.weighted_clusters:type_name -> envoy.config.route.v3.WeightedCluster 11, // 49: envoy.config.route.v3.RouteAction.inline_cluster_specifier_plugin:type_name -> envoy.config.route.v3.ClusterSpecifierPlugin 1, // 50: envoy.config.route.v3.RouteAction.cluster_not_found_response_code:type_name -> envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode 68, // 51: envoy.config.route.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata 75, // 52: envoy.config.route.v3.RouteAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 69, // 53: envoy.config.route.v3.RouteAction.path_rewrite_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig 71, // 54: envoy.config.route.v3.RouteAction.auto_host_rewrite:type_name -> google.protobuf.BoolValue 75, // 55: envoy.config.route.v3.RouteAction.host_rewrite_path_regex:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 76, // 56: envoy.config.route.v3.RouteAction.timeout:type_name -> google.protobuf.Duration 76, // 57: envoy.config.route.v3.RouteAction.idle_timeout:type_name -> google.protobuf.Duration 69, // 58: envoy.config.route.v3.RouteAction.early_data_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig 15, // 59: envoy.config.route.v3.RouteAction.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy 66, // 60: envoy.config.route.v3.RouteAction.retry_policy_typed_config:type_name -> google.protobuf.Any 35, // 61: envoy.config.route.v3.RouteAction.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy 77, // 62: envoy.config.route.v3.RouteAction.priority:type_name -> envoy.config.core.v3.RoutingPriority 23, // 63: envoy.config.route.v3.RouteAction.rate_limits:type_name -> envoy.config.route.v3.RateLimit 71, // 64: envoy.config.route.v3.RouteAction.include_vh_rate_limits:type_name -> google.protobuf.BoolValue 36, // 65: envoy.config.route.v3.RouteAction.hash_policy:type_name -> envoy.config.route.v3.RouteAction.HashPolicy 13, // 66: envoy.config.route.v3.RouteAction.cors:type_name -> envoy.config.route.v3.CorsPolicy 76, // 67: envoy.config.route.v3.RouteAction.max_grpc_timeout:type_name -> google.protobuf.Duration 76, // 68: envoy.config.route.v3.RouteAction.grpc_timeout_offset:type_name -> google.protobuf.Duration 37, // 69: envoy.config.route.v3.RouteAction.upgrade_configs:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig 26, // 70: envoy.config.route.v3.RouteAction.internal_redirect_policy:type_name -> envoy.config.route.v3.InternalRedirectPolicy 2, // 71: envoy.config.route.v3.RouteAction.internal_redirect_action:type_name -> envoy.config.route.v3.RouteAction.InternalRedirectAction 67, // 72: envoy.config.route.v3.RouteAction.max_internal_redirects:type_name -> google.protobuf.UInt32Value 16, // 73: envoy.config.route.v3.RouteAction.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy 38, // 74: envoy.config.route.v3.RouteAction.max_stream_duration:type_name -> envoy.config.route.v3.RouteAction.MaxStreamDuration 67, // 75: envoy.config.route.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value 76, // 76: envoy.config.route.v3.RetryPolicy.per_try_timeout:type_name -> google.protobuf.Duration 76, // 77: envoy.config.route.v3.RetryPolicy.per_try_idle_timeout:type_name -> google.protobuf.Duration 46, // 78: envoy.config.route.v3.RetryPolicy.retry_priority:type_name -> envoy.config.route.v3.RetryPolicy.RetryPriority 47, // 79: envoy.config.route.v3.RetryPolicy.retry_host_predicate:type_name -> envoy.config.route.v3.RetryPolicy.RetryHostPredicate 69, // 80: envoy.config.route.v3.RetryPolicy.retry_options_predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig 48, // 81: envoy.config.route.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RetryBackOff 50, // 82: envoy.config.route.v3.RetryPolicy.rate_limited_retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff 24, // 83: envoy.config.route.v3.RetryPolicy.retriable_headers:type_name -> envoy.config.route.v3.HeaderMatcher 24, // 84: envoy.config.route.v3.RetryPolicy.retriable_request_headers:type_name -> envoy.config.route.v3.HeaderMatcher 67, // 85: envoy.config.route.v3.HedgePolicy.initial_requests:type_name -> google.protobuf.UInt32Value 78, // 86: envoy.config.route.v3.HedgePolicy.additional_request_chance:type_name -> envoy.type.v3.FractionalPercent 75, // 87: envoy.config.route.v3.RedirectAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 4, // 88: envoy.config.route.v3.RedirectAction.response_code:type_name -> envoy.config.route.v3.RedirectAction.RedirectResponseCode 79, // 89: envoy.config.route.v3.DirectResponseAction.body:type_name -> envoy.config.core.v3.DataSource 71, // 90: envoy.config.route.v3.Decorator.propagate:type_name -> google.protobuf.BoolValue 78, // 91: envoy.config.route.v3.Tracing.client_sampling:type_name -> envoy.type.v3.FractionalPercent 78, // 92: envoy.config.route.v3.Tracing.random_sampling:type_name -> envoy.type.v3.FractionalPercent 78, // 93: envoy.config.route.v3.Tracing.overall_sampling:type_name -> envoy.type.v3.FractionalPercent 80, // 94: envoy.config.route.v3.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag 24, // 95: envoy.config.route.v3.VirtualCluster.headers:type_name -> envoy.config.route.v3.HeaderMatcher 67, // 96: envoy.config.route.v3.RateLimit.stage:type_name -> google.protobuf.UInt32Value 51, // 97: envoy.config.route.v3.RateLimit.actions:type_name -> envoy.config.route.v3.RateLimit.Action 52, // 98: envoy.config.route.v3.RateLimit.limit:type_name -> envoy.config.route.v3.RateLimit.Override 70, // 99: envoy.config.route.v3.HeaderMatcher.safe_regex_match:type_name -> envoy.type.matcher.v3.RegexMatcher 81, // 100: envoy.config.route.v3.HeaderMatcher.range_match:type_name -> envoy.type.v3.Int64Range 74, // 101: envoy.config.route.v3.HeaderMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher 74, // 102: envoy.config.route.v3.QueryParameterMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher 67, // 103: envoy.config.route.v3.InternalRedirectPolicy.max_internal_redirects:type_name -> google.protobuf.UInt32Value 69, // 104: envoy.config.route.v3.InternalRedirectPolicy.predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig 66, // 105: envoy.config.route.v3.FilterConfig.config:type_name -> google.protobuf.Any 66, // 106: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 66, // 107: envoy.config.route.v3.Route.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 67, // 108: envoy.config.route.v3.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value 68, // 109: envoy.config.route.v3.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata 65, // 110: envoy.config.route.v3.WeightedCluster.ClusterWeight.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 65, // 111: envoy.config.route.v3.WeightedCluster.ClusterWeight.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 31, // 112: envoy.config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry 66, // 113: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any 71, // 114: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.presented:type_name -> google.protobuf.BoolValue 71, // 115: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.validated:type_name -> google.protobuf.BoolValue 72, // 116: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 71, // 117: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.trace_sampled:type_name -> google.protobuf.BoolValue 39, // 118: envoy.config.route.v3.RouteAction.HashPolicy.header:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Header 41, // 119: envoy.config.route.v3.RouteAction.HashPolicy.cookie:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Cookie 42, // 120: envoy.config.route.v3.RouteAction.HashPolicy.connection_properties:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties 43, // 121: envoy.config.route.v3.RouteAction.HashPolicy.query_parameter:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter 44, // 122: envoy.config.route.v3.RouteAction.HashPolicy.filter_state:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.FilterState 71, // 123: envoy.config.route.v3.RouteAction.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue 45, // 124: envoy.config.route.v3.RouteAction.UpgradeConfig.connect_config:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig 76, // 125: envoy.config.route.v3.RouteAction.MaxStreamDuration.max_stream_duration:type_name -> google.protobuf.Duration 76, // 126: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max:type_name -> google.protobuf.Duration 76, // 127: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset:type_name -> google.protobuf.Duration 75, // 128: envoy.config.route.v3.RouteAction.HashPolicy.Header.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 76, // 129: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.ttl:type_name -> google.protobuf.Duration 40, // 130: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.attributes:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute 82, // 131: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig.proxy_protocol_config:type_name -> envoy.config.core.v3.ProxyProtocolConfig 66, // 132: envoy.config.route.v3.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any 66, // 133: envoy.config.route.v3.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any 76, // 134: envoy.config.route.v3.RetryPolicy.RetryBackOff.base_interval:type_name -> google.protobuf.Duration 76, // 135: envoy.config.route.v3.RetryPolicy.RetryBackOff.max_interval:type_name -> google.protobuf.Duration 3, // 136: envoy.config.route.v3.RetryPolicy.ResetHeader.format:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeaderFormat 49, // 137: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.reset_headers:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeader 76, // 138: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.max_interval:type_name -> google.protobuf.Duration 53, // 139: envoy.config.route.v3.RateLimit.Action.source_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.SourceCluster 54, // 140: envoy.config.route.v3.RateLimit.Action.destination_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.DestinationCluster 55, // 141: envoy.config.route.v3.RateLimit.Action.request_headers:type_name -> envoy.config.route.v3.RateLimit.Action.RequestHeaders 56, // 142: envoy.config.route.v3.RateLimit.Action.remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.RemoteAddress 58, // 143: envoy.config.route.v3.RateLimit.Action.generic_key:type_name -> envoy.config.route.v3.RateLimit.Action.GenericKey 59, // 144: envoy.config.route.v3.RateLimit.Action.header_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.HeaderValueMatch 60, // 145: envoy.config.route.v3.RateLimit.Action.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Action.DynamicMetaData 61, // 146: envoy.config.route.v3.RateLimit.Action.metadata:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData 69, // 147: envoy.config.route.v3.RateLimit.Action.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig 57, // 148: envoy.config.route.v3.RateLimit.Action.masked_remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress 62, // 149: envoy.config.route.v3.RateLimit.Action.query_parameter_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch 63, // 150: envoy.config.route.v3.RateLimit.Override.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Override.DynamicMetadata 67, // 151: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v4_prefix_mask_len:type_name -> google.protobuf.UInt32Value 67, // 152: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v6_prefix_mask_len:type_name -> google.protobuf.UInt32Value 71, // 153: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.expect_match:type_name -> google.protobuf.BoolValue 24, // 154: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 83, // 155: envoy.config.route.v3.RateLimit.Action.DynamicMetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 83, // 156: envoy.config.route.v3.RateLimit.Action.MetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 5, // 157: envoy.config.route.v3.RateLimit.Action.MetaData.source:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData.Source 71, // 158: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.expect_match:type_name -> google.protobuf.BoolValue 25, // 159: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher 83, // 160: envoy.config.route.v3.RateLimit.Override.DynamicMetadata.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 161, // [161:161] is the sub-list for method output_type 161, // [161:161] is the sub-list for method input_type 161, // [161:161] is the sub-list for extension type_name 161, // [161:161] is the sub-list for extension extendee 0, // [0:161] is the sub-list for field type_name } func init() { file_envoy_config_route_v3_route_components_proto_init() } func file_envoy_config_route_v3_route_components_proto_init() { if File_envoy_config_route_v3_route_components_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_route_v3_route_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VirtualHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterSpecifierPlugin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CorsPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HedgePolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedirectAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DirectResponseAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NonForwardingAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decorator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VirtualCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParameterMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InternalRedirectPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch_GrpcRouteMatchOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch_TlsContextMatchOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch_ConnectMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_RequestMirrorPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_UpgradeConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_MaxStreamDuration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_CookieAttribute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_Cookie); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_ConnectionProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_QueryParameter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_HashPolicy_FilterState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_UpgradeConfig_ConnectConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryPriority); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryHostPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RetryBackOff); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_ResetHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryPolicy_RateLimitedRetryBackOff); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Override); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_SourceCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_DestinationCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_RequestHeaders); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_RemoteAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_MaskedRemoteAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_GenericKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_HeaderValueMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_DynamicMetaData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_MetaData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Action_QueryParameterValueMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_route_components_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit_Override_DynamicMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_route_v3_route_components_proto_msgTypes[3].OneofWrappers = []interface{}{ (*Route_Route)(nil), (*Route_Redirect)(nil), (*Route_DirectResponse)(nil), (*Route_FilterAction)(nil), (*Route_NonForwardingAction)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[4].OneofWrappers = []interface{}{ (*WeightedCluster_HeaderName)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[6].OneofWrappers = []interface{}{ (*RouteMatch_Prefix)(nil), (*RouteMatch_Path)(nil), (*RouteMatch_SafeRegex)(nil), (*RouteMatch_ConnectMatcher_)(nil), (*RouteMatch_PathSeparatedPrefix)(nil), (*RouteMatch_PathMatchPolicy)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[7].OneofWrappers = []interface{}{ (*CorsPolicy_FilterEnabled)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[8].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_ClusterHeader)(nil), (*RouteAction_WeightedClusters)(nil), (*RouteAction_ClusterSpecifierPlugin)(nil), (*RouteAction_InlineClusterSpecifierPlugin)(nil), (*RouteAction_HostRewriteLiteral)(nil), (*RouteAction_AutoHostRewrite)(nil), (*RouteAction_HostRewriteHeader)(nil), (*RouteAction_HostRewritePathRegex)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[11].OneofWrappers = []interface{}{ (*RedirectAction_HttpsRedirect)(nil), (*RedirectAction_SchemeRedirect)(nil), (*RedirectAction_PathRedirect)(nil), (*RedirectAction_PrefixRewrite)(nil), (*RedirectAction_RegexRewrite)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[18].OneofWrappers = []interface{}{ (*HeaderMatcher_ExactMatch)(nil), (*HeaderMatcher_SafeRegexMatch)(nil), (*HeaderMatcher_RangeMatch)(nil), (*HeaderMatcher_PresentMatch)(nil), (*HeaderMatcher_PrefixMatch)(nil), (*HeaderMatcher_SuffixMatch)(nil), (*HeaderMatcher_ContainsMatch)(nil), (*HeaderMatcher_StringMatch)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[19].OneofWrappers = []interface{}{ (*QueryParameterMatcher_StringMatch)(nil), (*QueryParameterMatcher_PresentMatch)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[24].OneofWrappers = []interface{}{ (*WeightedCluster_ClusterWeight_HostRewriteLiteral)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[30].OneofWrappers = []interface{}{ (*RouteAction_HashPolicy_Header_)(nil), (*RouteAction_HashPolicy_Cookie_)(nil), (*RouteAction_HashPolicy_ConnectionProperties_)(nil), (*RouteAction_HashPolicy_QueryParameter_)(nil), (*RouteAction_HashPolicy_FilterState_)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[40].OneofWrappers = []interface{}{ (*RetryPolicy_RetryPriority_TypedConfig)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[41].OneofWrappers = []interface{}{ (*RetryPolicy_RetryHostPredicate_TypedConfig)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[45].OneofWrappers = []interface{}{ (*RateLimit_Action_SourceCluster_)(nil), (*RateLimit_Action_DestinationCluster_)(nil), (*RateLimit_Action_RequestHeaders_)(nil), (*RateLimit_Action_RemoteAddress_)(nil), (*RateLimit_Action_GenericKey_)(nil), (*RateLimit_Action_HeaderValueMatch_)(nil), (*RateLimit_Action_DynamicMetadata)(nil), (*RateLimit_Action_Metadata)(nil), (*RateLimit_Action_Extension)(nil), (*RateLimit_Action_MaskedRemoteAddress_)(nil), (*RateLimit_Action_QueryParameterValueMatch_)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[46].OneofWrappers = []interface{}{ (*RateLimit_Override_DynamicMetadata_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_route_v3_route_components_proto_rawDesc, NumEnums: 6, NumMessages: 58, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_route_v3_route_components_proto_goTypes, DependencyIndexes: file_envoy_config_route_v3_route_components_proto_depIdxs, EnumInfos: file_envoy_config_route_v3_route_components_proto_enumTypes, MessageInfos: file_envoy_config_route_v3_route_components_proto_msgTypes, }.Build() File_envoy_config_route_v3_route_components_proto = out.File file_envoy_config_route_v3_route_components_proto_rawDesc = nil file_envoy_config_route_v3_route_components_proto_goTypes = nil file_envoy_config_route_v3_route_components_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/route/v3/route_components.pb.validate.go000077500000000000000000012413551454502223200272040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/route/v3/route_components.proto package routev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.RoutingPriority(0) ) // Validate checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VirtualHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VirtualHost with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VirtualHostMultiError, or // nil if none found. func (m *VirtualHost) ValidateAll() error { return m.validate(true) } func (m *VirtualHost) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := VirtualHostValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetDomains()) < 1 { err := VirtualHostValidationError{ field: "Domains", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDomains() { _, _ = idx, item if !_VirtualHost_Domains_Pattern.MatchString(item) { err := VirtualHostValidationError{ field: fmt.Sprintf("Domains[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if _, ok := VirtualHost_TlsRequirementType_name[int32(m.GetRequireTls())]; !ok { err := VirtualHostValidationError{ field: "RequireTls", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetVirtualClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("VirtualClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := VirtualHostValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_VirtualHost_RequestHeadersToRemove_Pattern.MatchString(item) { err := VirtualHostValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := VirtualHostValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToRemove() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_VirtualHost_ResponseHeadersToRemove_Pattern.MatchString(item) { err := VirtualHostValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetCors()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCors()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } // no validation rules for IncludeRequestAttemptCount // no validation rules for IncludeAttemptCountInResponse if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicyTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicyTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHedgePolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHedgePolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IncludeIsTimeoutRetryHeader if all { switch v := interface{}(m.GetPerRequestBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerRequestBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRequestMirrorPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualHostValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualHostValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VirtualHostMultiError(errors) } return nil } // VirtualHostMultiError is an error wrapping multiple validation errors // returned by VirtualHost.ValidateAll() if the designated constraints aren't met. type VirtualHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VirtualHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VirtualHostMultiError) AllErrors() []error { return m } // VirtualHostValidationError is the validation error returned by // VirtualHost.Validate if the designated constraints aren't met. type VirtualHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VirtualHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VirtualHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VirtualHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VirtualHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VirtualHostValidationError) ErrorName() string { return "VirtualHostValidationError" } // Error satisfies the builtin error interface func (e VirtualHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVirtualHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VirtualHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VirtualHostValidationError{} var _VirtualHost_Domains_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _VirtualHost_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _VirtualHost_ResponseHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on FilterAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterActionMultiError, or // nil if none found. func (m *FilterAction) ValidateAll() error { return m.validate(true) } func (m *FilterAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterActionValidationError{ field: "Action", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterActionMultiError(errors) } return nil } // FilterActionMultiError is an error wrapping multiple validation errors // returned by FilterAction.ValidateAll() if the designated constraints aren't met. type FilterActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterActionMultiError) AllErrors() []error { return m } // FilterActionValidationError is the validation error returned by // FilterAction.Validate if the designated constraints aren't met. type FilterActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterActionValidationError) ErrorName() string { return "FilterActionValidationError" } // Error satisfies the builtin error interface func (e FilterActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterActionValidationError{} // Validate checks the field values on RouteList with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteList with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteListMultiError, or nil // if none found. func (m *RouteList) ValidateAll() error { return m.validate(true) } func (m *RouteList) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteListValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteListValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteListValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteListMultiError(errors) } return nil } // RouteListMultiError is an error wrapping multiple validation errors returned // by RouteList.ValidateAll() if the designated constraints aren't met. type RouteListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteListMultiError) AllErrors() []error { return m } // RouteListValidationError is the validation error returned by // RouteList.Validate if the designated constraints aren't met. type RouteListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteListValidationError) ErrorName() string { return "RouteListValidationError" } // Error satisfies the builtin error interface func (e RouteListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteListValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDecorator()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDecorator()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Decorator", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := RouteValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := RouteValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_Route_RequestHeadersToRemove_Pattern.MatchString(item) { err := RouteValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := RouteValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToRemove() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_Route_ResponseHeadersToRemove_Pattern.MatchString(item) { err := RouteValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerRequestBufferLimitBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerRequestBufferLimitBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "PerRequestBufferLimitBytes", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StatPrefix oneofActionPresent := false switch v := m.Action.(type) { case *Route_Route: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } case *Route_Redirect: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetRedirect()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirect()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Redirect", reason: "embedded message failed validation", cause: err, } } } case *Route_DirectResponse: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetDirectResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDirectResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "DirectResponse", reason: "embedded message failed validation", cause: err, } } } case *Route_FilterAction: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetFilterAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "FilterAction", reason: "embedded message failed validation", cause: err, } } } case *Route_NonForwardingAction: if v == nil { err := RouteValidationError{ field: "Action", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionPresent = true if all { switch v := interface{}(m.GetNonForwardingAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "NonForwardingAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "NonForwardingAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNonForwardingAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "NonForwardingAction", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionPresent { err := RouteValidationError{ field: "Action", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} var _Route_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _Route_ResponseHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on WeightedCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // WeightedClusterMultiError, or nil if none found. func (m *WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTotalWeight()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: "TotalWeight", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: "TotalWeight", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTotalWeight()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedClusterValidationError{ field: "TotalWeight", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RuntimeKeyPrefix switch v := m.RandomValueSpecifier.(type) { case *WeightedCluster_HeaderName: if v == nil { err := WeightedClusterValidationError{ field: "RandomValueSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_WeightedCluster_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := WeightedClusterValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return WeightedClusterMultiError(errors) } return nil } // WeightedClusterMultiError is an error wrapping multiple validation errors // returned by WeightedCluster.ValidateAll() if the designated constraints // aren't met. type WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedClusterMultiError) AllErrors() []error { return m } // WeightedClusterValidationError is the validation error returned by // WeightedCluster.Validate if the designated constraints aren't met. type WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedClusterValidationError) ErrorName() string { return "WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedClusterValidationError{} var _WeightedCluster_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on ClusterSpecifierPlugin with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterSpecifierPlugin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterSpecifierPlugin with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterSpecifierPluginMultiError, or nil if none found. func (m *ClusterSpecifierPlugin) ValidateAll() error { return m.validate(true) } func (m *ClusterSpecifierPlugin) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetExtension() == nil { err := ClusterSpecifierPluginValidationError{ field: "Extension", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterSpecifierPluginValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterSpecifierPluginValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterSpecifierPluginValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IsOptional if len(errors) > 0 { return ClusterSpecifierPluginMultiError(errors) } return nil } // ClusterSpecifierPluginMultiError is an error wrapping multiple validation // errors returned by ClusterSpecifierPlugin.ValidateAll() if the designated // constraints aren't met. type ClusterSpecifierPluginMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterSpecifierPluginMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterSpecifierPluginMultiError) AllErrors() []error { return m } // ClusterSpecifierPluginValidationError is the validation error returned by // ClusterSpecifierPlugin.Validate if the designated constraints aren't met. type ClusterSpecifierPluginValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterSpecifierPluginValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterSpecifierPluginValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterSpecifierPluginValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterSpecifierPluginValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterSpecifierPluginValidationError) ErrorName() string { return "ClusterSpecifierPluginValidationError" } // Error satisfies the builtin error interface func (e ClusterSpecifierPluginValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterSpecifierPlugin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterSpecifierPluginValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterSpecifierPluginValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCaseSensitive()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCaseSensitive()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "CaseSensitive", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetQueryParameters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "Grpc", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "TlsContext", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetDynamicMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("DynamicMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("DynamicMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("DynamicMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofPathSpecifierPresent := false switch v := m.PathSpecifier.(type) { case *RouteMatch_Prefix: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true // no validation rules for Prefix case *RouteMatch_Path: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true // no validation rules for Path case *RouteMatch_SafeRegex: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if m.GetSafeRegex() == nil { err := RouteMatchValidationError{ field: "SafeRegex", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, } } } case *RouteMatch_ConnectMatcher_: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if all { switch v := interface{}(m.GetConnectMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "ConnectMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "ConnectMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "ConnectMatcher", reason: "embedded message failed validation", cause: err, } } } case *RouteMatch_PathSeparatedPrefix: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if !_RouteMatch_PathSeparatedPrefix_Pattern.MatchString(m.GetPathSeparatedPrefix()) { err := RouteMatchValidationError{ field: "PathSeparatedPrefix", reason: "value does not match regex pattern \"^[^?#]+[^?#/]$\"", } if !all { return err } errors = append(errors, err) } case *RouteMatch_PathMatchPolicy: if v == nil { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPathSpecifierPresent = true if all { switch v := interface{}(m.GetPathMatchPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "PathMatchPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "PathMatchPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPathMatchPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "PathMatchPolicy", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPathSpecifierPresent { err := RouteMatchValidationError{ field: "PathSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} var _RouteMatch_PathSeparatedPrefix_Pattern = regexp.MustCompile("^[^?#]+[^?#/]$") // Validate checks the field values on CorsPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CorsPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CorsPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CorsPolicyMultiError, or // nil if none found. func (m *CorsPolicy) ValidateAll() error { return m.validate(true) } func (m *CorsPolicy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAllowOriginStringMatch() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowMethods // no validation rules for AllowHeaders // no validation rules for ExposeHeaders // no validation rules for MaxAge if all { switch v := interface{}(m.GetAllowCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowPrivateNetworkAccess()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowPrivateNetworkAccess()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, } } } switch v := m.EnabledSpecifier.(type) { case *CorsPolicy_FilterEnabled: if v == nil { err := CorsPolicyValidationError{ field: "EnabledSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CorsPolicyMultiError(errors) } return nil } // CorsPolicyMultiError is an error wrapping multiple validation errors // returned by CorsPolicy.ValidateAll() if the designated constraints aren't met. type CorsPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CorsPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CorsPolicyMultiError) AllErrors() []error { return m } // CorsPolicyValidationError is the validation error returned by // CorsPolicy.Validate if the designated constraints aren't met. type CorsPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CorsPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CorsPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CorsPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CorsPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CorsPolicyValidationError) ErrorName() string { return "CorsPolicyValidationError" } // Error satisfies the builtin error interface func (e CorsPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCorsPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CorsPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CorsPolicyValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RouteAction_ClusterNotFoundResponseCode_name[int32(m.GetClusterNotFoundResponseCode())]; !ok { err := RouteActionValidationError{ field: "ClusterNotFoundResponseCode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if !_RouteAction_PrefixRewrite_Pattern.MatchString(m.GetPrefixRewrite()) { err := RouteActionValidationError{ field: "PrefixRewrite", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPathRewritePolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "PathRewritePolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "PathRewritePolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPathRewritePolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "PathRewritePolicy", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AppendXForwardedHost if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetEarlyDataPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "EarlyDataPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "EarlyDataPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEarlyDataPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "EarlyDataPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicyTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicyTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "RetryPolicyTypedConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRequestMirrorPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := v3.RoutingPriority_name[int32(m.GetPriority())]; !ok { err := RouteActionValidationError{ field: "Priority", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetIncludeVhRateLimits()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIncludeVhRateLimits()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "IncludeVhRateLimits", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHashPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetCors()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCors()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "Cors", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxGrpcTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxGrpcTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MaxGrpcTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcTimeoutOffset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcTimeoutOffset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "GrpcTimeoutOffset", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetUpgradeConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetInternalRedirectPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "InternalRedirectPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "InternalRedirectPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInternalRedirectPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "InternalRedirectPolicy", reason: "embedded message failed validation", cause: err, } } } // no validation rules for InternalRedirectAction if all { switch v := interface{}(m.GetMaxInternalRedirects()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxInternalRedirects()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHedgePolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHedgePolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "HedgePolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxStreamDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxStreamDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *RouteAction_ClusterHeader: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if utf8.RuneCountInString(m.GetClusterHeader()) < 1 { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_ClusterHeader_Pattern.MatchString(m.GetClusterHeader()) { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_ClusterSpecifierPlugin: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for ClusterSpecifierPlugin case *RouteAction_InlineClusterSpecifierPlugin: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetInlineClusterSpecifierPlugin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "InlineClusterSpecifierPlugin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "InlineClusterSpecifierPlugin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInlineClusterSpecifierPlugin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "InlineClusterSpecifierPlugin", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } switch v := m.HostRewriteSpecifier.(type) { case *RouteAction_HostRewriteLiteral: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HostRewriteLiteral_Pattern.MatchString(m.GetHostRewriteLiteral()) { err := RouteActionValidationError{ field: "HostRewriteLiteral", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RouteAction_AutoHostRewrite: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAutoHostRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAutoHostRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "AutoHostRewrite", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HostRewriteHeader: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HostRewriteHeader_Pattern.MatchString(m.GetHostRewriteHeader()) { err := RouteActionValidationError{ field: "HostRewriteHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RouteAction_HostRewritePathRegex: if v == nil { err := RouteActionValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHostRewritePathRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HostRewritePathRegex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "HostRewritePathRegex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHostRewritePathRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "HostRewritePathRegex", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} var _RouteAction_ClusterHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_PrefixRewrite_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_HostRewriteLiteral_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_HostRewriteHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RetryPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RetryPolicyMultiError, or // nil if none found. func (m *RetryPolicy) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RetryOn if all { switch v := interface{}(m.GetNumRetries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNumRetries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "NumRetries", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerTryTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerTryTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "PerTryTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPerTryIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "PerTryIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPerTryIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "PerTryIdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPriority()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPriority()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryPriority", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRetryHostPredicate() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetryHostPredicate[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRetryOptionsPredicates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryOptionsPredicates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetryOptionsPredicates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetryOptionsPredicates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for HostSelectionRetryMaxAttempts if all { switch v := interface{}(m.GetRetryBackOff()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryBackOff()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RetryBackOff", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRateLimitedRetryBackOff()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RateLimitedRetryBackOff", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: "RateLimitedRetryBackOff", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitedRetryBackOff()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: "RateLimitedRetryBackOff", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRetriableHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetriableHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRetriableRequestHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicyValidationError{ field: fmt.Sprintf("RetriableRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RetryPolicyMultiError(errors) } return nil } // RetryPolicyMultiError is an error wrapping multiple validation errors // returned by RetryPolicy.ValidateAll() if the designated constraints aren't met. type RetryPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicyMultiError) AllErrors() []error { return m } // RetryPolicyValidationError is the validation error returned by // RetryPolicy.Validate if the designated constraints aren't met. type RetryPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicyValidationError) ErrorName() string { return "RetryPolicyValidationError" } // Error satisfies the builtin error interface func (e RetryPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicyValidationError{} // Validate checks the field values on HedgePolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HedgePolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HedgePolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HedgePolicyMultiError, or // nil if none found. func (m *HedgePolicy) ValidateAll() error { return m.validate(true) } func (m *HedgePolicy) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetInitialRequests(); wrapper != nil { if wrapper.GetValue() < 1 { err := HedgePolicyValidationError{ field: "InitialRequests", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetAdditionalRequestChance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdditionalRequestChance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HedgePolicyValidationError{ field: "AdditionalRequestChance", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HedgeOnPerTryTimeout if len(errors) > 0 { return HedgePolicyMultiError(errors) } return nil } // HedgePolicyMultiError is an error wrapping multiple validation errors // returned by HedgePolicy.ValidateAll() if the designated constraints aren't met. type HedgePolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HedgePolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HedgePolicyMultiError) AllErrors() []error { return m } // HedgePolicyValidationError is the validation error returned by // HedgePolicy.Validate if the designated constraints aren't met. type HedgePolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HedgePolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HedgePolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HedgePolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HedgePolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HedgePolicyValidationError) ErrorName() string { return "HedgePolicyValidationError" } // Error satisfies the builtin error interface func (e HedgePolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHedgePolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HedgePolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HedgePolicyValidationError{} // Validate checks the field values on RedirectAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedirectAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedirectAction with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RedirectActionMultiError, // or nil if none found. func (m *RedirectAction) ValidateAll() error { return m.validate(true) } func (m *RedirectAction) validate(all bool) error { if m == nil { return nil } var errors []error if !_RedirectAction_HostRedirect_Pattern.MatchString(m.GetHostRedirect()) { err := RedirectActionValidationError{ field: "HostRedirect", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for PortRedirect if _, ok := RedirectAction_RedirectResponseCode_name[int32(m.GetResponseCode())]; !ok { err := RedirectActionValidationError{ field: "ResponseCode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for StripQuery switch v := m.SchemeRewriteSpecifier.(type) { case *RedirectAction_HttpsRedirect: if v == nil { err := RedirectActionValidationError{ field: "SchemeRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for HttpsRedirect case *RedirectAction_SchemeRedirect: if v == nil { err := RedirectActionValidationError{ field: "SchemeRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for SchemeRedirect default: _ = v // ensures v is used } switch v := m.PathRewriteSpecifier.(type) { case *RedirectAction_PathRedirect: if v == nil { err := RedirectActionValidationError{ field: "PathRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RedirectAction_PathRedirect_Pattern.MatchString(m.GetPathRedirect()) { err := RedirectActionValidationError{ field: "PathRedirect", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RedirectAction_PrefixRewrite: if v == nil { err := RedirectActionValidationError{ field: "PathRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_RedirectAction_PrefixRewrite_Pattern.MatchString(m.GetPrefixRewrite()) { err := RedirectActionValidationError{ field: "PrefixRewrite", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } case *RedirectAction_RegexRewrite: if v == nil { err := RedirectActionValidationError{ field: "PathRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedirectActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedirectActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedirectActionValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RedirectActionMultiError(errors) } return nil } // RedirectActionMultiError is an error wrapping multiple validation errors // returned by RedirectAction.ValidateAll() if the designated constraints // aren't met. type RedirectActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedirectActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedirectActionMultiError) AllErrors() []error { return m } // RedirectActionValidationError is the validation error returned by // RedirectAction.Validate if the designated constraints aren't met. type RedirectActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedirectActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedirectActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedirectActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedirectActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedirectActionValidationError) ErrorName() string { return "RedirectActionValidationError" } // Error satisfies the builtin error interface func (e RedirectActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedirectAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedirectActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedirectActionValidationError{} var _RedirectAction_HostRedirect_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RedirectAction_PathRedirect_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RedirectAction_PrefixRewrite_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on DirectResponseAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DirectResponseAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DirectResponseAction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DirectResponseActionMultiError, or nil if none found. func (m *DirectResponseAction) ValidateAll() error { return m.validate(true) } func (m *DirectResponseAction) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetStatus(); val < 200 || val >= 600 { err := DirectResponseActionValidationError{ field: "Status", reason: "value must be inside range [200, 600)", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DirectResponseActionValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DirectResponseActionMultiError(errors) } return nil } // DirectResponseActionMultiError is an error wrapping multiple validation // errors returned by DirectResponseAction.ValidateAll() if the designated // constraints aren't met. type DirectResponseActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DirectResponseActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DirectResponseActionMultiError) AllErrors() []error { return m } // DirectResponseActionValidationError is the validation error returned by // DirectResponseAction.Validate if the designated constraints aren't met. type DirectResponseActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DirectResponseActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DirectResponseActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DirectResponseActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DirectResponseActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DirectResponseActionValidationError) ErrorName() string { return "DirectResponseActionValidationError" } // Error satisfies the builtin error interface func (e DirectResponseActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDirectResponseAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DirectResponseActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DirectResponseActionValidationError{} // Validate checks the field values on NonForwardingAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *NonForwardingAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NonForwardingAction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // NonForwardingActionMultiError, or nil if none found. func (m *NonForwardingAction) ValidateAll() error { return m.validate(true) } func (m *NonForwardingAction) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return NonForwardingActionMultiError(errors) } return nil } // NonForwardingActionMultiError is an error wrapping multiple validation // errors returned by NonForwardingAction.ValidateAll() if the designated // constraints aren't met. type NonForwardingActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NonForwardingActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NonForwardingActionMultiError) AllErrors() []error { return m } // NonForwardingActionValidationError is the validation error returned by // NonForwardingAction.Validate if the designated constraints aren't met. type NonForwardingActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NonForwardingActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NonForwardingActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NonForwardingActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NonForwardingActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NonForwardingActionValidationError) ErrorName() string { return "NonForwardingActionValidationError" } // Error satisfies the builtin error interface func (e NonForwardingActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNonForwardingAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NonForwardingActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NonForwardingActionValidationError{} // Validate checks the field values on Decorator with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Decorator) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decorator with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DecoratorMultiError, or nil // if none found. func (m *Decorator) ValidateAll() error { return m.validate(true) } func (m *Decorator) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetOperation()) < 1 { err := DecoratorValidationError{ field: "Operation", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPropagate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPropagate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DecoratorValidationError{ field: "Propagate", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DecoratorMultiError(errors) } return nil } // DecoratorMultiError is an error wrapping multiple validation errors returned // by Decorator.ValidateAll() if the designated constraints aren't met. type DecoratorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DecoratorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DecoratorMultiError) AllErrors() []error { return m } // DecoratorValidationError is the validation error returned by // Decorator.Validate if the designated constraints aren't met. type DecoratorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DecoratorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DecoratorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DecoratorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DecoratorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DecoratorValidationError) ErrorName() string { return "DecoratorValidationError" } // Error satisfies the builtin error interface func (e DecoratorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecorator.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DecoratorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DecoratorValidationError{} // Validate checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TracingMultiError, or nil if none found. func (m *Tracing) ValidateAll() error { return m.validate(true) } func (m *Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetClientSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRandomSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRandomSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverallSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverallSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TracingMultiError(errors) } return nil } // TracingMultiError is an error wrapping multiple validation errors returned // by Tracing.ValidateAll() if the designated constraints aren't met. type TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TracingMultiError) AllErrors() []error { return m } // TracingValidationError is the validation error returned by Tracing.Validate // if the designated constraints aren't met. type TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TracingValidationError) ErrorName() string { return "TracingValidationError" } // Error satisfies the builtin error interface func (e TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TracingValidationError{} // Validate checks the field values on VirtualCluster with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VirtualCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VirtualCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VirtualClusterMultiError, // or nil if none found. func (m *VirtualCluster) ValidateAll() error { return m.validate(true) } func (m *VirtualCluster) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VirtualClusterValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if utf8.RuneCountInString(m.GetName()) < 1 { err := VirtualClusterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return VirtualClusterMultiError(errors) } return nil } // VirtualClusterMultiError is an error wrapping multiple validation errors // returned by VirtualCluster.ValidateAll() if the designated constraints // aren't met. type VirtualClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VirtualClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VirtualClusterMultiError) AllErrors() []error { return m } // VirtualClusterValidationError is the validation error returned by // VirtualCluster.Validate if the designated constraints aren't met. type VirtualClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VirtualClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VirtualClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VirtualClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VirtualClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VirtualClusterValidationError) ErrorName() string { return "VirtualClusterValidationError" } // Error satisfies the builtin error interface func (e VirtualClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVirtualCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VirtualClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VirtualClusterValidationError{} // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetStage(); wrapper != nil { if wrapper.GetValue() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } } // no validation rules for DisableKey if len(m.GetActions()) < 1 { err := RateLimitValidationError{ field: "Actions", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} // Validate checks the field values on HeaderMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMatcherMultiError, or // nil if none found. func (m *HeaderMatcher) ValidateAll() error { return m.validate(true) } func (m *HeaderMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := HeaderMatcherValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_HeaderMatcher_Name_Pattern.MatchString(m.GetName()) { err := HeaderMatcherValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for InvertMatch // no validation rules for TreatMissingHeaderAsEmpty switch v := m.HeaderMatchSpecifier.(type) { case *HeaderMatcher_ExactMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ExactMatch case *HeaderMatcher_SafeRegexMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegexMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegexMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMatcherValidationError{ field: "SafeRegexMatch", reason: "embedded message failed validation", cause: err, } } } case *HeaderMatcher_RangeMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRangeMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRangeMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMatcherValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, } } } case *HeaderMatcher_PresentMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for PresentMatch case *HeaderMatcher_PrefixMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetPrefixMatch()) < 1 { err := HeaderMatcherValidationError{ field: "PrefixMatch", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HeaderMatcher_SuffixMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetSuffixMatch()) < 1 { err := HeaderMatcherValidationError{ field: "SuffixMatch", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HeaderMatcher_ContainsMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetContainsMatch()) < 1 { err := HeaderMatcherValidationError{ field: "ContainsMatch", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HeaderMatcher_StringMatch: if v == nil { err := HeaderMatcherValidationError{ field: "HeaderMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HeaderMatcherMultiError(errors) } return nil } // HeaderMatcherMultiError is an error wrapping multiple validation errors // returned by HeaderMatcher.ValidateAll() if the designated constraints // aren't met. type HeaderMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMatcherMultiError) AllErrors() []error { return m } // HeaderMatcherValidationError is the validation error returned by // HeaderMatcher.Validate if the designated constraints aren't met. type HeaderMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMatcherValidationError) ErrorName() string { return "HeaderMatcherValidationError" } // Error satisfies the builtin error interface func (e HeaderMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMatcherValidationError{} var _HeaderMatcher_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on QueryParameterMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QueryParameterMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QueryParameterMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QueryParameterMatcherMultiError, or nil if none found. func (m *QueryParameterMatcher) ValidateAll() error { return m.validate(true) } func (m *QueryParameterMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := QueryParameterMatcherValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetName()) > 1024 { err := QueryParameterMatcherValidationError{ field: "Name", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.QueryParameterMatchSpecifier.(type) { case *QueryParameterMatcher_StringMatch: if v == nil { err := QueryParameterMatcherValidationError{ field: "QueryParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetStringMatch() == nil { err := QueryParameterMatcherValidationError{ field: "StringMatch", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QueryParameterMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } case *QueryParameterMatcher_PresentMatch: if v == nil { err := QueryParameterMatcherValidationError{ field: "QueryParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for PresentMatch default: _ = v // ensures v is used } if len(errors) > 0 { return QueryParameterMatcherMultiError(errors) } return nil } // QueryParameterMatcherMultiError is an error wrapping multiple validation // errors returned by QueryParameterMatcher.ValidateAll() if the designated // constraints aren't met. type QueryParameterMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QueryParameterMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QueryParameterMatcherMultiError) AllErrors() []error { return m } // QueryParameterMatcherValidationError is the validation error returned by // QueryParameterMatcher.Validate if the designated constraints aren't met. type QueryParameterMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QueryParameterMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QueryParameterMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QueryParameterMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QueryParameterMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QueryParameterMatcherValidationError) ErrorName() string { return "QueryParameterMatcherValidationError" } // Error satisfies the builtin error interface func (e QueryParameterMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQueryParameterMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QueryParameterMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QueryParameterMatcherValidationError{} // Validate checks the field values on InternalRedirectPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *InternalRedirectPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on InternalRedirectPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // InternalRedirectPolicyMultiError, or nil if none found. func (m *InternalRedirectPolicy) ValidateAll() error { return m.validate(true) } func (m *InternalRedirectPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxInternalRedirects()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, InternalRedirectPolicyValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, InternalRedirectPolicyValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxInternalRedirects()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return InternalRedirectPolicyValidationError{ field: "MaxInternalRedirects", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRedirectResponseCodes()) > 5 { err := InternalRedirectPolicyValidationError{ field: "RedirectResponseCodes", reason: "value must contain no more than 5 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPredicates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, InternalRedirectPolicyValidationError{ field: fmt.Sprintf("Predicates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, InternalRedirectPolicyValidationError{ field: fmt.Sprintf("Predicates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return InternalRedirectPolicyValidationError{ field: fmt.Sprintf("Predicates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowCrossSchemeRedirect _InternalRedirectPolicy_ResponseHeadersToCopy_Unique := make(map[string]struct{}, len(m.GetResponseHeadersToCopy())) for idx, item := range m.GetResponseHeadersToCopy() { _, _ = idx, item if _, exists := _InternalRedirectPolicy_ResponseHeadersToCopy_Unique[item]; exists { err := InternalRedirectPolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToCopy[%v]", idx), reason: "repeated value must contain unique items", } if !all { return err } errors = append(errors, err) } else { _InternalRedirectPolicy_ResponseHeadersToCopy_Unique[item] = struct{}{} } if !_InternalRedirectPolicy_ResponseHeadersToCopy_Pattern.MatchString(item) { err := InternalRedirectPolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToCopy[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return InternalRedirectPolicyMultiError(errors) } return nil } // InternalRedirectPolicyMultiError is an error wrapping multiple validation // errors returned by InternalRedirectPolicy.ValidateAll() if the designated // constraints aren't met. type InternalRedirectPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InternalRedirectPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InternalRedirectPolicyMultiError) AllErrors() []error { return m } // InternalRedirectPolicyValidationError is the validation error returned by // InternalRedirectPolicy.Validate if the designated constraints aren't met. type InternalRedirectPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InternalRedirectPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InternalRedirectPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InternalRedirectPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InternalRedirectPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InternalRedirectPolicyValidationError) ErrorName() string { return "InternalRedirectPolicyValidationError" } // Error satisfies the builtin error interface func (e InternalRedirectPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInternalRedirectPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InternalRedirectPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InternalRedirectPolicyValidationError{} var _InternalRedirectPolicy_ResponseHeadersToCopy_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IsOptional // no validation rules for Disabled if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on WeightedCluster_ClusterWeight with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster_ClusterWeight with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if !_WeightedCluster_ClusterWeight_ClusterHeader_Pattern.MatchString(m.GetClusterHeader()) { err := WeightedCluster_ClusterWeightValidationError{ field: "ClusterHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetWeight()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeight()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := WeightedCluster_ClusterWeightValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToRemove() { _, _ = idx, item if !_WeightedCluster_ClusterWeight_RequestHeadersToRemove_Pattern.MatchString(item) { err := WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("RequestHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := WeightedCluster_ClusterWeightValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToRemove() { _, _ = idx, item if !_WeightedCluster_ClusterWeight_ResponseHeadersToRemove_Pattern.MatchString(item) { err := WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("ResponseHeadersToRemove[%v]", idx), reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } } { sorted_keys := make([]string, len(m.GetTypedPerFilterConfig())) i := 0 for key := range m.GetTypedPerFilterConfig() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetTypedPerFilterConfig()[key] _ = val // no validation rules for TypedPerFilterConfig[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: fmt.Sprintf("TypedPerFilterConfig[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } switch v := m.HostRewriteSpecifier.(type) { case *WeightedCluster_ClusterWeight_HostRewriteLiteral: if v == nil { err := WeightedCluster_ClusterWeightValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if !_WeightedCluster_ClusterWeight_HostRewriteLiteral_Pattern.MatchString(m.GetHostRewriteLiteral()) { err := WeightedCluster_ClusterWeightValidationError{ field: "HostRewriteLiteral", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return WeightedCluster_ClusterWeightMultiError(errors) } return nil } // WeightedCluster_ClusterWeightMultiError is an error wrapping multiple // validation errors returned by WeightedCluster_ClusterWeight.ValidateAll() // if the designated constraints aren't met. type WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // WeightedCluster_ClusterWeightValidationError is the validation error // returned by WeightedCluster_ClusterWeight.Validate if the designated // constraints aren't met. type WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedCluster_ClusterWeightValidationError{} var _WeightedCluster_ClusterWeight_ClusterHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _WeightedCluster_ClusterWeight_RequestHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _WeightedCluster_ClusterWeight_ResponseHeadersToRemove_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _WeightedCluster_ClusterWeight_HostRewriteLiteral_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteMatch_GrpcRouteMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteMatch_GrpcRouteMatchOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch_GrpcRouteMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteMatch_GrpcRouteMatchOptionsMultiError, or nil if none found. func (m *RouteMatch_GrpcRouteMatchOptions) ValidateAll() error { return m.validate(true) } func (m *RouteMatch_GrpcRouteMatchOptions) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouteMatch_GrpcRouteMatchOptionsMultiError(errors) } return nil } // RouteMatch_GrpcRouteMatchOptionsMultiError is an error wrapping multiple // validation errors returned by // RouteMatch_GrpcRouteMatchOptions.ValidateAll() if the designated // constraints aren't met. type RouteMatch_GrpcRouteMatchOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatch_GrpcRouteMatchOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatch_GrpcRouteMatchOptionsMultiError) AllErrors() []error { return m } // RouteMatch_GrpcRouteMatchOptionsValidationError is the validation error // returned by RouteMatch_GrpcRouteMatchOptions.Validate if the designated // constraints aren't met. type RouteMatch_GrpcRouteMatchOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatch_GrpcRouteMatchOptionsValidationError) ErrorName() string { return "RouteMatch_GrpcRouteMatchOptionsValidationError" } // Error satisfies the builtin error interface func (e RouteMatch_GrpcRouteMatchOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch_GrpcRouteMatchOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatch_GrpcRouteMatchOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatch_GrpcRouteMatchOptionsValidationError{} // Validate checks the field values on RouteMatch_TlsContextMatchOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteMatch_TlsContextMatchOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch_TlsContextMatchOptions // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteMatch_TlsContextMatchOptionsMultiError, or nil if none found. func (m *RouteMatch_TlsContextMatchOptions) ValidateAll() error { return m.validate(true) } func (m *RouteMatch_TlsContextMatchOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPresented()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPresented()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatch_TlsContextMatchOptionsValidationError{ field: "Presented", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetValidated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatch_TlsContextMatchOptionsValidationError{ field: "Validated", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMatch_TlsContextMatchOptionsMultiError(errors) } return nil } // RouteMatch_TlsContextMatchOptionsMultiError is an error wrapping multiple // validation errors returned by // RouteMatch_TlsContextMatchOptions.ValidateAll() if the designated // constraints aren't met. type RouteMatch_TlsContextMatchOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatch_TlsContextMatchOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatch_TlsContextMatchOptionsMultiError) AllErrors() []error { return m } // RouteMatch_TlsContextMatchOptionsValidationError is the validation error // returned by RouteMatch_TlsContextMatchOptions.Validate if the designated // constraints aren't met. type RouteMatch_TlsContextMatchOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatch_TlsContextMatchOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatch_TlsContextMatchOptionsValidationError) ErrorName() string { return "RouteMatch_TlsContextMatchOptionsValidationError" } // Error satisfies the builtin error interface func (e RouteMatch_TlsContextMatchOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch_TlsContextMatchOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatch_TlsContextMatchOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatch_TlsContextMatchOptionsValidationError{} // Validate checks the field values on RouteMatch_ConnectMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteMatch_ConnectMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch_ConnectMatcher with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteMatch_ConnectMatcherMultiError, or nil if none found. func (m *RouteMatch_ConnectMatcher) ValidateAll() error { return m.validate(true) } func (m *RouteMatch_ConnectMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouteMatch_ConnectMatcherMultiError(errors) } return nil } // RouteMatch_ConnectMatcherMultiError is an error wrapping multiple validation // errors returned by RouteMatch_ConnectMatcher.ValidateAll() if the // designated constraints aren't met. type RouteMatch_ConnectMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatch_ConnectMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatch_ConnectMatcherMultiError) AllErrors() []error { return m } // RouteMatch_ConnectMatcherValidationError is the validation error returned by // RouteMatch_ConnectMatcher.Validate if the designated constraints aren't met. type RouteMatch_ConnectMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatch_ConnectMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatch_ConnectMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatch_ConnectMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatch_ConnectMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatch_ConnectMatcherValidationError) ErrorName() string { return "RouteMatch_ConnectMatcherValidationError" } // Error satisfies the builtin error interface func (e RouteMatch_ConnectMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch_ConnectMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatch_ConnectMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatch_ConnectMatcherValidationError{} // Validate checks the field values on RouteAction_RequestMirrorPolicy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_RequestMirrorPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_RequestMirrorPolicy with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_RequestMirrorPolicyMultiError, or nil if none found. func (m *RouteAction_RequestMirrorPolicy) ValidateAll() error { return m.validate(true) } func (m *RouteAction_RequestMirrorPolicy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Cluster if !_RouteAction_RequestMirrorPolicy_ClusterHeader_Pattern.MatchString(m.GetClusterHeader()) { err := RouteAction_RequestMirrorPolicyValidationError{ field: "ClusterHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTraceSampled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceSampled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_RequestMirrorPolicyValidationError{ field: "TraceSampled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_RequestMirrorPolicyMultiError(errors) } return nil } // RouteAction_RequestMirrorPolicyMultiError is an error wrapping multiple // validation errors returned by RouteAction_RequestMirrorPolicy.ValidateAll() // if the designated constraints aren't met. type RouteAction_RequestMirrorPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_RequestMirrorPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_RequestMirrorPolicyMultiError) AllErrors() []error { return m } // RouteAction_RequestMirrorPolicyValidationError is the validation error // returned by RouteAction_RequestMirrorPolicy.Validate if the designated // constraints aren't met. type RouteAction_RequestMirrorPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_RequestMirrorPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_RequestMirrorPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_RequestMirrorPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_RequestMirrorPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_RequestMirrorPolicyValidationError) ErrorName() string { return "RouteAction_RequestMirrorPolicyValidationError" } // Error satisfies the builtin error interface func (e RouteAction_RequestMirrorPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_RequestMirrorPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_RequestMirrorPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_RequestMirrorPolicyValidationError{} var _RouteAction_RequestMirrorPolicy_ClusterHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_HashPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicyMultiError, or nil if none found. func (m *RouteAction_HashPolicy) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Terminal oneofPolicySpecifierPresent := false switch v := m.PolicySpecifier.(type) { case *RouteAction_HashPolicy_Header_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "Header", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_Cookie_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetCookie()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCookie()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_ConnectionProperties_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetConnectionProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_QueryParameter_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetQueryParameter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQueryParameter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "QueryParameter", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_HashPolicy_FilterState_: if v == nil { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetFilterState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPolicySpecifierPresent { err := RouteAction_HashPolicyValidationError{ field: "PolicySpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicyMultiError(errors) } return nil } // RouteAction_HashPolicyMultiError is an error wrapping multiple validation // errors returned by RouteAction_HashPolicy.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicyMultiError) AllErrors() []error { return m } // RouteAction_HashPolicyValidationError is the validation error returned by // RouteAction_HashPolicy.Validate if the designated constraints aren't met. type RouteAction_HashPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicyValidationError) ErrorName() string { return "RouteAction_HashPolicyValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicyValidationError{} // Validate checks the field values on RouteAction_UpgradeConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_UpgradeConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_UpgradeConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteAction_UpgradeConfigMultiError, or nil if none found. func (m *RouteAction_UpgradeConfig) ValidateAll() error { return m.validate(true) } func (m *RouteAction_UpgradeConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetUpgradeType()) < 1 { err := RouteAction_UpgradeConfigValidationError{ field: "UpgradeType", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_UpgradeConfig_UpgradeType_Pattern.MatchString(m.GetUpgradeType()) { err := RouteAction_UpgradeConfigValidationError{ field: "UpgradeType", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "ConnectConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_UpgradeConfigValidationError{ field: "ConnectConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_UpgradeConfigValidationError{ field: "ConnectConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_UpgradeConfigMultiError(errors) } return nil } // RouteAction_UpgradeConfigMultiError is an error wrapping multiple validation // errors returned by RouteAction_UpgradeConfig.ValidateAll() if the // designated constraints aren't met. type RouteAction_UpgradeConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_UpgradeConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_UpgradeConfigMultiError) AllErrors() []error { return m } // RouteAction_UpgradeConfigValidationError is the validation error returned by // RouteAction_UpgradeConfig.Validate if the designated constraints aren't met. type RouteAction_UpgradeConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_UpgradeConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_UpgradeConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_UpgradeConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_UpgradeConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_UpgradeConfigValidationError) ErrorName() string { return "RouteAction_UpgradeConfigValidationError" } // Error satisfies the builtin error interface func (e RouteAction_UpgradeConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_UpgradeConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_UpgradeConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_UpgradeConfigValidationError{} var _RouteAction_UpgradeConfig_UpgradeType_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_MaxStreamDuration with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_MaxStreamDuration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_MaxStreamDuration with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_MaxStreamDurationMultiError, or nil if none found. func (m *RouteAction_MaxStreamDuration) ValidateAll() error { return m.validate(true) } func (m *RouteAction_MaxStreamDuration) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxStreamDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxStreamDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_MaxStreamDurationValidationError{ field: "MaxStreamDuration", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcTimeoutHeaderMax()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderMax", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderMax", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcTimeoutHeaderMax()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderMax", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcTimeoutHeaderOffset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderOffset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderOffset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcTimeoutHeaderOffset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_MaxStreamDurationValidationError{ field: "GrpcTimeoutHeaderOffset", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_MaxStreamDurationMultiError(errors) } return nil } // RouteAction_MaxStreamDurationMultiError is an error wrapping multiple // validation errors returned by RouteAction_MaxStreamDuration.ValidateAll() // if the designated constraints aren't met. type RouteAction_MaxStreamDurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_MaxStreamDurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_MaxStreamDurationMultiError) AllErrors() []error { return m } // RouteAction_MaxStreamDurationValidationError is the validation error // returned by RouteAction_MaxStreamDuration.Validate if the designated // constraints aren't met. type RouteAction_MaxStreamDurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_MaxStreamDurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_MaxStreamDurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_MaxStreamDurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_MaxStreamDurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_MaxStreamDurationValidationError) ErrorName() string { return "RouteAction_MaxStreamDurationValidationError" } // Error satisfies the builtin error interface func (e RouteAction_MaxStreamDurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_MaxStreamDuration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_MaxStreamDurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_MaxStreamDurationValidationError{} // Validate checks the field values on RouteAction_HashPolicy_Header with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_Header) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_Header with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_HeaderMultiError, or nil if none found. func (m *RouteAction_HashPolicy_Header) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_Header) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeaderName()) < 1 { err := RouteAction_HashPolicy_HeaderValidationError{ field: "HeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HashPolicy_Header_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := RouteAction_HashPolicy_HeaderValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicy_HeaderValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicy_HeaderValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicy_HeaderValidationError{ field: "RegexRewrite", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_HashPolicy_HeaderMultiError(errors) } return nil } // RouteAction_HashPolicy_HeaderMultiError is an error wrapping multiple // validation errors returned by RouteAction_HashPolicy_Header.ValidateAll() // if the designated constraints aren't met. type RouteAction_HashPolicy_HeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_HeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_HeaderMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_HeaderValidationError is the validation error // returned by RouteAction_HashPolicy_Header.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_HeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_HeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_HeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_HeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_HeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_HeaderValidationError) ErrorName() string { return "RouteAction_HashPolicy_HeaderValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_HeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_Header.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_HeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_HeaderValidationError{} var _RouteAction_HashPolicy_Header_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_HashPolicy_CookieAttribute // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RouteAction_HashPolicy_CookieAttribute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RouteAction_HashPolicy_CookieAttribute with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // RouteAction_HashPolicy_CookieAttributeMultiError, or nil if none found. func (m *RouteAction_HashPolicy_CookieAttribute) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_CookieAttribute) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RouteAction_HashPolicy_CookieAttributeValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetName()) > 16384 { err := RouteAction_HashPolicy_CookieAttributeValidationError{ field: "Name", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HashPolicy_CookieAttribute_Name_Pattern.MatchString(m.GetName()) { err := RouteAction_HashPolicy_CookieAttributeValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(m.GetValue()) > 16384 { err := RouteAction_HashPolicy_CookieAttributeValidationError{ field: "Value", reason: "value length must be at most 16384 bytes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_HashPolicy_CookieAttribute_Value_Pattern.MatchString(m.GetValue()) { err := RouteAction_HashPolicy_CookieAttributeValidationError{ field: "Value", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_CookieAttributeMultiError(errors) } return nil } // RouteAction_HashPolicy_CookieAttributeMultiError is an error wrapping // multiple validation errors returned by // RouteAction_HashPolicy_CookieAttribute.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_CookieAttributeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_CookieAttributeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_CookieAttributeMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_CookieAttributeValidationError is the validation // error returned by RouteAction_HashPolicy_CookieAttribute.Validate if the // designated constraints aren't met. type RouteAction_HashPolicy_CookieAttributeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_CookieAttributeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_CookieAttributeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_CookieAttributeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_CookieAttributeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_CookieAttributeValidationError) ErrorName() string { return "RouteAction_HashPolicy_CookieAttributeValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_CookieAttributeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_CookieAttribute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_CookieAttributeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_CookieAttributeValidationError{} var _RouteAction_HashPolicy_CookieAttribute_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _RouteAction_HashPolicy_CookieAttribute_Value_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RouteAction_HashPolicy_Cookie with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_Cookie) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_Cookie with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_CookieMultiError, or nil if none found. func (m *RouteAction_HashPolicy_Cookie) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_Cookie) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RouteAction_HashPolicy_CookieValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTtl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTtl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicy_CookieValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Path for idx, item := range m.GetAttributes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: fmt.Sprintf("Attributes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_HashPolicy_CookieValidationError{ field: fmt.Sprintf("Attributes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_HashPolicy_CookieValidationError{ field: fmt.Sprintf("Attributes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteAction_HashPolicy_CookieMultiError(errors) } return nil } // RouteAction_HashPolicy_CookieMultiError is an error wrapping multiple // validation errors returned by RouteAction_HashPolicy_Cookie.ValidateAll() // if the designated constraints aren't met. type RouteAction_HashPolicy_CookieMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_CookieMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_CookieMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_CookieValidationError is the validation error // returned by RouteAction_HashPolicy_Cookie.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_CookieValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_CookieValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_CookieValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_CookieValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_CookieValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_CookieValidationError) ErrorName() string { return "RouteAction_HashPolicy_CookieValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_CookieValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_Cookie.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_CookieValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_CookieValidationError{} // Validate checks the field values on // RouteAction_HashPolicy_ConnectionProperties with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction_HashPolicy_ConnectionProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RouteAction_HashPolicy_ConnectionProperties with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RouteAction_HashPolicy_ConnectionPropertiesMultiError, or nil if none found. func (m *RouteAction_HashPolicy_ConnectionProperties) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_ConnectionProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SourceIp if len(errors) > 0 { return RouteAction_HashPolicy_ConnectionPropertiesMultiError(errors) } return nil } // RouteAction_HashPolicy_ConnectionPropertiesMultiError is an error wrapping // multiple validation errors returned by // RouteAction_HashPolicy_ConnectionProperties.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_ConnectionPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_ConnectionPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_ConnectionPropertiesMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_ConnectionPropertiesValidationError is the validation // error returned by RouteAction_HashPolicy_ConnectionProperties.Validate if // the designated constraints aren't met. type RouteAction_HashPolicy_ConnectionPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) ErrorName() string { return "RouteAction_HashPolicy_ConnectionPropertiesValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_ConnectionPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_ConnectionProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_ConnectionPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_ConnectionPropertiesValidationError{} // Validate checks the field values on RouteAction_HashPolicy_QueryParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RouteAction_HashPolicy_QueryParameter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_QueryParameter // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_QueryParameterMultiError, or nil if none found. func (m *RouteAction_HashPolicy_QueryParameter) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_QueryParameter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RouteAction_HashPolicy_QueryParameterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_QueryParameterMultiError(errors) } return nil } // RouteAction_HashPolicy_QueryParameterMultiError is an error wrapping // multiple validation errors returned by // RouteAction_HashPolicy_QueryParameter.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_QueryParameterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_QueryParameterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_QueryParameterMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_QueryParameterValidationError is the validation error // returned by RouteAction_HashPolicy_QueryParameter.Validate if the // designated constraints aren't met. type RouteAction_HashPolicy_QueryParameterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_QueryParameterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_QueryParameterValidationError) ErrorName() string { return "RouteAction_HashPolicy_QueryParameterValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_QueryParameterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_QueryParameter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_QueryParameterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_QueryParameterValidationError{} // Validate checks the field values on RouteAction_HashPolicy_FilterState with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RouteAction_HashPolicy_FilterState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_HashPolicy_FilterState // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RouteAction_HashPolicy_FilterStateMultiError, or nil if none found. func (m *RouteAction_HashPolicy_FilterState) ValidateAll() error { return m.validate(true) } func (m *RouteAction_HashPolicy_FilterState) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := RouteAction_HashPolicy_FilterStateValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteAction_HashPolicy_FilterStateMultiError(errors) } return nil } // RouteAction_HashPolicy_FilterStateMultiError is an error wrapping multiple // validation errors returned by // RouteAction_HashPolicy_FilterState.ValidateAll() if the designated // constraints aren't met. type RouteAction_HashPolicy_FilterStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_HashPolicy_FilterStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_HashPolicy_FilterStateMultiError) AllErrors() []error { return m } // RouteAction_HashPolicy_FilterStateValidationError is the validation error // returned by RouteAction_HashPolicy_FilterState.Validate if the designated // constraints aren't met. type RouteAction_HashPolicy_FilterStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_HashPolicy_FilterStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_HashPolicy_FilterStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_HashPolicy_FilterStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_HashPolicy_FilterStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_HashPolicy_FilterStateValidationError) ErrorName() string { return "RouteAction_HashPolicy_FilterStateValidationError" } // Error satisfies the builtin error interface func (e RouteAction_HashPolicy_FilterStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_HashPolicy_FilterState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_HashPolicy_FilterStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_HashPolicy_FilterStateValidationError{} // Validate checks the field values on RouteAction_UpgradeConfig_ConnectConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RouteAction_UpgradeConfig_ConnectConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RouteAction_UpgradeConfig_ConnectConfig with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // RouteAction_UpgradeConfig_ConnectConfigMultiError, or nil if none found. func (m *RouteAction_UpgradeConfig_ConnectConfig) ValidateAll() error { return m.validate(true) } func (m *RouteAction_UpgradeConfig_ConnectConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetProxyProtocolConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_UpgradeConfig_ConnectConfigValidationError{ field: "ProxyProtocolConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_UpgradeConfig_ConnectConfigValidationError{ field: "ProxyProtocolConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProxyProtocolConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_UpgradeConfig_ConnectConfigValidationError{ field: "ProxyProtocolConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowPost if len(errors) > 0 { return RouteAction_UpgradeConfig_ConnectConfigMultiError(errors) } return nil } // RouteAction_UpgradeConfig_ConnectConfigMultiError is an error wrapping // multiple validation errors returned by // RouteAction_UpgradeConfig_ConnectConfig.ValidateAll() if the designated // constraints aren't met. type RouteAction_UpgradeConfig_ConnectConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_UpgradeConfig_ConnectConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_UpgradeConfig_ConnectConfigMultiError) AllErrors() []error { return m } // RouteAction_UpgradeConfig_ConnectConfigValidationError is the validation // error returned by RouteAction_UpgradeConfig_ConnectConfig.Validate if the // designated constraints aren't met. type RouteAction_UpgradeConfig_ConnectConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) ErrorName() string { return "RouteAction_UpgradeConfig_ConnectConfigValidationError" } // Error satisfies the builtin error interface func (e RouteAction_UpgradeConfig_ConnectConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_UpgradeConfig_ConnectConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_UpgradeConfig_ConnectConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_UpgradeConfig_ConnectConfigValidationError{} // Validate checks the field values on RetryPolicy_RetryPriority with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryPriority) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryPriority with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryPriorityMultiError, or nil if none found. func (m *RetryPolicy_RetryPriority) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryPriority) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RetryPolicy_RetryPriorityValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *RetryPolicy_RetryPriority_TypedConfig: if v == nil { err := RetryPolicy_RetryPriorityValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryPriorityValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RetryPolicy_RetryPriorityMultiError(errors) } return nil } // RetryPolicy_RetryPriorityMultiError is an error wrapping multiple validation // errors returned by RetryPolicy_RetryPriority.ValidateAll() if the // designated constraints aren't met. type RetryPolicy_RetryPriorityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryPriorityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryPriorityMultiError) AllErrors() []error { return m } // RetryPolicy_RetryPriorityValidationError is the validation error returned by // RetryPolicy_RetryPriority.Validate if the designated constraints aren't met. type RetryPolicy_RetryPriorityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryPriorityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryPriorityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryPriorityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryPriorityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryPriorityValidationError) ErrorName() string { return "RetryPolicy_RetryPriorityValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryPriorityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryPriority.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryPriorityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryPriorityValidationError{} // Validate checks the field values on RetryPolicy_RetryHostPredicate with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryHostPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryHostPredicate with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryHostPredicateMultiError, or nil if none found. func (m *RetryPolicy_RetryHostPredicate) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryHostPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RetryPolicy_RetryHostPredicateValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *RetryPolicy_RetryHostPredicate_TypedConfig: if v == nil { err := RetryPolicy_RetryHostPredicateValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RetryHostPredicateValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RetryPolicy_RetryHostPredicateMultiError(errors) } return nil } // RetryPolicy_RetryHostPredicateMultiError is an error wrapping multiple // validation errors returned by RetryPolicy_RetryHostPredicate.ValidateAll() // if the designated constraints aren't met. type RetryPolicy_RetryHostPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryHostPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryHostPredicateMultiError) AllErrors() []error { return m } // RetryPolicy_RetryHostPredicateValidationError is the validation error // returned by RetryPolicy_RetryHostPredicate.Validate if the designated // constraints aren't met. type RetryPolicy_RetryHostPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryHostPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryHostPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryHostPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryHostPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryHostPredicateValidationError) ErrorName() string { return "RetryPolicy_RetryHostPredicateValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryHostPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryHostPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryHostPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryHostPredicateValidationError{} // Validate checks the field values on RetryPolicy_RetryBackOff with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_RetryBackOff) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RetryBackOff with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetryPolicy_RetryBackOffMultiError, or nil if none found. func (m *RetryPolicy_RetryBackOff) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RetryBackOff) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBaseInterval() == nil { err := RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetBaseInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RetryPolicy_RetryBackOffValidationError{ field: "BaseInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RetryPolicy_RetryBackOffValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RetryPolicy_RetryBackOffValidationError{ field: "MaxInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return RetryPolicy_RetryBackOffMultiError(errors) } return nil } // RetryPolicy_RetryBackOffMultiError is an error wrapping multiple validation // errors returned by RetryPolicy_RetryBackOff.ValidateAll() if the designated // constraints aren't met. type RetryPolicy_RetryBackOffMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RetryBackOffMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RetryBackOffMultiError) AllErrors() []error { return m } // RetryPolicy_RetryBackOffValidationError is the validation error returned by // RetryPolicy_RetryBackOff.Validate if the designated constraints aren't met. type RetryPolicy_RetryBackOffValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RetryBackOffValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RetryBackOffValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RetryBackOffValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RetryBackOffValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RetryBackOffValidationError) ErrorName() string { return "RetryPolicy_RetryBackOffValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RetryBackOffValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RetryBackOff.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RetryBackOffValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RetryBackOffValidationError{} // Validate checks the field values on RetryPolicy_ResetHeader with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RetryPolicy_ResetHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_ResetHeader with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RetryPolicy_ResetHeaderMultiError, or nil if none found. func (m *RetryPolicy_ResetHeader) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_ResetHeader) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RetryPolicy_ResetHeaderValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RetryPolicy_ResetHeader_Name_Pattern.MatchString(m.GetName()) { err := RetryPolicy_ResetHeaderValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if _, ok := RetryPolicy_ResetHeaderFormat_name[int32(m.GetFormat())]; !ok { err := RetryPolicy_ResetHeaderValidationError{ field: "Format", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RetryPolicy_ResetHeaderMultiError(errors) } return nil } // RetryPolicy_ResetHeaderMultiError is an error wrapping multiple validation // errors returned by RetryPolicy_ResetHeader.ValidateAll() if the designated // constraints aren't met. type RetryPolicy_ResetHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_ResetHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_ResetHeaderMultiError) AllErrors() []error { return m } // RetryPolicy_ResetHeaderValidationError is the validation error returned by // RetryPolicy_ResetHeader.Validate if the designated constraints aren't met. type RetryPolicy_ResetHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_ResetHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_ResetHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_ResetHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_ResetHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_ResetHeaderValidationError) ErrorName() string { return "RetryPolicy_ResetHeaderValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_ResetHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_ResetHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_ResetHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_ResetHeaderValidationError{} var _RetryPolicy_ResetHeader_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RetryPolicy_RateLimitedRetryBackOff with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RetryPolicy_RateLimitedRetryBackOff) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RetryPolicy_RateLimitedRetryBackOff // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RetryPolicy_RateLimitedRetryBackOffMultiError, or nil if none found. func (m *RetryPolicy_RateLimitedRetryBackOff) ValidateAll() error { return m.validate(true) } func (m *RetryPolicy_RateLimitedRetryBackOff) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetResetHeaders()) < 1 { err := RetryPolicy_RateLimitedRetryBackOffValidationError{ field: "ResetHeaders", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RetryPolicy_RateLimitedRetryBackOffValidationError{ field: fmt.Sprintf("ResetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RetryPolicy_RateLimitedRetryBackOffValidationError{ field: fmt.Sprintf("ResetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RetryPolicy_RateLimitedRetryBackOffValidationError{ field: fmt.Sprintf("ResetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if d := m.GetMaxInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RetryPolicy_RateLimitedRetryBackOffValidationError{ field: "MaxInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RetryPolicy_RateLimitedRetryBackOffValidationError{ field: "MaxInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return RetryPolicy_RateLimitedRetryBackOffMultiError(errors) } return nil } // RetryPolicy_RateLimitedRetryBackOffMultiError is an error wrapping multiple // validation errors returned by // RetryPolicy_RateLimitedRetryBackOff.ValidateAll() if the designated // constraints aren't met. type RetryPolicy_RateLimitedRetryBackOffMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RetryPolicy_RateLimitedRetryBackOffMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RetryPolicy_RateLimitedRetryBackOffMultiError) AllErrors() []error { return m } // RetryPolicy_RateLimitedRetryBackOffValidationError is the validation error // returned by RetryPolicy_RateLimitedRetryBackOff.Validate if the designated // constraints aren't met. type RetryPolicy_RateLimitedRetryBackOffValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RetryPolicy_RateLimitedRetryBackOffValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RetryPolicy_RateLimitedRetryBackOffValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RetryPolicy_RateLimitedRetryBackOffValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RetryPolicy_RateLimitedRetryBackOffValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RetryPolicy_RateLimitedRetryBackOffValidationError) ErrorName() string { return "RetryPolicy_RateLimitedRetryBackOffValidationError" } // Error satisfies the builtin error interface func (e RetryPolicy_RateLimitedRetryBackOffValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRetryPolicy_RateLimitedRetryBackOff.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RetryPolicy_RateLimitedRetryBackOffValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RetryPolicy_RateLimitedRetryBackOffValidationError{} // Validate checks the field values on RateLimit_Action with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_ActionMultiError, or nil if none found. func (m *RateLimit_Action) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action) validate(all bool) error { if m == nil { return nil } var errors []error oneofActionSpecifierPresent := false switch v := m.ActionSpecifier.(type) { case *RateLimit_Action_SourceCluster_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetSourceCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_DestinationCluster_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetDestinationCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_RequestHeaders_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_RemoteAddress_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_GenericKey_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetGenericKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_HeaderValueMatch_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetHeaderValueMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValueMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_DynamicMetadata: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_Metadata: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_Extension: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_MaskedRemoteAddress_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetMaskedRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "MaskedRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "MaskedRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaskedRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "MaskedRemoteAddress", reason: "embedded message failed validation", cause: err, } } } case *RateLimit_Action_QueryParameterValueMatch_: if v == nil { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetQueryParameterValueMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "QueryParameterValueMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_ActionValidationError{ field: "QueryParameterValueMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQueryParameterValueMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_ActionValidationError{ field: "QueryParameterValueMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionSpecifierPresent { err := RateLimit_ActionValidationError{ field: "ActionSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimit_ActionMultiError(errors) } return nil } // RateLimit_ActionMultiError is an error wrapping multiple validation errors // returned by RateLimit_Action.ValidateAll() if the designated constraints // aren't met. type RateLimit_ActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_ActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_ActionMultiError) AllErrors() []error { return m } // RateLimit_ActionValidationError is the validation error returned by // RateLimit_Action.Validate if the designated constraints aren't met. type RateLimit_ActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_ActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_ActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_ActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_ActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_ActionValidationError) ErrorName() string { return "RateLimit_ActionValidationError" } // Error satisfies the builtin error interface func (e RateLimit_ActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_ActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_ActionValidationError{} // Validate checks the field values on RateLimit_Override with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Override) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Override with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_OverrideMultiError, or nil if none found. func (m *RateLimit_Override) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Override) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverrideSpecifierPresent := false switch v := m.OverrideSpecifier.(type) { case *RateLimit_Override_DynamicMetadata_: if v == nil { err := RateLimit_OverrideValidationError{ field: "OverrideSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverrideSpecifierPresent = true if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverrideSpecifierPresent { err := RateLimit_OverrideValidationError{ field: "OverrideSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimit_OverrideMultiError(errors) } return nil } // RateLimit_OverrideMultiError is an error wrapping multiple validation errors // returned by RateLimit_Override.ValidateAll() if the designated constraints // aren't met. type RateLimit_OverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_OverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_OverrideMultiError) AllErrors() []error { return m } // RateLimit_OverrideValidationError is the validation error returned by // RateLimit_Override.Validate if the designated constraints aren't met. type RateLimit_OverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_OverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_OverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_OverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_OverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_OverrideValidationError) ErrorName() string { return "RateLimit_OverrideValidationError" } // Error satisfies the builtin error interface func (e RateLimit_OverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Override.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_OverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_OverrideValidationError{} // Validate checks the field values on RateLimit_Action_SourceCluster with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_SourceCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_SourceCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_SourceClusterMultiError, or nil if none found. func (m *RateLimit_Action_SourceCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_SourceCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_SourceClusterMultiError(errors) } return nil } // RateLimit_Action_SourceClusterMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_SourceCluster.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_SourceClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_SourceClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_SourceClusterMultiError) AllErrors() []error { return m } // RateLimit_Action_SourceClusterValidationError is the validation error // returned by RateLimit_Action_SourceCluster.Validate if the designated // constraints aren't met. type RateLimit_Action_SourceClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_SourceClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_SourceClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_SourceClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_SourceClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_SourceClusterValidationError) ErrorName() string { return "RateLimit_Action_SourceClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_SourceClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_SourceCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_SourceClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_SourceClusterValidationError{} // Validate checks the field values on RateLimit_Action_DestinationCluster with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Action_DestinationCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_DestinationCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Action_DestinationClusterMultiError, or nil if none found. func (m *RateLimit_Action_DestinationCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_DestinationCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_DestinationClusterMultiError(errors) } return nil } // RateLimit_Action_DestinationClusterMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_DestinationCluster.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_DestinationClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_DestinationClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_DestinationClusterMultiError) AllErrors() []error { return m } // RateLimit_Action_DestinationClusterValidationError is the validation error // returned by RateLimit_Action_DestinationCluster.Validate if the designated // constraints aren't met. type RateLimit_Action_DestinationClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_DestinationClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_DestinationClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_DestinationClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_DestinationClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_DestinationClusterValidationError) ErrorName() string { return "RateLimit_Action_DestinationClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_DestinationClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_DestinationCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_DestinationClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_DestinationClusterValidationError{} // Validate checks the field values on RateLimit_Action_RequestHeaders with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_RequestHeaders) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_RequestHeaders with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_RequestHeadersMultiError, or nil if none found. func (m *RateLimit_Action_RequestHeaders) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_RequestHeaders) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeaderName()) < 1 { err := RateLimit_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RateLimit_Action_RequestHeaders_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := RateLimit_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := RateLimit_Action_RequestHeadersValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for SkipIfAbsent if len(errors) > 0 { return RateLimit_Action_RequestHeadersMultiError(errors) } return nil } // RateLimit_Action_RequestHeadersMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_RequestHeaders.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_RequestHeadersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_RequestHeadersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_RequestHeadersMultiError) AllErrors() []error { return m } // RateLimit_Action_RequestHeadersValidationError is the validation error // returned by RateLimit_Action_RequestHeaders.Validate if the designated // constraints aren't met. type RateLimit_Action_RequestHeadersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_RequestHeadersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_RequestHeadersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_RequestHeadersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_RequestHeadersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_RequestHeadersValidationError) ErrorName() string { return "RateLimit_Action_RequestHeadersValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_RequestHeadersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_RequestHeaders.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_RequestHeadersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_RequestHeadersValidationError{} var _RateLimit_Action_RequestHeaders_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RateLimit_Action_RemoteAddress with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_RemoteAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_RemoteAddress with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_RemoteAddressMultiError, or nil if none found. func (m *RateLimit_Action_RemoteAddress) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_RemoteAddress) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimit_Action_RemoteAddressMultiError(errors) } return nil } // RateLimit_Action_RemoteAddressMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_RemoteAddress.ValidateAll() // if the designated constraints aren't met. type RateLimit_Action_RemoteAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_RemoteAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_RemoteAddressMultiError) AllErrors() []error { return m } // RateLimit_Action_RemoteAddressValidationError is the validation error // returned by RateLimit_Action_RemoteAddress.Validate if the designated // constraints aren't met. type RateLimit_Action_RemoteAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_RemoteAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_RemoteAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_RemoteAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_RemoteAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_RemoteAddressValidationError) ErrorName() string { return "RateLimit_Action_RemoteAddressValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_RemoteAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_RemoteAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_RemoteAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_RemoteAddressValidationError{} // Validate checks the field values on RateLimit_Action_MaskedRemoteAddress // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimit_Action_MaskedRemoteAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_MaskedRemoteAddress // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Action_MaskedRemoteAddressMultiError, or nil if none found. func (m *RateLimit_Action_MaskedRemoteAddress) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_MaskedRemoteAddress) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetV4PrefixMaskLen(); wrapper != nil { if wrapper.GetValue() > 32 { err := RateLimit_Action_MaskedRemoteAddressValidationError{ field: "V4PrefixMaskLen", reason: "value must be less than or equal to 32", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetV6PrefixMaskLen(); wrapper != nil { if wrapper.GetValue() > 128 { err := RateLimit_Action_MaskedRemoteAddressValidationError{ field: "V6PrefixMaskLen", reason: "value must be less than or equal to 128", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return RateLimit_Action_MaskedRemoteAddressMultiError(errors) } return nil } // RateLimit_Action_MaskedRemoteAddressMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_MaskedRemoteAddress.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_MaskedRemoteAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_MaskedRemoteAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_MaskedRemoteAddressMultiError) AllErrors() []error { return m } // RateLimit_Action_MaskedRemoteAddressValidationError is the validation error // returned by RateLimit_Action_MaskedRemoteAddress.Validate if the designated // constraints aren't met. type RateLimit_Action_MaskedRemoteAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_MaskedRemoteAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_MaskedRemoteAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_MaskedRemoteAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_MaskedRemoteAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_MaskedRemoteAddressValidationError) ErrorName() string { return "RateLimit_Action_MaskedRemoteAddressValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_MaskedRemoteAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_MaskedRemoteAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_MaskedRemoteAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_MaskedRemoteAddressValidationError{} // Validate checks the field values on RateLimit_Action_GenericKey with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_GenericKey) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_GenericKey with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_Action_GenericKeyMultiError, or nil if none found. func (m *RateLimit_Action_GenericKey) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_GenericKey) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { err := RateLimit_Action_GenericKeyValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for DescriptorKey if len(errors) > 0 { return RateLimit_Action_GenericKeyMultiError(errors) } return nil } // RateLimit_Action_GenericKeyMultiError is an error wrapping multiple // validation errors returned by RateLimit_Action_GenericKey.ValidateAll() if // the designated constraints aren't met. type RateLimit_Action_GenericKeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_GenericKeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_GenericKeyMultiError) AllErrors() []error { return m } // RateLimit_Action_GenericKeyValidationError is the validation error returned // by RateLimit_Action_GenericKey.Validate if the designated constraints // aren't met. type RateLimit_Action_GenericKeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_GenericKeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_GenericKeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_GenericKeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_GenericKeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_GenericKeyValidationError) ErrorName() string { return "RateLimit_Action_GenericKeyValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_GenericKeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_GenericKey.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_GenericKeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_GenericKeyValidationError{} // Validate checks the field values on RateLimit_Action_HeaderValueMatch with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Action_HeaderValueMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_HeaderValueMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Action_HeaderValueMatchMultiError, or nil if none found. func (m *RateLimit_Action_HeaderValueMatch) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_HeaderValueMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DescriptorKey if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { err := RateLimit_Action_HeaderValueMatchValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetExpectMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpectMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_HeaderValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, } } } if len(m.GetHeaders()) < 1 { err := RateLimit_Action_HeaderValueMatchValidationError{ field: "Headers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimit_Action_HeaderValueMatchMultiError(errors) } return nil } // RateLimit_Action_HeaderValueMatchMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_HeaderValueMatch.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_HeaderValueMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_HeaderValueMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_HeaderValueMatchMultiError) AllErrors() []error { return m } // RateLimit_Action_HeaderValueMatchValidationError is the validation error // returned by RateLimit_Action_HeaderValueMatch.Validate if the designated // constraints aren't met. type RateLimit_Action_HeaderValueMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_HeaderValueMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_HeaderValueMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_HeaderValueMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_HeaderValueMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_HeaderValueMatchValidationError) ErrorName() string { return "RateLimit_Action_HeaderValueMatchValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_HeaderValueMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_HeaderValueMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_HeaderValueMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_HeaderValueMatchValidationError{} // Validate checks the field values on RateLimit_Action_DynamicMetaData with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Action_DynamicMetaData) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_DynamicMetaData with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimit_Action_DynamicMetaDataMultiError, or nil if none found. func (m *RateLimit_Action_DynamicMetaData) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_DynamicMetaData) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := RateLimit_Action_DynamicMetaDataValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetMetadataKey() == nil { err := RateLimit_Action_DynamicMetaDataValidationError{ field: "MetadataKey", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_DynamicMetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_DynamicMetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_DynamicMetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultValue if len(errors) > 0 { return RateLimit_Action_DynamicMetaDataMultiError(errors) } return nil } // RateLimit_Action_DynamicMetaDataMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Action_DynamicMetaData.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_DynamicMetaDataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_DynamicMetaDataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_DynamicMetaDataMultiError) AllErrors() []error { return m } // RateLimit_Action_DynamicMetaDataValidationError is the validation error // returned by RateLimit_Action_DynamicMetaData.Validate if the designated // constraints aren't met. type RateLimit_Action_DynamicMetaDataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_DynamicMetaDataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_DynamicMetaDataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_DynamicMetaDataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_DynamicMetaDataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_DynamicMetaDataValidationError) ErrorName() string { return "RateLimit_Action_DynamicMetaDataValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_DynamicMetaDataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_DynamicMetaData.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_DynamicMetaDataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_DynamicMetaDataValidationError{} // Validate checks the field values on RateLimit_Action_MetaData with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_MetaData) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Action_MetaData with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimit_Action_MetaDataMultiError, or nil if none found. func (m *RateLimit_Action_MetaData) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_MetaData) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := RateLimit_Action_MetaDataValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetMetadataKey() == nil { err := RateLimit_Action_MetaDataValidationError{ field: "MetadataKey", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultValue if _, ok := RateLimit_Action_MetaData_Source_name[int32(m.GetSource())]; !ok { err := RateLimit_Action_MetaDataValidationError{ field: "Source", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for SkipIfAbsent if len(errors) > 0 { return RateLimit_Action_MetaDataMultiError(errors) } return nil } // RateLimit_Action_MetaDataMultiError is an error wrapping multiple validation // errors returned by RateLimit_Action_MetaData.ValidateAll() if the // designated constraints aren't met. type RateLimit_Action_MetaDataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_MetaDataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_MetaDataMultiError) AllErrors() []error { return m } // RateLimit_Action_MetaDataValidationError is the validation error returned by // RateLimit_Action_MetaData.Validate if the designated constraints aren't met. type RateLimit_Action_MetaDataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_MetaDataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_MetaDataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_MetaDataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_MetaDataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_MetaDataValidationError) ErrorName() string { return "RateLimit_Action_MetaDataValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_MetaDataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_MetaData.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_MetaDataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_MetaDataValidationError{} // Validate checks the field values on // RateLimit_Action_QueryParameterValueMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit_Action_QueryParameterValueMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimit_Action_QueryParameterValueMatch with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RateLimit_Action_QueryParameterValueMatchMultiError, or nil if none found. func (m *RateLimit_Action_QueryParameterValueMatch) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Action_QueryParameterValueMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DescriptorKey if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { err := RateLimit_Action_QueryParameterValueMatchValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetExpectMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_QueryParameterValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_QueryParameterValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpectMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_QueryParameterValueMatchValidationError{ field: "ExpectMatch", reason: "embedded message failed validation", cause: err, } } } if len(m.GetQueryParameters()) < 1 { err := RateLimit_Action_QueryParameterValueMatchValidationError{ field: "QueryParameters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetQueryParameters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Action_QueryParameterValueMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Action_QueryParameterValueMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Action_QueryParameterValueMatchValidationError{ field: fmt.Sprintf("QueryParameters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimit_Action_QueryParameterValueMatchMultiError(errors) } return nil } // RateLimit_Action_QueryParameterValueMatchMultiError is an error wrapping // multiple validation errors returned by // RateLimit_Action_QueryParameterValueMatch.ValidateAll() if the designated // constraints aren't met. type RateLimit_Action_QueryParameterValueMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Action_QueryParameterValueMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Action_QueryParameterValueMatchMultiError) AllErrors() []error { return m } // RateLimit_Action_QueryParameterValueMatchValidationError is the validation // error returned by RateLimit_Action_QueryParameterValueMatch.Validate if the // designated constraints aren't met. type RateLimit_Action_QueryParameterValueMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Action_QueryParameterValueMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Action_QueryParameterValueMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Action_QueryParameterValueMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Action_QueryParameterValueMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Action_QueryParameterValueMatchValidationError) ErrorName() string { return "RateLimit_Action_QueryParameterValueMatchValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Action_QueryParameterValueMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Action_QueryParameterValueMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Action_QueryParameterValueMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Action_QueryParameterValueMatchValidationError{} // Validate checks the field values on RateLimit_Override_DynamicMetadata with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimit_Override_DynamicMetadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit_Override_DynamicMetadata // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimit_Override_DynamicMetadataMultiError, or nil if none found. func (m *RateLimit_Override_DynamicMetadata) ValidateAll() error { return m.validate(true) } func (m *RateLimit_Override_DynamicMetadata) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMetadataKey() == nil { err := RateLimit_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimit_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimit_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimit_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimit_Override_DynamicMetadataMultiError(errors) } return nil } // RateLimit_Override_DynamicMetadataMultiError is an error wrapping multiple // validation errors returned by // RateLimit_Override_DynamicMetadata.ValidateAll() if the designated // constraints aren't met. type RateLimit_Override_DynamicMetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimit_Override_DynamicMetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimit_Override_DynamicMetadataMultiError) AllErrors() []error { return m } // RateLimit_Override_DynamicMetadataValidationError is the validation error // returned by RateLimit_Override_DynamicMetadata.Validate if the designated // constraints aren't met. type RateLimit_Override_DynamicMetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimit_Override_DynamicMetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimit_Override_DynamicMetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimit_Override_DynamicMetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimit_Override_DynamicMetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimit_Override_DynamicMetadataValidationError) ErrorName() string { return "RateLimit_Override_DynamicMetadataValidationError" } // Error satisfies the builtin error interface func (e RateLimit_Override_DynamicMetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit_Override_DynamicMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimit_Override_DynamicMetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimit_Override_DynamicMetadataValidationError{} go-control-plane-0.12.0/envoy/config/route/v3/scoped_route.pb.go000077500000000000000000000477511454502223200245070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/route/v3/scoped_route.proto package routev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies a routing scope, which associates a // :ref:`Key` to a // :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. // The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` can be obtained dynamically // via RDS (:ref:`route_configuration_name`) // or specified inline (:ref:`route_configuration`). // // The HTTP connection manager builds up a table consisting of these Key to // RouteConfiguration mappings, and looks up the RouteConfiguration to use per // request according to the algorithm specified in the // :ref:`scope_key_builder` // assigned to the HttpConnectionManager. // // For example, with the following configurations (in YAML): // // HttpConnectionManager config: // // .. code:: // // ... // scoped_routes: // name: foo-scoped-routes // scope_key_builder: // fragments: // - header_value_extractor: // name: X-Route-Selector // element_separator: "," // element: // separator: = // key: vip // // ScopedRouteConfiguration resources (specified statically via // :ref:`scoped_route_configurations_list` // or obtained dynamically via SRDS): // // .. code:: // // (1) // name: route-scope1 // route_configuration_name: route-config1 // key: // fragments: // - string_key: 172.10.10.20 // // (2) // name: route-scope2 // route_configuration_name: route-config2 // key: // fragments: // - string_key: 172.20.20.30 // // A request from a client such as: // // .. code:: // // GET / HTTP/1.1 // Host: foo.com // X-Route-Selector: vip=172.10.10.20 // // would result in the routing table defined by the “route-config1“ // RouteConfiguration being assigned to the HTTP request/stream. // // [#next-free-field: 6] type ScopedRouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the RouteConfiguration should be loaded on demand. OnDemand bool `protobuf:"varint,4,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` // The name assigned to the routing scope. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The resource name to use for a :ref:`envoy_v3_api_msg_service.discovery.v3.DiscoveryRequest` to an // RDS server to fetch the :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated // with this scope. RouteConfigurationName string `protobuf:"bytes,2,opt,name=route_configuration_name,json=routeConfigurationName,proto3" json:"route_configuration_name,omitempty"` // The :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration` associated with the scope. RouteConfiguration *RouteConfiguration `protobuf:"bytes,5,opt,name=route_configuration,json=routeConfiguration,proto3" json:"route_configuration,omitempty"` // The key to match against. Key *ScopedRouteConfiguration_Key `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` } func (x *ScopedRouteConfiguration) Reset() { *x = ScopedRouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration) ProtoMessage() {} func (x *ScopedRouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_scoped_route_proto_rawDescGZIP(), []int{0} } func (x *ScopedRouteConfiguration) GetOnDemand() bool { if x != nil { return x.OnDemand } return false } func (x *ScopedRouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRouteConfiguration) GetRouteConfigurationName() string { if x != nil { return x.RouteConfigurationName } return "" } func (x *ScopedRouteConfiguration) GetRouteConfiguration() *RouteConfiguration { if x != nil { return x.RouteConfiguration } return nil } func (x *ScopedRouteConfiguration) GetKey() *ScopedRouteConfiguration_Key { if x != nil { return x.Key } return nil } // Specifies a key which is matched against the output of the // :ref:`scope_key_builder` // specified in the HttpConnectionManager. The matching is done per HTTP // request and is dependent on the order of the fragments contained in the // Key. type ScopedRouteConfiguration_Key struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ordered set of fragments to match against. The order must match the // fragments in the corresponding // :ref:`scope_key_builder`. Fragments []*ScopedRouteConfiguration_Key_Fragment `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"` } func (x *ScopedRouteConfiguration_Key) Reset() { *x = ScopedRouteConfiguration_Key{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration_Key) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration_Key) ProtoMessage() {} func (x *ScopedRouteConfiguration_Key) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration_Key.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration_Key) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_scoped_route_proto_rawDescGZIP(), []int{0, 0} } func (x *ScopedRouteConfiguration_Key) GetFragments() []*ScopedRouteConfiguration_Key_Fragment { if x != nil { return x.Fragments } return nil } type ScopedRouteConfiguration_Key_Fragment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Type: // // *ScopedRouteConfiguration_Key_Fragment_StringKey Type isScopedRouteConfiguration_Key_Fragment_Type `protobuf_oneof:"type"` } func (x *ScopedRouteConfiguration_Key_Fragment) Reset() { *x = ScopedRouteConfiguration_Key_Fragment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfiguration_Key_Fragment) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfiguration_Key_Fragment) ProtoMessage() {} func (x *ScopedRouteConfiguration_Key_Fragment) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_route_v3_scoped_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfiguration_Key_Fragment.ProtoReflect.Descriptor instead. func (*ScopedRouteConfiguration_Key_Fragment) Descriptor() ([]byte, []int) { return file_envoy_config_route_v3_scoped_route_proto_rawDescGZIP(), []int{0, 0, 0} } func (m *ScopedRouteConfiguration_Key_Fragment) GetType() isScopedRouteConfiguration_Key_Fragment_Type { if m != nil { return m.Type } return nil } func (x *ScopedRouteConfiguration_Key_Fragment) GetStringKey() string { if x, ok := x.GetType().(*ScopedRouteConfiguration_Key_Fragment_StringKey); ok { return x.StringKey } return "" } type isScopedRouteConfiguration_Key_Fragment_Type interface { isScopedRouteConfiguration_Key_Fragment_Type() } type ScopedRouteConfiguration_Key_Fragment_StringKey struct { // A string to match against. StringKey string `protobuf:"bytes,1,opt,name=string_key,json=stringKey,proto3,oneof"` } func (*ScopedRouteConfiguration_Key_Fragment_StringKey) isScopedRouteConfiguration_Key_Fragment_Type() { } var File_envoy_config_route_v3_scoped_route_proto protoreflect.FileDescriptor var file_envoy_config_route_v3_scoped_route_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x05, 0x0a, 0x18, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x18, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0e, 0x12, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x70, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0e, 0x12, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x92, 0x02, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x73, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_route_v3_scoped_route_proto_rawDescOnce sync.Once file_envoy_config_route_v3_scoped_route_proto_rawDescData = file_envoy_config_route_v3_scoped_route_proto_rawDesc ) func file_envoy_config_route_v3_scoped_route_proto_rawDescGZIP() []byte { file_envoy_config_route_v3_scoped_route_proto_rawDescOnce.Do(func() { file_envoy_config_route_v3_scoped_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_route_v3_scoped_route_proto_rawDescData) }) return file_envoy_config_route_v3_scoped_route_proto_rawDescData } var file_envoy_config_route_v3_scoped_route_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_config_route_v3_scoped_route_proto_goTypes = []interface{}{ (*ScopedRouteConfiguration)(nil), // 0: envoy.config.route.v3.ScopedRouteConfiguration (*ScopedRouteConfiguration_Key)(nil), // 1: envoy.config.route.v3.ScopedRouteConfiguration.Key (*ScopedRouteConfiguration_Key_Fragment)(nil), // 2: envoy.config.route.v3.ScopedRouteConfiguration.Key.Fragment (*RouteConfiguration)(nil), // 3: envoy.config.route.v3.RouteConfiguration } var file_envoy_config_route_v3_scoped_route_proto_depIdxs = []int32{ 3, // 0: envoy.config.route.v3.ScopedRouteConfiguration.route_configuration:type_name -> envoy.config.route.v3.RouteConfiguration 1, // 1: envoy.config.route.v3.ScopedRouteConfiguration.key:type_name -> envoy.config.route.v3.ScopedRouteConfiguration.Key 2, // 2: envoy.config.route.v3.ScopedRouteConfiguration.Key.fragments:type_name -> envoy.config.route.v3.ScopedRouteConfiguration.Key.Fragment 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_route_v3_scoped_route_proto_init() } func file_envoy_config_route_v3_scoped_route_proto_init() { if File_envoy_config_route_v3_scoped_route_proto != nil { return } file_envoy_config_route_v3_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_config_route_v3_scoped_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_scoped_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration_Key); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_route_v3_scoped_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfiguration_Key_Fragment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_route_v3_scoped_route_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ScopedRouteConfiguration_Key_Fragment_StringKey)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_route_v3_scoped_route_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_route_v3_scoped_route_proto_goTypes, DependencyIndexes: file_envoy_config_route_v3_scoped_route_proto_depIdxs, MessageInfos: file_envoy_config_route_v3_scoped_route_proto_msgTypes, }.Build() File_envoy_config_route_v3_scoped_route_proto = out.File file_envoy_config_route_v3_scoped_route_proto_rawDesc = nil file_envoy_config_route_v3_scoped_route_proto_goTypes = nil file_envoy_config_route_v3_scoped_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/route/v3/scoped_route.pb.validate.go000077500000000000000000000334631454502223200262720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/route/v3/scoped_route.proto package routev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ScopedRouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRouteConfigurationMultiError, or nil if none found. func (m *ScopedRouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for OnDemand if utf8.RuneCountInString(m.GetName()) < 1 { err := ScopedRouteConfigurationValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for RouteConfigurationName if all { switch v := interface{}(m.GetRouteConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "RouteConfiguration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "RouteConfiguration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfigurationValidationError{ field: "RouteConfiguration", reason: "embedded message failed validation", cause: err, } } } if m.GetKey() == nil { err := ScopedRouteConfigurationValidationError{ field: "Key", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfigurationValidationError{ field: "Key", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ScopedRouteConfigurationMultiError(errors) } return nil } // ScopedRouteConfigurationMultiError is an error wrapping multiple validation // errors returned by ScopedRouteConfiguration.ValidateAll() if the designated // constraints aren't met. type ScopedRouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfigurationMultiError) AllErrors() []error { return m } // ScopedRouteConfigurationValidationError is the validation error returned by // ScopedRouteConfiguration.Validate if the designated constraints aren't met. type ScopedRouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfigurationValidationError) ErrorName() string { return "ScopedRouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfigurationValidationError{} // Validate checks the field values on ScopedRouteConfiguration_Key with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfiguration_Key) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration_Key with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRouteConfiguration_KeyMultiError, or nil if none found. func (m *ScopedRouteConfiguration_Key) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration_Key) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFragments()) < 1 { err := ScopedRouteConfiguration_KeyValidationError{ field: "Fragments", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFragments() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfiguration_KeyValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRouteConfiguration_KeyMultiError(errors) } return nil } // ScopedRouteConfiguration_KeyMultiError is an error wrapping multiple // validation errors returned by ScopedRouteConfiguration_Key.ValidateAll() if // the designated constraints aren't met. type ScopedRouteConfiguration_KeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfiguration_KeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfiguration_KeyMultiError) AllErrors() []error { return m } // ScopedRouteConfiguration_KeyValidationError is the validation error returned // by ScopedRouteConfiguration_Key.Validate if the designated constraints // aren't met. type ScopedRouteConfiguration_KeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfiguration_KeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfiguration_KeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfiguration_KeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfiguration_KeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfiguration_KeyValidationError) ErrorName() string { return "ScopedRouteConfiguration_KeyValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfiguration_KeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration_Key.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfiguration_KeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfiguration_KeyValidationError{} // Validate checks the field values on ScopedRouteConfiguration_Key_Fragment // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ScopedRouteConfiguration_Key_Fragment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfiguration_Key_Fragment // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ScopedRouteConfiguration_Key_FragmentMultiError, or nil if none found. func (m *ScopedRouteConfiguration_Key_Fragment) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfiguration_Key_Fragment) validate(all bool) error { if m == nil { return nil } var errors []error oneofTypePresent := false switch v := m.Type.(type) { case *ScopedRouteConfiguration_Key_Fragment_StringKey: if v == nil { err := ScopedRouteConfiguration_Key_FragmentValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true // no validation rules for StringKey default: _ = v // ensures v is used } if !oneofTypePresent { err := ScopedRouteConfiguration_Key_FragmentValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRouteConfiguration_Key_FragmentMultiError(errors) } return nil } // ScopedRouteConfiguration_Key_FragmentMultiError is an error wrapping // multiple validation errors returned by // ScopedRouteConfiguration_Key_Fragment.ValidateAll() if the designated // constraints aren't met. type ScopedRouteConfiguration_Key_FragmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfiguration_Key_FragmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfiguration_Key_FragmentMultiError) AllErrors() []error { return m } // ScopedRouteConfiguration_Key_FragmentValidationError is the validation error // returned by ScopedRouteConfiguration_Key_Fragment.Validate if the // designated constraints aren't met. type ScopedRouteConfiguration_Key_FragmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfiguration_Key_FragmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfiguration_Key_FragmentValidationError) ErrorName() string { return "ScopedRouteConfiguration_Key_FragmentValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfiguration_Key_FragmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfiguration_Key_Fragment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfiguration_Key_FragmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfiguration_Key_FragmentValidationError{} go-control-plane-0.12.0/envoy/config/tap/000077500000000000000000000000001454502223200201425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/tap/v3/000077500000000000000000000000001454502223200204725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/tap/v3/common.pb.go000077500000000000000000002173551454502223200227310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/tap/v3/common.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Output format. All output is in the form of one or more :ref:`TraceWrapper // ` messages. This enumeration indicates // how those messages are written. Note that not all sinks support all output formats. See // individual sink documentation for more information. type OutputSink_Format int32 const ( // Each message will be written as JSON. Any :ref:`body ` // data will be present in the :ref:`as_bytes // ` field. This means that body data will be // base64 encoded as per the `proto3 JSON mappings // `_. OutputSink_JSON_BODY_AS_BYTES OutputSink_Format = 0 // Each message will be written as JSON. Any :ref:`body ` // data will be present in the :ref:`as_string // ` field. This means that body data will be // string encoded as per the `proto3 JSON mappings // `_. This format type is // useful when it is known that that body is human readable (e.g., JSON over HTTP) and the // user wishes to view it directly without being forced to base64 decode the body. OutputSink_JSON_BODY_AS_STRING OutputSink_Format = 1 // Binary proto format. Note that binary proto is not self-delimiting. If a sink writes // multiple binary messages without any length information the data stream will not be // useful. However, for certain sinks that are self-delimiting (e.g., one message per file) // this output format makes consumption simpler. OutputSink_PROTO_BINARY OutputSink_Format = 2 // Messages are written as a sequence tuples, where each tuple is the message length encoded // as a `protobuf 32-bit varint // `_ // followed by the binary message. The messages can be read back using the language specific // protobuf coded stream implementation to obtain the message length and the message. OutputSink_PROTO_BINARY_LENGTH_DELIMITED OutputSink_Format = 3 // Text proto format. OutputSink_PROTO_TEXT OutputSink_Format = 4 ) // Enum value maps for OutputSink_Format. var ( OutputSink_Format_name = map[int32]string{ 0: "JSON_BODY_AS_BYTES", 1: "JSON_BODY_AS_STRING", 2: "PROTO_BINARY", 3: "PROTO_BINARY_LENGTH_DELIMITED", 4: "PROTO_TEXT", } OutputSink_Format_value = map[string]int32{ "JSON_BODY_AS_BYTES": 0, "JSON_BODY_AS_STRING": 1, "PROTO_BINARY": 2, "PROTO_BINARY_LENGTH_DELIMITED": 3, "PROTO_TEXT": 4, } ) func (x OutputSink_Format) Enum() *OutputSink_Format { p := new(OutputSink_Format) *p = x return p } func (x OutputSink_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OutputSink_Format) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_tap_v3_common_proto_enumTypes[0].Descriptor() } func (OutputSink_Format) Type() protoreflect.EnumType { return &file_envoy_config_tap_v3_common_proto_enumTypes[0] } func (x OutputSink_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OutputSink_Format.Descriptor instead. func (OutputSink_Format) EnumDescriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{5, 0} } // Tap configuration. type TapConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The match configuration. If the configuration matches the data source being tapped, a tap will // occur, with the result written to the configured output. // Exactly one of :ref:`match ` and // :ref:`match_config ` must be set. If both // are set, the :ref:`match ` will be used. // // Deprecated: Marked as deprecated in envoy/config/tap/v3/common.proto. MatchConfig *MatchPredicate `protobuf:"bytes,1,opt,name=match_config,json=matchConfig,proto3" json:"match_config,omitempty"` // The match configuration. If the configuration matches the data source being tapped, a tap will // occur, with the result written to the configured output. // Exactly one of :ref:`match ` and // :ref:`match_config ` must be set. If both // are set, the :ref:`match ` will be used. Match *v3.MatchPredicate `protobuf:"bytes,4,opt,name=match,proto3" json:"match,omitempty"` // The tap output configuration. If a match configuration matches a data source being tapped, // a tap will occur and the data will be written to the configured output. OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` // [#not-implemented-hide:] Specify if Tap matching is enabled. The % of requests\connections for // which the tap matching is enabled. When not enabled, the request\connection will not be // recorded. // // .. note:: // // This field defaults to 100/:ref:`HUNDRED // `. TapEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,3,opt,name=tap_enabled,json=tapEnabled,proto3" json:"tap_enabled,omitempty"` } func (x *TapConfig) Reset() { *x = TapConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TapConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapConfig) ProtoMessage() {} func (x *TapConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TapConfig.ProtoReflect.Descriptor instead. func (*TapConfig) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/config/tap/v3/common.proto. func (x *TapConfig) GetMatchConfig() *MatchPredicate { if x != nil { return x.MatchConfig } return nil } func (x *TapConfig) GetMatch() *v3.MatchPredicate { if x != nil { return x.Match } return nil } func (x *TapConfig) GetOutputConfig() *OutputConfig { if x != nil { return x.OutputConfig } return nil } func (x *TapConfig) GetTapEnabled() *v31.RuntimeFractionalPercent { if x != nil { return x.TapEnabled } return nil } // Tap match configuration. This is a recursive structure which allows complex nested match // configurations to be built using various logical operators. // [#next-free-field: 11] type MatchPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *MatchPredicate_OrMatch // *MatchPredicate_AndMatch // *MatchPredicate_NotMatch // *MatchPredicate_AnyMatch // *MatchPredicate_HttpRequestHeadersMatch // *MatchPredicate_HttpRequestTrailersMatch // *MatchPredicate_HttpResponseHeadersMatch // *MatchPredicate_HttpResponseTrailersMatch // *MatchPredicate_HttpRequestGenericBodyMatch // *MatchPredicate_HttpResponseGenericBodyMatch Rule isMatchPredicate_Rule `protobuf_oneof:"rule"` } func (x *MatchPredicate) Reset() { *x = MatchPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate) ProtoMessage() {} func (x *MatchPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate.ProtoReflect.Descriptor instead. func (*MatchPredicate) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{1} } func (m *MatchPredicate) GetRule() isMatchPredicate_Rule { if m != nil { return m.Rule } return nil } func (x *MatchPredicate) GetOrMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_OrMatch); ok { return x.OrMatch } return nil } func (x *MatchPredicate) GetAndMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_AndMatch); ok { return x.AndMatch } return nil } func (x *MatchPredicate) GetNotMatch() *MatchPredicate { if x, ok := x.GetRule().(*MatchPredicate_NotMatch); ok { return x.NotMatch } return nil } func (x *MatchPredicate) GetAnyMatch() bool { if x, ok := x.GetRule().(*MatchPredicate_AnyMatch); ok { return x.AnyMatch } return false } func (x *MatchPredicate) GetHttpRequestHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestHeadersMatch); ok { return x.HttpRequestHeadersMatch } return nil } func (x *MatchPredicate) GetHttpRequestTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestTrailersMatch); ok { return x.HttpRequestTrailersMatch } return nil } func (x *MatchPredicate) GetHttpResponseHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseHeadersMatch); ok { return x.HttpResponseHeadersMatch } return nil } func (x *MatchPredicate) GetHttpResponseTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseTrailersMatch); ok { return x.HttpResponseTrailersMatch } return nil } func (x *MatchPredicate) GetHttpRequestGenericBodyMatch() *HttpGenericBodyMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestGenericBodyMatch); ok { return x.HttpRequestGenericBodyMatch } return nil } func (x *MatchPredicate) GetHttpResponseGenericBodyMatch() *HttpGenericBodyMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseGenericBodyMatch); ok { return x.HttpResponseGenericBodyMatch } return nil } type isMatchPredicate_Rule interface { isMatchPredicate_Rule() } type MatchPredicate_OrMatch struct { // A set that describes a logical OR. If any member of the set matches, the match configuration // matches. OrMatch *MatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` } type MatchPredicate_AndMatch struct { // A set that describes a logical AND. If all members of the set match, the match configuration // matches. AndMatch *MatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` } type MatchPredicate_NotMatch struct { // A negation match. The match configuration will match if the negated match condition matches. NotMatch *MatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` } type MatchPredicate_AnyMatch struct { // The match configuration will always match. AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` } type MatchPredicate_HttpRequestHeadersMatch struct { // HTTP request headers match configuration. HttpRequestHeadersMatch *HttpHeadersMatch `protobuf:"bytes,5,opt,name=http_request_headers_match,json=httpRequestHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpRequestTrailersMatch struct { // HTTP request trailers match configuration. HttpRequestTrailersMatch *HttpHeadersMatch `protobuf:"bytes,6,opt,name=http_request_trailers_match,json=httpRequestTrailersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseHeadersMatch struct { // HTTP response headers match configuration. HttpResponseHeadersMatch *HttpHeadersMatch `protobuf:"bytes,7,opt,name=http_response_headers_match,json=httpResponseHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseTrailersMatch struct { // HTTP response trailers match configuration. HttpResponseTrailersMatch *HttpHeadersMatch `protobuf:"bytes,8,opt,name=http_response_trailers_match,json=httpResponseTrailersMatch,proto3,oneof"` } type MatchPredicate_HttpRequestGenericBodyMatch struct { // HTTP request generic body match configuration. HttpRequestGenericBodyMatch *HttpGenericBodyMatch `protobuf:"bytes,9,opt,name=http_request_generic_body_match,json=httpRequestGenericBodyMatch,proto3,oneof"` } type MatchPredicate_HttpResponseGenericBodyMatch struct { // HTTP response generic body match configuration. HttpResponseGenericBodyMatch *HttpGenericBodyMatch `protobuf:"bytes,10,opt,name=http_response_generic_body_match,json=httpResponseGenericBodyMatch,proto3,oneof"` } func (*MatchPredicate_OrMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AndMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_NotMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AnyMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestTrailersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseTrailersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestGenericBodyMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseGenericBodyMatch) isMatchPredicate_Rule() {} // HTTP headers match configuration. type HttpHeadersMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP headers to match. Headers []*v32.HeaderMatcher `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HttpHeadersMatch) Reset() { *x = HttpHeadersMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpHeadersMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpHeadersMatch) ProtoMessage() {} func (x *HttpHeadersMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpHeadersMatch.ProtoReflect.Descriptor instead. func (*HttpHeadersMatch) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{2} } func (x *HttpHeadersMatch) GetHeaders() []*v32.HeaderMatcher { if x != nil { return x.Headers } return nil } // HTTP generic body match configuration. // List of text strings and hex strings to be located in HTTP body. // All specified strings must be found in the HTTP body for positive match. // The search may be limited to specified number of bytes from the body start. // // .. attention:: // // Searching for patterns in HTTP body is potentially cpu intensive. For each specified pattern, http body is scanned byte by byte to find a match. // If multiple patterns are specified, the process is repeated for each pattern. If location of a pattern is known, ``bytes_limit`` should be specified // to scan only part of the http body. type HttpGenericBodyMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Limits search to specified number of bytes - default zero (no limit - match entire captured buffer). BytesLimit uint32 `protobuf:"varint,1,opt,name=bytes_limit,json=bytesLimit,proto3" json:"bytes_limit,omitempty"` // List of patterns to match. Patterns []*HttpGenericBodyMatch_GenericTextMatch `protobuf:"bytes,2,rep,name=patterns,proto3" json:"patterns,omitempty"` } func (x *HttpGenericBodyMatch) Reset() { *x = HttpGenericBodyMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGenericBodyMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGenericBodyMatch) ProtoMessage() {} func (x *HttpGenericBodyMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGenericBodyMatch.ProtoReflect.Descriptor instead. func (*HttpGenericBodyMatch) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{3} } func (x *HttpGenericBodyMatch) GetBytesLimit() uint32 { if x != nil { return x.BytesLimit } return 0 } func (x *HttpGenericBodyMatch) GetPatterns() []*HttpGenericBodyMatch_GenericTextMatch { if x != nil { return x.Patterns } return nil } // Tap output configuration. type OutputConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Output sinks for tap data. Currently a single sink is allowed in the list. Once multiple // sink types are supported this constraint will be relaxed. Sinks []*OutputSink `protobuf:"bytes,1,rep,name=sinks,proto3" json:"sinks,omitempty"` // For buffered tapping, the maximum amount of received body that will be buffered prior to // truncation. If truncation occurs, the :ref:`truncated // ` field will be set. If not specified, the // default is 1KiB. MaxBufferedRxBytes *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_buffered_rx_bytes,json=maxBufferedRxBytes,proto3" json:"max_buffered_rx_bytes,omitempty"` // For buffered tapping, the maximum amount of transmitted body that will be buffered prior to // truncation. If truncation occurs, the :ref:`truncated // ` field will be set. If not specified, the // default is 1KiB. MaxBufferedTxBytes *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_buffered_tx_bytes,json=maxBufferedTxBytes,proto3" json:"max_buffered_tx_bytes,omitempty"` // Indicates whether taps produce a single buffered message per tap, or multiple streamed // messages per tap in the emitted :ref:`TraceWrapper // ` messages. Note that streamed tapping does not // mean that no buffering takes place. Buffering may be required if data is processed before a // match can be determined. See the HTTP tap filter :ref:`streaming // ` documentation for more information. Streaming bool `protobuf:"varint,4,opt,name=streaming,proto3" json:"streaming,omitempty"` } func (x *OutputConfig) Reset() { *x = OutputConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutputConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutputConfig) ProtoMessage() {} func (x *OutputConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. func (*OutputConfig) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{4} } func (x *OutputConfig) GetSinks() []*OutputSink { if x != nil { return x.Sinks } return nil } func (x *OutputConfig) GetMaxBufferedRxBytes() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedRxBytes } return nil } func (x *OutputConfig) GetMaxBufferedTxBytes() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedTxBytes } return nil } func (x *OutputConfig) GetStreaming() bool { if x != nil { return x.Streaming } return false } // Tap output sink configuration. // [#next-free-field: 7] type OutputSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sink output format. Format OutputSink_Format `protobuf:"varint,1,opt,name=format,proto3,enum=envoy.config.tap.v3.OutputSink_Format" json:"format,omitempty"` // Types that are assignable to OutputSinkType: // // *OutputSink_StreamingAdmin // *OutputSink_FilePerTap // *OutputSink_StreamingGrpc // *OutputSink_BufferedAdmin // *OutputSink_CustomSink OutputSinkType isOutputSink_OutputSinkType `protobuf_oneof:"output_sink_type"` } func (x *OutputSink) Reset() { *x = OutputSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutputSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutputSink) ProtoMessage() {} func (x *OutputSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutputSink.ProtoReflect.Descriptor instead. func (*OutputSink) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{5} } func (x *OutputSink) GetFormat() OutputSink_Format { if x != nil { return x.Format } return OutputSink_JSON_BODY_AS_BYTES } func (m *OutputSink) GetOutputSinkType() isOutputSink_OutputSinkType { if m != nil { return m.OutputSinkType } return nil } func (x *OutputSink) GetStreamingAdmin() *StreamingAdminSink { if x, ok := x.GetOutputSinkType().(*OutputSink_StreamingAdmin); ok { return x.StreamingAdmin } return nil } func (x *OutputSink) GetFilePerTap() *FilePerTapSink { if x, ok := x.GetOutputSinkType().(*OutputSink_FilePerTap); ok { return x.FilePerTap } return nil } func (x *OutputSink) GetStreamingGrpc() *StreamingGrpcSink { if x, ok := x.GetOutputSinkType().(*OutputSink_StreamingGrpc); ok { return x.StreamingGrpc } return nil } func (x *OutputSink) GetBufferedAdmin() *BufferedAdminSink { if x, ok := x.GetOutputSinkType().(*OutputSink_BufferedAdmin); ok { return x.BufferedAdmin } return nil } func (x *OutputSink) GetCustomSink() *v31.TypedExtensionConfig { if x, ok := x.GetOutputSinkType().(*OutputSink_CustomSink); ok { return x.CustomSink } return nil } type isOutputSink_OutputSinkType interface { isOutputSink_OutputSinkType() } type OutputSink_StreamingAdmin struct { // Tap output will be streamed out the :http:post:`/tap` admin endpoint. // // .. attention:: // // It is only allowed to specify the streaming admin output sink if the tap is being // configured from the :http:post:`/tap` admin endpoint. Thus, if an extension has // been configured to receive tap configuration from some other source (e.g., static // file, XDS, etc.) configuring the streaming admin output type will fail. StreamingAdmin *StreamingAdminSink `protobuf:"bytes,2,opt,name=streaming_admin,json=streamingAdmin,proto3,oneof"` } type OutputSink_FilePerTap struct { // Tap output will be written to a file per tap sink. FilePerTap *FilePerTapSink `protobuf:"bytes,3,opt,name=file_per_tap,json=filePerTap,proto3,oneof"` } type OutputSink_StreamingGrpc struct { // [#not-implemented-hide:] // GrpcService to stream data to. The format argument must be PROTO_BINARY. // [#comment: TODO(samflattery): remove cleanup in uber_per_filter.cc once implemented] StreamingGrpc *StreamingGrpcSink `protobuf:"bytes,4,opt,name=streaming_grpc,json=streamingGrpc,proto3,oneof"` } type OutputSink_BufferedAdmin struct { // Tap output will be buffered in a single block before flushing to the :http:post:`/tap` admin endpoint // // .. attention:: // // It is only allowed to specify the buffered admin output sink if the tap is being // configured from the :http:post:`/tap` admin endpoint. Thus, if an extension has // been configured to receive tap configuration from some other source (e.g., static // file, XDS, etc.) configuring the buffered admin output type will fail. BufferedAdmin *BufferedAdminSink `protobuf:"bytes,5,opt,name=buffered_admin,json=bufferedAdmin,proto3,oneof"` } type OutputSink_CustomSink struct { // Tap output filter will be defined by an extension type CustomSink *v31.TypedExtensionConfig `protobuf:"bytes,6,opt,name=custom_sink,json=customSink,proto3,oneof"` } func (*OutputSink_StreamingAdmin) isOutputSink_OutputSinkType() {} func (*OutputSink_FilePerTap) isOutputSink_OutputSinkType() {} func (*OutputSink_StreamingGrpc) isOutputSink_OutputSinkType() {} func (*OutputSink_BufferedAdmin) isOutputSink_OutputSinkType() {} func (*OutputSink_CustomSink) isOutputSink_OutputSinkType() {} // Streaming admin sink configuration. type StreamingAdminSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingAdminSink) Reset() { *x = StreamingAdminSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingAdminSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingAdminSink) ProtoMessage() {} func (x *StreamingAdminSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamingAdminSink.ProtoReflect.Descriptor instead. func (*StreamingAdminSink) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{6} } // BufferedAdminSink configures a tap output to collect traces without returning them until // one of multiple criteria are satisfied. // Similar to StreamingAdminSink, it is only allowed to specify the buffered admin output // sink if the tap is being configured from the “/tap“ admin endpoint. type BufferedAdminSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Stop collecting traces when the specified number are collected. // If other criteria for ending collection are reached first, this value will not be used. MaxTraces uint64 `protobuf:"varint,1,opt,name=max_traces,json=maxTraces,proto3" json:"max_traces,omitempty"` // Acts as a fallback to prevent the client from waiting for long periods of time. // After timeout has occurred, a buffer flush will be triggered, returning the traces buffered so far. // This may result in returning fewer traces than were requested, and in the case that no traces are // buffered during this time, no traces will be returned. // Specifying 0 for the timeout value (or not specifying a value at all) indicates an infinite timeout. Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *BufferedAdminSink) Reset() { *x = BufferedAdminSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferedAdminSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferedAdminSink) ProtoMessage() {} func (x *BufferedAdminSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferedAdminSink.ProtoReflect.Descriptor instead. func (*BufferedAdminSink) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{7} } func (x *BufferedAdminSink) GetMaxTraces() uint64 { if x != nil { return x.MaxTraces } return 0 } func (x *BufferedAdminSink) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } // The file per tap sink outputs a discrete file for every tapped stream. type FilePerTapSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Path prefix. The output file will be of the form _.pb, where is an // identifier distinguishing the recorded trace for stream instances (the Envoy // connection ID, HTTP stream ID, etc.). PathPrefix string `protobuf:"bytes,1,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` } func (x *FilePerTapSink) Reset() { *x = FilePerTapSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilePerTapSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilePerTapSink) ProtoMessage() {} func (x *FilePerTapSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilePerTapSink.ProtoReflect.Descriptor instead. func (*FilePerTapSink) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{8} } func (x *FilePerTapSink) GetPathPrefix() string { if x != nil { return x.PathPrefix } return "" } // [#not-implemented-hide:] Streaming gRPC sink configuration sends the taps to an external gRPC // server. type StreamingGrpcSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Opaque identifier, that will be sent back to the streaming grpc server. TapId string `protobuf:"bytes,1,opt,name=tap_id,json=tapId,proto3" json:"tap_id,omitempty"` // The gRPC server that hosts the Tap Sink Service. GrpcService *v31.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *StreamingGrpcSink) Reset() { *x = StreamingGrpcSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingGrpcSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingGrpcSink) ProtoMessage() {} func (x *StreamingGrpcSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamingGrpcSink.ProtoReflect.Descriptor instead. func (*StreamingGrpcSink) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{9} } func (x *StreamingGrpcSink) GetTapId() string { if x != nil { return x.TapId } return "" } func (x *StreamingGrpcSink) GetGrpcService() *v31.GrpcService { if x != nil { return x.GrpcService } return nil } // A set of match configurations used for logical operations. type MatchPredicate_MatchSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules that make up the set. Rules []*MatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *MatchPredicate_MatchSet) Reset() { *x = MatchPredicate_MatchSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate_MatchSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate_MatchSet) ProtoMessage() {} func (x *MatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate_MatchSet.ProtoReflect.Descriptor instead. func (*MatchPredicate_MatchSet) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{1, 0} } func (x *MatchPredicate_MatchSet) GetRules() []*MatchPredicate { if x != nil { return x.Rules } return nil } type HttpGenericBodyMatch_GenericTextMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *HttpGenericBodyMatch_GenericTextMatch_StringMatch // *HttpGenericBodyMatch_GenericTextMatch_BinaryMatch Rule isHttpGenericBodyMatch_GenericTextMatch_Rule `protobuf_oneof:"rule"` } func (x *HttpGenericBodyMatch_GenericTextMatch) Reset() { *x = HttpGenericBodyMatch_GenericTextMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGenericBodyMatch_GenericTextMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGenericBodyMatch_GenericTextMatch) ProtoMessage() {} func (x *HttpGenericBodyMatch_GenericTextMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_tap_v3_common_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGenericBodyMatch_GenericTextMatch.ProtoReflect.Descriptor instead. func (*HttpGenericBodyMatch_GenericTextMatch) Descriptor() ([]byte, []int) { return file_envoy_config_tap_v3_common_proto_rawDescGZIP(), []int{3, 0} } func (m *HttpGenericBodyMatch_GenericTextMatch) GetRule() isHttpGenericBodyMatch_GenericTextMatch_Rule { if m != nil { return m.Rule } return nil } func (x *HttpGenericBodyMatch_GenericTextMatch) GetStringMatch() string { if x, ok := x.GetRule().(*HttpGenericBodyMatch_GenericTextMatch_StringMatch); ok { return x.StringMatch } return "" } func (x *HttpGenericBodyMatch_GenericTextMatch) GetBinaryMatch() []byte { if x, ok := x.GetRule().(*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch); ok { return x.BinaryMatch } return nil } type isHttpGenericBodyMatch_GenericTextMatch_Rule interface { isHttpGenericBodyMatch_GenericTextMatch_Rule() } type HttpGenericBodyMatch_GenericTextMatch_StringMatch struct { // Text string to be located in HTTP body. StringMatch string `protobuf:"bytes,1,opt,name=string_match,json=stringMatch,proto3,oneof"` } type HttpGenericBodyMatch_GenericTextMatch_BinaryMatch struct { // Sequence of bytes to be located in HTTP body. BinaryMatch []byte `protobuf:"bytes,2,opt,name=binary_match,json=binaryMatch,proto3,oneof"` } func (*HttpGenericBodyMatch_GenericTextMatch_StringMatch) isHttpGenericBodyMatch_GenericTextMatch_Rule() { } func (*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch) isHttpGenericBodyMatch_GenericTextMatch_Rule() { } var File_envoy_config_tap_v3_common_proto protoreflect.FileDescriptor var file_envoy_config_tap_v3_common_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x74, 0x61, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe6, 0x08, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4b, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x64, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x66, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x66, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x68, 0x0a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x19, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x71, 0x0a, 0x1f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x73, 0x0a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x89, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x96, 0x02, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x60, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x1a, 0x7b, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xc0, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x10, 0x01, 0x52, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xaa, 0x05, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x48, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x12, 0x4f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x12, 0x4f, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0x7e, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x5f, 0x41, 0x53, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x5f, 0x41, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x04, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x17, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0x70, 0x0a, 0x11, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x6b, 0x0a, 0x0e, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xae, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x70, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x7c, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_tap_v3_common_proto_rawDescOnce sync.Once file_envoy_config_tap_v3_common_proto_rawDescData = file_envoy_config_tap_v3_common_proto_rawDesc ) func file_envoy_config_tap_v3_common_proto_rawDescGZIP() []byte { file_envoy_config_tap_v3_common_proto_rawDescOnce.Do(func() { file_envoy_config_tap_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_tap_v3_common_proto_rawDescData) }) return file_envoy_config_tap_v3_common_proto_rawDescData } var file_envoy_config_tap_v3_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_tap_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_envoy_config_tap_v3_common_proto_goTypes = []interface{}{ (OutputSink_Format)(0), // 0: envoy.config.tap.v3.OutputSink.Format (*TapConfig)(nil), // 1: envoy.config.tap.v3.TapConfig (*MatchPredicate)(nil), // 2: envoy.config.tap.v3.MatchPredicate (*HttpHeadersMatch)(nil), // 3: envoy.config.tap.v3.HttpHeadersMatch (*HttpGenericBodyMatch)(nil), // 4: envoy.config.tap.v3.HttpGenericBodyMatch (*OutputConfig)(nil), // 5: envoy.config.tap.v3.OutputConfig (*OutputSink)(nil), // 6: envoy.config.tap.v3.OutputSink (*StreamingAdminSink)(nil), // 7: envoy.config.tap.v3.StreamingAdminSink (*BufferedAdminSink)(nil), // 8: envoy.config.tap.v3.BufferedAdminSink (*FilePerTapSink)(nil), // 9: envoy.config.tap.v3.FilePerTapSink (*StreamingGrpcSink)(nil), // 10: envoy.config.tap.v3.StreamingGrpcSink (*MatchPredicate_MatchSet)(nil), // 11: envoy.config.tap.v3.MatchPredicate.MatchSet (*HttpGenericBodyMatch_GenericTextMatch)(nil), // 12: envoy.config.tap.v3.HttpGenericBodyMatch.GenericTextMatch (*v3.MatchPredicate)(nil), // 13: envoy.config.common.matcher.v3.MatchPredicate (*v31.RuntimeFractionalPercent)(nil), // 14: envoy.config.core.v3.RuntimeFractionalPercent (*v32.HeaderMatcher)(nil), // 15: envoy.config.route.v3.HeaderMatcher (*wrappers.UInt32Value)(nil), // 16: google.protobuf.UInt32Value (*v31.TypedExtensionConfig)(nil), // 17: envoy.config.core.v3.TypedExtensionConfig (*duration.Duration)(nil), // 18: google.protobuf.Duration (*v31.GrpcService)(nil), // 19: envoy.config.core.v3.GrpcService } var file_envoy_config_tap_v3_common_proto_depIdxs = []int32{ 2, // 0: envoy.config.tap.v3.TapConfig.match_config:type_name -> envoy.config.tap.v3.MatchPredicate 13, // 1: envoy.config.tap.v3.TapConfig.match:type_name -> envoy.config.common.matcher.v3.MatchPredicate 5, // 2: envoy.config.tap.v3.TapConfig.output_config:type_name -> envoy.config.tap.v3.OutputConfig 14, // 3: envoy.config.tap.v3.TapConfig.tap_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 11, // 4: envoy.config.tap.v3.MatchPredicate.or_match:type_name -> envoy.config.tap.v3.MatchPredicate.MatchSet 11, // 5: envoy.config.tap.v3.MatchPredicate.and_match:type_name -> envoy.config.tap.v3.MatchPredicate.MatchSet 2, // 6: envoy.config.tap.v3.MatchPredicate.not_match:type_name -> envoy.config.tap.v3.MatchPredicate 3, // 7: envoy.config.tap.v3.MatchPredicate.http_request_headers_match:type_name -> envoy.config.tap.v3.HttpHeadersMatch 3, // 8: envoy.config.tap.v3.MatchPredicate.http_request_trailers_match:type_name -> envoy.config.tap.v3.HttpHeadersMatch 3, // 9: envoy.config.tap.v3.MatchPredicate.http_response_headers_match:type_name -> envoy.config.tap.v3.HttpHeadersMatch 3, // 10: envoy.config.tap.v3.MatchPredicate.http_response_trailers_match:type_name -> envoy.config.tap.v3.HttpHeadersMatch 4, // 11: envoy.config.tap.v3.MatchPredicate.http_request_generic_body_match:type_name -> envoy.config.tap.v3.HttpGenericBodyMatch 4, // 12: envoy.config.tap.v3.MatchPredicate.http_response_generic_body_match:type_name -> envoy.config.tap.v3.HttpGenericBodyMatch 15, // 13: envoy.config.tap.v3.HttpHeadersMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 12, // 14: envoy.config.tap.v3.HttpGenericBodyMatch.patterns:type_name -> envoy.config.tap.v3.HttpGenericBodyMatch.GenericTextMatch 6, // 15: envoy.config.tap.v3.OutputConfig.sinks:type_name -> envoy.config.tap.v3.OutputSink 16, // 16: envoy.config.tap.v3.OutputConfig.max_buffered_rx_bytes:type_name -> google.protobuf.UInt32Value 16, // 17: envoy.config.tap.v3.OutputConfig.max_buffered_tx_bytes:type_name -> google.protobuf.UInt32Value 0, // 18: envoy.config.tap.v3.OutputSink.format:type_name -> envoy.config.tap.v3.OutputSink.Format 7, // 19: envoy.config.tap.v3.OutputSink.streaming_admin:type_name -> envoy.config.tap.v3.StreamingAdminSink 9, // 20: envoy.config.tap.v3.OutputSink.file_per_tap:type_name -> envoy.config.tap.v3.FilePerTapSink 10, // 21: envoy.config.tap.v3.OutputSink.streaming_grpc:type_name -> envoy.config.tap.v3.StreamingGrpcSink 8, // 22: envoy.config.tap.v3.OutputSink.buffered_admin:type_name -> envoy.config.tap.v3.BufferedAdminSink 17, // 23: envoy.config.tap.v3.OutputSink.custom_sink:type_name -> envoy.config.core.v3.TypedExtensionConfig 18, // 24: envoy.config.tap.v3.BufferedAdminSink.timeout:type_name -> google.protobuf.Duration 19, // 25: envoy.config.tap.v3.StreamingGrpcSink.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 26: envoy.config.tap.v3.MatchPredicate.MatchSet.rules:type_name -> envoy.config.tap.v3.MatchPredicate 27, // [27:27] is the sub-list for method output_type 27, // [27:27] is the sub-list for method input_type 27, // [27:27] is the sub-list for extension type_name 27, // [27:27] is the sub-list for extension extendee 0, // [0:27] is the sub-list for field type_name } func init() { file_envoy_config_tap_v3_common_proto_init() } func file_envoy_config_tap_v3_common_proto_init() { if File_envoy_config_tap_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_tap_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TapConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeadersMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGenericBodyMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutputConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutputSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingAdminSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferedAdminSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilePerTapSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingGrpcSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate_MatchSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_tap_v3_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGenericBodyMatch_GenericTextMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_tap_v3_common_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MatchPredicate_OrMatch)(nil), (*MatchPredicate_AndMatch)(nil), (*MatchPredicate_NotMatch)(nil), (*MatchPredicate_AnyMatch)(nil), (*MatchPredicate_HttpRequestHeadersMatch)(nil), (*MatchPredicate_HttpRequestTrailersMatch)(nil), (*MatchPredicate_HttpResponseHeadersMatch)(nil), (*MatchPredicate_HttpResponseTrailersMatch)(nil), (*MatchPredicate_HttpRequestGenericBodyMatch)(nil), (*MatchPredicate_HttpResponseGenericBodyMatch)(nil), } file_envoy_config_tap_v3_common_proto_msgTypes[5].OneofWrappers = []interface{}{ (*OutputSink_StreamingAdmin)(nil), (*OutputSink_FilePerTap)(nil), (*OutputSink_StreamingGrpc)(nil), (*OutputSink_BufferedAdmin)(nil), (*OutputSink_CustomSink)(nil), } file_envoy_config_tap_v3_common_proto_msgTypes[11].OneofWrappers = []interface{}{ (*HttpGenericBodyMatch_GenericTextMatch_StringMatch)(nil), (*HttpGenericBodyMatch_GenericTextMatch_BinaryMatch)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_tap_v3_common_proto_rawDesc, NumEnums: 1, NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_tap_v3_common_proto_goTypes, DependencyIndexes: file_envoy_config_tap_v3_common_proto_depIdxs, EnumInfos: file_envoy_config_tap_v3_common_proto_enumTypes, MessageInfos: file_envoy_config_tap_v3_common_proto_msgTypes, }.Build() File_envoy_config_tap_v3_common_proto = out.File file_envoy_config_tap_v3_common_proto_rawDesc = nil file_envoy_config_tap_v3_common_proto_goTypes = nil file_envoy_config_tap_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/tap/v3/common.pb.validate.go000077500000000000000000002002541454502223200245070ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/tap/v3/common.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TapConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TapConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TapConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TapConfigMultiError, or nil // if none found. func (m *TapConfig) ValidateAll() error { return m.validate(true) } func (m *TapConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMatchConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatchConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetOutputConfig() == nil { err := TapConfigValidationError{ field: "OutputConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOutputConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutputConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTapEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTapEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapConfigMultiError(errors) } return nil } // TapConfigMultiError is an error wrapping multiple validation errors returned // by TapConfig.ValidateAll() if the designated constraints aren't met. type TapConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapConfigMultiError) AllErrors() []error { return m } // TapConfigValidationError is the validation error returned by // TapConfig.Validate if the designated constraints aren't met. type TapConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapConfigValidationError) ErrorName() string { return "TapConfigValidationError" } // Error satisfies the builtin error interface func (e TapConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTapConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapConfigValidationError{} // Validate checks the field values on MatchPredicate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MatchPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MatchPredicateMultiError, // or nil if none found. func (m *MatchPredicate) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *MatchPredicate_OrMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AndMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_NotMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AnyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAnyMatch() != true { err := MatchPredicateValidationError{ field: "AnyMatch", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *MatchPredicate_HttpRequestHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpRequestTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpRequestGenericBodyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestGenericBodyMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestGenericBodyMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestGenericBodyMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseGenericBodyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseGenericBodyMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseGenericBodyMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseGenericBodyMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := MatchPredicateValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MatchPredicateMultiError(errors) } return nil } // MatchPredicateMultiError is an error wrapping multiple validation errors // returned by MatchPredicate.ValidateAll() if the designated constraints // aren't met. type MatchPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicateMultiError) AllErrors() []error { return m } // MatchPredicateValidationError is the validation error returned by // MatchPredicate.Validate if the designated constraints aren't met. type MatchPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicateValidationError) ErrorName() string { return "MatchPredicateValidationError" } // Error satisfies the builtin error interface func (e MatchPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicateValidationError{} // Validate checks the field values on HttpHeadersMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HttpHeadersMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpHeadersMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpHeadersMatchMultiError, or nil if none found. func (m *HttpHeadersMatch) ValidateAll() error { return m.validate(true) } func (m *HttpHeadersMatch) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpHeadersMatchMultiError(errors) } return nil } // HttpHeadersMatchMultiError is an error wrapping multiple validation errors // returned by HttpHeadersMatch.ValidateAll() if the designated constraints // aren't met. type HttpHeadersMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpHeadersMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpHeadersMatchMultiError) AllErrors() []error { return m } // HttpHeadersMatchValidationError is the validation error returned by // HttpHeadersMatch.Validate if the designated constraints aren't met. type HttpHeadersMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpHeadersMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpHeadersMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpHeadersMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpHeadersMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpHeadersMatchValidationError) ErrorName() string { return "HttpHeadersMatchValidationError" } // Error satisfies the builtin error interface func (e HttpHeadersMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpHeadersMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpHeadersMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpHeadersMatchValidationError{} // Validate checks the field values on HttpGenericBodyMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpGenericBodyMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGenericBodyMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpGenericBodyMatchMultiError, or nil if none found. func (m *HttpGenericBodyMatch) ValidateAll() error { return m.validate(true) } func (m *HttpGenericBodyMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BytesLimit if len(m.GetPatterns()) < 1 { err := HttpGenericBodyMatchValidationError{ field: "Patterns", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPatterns() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpGenericBodyMatchValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpGenericBodyMatchMultiError(errors) } return nil } // HttpGenericBodyMatchMultiError is an error wrapping multiple validation // errors returned by HttpGenericBodyMatch.ValidateAll() if the designated // constraints aren't met. type HttpGenericBodyMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGenericBodyMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGenericBodyMatchMultiError) AllErrors() []error { return m } // HttpGenericBodyMatchValidationError is the validation error returned by // HttpGenericBodyMatch.Validate if the designated constraints aren't met. type HttpGenericBodyMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGenericBodyMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGenericBodyMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGenericBodyMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGenericBodyMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGenericBodyMatchValidationError) ErrorName() string { return "HttpGenericBodyMatchValidationError" } // Error satisfies the builtin error interface func (e HttpGenericBodyMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGenericBodyMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGenericBodyMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGenericBodyMatchValidationError{} // Validate checks the field values on OutputConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OutputConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutputConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OutputConfigMultiError, or // nil if none found. func (m *OutputConfig) ValidateAll() error { return m.validate(true) } func (m *OutputConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetSinks()) != 1 { err := OutputConfigValidationError{ field: "Sinks", reason: "value must contain exactly 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetSinks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxBufferedRxBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedRxBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxBufferedTxBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedTxBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Streaming if len(errors) > 0 { return OutputConfigMultiError(errors) } return nil } // OutputConfigMultiError is an error wrapping multiple validation errors // returned by OutputConfig.ValidateAll() if the designated constraints aren't met. type OutputConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutputConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutputConfigMultiError) AllErrors() []error { return m } // OutputConfigValidationError is the validation error returned by // OutputConfig.Validate if the designated constraints aren't met. type OutputConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutputConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutputConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutputConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutputConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutputConfigValidationError) ErrorName() string { return "OutputConfigValidationError" } // Error satisfies the builtin error interface func (e OutputConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutputConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutputConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutputConfigValidationError{} // Validate checks the field values on OutputSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OutputSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutputSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OutputSinkMultiError, or // nil if none found. func (m *OutputSink) ValidateAll() error { return m.validate(true) } func (m *OutputSink) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := OutputSink_Format_name[int32(m.GetFormat())]; !ok { err := OutputSinkValidationError{ field: "Format", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent := false switch v := m.OutputSinkType.(type) { case *OutputSink_StreamingAdmin: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetStreamingAdmin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamingAdmin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_FilePerTap: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetFilePerTap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilePerTap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_StreamingGrpc: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetStreamingGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamingGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_BufferedAdmin: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetBufferedAdmin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "BufferedAdmin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "BufferedAdmin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferedAdmin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "BufferedAdmin", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_CustomSink: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetCustomSink()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "CustomSink", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "CustomSink", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomSink()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "CustomSink", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOutputSinkTypePresent { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutputSinkMultiError(errors) } return nil } // OutputSinkMultiError is an error wrapping multiple validation errors // returned by OutputSink.ValidateAll() if the designated constraints aren't met. type OutputSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutputSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutputSinkMultiError) AllErrors() []error { return m } // OutputSinkValidationError is the validation error returned by // OutputSink.Validate if the designated constraints aren't met. type OutputSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutputSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutputSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutputSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutputSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutputSinkValidationError) ErrorName() string { return "OutputSinkValidationError" } // Error satisfies the builtin error interface func (e OutputSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutputSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutputSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutputSinkValidationError{} // Validate checks the field values on StreamingAdminSink with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamingAdminSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamingAdminSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamingAdminSinkMultiError, or nil if none found. func (m *StreamingAdminSink) ValidateAll() error { return m.validate(true) } func (m *StreamingAdminSink) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamingAdminSinkMultiError(errors) } return nil } // StreamingAdminSinkMultiError is an error wrapping multiple validation errors // returned by StreamingAdminSink.ValidateAll() if the designated constraints // aren't met. type StreamingAdminSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamingAdminSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamingAdminSinkMultiError) AllErrors() []error { return m } // StreamingAdminSinkValidationError is the validation error returned by // StreamingAdminSink.Validate if the designated constraints aren't met. type StreamingAdminSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamingAdminSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamingAdminSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamingAdminSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamingAdminSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamingAdminSinkValidationError) ErrorName() string { return "StreamingAdminSinkValidationError" } // Error satisfies the builtin error interface func (e StreamingAdminSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamingAdminSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamingAdminSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamingAdminSinkValidationError{} // Validate checks the field values on BufferedAdminSink with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *BufferedAdminSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferedAdminSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BufferedAdminSinkMultiError, or nil if none found. func (m *BufferedAdminSink) ValidateAll() error { return m.validate(true) } func (m *BufferedAdminSink) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxTraces() <= 0 { err := BufferedAdminSinkValidationError{ field: "MaxTraces", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferedAdminSinkValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferedAdminSinkValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferedAdminSinkValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BufferedAdminSinkMultiError(errors) } return nil } // BufferedAdminSinkMultiError is an error wrapping multiple validation errors // returned by BufferedAdminSink.ValidateAll() if the designated constraints // aren't met. type BufferedAdminSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferedAdminSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferedAdminSinkMultiError) AllErrors() []error { return m } // BufferedAdminSinkValidationError is the validation error returned by // BufferedAdminSink.Validate if the designated constraints aren't met. type BufferedAdminSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferedAdminSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferedAdminSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferedAdminSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferedAdminSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferedAdminSinkValidationError) ErrorName() string { return "BufferedAdminSinkValidationError" } // Error satisfies the builtin error interface func (e BufferedAdminSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferedAdminSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferedAdminSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferedAdminSinkValidationError{} // Validate checks the field values on FilePerTapSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilePerTapSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilePerTapSink with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilePerTapSinkMultiError, // or nil if none found. func (m *FilePerTapSink) ValidateAll() error { return m.validate(true) } func (m *FilePerTapSink) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPathPrefix()) < 1 { err := FilePerTapSinkValidationError{ field: "PathPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilePerTapSinkMultiError(errors) } return nil } // FilePerTapSinkMultiError is an error wrapping multiple validation errors // returned by FilePerTapSink.ValidateAll() if the designated constraints // aren't met. type FilePerTapSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilePerTapSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilePerTapSinkMultiError) AllErrors() []error { return m } // FilePerTapSinkValidationError is the validation error returned by // FilePerTapSink.Validate if the designated constraints aren't met. type FilePerTapSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilePerTapSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilePerTapSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilePerTapSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilePerTapSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilePerTapSinkValidationError) ErrorName() string { return "FilePerTapSinkValidationError" } // Error satisfies the builtin error interface func (e FilePerTapSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilePerTapSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilePerTapSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilePerTapSinkValidationError{} // Validate checks the field values on StreamingGrpcSink with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StreamingGrpcSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamingGrpcSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamingGrpcSinkMultiError, or nil if none found. func (m *StreamingGrpcSink) ValidateAll() error { return m.validate(true) } func (m *StreamingGrpcSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TapId if m.GetGrpcService() == nil { err := StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamingGrpcSinkMultiError(errors) } return nil } // StreamingGrpcSinkMultiError is an error wrapping multiple validation errors // returned by StreamingGrpcSink.ValidateAll() if the designated constraints // aren't met. type StreamingGrpcSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamingGrpcSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamingGrpcSinkMultiError) AllErrors() []error { return m } // StreamingGrpcSinkValidationError is the validation error returned by // StreamingGrpcSink.Validate if the designated constraints aren't met. type StreamingGrpcSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamingGrpcSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamingGrpcSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamingGrpcSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamingGrpcSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamingGrpcSinkValidationError) ErrorName() string { return "StreamingGrpcSinkValidationError" } // Error satisfies the builtin error interface func (e StreamingGrpcSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamingGrpcSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamingGrpcSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamingGrpcSinkValidationError{} // Validate checks the field values on MatchPredicate_MatchSet with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MatchPredicate_MatchSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate_MatchSet with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MatchPredicate_MatchSetMultiError, or nil if none found. func (m *MatchPredicate_MatchSet) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate_MatchSet) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 2 { err := MatchPredicate_MatchSetValidationError{ field: "Rules", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MatchPredicate_MatchSetMultiError(errors) } return nil } // MatchPredicate_MatchSetMultiError is an error wrapping multiple validation // errors returned by MatchPredicate_MatchSet.ValidateAll() if the designated // constraints aren't met. type MatchPredicate_MatchSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicate_MatchSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicate_MatchSetMultiError) AllErrors() []error { return m } // MatchPredicate_MatchSetValidationError is the validation error returned by // MatchPredicate_MatchSet.Validate if the designated constraints aren't met. type MatchPredicate_MatchSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicate_MatchSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicate_MatchSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicate_MatchSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicate_MatchSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicate_MatchSetValidationError) ErrorName() string { return "MatchPredicate_MatchSetValidationError" } // Error satisfies the builtin error interface func (e MatchPredicate_MatchSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate_MatchSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicate_MatchSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicate_MatchSetValidationError{} // Validate checks the field values on HttpGenericBodyMatch_GenericTextMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *HttpGenericBodyMatch_GenericTextMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGenericBodyMatch_GenericTextMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpGenericBodyMatch_GenericTextMatchMultiError, or nil if none found. func (m *HttpGenericBodyMatch_GenericTextMatch) ValidateAll() error { return m.validate(true) } func (m *HttpGenericBodyMatch_GenericTextMatch) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *HttpGenericBodyMatch_GenericTextMatch_StringMatch: if v == nil { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if utf8.RuneCountInString(m.GetStringMatch()) < 1 { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "StringMatch", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *HttpGenericBodyMatch_GenericTextMatch_BinaryMatch: if v == nil { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if len(m.GetBinaryMatch()) < 1 { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "BinaryMatch", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofRulePresent { err := HttpGenericBodyMatch_GenericTextMatchValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpGenericBodyMatch_GenericTextMatchMultiError(errors) } return nil } // HttpGenericBodyMatch_GenericTextMatchMultiError is an error wrapping // multiple validation errors returned by // HttpGenericBodyMatch_GenericTextMatch.ValidateAll() if the designated // constraints aren't met. type HttpGenericBodyMatch_GenericTextMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGenericBodyMatch_GenericTextMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGenericBodyMatch_GenericTextMatchMultiError) AllErrors() []error { return m } // HttpGenericBodyMatch_GenericTextMatchValidationError is the validation error // returned by HttpGenericBodyMatch_GenericTextMatch.Validate if the // designated constraints aren't met. type HttpGenericBodyMatch_GenericTextMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGenericBodyMatch_GenericTextMatchValidationError) ErrorName() string { return "HttpGenericBodyMatch_GenericTextMatchValidationError" } // Error satisfies the builtin error interface func (e HttpGenericBodyMatch_GenericTextMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGenericBodyMatch_GenericTextMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGenericBodyMatch_GenericTextMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGenericBodyMatch_GenericTextMatchValidationError{} go-control-plane-0.12.0/envoy/config/trace/000077500000000000000000000000001454502223200204545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/trace/v2/000077500000000000000000000000001454502223200210035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/trace/v2/datadog.pb.go000077500000000000000000000157301454502223200233460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/datadog.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the Datadog tracer. // [#extension: envoy.tracers.datadog] type DatadogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster to use for submitting traces to the Datadog agent. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // The name used for the service when traces are generated by envoy. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` } func (x *DatadogConfig) Reset() { *x = DatadogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_datadog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatadogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatadogConfig) ProtoMessage() {} func (x *DatadogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_datadog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatadogConfig.ProtoReflect.Descriptor instead. func (*DatadogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_datadog_proto_rawDescGZIP(), []int{0} } func (x *DatadogConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } func (x *DatadogConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } var File_envoy_config_trace_v2_datadog_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_datadog_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x83, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_datadog_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_datadog_proto_rawDescData = file_envoy_config_trace_v2_datadog_proto_rawDesc ) func file_envoy_config_trace_v2_datadog_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_datadog_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_datadog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_datadog_proto_rawDescData) }) return file_envoy_config_trace_v2_datadog_proto_rawDescData } var file_envoy_config_trace_v2_datadog_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_datadog_proto_goTypes = []interface{}{ (*DatadogConfig)(nil), // 0: envoy.config.trace.v2.DatadogConfig } var file_envoy_config_trace_v2_datadog_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_datadog_proto_init() } func file_envoy_config_trace_v2_datadog_proto_init() { if File_envoy_config_trace_v2_datadog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_datadog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatadogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_datadog_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_datadog_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_datadog_proto_depIdxs, MessageInfos: file_envoy_config_trace_v2_datadog_proto_msgTypes, }.Build() File_envoy_config_trace_v2_datadog_proto = out.File file_envoy_config_trace_v2_datadog_proto_rawDesc = nil file_envoy_config_trace_v2_datadog_proto_goTypes = nil file_envoy_config_trace_v2_datadog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/datadog.pb.validate.go000077500000000000000000000072261454502223200251370ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/datadog.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DatadogConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DatadogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DatadogConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DatadogConfigMultiError, or // nil if none found. func (m *DatadogConfig) ValidateAll() error { return m.validate(true) } func (m *DatadogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCollectorCluster()) < 1 { err := DatadogConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetServiceName()) < 1 { err := DatadogConfigValidationError{ field: "ServiceName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DatadogConfigMultiError(errors) } return nil } // DatadogConfigMultiError is an error wrapping multiple validation errors // returned by DatadogConfig.ValidateAll() if the designated constraints // aren't met. type DatadogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DatadogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DatadogConfigMultiError) AllErrors() []error { return m } // DatadogConfigValidationError is the validation error returned by // DatadogConfig.Validate if the designated constraints aren't met. type DatadogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DatadogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DatadogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DatadogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DatadogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DatadogConfigValidationError) ErrorName() string { return "DatadogConfigValidationError" } // Error satisfies the builtin error interface func (e DatadogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDatadogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DatadogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DatadogConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/dynamic_ot.pb.go000077500000000000000000000170201454502223200240630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/dynamic_ot.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // DynamicOtConfig is used to dynamically load a tracer from a shared library // that implements the `OpenTracing dynamic loading API // `_. // [#extension: envoy.tracers.dynamic_ot] type DynamicOtConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Dynamic library implementing the `OpenTracing API // `_. Library string `protobuf:"bytes,1,opt,name=library,proto3" json:"library,omitempty"` // The configuration to use when creating a tracer from the given dynamic // library. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *DynamicOtConfig) Reset() { *x = DynamicOtConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_dynamic_ot_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicOtConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicOtConfig) ProtoMessage() {} func (x *DynamicOtConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_dynamic_ot_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicOtConfig.ProtoReflect.Descriptor instead. func (*DynamicOtConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_dynamic_ot_proto_rawDescGZIP(), []int{0} } func (x *DynamicOtConfig) GetLibrary() string { if x != nil { return x.Library } return "" } func (x *DynamicOtConfig) GetConfig() *_struct.Struct { if x != nil { return x.Config } return nil } var File_envoy_config_trace_v2_dynamic_ot_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_dynamic_ot_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_dynamic_ot_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_dynamic_ot_proto_rawDescData = file_envoy_config_trace_v2_dynamic_ot_proto_rawDesc ) func file_envoy_config_trace_v2_dynamic_ot_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_dynamic_ot_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_dynamic_ot_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_dynamic_ot_proto_rawDescData) }) return file_envoy_config_trace_v2_dynamic_ot_proto_rawDescData } var file_envoy_config_trace_v2_dynamic_ot_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_dynamic_ot_proto_goTypes = []interface{}{ (*DynamicOtConfig)(nil), // 0: envoy.config.trace.v2.DynamicOtConfig (*_struct.Struct)(nil), // 1: google.protobuf.Struct } var file_envoy_config_trace_v2_dynamic_ot_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v2.DynamicOtConfig.config:type_name -> google.protobuf.Struct 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_dynamic_ot_proto_init() } func file_envoy_config_trace_v2_dynamic_ot_proto_init() { if File_envoy_config_trace_v2_dynamic_ot_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_dynamic_ot_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicOtConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_dynamic_ot_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_dynamic_ot_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_dynamic_ot_proto_depIdxs, MessageInfos: file_envoy_config_trace_v2_dynamic_ot_proto_msgTypes, }.Build() File_envoy_config_trace_v2_dynamic_ot_proto = out.File file_envoy_config_trace_v2_dynamic_ot_proto_rawDesc = nil file_envoy_config_trace_v2_dynamic_ot_proto_goTypes = nil file_envoy_config_trace_v2_dynamic_ot_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/dynamic_ot.pb.validate.go000077500000000000000000000104251454502223200256550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/dynamic_ot.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DynamicOtConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DynamicOtConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DynamicOtConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DynamicOtConfigMultiError, or nil if none found. func (m *DynamicOtConfig) ValidateAll() error { return m.validate(true) } func (m *DynamicOtConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLibrary()) < 1 { err := DynamicOtConfigValidationError{ field: "Library", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DynamicOtConfigMultiError(errors) } return nil } // DynamicOtConfigMultiError is an error wrapping multiple validation errors // returned by DynamicOtConfig.ValidateAll() if the designated constraints // aren't met. type DynamicOtConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicOtConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicOtConfigMultiError) AllErrors() []error { return m } // DynamicOtConfigValidationError is the validation error returned by // DynamicOtConfig.Validate if the designated constraints aren't met. type DynamicOtConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicOtConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicOtConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicOtConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicOtConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicOtConfigValidationError) ErrorName() string { return "DynamicOtConfigValidationError" } // Error satisfies the builtin error interface func (e DynamicOtConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicOtConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicOtConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicOtConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/http_tracer.pb.go000077500000000000000000000311371454502223200242610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/http_tracer.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The tracing configuration specifies settings for an HTTP tracer provider used by Envoy. // // Envoy may support other tracers in the future, but right now the HTTP tracer is the only one // supported. // // .. attention:: // // Use of this message type has been deprecated in favor of direct use of // :ref:`Tracing.Http `. type Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Provides configuration for the HTTP tracer. Http *Tracing_Http `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"` } func (x *Tracing) Reset() { *x = Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_http_tracer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing) ProtoMessage() {} func (x *Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_http_tracer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing.ProtoReflect.Descriptor instead. func (*Tracing) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_http_tracer_proto_rawDescGZIP(), []int{0} } func (x *Tracing) GetHttp() *Tracing_Http { if x != nil { return x.Http } return nil } // Configuration for an HTTP tracer provider used by Envoy. // // The configuration is defined by the // :ref:`HttpConnectionManager.Tracing ` // :ref:`provider ` // field. type Tracing_Http struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the HTTP trace driver to instantiate. The name must match a // supported HTTP trace driver. Built-in trace drivers: // // - *envoy.tracers.lightstep* // - *envoy.tracers.zipkin* // - *envoy.tracers.dynamic_ot* // - *envoy.tracers.datadog* // - *envoy.tracers.opencensus* // - *envoy.tracers.xray* Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Trace driver specific configuration which depends on the driver being instantiated. // See the trace drivers for examples: // // - :ref:`LightstepConfig ` // - :ref:`ZipkinConfig ` // - :ref:`DynamicOtConfig ` // - :ref:`DatadogConfig ` // - :ref:`OpenCensusConfig ` // - :ref:`AWS X-Ray ` // // Types that are assignable to ConfigType: // // *Tracing_Http_Config // *Tracing_Http_TypedConfig ConfigType isTracing_Http_ConfigType `protobuf_oneof:"config_type"` } func (x *Tracing_Http) Reset() { *x = Tracing_Http{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_http_tracer_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing_Http) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing_Http) ProtoMessage() {} func (x *Tracing_Http) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_http_tracer_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing_Http.ProtoReflect.Descriptor instead. func (*Tracing_Http) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_http_tracer_proto_rawDescGZIP(), []int{0, 0} } func (x *Tracing_Http) GetName() string { if x != nil { return x.Name } return "" } func (m *Tracing_Http) GetConfigType() isTracing_Http_ConfigType { if m != nil { return m.ConfigType } return nil } // Deprecated: Marked as deprecated in envoy/config/trace/v2/http_tracer.proto. func (x *Tracing_Http) GetConfig() *_struct.Struct { if x, ok := x.GetConfigType().(*Tracing_Http_Config); ok { return x.Config } return nil } func (x *Tracing_Http) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*Tracing_Http_TypedConfig); ok { return x.TypedConfig } return nil } type isTracing_Http_ConfigType interface { isTracing_Http_ConfigType() } type Tracing_Http_Config struct { // Deprecated: Marked as deprecated in envoy/config/trace/v2/http_tracer.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"` } type Tracing_Http_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*Tracing_Http_Config) isTracing_Http_ConfigType() {} func (*Tracing_Http_TypedConfig) isTracing_Http_ConfigType() {} var File_envoy_config_trace_v2_http_tracer_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_http_tracer_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x1a, 0xa4, 0x01, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x86, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_http_tracer_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_http_tracer_proto_rawDescData = file_envoy_config_trace_v2_http_tracer_proto_rawDesc ) func file_envoy_config_trace_v2_http_tracer_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_http_tracer_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_http_tracer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_http_tracer_proto_rawDescData) }) return file_envoy_config_trace_v2_http_tracer_proto_rawDescData } var file_envoy_config_trace_v2_http_tracer_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_trace_v2_http_tracer_proto_goTypes = []interface{}{ (*Tracing)(nil), // 0: envoy.config.trace.v2.Tracing (*Tracing_Http)(nil), // 1: envoy.config.trace.v2.Tracing.Http (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*any1.Any)(nil), // 3: google.protobuf.Any } var file_envoy_config_trace_v2_http_tracer_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v2.Tracing.http:type_name -> envoy.config.trace.v2.Tracing.Http 2, // 1: envoy.config.trace.v2.Tracing.Http.config:type_name -> google.protobuf.Struct 3, // 2: envoy.config.trace.v2.Tracing.Http.typed_config:type_name -> google.protobuf.Any 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_http_tracer_proto_init() } func file_envoy_config_trace_v2_http_tracer_proto_init() { if File_envoy_config_trace_v2_http_tracer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_http_tracer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_trace_v2_http_tracer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing_Http); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_trace_v2_http_tracer_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Tracing_Http_Config)(nil), (*Tracing_Http_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_http_tracer_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_http_tracer_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_http_tracer_proto_depIdxs, MessageInfos: file_envoy_config_trace_v2_http_tracer_proto_msgTypes, }.Build() File_envoy_config_trace_v2_http_tracer_proto = out.File file_envoy_config_trace_v2_http_tracer_proto_rawDesc = nil file_envoy_config_trace_v2_http_tracer_proto_goTypes = nil file_envoy_config_trace_v2_http_tracer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/http_tracer.pb.validate.go000077500000000000000000000215501454502223200260470ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/http_tracer.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TracingMultiError, or nil if none found. func (m *Tracing) ValidateAll() error { return m.validate(true) } func (m *Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TracingMultiError(errors) } return nil } // TracingMultiError is an error wrapping multiple validation errors returned // by Tracing.ValidateAll() if the designated constraints aren't met. type TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TracingMultiError) AllErrors() []error { return m } // TracingValidationError is the validation error returned by Tracing.Validate // if the designated constraints aren't met. type TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TracingValidationError) ErrorName() string { return "TracingValidationError" } // Error satisfies the builtin error interface func (e TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TracingValidationError{} // Validate checks the field values on Tracing_Http with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing_Http) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing_Http with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Tracing_HttpMultiError, or // nil if none found. func (m *Tracing_Http) ValidateAll() error { return m.validate(true) } func (m *Tracing_Http) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := Tracing_HttpValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *Tracing_Http_Config: if v == nil { err := Tracing_HttpValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Tracing_HttpValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } case *Tracing_Http_TypedConfig: if v == nil { err := Tracing_HttpValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return Tracing_HttpMultiError(errors) } return nil } // Tracing_HttpMultiError is an error wrapping multiple validation errors // returned by Tracing_Http.ValidateAll() if the designated constraints aren't met. type Tracing_HttpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Tracing_HttpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Tracing_HttpMultiError) AllErrors() []error { return m } // Tracing_HttpValidationError is the validation error returned by // Tracing_Http.Validate if the designated constraints aren't met. type Tracing_HttpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Tracing_HttpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Tracing_HttpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Tracing_HttpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Tracing_HttpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Tracing_HttpValidationError) ErrorName() string { return "Tracing_HttpValidationError" } // Error satisfies the builtin error interface func (e Tracing_HttpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing_Http.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Tracing_HttpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Tracing_HttpValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/lightstep.pb.go000077500000000000000000000256561454502223200237560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/lightstep.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Available propagation modes type LightstepConfig_PropagationMode int32 const ( // Propagate trace context in the single header x-ot-span-context. LightstepConfig_ENVOY LightstepConfig_PropagationMode = 0 // Propagate trace context using LightStep's native format. LightstepConfig_LIGHTSTEP LightstepConfig_PropagationMode = 1 // Propagate trace context using the b3 format. LightstepConfig_B3 LightstepConfig_PropagationMode = 2 // Propagation trace context using the w3 trace-context standard. LightstepConfig_TRACE_CONTEXT LightstepConfig_PropagationMode = 3 ) // Enum value maps for LightstepConfig_PropagationMode. var ( LightstepConfig_PropagationMode_name = map[int32]string{ 0: "ENVOY", 1: "LIGHTSTEP", 2: "B3", 3: "TRACE_CONTEXT", } LightstepConfig_PropagationMode_value = map[string]int32{ "ENVOY": 0, "LIGHTSTEP": 1, "B3": 2, "TRACE_CONTEXT": 3, } ) func (x LightstepConfig_PropagationMode) Enum() *LightstepConfig_PropagationMode { p := new(LightstepConfig_PropagationMode) *p = x return p } func (x LightstepConfig_PropagationMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (LightstepConfig_PropagationMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v2_lightstep_proto_enumTypes[0].Descriptor() } func (LightstepConfig_PropagationMode) Type() protoreflect.EnumType { return &file_envoy_config_trace_v2_lightstep_proto_enumTypes[0] } func (x LightstepConfig_PropagationMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use LightstepConfig_PropagationMode.Descriptor instead. func (LightstepConfig_PropagationMode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v2_lightstep_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the LightStep tracer. // [#extension: envoy.tracers.lightstep] type LightstepConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster manager cluster that hosts the LightStep collectors. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // File containing the access token to the `LightStep // `_ API. AccessTokenFile string `protobuf:"bytes,2,opt,name=access_token_file,json=accessTokenFile,proto3" json:"access_token_file,omitempty"` // Propagation modes to use by LightStep's tracer. PropagationModes []LightstepConfig_PropagationMode `protobuf:"varint,3,rep,packed,name=propagation_modes,json=propagationModes,proto3,enum=envoy.config.trace.v2.LightstepConfig_PropagationMode" json:"propagation_modes,omitempty"` } func (x *LightstepConfig) Reset() { *x = LightstepConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_lightstep_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LightstepConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LightstepConfig) ProtoMessage() {} func (x *LightstepConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_lightstep_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LightstepConfig.ProtoReflect.Descriptor instead. func (*LightstepConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_lightstep_proto_rawDescGZIP(), []int{0} } func (x *LightstepConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } func (x *LightstepConfig) GetAccessTokenFile() string { if x != nil { return x.AccessTokenFile } return "" } func (x *LightstepConfig) GetPropagationModes() []LightstepConfig_PropagationMode { if x != nil { return x.PropagationModes } return nil } var File_envoy_config_trace_v2_lightstep_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_lightstep_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x46, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4e, 0x56, 0x4f, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x53, 0x54, 0x45, 0x50, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x33, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_lightstep_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_lightstep_proto_rawDescData = file_envoy_config_trace_v2_lightstep_proto_rawDesc ) func file_envoy_config_trace_v2_lightstep_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_lightstep_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_lightstep_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_lightstep_proto_rawDescData) }) return file_envoy_config_trace_v2_lightstep_proto_rawDescData } var file_envoy_config_trace_v2_lightstep_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v2_lightstep_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_lightstep_proto_goTypes = []interface{}{ (LightstepConfig_PropagationMode)(0), // 0: envoy.config.trace.v2.LightstepConfig.PropagationMode (*LightstepConfig)(nil), // 1: envoy.config.trace.v2.LightstepConfig } var file_envoy_config_trace_v2_lightstep_proto_depIdxs = []int32{ 0, // 0: envoy.config.trace.v2.LightstepConfig.propagation_modes:type_name -> envoy.config.trace.v2.LightstepConfig.PropagationMode 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_lightstep_proto_init() } func file_envoy_config_trace_v2_lightstep_proto_init() { if File_envoy_config_trace_v2_lightstep_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_lightstep_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LightstepConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_lightstep_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_lightstep_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_lightstep_proto_depIdxs, EnumInfos: file_envoy_config_trace_v2_lightstep_proto_enumTypes, MessageInfos: file_envoy_config_trace_v2_lightstep_proto_msgTypes, }.Build() File_envoy_config_trace_v2_lightstep_proto = out.File file_envoy_config_trace_v2_lightstep_proto_rawDesc = nil file_envoy_config_trace_v2_lightstep_proto_goTypes = nil file_envoy_config_trace_v2_lightstep_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/lightstep.pb.validate.go000077500000000000000000000101161454502223200255270ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/lightstep.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LightstepConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LightstepConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LightstepConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LightstepConfigMultiError, or nil if none found. func (m *LightstepConfig) ValidateAll() error { return m.validate(true) } func (m *LightstepConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCollectorCluster()) < 1 { err := LightstepConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetAccessTokenFile()) < 1 { err := LightstepConfigValidationError{ field: "AccessTokenFile", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPropagationModes() { _, _ = idx, item if _, ok := LightstepConfig_PropagationMode_name[int32(item)]; !ok { err := LightstepConfigValidationError{ field: fmt.Sprintf("PropagationModes[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return LightstepConfigMultiError(errors) } return nil } // LightstepConfigMultiError is an error wrapping multiple validation errors // returned by LightstepConfig.ValidateAll() if the designated constraints // aren't met. type LightstepConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LightstepConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LightstepConfigMultiError) AllErrors() []error { return m } // LightstepConfigValidationError is the validation error returned by // LightstepConfig.Validate if the designated constraints aren't met. type LightstepConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LightstepConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LightstepConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LightstepConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LightstepConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LightstepConfigValidationError) ErrorName() string { return "LightstepConfigValidationError" } // Error satisfies the builtin error interface func (e LightstepConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLightstepConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LightstepConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LightstepConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/opencensus.pb.go000077500000000000000000000506501454502223200241250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/opencensus.proto package tracev2 import ( v1 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OpenCensusConfig_TraceContext int32 const ( // No-op default, no trace context is utilized. OpenCensusConfig_NONE OpenCensusConfig_TraceContext = 0 // W3C Trace-Context format "traceparent:" header. OpenCensusConfig_TRACE_CONTEXT OpenCensusConfig_TraceContext = 1 // Binary "grpc-trace-bin:" header. OpenCensusConfig_GRPC_TRACE_BIN OpenCensusConfig_TraceContext = 2 // "X-Cloud-Trace-Context:" header. OpenCensusConfig_CLOUD_TRACE_CONTEXT OpenCensusConfig_TraceContext = 3 // X-B3-* headers. OpenCensusConfig_B3 OpenCensusConfig_TraceContext = 4 ) // Enum value maps for OpenCensusConfig_TraceContext. var ( OpenCensusConfig_TraceContext_name = map[int32]string{ 0: "NONE", 1: "TRACE_CONTEXT", 2: "GRPC_TRACE_BIN", 3: "CLOUD_TRACE_CONTEXT", 4: "B3", } OpenCensusConfig_TraceContext_value = map[string]int32{ "NONE": 0, "TRACE_CONTEXT": 1, "GRPC_TRACE_BIN": 2, "CLOUD_TRACE_CONTEXT": 3, "B3": 4, } ) func (x OpenCensusConfig_TraceContext) Enum() *OpenCensusConfig_TraceContext { p := new(OpenCensusConfig_TraceContext) *p = x return p } func (x OpenCensusConfig_TraceContext) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OpenCensusConfig_TraceContext) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v2_opencensus_proto_enumTypes[0].Descriptor() } func (OpenCensusConfig_TraceContext) Type() protoreflect.EnumType { return &file_envoy_config_trace_v2_opencensus_proto_enumTypes[0] } func (x OpenCensusConfig_TraceContext) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OpenCensusConfig_TraceContext.Descriptor instead. func (OpenCensusConfig_TraceContext) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v2_opencensus_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the OpenCensus tracer. // [#next-free-field: 15] // [#extension: envoy.tracers.opencensus] type OpenCensusConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures tracing, e.g. the sampler, max number of annotations, etc. TraceConfig *v1.TraceConfig `protobuf:"bytes,1,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"` // Enables the stdout exporter if set to true. This is intended for debugging // purposes. StdoutExporterEnabled bool `protobuf:"varint,2,opt,name=stdout_exporter_enabled,json=stdoutExporterEnabled,proto3" json:"stdout_exporter_enabled,omitempty"` // Enables the Stackdriver exporter if set to true. The project_id must also // be set. StackdriverExporterEnabled bool `protobuf:"varint,3,opt,name=stackdriver_exporter_enabled,json=stackdriverExporterEnabled,proto3" json:"stackdriver_exporter_enabled,omitempty"` // The Cloud project_id to use for Stackdriver tracing. StackdriverProjectId string `protobuf:"bytes,4,opt,name=stackdriver_project_id,json=stackdriverProjectId,proto3" json:"stackdriver_project_id,omitempty"` // (optional) By default, the Stackdriver exporter will connect to production // Stackdriver. If stackdriver_address is non-empty, it will instead connect // to this address, which is in the gRPC format: // https://github.com/grpc/grpc/blob/master/doc/naming.md StackdriverAddress string `protobuf:"bytes,10,opt,name=stackdriver_address,json=stackdriverAddress,proto3" json:"stackdriver_address,omitempty"` // (optional) The gRPC server that hosts Stackdriver tracing service. Only // Google gRPC is supported. If :ref:`target_uri ` // is not provided, the default production Stackdriver address will be used. StackdriverGrpcService *core.GrpcService `protobuf:"bytes,13,opt,name=stackdriver_grpc_service,json=stackdriverGrpcService,proto3" json:"stackdriver_grpc_service,omitempty"` // Enables the Zipkin exporter if set to true. The url and service name must // also be set. ZipkinExporterEnabled bool `protobuf:"varint,5,opt,name=zipkin_exporter_enabled,json=zipkinExporterEnabled,proto3" json:"zipkin_exporter_enabled,omitempty"` // The URL to Zipkin, e.g. "http://127.0.0.1:9411/api/v2/spans" ZipkinUrl string `protobuf:"bytes,6,opt,name=zipkin_url,json=zipkinUrl,proto3" json:"zipkin_url,omitempty"` // Enables the OpenCensus Agent exporter if set to true. The ocagent_address or // ocagent_grpc_service must also be set. OcagentExporterEnabled bool `protobuf:"varint,11,opt,name=ocagent_exporter_enabled,json=ocagentExporterEnabled,proto3" json:"ocagent_exporter_enabled,omitempty"` // The address of the OpenCensus Agent, if its exporter is enabled, in gRPC // format: https://github.com/grpc/grpc/blob/master/doc/naming.md // [#comment:TODO: deprecate this field] OcagentAddress string `protobuf:"bytes,12,opt,name=ocagent_address,json=ocagentAddress,proto3" json:"ocagent_address,omitempty"` // (optional) The gRPC server hosted by the OpenCensus Agent. Only Google gRPC is supported. // This is only used if the ocagent_address is left empty. OcagentGrpcService *core.GrpcService `protobuf:"bytes,14,opt,name=ocagent_grpc_service,json=ocagentGrpcService,proto3" json:"ocagent_grpc_service,omitempty"` // List of incoming trace context headers we will accept. First one found // wins. IncomingTraceContext []OpenCensusConfig_TraceContext `protobuf:"varint,8,rep,packed,name=incoming_trace_context,json=incomingTraceContext,proto3,enum=envoy.config.trace.v2.OpenCensusConfig_TraceContext" json:"incoming_trace_context,omitempty"` // List of outgoing trace context headers we will produce. OutgoingTraceContext []OpenCensusConfig_TraceContext `protobuf:"varint,9,rep,packed,name=outgoing_trace_context,json=outgoingTraceContext,proto3,enum=envoy.config.trace.v2.OpenCensusConfig_TraceContext" json:"outgoing_trace_context,omitempty"` } func (x *OpenCensusConfig) Reset() { *x = OpenCensusConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_opencensus_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OpenCensusConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpenCensusConfig) ProtoMessage() {} func (x *OpenCensusConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_opencensus_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OpenCensusConfig.ProtoReflect.Descriptor instead. func (*OpenCensusConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_opencensus_proto_rawDescGZIP(), []int{0} } func (x *OpenCensusConfig) GetTraceConfig() *v1.TraceConfig { if x != nil { return x.TraceConfig } return nil } func (x *OpenCensusConfig) GetStdoutExporterEnabled() bool { if x != nil { return x.StdoutExporterEnabled } return false } func (x *OpenCensusConfig) GetStackdriverExporterEnabled() bool { if x != nil { return x.StackdriverExporterEnabled } return false } func (x *OpenCensusConfig) GetStackdriverProjectId() string { if x != nil { return x.StackdriverProjectId } return "" } func (x *OpenCensusConfig) GetStackdriverAddress() string { if x != nil { return x.StackdriverAddress } return "" } func (x *OpenCensusConfig) GetStackdriverGrpcService() *core.GrpcService { if x != nil { return x.StackdriverGrpcService } return nil } func (x *OpenCensusConfig) GetZipkinExporterEnabled() bool { if x != nil { return x.ZipkinExporterEnabled } return false } func (x *OpenCensusConfig) GetZipkinUrl() string { if x != nil { return x.ZipkinUrl } return "" } func (x *OpenCensusConfig) GetOcagentExporterEnabled() bool { if x != nil { return x.OcagentExporterEnabled } return false } func (x *OpenCensusConfig) GetOcagentAddress() string { if x != nil { return x.OcagentAddress } return "" } func (x *OpenCensusConfig) GetOcagentGrpcService() *core.GrpcService { if x != nil { return x.OcagentGrpcService } return nil } func (x *OpenCensusConfig) GetIncomingTraceContext() []OpenCensusConfig_TraceContext { if x != nil { return x.IncomingTraceContext } return nil } func (x *OpenCensusConfig) GetOutgoingTraceContext() []OpenCensusConfig_TraceContext { if x != nil { return x.OutgoingTraceContext } return nil } var File_envoy_config_trace_v2_opencensus_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_opencensus_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x07, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x58, 0x0a, 0x18, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x16, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x14, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x12, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x6a, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x60, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x52, 0x50, 0x43, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x33, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x42, 0x86, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_opencensus_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_opencensus_proto_rawDescData = file_envoy_config_trace_v2_opencensus_proto_rawDesc ) func file_envoy_config_trace_v2_opencensus_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_opencensus_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_opencensus_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_opencensus_proto_rawDescData) }) return file_envoy_config_trace_v2_opencensus_proto_rawDescData } var file_envoy_config_trace_v2_opencensus_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v2_opencensus_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_opencensus_proto_goTypes = []interface{}{ (OpenCensusConfig_TraceContext)(0), // 0: envoy.config.trace.v2.OpenCensusConfig.TraceContext (*OpenCensusConfig)(nil), // 1: envoy.config.trace.v2.OpenCensusConfig (*v1.TraceConfig)(nil), // 2: opencensus.proto.trace.v1.TraceConfig (*core.GrpcService)(nil), // 3: envoy.api.v2.core.GrpcService } var file_envoy_config_trace_v2_opencensus_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v2.OpenCensusConfig.trace_config:type_name -> opencensus.proto.trace.v1.TraceConfig 3, // 1: envoy.config.trace.v2.OpenCensusConfig.stackdriver_grpc_service:type_name -> envoy.api.v2.core.GrpcService 3, // 2: envoy.config.trace.v2.OpenCensusConfig.ocagent_grpc_service:type_name -> envoy.api.v2.core.GrpcService 0, // 3: envoy.config.trace.v2.OpenCensusConfig.incoming_trace_context:type_name -> envoy.config.trace.v2.OpenCensusConfig.TraceContext 0, // 4: envoy.config.trace.v2.OpenCensusConfig.outgoing_trace_context:type_name -> envoy.config.trace.v2.OpenCensusConfig.TraceContext 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_opencensus_proto_init() } func file_envoy_config_trace_v2_opencensus_proto_init() { if File_envoy_config_trace_v2_opencensus_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_opencensus_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenCensusConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_opencensus_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_opencensus_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_opencensus_proto_depIdxs, EnumInfos: file_envoy_config_trace_v2_opencensus_proto_enumTypes, MessageInfos: file_envoy_config_trace_v2_opencensus_proto_msgTypes, }.Build() File_envoy_config_trace_v2_opencensus_proto = out.File file_envoy_config_trace_v2_opencensus_proto_rawDesc = nil file_envoy_config_trace_v2_opencensus_proto_goTypes = nil file_envoy_config_trace_v2_opencensus_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/opencensus.pb.validate.go000077500000000000000000000143711454502223200257150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/opencensus.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OpenCensusConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OpenCensusConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OpenCensusConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OpenCensusConfigMultiError, or nil if none found. func (m *OpenCensusConfig) ValidateAll() error { return m.validate(true) } func (m *OpenCensusConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTraceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StdoutExporterEnabled // no validation rules for StackdriverExporterEnabled // no validation rules for StackdriverProjectId // no validation rules for StackdriverAddress if all { switch v := interface{}(m.GetStackdriverGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStackdriverGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ZipkinExporterEnabled // no validation rules for ZipkinUrl // no validation rules for OcagentExporterEnabled // no validation rules for OcagentAddress if all { switch v := interface{}(m.GetOcagentGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOcagentGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OpenCensusConfigMultiError(errors) } return nil } // OpenCensusConfigMultiError is an error wrapping multiple validation errors // returned by OpenCensusConfig.ValidateAll() if the designated constraints // aren't met. type OpenCensusConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OpenCensusConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OpenCensusConfigMultiError) AllErrors() []error { return m } // OpenCensusConfigValidationError is the validation error returned by // OpenCensusConfig.Validate if the designated constraints aren't met. type OpenCensusConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OpenCensusConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OpenCensusConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OpenCensusConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OpenCensusConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OpenCensusConfigValidationError) ErrorName() string { return "OpenCensusConfigValidationError" } // Error satisfies the builtin error interface func (e OpenCensusConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOpenCensusConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OpenCensusConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OpenCensusConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/service.pb.go000077500000000000000000000160421454502223200234000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/service.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration structure. type TraceServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream gRPC cluster that hosts the metrics service. GrpcService *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *TraceServiceConfig) Reset() { *x = TraceServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceServiceConfig) ProtoMessage() {} func (x *TraceServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceServiceConfig.ProtoReflect.Descriptor instead. func (*TraceServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_service_proto_rawDescGZIP(), []int{0} } func (x *TraceServiceConfig) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } var File_envoy_config_trace_v2_service_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_service_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x83, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_service_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_service_proto_rawDescData = file_envoy_config_trace_v2_service_proto_rawDesc ) func file_envoy_config_trace_v2_service_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_service_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_service_proto_rawDescData) }) return file_envoy_config_trace_v2_service_proto_rawDescData } var file_envoy_config_trace_v2_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_service_proto_goTypes = []interface{}{ (*TraceServiceConfig)(nil), // 0: envoy.config.trace.v2.TraceServiceConfig (*core.GrpcService)(nil), // 1: envoy.api.v2.core.GrpcService } var file_envoy_config_trace_v2_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v2.TraceServiceConfig.grpc_service:type_name -> envoy.api.v2.core.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_service_proto_init() } func file_envoy_config_trace_v2_service_proto_init() { if File_envoy_config_trace_v2_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_service_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_service_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_service_proto_depIdxs, MessageInfos: file_envoy_config_trace_v2_service_proto_msgTypes, }.Build() File_envoy_config_trace_v2_service_proto = out.File file_envoy_config_trace_v2_service_proto_rawDesc = nil file_envoy_config_trace_v2_service_proto_goTypes = nil file_envoy_config_trace_v2_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/service.pb.validate.go000077500000000000000000000105651454502223200251740ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/service.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TraceServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TraceServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraceServiceConfigMultiError, or nil if none found. func (m *TraceServiceConfig) ValidateAll() error { return m.validate(true) } func (m *TraceServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := TraceServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TraceServiceConfigMultiError(errors) } return nil } // TraceServiceConfigMultiError is an error wrapping multiple validation errors // returned by TraceServiceConfig.ValidateAll() if the designated constraints // aren't met. type TraceServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceServiceConfigMultiError) AllErrors() []error { return m } // TraceServiceConfigValidationError is the validation error returned by // TraceServiceConfig.Validate if the designated constraints aren't met. type TraceServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceServiceConfigValidationError) ErrorName() string { return "TraceServiceConfigValidationError" } // Error satisfies the builtin error interface func (e TraceServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2/trace.pb.go000077500000000000000000000120441454502223200230340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/trace.proto package tracev2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_config_trace_v2_trace_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_trace_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x79, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x50, 0x00, 0x50, 0x01, 0x50, 0x02, 0x50, 0x03, 0x50, 0x04, 0x50, 0x05, 0x50, 0x06, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_config_trace_v2_trace_proto_goTypes = []interface{}{} var file_envoy_config_trace_v2_trace_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_trace_proto_init() } func file_envoy_config_trace_v2_trace_proto_init() { if File_envoy_config_trace_v2_trace_proto != nil { return } file_envoy_config_trace_v2_datadog_proto_init() file_envoy_config_trace_v2_dynamic_ot_proto_init() file_envoy_config_trace_v2_http_tracer_proto_init() file_envoy_config_trace_v2_lightstep_proto_init() file_envoy_config_trace_v2_opencensus_proto_init() file_envoy_config_trace_v2_service_proto_init() file_envoy_config_trace_v2_zipkin_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_trace_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_trace_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_trace_proto_depIdxs, }.Build() File_envoy_config_trace_v2_trace_proto = out.File file_envoy_config_trace_v2_trace_proto_rawDesc = nil file_envoy_config_trace_v2_trace_proto_goTypes = nil file_envoy_config_trace_v2_trace_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/trace.pb.validate.go000077500000000000000000000010731454502223200246240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/trace.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/config/trace/v2/zipkin.pb.go000077500000000000000000000343461454502223200232530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2/zipkin.proto package tracev2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Available Zipkin collector endpoint versions. type ZipkinConfig_CollectorEndpointVersion int32 const ( // Zipkin API v1, JSON over HTTP. // [#comment: The default implementation of Zipkin client before this field is added was only v1 // and the way user configure this was by not explicitly specifying the version. Consequently, // before this is added, the corresponding Zipkin collector expected to receive v1 payload. // Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when // user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, // since in Zipkin realm this v1 version is considered to be not preferable anymore.] // // Deprecated: Marked as deprecated in envoy/config/trace/v2/zipkin.proto. ZipkinConfig_HTTP_JSON_V1 ZipkinConfig_CollectorEndpointVersion = 0 // Zipkin API v2, JSON over HTTP. ZipkinConfig_HTTP_JSON ZipkinConfig_CollectorEndpointVersion = 1 // Zipkin API v2, protobuf over HTTP. ZipkinConfig_HTTP_PROTO ZipkinConfig_CollectorEndpointVersion = 2 // [#not-implemented-hide:] ZipkinConfig_GRPC ZipkinConfig_CollectorEndpointVersion = 3 ) // Enum value maps for ZipkinConfig_CollectorEndpointVersion. var ( ZipkinConfig_CollectorEndpointVersion_name = map[int32]string{ 0: "HTTP_JSON_V1", 1: "HTTP_JSON", 2: "HTTP_PROTO", 3: "GRPC", } ZipkinConfig_CollectorEndpointVersion_value = map[string]int32{ "HTTP_JSON_V1": 0, "HTTP_JSON": 1, "HTTP_PROTO": 2, "GRPC": 3, } ) func (x ZipkinConfig_CollectorEndpointVersion) Enum() *ZipkinConfig_CollectorEndpointVersion { p := new(ZipkinConfig_CollectorEndpointVersion) *p = x return p } func (x ZipkinConfig_CollectorEndpointVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ZipkinConfig_CollectorEndpointVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v2_zipkin_proto_enumTypes[0].Descriptor() } func (ZipkinConfig_CollectorEndpointVersion) Type() protoreflect.EnumType { return &file_envoy_config_trace_v2_zipkin_proto_enumTypes[0] } func (x ZipkinConfig_CollectorEndpointVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ZipkinConfig_CollectorEndpointVersion.Descriptor instead. func (ZipkinConfig_CollectorEndpointVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v2_zipkin_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the Zipkin tracer. // [#extension: envoy.tracers.zipkin] // [#next-free-field: 6] type ZipkinConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster manager cluster that hosts the Zipkin collectors. Note that the // Zipkin cluster must be defined in the :ref:`Bootstrap static cluster // resources `. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // The API endpoint of the Zipkin service where the spans will be sent. When // using a standard Zipkin installation, the API endpoint is typically // /api/v1/spans, which is the default value. CollectorEndpoint string `protobuf:"bytes,2,opt,name=collector_endpoint,json=collectorEndpoint,proto3" json:"collector_endpoint,omitempty"` // Determines whether a 128bit trace id will be used when creating a new // trace instance. The default value is false, which will result in a 64 bit trace id being used. TraceId_128Bit bool `protobuf:"varint,3,opt,name=trace_id_128bit,json=traceId128bit,proto3" json:"trace_id_128bit,omitempty"` // Determines whether client and server spans will share the same span context. // The default value is true. SharedSpanContext *wrappers.BoolValue `protobuf:"bytes,4,opt,name=shared_span_context,json=sharedSpanContext,proto3" json:"shared_span_context,omitempty"` // Determines the selected collector endpoint version. By default, the “HTTP_JSON_V1“ will be // used. CollectorEndpointVersion ZipkinConfig_CollectorEndpointVersion `protobuf:"varint,5,opt,name=collector_endpoint_version,json=collectorEndpointVersion,proto3,enum=envoy.config.trace.v2.ZipkinConfig_CollectorEndpointVersion" json:"collector_endpoint_version,omitempty"` } func (x *ZipkinConfig) Reset() { *x = ZipkinConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2_zipkin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZipkinConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZipkinConfig) ProtoMessage() {} func (x *ZipkinConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2_zipkin_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ZipkinConfig.ProtoReflect.Descriptor instead. func (*ZipkinConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2_zipkin_proto_rawDescGZIP(), []int{0} } func (x *ZipkinConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } func (x *ZipkinConfig) GetCollectorEndpoint() string { if x != nil { return x.CollectorEndpoint } return "" } func (x *ZipkinConfig) GetTraceId_128Bit() bool { if x != nil { return x.TraceId_128Bit } return false } func (x *ZipkinConfig) GetSharedSpanContext() *wrappers.BoolValue { if x != nil { return x.SharedSpanContext } return nil } func (x *ZipkinConfig) GetCollectorEndpointVersion() ZipkinConfig_CollectorEndpointVersion { if x != nil { return x.CollectorEndpointVersion } return ZipkinConfig_HTTP_JSON_V1 } var File_envoy_config_trace_v2_zipkin_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2_zipkin_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x03, 0x0a, 0x0c, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x32, 0x38, 0x62, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x31, 0x32, 0x38, 0x62, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x7a, 0x0a, 0x1a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x31, 0x10, 0x00, 0x1a, 0x08, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2_zipkin_proto_rawDescOnce sync.Once file_envoy_config_trace_v2_zipkin_proto_rawDescData = file_envoy_config_trace_v2_zipkin_proto_rawDesc ) func file_envoy_config_trace_v2_zipkin_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2_zipkin_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2_zipkin_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2_zipkin_proto_rawDescData) }) return file_envoy_config_trace_v2_zipkin_proto_rawDescData } var file_envoy_config_trace_v2_zipkin_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v2_zipkin_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2_zipkin_proto_goTypes = []interface{}{ (ZipkinConfig_CollectorEndpointVersion)(0), // 0: envoy.config.trace.v2.ZipkinConfig.CollectorEndpointVersion (*ZipkinConfig)(nil), // 1: envoy.config.trace.v2.ZipkinConfig (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue } var file_envoy_config_trace_v2_zipkin_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v2.ZipkinConfig.shared_span_context:type_name -> google.protobuf.BoolValue 0, // 1: envoy.config.trace.v2.ZipkinConfig.collector_endpoint_version:type_name -> envoy.config.trace.v2.ZipkinConfig.CollectorEndpointVersion 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2_zipkin_proto_init() } func file_envoy_config_trace_v2_zipkin_proto_init() { if File_envoy_config_trace_v2_zipkin_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2_zipkin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZipkinConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2_zipkin_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2_zipkin_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2_zipkin_proto_depIdxs, EnumInfos: file_envoy_config_trace_v2_zipkin_proto_enumTypes, MessageInfos: file_envoy_config_trace_v2_zipkin_proto_msgTypes, }.Build() File_envoy_config_trace_v2_zipkin_proto = out.File file_envoy_config_trace_v2_zipkin_proto_rawDesc = nil file_envoy_config_trace_v2_zipkin_proto_goTypes = nil file_envoy_config_trace_v2_zipkin_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2/zipkin.pb.validate.go000077500000000000000000000111111454502223200250240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2/zipkin.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ZipkinConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ZipkinConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ZipkinConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ZipkinConfigMultiError, or // nil if none found. func (m *ZipkinConfig) ValidateAll() error { return m.validate(true) } func (m *ZipkinConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCollectorCluster()) < 1 { err := ZipkinConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetCollectorEndpoint()) < 1 { err := ZipkinConfigValidationError{ field: "CollectorEndpoint", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for TraceId_128Bit if all { switch v := interface{}(m.GetSharedSpanContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSharedSpanContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CollectorEndpointVersion if len(errors) > 0 { return ZipkinConfigMultiError(errors) } return nil } // ZipkinConfigMultiError is an error wrapping multiple validation errors // returned by ZipkinConfig.ValidateAll() if the designated constraints aren't met. type ZipkinConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZipkinConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZipkinConfigMultiError) AllErrors() []error { return m } // ZipkinConfigValidationError is the validation error returned by // ZipkinConfig.Validate if the designated constraints aren't met. type ZipkinConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZipkinConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZipkinConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZipkinConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZipkinConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZipkinConfigValidationError) ErrorName() string { return "ZipkinConfigValidationError" } // Error satisfies the builtin error interface func (e ZipkinConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZipkinConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZipkinConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZipkinConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v2alpha/000077500000000000000000000000001454502223200220115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/trace/v2alpha/xray.pb.go000077500000000000000000000217161454502223200237350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v2alpha/xray.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type XRayConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The UDP endpoint of the X-Ray Daemon where the spans will be sent. // If this value is not set, the default value of 127.0.0.1:2000 will be used. DaemonEndpoint *core.SocketAddress `protobuf:"bytes,1,opt,name=daemon_endpoint,json=daemonEndpoint,proto3" json:"daemon_endpoint,omitempty"` // The name of the X-Ray segment. SegmentName string `protobuf:"bytes,2,opt,name=segment_name,json=segmentName,proto3" json:"segment_name,omitempty"` // The location of a local custom sampling rules JSON file. // For an example of the sampling rules see: // `X-Ray SDK documentation // `_ SamplingRuleManifest *core.DataSource `protobuf:"bytes,3,opt,name=sampling_rule_manifest,json=samplingRuleManifest,proto3" json:"sampling_rule_manifest,omitempty"` } func (x *XRayConfig) Reset() { *x = XRayConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v2alpha_xray_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XRayConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*XRayConfig) ProtoMessage() {} func (x *XRayConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v2alpha_xray_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XRayConfig.ProtoReflect.Descriptor instead. func (*XRayConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v2alpha_xray_proto_rawDescGZIP(), []int{0} } func (x *XRayConfig) GetDaemonEndpoint() *core.SocketAddress { if x != nil { return x.DaemonEndpoint } return nil } func (x *XRayConfig) GetSegmentName() string { if x != nil { return x.SegmentName } return "" } func (x *XRayConfig) GetSamplingRuleManifest() *core.DataSource { if x != nil { return x.SamplingRuleManifest } return nil } var File_envoy_config_trace_v2alpha_xray_proto protoreflect.FileDescriptor var file_envoy_config_trace_v2alpha_xray_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x01, 0x0a, 0x0a, 0x58, 0x52, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x14, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x09, 0x58, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v2alpha_xray_proto_rawDescOnce sync.Once file_envoy_config_trace_v2alpha_xray_proto_rawDescData = file_envoy_config_trace_v2alpha_xray_proto_rawDesc ) func file_envoy_config_trace_v2alpha_xray_proto_rawDescGZIP() []byte { file_envoy_config_trace_v2alpha_xray_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v2alpha_xray_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v2alpha_xray_proto_rawDescData) }) return file_envoy_config_trace_v2alpha_xray_proto_rawDescData } var file_envoy_config_trace_v2alpha_xray_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v2alpha_xray_proto_goTypes = []interface{}{ (*XRayConfig)(nil), // 0: envoy.config.trace.v2alpha.XRayConfig (*core.SocketAddress)(nil), // 1: envoy.api.v2.core.SocketAddress (*core.DataSource)(nil), // 2: envoy.api.v2.core.DataSource } var file_envoy_config_trace_v2alpha_xray_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v2alpha.XRayConfig.daemon_endpoint:type_name -> envoy.api.v2.core.SocketAddress 2, // 1: envoy.config.trace.v2alpha.XRayConfig.sampling_rule_manifest:type_name -> envoy.api.v2.core.DataSource 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_trace_v2alpha_xray_proto_init() } func file_envoy_config_trace_v2alpha_xray_proto_init() { if File_envoy_config_trace_v2alpha_xray_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v2alpha_xray_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XRayConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v2alpha_xray_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v2alpha_xray_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v2alpha_xray_proto_depIdxs, MessageInfos: file_envoy_config_trace_v2alpha_xray_proto_msgTypes, }.Build() File_envoy_config_trace_v2alpha_xray_proto = out.File file_envoy_config_trace_v2alpha_xray_proto_rawDesc = nil file_envoy_config_trace_v2alpha_xray_proto_goTypes = nil file_envoy_config_trace_v2alpha_xray_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v2alpha/xray.pb.validate.go000077500000000000000000000120601454502223200255150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v2alpha/xray.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on XRayConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *XRayConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on XRayConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in XRayConfigMultiError, or // nil if none found. func (m *XRayConfig) ValidateAll() error { return m.validate(true) } func (m *XRayConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDaemonEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDaemonEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetSegmentName()) < 1 { err := XRayConfigValidationError{ field: "SegmentName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSamplingRuleManifest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSamplingRuleManifest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return XRayConfigMultiError(errors) } return nil } // XRayConfigMultiError is an error wrapping multiple validation errors // returned by XRayConfig.ValidateAll() if the designated constraints aren't met. type XRayConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m XRayConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m XRayConfigMultiError) AllErrors() []error { return m } // XRayConfigValidationError is the validation error returned by // XRayConfig.Validate if the designated constraints aren't met. type XRayConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e XRayConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e XRayConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e XRayConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e XRayConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e XRayConfigValidationError) ErrorName() string { return "XRayConfigValidationError" } // Error satisfies the builtin error interface func (e XRayConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sXRayConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = XRayConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = XRayConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/000077500000000000000000000000001454502223200210045ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/trace/v3/datadog.pb.go000077500000000000000000000212701454502223200233430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/datadog.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the Datadog tracer. // [#extension: envoy.tracers.datadog] type DatadogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster to use for submitting traces to the Datadog agent. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // The name used for the service when traces are generated by envoy. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Optional hostname to use when sending spans to the collector_cluster. Useful for collectors // that require a specific hostname. Defaults to :ref:`collector_cluster ` above. CollectorHostname string `protobuf:"bytes,3,opt,name=collector_hostname,json=collectorHostname,proto3" json:"collector_hostname,omitempty"` } func (x *DatadogConfig) Reset() { *x = DatadogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_datadog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatadogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatadogConfig) ProtoMessage() {} func (x *DatadogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_datadog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatadogConfig.ProtoReflect.Descriptor instead. func (*DatadogConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_datadog_proto_rawDescGZIP(), []int{0} } func (x *DatadogConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } func (x *DatadogConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *DatadogConfig) GetCollectorHostname() string { if x != nil { return x.CollectorHostname } return "" } var File_envoy_config_trace_v3_datadog_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_datadog_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb3, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2a, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_datadog_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_datadog_proto_rawDescData = file_envoy_config_trace_v3_datadog_proto_rawDesc ) func file_envoy_config_trace_v3_datadog_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_datadog_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_datadog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_datadog_proto_rawDescData) }) return file_envoy_config_trace_v3_datadog_proto_rawDescData } var file_envoy_config_trace_v3_datadog_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_datadog_proto_goTypes = []interface{}{ (*DatadogConfig)(nil), // 0: envoy.config.trace.v3.DatadogConfig } var file_envoy_config_trace_v3_datadog_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_datadog_proto_init() } func file_envoy_config_trace_v3_datadog_proto_init() { if File_envoy_config_trace_v3_datadog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_datadog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatadogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_datadog_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_datadog_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_datadog_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_datadog_proto_msgTypes, }.Build() File_envoy_config_trace_v3_datadog_proto = out.File file_envoy_config_trace_v3_datadog_proto_rawDesc = nil file_envoy_config_trace_v3_datadog_proto_goTypes = nil file_envoy_config_trace_v3_datadog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/datadog.pb.validate.go000077500000000000000000000073531454502223200251410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/datadog.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DatadogConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DatadogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DatadogConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DatadogConfigMultiError, or // nil if none found. func (m *DatadogConfig) ValidateAll() error { return m.validate(true) } func (m *DatadogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCollectorCluster()) < 1 { err := DatadogConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetServiceName()) < 1 { err := DatadogConfigValidationError{ field: "ServiceName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for CollectorHostname if len(errors) > 0 { return DatadogConfigMultiError(errors) } return nil } // DatadogConfigMultiError is an error wrapping multiple validation errors // returned by DatadogConfig.ValidateAll() if the designated constraints // aren't met. type DatadogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DatadogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DatadogConfigMultiError) AllErrors() []error { return m } // DatadogConfigValidationError is the validation error returned by // DatadogConfig.Validate if the designated constraints aren't met. type DatadogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DatadogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DatadogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DatadogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DatadogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DatadogConfigValidationError) ErrorName() string { return "DatadogConfigValidationError" } // Error satisfies the builtin error interface func (e DatadogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDatadogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DatadogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DatadogConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/dynamic_ot.pb.go000077500000000000000000000223561454502223200240740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/dynamic_ot.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // DynamicOtConfig is used to dynamically load a tracer from a shared library // that implements the `OpenTracing dynamic loading API // `_. // [#extension: envoy.tracers.dynamic_ot] type DynamicOtConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Dynamic library implementing the `OpenTracing API // `_. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/dynamic_ot.proto. Library string `protobuf:"bytes,1,opt,name=library,proto3" json:"library,omitempty"` // The configuration to use when creating a tracer from the given dynamic // library. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/dynamic_ot.proto. Config *_struct.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *DynamicOtConfig) Reset() { *x = DynamicOtConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_dynamic_ot_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicOtConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicOtConfig) ProtoMessage() {} func (x *DynamicOtConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_dynamic_ot_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicOtConfig.ProtoReflect.Descriptor instead. func (*DynamicOtConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_dynamic_ot_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/config/trace/v3/dynamic_ot.proto. func (x *DynamicOtConfig) GetLibrary() string { if x != nil { return x.Library } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/dynamic_ot.proto. func (x *DynamicOtConfig) GetConfig() *_struct.Struct { if x != nil { return x.Config } return nil } var File_envoy_config_trace_v3_dynamic_ot_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_dynamic_ot_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb8, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x74, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4f, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_dynamic_ot_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_dynamic_ot_proto_rawDescData = file_envoy_config_trace_v3_dynamic_ot_proto_rawDesc ) func file_envoy_config_trace_v3_dynamic_ot_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_dynamic_ot_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_dynamic_ot_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_dynamic_ot_proto_rawDescData) }) return file_envoy_config_trace_v3_dynamic_ot_proto_rawDescData } var file_envoy_config_trace_v3_dynamic_ot_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_dynamic_ot_proto_goTypes = []interface{}{ (*DynamicOtConfig)(nil), // 0: envoy.config.trace.v3.DynamicOtConfig (*_struct.Struct)(nil), // 1: google.protobuf.Struct } var file_envoy_config_trace_v3_dynamic_ot_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v3.DynamicOtConfig.config:type_name -> google.protobuf.Struct 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_dynamic_ot_proto_init() } func file_envoy_config_trace_v3_dynamic_ot_proto_init() { if File_envoy_config_trace_v3_dynamic_ot_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_dynamic_ot_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicOtConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_dynamic_ot_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_dynamic_ot_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_dynamic_ot_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_dynamic_ot_proto_msgTypes, }.Build() File_envoy_config_trace_v3_dynamic_ot_proto = out.File file_envoy_config_trace_v3_dynamic_ot_proto_rawDesc = nil file_envoy_config_trace_v3_dynamic_ot_proto_goTypes = nil file_envoy_config_trace_v3_dynamic_ot_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/dynamic_ot.pb.validate.go000077500000000000000000000104501454502223200256540ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/dynamic_ot.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DynamicOtConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DynamicOtConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DynamicOtConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DynamicOtConfigMultiError, or nil if none found. func (m *DynamicOtConfig) ValidateAll() error { return m.validate(true) } func (m *DynamicOtConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetLibrary()) < 1 { err := DynamicOtConfigValidationError{ field: "Library", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicOtConfigValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DynamicOtConfigMultiError(errors) } return nil } // DynamicOtConfigMultiError is an error wrapping multiple validation errors // returned by DynamicOtConfig.ValidateAll() if the designated constraints // aren't met. type DynamicOtConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicOtConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicOtConfigMultiError) AllErrors() []error { return m } // DynamicOtConfigValidationError is the validation error returned by // DynamicOtConfig.Validate if the designated constraints aren't met. type DynamicOtConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicOtConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicOtConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicOtConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicOtConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicOtConfigValidationError) ErrorName() string { return "DynamicOtConfigValidationError" } // Error satisfies the builtin error interface func (e DynamicOtConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicOtConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicOtConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicOtConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/http_tracer.pb.go000077500000000000000000000272461454502223200242700ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/http_tracer.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The tracing configuration specifies settings for an HTTP tracer provider used by Envoy. // // Envoy may support other tracers in the future, but right now the HTTP tracer is the only one // supported. // // .. attention:: // // Use of this message type has been deprecated in favor of direct use of // :ref:`Tracing.Http `. type Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Provides configuration for the HTTP tracer. Http *Tracing_Http `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"` } func (x *Tracing) Reset() { *x = Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_http_tracer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing) ProtoMessage() {} func (x *Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_http_tracer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing.ProtoReflect.Descriptor instead. func (*Tracing) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_http_tracer_proto_rawDescGZIP(), []int{0} } func (x *Tracing) GetHttp() *Tracing_Http { if x != nil { return x.Http } return nil } // Configuration for an HTTP tracer provider used by Envoy. // // The configuration is defined by the // :ref:`HttpConnectionManager.Tracing ` // :ref:`provider ` // field. type Tracing_Http struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the HTTP trace driver to instantiate. The name must match a // supported HTTP trace driver. // See the :ref:`extensions listed in typed_config below ` for the default list of the HTTP trace driver. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Trace driver specific configuration which must be set according to the driver being instantiated. // [#extension-category: envoy.tracers] // // Types that are assignable to ConfigType: // // *Tracing_Http_TypedConfig ConfigType isTracing_Http_ConfigType `protobuf_oneof:"config_type"` } func (x *Tracing_Http) Reset() { *x = Tracing_Http{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_http_tracer_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tracing_Http) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tracing_Http) ProtoMessage() {} func (x *Tracing_Http) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_http_tracer_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tracing_Http.ProtoReflect.Descriptor instead. func (*Tracing_Http) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_http_tracer_proto_rawDescGZIP(), []int{0, 0} } func (x *Tracing_Http) GetName() string { if x != nil { return x.Name } return "" } func (m *Tracing_Http) GetConfigType() isTracing_Http_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *Tracing_Http) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*Tracing_Http_TypedConfig); ok { return x.TypedConfig } return nil } type isTracing_Http_ConfigType interface { isTracing_Http_ConfigType() } type Tracing_Http_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*Tracing_Http_TypedConfig) isTracing_Http_ConfigType() {} var File_envoy_config_trace_v3_http_tracer_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_http_tracer_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x1a, 0xa6, 0x01, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x42, 0x86, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_http_tracer_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_http_tracer_proto_rawDescData = file_envoy_config_trace_v3_http_tracer_proto_rawDesc ) func file_envoy_config_trace_v3_http_tracer_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_http_tracer_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_http_tracer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_http_tracer_proto_rawDescData) }) return file_envoy_config_trace_v3_http_tracer_proto_rawDescData } var file_envoy_config_trace_v3_http_tracer_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_trace_v3_http_tracer_proto_goTypes = []interface{}{ (*Tracing)(nil), // 0: envoy.config.trace.v3.Tracing (*Tracing_Http)(nil), // 1: envoy.config.trace.v3.Tracing.Http (*any1.Any)(nil), // 2: google.protobuf.Any } var file_envoy_config_trace_v3_http_tracer_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v3.Tracing.http:type_name -> envoy.config.trace.v3.Tracing.Http 2, // 1: envoy.config.trace.v3.Tracing.Http.typed_config:type_name -> google.protobuf.Any 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_http_tracer_proto_init() } func file_envoy_config_trace_v3_http_tracer_proto_init() { if File_envoy_config_trace_v3_http_tracer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_http_tracer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_trace_v3_http_tracer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tracing_Http); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_trace_v3_http_tracer_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Tracing_Http_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_http_tracer_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_http_tracer_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_http_tracer_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_http_tracer_proto_msgTypes, }.Build() File_envoy_config_trace_v3_http_tracer_proto = out.File file_envoy_config_trace_v3_http_tracer_proto_rawDesc = nil file_envoy_config_trace_v3_http_tracer_proto_goTypes = nil file_envoy_config_trace_v3_http_tracer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/http_tracer.pb.validate.go000077500000000000000000000175111454502223200260520ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/http_tracer.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TracingMultiError, or nil if none found. func (m *Tracing) ValidateAll() error { return m.validate(true) } func (m *Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TracingValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TracingMultiError(errors) } return nil } // TracingMultiError is an error wrapping multiple validation errors returned // by Tracing.ValidateAll() if the designated constraints aren't met. type TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TracingMultiError) AllErrors() []error { return m } // TracingValidationError is the validation error returned by Tracing.Validate // if the designated constraints aren't met. type TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TracingValidationError) ErrorName() string { return "TracingValidationError" } // Error satisfies the builtin error interface func (e TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TracingValidationError{} // Validate checks the field values on Tracing_Http with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Tracing_Http) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tracing_Http with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Tracing_HttpMultiError, or // nil if none found. func (m *Tracing_Http) ValidateAll() error { return m.validate(true) } func (m *Tracing_Http) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := Tracing_HttpValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *Tracing_Http_TypedConfig: if v == nil { err := Tracing_HttpValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Tracing_HttpValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return Tracing_HttpMultiError(errors) } return nil } // Tracing_HttpMultiError is an error wrapping multiple validation errors // returned by Tracing_Http.ValidateAll() if the designated constraints aren't met. type Tracing_HttpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Tracing_HttpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Tracing_HttpMultiError) AllErrors() []error { return m } // Tracing_HttpValidationError is the validation error returned by // Tracing_Http.Validate if the designated constraints aren't met. type Tracing_HttpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Tracing_HttpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Tracing_HttpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Tracing_HttpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Tracing_HttpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Tracing_HttpValidationError) ErrorName() string { return "Tracing_HttpValidationError" } // Error satisfies the builtin error interface func (e Tracing_HttpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTracing_Http.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Tracing_HttpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Tracing_HttpValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/lightstep.pb.go000077500000000000000000000330251454502223200237440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/lightstep.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Available propagation modes type LightstepConfig_PropagationMode int32 const ( // Propagate trace context in the single header x-ot-span-context. LightstepConfig_ENVOY LightstepConfig_PropagationMode = 0 // Propagate trace context using LightStep's native format. LightstepConfig_LIGHTSTEP LightstepConfig_PropagationMode = 1 // Propagate trace context using the b3 format. LightstepConfig_B3 LightstepConfig_PropagationMode = 2 // Propagation trace context using the w3 trace-context standard. LightstepConfig_TRACE_CONTEXT LightstepConfig_PropagationMode = 3 ) // Enum value maps for LightstepConfig_PropagationMode. var ( LightstepConfig_PropagationMode_name = map[int32]string{ 0: "ENVOY", 1: "LIGHTSTEP", 2: "B3", 3: "TRACE_CONTEXT", } LightstepConfig_PropagationMode_value = map[string]int32{ "ENVOY": 0, "LIGHTSTEP": 1, "B3": 2, "TRACE_CONTEXT": 3, } ) func (x LightstepConfig_PropagationMode) Enum() *LightstepConfig_PropagationMode { p := new(LightstepConfig_PropagationMode) *p = x return p } func (x LightstepConfig_PropagationMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (LightstepConfig_PropagationMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v3_lightstep_proto_enumTypes[0].Descriptor() } func (LightstepConfig_PropagationMode) Type() protoreflect.EnumType { return &file_envoy_config_trace_v3_lightstep_proto_enumTypes[0] } func (x LightstepConfig_PropagationMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use LightstepConfig_PropagationMode.Descriptor instead. func (LightstepConfig_PropagationMode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v3_lightstep_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the LightStep tracer. // [#extension: envoy.tracers.lightstep] // [#not-implemented-hide:] type LightstepConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster manager cluster that hosts the LightStep collectors. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // File containing the access token to the `LightStep // `_ API. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/lightstep.proto. AccessTokenFile string `protobuf:"bytes,2,opt,name=access_token_file,json=accessTokenFile,proto3" json:"access_token_file,omitempty"` // Access token to the `LightStep `_ API. AccessToken *v3.DataSource `protobuf:"bytes,4,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` // Propagation modes to use by LightStep's tracer. PropagationModes []LightstepConfig_PropagationMode `protobuf:"varint,3,rep,packed,name=propagation_modes,json=propagationModes,proto3,enum=envoy.config.trace.v3.LightstepConfig_PropagationMode" json:"propagation_modes,omitempty"` } func (x *LightstepConfig) Reset() { *x = LightstepConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_lightstep_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LightstepConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LightstepConfig) ProtoMessage() {} func (x *LightstepConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_lightstep_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LightstepConfig.ProtoReflect.Descriptor instead. func (*LightstepConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_lightstep_proto_rawDescGZIP(), []int{0} } func (x *LightstepConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/lightstep.proto. func (x *LightstepConfig) GetAccessTokenFile() string { if x != nil { return x.AccessTokenFile } return "" } func (x *LightstepConfig) GetAccessToken() *v3.DataSource { if x != nil { return x.AccessToken } return nil } func (x *LightstepConfig) GetPropagationModes() []LightstepConfig_PropagationMode { if x != nil { return x.PropagationModes } return nil } var File_envoy_config_trace_v3_lightstep_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_lightstep_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x72, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x46, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4e, 0x56, 0x4f, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x53, 0x54, 0x45, 0x50, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x33, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb7, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_lightstep_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_lightstep_proto_rawDescData = file_envoy_config_trace_v3_lightstep_proto_rawDesc ) func file_envoy_config_trace_v3_lightstep_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_lightstep_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_lightstep_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_lightstep_proto_rawDescData) }) return file_envoy_config_trace_v3_lightstep_proto_rawDescData } var file_envoy_config_trace_v3_lightstep_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v3_lightstep_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_lightstep_proto_goTypes = []interface{}{ (LightstepConfig_PropagationMode)(0), // 0: envoy.config.trace.v3.LightstepConfig.PropagationMode (*LightstepConfig)(nil), // 1: envoy.config.trace.v3.LightstepConfig (*v3.DataSource)(nil), // 2: envoy.config.core.v3.DataSource } var file_envoy_config_trace_v3_lightstep_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v3.LightstepConfig.access_token:type_name -> envoy.config.core.v3.DataSource 0, // 1: envoy.config.trace.v3.LightstepConfig.propagation_modes:type_name -> envoy.config.trace.v3.LightstepConfig.PropagationMode 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_lightstep_proto_init() } func file_envoy_config_trace_v3_lightstep_proto_init() { if File_envoy_config_trace_v3_lightstep_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_lightstep_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LightstepConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_lightstep_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_lightstep_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_lightstep_proto_depIdxs, EnumInfos: file_envoy_config_trace_v3_lightstep_proto_enumTypes, MessageInfos: file_envoy_config_trace_v3_lightstep_proto_msgTypes, }.Build() File_envoy_config_trace_v3_lightstep_proto = out.File file_envoy_config_trace_v3_lightstep_proto_rawDesc = nil file_envoy_config_trace_v3_lightstep_proto_goTypes = nil file_envoy_config_trace_v3_lightstep_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/lightstep.pb.validate.go000077500000000000000000000113671454502223200255410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/lightstep.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LightstepConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LightstepConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LightstepConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LightstepConfigMultiError, or nil if none found. func (m *LightstepConfig) ValidateAll() error { return m.validate(true) } func (m *LightstepConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCollectorCluster()) < 1 { err := LightstepConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessTokenFile if all { switch v := interface{}(m.GetAccessToken()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LightstepConfigValidationError{ field: "AccessToken", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LightstepConfigValidationError{ field: "AccessToken", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAccessToken()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LightstepConfigValidationError{ field: "AccessToken", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetPropagationModes() { _, _ = idx, item if _, ok := LightstepConfig_PropagationMode_name[int32(item)]; !ok { err := LightstepConfigValidationError{ field: fmt.Sprintf("PropagationModes[%v]", idx), reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return LightstepConfigMultiError(errors) } return nil } // LightstepConfigMultiError is an error wrapping multiple validation errors // returned by LightstepConfig.ValidateAll() if the designated constraints // aren't met. type LightstepConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LightstepConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LightstepConfigMultiError) AllErrors() []error { return m } // LightstepConfigValidationError is the validation error returned by // LightstepConfig.Validate if the designated constraints aren't met. type LightstepConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LightstepConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LightstepConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LightstepConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LightstepConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LightstepConfigValidationError) ErrorName() string { return "LightstepConfigValidationError" } // Error satisfies the builtin error interface func (e LightstepConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLightstepConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LightstepConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LightstepConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/opencensus.pb.go000077500000000000000000000620521454502223200241250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/opencensus.proto package tracev3 import ( v1 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OpenCensusConfig_TraceContext int32 const ( // No-op default, no trace context is utilized. OpenCensusConfig_NONE OpenCensusConfig_TraceContext = 0 // W3C Trace-Context format "traceparent:" header. OpenCensusConfig_TRACE_CONTEXT OpenCensusConfig_TraceContext = 1 // Binary "grpc-trace-bin:" header. OpenCensusConfig_GRPC_TRACE_BIN OpenCensusConfig_TraceContext = 2 // "X-Cloud-Trace-Context:" header. OpenCensusConfig_CLOUD_TRACE_CONTEXT OpenCensusConfig_TraceContext = 3 // X-B3-* headers. OpenCensusConfig_B3 OpenCensusConfig_TraceContext = 4 ) // Enum value maps for OpenCensusConfig_TraceContext. var ( OpenCensusConfig_TraceContext_name = map[int32]string{ 0: "NONE", 1: "TRACE_CONTEXT", 2: "GRPC_TRACE_BIN", 3: "CLOUD_TRACE_CONTEXT", 4: "B3", } OpenCensusConfig_TraceContext_value = map[string]int32{ "NONE": 0, "TRACE_CONTEXT": 1, "GRPC_TRACE_BIN": 2, "CLOUD_TRACE_CONTEXT": 3, "B3": 4, } ) func (x OpenCensusConfig_TraceContext) Enum() *OpenCensusConfig_TraceContext { p := new(OpenCensusConfig_TraceContext) *p = x return p } func (x OpenCensusConfig_TraceContext) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OpenCensusConfig_TraceContext) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v3_opencensus_proto_enumTypes[0].Descriptor() } func (OpenCensusConfig_TraceContext) Type() protoreflect.EnumType { return &file_envoy_config_trace_v3_opencensus_proto_enumTypes[0] } func (x OpenCensusConfig_TraceContext) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OpenCensusConfig_TraceContext.Descriptor instead. func (OpenCensusConfig_TraceContext) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v3_opencensus_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the OpenCensus tracer. // [#next-free-field: 15] // [#extension: envoy.tracers.opencensus] type OpenCensusConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures tracing, e.g. the sampler, max number of annotations, etc. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. TraceConfig *v1.TraceConfig `protobuf:"bytes,1,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"` // Enables the stdout exporter if set to true. This is intended for debugging // purposes. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. StdoutExporterEnabled bool `protobuf:"varint,2,opt,name=stdout_exporter_enabled,json=stdoutExporterEnabled,proto3" json:"stdout_exporter_enabled,omitempty"` // Enables the Stackdriver exporter if set to true. The project_id must also // be set. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. StackdriverExporterEnabled bool `protobuf:"varint,3,opt,name=stackdriver_exporter_enabled,json=stackdriverExporterEnabled,proto3" json:"stackdriver_exporter_enabled,omitempty"` // The Cloud project_id to use for Stackdriver tracing. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. StackdriverProjectId string `protobuf:"bytes,4,opt,name=stackdriver_project_id,json=stackdriverProjectId,proto3" json:"stackdriver_project_id,omitempty"` // (optional) By default, the Stackdriver exporter will connect to production // Stackdriver. If stackdriver_address is non-empty, it will instead connect // to this address, which is in the gRPC format: // https://github.com/grpc/grpc/blob/master/doc/naming.md // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. StackdriverAddress string `protobuf:"bytes,10,opt,name=stackdriver_address,json=stackdriverAddress,proto3" json:"stackdriver_address,omitempty"` // (optional) The gRPC server that hosts Stackdriver tracing service. Only // Google gRPC is supported. If :ref:`target_uri ` // is not provided, the default production Stackdriver address will be used. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. StackdriverGrpcService *v3.GrpcService `protobuf:"bytes,13,opt,name=stackdriver_grpc_service,json=stackdriverGrpcService,proto3" json:"stackdriver_grpc_service,omitempty"` // Enables the Zipkin exporter if set to true. The url and service name must // also be set. This is deprecated, prefer to use Envoy's :ref:`native Zipkin // tracer `. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. ZipkinExporterEnabled bool `protobuf:"varint,5,opt,name=zipkin_exporter_enabled,json=zipkinExporterEnabled,proto3" json:"zipkin_exporter_enabled,omitempty"` // The URL to Zipkin, e.g. "http://127.0.0.1:9411/api/v2/spans". This is // deprecated, prefer to use Envoy's :ref:`native Zipkin tracer // `. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. ZipkinUrl string `protobuf:"bytes,6,opt,name=zipkin_url,json=zipkinUrl,proto3" json:"zipkin_url,omitempty"` // Enables the OpenCensus Agent exporter if set to true. The ocagent_address or // ocagent_grpc_service must also be set. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. OcagentExporterEnabled bool `protobuf:"varint,11,opt,name=ocagent_exporter_enabled,json=ocagentExporterEnabled,proto3" json:"ocagent_exporter_enabled,omitempty"` // The address of the OpenCensus Agent, if its exporter is enabled, in gRPC // format: https://github.com/grpc/grpc/blob/master/doc/naming.md // [#comment:TODO: deprecate this field] // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. OcagentAddress string `protobuf:"bytes,12,opt,name=ocagent_address,json=ocagentAddress,proto3" json:"ocagent_address,omitempty"` // (optional) The gRPC server hosted by the OpenCensus Agent. Only Google gRPC is supported. // This is only used if the ocagent_address is left empty. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. OcagentGrpcService *v3.GrpcService `protobuf:"bytes,14,opt,name=ocagent_grpc_service,json=ocagentGrpcService,proto3" json:"ocagent_grpc_service,omitempty"` // List of incoming trace context headers we will accept. First one found // wins. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. IncomingTraceContext []OpenCensusConfig_TraceContext `protobuf:"varint,8,rep,packed,name=incoming_trace_context,json=incomingTraceContext,proto3,enum=envoy.config.trace.v3.OpenCensusConfig_TraceContext" json:"incoming_trace_context,omitempty"` // List of outgoing trace context headers we will produce. // // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. OutgoingTraceContext []OpenCensusConfig_TraceContext `protobuf:"varint,9,rep,packed,name=outgoing_trace_context,json=outgoingTraceContext,proto3,enum=envoy.config.trace.v3.OpenCensusConfig_TraceContext" json:"outgoing_trace_context,omitempty"` } func (x *OpenCensusConfig) Reset() { *x = OpenCensusConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_opencensus_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OpenCensusConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpenCensusConfig) ProtoMessage() {} func (x *OpenCensusConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_opencensus_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OpenCensusConfig.ProtoReflect.Descriptor instead. func (*OpenCensusConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_opencensus_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetTraceConfig() *v1.TraceConfig { if x != nil { return x.TraceConfig } return nil } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetStdoutExporterEnabled() bool { if x != nil { return x.StdoutExporterEnabled } return false } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetStackdriverExporterEnabled() bool { if x != nil { return x.StackdriverExporterEnabled } return false } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetStackdriverProjectId() string { if x != nil { return x.StackdriverProjectId } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetStackdriverAddress() string { if x != nil { return x.StackdriverAddress } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetStackdriverGrpcService() *v3.GrpcService { if x != nil { return x.StackdriverGrpcService } return nil } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetZipkinExporterEnabled() bool { if x != nil { return x.ZipkinExporterEnabled } return false } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetZipkinUrl() string { if x != nil { return x.ZipkinUrl } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetOcagentExporterEnabled() bool { if x != nil { return x.OcagentExporterEnabled } return false } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetOcagentAddress() string { if x != nil { return x.OcagentAddress } return "" } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetOcagentGrpcService() *v3.GrpcService { if x != nil { return x.OcagentGrpcService } return nil } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetIncomingTraceContext() []OpenCensusConfig_TraceContext { if x != nil { return x.IncomingTraceContext } return nil } // Deprecated: Marked as deprecated in envoy/config/trace/v3/opencensus.proto. func (x *OpenCensusConfig) GetOutgoingTraceContext() []OpenCensusConfig_TraceContext { if x != nil { return x.OutgoingTraceContext } return nil } var File_envoy_config_trace_v3_opencensus_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_opencensus_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x09, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x17, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x15, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x1c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x1a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x12, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x18, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x17, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x15, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x0a, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x09, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x45, 0x0a, 0x18, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x60, 0x0a, 0x14, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x12, 0x6f, 0x63, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x77, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x60, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x52, 0x50, 0x43, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x33, 0x10, 0x04, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x42, 0xb9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_opencensus_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_opencensus_proto_rawDescData = file_envoy_config_trace_v3_opencensus_proto_rawDesc ) func file_envoy_config_trace_v3_opencensus_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_opencensus_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_opencensus_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_opencensus_proto_rawDescData) }) return file_envoy_config_trace_v3_opencensus_proto_rawDescData } var file_envoy_config_trace_v3_opencensus_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v3_opencensus_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_opencensus_proto_goTypes = []interface{}{ (OpenCensusConfig_TraceContext)(0), // 0: envoy.config.trace.v3.OpenCensusConfig.TraceContext (*OpenCensusConfig)(nil), // 1: envoy.config.trace.v3.OpenCensusConfig (*v1.TraceConfig)(nil), // 2: opencensus.proto.trace.v1.TraceConfig (*v3.GrpcService)(nil), // 3: envoy.config.core.v3.GrpcService } var file_envoy_config_trace_v3_opencensus_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v3.OpenCensusConfig.trace_config:type_name -> opencensus.proto.trace.v1.TraceConfig 3, // 1: envoy.config.trace.v3.OpenCensusConfig.stackdriver_grpc_service:type_name -> envoy.config.core.v3.GrpcService 3, // 2: envoy.config.trace.v3.OpenCensusConfig.ocagent_grpc_service:type_name -> envoy.config.core.v3.GrpcService 0, // 3: envoy.config.trace.v3.OpenCensusConfig.incoming_trace_context:type_name -> envoy.config.trace.v3.OpenCensusConfig.TraceContext 0, // 4: envoy.config.trace.v3.OpenCensusConfig.outgoing_trace_context:type_name -> envoy.config.trace.v3.OpenCensusConfig.TraceContext 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_opencensus_proto_init() } func file_envoy_config_trace_v3_opencensus_proto_init() { if File_envoy_config_trace_v3_opencensus_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_opencensus_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenCensusConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_opencensus_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_opencensus_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_opencensus_proto_depIdxs, EnumInfos: file_envoy_config_trace_v3_opencensus_proto_enumTypes, MessageInfos: file_envoy_config_trace_v3_opencensus_proto_msgTypes, }.Build() File_envoy_config_trace_v3_opencensus_proto = out.File file_envoy_config_trace_v3_opencensus_proto_rawDesc = nil file_envoy_config_trace_v3_opencensus_proto_goTypes = nil file_envoy_config_trace_v3_opencensus_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/opencensus.pb.validate.go000077500000000000000000000143711454502223200257160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/opencensus.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OpenCensusConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OpenCensusConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OpenCensusConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OpenCensusConfigMultiError, or nil if none found. func (m *OpenCensusConfig) ValidateAll() error { return m.validate(true) } func (m *OpenCensusConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTraceConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTraceConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "TraceConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StdoutExporterEnabled // no validation rules for StackdriverExporterEnabled // no validation rules for StackdriverProjectId // no validation rules for StackdriverAddress if all { switch v := interface{}(m.GetStackdriverGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStackdriverGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "StackdriverGrpcService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ZipkinExporterEnabled // no validation rules for ZipkinUrl // no validation rules for OcagentExporterEnabled // no validation rules for OcagentAddress if all { switch v := interface{}(m.GetOcagentGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOcagentGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenCensusConfigValidationError{ field: "OcagentGrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OpenCensusConfigMultiError(errors) } return nil } // OpenCensusConfigMultiError is an error wrapping multiple validation errors // returned by OpenCensusConfig.ValidateAll() if the designated constraints // aren't met. type OpenCensusConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OpenCensusConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OpenCensusConfigMultiError) AllErrors() []error { return m } // OpenCensusConfigValidationError is the validation error returned by // OpenCensusConfig.Validate if the designated constraints aren't met. type OpenCensusConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OpenCensusConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OpenCensusConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OpenCensusConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OpenCensusConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OpenCensusConfigValidationError) ErrorName() string { return "OpenCensusConfigValidationError" } // Error satisfies the builtin error interface func (e OpenCensusConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOpenCensusConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OpenCensusConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OpenCensusConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/opentelemetry.pb.go000077500000000000000000000312321454502223200246330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/opentelemetry.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the OpenTelemetry tracer. // // [#extension: envoy.tracers.opentelemetry] // // [#next-free-field: 6] type OpenTelemetryConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream gRPC cluster that will receive OTLP traces. // Note that the tracer drops traces if the server does not read data fast enough. // This field can be left empty to disable reporting traces to the gRPC service. // Only one of “grpc_service“, “http_service“ may be used. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // The upstream HTTP cluster that will receive OTLP traces. // This field can be left empty to disable reporting traces to the HTTP service. // Only one of “grpc_service“, “http_service“ may be used. // // .. note:: // // Note: The ``request_headers_to_add`` property in the OTLP HTTP exporter service // does not support the :ref:`format specifier ` as used for // :ref:`HTTP access logging `. // The values configured are added as HTTP headers on the OTLP export request // without any formatting applied. HttpService *v3.HttpService `protobuf:"bytes,3,opt,name=http_service,json=httpService,proto3" json:"http_service,omitempty"` // The name for the service. This will be populated in the ResourceSpan Resource attributes. // If it is not provided, it will default to "unknown_service:envoy". ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // An ordered list of resource detectors // [#extension-category: envoy.tracers.opentelemetry.resource_detectors] ResourceDetectors []*v3.TypedExtensionConfig `protobuf:"bytes,4,rep,name=resource_detectors,json=resourceDetectors,proto3" json:"resource_detectors,omitempty"` // Specifies the sampler to be used by the OpenTelemetry tracer. // The configured sampler implements the Sampler interface defined by the OpenTelemetry specification. // This field can be left empty. In this case, the default Envoy sampling decision is used. // // See: `OpenTelemetry sampler specification `_ // [#extension-category: envoy.tracers.opentelemetry.samplers] Sampler *v3.TypedExtensionConfig `protobuf:"bytes,5,opt,name=sampler,proto3" json:"sampler,omitempty"` } func (x *OpenTelemetryConfig) Reset() { *x = OpenTelemetryConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_opentelemetry_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OpenTelemetryConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpenTelemetryConfig) ProtoMessage() {} func (x *OpenTelemetryConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_opentelemetry_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OpenTelemetryConfig.ProtoReflect.Descriptor instead. func (*OpenTelemetryConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_opentelemetry_proto_rawDescGZIP(), []int{0} } func (x *OpenTelemetryConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *OpenTelemetryConfig) GetHttpService() *v3.HttpService { if x != nil { return x.HttpService } return nil } func (x *OpenTelemetryConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *OpenTelemetryConfig) GetResourceDetectors() []*v3.TypedExtensionConfig { if x != nil { return x.ResourceDetectors } return nil } func (x *OpenTelemetryConfig) GetSampler() *v3.TypedExtensionConfig { if x != nil { return x.Sampler } return nil } var File_envoy_config_trace_v3_opentelemetry_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_opentelemetry_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x03, 0x0a, 0x13, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x15, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0f, 0x12, 0x0d, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x15, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0f, 0x12, 0x0d, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x42, 0x89, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_opentelemetry_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_opentelemetry_proto_rawDescData = file_envoy_config_trace_v3_opentelemetry_proto_rawDesc ) func file_envoy_config_trace_v3_opentelemetry_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_opentelemetry_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_opentelemetry_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_opentelemetry_proto_rawDescData) }) return file_envoy_config_trace_v3_opentelemetry_proto_rawDescData } var file_envoy_config_trace_v3_opentelemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_opentelemetry_proto_goTypes = []interface{}{ (*OpenTelemetryConfig)(nil), // 0: envoy.config.trace.v3.OpenTelemetryConfig (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService (*v3.HttpService)(nil), // 2: envoy.config.core.v3.HttpService (*v3.TypedExtensionConfig)(nil), // 3: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_trace_v3_opentelemetry_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v3.OpenTelemetryConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 1: envoy.config.trace.v3.OpenTelemetryConfig.http_service:type_name -> envoy.config.core.v3.HttpService 3, // 2: envoy.config.trace.v3.OpenTelemetryConfig.resource_detectors:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 3: envoy.config.trace.v3.OpenTelemetryConfig.sampler:type_name -> envoy.config.core.v3.TypedExtensionConfig 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_opentelemetry_proto_init() } func file_envoy_config_trace_v3_opentelemetry_proto_init() { if File_envoy_config_trace_v3_opentelemetry_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_opentelemetry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenTelemetryConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_opentelemetry_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_opentelemetry_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_opentelemetry_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_opentelemetry_proto_msgTypes, }.Build() File_envoy_config_trace_v3_opentelemetry_proto = out.File file_envoy_config_trace_v3_opentelemetry_proto_rawDesc = nil file_envoy_config_trace_v3_opentelemetry_proto_goTypes = nil file_envoy_config_trace_v3_opentelemetry_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/opentelemetry.pb.validate.go000077500000000000000000000156211454502223200264270ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/opentelemetry.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OpenTelemetryConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OpenTelemetryConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OpenTelemetryConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OpenTelemetryConfigMultiError, or nil if none found. func (m *OpenTelemetryConfig) ValidateAll() error { return m.validate(true) } func (m *OpenTelemetryConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryConfigValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ServiceName for idx, item := range m.GetResourceDetectors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: fmt.Sprintf("ResourceDetectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: fmt.Sprintf("ResourceDetectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryConfigValidationError{ field: fmt.Sprintf("ResourceDetectors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetSampler()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "Sampler", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryConfigValidationError{ field: "Sampler", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSampler()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryConfigValidationError{ field: "Sampler", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OpenTelemetryConfigMultiError(errors) } return nil } // OpenTelemetryConfigMultiError is an error wrapping multiple validation // errors returned by OpenTelemetryConfig.ValidateAll() if the designated // constraints aren't met. type OpenTelemetryConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OpenTelemetryConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OpenTelemetryConfigMultiError) AllErrors() []error { return m } // OpenTelemetryConfigValidationError is the validation error returned by // OpenTelemetryConfig.Validate if the designated constraints aren't met. type OpenTelemetryConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OpenTelemetryConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OpenTelemetryConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OpenTelemetryConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OpenTelemetryConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OpenTelemetryConfigValidationError) ErrorName() string { return "OpenTelemetryConfigValidationError" } // Error satisfies the builtin error interface func (e OpenTelemetryConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOpenTelemetryConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OpenTelemetryConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OpenTelemetryConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/service.pb.go000077500000000000000000000171151454502223200234030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/service.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration structure. type TraceServiceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The upstream gRPC cluster that hosts the metrics service. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *TraceServiceConfig) Reset() { *x = TraceServiceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceServiceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceServiceConfig) ProtoMessage() {} func (x *TraceServiceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceServiceConfig.ProtoReflect.Descriptor instead. func (*TraceServiceConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_service_proto_rawDescGZIP(), []int{0} } func (x *TraceServiceConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } var File_envoy_config_trace_v3_service_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_service_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x83, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_service_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_service_proto_rawDescData = file_envoy_config_trace_v3_service_proto_rawDesc ) func file_envoy_config_trace_v3_service_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_service_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_service_proto_rawDescData) }) return file_envoy_config_trace_v3_service_proto_rawDescData } var file_envoy_config_trace_v3_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_service_proto_goTypes = []interface{}{ (*TraceServiceConfig)(nil), // 0: envoy.config.trace.v3.TraceServiceConfig (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService } var file_envoy_config_trace_v3_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v3.TraceServiceConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_service_proto_init() } func file_envoy_config_trace_v3_service_proto_init() { if File_envoy_config_trace_v3_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceServiceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_service_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_service_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_service_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_service_proto_msgTypes, }.Build() File_envoy_config_trace_v3_service_proto = out.File file_envoy_config_trace_v3_service_proto_rawDesc = nil file_envoy_config_trace_v3_service_proto_goTypes = nil file_envoy_config_trace_v3_service_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/service.pb.validate.go000077500000000000000000000105651454502223200251750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/service.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TraceServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TraceServiceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceServiceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TraceServiceConfigMultiError, or nil if none found. func (m *TraceServiceConfig) ValidateAll() error { return m.validate(true) } func (m *TraceServiceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := TraceServiceConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceServiceConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TraceServiceConfigMultiError(errors) } return nil } // TraceServiceConfigMultiError is an error wrapping multiple validation errors // returned by TraceServiceConfig.ValidateAll() if the designated constraints // aren't met. type TraceServiceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceServiceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceServiceConfigMultiError) AllErrors() []error { return m } // TraceServiceConfigValidationError is the validation error returned by // TraceServiceConfig.Validate if the designated constraints aren't met. type TraceServiceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceServiceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceServiceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceServiceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceServiceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceServiceConfigValidationError) ErrorName() string { return "TraceServiceConfigValidationError" } // Error satisfies the builtin error interface func (e TraceServiceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceServiceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceServiceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceServiceConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/skywalking.pb.go000077500000000000000000000365341454502223200241340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/skywalking.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the SkyWalking tracer. Please note that if SkyWalking tracer is used as the // provider of tracing, then // :ref:`spawn_upstream_span ` // in the tracing config must be set to true to get the correct topology and tracing data. Moreover, SkyWalking // Tracer does not support SkyWalking extension header (“sw8-x“) temporarily. // [#extension: envoy.tracers.skywalking] type SkyWalkingConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SkyWalking collector service. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` ClientConfig *ClientConfig `protobuf:"bytes,2,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"` } func (x *SkyWalkingConfig) Reset() { *x = SkyWalkingConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_skywalking_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SkyWalkingConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SkyWalkingConfig) ProtoMessage() {} func (x *SkyWalkingConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_skywalking_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SkyWalkingConfig.ProtoReflect.Descriptor instead. func (*SkyWalkingConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_skywalking_proto_rawDescGZIP(), []int{0} } func (x *SkyWalkingConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *SkyWalkingConfig) GetClientConfig() *ClientConfig { if x != nil { return x.ClientConfig } return nil } // Client config for SkyWalking tracer. type ClientConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Service name for SkyWalking tracer. If this field is empty, then local service cluster name // that configured by :ref:`Bootstrap node ` // message's :ref:`cluster ` field or command line // option :option:`--service-cluster` will be used. If both this field and local service cluster // name are empty, “EnvoyProxy“ is used as the service name by default. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Service instance name for SkyWalking tracer. If this field is empty, then local service node // that configured by :ref:`Bootstrap node ` // message's :ref:`id ` field or command line option // :option:`--service-node` will be used. If both this field and local service node are empty, // “EnvoyProxy“ is used as the instance name by default. InstanceName string `protobuf:"bytes,2,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` // Authentication token config for SkyWalking. SkyWalking can use token authentication to secure // that monitoring application data can be trusted. In current version, Token is considered as a // simple string. // [#comment:TODO(wbpcode): Get backend token through the SDS API.] // // Types that are assignable to BackendTokenSpecifier: // // *ClientConfig_BackendToken BackendTokenSpecifier isClientConfig_BackendTokenSpecifier `protobuf_oneof:"backend_token_specifier"` // Envoy caches the segment in memory when the SkyWalking backend service is temporarily unavailable. // This field specifies the maximum number of segments that can be cached. If not specified, the // default is 1024. MaxCacheSize *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_cache_size,json=maxCacheSize,proto3" json:"max_cache_size,omitempty"` } func (x *ClientConfig) Reset() { *x = ClientConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_skywalking_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientConfig) ProtoMessage() {} func (x *ClientConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_skywalking_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead. func (*ClientConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_skywalking_proto_rawDescGZIP(), []int{1} } func (x *ClientConfig) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *ClientConfig) GetInstanceName() string { if x != nil { return x.InstanceName } return "" } func (m *ClientConfig) GetBackendTokenSpecifier() isClientConfig_BackendTokenSpecifier { if m != nil { return m.BackendTokenSpecifier } return nil } func (x *ClientConfig) GetBackendToken() string { if x, ok := x.GetBackendTokenSpecifier().(*ClientConfig_BackendToken); ok { return x.BackendToken } return "" } func (x *ClientConfig) GetMaxCacheSize() *wrappers.UInt32Value { if x != nil { return x.MaxCacheSize } return nil } type isClientConfig_BackendTokenSpecifier interface { isClientConfig_BackendTokenSpecifier() } type ClientConfig_BackendToken struct { // Inline authentication token string. BackendToken string `protobuf:"bytes,3,opt,name=backend_token,json=backendToken,proto3,oneof"` } func (*ClientConfig_BackendToken) isClientConfig_BackendTokenSpecifier() {} var File_envoy_config_trace_v3_skywalking_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_skywalking_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x53, 0x6b, 0x79, 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe4, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0xb9, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2d, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x53, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_skywalking_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_skywalking_proto_rawDescData = file_envoy_config_trace_v3_skywalking_proto_rawDesc ) func file_envoy_config_trace_v3_skywalking_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_skywalking_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_skywalking_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_skywalking_proto_rawDescData) }) return file_envoy_config_trace_v3_skywalking_proto_rawDescData } var file_envoy_config_trace_v3_skywalking_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_trace_v3_skywalking_proto_goTypes = []interface{}{ (*SkyWalkingConfig)(nil), // 0: envoy.config.trace.v3.SkyWalkingConfig (*ClientConfig)(nil), // 1: envoy.config.trace.v3.ClientConfig (*v3.GrpcService)(nil), // 2: envoy.config.core.v3.GrpcService (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value } var file_envoy_config_trace_v3_skywalking_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v3.SkyWalkingConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 1, // 1: envoy.config.trace.v3.SkyWalkingConfig.client_config:type_name -> envoy.config.trace.v3.ClientConfig 3, // 2: envoy.config.trace.v3.ClientConfig.max_cache_size:type_name -> google.protobuf.UInt32Value 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_skywalking_proto_init() } func file_envoy_config_trace_v3_skywalking_proto_init() { if File_envoy_config_trace_v3_skywalking_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_skywalking_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SkyWalkingConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_trace_v3_skywalking_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_config_trace_v3_skywalking_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ClientConfig_BackendToken)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_skywalking_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_skywalking_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_skywalking_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_skywalking_proto_msgTypes, }.Build() File_envoy_config_trace_v3_skywalking_proto = out.File file_envoy_config_trace_v3_skywalking_proto_rawDesc = nil file_envoy_config_trace_v3_skywalking_proto_goTypes = nil file_envoy_config_trace_v3_skywalking_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/skywalking.pb.validate.go000077500000000000000000000220511454502223200257110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/skywalking.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SkyWalkingConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SkyWalkingConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SkyWalkingConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SkyWalkingConfigMultiError, or nil if none found. func (m *SkyWalkingConfig) ValidateAll() error { return m.validate(true) } func (m *SkyWalkingConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := SkyWalkingConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SkyWalkingConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SkyWalkingConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SkyWalkingConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetClientConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SkyWalkingConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SkyWalkingConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SkyWalkingConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SkyWalkingConfigMultiError(errors) } return nil } // SkyWalkingConfigMultiError is an error wrapping multiple validation errors // returned by SkyWalkingConfig.ValidateAll() if the designated constraints // aren't met. type SkyWalkingConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SkyWalkingConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SkyWalkingConfigMultiError) AllErrors() []error { return m } // SkyWalkingConfigValidationError is the validation error returned by // SkyWalkingConfig.Validate if the designated constraints aren't met. type SkyWalkingConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SkyWalkingConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SkyWalkingConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SkyWalkingConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SkyWalkingConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SkyWalkingConfigValidationError) ErrorName() string { return "SkyWalkingConfigValidationError" } // Error satisfies the builtin error interface func (e SkyWalkingConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSkyWalkingConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SkyWalkingConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SkyWalkingConfigValidationError{} // Validate checks the field values on ClientConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClientConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClientConfigMultiError, or // nil if none found. func (m *ClientConfig) ValidateAll() error { return m.validate(true) } func (m *ClientConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ServiceName // no validation rules for InstanceName if all { switch v := interface{}(m.GetMaxCacheSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "MaxCacheSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "MaxCacheSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxCacheSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: "MaxCacheSize", reason: "embedded message failed validation", cause: err, } } } switch v := m.BackendTokenSpecifier.(type) { case *ClientConfig_BackendToken: if v == nil { err := ClientConfigValidationError{ field: "BackendTokenSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for BackendToken default: _ = v // ensures v is used } if len(errors) > 0 { return ClientConfigMultiError(errors) } return nil } // ClientConfigMultiError is an error wrapping multiple validation errors // returned by ClientConfig.ValidateAll() if the designated constraints aren't met. type ClientConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientConfigMultiError) AllErrors() []error { return m } // ClientConfigValidationError is the validation error returned by // ClientConfig.Validate if the designated constraints aren't met. type ClientConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientConfigValidationError) ErrorName() string { return "ClientConfigValidationError" } // Error satisfies the builtin error interface func (e ClientConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientConfigValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/trace.pb.go000077500000000000000000000125541454502223200230430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/trace.proto package tracev3 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_config_trace_v3_trace_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_trace_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x79, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x50, 0x00, 0x50, 0x01, 0x50, 0x02, 0x50, 0x03, 0x50, 0x04, 0x50, 0x05, 0x50, 0x06, 0x50, 0x07, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_config_trace_v3_trace_proto_goTypes = []interface{}{} var file_envoy_config_trace_v3_trace_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_trace_proto_init() } func file_envoy_config_trace_v3_trace_proto_init() { if File_envoy_config_trace_v3_trace_proto != nil { return } file_envoy_config_trace_v3_datadog_proto_init() file_envoy_config_trace_v3_dynamic_ot_proto_init() file_envoy_config_trace_v3_http_tracer_proto_init() file_envoy_config_trace_v3_lightstep_proto_init() file_envoy_config_trace_v3_opencensus_proto_init() file_envoy_config_trace_v3_opentelemetry_proto_init() file_envoy_config_trace_v3_service_proto_init() file_envoy_config_trace_v3_zipkin_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_trace_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_trace_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_trace_proto_depIdxs, }.Build() File_envoy_config_trace_v3_trace_proto = out.File file_envoy_config_trace_v3_trace_proto_rawDesc = nil file_envoy_config_trace_v3_trace_proto_goTypes = nil file_envoy_config_trace_v3_trace_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/trace.pb.validate.go000077500000000000000000000010731454502223200246250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/trace.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/config/trace/v3/xray.pb.go000077500000000000000000000335411454502223200227270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/xray.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.tracers.xray] type XRayConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The UDP endpoint of the X-Ray Daemon where the spans will be sent. // If this value is not set, the default value of 127.0.0.1:2000 will be used. DaemonEndpoint *v3.SocketAddress `protobuf:"bytes,1,opt,name=daemon_endpoint,json=daemonEndpoint,proto3" json:"daemon_endpoint,omitempty"` // The name of the X-Ray segment. SegmentName string `protobuf:"bytes,2,opt,name=segment_name,json=segmentName,proto3" json:"segment_name,omitempty"` // The location of a local custom sampling rules JSON file. // For an example of the sampling rules see: // `X-Ray SDK documentation // `_ SamplingRuleManifest *v3.DataSource `protobuf:"bytes,3,opt,name=sampling_rule_manifest,json=samplingRuleManifest,proto3" json:"sampling_rule_manifest,omitempty"` // Optional custom fields to be added to each trace segment. // see: `X-Ray Segment Document documentation // `__ SegmentFields *XRayConfig_SegmentFields `protobuf:"bytes,4,opt,name=segment_fields,json=segmentFields,proto3" json:"segment_fields,omitempty"` } func (x *XRayConfig) Reset() { *x = XRayConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_xray_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XRayConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*XRayConfig) ProtoMessage() {} func (x *XRayConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_xray_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XRayConfig.ProtoReflect.Descriptor instead. func (*XRayConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_xray_proto_rawDescGZIP(), []int{0} } func (x *XRayConfig) GetDaemonEndpoint() *v3.SocketAddress { if x != nil { return x.DaemonEndpoint } return nil } func (x *XRayConfig) GetSegmentName() string { if x != nil { return x.SegmentName } return "" } func (x *XRayConfig) GetSamplingRuleManifest() *v3.DataSource { if x != nil { return x.SamplingRuleManifest } return nil } func (x *XRayConfig) GetSegmentFields() *XRayConfig_SegmentFields { if x != nil { return x.SegmentFields } return nil } type XRayConfig_SegmentFields struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of AWS resource, e.g. "AWS::AppMesh::Proxy". Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` // AWS resource metadata dictionary. // See: `X-Ray Segment Document documentation `__ Aws *_struct.Struct `protobuf:"bytes,2,opt,name=aws,proto3" json:"aws,omitempty"` } func (x *XRayConfig_SegmentFields) Reset() { *x = XRayConfig_SegmentFields{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_xray_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XRayConfig_SegmentFields) String() string { return protoimpl.X.MessageStringOf(x) } func (*XRayConfig_SegmentFields) ProtoMessage() {} func (x *XRayConfig_SegmentFields) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_xray_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XRayConfig_SegmentFields.ProtoReflect.Descriptor instead. func (*XRayConfig_SegmentFields) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_xray_proto_rawDescGZIP(), []int{0, 0} } func (x *XRayConfig_SegmentFields) GetOrigin() string { if x != nil { return x.Origin } return "" } func (x *XRayConfig_SegmentFields) GetAws() *_struct.Struct { if x != nil { return x.Aws } return nil } var File_envoy_config_trace_v3_xray_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_xray_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x03, 0x0a, 0x0a, 0x58, 0x52, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x16, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x14, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x58, 0x52, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x52, 0x0a, 0x0d, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x03, 0x61, 0x77, 0x73, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x58, 0x52, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xad, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x27, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x58, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_xray_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_xray_proto_rawDescData = file_envoy_config_trace_v3_xray_proto_rawDesc ) func file_envoy_config_trace_v3_xray_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_xray_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_xray_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_xray_proto_rawDescData) }) return file_envoy_config_trace_v3_xray_proto_rawDescData } var file_envoy_config_trace_v3_xray_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_config_trace_v3_xray_proto_goTypes = []interface{}{ (*XRayConfig)(nil), // 0: envoy.config.trace.v3.XRayConfig (*XRayConfig_SegmentFields)(nil), // 1: envoy.config.trace.v3.XRayConfig.SegmentFields (*v3.SocketAddress)(nil), // 2: envoy.config.core.v3.SocketAddress (*v3.DataSource)(nil), // 3: envoy.config.core.v3.DataSource (*_struct.Struct)(nil), // 4: google.protobuf.Struct } var file_envoy_config_trace_v3_xray_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v3.XRayConfig.daemon_endpoint:type_name -> envoy.config.core.v3.SocketAddress 3, // 1: envoy.config.trace.v3.XRayConfig.sampling_rule_manifest:type_name -> envoy.config.core.v3.DataSource 1, // 2: envoy.config.trace.v3.XRayConfig.segment_fields:type_name -> envoy.config.trace.v3.XRayConfig.SegmentFields 4, // 3: envoy.config.trace.v3.XRayConfig.SegmentFields.aws:type_name -> google.protobuf.Struct 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_xray_proto_init() } func file_envoy_config_trace_v3_xray_proto_init() { if File_envoy_config_trace_v3_xray_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_xray_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XRayConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_config_trace_v3_xray_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XRayConfig_SegmentFields); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_xray_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_xray_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_xray_proto_depIdxs, MessageInfos: file_envoy_config_trace_v3_xray_proto_msgTypes, }.Build() File_envoy_config_trace_v3_xray_proto = out.File file_envoy_config_trace_v3_xray_proto_rawDesc = nil file_envoy_config_trace_v3_xray_proto_goTypes = nil file_envoy_config_trace_v3_xray_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/xray.pb.validate.go000077500000000000000000000232061454502223200245140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/xray.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on XRayConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *XRayConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on XRayConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in XRayConfigMultiError, or // nil if none found. func (m *XRayConfig) ValidateAll() error { return m.validate(true) } func (m *XRayConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDaemonEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDaemonEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfigValidationError{ field: "DaemonEndpoint", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetSegmentName()) < 1 { err := XRayConfigValidationError{ field: "SegmentName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSamplingRuleManifest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSamplingRuleManifest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfigValidationError{ field: "SamplingRuleManifest", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSegmentFields()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SegmentFields", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfigValidationError{ field: "SegmentFields", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSegmentFields()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfigValidationError{ field: "SegmentFields", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return XRayConfigMultiError(errors) } return nil } // XRayConfigMultiError is an error wrapping multiple validation errors // returned by XRayConfig.ValidateAll() if the designated constraints aren't met. type XRayConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m XRayConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m XRayConfigMultiError) AllErrors() []error { return m } // XRayConfigValidationError is the validation error returned by // XRayConfig.Validate if the designated constraints aren't met. type XRayConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e XRayConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e XRayConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e XRayConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e XRayConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e XRayConfigValidationError) ErrorName() string { return "XRayConfigValidationError" } // Error satisfies the builtin error interface func (e XRayConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sXRayConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = XRayConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = XRayConfigValidationError{} // Validate checks the field values on XRayConfig_SegmentFields with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *XRayConfig_SegmentFields) Validate() error { return m.validate(false) } // ValidateAll checks the field values on XRayConfig_SegmentFields with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // XRayConfig_SegmentFieldsMultiError, or nil if none found. func (m *XRayConfig_SegmentFields) ValidateAll() error { return m.validate(true) } func (m *XRayConfig_SegmentFields) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Origin if all { switch v := interface{}(m.GetAws()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, XRayConfig_SegmentFieldsValidationError{ field: "Aws", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, XRayConfig_SegmentFieldsValidationError{ field: "Aws", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAws()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return XRayConfig_SegmentFieldsValidationError{ field: "Aws", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return XRayConfig_SegmentFieldsMultiError(errors) } return nil } // XRayConfig_SegmentFieldsMultiError is an error wrapping multiple validation // errors returned by XRayConfig_SegmentFields.ValidateAll() if the designated // constraints aren't met. type XRayConfig_SegmentFieldsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m XRayConfig_SegmentFieldsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m XRayConfig_SegmentFieldsMultiError) AllErrors() []error { return m } // XRayConfig_SegmentFieldsValidationError is the validation error returned by // XRayConfig_SegmentFields.Validate if the designated constraints aren't met. type XRayConfig_SegmentFieldsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e XRayConfig_SegmentFieldsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e XRayConfig_SegmentFieldsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e XRayConfig_SegmentFieldsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e XRayConfig_SegmentFieldsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e XRayConfig_SegmentFieldsValidationError) ErrorName() string { return "XRayConfig_SegmentFieldsValidationError" } // Error satisfies the builtin error interface func (e XRayConfig_SegmentFieldsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sXRayConfig_SegmentFields.%s: %s%s", key, e.field, e.reason, cause) } var _ error = XRayConfig_SegmentFieldsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = XRayConfig_SegmentFieldsValidationError{} go-control-plane-0.12.0/envoy/config/trace/v3/zipkin.pb.go000077500000000000000000000426711454502223200232540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/trace/v3/zipkin.proto package tracev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Available Zipkin collector endpoint versions. type ZipkinConfig_CollectorEndpointVersion int32 const ( // Zipkin API v1, JSON over HTTP. // [#comment: The default implementation of Zipkin client before this field is added was only v1 // and the way user configure this was by not explicitly specifying the version. Consequently, // before this is added, the corresponding Zipkin collector expected to receive v1 payload. // Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when // user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, // since in Zipkin realm this v1 version is considered to be not preferable anymore.] // // Deprecated: Marked as deprecated in envoy/config/trace/v3/zipkin.proto. ZipkinConfig_DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE ZipkinConfig_CollectorEndpointVersion = 0 // Zipkin API v2, JSON over HTTP. ZipkinConfig_HTTP_JSON ZipkinConfig_CollectorEndpointVersion = 1 // Zipkin API v2, protobuf over HTTP. ZipkinConfig_HTTP_PROTO ZipkinConfig_CollectorEndpointVersion = 2 // [#not-implemented-hide:] ZipkinConfig_GRPC ZipkinConfig_CollectorEndpointVersion = 3 ) // Enum value maps for ZipkinConfig_CollectorEndpointVersion. var ( ZipkinConfig_CollectorEndpointVersion_name = map[int32]string{ 0: "DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE", 1: "HTTP_JSON", 2: "HTTP_PROTO", 3: "GRPC", } ZipkinConfig_CollectorEndpointVersion_value = map[string]int32{ "DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE": 0, "HTTP_JSON": 1, "HTTP_PROTO": 2, "GRPC": 3, } ) func (x ZipkinConfig_CollectorEndpointVersion) Enum() *ZipkinConfig_CollectorEndpointVersion { p := new(ZipkinConfig_CollectorEndpointVersion) *p = x return p } func (x ZipkinConfig_CollectorEndpointVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ZipkinConfig_CollectorEndpointVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_config_trace_v3_zipkin_proto_enumTypes[0].Descriptor() } func (ZipkinConfig_CollectorEndpointVersion) Type() protoreflect.EnumType { return &file_envoy_config_trace_v3_zipkin_proto_enumTypes[0] } func (x ZipkinConfig_CollectorEndpointVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ZipkinConfig_CollectorEndpointVersion.Descriptor instead. func (ZipkinConfig_CollectorEndpointVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_config_trace_v3_zipkin_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the Zipkin tracer. // [#extension: envoy.tracers.zipkin] // [#next-free-field: 8] type ZipkinConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cluster manager cluster that hosts the Zipkin collectors. CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"` // The API endpoint of the Zipkin service where the spans will be sent. When // using a standard Zipkin installation. CollectorEndpoint string `protobuf:"bytes,2,opt,name=collector_endpoint,json=collectorEndpoint,proto3" json:"collector_endpoint,omitempty"` // Determines whether a 128bit trace id will be used when creating a new // trace instance. The default value is false, which will result in a 64 bit trace id being used. TraceId_128Bit bool `protobuf:"varint,3,opt,name=trace_id_128bit,json=traceId128bit,proto3" json:"trace_id_128bit,omitempty"` // Determines whether client and server spans will share the same span context. // The default value is true. SharedSpanContext *wrappers.BoolValue `protobuf:"bytes,4,opt,name=shared_span_context,json=sharedSpanContext,proto3" json:"shared_span_context,omitempty"` // Determines the selected collector endpoint version. CollectorEndpointVersion ZipkinConfig_CollectorEndpointVersion `protobuf:"varint,5,opt,name=collector_endpoint_version,json=collectorEndpointVersion,proto3,enum=envoy.config.trace.v3.ZipkinConfig_CollectorEndpointVersion" json:"collector_endpoint_version,omitempty"` // Optional hostname to use when sending spans to the collector_cluster. Useful for collectors // that require a specific hostname. Defaults to :ref:`collector_cluster ` above. CollectorHostname string `protobuf:"bytes,6,opt,name=collector_hostname,json=collectorHostname,proto3" json:"collector_hostname,omitempty"` // If this is set to true, then Envoy will be treated as an independent hop in trace chain. A complete span pair will be created for a single // request. Server span will be created for the downstream request and client span will be created for the related upstream request. // This should be set to true in the following cases: // // * The Envoy Proxy is used as gateway or ingress. // * The Envoy Proxy is used as sidecar but inbound traffic capturing or outbound traffic capturing is disabled. // * Any case that the :ref:`start_child_span of router ` is set to true. // // .. attention:: // // If this is set to true, then the // :ref:`start_child_span of router ` // SHOULD be set to true also to ensure the correctness of trace chain. SplitSpansForRequest bool `protobuf:"varint,7,opt,name=split_spans_for_request,json=splitSpansForRequest,proto3" json:"split_spans_for_request,omitempty"` } func (x *ZipkinConfig) Reset() { *x = ZipkinConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_trace_v3_zipkin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZipkinConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZipkinConfig) ProtoMessage() {} func (x *ZipkinConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_trace_v3_zipkin_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ZipkinConfig.ProtoReflect.Descriptor instead. func (*ZipkinConfig) Descriptor() ([]byte, []int) { return file_envoy_config_trace_v3_zipkin_proto_rawDescGZIP(), []int{0} } func (x *ZipkinConfig) GetCollectorCluster() string { if x != nil { return x.CollectorCluster } return "" } func (x *ZipkinConfig) GetCollectorEndpoint() string { if x != nil { return x.CollectorEndpoint } return "" } func (x *ZipkinConfig) GetTraceId_128Bit() bool { if x != nil { return x.TraceId_128Bit } return false } func (x *ZipkinConfig) GetSharedSpanContext() *wrappers.BoolValue { if x != nil { return x.SharedSpanContext } return nil } func (x *ZipkinConfig) GetCollectorEndpointVersion() ZipkinConfig_CollectorEndpointVersion { if x != nil { return x.CollectorEndpointVersion } return ZipkinConfig_DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE } func (x *ZipkinConfig) GetCollectorHostname() string { if x != nil { return x.CollectorHostname } return "" } func (x *ZipkinConfig) GetSplitSpansForRequest() bool { if x != nil { return x.SplitSpansForRequest } return false } var File_envoy_config_trace_v3_zipkin_proto protoreflect.FileDescriptor var file_envoy_config_trace_v3_zipkin_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x04, 0x0a, 0x0c, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x32, 0x38, 0x62, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x31, 0x32, 0x38, 0x62, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x7a, 0x0a, 0x1a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x25, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x00, 0x1a, 0x08, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb1, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x29, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_trace_v3_zipkin_proto_rawDescOnce sync.Once file_envoy_config_trace_v3_zipkin_proto_rawDescData = file_envoy_config_trace_v3_zipkin_proto_rawDesc ) func file_envoy_config_trace_v3_zipkin_proto_rawDescGZIP() []byte { file_envoy_config_trace_v3_zipkin_proto_rawDescOnce.Do(func() { file_envoy_config_trace_v3_zipkin_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_trace_v3_zipkin_proto_rawDescData) }) return file_envoy_config_trace_v3_zipkin_proto_rawDescData } var file_envoy_config_trace_v3_zipkin_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_config_trace_v3_zipkin_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_trace_v3_zipkin_proto_goTypes = []interface{}{ (ZipkinConfig_CollectorEndpointVersion)(0), // 0: envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion (*ZipkinConfig)(nil), // 1: envoy.config.trace.v3.ZipkinConfig (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue } var file_envoy_config_trace_v3_zipkin_proto_depIdxs = []int32{ 2, // 0: envoy.config.trace.v3.ZipkinConfig.shared_span_context:type_name -> google.protobuf.BoolValue 0, // 1: envoy.config.trace.v3.ZipkinConfig.collector_endpoint_version:type_name -> envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_zipkin_proto_init() } func file_envoy_config_trace_v3_zipkin_proto_init() { if File_envoy_config_trace_v3_zipkin_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_trace_v3_zipkin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZipkinConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_trace_v3_zipkin_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_trace_v3_zipkin_proto_goTypes, DependencyIndexes: file_envoy_config_trace_v3_zipkin_proto_depIdxs, EnumInfos: file_envoy_config_trace_v3_zipkin_proto_enumTypes, MessageInfos: file_envoy_config_trace_v3_zipkin_proto_msgTypes, }.Build() File_envoy_config_trace_v3_zipkin_proto = out.File file_envoy_config_trace_v3_zipkin_proto_rawDesc = nil file_envoy_config_trace_v3_zipkin_proto_goTypes = nil file_envoy_config_trace_v3_zipkin_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/trace/v3/zipkin.pb.validate.go000077500000000000000000000113201454502223200250270ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/trace/v3/zipkin.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ZipkinConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ZipkinConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ZipkinConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ZipkinConfigMultiError, or // nil if none found. func (m *ZipkinConfig) ValidateAll() error { return m.validate(true) } func (m *ZipkinConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCollectorCluster()) < 1 { err := ZipkinConfigValidationError{ field: "CollectorCluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetCollectorEndpoint()) < 1 { err := ZipkinConfigValidationError{ field: "CollectorEndpoint", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for TraceId_128Bit if all { switch v := interface{}(m.GetSharedSpanContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSharedSpanContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZipkinConfigValidationError{ field: "SharedSpanContext", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CollectorEndpointVersion // no validation rules for CollectorHostname // no validation rules for SplitSpansForRequest if len(errors) > 0 { return ZipkinConfigMultiError(errors) } return nil } // ZipkinConfigMultiError is an error wrapping multiple validation errors // returned by ZipkinConfig.ValidateAll() if the designated constraints aren't met. type ZipkinConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZipkinConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZipkinConfigMultiError) AllErrors() []error { return m } // ZipkinConfigValidationError is the validation error returned by // ZipkinConfig.Validate if the designated constraints aren't met. type ZipkinConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZipkinConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZipkinConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZipkinConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZipkinConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZipkinConfigValidationError) ErrorName() string { return "ZipkinConfigValidationError" } // Error satisfies the builtin error interface func (e ZipkinConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZipkinConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZipkinConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZipkinConfigValidationError{} go-control-plane-0.12.0/envoy/config/transport_socket/000077500000000000000000000000001454502223200227625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/alts/000077500000000000000000000000001454502223200237255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/alts/v2alpha/000077500000000000000000000000001454502223200252625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/alts/v2alpha/alts.pb.go000077500000000000000000000211031454502223200271540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/transport_socket/alts/v2alpha/alts.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for ALTS transport socket. This provides Google's ALTS protocol to Envoy. // https://cloud.google.com/security/encryption-in-transit/application-layer-transport-security/ type Alts struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The location of a handshaker service, this is usually 169.254.169.254:8080 // on GCE. HandshakerService string `protobuf:"bytes,1,opt,name=handshaker_service,json=handshakerService,proto3" json:"handshaker_service,omitempty"` // The acceptable service accounts from peer, peers not in the list will be rejected in the // handshake validation step. If empty, no validation will be performed. PeerServiceAccounts []string `protobuf:"bytes,2,rep,name=peer_service_accounts,json=peerServiceAccounts,proto3" json:"peer_service_accounts,omitempty"` } func (x *Alts) Reset() { *x = Alts{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_transport_socket_alts_v2alpha_alts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Alts) String() string { return protoimpl.X.MessageStringOf(x) } func (*Alts) ProtoMessage() {} func (x *Alts) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_transport_socket_alts_v2alpha_alts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Alts.ProtoReflect.Descriptor instead. func (*Alts) Descriptor() ([]byte, []int) { return file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescGZIP(), []int{0} } func (x *Alts) GetHandshakerService() string { if x != nil { return x.HandshakerService } return "" } func (x *Alts) GetPeerServiceAccounts() []string { if x != nil { return x.PeerServiceAccounts } return nil } var File_envoy_config_transport_socket_alts_v2alpha_alts_proto protoreflect.FileDescriptor var file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x04, 0x41, 0x6c, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x12, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x11, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x42, 0xd4, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2c, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x09, 0x41, 0x6c, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescOnce sync.Once file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescData = file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDesc ) func file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescGZIP() []byte { file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescOnce.Do(func() { file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescData) }) return file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDescData } var file_envoy_config_transport_socket_alts_v2alpha_alts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_transport_socket_alts_v2alpha_alts_proto_goTypes = []interface{}{ (*Alts)(nil), // 0: envoy.config.transport_socket.alts.v2alpha.Alts } var file_envoy_config_transport_socket_alts_v2alpha_alts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_transport_socket_alts_v2alpha_alts_proto_init() } func file_envoy_config_transport_socket_alts_v2alpha_alts_proto_init() { if File_envoy_config_transport_socket_alts_v2alpha_alts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_transport_socket_alts_v2alpha_alts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Alts); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_transport_socket_alts_v2alpha_alts_proto_goTypes, DependencyIndexes: file_envoy_config_transport_socket_alts_v2alpha_alts_proto_depIdxs, MessageInfos: file_envoy_config_transport_socket_alts_v2alpha_alts_proto_msgTypes, }.Build() File_envoy_config_transport_socket_alts_v2alpha_alts_proto = out.File file_envoy_config_transport_socket_alts_v2alpha_alts_proto_rawDesc = nil file_envoy_config_transport_socket_alts_v2alpha_alts_proto_goTypes = nil file_envoy_config_transport_socket_alts_v2alpha_alts_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/transport_socket/alts/v2alpha/alts.pb.validate.go000077500000000000000000000063361454502223200307570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/transport_socket/alts/v2alpha/alts.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Alts with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Alts) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Alts with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AltsMultiError, or nil if none found. func (m *Alts) ValidateAll() error { return m.validate(true) } func (m *Alts) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHandshakerService()) < 1 { err := AltsValidationError{ field: "HandshakerService", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AltsMultiError(errors) } return nil } // AltsMultiError is an error wrapping multiple validation errors returned by // Alts.ValidateAll() if the designated constraints aren't met. type AltsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AltsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AltsMultiError) AllErrors() []error { return m } // AltsValidationError is the validation error returned by Alts.Validate if the // designated constraints aren't met. type AltsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AltsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AltsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AltsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AltsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AltsValidationError) ErrorName() string { return "AltsValidationError" } // Error satisfies the builtin error interface func (e AltsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAlts.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AltsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AltsValidationError{} go-control-plane-0.12.0/envoy/config/transport_socket/raw_buffer/000077500000000000000000000000001454502223200251045ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/raw_buffer/v2/000077500000000000000000000000001454502223200254335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/raw_buffer/v2/raw_buffer.pb.go000077500000000000000000000165071454502223200305200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/transport_socket/raw_buffer/v2/raw_buffer.proto package raw_bufferv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for raw buffer transport socket. type RawBuffer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RawBuffer) Reset() { *x = RawBuffer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RawBuffer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawBuffer) ProtoMessage() {} func (x *RawBuffer) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawBuffer.ProtoReflect.Descriptor instead. func (*RawBuffer) Descriptor() ([]byte, []int) { return file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescGZIP(), []int{0} } var File_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto protoreflect.FileDescriptor var file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0xee, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x32, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescOnce sync.Once file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescData = file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDesc ) func file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescGZIP() []byte { file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescOnce.Do(func() { file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescData) }) return file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDescData } var file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_goTypes = []interface{}{ (*RawBuffer)(nil), // 0: envoy.config.transport_socket.raw_buffer.v2.RawBuffer } var file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_init() } func file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_init() { if File_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RawBuffer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_goTypes, DependencyIndexes: file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_depIdxs, MessageInfos: file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_msgTypes, }.Build() File_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto = out.File file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_rawDesc = nil file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_goTypes = nil file_envoy_config_transport_socket_raw_buffer_v2_raw_buffer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/transport_socket/raw_buffer/v2/raw_buffer.pb.validate.go000077500000000000000000000062131454502223200323010ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/transport_socket/raw_buffer/v2/raw_buffer.proto package raw_bufferv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RawBuffer with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RawBuffer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RawBuffer with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RawBufferMultiError, or nil // if none found. func (m *RawBuffer) ValidateAll() error { return m.validate(true) } func (m *RawBuffer) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RawBufferMultiError(errors) } return nil } // RawBufferMultiError is an error wrapping multiple validation errors returned // by RawBuffer.ValidateAll() if the designated constraints aren't met. type RawBufferMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RawBufferMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RawBufferMultiError) AllErrors() []error { return m } // RawBufferValidationError is the validation error returned by // RawBuffer.Validate if the designated constraints aren't met. type RawBufferValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RawBufferValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RawBufferValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RawBufferValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RawBufferValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RawBufferValidationError) ErrorName() string { return "RawBufferValidationError" } // Error satisfies the builtin error interface func (e RawBufferValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRawBuffer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RawBufferValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RawBufferValidationError{} go-control-plane-0.12.0/envoy/config/transport_socket/tap/000077500000000000000000000000001454502223200235465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/tap/v2alpha/000077500000000000000000000000001454502223200251035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/transport_socket/tap/v2alpha/tap.pb.go000077500000000000000000000235761454502223200266360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/transport_socket/tap/v2alpha/tap.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2alpha "github.com/envoyproxy/go-control-plane/envoy/config/common/tap/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for tap transport socket. This wraps another transport socket, providing the // ability to interpose and record in plain text any traffic that is surfaced to Envoy. type Tap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common configuration for the tap transport socket. CommonConfig *v2alpha.CommonExtensionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // The underlying transport socket being wrapped. TransportSocket *core.TransportSocket `protobuf:"bytes,2,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *Tap) Reset() { *x = Tap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_transport_socket_tap_v2alpha_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tap) ProtoMessage() {} func (x *Tap) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_transport_socket_tap_v2alpha_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tap.ProtoReflect.Descriptor instead. func (*Tap) Descriptor() ([]byte, []int) { return file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescGZIP(), []int{0} } func (x *Tap) GetCommonConfig() *v2alpha.CommonExtensionConfig { if x != nil { return x.CommonConfig } return nil } func (x *Tap) GetTransportSocket() *core.TransportSocket { if x != nil { return x.TransportSocket } return nil } var File_envoy_config_transport_socket_tap_v2alpha_tap_proto protoreflect.FileDescriptor var file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x01, 0x0a, 0x03, 0x54, 0x61, 0x70, 0x12, 0x65, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0xd2, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x2b, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x01, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescOnce sync.Once file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescData = file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDesc ) func file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescGZIP() []byte { file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescOnce.Do(func() { file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescData) }) return file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDescData } var file_envoy_config_transport_socket_tap_v2alpha_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_transport_socket_tap_v2alpha_tap_proto_goTypes = []interface{}{ (*Tap)(nil), // 0: envoy.config.transport_socket.tap.v2alpha.Tap (*v2alpha.CommonExtensionConfig)(nil), // 1: envoy.config.common.tap.v2alpha.CommonExtensionConfig (*core.TransportSocket)(nil), // 2: envoy.api.v2.core.TransportSocket } var file_envoy_config_transport_socket_tap_v2alpha_tap_proto_depIdxs = []int32{ 1, // 0: envoy.config.transport_socket.tap.v2alpha.Tap.common_config:type_name -> envoy.config.common.tap.v2alpha.CommonExtensionConfig 2, // 1: envoy.config.transport_socket.tap.v2alpha.Tap.transport_socket:type_name -> envoy.api.v2.core.TransportSocket 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_config_transport_socket_tap_v2alpha_tap_proto_init() } func file_envoy_config_transport_socket_tap_v2alpha_tap_proto_init() { if File_envoy_config_transport_socket_tap_v2alpha_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_transport_socket_tap_v2alpha_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_transport_socket_tap_v2alpha_tap_proto_goTypes, DependencyIndexes: file_envoy_config_transport_socket_tap_v2alpha_tap_proto_depIdxs, MessageInfos: file_envoy_config_transport_socket_tap_v2alpha_tap_proto_msgTypes, }.Build() File_envoy_config_transport_socket_tap_v2alpha_tap_proto = out.File file_envoy_config_transport_socket_tap_v2alpha_tap_proto_rawDesc = nil file_envoy_config_transport_socket_tap_v2alpha_tap_proto_goTypes = nil file_envoy_config_transport_socket_tap_v2alpha_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/config/transport_socket/tap/v2alpha/tap.pb.validate.go000077500000000000000000000117251454502223200304170ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/transport_socket/tap/v2alpha/tap.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tap with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Tap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tap with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TapMultiError, or nil if none found. func (m *Tap) ValidateAll() error { return m.validate(true) } func (m *Tap) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TapValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetTransportSocket() == nil { err := TapValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapMultiError(errors) } return nil } // TapMultiError is an error wrapping multiple validation errors returned by // Tap.ValidateAll() if the designated constraints aren't met. type TapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapMultiError) AllErrors() []error { return m } // TapValidationError is the validation error returned by Tap.Validate if the // designated constraints aren't met. type TapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapValidationError) ErrorName() string { return "TapValidationError" } // Error satisfies the builtin error interface func (e TapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapValidationError{} go-control-plane-0.12.0/envoy/config/upstream/000077500000000000000000000000001454502223200212165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/upstream/local_address_selector/000077500000000000000000000000001454502223200257155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/upstream/local_address_selector/v3/000077500000000000000000000000001454502223200262455ustar00rootroot00000000000000default_local_address_selector.pb.go000077500000000000000000000217771454502223200353410ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/upstream/local_address_selector/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/config/upstream/local_address_selector/v3/default_local_address_selector.proto package local_address_selectorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Default implementation of a local address selector. This implementation is // used if :ref:`local_address_selector // ` is not // specified. // This implementation supports the specification of only one address in // :ref:`extra_source_addresses // ` which // is appended to the address specified in the // :ref:`source_address ` // field. The extra address should have a different IP version than the address in the // “source_address“ field. The address which has the same IP // version with the target host's address IP version will be used as bind address. // If there is no same IP version address found, the address in the “source_address“ field will // be returned. type DefaultLocalAddressSelector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DefaultLocalAddressSelector) Reset() { *x = DefaultLocalAddressSelector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DefaultLocalAddressSelector) String() string { return protoimpl.X.MessageStringOf(x) } func (*DefaultLocalAddressSelector) ProtoMessage() {} func (x *DefaultLocalAddressSelector) ProtoReflect() protoreflect.Message { mi := &file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DefaultLocalAddressSelector.ProtoReflect.Descriptor instead. func (*DefaultLocalAddressSelector) Descriptor() ([]byte, []int) { return file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescGZIP(), []int{0} } var File_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto protoreflect.FileDescriptor var file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDesc = []byte{ 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xdc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescOnce sync.Once file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescData = file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDesc ) func file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescGZIP() []byte { file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescOnce.Do(func() { file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescData) }) return file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDescData } var file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_goTypes = []interface{}{ (*DefaultLocalAddressSelector)(nil), // 0: envoy.config.upstream.local_address_selector.v3.DefaultLocalAddressSelector } var file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_init() } func file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_init() { if File_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DefaultLocalAddressSelector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_goTypes, DependencyIndexes: file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_depIdxs, MessageInfos: file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_msgTypes, }.Build() File_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto = out.File file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_rawDesc = nil file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_goTypes = nil file_envoy_config_upstream_local_address_selector_v3_default_local_address_selector_proto_depIdxs = nil } default_local_address_selector.pb.validate.go000077500000000000000000000071701454502223200371200ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/config/upstream/local_address_selector/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/config/upstream/local_address_selector/v3/default_local_address_selector.proto package local_address_selectorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DefaultLocalAddressSelector with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DefaultLocalAddressSelector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DefaultLocalAddressSelector with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DefaultLocalAddressSelectorMultiError, or nil if none found. func (m *DefaultLocalAddressSelector) ValidateAll() error { return m.validate(true) } func (m *DefaultLocalAddressSelector) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DefaultLocalAddressSelectorMultiError(errors) } return nil } // DefaultLocalAddressSelectorMultiError is an error wrapping multiple // validation errors returned by DefaultLocalAddressSelector.ValidateAll() if // the designated constraints aren't met. type DefaultLocalAddressSelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DefaultLocalAddressSelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DefaultLocalAddressSelectorMultiError) AllErrors() []error { return m } // DefaultLocalAddressSelectorValidationError is the validation error returned // by DefaultLocalAddressSelector.Validate if the designated constraints // aren't met. type DefaultLocalAddressSelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DefaultLocalAddressSelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DefaultLocalAddressSelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DefaultLocalAddressSelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DefaultLocalAddressSelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DefaultLocalAddressSelectorValidationError) ErrorName() string { return "DefaultLocalAddressSelectorValidationError" } // Error satisfies the builtin error interface func (e DefaultLocalAddressSelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDefaultLocalAddressSelector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DefaultLocalAddressSelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DefaultLocalAddressSelectorValidationError{} go-control-plane-0.12.0/envoy/data/000077500000000000000000000000001454502223200170225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/accesslog/000077500000000000000000000000001454502223200207655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/accesslog/v2/000077500000000000000000000000001454502223200213145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/accesslog/v2/accesslog.pb.go000077500000000000000000003064131454502223200242200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/accesslog/v2/accesslog.proto package accesslogv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HTTP version type HTTPAccessLogEntry_HTTPVersion int32 const ( HTTPAccessLogEntry_PROTOCOL_UNSPECIFIED HTTPAccessLogEntry_HTTPVersion = 0 HTTPAccessLogEntry_HTTP10 HTTPAccessLogEntry_HTTPVersion = 1 HTTPAccessLogEntry_HTTP11 HTTPAccessLogEntry_HTTPVersion = 2 HTTPAccessLogEntry_HTTP2 HTTPAccessLogEntry_HTTPVersion = 3 HTTPAccessLogEntry_HTTP3 HTTPAccessLogEntry_HTTPVersion = 4 ) // Enum value maps for HTTPAccessLogEntry_HTTPVersion. var ( HTTPAccessLogEntry_HTTPVersion_name = map[int32]string{ 0: "PROTOCOL_UNSPECIFIED", 1: "HTTP10", 2: "HTTP11", 3: "HTTP2", 4: "HTTP3", } HTTPAccessLogEntry_HTTPVersion_value = map[string]int32{ "PROTOCOL_UNSPECIFIED": 0, "HTTP10": 1, "HTTP11": 2, "HTTP2": 3, "HTTP3": 4, } ) func (x HTTPAccessLogEntry_HTTPVersion) Enum() *HTTPAccessLogEntry_HTTPVersion { p := new(HTTPAccessLogEntry_HTTPVersion) *p = x return p } func (x HTTPAccessLogEntry_HTTPVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HTTPAccessLogEntry_HTTPVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[0].Descriptor() } func (HTTPAccessLogEntry_HTTPVersion) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[0] } func (x HTTPAccessLogEntry_HTTPVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HTTPAccessLogEntry_HTTPVersion.Descriptor instead. func (HTTPAccessLogEntry_HTTPVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{1, 0} } // Reasons why the request was unauthorized type ResponseFlags_Unauthorized_Reason int32 const ( ResponseFlags_Unauthorized_REASON_UNSPECIFIED ResponseFlags_Unauthorized_Reason = 0 // The request was denied by the external authorization service. ResponseFlags_Unauthorized_EXTERNAL_SERVICE ResponseFlags_Unauthorized_Reason = 1 ) // Enum value maps for ResponseFlags_Unauthorized_Reason. var ( ResponseFlags_Unauthorized_Reason_name = map[int32]string{ 0: "REASON_UNSPECIFIED", 1: "EXTERNAL_SERVICE", } ResponseFlags_Unauthorized_Reason_value = map[string]int32{ "REASON_UNSPECIFIED": 0, "EXTERNAL_SERVICE": 1, } ) func (x ResponseFlags_Unauthorized_Reason) Enum() *ResponseFlags_Unauthorized_Reason { p := new(ResponseFlags_Unauthorized_Reason) *p = x return p } func (x ResponseFlags_Unauthorized_Reason) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ResponseFlags_Unauthorized_Reason) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[1].Descriptor() } func (ResponseFlags_Unauthorized_Reason) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[1] } func (x ResponseFlags_Unauthorized_Reason) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ResponseFlags_Unauthorized_Reason.Descriptor instead. func (ResponseFlags_Unauthorized_Reason) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{4, 0, 0} } type TLSProperties_TLSVersion int32 const ( TLSProperties_VERSION_UNSPECIFIED TLSProperties_TLSVersion = 0 TLSProperties_TLSv1 TLSProperties_TLSVersion = 1 TLSProperties_TLSv1_1 TLSProperties_TLSVersion = 2 TLSProperties_TLSv1_2 TLSProperties_TLSVersion = 3 TLSProperties_TLSv1_3 TLSProperties_TLSVersion = 4 ) // Enum value maps for TLSProperties_TLSVersion. var ( TLSProperties_TLSVersion_name = map[int32]string{ 0: "VERSION_UNSPECIFIED", 1: "TLSv1", 2: "TLSv1_1", 3: "TLSv1_2", 4: "TLSv1_3", } TLSProperties_TLSVersion_value = map[string]int32{ "VERSION_UNSPECIFIED": 0, "TLSv1": 1, "TLSv1_1": 2, "TLSv1_2": 3, "TLSv1_3": 4, } ) func (x TLSProperties_TLSVersion) Enum() *TLSProperties_TLSVersion { p := new(TLSProperties_TLSVersion) *p = x return p } func (x TLSProperties_TLSVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TLSProperties_TLSVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[2].Descriptor() } func (TLSProperties_TLSVersion) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v2_accesslog_proto_enumTypes[2] } func (x TLSProperties_TLSVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TLSProperties_TLSVersion.Descriptor instead. func (TLSProperties_TLSVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{5, 0} } type TCPAccessLogEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common properties shared by all Envoy access logs. CommonProperties *AccessLogCommon `protobuf:"bytes,1,opt,name=common_properties,json=commonProperties,proto3" json:"common_properties,omitempty"` // Properties of the TCP connection. ConnectionProperties *ConnectionProperties `protobuf:"bytes,2,opt,name=connection_properties,json=connectionProperties,proto3" json:"connection_properties,omitempty"` } func (x *TCPAccessLogEntry) Reset() { *x = TCPAccessLogEntry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TCPAccessLogEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*TCPAccessLogEntry) ProtoMessage() {} func (x *TCPAccessLogEntry) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TCPAccessLogEntry.ProtoReflect.Descriptor instead. func (*TCPAccessLogEntry) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{0} } func (x *TCPAccessLogEntry) GetCommonProperties() *AccessLogCommon { if x != nil { return x.CommonProperties } return nil } func (x *TCPAccessLogEntry) GetConnectionProperties() *ConnectionProperties { if x != nil { return x.ConnectionProperties } return nil } type HTTPAccessLogEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common properties shared by all Envoy access logs. CommonProperties *AccessLogCommon `protobuf:"bytes,1,opt,name=common_properties,json=commonProperties,proto3" json:"common_properties,omitempty"` ProtocolVersion HTTPAccessLogEntry_HTTPVersion `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,proto3,enum=envoy.data.accesslog.v2.HTTPAccessLogEntry_HTTPVersion" json:"protocol_version,omitempty"` // Description of the incoming HTTP request. Request *HTTPRequestProperties `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` // Description of the outgoing HTTP response. Response *HTTPResponseProperties `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` } func (x *HTTPAccessLogEntry) Reset() { *x = HTTPAccessLogEntry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPAccessLogEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPAccessLogEntry) ProtoMessage() {} func (x *HTTPAccessLogEntry) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPAccessLogEntry.ProtoReflect.Descriptor instead. func (*HTTPAccessLogEntry) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{1} } func (x *HTTPAccessLogEntry) GetCommonProperties() *AccessLogCommon { if x != nil { return x.CommonProperties } return nil } func (x *HTTPAccessLogEntry) GetProtocolVersion() HTTPAccessLogEntry_HTTPVersion { if x != nil { return x.ProtocolVersion } return HTTPAccessLogEntry_PROTOCOL_UNSPECIFIED } func (x *HTTPAccessLogEntry) GetRequest() *HTTPRequestProperties { if x != nil { return x.Request } return nil } func (x *HTTPAccessLogEntry) GetResponse() *HTTPResponseProperties { if x != nil { return x.Response } return nil } // Defines fields for a connection type ConnectionProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Number of bytes received from downstream. ReceivedBytes uint64 `protobuf:"varint,1,opt,name=received_bytes,json=receivedBytes,proto3" json:"received_bytes,omitempty"` // Number of bytes sent to downstream. SentBytes uint64 `protobuf:"varint,2,opt,name=sent_bytes,json=sentBytes,proto3" json:"sent_bytes,omitempty"` } func (x *ConnectionProperties) Reset() { *x = ConnectionProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConnectionProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConnectionProperties) ProtoMessage() {} func (x *ConnectionProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConnectionProperties.ProtoReflect.Descriptor instead. func (*ConnectionProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{2} } func (x *ConnectionProperties) GetReceivedBytes() uint64 { if x != nil { return x.ReceivedBytes } return 0 } func (x *ConnectionProperties) GetSentBytes() uint64 { if x != nil { return x.SentBytes } return 0 } // Defines fields that are shared by all Envoy access logs. // [#next-free-field: 22] type AccessLogCommon struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#not-implemented-hide:] // This field indicates the rate at which this log entry was sampled. // Valid range is (0.0, 1.0]. SampleRate float64 `protobuf:"fixed64,1,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"` // This field is the remote/origin address on which the request from the user was received. // Note: This may not be the physical peer. E.g, if the remote address is inferred from for // example the x-forwarder-for header, proxy protocol, etc. DownstreamRemoteAddress *core.Address `protobuf:"bytes,2,opt,name=downstream_remote_address,json=downstreamRemoteAddress,proto3" json:"downstream_remote_address,omitempty"` // This field is the local/destination address on which the request from the user was received. DownstreamLocalAddress *core.Address `protobuf:"bytes,3,opt,name=downstream_local_address,json=downstreamLocalAddress,proto3" json:"downstream_local_address,omitempty"` // If the connection is secure,S this field will contain TLS properties. TlsProperties *TLSProperties `protobuf:"bytes,4,opt,name=tls_properties,json=tlsProperties,proto3" json:"tls_properties,omitempty"` // The time that Envoy started servicing this request. This is effectively the time that the first // downstream byte is received. StartTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Interval between the first downstream byte received and the last // downstream byte received (i.e. time it takes to receive a request). TimeToLastRxByte *duration.Duration `protobuf:"bytes,6,opt,name=time_to_last_rx_byte,json=timeToLastRxByte,proto3" json:"time_to_last_rx_byte,omitempty"` // Interval between the first downstream byte received and the first upstream byte sent. There may // by considerable delta between *time_to_last_rx_byte* and this value due to filters. // Additionally, the same caveats apply as documented in *time_to_last_downstream_tx_byte* about // not accounting for kernel socket buffer time, etc. TimeToFirstUpstreamTxByte *duration.Duration `protobuf:"bytes,7,opt,name=time_to_first_upstream_tx_byte,json=timeToFirstUpstreamTxByte,proto3" json:"time_to_first_upstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the last upstream byte sent. There may // by considerable delta between *time_to_last_rx_byte* and this value due to filters. // Additionally, the same caveats apply as documented in *time_to_last_downstream_tx_byte* about // not accounting for kernel socket buffer time, etc. TimeToLastUpstreamTxByte *duration.Duration `protobuf:"bytes,8,opt,name=time_to_last_upstream_tx_byte,json=timeToLastUpstreamTxByte,proto3" json:"time_to_last_upstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the first upstream // byte received (i.e. time it takes to start receiving a response). TimeToFirstUpstreamRxByte *duration.Duration `protobuf:"bytes,9,opt,name=time_to_first_upstream_rx_byte,json=timeToFirstUpstreamRxByte,proto3" json:"time_to_first_upstream_rx_byte,omitempty"` // Interval between the first downstream byte received and the last upstream // byte received (i.e. time it takes to receive a complete response). TimeToLastUpstreamRxByte *duration.Duration `protobuf:"bytes,10,opt,name=time_to_last_upstream_rx_byte,json=timeToLastUpstreamRxByte,proto3" json:"time_to_last_upstream_rx_byte,omitempty"` // Interval between the first downstream byte received and the first downstream byte sent. // There may be a considerable delta between the *time_to_first_upstream_rx_byte* and this field // due to filters. Additionally, the same caveats apply as documented in // *time_to_last_downstream_tx_byte* about not accounting for kernel socket buffer time, etc. TimeToFirstDownstreamTxByte *duration.Duration `protobuf:"bytes,11,opt,name=time_to_first_downstream_tx_byte,json=timeToFirstDownstreamTxByte,proto3" json:"time_to_first_downstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the last downstream byte sent. // Depending on protocol, buffering, windowing, filters, etc. there may be a considerable delta // between *time_to_last_upstream_rx_byte* and this field. Note also that this is an approximate // time. In the current implementation it does not include kernel socket buffer time. In the // current implementation it also does not include send window buffering inside the HTTP/2 codec. // In the future it is likely that work will be done to make this duration more accurate. TimeToLastDownstreamTxByte *duration.Duration `protobuf:"bytes,12,opt,name=time_to_last_downstream_tx_byte,json=timeToLastDownstreamTxByte,proto3" json:"time_to_last_downstream_tx_byte,omitempty"` // The upstream remote/destination address that handles this exchange. This does not include // retries. UpstreamRemoteAddress *core.Address `protobuf:"bytes,13,opt,name=upstream_remote_address,json=upstreamRemoteAddress,proto3" json:"upstream_remote_address,omitempty"` // The upstream local/origin address that handles this exchange. This does not include retries. UpstreamLocalAddress *core.Address `protobuf:"bytes,14,opt,name=upstream_local_address,json=upstreamLocalAddress,proto3" json:"upstream_local_address,omitempty"` // The upstream cluster that *upstream_remote_address* belongs to. UpstreamCluster string `protobuf:"bytes,15,opt,name=upstream_cluster,json=upstreamCluster,proto3" json:"upstream_cluster,omitempty"` // Flags indicating occurrences during request/response processing. ResponseFlags *ResponseFlags `protobuf:"bytes,16,opt,name=response_flags,json=responseFlags,proto3" json:"response_flags,omitempty"` // All metadata encountered during request processing, including endpoint // selection. // // This can be used to associate IDs attached to the various configurations // used to process this request with the access log entry. For example, a // route created from a higher level forwarding rule with some ID can place // that ID in this field and cross reference later. It can also be used to // determine if a canary endpoint was used or not. Metadata *core.Metadata `protobuf:"bytes,17,opt,name=metadata,proto3" json:"metadata,omitempty"` // If upstream connection failed due to transport socket (e.g. TLS handshake), provides the // failure reason from the transport socket. The format of this field depends on the configured // upstream transport socket. Common TLS failures are in // :ref:`TLS trouble shooting `. UpstreamTransportFailureReason string `protobuf:"bytes,18,opt,name=upstream_transport_failure_reason,json=upstreamTransportFailureReason,proto3" json:"upstream_transport_failure_reason,omitempty"` // The name of the route RouteName string `protobuf:"bytes,19,opt,name=route_name,json=routeName,proto3" json:"route_name,omitempty"` // This field is the downstream direct remote address on which the request from the user was // received. Note: This is always the physical peer, even if the remote address is inferred from // for example the x-forwarder-for header, proxy protocol, etc. DownstreamDirectRemoteAddress *core.Address `protobuf:"bytes,20,opt,name=downstream_direct_remote_address,json=downstreamDirectRemoteAddress,proto3" json:"downstream_direct_remote_address,omitempty"` // Map of filter state in stream info that have been configured to be logged. If the filter // state serialized to any message other than `google.protobuf.Any` it will be packed into // `google.protobuf.Any`. FilterStateObjects map[string]*any1.Any `protobuf:"bytes,21,rep,name=filter_state_objects,json=filterStateObjects,proto3" json:"filter_state_objects,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *AccessLogCommon) Reset() { *x = AccessLogCommon{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLogCommon) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLogCommon) ProtoMessage() {} func (x *AccessLogCommon) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLogCommon.ProtoReflect.Descriptor instead. func (*AccessLogCommon) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{3} } func (x *AccessLogCommon) GetSampleRate() float64 { if x != nil { return x.SampleRate } return 0 } func (x *AccessLogCommon) GetDownstreamRemoteAddress() *core.Address { if x != nil { return x.DownstreamRemoteAddress } return nil } func (x *AccessLogCommon) GetDownstreamLocalAddress() *core.Address { if x != nil { return x.DownstreamLocalAddress } return nil } func (x *AccessLogCommon) GetTlsProperties() *TLSProperties { if x != nil { return x.TlsProperties } return nil } func (x *AccessLogCommon) GetStartTime() *timestamp.Timestamp { if x != nil { return x.StartTime } return nil } func (x *AccessLogCommon) GetTimeToLastRxByte() *duration.Duration { if x != nil { return x.TimeToLastRxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstUpstreamTxByte() *duration.Duration { if x != nil { return x.TimeToFirstUpstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToLastUpstreamTxByte() *duration.Duration { if x != nil { return x.TimeToLastUpstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstUpstreamRxByte() *duration.Duration { if x != nil { return x.TimeToFirstUpstreamRxByte } return nil } func (x *AccessLogCommon) GetTimeToLastUpstreamRxByte() *duration.Duration { if x != nil { return x.TimeToLastUpstreamRxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstDownstreamTxByte() *duration.Duration { if x != nil { return x.TimeToFirstDownstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToLastDownstreamTxByte() *duration.Duration { if x != nil { return x.TimeToLastDownstreamTxByte } return nil } func (x *AccessLogCommon) GetUpstreamRemoteAddress() *core.Address { if x != nil { return x.UpstreamRemoteAddress } return nil } func (x *AccessLogCommon) GetUpstreamLocalAddress() *core.Address { if x != nil { return x.UpstreamLocalAddress } return nil } func (x *AccessLogCommon) GetUpstreamCluster() string { if x != nil { return x.UpstreamCluster } return "" } func (x *AccessLogCommon) GetResponseFlags() *ResponseFlags { if x != nil { return x.ResponseFlags } return nil } func (x *AccessLogCommon) GetMetadata() *core.Metadata { if x != nil { return x.Metadata } return nil } func (x *AccessLogCommon) GetUpstreamTransportFailureReason() string { if x != nil { return x.UpstreamTransportFailureReason } return "" } func (x *AccessLogCommon) GetRouteName() string { if x != nil { return x.RouteName } return "" } func (x *AccessLogCommon) GetDownstreamDirectRemoteAddress() *core.Address { if x != nil { return x.DownstreamDirectRemoteAddress } return nil } func (x *AccessLogCommon) GetFilterStateObjects() map[string]*any1.Any { if x != nil { return x.FilterStateObjects } return nil } // Flags indicating occurrences during request/response processing. // [#next-free-field: 20] type ResponseFlags struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates local server healthcheck failed. FailedLocalHealthcheck bool `protobuf:"varint,1,opt,name=failed_local_healthcheck,json=failedLocalHealthcheck,proto3" json:"failed_local_healthcheck,omitempty"` // Indicates there was no healthy upstream. NoHealthyUpstream bool `protobuf:"varint,2,opt,name=no_healthy_upstream,json=noHealthyUpstream,proto3" json:"no_healthy_upstream,omitempty"` // Indicates an there was an upstream request timeout. UpstreamRequestTimeout bool `protobuf:"varint,3,opt,name=upstream_request_timeout,json=upstreamRequestTimeout,proto3" json:"upstream_request_timeout,omitempty"` // Indicates local codec level reset was sent on the stream. LocalReset bool `protobuf:"varint,4,opt,name=local_reset,json=localReset,proto3" json:"local_reset,omitempty"` // Indicates remote codec level reset was received on the stream. UpstreamRemoteReset bool `protobuf:"varint,5,opt,name=upstream_remote_reset,json=upstreamRemoteReset,proto3" json:"upstream_remote_reset,omitempty"` // Indicates there was a local reset by a connection pool due to an initial connection failure. UpstreamConnectionFailure bool `protobuf:"varint,6,opt,name=upstream_connection_failure,json=upstreamConnectionFailure,proto3" json:"upstream_connection_failure,omitempty"` // Indicates the stream was reset due to an upstream connection termination. UpstreamConnectionTermination bool `protobuf:"varint,7,opt,name=upstream_connection_termination,json=upstreamConnectionTermination,proto3" json:"upstream_connection_termination,omitempty"` // Indicates the stream was reset because of a resource overflow. UpstreamOverflow bool `protobuf:"varint,8,opt,name=upstream_overflow,json=upstreamOverflow,proto3" json:"upstream_overflow,omitempty"` // Indicates no route was found for the request. NoRouteFound bool `protobuf:"varint,9,opt,name=no_route_found,json=noRouteFound,proto3" json:"no_route_found,omitempty"` // Indicates that the request was delayed before proxying. DelayInjected bool `protobuf:"varint,10,opt,name=delay_injected,json=delayInjected,proto3" json:"delay_injected,omitempty"` // Indicates that the request was aborted with an injected error code. FaultInjected bool `protobuf:"varint,11,opt,name=fault_injected,json=faultInjected,proto3" json:"fault_injected,omitempty"` // Indicates that the request was rate-limited locally. RateLimited bool `protobuf:"varint,12,opt,name=rate_limited,json=rateLimited,proto3" json:"rate_limited,omitempty"` // Indicates if the request was deemed unauthorized and the reason for it. UnauthorizedDetails *ResponseFlags_Unauthorized `protobuf:"bytes,13,opt,name=unauthorized_details,json=unauthorizedDetails,proto3" json:"unauthorized_details,omitempty"` // Indicates that the request was rejected because there was an error in rate limit service. RateLimitServiceError bool `protobuf:"varint,14,opt,name=rate_limit_service_error,json=rateLimitServiceError,proto3" json:"rate_limit_service_error,omitempty"` // Indicates the stream was reset due to a downstream connection termination. DownstreamConnectionTermination bool `protobuf:"varint,15,opt,name=downstream_connection_termination,json=downstreamConnectionTermination,proto3" json:"downstream_connection_termination,omitempty"` // Indicates that the upstream retry limit was exceeded, resulting in a downstream error. UpstreamRetryLimitExceeded bool `protobuf:"varint,16,opt,name=upstream_retry_limit_exceeded,json=upstreamRetryLimitExceeded,proto3" json:"upstream_retry_limit_exceeded,omitempty"` // Indicates that the stream idle timeout was hit, resulting in a downstream 408. StreamIdleTimeout bool `protobuf:"varint,17,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` // Indicates that the request was rejected because an envoy request header failed strict // validation. InvalidEnvoyRequestHeaders bool `protobuf:"varint,18,opt,name=invalid_envoy_request_headers,json=invalidEnvoyRequestHeaders,proto3" json:"invalid_envoy_request_headers,omitempty"` // Indicates there was an HTTP protocol error on the downstream request. DownstreamProtocolError bool `protobuf:"varint,19,opt,name=downstream_protocol_error,json=downstreamProtocolError,proto3" json:"downstream_protocol_error,omitempty"` } func (x *ResponseFlags) Reset() { *x = ResponseFlags{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlags) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlags) ProtoMessage() {} func (x *ResponseFlags) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlags.ProtoReflect.Descriptor instead. func (*ResponseFlags) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{4} } func (x *ResponseFlags) GetFailedLocalHealthcheck() bool { if x != nil { return x.FailedLocalHealthcheck } return false } func (x *ResponseFlags) GetNoHealthyUpstream() bool { if x != nil { return x.NoHealthyUpstream } return false } func (x *ResponseFlags) GetUpstreamRequestTimeout() bool { if x != nil { return x.UpstreamRequestTimeout } return false } func (x *ResponseFlags) GetLocalReset() bool { if x != nil { return x.LocalReset } return false } func (x *ResponseFlags) GetUpstreamRemoteReset() bool { if x != nil { return x.UpstreamRemoteReset } return false } func (x *ResponseFlags) GetUpstreamConnectionFailure() bool { if x != nil { return x.UpstreamConnectionFailure } return false } func (x *ResponseFlags) GetUpstreamConnectionTermination() bool { if x != nil { return x.UpstreamConnectionTermination } return false } func (x *ResponseFlags) GetUpstreamOverflow() bool { if x != nil { return x.UpstreamOverflow } return false } func (x *ResponseFlags) GetNoRouteFound() bool { if x != nil { return x.NoRouteFound } return false } func (x *ResponseFlags) GetDelayInjected() bool { if x != nil { return x.DelayInjected } return false } func (x *ResponseFlags) GetFaultInjected() bool { if x != nil { return x.FaultInjected } return false } func (x *ResponseFlags) GetRateLimited() bool { if x != nil { return x.RateLimited } return false } func (x *ResponseFlags) GetUnauthorizedDetails() *ResponseFlags_Unauthorized { if x != nil { return x.UnauthorizedDetails } return nil } func (x *ResponseFlags) GetRateLimitServiceError() bool { if x != nil { return x.RateLimitServiceError } return false } func (x *ResponseFlags) GetDownstreamConnectionTermination() bool { if x != nil { return x.DownstreamConnectionTermination } return false } func (x *ResponseFlags) GetUpstreamRetryLimitExceeded() bool { if x != nil { return x.UpstreamRetryLimitExceeded } return false } func (x *ResponseFlags) GetStreamIdleTimeout() bool { if x != nil { return x.StreamIdleTimeout } return false } func (x *ResponseFlags) GetInvalidEnvoyRequestHeaders() bool { if x != nil { return x.InvalidEnvoyRequestHeaders } return false } func (x *ResponseFlags) GetDownstreamProtocolError() bool { if x != nil { return x.DownstreamProtocolError } return false } // Properties of a negotiated TLS connection. // [#next-free-field: 7] type TLSProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Version of TLS that was negotiated. TlsVersion TLSProperties_TLSVersion `protobuf:"varint,1,opt,name=tls_version,json=tlsVersion,proto3,enum=envoy.data.accesslog.v2.TLSProperties_TLSVersion" json:"tls_version,omitempty"` // TLS cipher suite negotiated during handshake. The value is a // four-digit hex code defined by the IANA TLS Cipher Suite Registry // (e.g. “009C“ for “TLS_RSA_WITH_AES_128_GCM_SHA256“). // // Here it is expressed as an integer. TlsCipherSuite *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=tls_cipher_suite,json=tlsCipherSuite,proto3" json:"tls_cipher_suite,omitempty"` // SNI hostname from handshake. TlsSniHostname string `protobuf:"bytes,3,opt,name=tls_sni_hostname,json=tlsSniHostname,proto3" json:"tls_sni_hostname,omitempty"` // Properties of the local certificate used to negotiate TLS. LocalCertificateProperties *TLSProperties_CertificateProperties `protobuf:"bytes,4,opt,name=local_certificate_properties,json=localCertificateProperties,proto3" json:"local_certificate_properties,omitempty"` // Properties of the peer certificate used to negotiate TLS. PeerCertificateProperties *TLSProperties_CertificateProperties `protobuf:"bytes,5,opt,name=peer_certificate_properties,json=peerCertificateProperties,proto3" json:"peer_certificate_properties,omitempty"` // The TLS session ID. TlsSessionId string `protobuf:"bytes,6,opt,name=tls_session_id,json=tlsSessionId,proto3" json:"tls_session_id,omitempty"` } func (x *TLSProperties) Reset() { *x = TLSProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties) ProtoMessage() {} func (x *TLSProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties.ProtoReflect.Descriptor instead. func (*TLSProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{5} } func (x *TLSProperties) GetTlsVersion() TLSProperties_TLSVersion { if x != nil { return x.TlsVersion } return TLSProperties_VERSION_UNSPECIFIED } func (x *TLSProperties) GetTlsCipherSuite() *wrappers.UInt32Value { if x != nil { return x.TlsCipherSuite } return nil } func (x *TLSProperties) GetTlsSniHostname() string { if x != nil { return x.TlsSniHostname } return "" } func (x *TLSProperties) GetLocalCertificateProperties() *TLSProperties_CertificateProperties { if x != nil { return x.LocalCertificateProperties } return nil } func (x *TLSProperties) GetPeerCertificateProperties() *TLSProperties_CertificateProperties { if x != nil { return x.PeerCertificateProperties } return nil } func (x *TLSProperties) GetTlsSessionId() string { if x != nil { return x.TlsSessionId } return "" } // [#next-free-field: 14] type HTTPRequestProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request method (RFC 7231/2616). RequestMethod core.RequestMethod `protobuf:"varint,1,opt,name=request_method,json=requestMethod,proto3,enum=envoy.api.v2.core.RequestMethod" json:"request_method,omitempty"` // The scheme portion of the incoming request URI. Scheme string `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"` // HTTP/2 “:authority“ or HTTP/1.1 “Host“ header value. Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` // The port of the incoming request URI // (unused currently, as port is composed onto authority). Port *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` // The path portion from the incoming request URI. Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` // Value of the “User-Agent“ request header. UserAgent string `protobuf:"bytes,6,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` // Value of the “Referer“ request header. Referer string `protobuf:"bytes,7,opt,name=referer,proto3" json:"referer,omitempty"` // Value of the “X-Forwarded-For“ request header. ForwardedFor string `protobuf:"bytes,8,opt,name=forwarded_for,json=forwardedFor,proto3" json:"forwarded_for,omitempty"` // Value of the “X-Request-Id“ request header // // This header is used by Envoy to uniquely identify a request. // It will be generated for all external requests and internal requests that // do not already have a request ID. RequestId string `protobuf:"bytes,9,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Value of the “X-Envoy-Original-Path“ request header. OriginalPath string `protobuf:"bytes,10,opt,name=original_path,json=originalPath,proto3" json:"original_path,omitempty"` // Size of the HTTP request headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestHeadersBytes uint64 `protobuf:"varint,11,opt,name=request_headers_bytes,json=requestHeadersBytes,proto3" json:"request_headers_bytes,omitempty"` // Size of the HTTP request body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestBodyBytes uint64 `protobuf:"varint,12,opt,name=request_body_bytes,json=requestBodyBytes,proto3" json:"request_body_bytes,omitempty"` // Map of additional headers that have been configured to be logged. RequestHeaders map[string]string `protobuf:"bytes,13,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *HTTPRequestProperties) Reset() { *x = HTTPRequestProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPRequestProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPRequestProperties) ProtoMessage() {} func (x *HTTPRequestProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPRequestProperties.ProtoReflect.Descriptor instead. func (*HTTPRequestProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{6} } func (x *HTTPRequestProperties) GetRequestMethod() core.RequestMethod { if x != nil { return x.RequestMethod } return core.RequestMethod(0) } func (x *HTTPRequestProperties) GetScheme() string { if x != nil { return x.Scheme } return "" } func (x *HTTPRequestProperties) GetAuthority() string { if x != nil { return x.Authority } return "" } func (x *HTTPRequestProperties) GetPort() *wrappers.UInt32Value { if x != nil { return x.Port } return nil } func (x *HTTPRequestProperties) GetPath() string { if x != nil { return x.Path } return "" } func (x *HTTPRequestProperties) GetUserAgent() string { if x != nil { return x.UserAgent } return "" } func (x *HTTPRequestProperties) GetReferer() string { if x != nil { return x.Referer } return "" } func (x *HTTPRequestProperties) GetForwardedFor() string { if x != nil { return x.ForwardedFor } return "" } func (x *HTTPRequestProperties) GetRequestId() string { if x != nil { return x.RequestId } return "" } func (x *HTTPRequestProperties) GetOriginalPath() string { if x != nil { return x.OriginalPath } return "" } func (x *HTTPRequestProperties) GetRequestHeadersBytes() uint64 { if x != nil { return x.RequestHeadersBytes } return 0 } func (x *HTTPRequestProperties) GetRequestBodyBytes() uint64 { if x != nil { return x.RequestBodyBytes } return 0 } func (x *HTTPRequestProperties) GetRequestHeaders() map[string]string { if x != nil { return x.RequestHeaders } return nil } // [#next-free-field: 7] type HTTPResponseProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP response code returned by Envoy. ResponseCode *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=response_code,json=responseCode,proto3" json:"response_code,omitempty"` // Size of the HTTP response headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. ResponseHeadersBytes uint64 `protobuf:"varint,2,opt,name=response_headers_bytes,json=responseHeadersBytes,proto3" json:"response_headers_bytes,omitempty"` // Size of the HTTP response body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. ResponseBodyBytes uint64 `protobuf:"varint,3,opt,name=response_body_bytes,json=responseBodyBytes,proto3" json:"response_body_bytes,omitempty"` // Map of additional headers configured to be logged. ResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map of trailers configured to be logged. ResponseTrailers map[string]string `protobuf:"bytes,5,rep,name=response_trailers,json=responseTrailers,proto3" json:"response_trailers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The HTTP response code details. ResponseCodeDetails string `protobuf:"bytes,6,opt,name=response_code_details,json=responseCodeDetails,proto3" json:"response_code_details,omitempty"` } func (x *HTTPResponseProperties) Reset() { *x = HTTPResponseProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPResponseProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPResponseProperties) ProtoMessage() {} func (x *HTTPResponseProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPResponseProperties.ProtoReflect.Descriptor instead. func (*HTTPResponseProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{7} } func (x *HTTPResponseProperties) GetResponseCode() *wrappers.UInt32Value { if x != nil { return x.ResponseCode } return nil } func (x *HTTPResponseProperties) GetResponseHeadersBytes() uint64 { if x != nil { return x.ResponseHeadersBytes } return 0 } func (x *HTTPResponseProperties) GetResponseBodyBytes() uint64 { if x != nil { return x.ResponseBodyBytes } return 0 } func (x *HTTPResponseProperties) GetResponseHeaders() map[string]string { if x != nil { return x.ResponseHeaders } return nil } func (x *HTTPResponseProperties) GetResponseTrailers() map[string]string { if x != nil { return x.ResponseTrailers } return nil } func (x *HTTPResponseProperties) GetResponseCodeDetails() string { if x != nil { return x.ResponseCodeDetails } return "" } type ResponseFlags_Unauthorized struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Reason ResponseFlags_Unauthorized_Reason `protobuf:"varint,1,opt,name=reason,proto3,enum=envoy.data.accesslog.v2.ResponseFlags_Unauthorized_Reason" json:"reason,omitempty"` } func (x *ResponseFlags_Unauthorized) Reset() { *x = ResponseFlags_Unauthorized{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlags_Unauthorized) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlags_Unauthorized) ProtoMessage() {} func (x *ResponseFlags_Unauthorized) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlags_Unauthorized.ProtoReflect.Descriptor instead. func (*ResponseFlags_Unauthorized) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{4, 0} } func (x *ResponseFlags_Unauthorized) GetReason() ResponseFlags_Unauthorized_Reason { if x != nil { return x.Reason } return ResponseFlags_Unauthorized_REASON_UNSPECIFIED } type TLSProperties_CertificateProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SANs present in the certificate. SubjectAltName []*TLSProperties_CertificateProperties_SubjectAltName `protobuf:"bytes,1,rep,name=subject_alt_name,json=subjectAltName,proto3" json:"subject_alt_name,omitempty"` // The subject field of the certificate. Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` } func (x *TLSProperties_CertificateProperties) Reset() { *x = TLSProperties_CertificateProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties_CertificateProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties_CertificateProperties) ProtoMessage() {} func (x *TLSProperties_CertificateProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties_CertificateProperties.ProtoReflect.Descriptor instead. func (*TLSProperties_CertificateProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{5, 0} } func (x *TLSProperties_CertificateProperties) GetSubjectAltName() []*TLSProperties_CertificateProperties_SubjectAltName { if x != nil { return x.SubjectAltName } return nil } func (x *TLSProperties_CertificateProperties) GetSubject() string { if x != nil { return x.Subject } return "" } type TLSProperties_CertificateProperties_SubjectAltName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to San: // // *TLSProperties_CertificateProperties_SubjectAltName_Uri // *TLSProperties_CertificateProperties_SubjectAltName_Dns San isTLSProperties_CertificateProperties_SubjectAltName_San `protobuf_oneof:"san"` } func (x *TLSProperties_CertificateProperties_SubjectAltName) Reset() { *x = TLSProperties_CertificateProperties_SubjectAltName{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties_CertificateProperties_SubjectAltName) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties_CertificateProperties_SubjectAltName) ProtoMessage() {} func (x *TLSProperties_CertificateProperties_SubjectAltName) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties_CertificateProperties_SubjectAltName.ProtoReflect.Descriptor instead. func (*TLSProperties_CertificateProperties_SubjectAltName) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP(), []int{5, 0, 0} } func (m *TLSProperties_CertificateProperties_SubjectAltName) GetSan() isTLSProperties_CertificateProperties_SubjectAltName_San { if m != nil { return m.San } return nil } func (x *TLSProperties_CertificateProperties_SubjectAltName) GetUri() string { if x, ok := x.GetSan().(*TLSProperties_CertificateProperties_SubjectAltName_Uri); ok { return x.Uri } return "" } func (x *TLSProperties_CertificateProperties_SubjectAltName) GetDns() string { if x, ok := x.GetSan().(*TLSProperties_CertificateProperties_SubjectAltName_Dns); ok { return x.Dns } return "" } type isTLSProperties_CertificateProperties_SubjectAltName_San interface { isTLSProperties_CertificateProperties_SubjectAltName_San() } type TLSProperties_CertificateProperties_SubjectAltName_Uri struct { Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"` } type TLSProperties_CertificateProperties_SubjectAltName_Dns struct { // [#not-implemented-hide:] Dns string `protobuf:"bytes,2,opt,name=dns,proto3,oneof"` } func (*TLSProperties_CertificateProperties_SubjectAltName_Uri) isTLSProperties_CertificateProperties_SubjectAltName_San() { } func (*TLSProperties_CertificateProperties_SubjectAltName_Dns) isTLSProperties_CertificateProperties_SubjectAltName_San() { } var File_envoy_data_accesslog_v2_accesslog_proto protoreflect.FileDescriptor var file_envoy_data_accesslog_v2_accesslog_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xbd, 0x03, 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x54, 0x54, 0x50, 0x31, 0x30, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x54, 0x54, 0x50, 0x31, 0x31, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x04, 0x22, 0x5c, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xfd, 0x0d, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x1d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x1d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x1f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x21, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x72, 0x0a, 0x14, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0x5b, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x09, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x66, 0x0a, 0x14, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x13, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x21, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x9a, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x22, 0xbe, 0x06, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6e, 0x69, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x53, 0x6e, 0x69, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x1b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x19, 0x70, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0xe9, 0x01, 0x0a, 0x15, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x3f, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x61, 0x6e, 0x22, 0x57, 0x0a, 0x0a, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x22, 0x9a, 0x05, 0x0a, 0x15, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe3, 0x04, 0x0a, 0x16, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_accesslog_v2_accesslog_proto_rawDescOnce sync.Once file_envoy_data_accesslog_v2_accesslog_proto_rawDescData = file_envoy_data_accesslog_v2_accesslog_proto_rawDesc ) func file_envoy_data_accesslog_v2_accesslog_proto_rawDescGZIP() []byte { file_envoy_data_accesslog_v2_accesslog_proto_rawDescOnce.Do(func() { file_envoy_data_accesslog_v2_accesslog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_accesslog_v2_accesslog_proto_rawDescData) }) return file_envoy_data_accesslog_v2_accesslog_proto_rawDescData } var file_envoy_data_accesslog_v2_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_envoy_data_accesslog_v2_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_envoy_data_accesslog_v2_accesslog_proto_goTypes = []interface{}{ (HTTPAccessLogEntry_HTTPVersion)(0), // 0: envoy.data.accesslog.v2.HTTPAccessLogEntry.HTTPVersion (ResponseFlags_Unauthorized_Reason)(0), // 1: envoy.data.accesslog.v2.ResponseFlags.Unauthorized.Reason (TLSProperties_TLSVersion)(0), // 2: envoy.data.accesslog.v2.TLSProperties.TLSVersion (*TCPAccessLogEntry)(nil), // 3: envoy.data.accesslog.v2.TCPAccessLogEntry (*HTTPAccessLogEntry)(nil), // 4: envoy.data.accesslog.v2.HTTPAccessLogEntry (*ConnectionProperties)(nil), // 5: envoy.data.accesslog.v2.ConnectionProperties (*AccessLogCommon)(nil), // 6: envoy.data.accesslog.v2.AccessLogCommon (*ResponseFlags)(nil), // 7: envoy.data.accesslog.v2.ResponseFlags (*TLSProperties)(nil), // 8: envoy.data.accesslog.v2.TLSProperties (*HTTPRequestProperties)(nil), // 9: envoy.data.accesslog.v2.HTTPRequestProperties (*HTTPResponseProperties)(nil), // 10: envoy.data.accesslog.v2.HTTPResponseProperties nil, // 11: envoy.data.accesslog.v2.AccessLogCommon.FilterStateObjectsEntry (*ResponseFlags_Unauthorized)(nil), // 12: envoy.data.accesslog.v2.ResponseFlags.Unauthorized (*TLSProperties_CertificateProperties)(nil), // 13: envoy.data.accesslog.v2.TLSProperties.CertificateProperties (*TLSProperties_CertificateProperties_SubjectAltName)(nil), // 14: envoy.data.accesslog.v2.TLSProperties.CertificateProperties.SubjectAltName nil, // 15: envoy.data.accesslog.v2.HTTPRequestProperties.RequestHeadersEntry nil, // 16: envoy.data.accesslog.v2.HTTPResponseProperties.ResponseHeadersEntry nil, // 17: envoy.data.accesslog.v2.HTTPResponseProperties.ResponseTrailersEntry (*core.Address)(nil), // 18: envoy.api.v2.core.Address (*timestamp.Timestamp)(nil), // 19: google.protobuf.Timestamp (*duration.Duration)(nil), // 20: google.protobuf.Duration (*core.Metadata)(nil), // 21: envoy.api.v2.core.Metadata (*wrappers.UInt32Value)(nil), // 22: google.protobuf.UInt32Value (core.RequestMethod)(0), // 23: envoy.api.v2.core.RequestMethod (*any1.Any)(nil), // 24: google.protobuf.Any } var file_envoy_data_accesslog_v2_accesslog_proto_depIdxs = []int32{ 6, // 0: envoy.data.accesslog.v2.TCPAccessLogEntry.common_properties:type_name -> envoy.data.accesslog.v2.AccessLogCommon 5, // 1: envoy.data.accesslog.v2.TCPAccessLogEntry.connection_properties:type_name -> envoy.data.accesslog.v2.ConnectionProperties 6, // 2: envoy.data.accesslog.v2.HTTPAccessLogEntry.common_properties:type_name -> envoy.data.accesslog.v2.AccessLogCommon 0, // 3: envoy.data.accesslog.v2.HTTPAccessLogEntry.protocol_version:type_name -> envoy.data.accesslog.v2.HTTPAccessLogEntry.HTTPVersion 9, // 4: envoy.data.accesslog.v2.HTTPAccessLogEntry.request:type_name -> envoy.data.accesslog.v2.HTTPRequestProperties 10, // 5: envoy.data.accesslog.v2.HTTPAccessLogEntry.response:type_name -> envoy.data.accesslog.v2.HTTPResponseProperties 18, // 6: envoy.data.accesslog.v2.AccessLogCommon.downstream_remote_address:type_name -> envoy.api.v2.core.Address 18, // 7: envoy.data.accesslog.v2.AccessLogCommon.downstream_local_address:type_name -> envoy.api.v2.core.Address 8, // 8: envoy.data.accesslog.v2.AccessLogCommon.tls_properties:type_name -> envoy.data.accesslog.v2.TLSProperties 19, // 9: envoy.data.accesslog.v2.AccessLogCommon.start_time:type_name -> google.protobuf.Timestamp 20, // 10: envoy.data.accesslog.v2.AccessLogCommon.time_to_last_rx_byte:type_name -> google.protobuf.Duration 20, // 11: envoy.data.accesslog.v2.AccessLogCommon.time_to_first_upstream_tx_byte:type_name -> google.protobuf.Duration 20, // 12: envoy.data.accesslog.v2.AccessLogCommon.time_to_last_upstream_tx_byte:type_name -> google.protobuf.Duration 20, // 13: envoy.data.accesslog.v2.AccessLogCommon.time_to_first_upstream_rx_byte:type_name -> google.protobuf.Duration 20, // 14: envoy.data.accesslog.v2.AccessLogCommon.time_to_last_upstream_rx_byte:type_name -> google.protobuf.Duration 20, // 15: envoy.data.accesslog.v2.AccessLogCommon.time_to_first_downstream_tx_byte:type_name -> google.protobuf.Duration 20, // 16: envoy.data.accesslog.v2.AccessLogCommon.time_to_last_downstream_tx_byte:type_name -> google.protobuf.Duration 18, // 17: envoy.data.accesslog.v2.AccessLogCommon.upstream_remote_address:type_name -> envoy.api.v2.core.Address 18, // 18: envoy.data.accesslog.v2.AccessLogCommon.upstream_local_address:type_name -> envoy.api.v2.core.Address 7, // 19: envoy.data.accesslog.v2.AccessLogCommon.response_flags:type_name -> envoy.data.accesslog.v2.ResponseFlags 21, // 20: envoy.data.accesslog.v2.AccessLogCommon.metadata:type_name -> envoy.api.v2.core.Metadata 18, // 21: envoy.data.accesslog.v2.AccessLogCommon.downstream_direct_remote_address:type_name -> envoy.api.v2.core.Address 11, // 22: envoy.data.accesslog.v2.AccessLogCommon.filter_state_objects:type_name -> envoy.data.accesslog.v2.AccessLogCommon.FilterStateObjectsEntry 12, // 23: envoy.data.accesslog.v2.ResponseFlags.unauthorized_details:type_name -> envoy.data.accesslog.v2.ResponseFlags.Unauthorized 2, // 24: envoy.data.accesslog.v2.TLSProperties.tls_version:type_name -> envoy.data.accesslog.v2.TLSProperties.TLSVersion 22, // 25: envoy.data.accesslog.v2.TLSProperties.tls_cipher_suite:type_name -> google.protobuf.UInt32Value 13, // 26: envoy.data.accesslog.v2.TLSProperties.local_certificate_properties:type_name -> envoy.data.accesslog.v2.TLSProperties.CertificateProperties 13, // 27: envoy.data.accesslog.v2.TLSProperties.peer_certificate_properties:type_name -> envoy.data.accesslog.v2.TLSProperties.CertificateProperties 23, // 28: envoy.data.accesslog.v2.HTTPRequestProperties.request_method:type_name -> envoy.api.v2.core.RequestMethod 22, // 29: envoy.data.accesslog.v2.HTTPRequestProperties.port:type_name -> google.protobuf.UInt32Value 15, // 30: envoy.data.accesslog.v2.HTTPRequestProperties.request_headers:type_name -> envoy.data.accesslog.v2.HTTPRequestProperties.RequestHeadersEntry 22, // 31: envoy.data.accesslog.v2.HTTPResponseProperties.response_code:type_name -> google.protobuf.UInt32Value 16, // 32: envoy.data.accesslog.v2.HTTPResponseProperties.response_headers:type_name -> envoy.data.accesslog.v2.HTTPResponseProperties.ResponseHeadersEntry 17, // 33: envoy.data.accesslog.v2.HTTPResponseProperties.response_trailers:type_name -> envoy.data.accesslog.v2.HTTPResponseProperties.ResponseTrailersEntry 24, // 34: envoy.data.accesslog.v2.AccessLogCommon.FilterStateObjectsEntry.value:type_name -> google.protobuf.Any 1, // 35: envoy.data.accesslog.v2.ResponseFlags.Unauthorized.reason:type_name -> envoy.data.accesslog.v2.ResponseFlags.Unauthorized.Reason 14, // 36: envoy.data.accesslog.v2.TLSProperties.CertificateProperties.subject_alt_name:type_name -> envoy.data.accesslog.v2.TLSProperties.CertificateProperties.SubjectAltName 37, // [37:37] is the sub-list for method output_type 37, // [37:37] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name 37, // [37:37] is the sub-list for extension extendee 0, // [0:37] is the sub-list for field type_name } func init() { file_envoy_data_accesslog_v2_accesslog_proto_init() } func file_envoy_data_accesslog_v2_accesslog_proto_init() { if File_envoy_data_accesslog_v2_accesslog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TCPAccessLogEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPAccessLogEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConnectionProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLogCommon); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlags); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPRequestProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPResponseProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlags_Unauthorized); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties_CertificateProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties_CertificateProperties_SubjectAltName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_accesslog_v2_accesslog_proto_msgTypes[11].OneofWrappers = []interface{}{ (*TLSProperties_CertificateProperties_SubjectAltName_Uri)(nil), (*TLSProperties_CertificateProperties_SubjectAltName_Dns)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_accesslog_v2_accesslog_proto_rawDesc, NumEnums: 3, NumMessages: 15, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_accesslog_v2_accesslog_proto_goTypes, DependencyIndexes: file_envoy_data_accesslog_v2_accesslog_proto_depIdxs, EnumInfos: file_envoy_data_accesslog_v2_accesslog_proto_enumTypes, MessageInfos: file_envoy_data_accesslog_v2_accesslog_proto_msgTypes, }.Build() File_envoy_data_accesslog_v2_accesslog_proto = out.File file_envoy_data_accesslog_v2_accesslog_proto_rawDesc = nil file_envoy_data_accesslog_v2_accesslog_proto_goTypes = nil file_envoy_data_accesslog_v2_accesslog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/accesslog/v2/accesslog.pb.validate.go000077500000000000000000001725341454502223200260150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/accesslog/v2/accesslog.proto package accesslogv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.RequestMethod(0) ) // Validate checks the field values on TCPAccessLogEntry with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TCPAccessLogEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TCPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TCPAccessLogEntryMultiError, or nil if none found. func (m *TCPAccessLogEntry) ValidateAll() error { return m.validate(true) } func (m *TCPAccessLogEntry) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectionProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TCPAccessLogEntryMultiError(errors) } return nil } // TCPAccessLogEntryMultiError is an error wrapping multiple validation errors // returned by TCPAccessLogEntry.ValidateAll() if the designated constraints // aren't met. type TCPAccessLogEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TCPAccessLogEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TCPAccessLogEntryMultiError) AllErrors() []error { return m } // TCPAccessLogEntryValidationError is the validation error returned by // TCPAccessLogEntry.Validate if the designated constraints aren't met. type TCPAccessLogEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TCPAccessLogEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TCPAccessLogEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TCPAccessLogEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TCPAccessLogEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TCPAccessLogEntryValidationError) ErrorName() string { return "TCPAccessLogEntryValidationError" } // Error satisfies the builtin error interface func (e TCPAccessLogEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTCPAccessLogEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TCPAccessLogEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TCPAccessLogEntryValidationError{} // Validate checks the field values on HTTPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPAccessLogEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPAccessLogEntryMultiError, or nil if none found. func (m *HTTPAccessLogEntry) ValidateAll() error { return m.validate(true) } func (m *HTTPAccessLogEntry) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ProtocolVersion if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HTTPAccessLogEntryMultiError(errors) } return nil } // HTTPAccessLogEntryMultiError is an error wrapping multiple validation errors // returned by HTTPAccessLogEntry.ValidateAll() if the designated constraints // aren't met. type HTTPAccessLogEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPAccessLogEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPAccessLogEntryMultiError) AllErrors() []error { return m } // HTTPAccessLogEntryValidationError is the validation error returned by // HTTPAccessLogEntry.Validate if the designated constraints aren't met. type HTTPAccessLogEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPAccessLogEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPAccessLogEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPAccessLogEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPAccessLogEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPAccessLogEntryValidationError) ErrorName() string { return "HTTPAccessLogEntryValidationError" } // Error satisfies the builtin error interface func (e HTTPAccessLogEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPAccessLogEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPAccessLogEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPAccessLogEntryValidationError{} // Validate checks the field values on ConnectionProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ConnectionProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConnectionProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConnectionPropertiesMultiError, or nil if none found. func (m *ConnectionProperties) ValidateAll() error { return m.validate(true) } func (m *ConnectionProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ReceivedBytes // no validation rules for SentBytes if len(errors) > 0 { return ConnectionPropertiesMultiError(errors) } return nil } // ConnectionPropertiesMultiError is an error wrapping multiple validation // errors returned by ConnectionProperties.ValidateAll() if the designated // constraints aren't met. type ConnectionPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConnectionPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConnectionPropertiesMultiError) AllErrors() []error { return m } // ConnectionPropertiesValidationError is the validation error returned by // ConnectionProperties.Validate if the designated constraints aren't met. type ConnectionPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConnectionPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConnectionPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConnectionPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConnectionPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConnectionPropertiesValidationError) ErrorName() string { return "ConnectionPropertiesValidationError" } // Error satisfies the builtin error interface func (e ConnectionPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConnectionProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConnectionPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConnectionPropertiesValidationError{} // Validate checks the field values on AccessLogCommon with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AccessLogCommon) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLogCommon with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AccessLogCommonMultiError, or nil if none found. func (m *AccessLogCommon) ValidateAll() error { return m.validate(true) } func (m *AccessLogCommon) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetSampleRate(); val <= 0 || val > 1 { err := AccessLogCommonValidationError{ field: "SampleRate", reason: "value must be inside range (0, 1]", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDownstreamRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStartTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStartTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstUpstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstUpstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastUpstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastUpstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstUpstreamRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstUpstreamRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastUpstreamRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastUpstreamRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstDownstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstDownstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastDownstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastDownstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamCluster if all { switch v := interface{}(m.GetResponseFlags()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseFlags()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamTransportFailureReason // no validation rules for RouteName if all { switch v := interface{}(m.GetDownstreamDirectRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamDirectRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetFilterStateObjects())) i := 0 for key := range m.GetFilterStateObjects() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetFilterStateObjects()[key] _ = val // no validation rules for FilterStateObjects[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return AccessLogCommonMultiError(errors) } return nil } // AccessLogCommonMultiError is an error wrapping multiple validation errors // returned by AccessLogCommon.ValidateAll() if the designated constraints // aren't met. type AccessLogCommonMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogCommonMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogCommonMultiError) AllErrors() []error { return m } // AccessLogCommonValidationError is the validation error returned by // AccessLogCommon.Validate if the designated constraints aren't met. type AccessLogCommonValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogCommonValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogCommonValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogCommonValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogCommonValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogCommonValidationError) ErrorName() string { return "AccessLogCommonValidationError" } // Error satisfies the builtin error interface func (e AccessLogCommonValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLogCommon.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogCommonValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogCommonValidationError{} // Validate checks the field values on ResponseFlags with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ResponseFlags) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlags with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResponseFlagsMultiError, or // nil if none found. func (m *ResponseFlags) ValidateAll() error { return m.validate(true) } func (m *ResponseFlags) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FailedLocalHealthcheck // no validation rules for NoHealthyUpstream // no validation rules for UpstreamRequestTimeout // no validation rules for LocalReset // no validation rules for UpstreamRemoteReset // no validation rules for UpstreamConnectionFailure // no validation rules for UpstreamConnectionTermination // no validation rules for UpstreamOverflow // no validation rules for NoRouteFound // no validation rules for DelayInjected // no validation rules for FaultInjected // no validation rules for RateLimited if all { switch v := interface{}(m.GetUnauthorizedDetails()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUnauthorizedDetails()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RateLimitServiceError // no validation rules for DownstreamConnectionTermination // no validation rules for UpstreamRetryLimitExceeded // no validation rules for StreamIdleTimeout // no validation rules for InvalidEnvoyRequestHeaders // no validation rules for DownstreamProtocolError if len(errors) > 0 { return ResponseFlagsMultiError(errors) } return nil } // ResponseFlagsMultiError is an error wrapping multiple validation errors // returned by ResponseFlags.ValidateAll() if the designated constraints // aren't met. type ResponseFlagsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlagsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlagsMultiError) AllErrors() []error { return m } // ResponseFlagsValidationError is the validation error returned by // ResponseFlags.Validate if the designated constraints aren't met. type ResponseFlagsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlagsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlagsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlagsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlagsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlagsValidationError) ErrorName() string { return "ResponseFlagsValidationError" } // Error satisfies the builtin error interface func (e ResponseFlagsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlags.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlagsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlagsValidationError{} // Validate checks the field values on TLSProperties with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TLSProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TLSProperties with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TLSPropertiesMultiError, or // nil if none found. func (m *TLSProperties) ValidateAll() error { return m.validate(true) } func (m *TLSProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TlsVersion if all { switch v := interface{}(m.GetTlsCipherSuite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCipherSuite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TlsSniHostname if all { switch v := interface{}(m.GetLocalCertificateProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalCertificateProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPeerCertificateProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPeerCertificateProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TlsSessionId if len(errors) > 0 { return TLSPropertiesMultiError(errors) } return nil } // TLSPropertiesMultiError is an error wrapping multiple validation errors // returned by TLSProperties.ValidateAll() if the designated constraints // aren't met. type TLSPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSPropertiesMultiError) AllErrors() []error { return m } // TLSPropertiesValidationError is the validation error returned by // TLSProperties.Validate if the designated constraints aren't met. type TLSPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSPropertiesValidationError) ErrorName() string { return "TLSPropertiesValidationError" } // Error satisfies the builtin error interface func (e TLSPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSPropertiesValidationError{} // Validate checks the field values on HTTPRequestProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPRequestProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPRequestProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPRequestPropertiesMultiError, or nil if none found. func (m *HTTPRequestProperties) ValidateAll() error { return m.validate(true) } func (m *HTTPRequestProperties) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := core.RequestMethod_name[int32(m.GetRequestMethod())]; !ok { err := HTTPRequestPropertiesValidationError{ field: "RequestMethod", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for Scheme // no validation rules for Authority if all { switch v := interface{}(m.GetPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Path // no validation rules for UserAgent // no validation rules for Referer // no validation rules for ForwardedFor // no validation rules for RequestId // no validation rules for OriginalPath // no validation rules for RequestHeadersBytes // no validation rules for RequestBodyBytes // no validation rules for RequestHeaders if len(errors) > 0 { return HTTPRequestPropertiesMultiError(errors) } return nil } // HTTPRequestPropertiesMultiError is an error wrapping multiple validation // errors returned by HTTPRequestProperties.ValidateAll() if the designated // constraints aren't met. type HTTPRequestPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPRequestPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPRequestPropertiesMultiError) AllErrors() []error { return m } // HTTPRequestPropertiesValidationError is the validation error returned by // HTTPRequestProperties.Validate if the designated constraints aren't met. type HTTPRequestPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPRequestPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPRequestPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPRequestPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPRequestPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPRequestPropertiesValidationError) ErrorName() string { return "HTTPRequestPropertiesValidationError" } // Error satisfies the builtin error interface func (e HTTPRequestPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPRequestProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPRequestPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPRequestPropertiesValidationError{} // Validate checks the field values on HTTPResponseProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPResponseProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPResponseProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPResponsePropertiesMultiError, or nil if none found. func (m *HTTPResponseProperties) ValidateAll() error { return m.validate(true) } func (m *HTTPResponseProperties) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponseCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ResponseHeadersBytes // no validation rules for ResponseBodyBytes // no validation rules for ResponseHeaders // no validation rules for ResponseTrailers // no validation rules for ResponseCodeDetails if len(errors) > 0 { return HTTPResponsePropertiesMultiError(errors) } return nil } // HTTPResponsePropertiesMultiError is an error wrapping multiple validation // errors returned by HTTPResponseProperties.ValidateAll() if the designated // constraints aren't met. type HTTPResponsePropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPResponsePropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPResponsePropertiesMultiError) AllErrors() []error { return m } // HTTPResponsePropertiesValidationError is the validation error returned by // HTTPResponseProperties.Validate if the designated constraints aren't met. type HTTPResponsePropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPResponsePropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPResponsePropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPResponsePropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPResponsePropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPResponsePropertiesValidationError) ErrorName() string { return "HTTPResponsePropertiesValidationError" } // Error satisfies the builtin error interface func (e HTTPResponsePropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPResponseProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPResponsePropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPResponsePropertiesValidationError{} // Validate checks the field values on ResponseFlags_Unauthorized with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResponseFlags_Unauthorized) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlags_Unauthorized with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResponseFlags_UnauthorizedMultiError, or nil if none found. func (m *ResponseFlags_Unauthorized) ValidateAll() error { return m.validate(true) } func (m *ResponseFlags_Unauthorized) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Reason if len(errors) > 0 { return ResponseFlags_UnauthorizedMultiError(errors) } return nil } // ResponseFlags_UnauthorizedMultiError is an error wrapping multiple // validation errors returned by ResponseFlags_Unauthorized.ValidateAll() if // the designated constraints aren't met. type ResponseFlags_UnauthorizedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlags_UnauthorizedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlags_UnauthorizedMultiError) AllErrors() []error { return m } // ResponseFlags_UnauthorizedValidationError is the validation error returned // by ResponseFlags_Unauthorized.Validate if the designated constraints aren't met. type ResponseFlags_UnauthorizedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlags_UnauthorizedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlags_UnauthorizedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlags_UnauthorizedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlags_UnauthorizedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlags_UnauthorizedValidationError) ErrorName() string { return "ResponseFlags_UnauthorizedValidationError" } // Error satisfies the builtin error interface func (e ResponseFlags_UnauthorizedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlags_Unauthorized.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlags_UnauthorizedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlags_UnauthorizedValidationError{} // Validate checks the field values on TLSProperties_CertificateProperties with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *TLSProperties_CertificateProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TLSProperties_CertificateProperties // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // TLSProperties_CertificatePropertiesMultiError, or nil if none found. func (m *TLSProperties_CertificateProperties) ValidateAll() error { return m.validate(true) } func (m *TLSProperties_CertificateProperties) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetSubjectAltName() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Subject if len(errors) > 0 { return TLSProperties_CertificatePropertiesMultiError(errors) } return nil } // TLSProperties_CertificatePropertiesMultiError is an error wrapping multiple // validation errors returned by // TLSProperties_CertificateProperties.ValidateAll() if the designated // constraints aren't met. type TLSProperties_CertificatePropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSProperties_CertificatePropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSProperties_CertificatePropertiesMultiError) AllErrors() []error { return m } // TLSProperties_CertificatePropertiesValidationError is the validation error // returned by TLSProperties_CertificateProperties.Validate if the designated // constraints aren't met. type TLSProperties_CertificatePropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSProperties_CertificatePropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSProperties_CertificatePropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSProperties_CertificatePropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSProperties_CertificatePropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSProperties_CertificatePropertiesValidationError) ErrorName() string { return "TLSProperties_CertificatePropertiesValidationError" } // Error satisfies the builtin error interface func (e TLSProperties_CertificatePropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties_CertificateProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSProperties_CertificatePropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSProperties_CertificatePropertiesValidationError{} // Validate checks the field values on // TLSProperties_CertificateProperties_SubjectAltName with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TLSProperties_CertificateProperties_SubjectAltName) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // TLSProperties_CertificateProperties_SubjectAltName with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // TLSProperties_CertificateProperties_SubjectAltNameMultiError, or nil if // none found. func (m *TLSProperties_CertificateProperties_SubjectAltName) ValidateAll() error { return m.validate(true) } func (m *TLSProperties_CertificateProperties_SubjectAltName) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.San.(type) { case *TLSProperties_CertificateProperties_SubjectAltName_Uri: if v == nil { err := TLSProperties_CertificateProperties_SubjectAltNameValidationError{ field: "San", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Uri case *TLSProperties_CertificateProperties_SubjectAltName_Dns: if v == nil { err := TLSProperties_CertificateProperties_SubjectAltNameValidationError{ field: "San", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Dns default: _ = v // ensures v is used } if len(errors) > 0 { return TLSProperties_CertificateProperties_SubjectAltNameMultiError(errors) } return nil } // TLSProperties_CertificateProperties_SubjectAltNameMultiError is an error // wrapping multiple validation errors returned by // TLSProperties_CertificateProperties_SubjectAltName.ValidateAll() if the // designated constraints aren't met. type TLSProperties_CertificateProperties_SubjectAltNameMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSProperties_CertificateProperties_SubjectAltNameMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSProperties_CertificateProperties_SubjectAltNameMultiError) AllErrors() []error { return m } // TLSProperties_CertificateProperties_SubjectAltNameValidationError is the // validation error returned by // TLSProperties_CertificateProperties_SubjectAltName.Validate if the // designated constraints aren't met. type TLSProperties_CertificateProperties_SubjectAltNameValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) ErrorName() string { return "TLSProperties_CertificateProperties_SubjectAltNameValidationError" } // Error satisfies the builtin error interface func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties_CertificateProperties_SubjectAltName.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSProperties_CertificateProperties_SubjectAltNameValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSProperties_CertificateProperties_SubjectAltNameValidationError{} go-control-plane-0.12.0/envoy/data/accesslog/v3/000077500000000000000000000000001454502223200213155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/accesslog/v3/accesslog.pb.go000077500000000000000000004037341454502223200242250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/accesslog/v3/accesslog.proto package accesslogv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type AccessLogType int32 const ( AccessLogType_NotSet AccessLogType = 0 AccessLogType_TcpUpstreamConnected AccessLogType = 1 AccessLogType_TcpPeriodic AccessLogType = 2 AccessLogType_TcpConnectionEnd AccessLogType = 3 AccessLogType_DownstreamStart AccessLogType = 4 AccessLogType_DownstreamPeriodic AccessLogType = 5 AccessLogType_DownstreamEnd AccessLogType = 6 AccessLogType_UpstreamPoolReady AccessLogType = 7 AccessLogType_UpstreamPeriodic AccessLogType = 8 AccessLogType_UpstreamEnd AccessLogType = 9 AccessLogType_DownstreamTunnelSuccessfullyEstablished AccessLogType = 10 AccessLogType_UdpTunnelUpstreamConnected AccessLogType = 11 AccessLogType_UdpPeriodic AccessLogType = 12 AccessLogType_UdpSessionEnd AccessLogType = 13 ) // Enum value maps for AccessLogType. var ( AccessLogType_name = map[int32]string{ 0: "NotSet", 1: "TcpUpstreamConnected", 2: "TcpPeriodic", 3: "TcpConnectionEnd", 4: "DownstreamStart", 5: "DownstreamPeriodic", 6: "DownstreamEnd", 7: "UpstreamPoolReady", 8: "UpstreamPeriodic", 9: "UpstreamEnd", 10: "DownstreamTunnelSuccessfullyEstablished", 11: "UdpTunnelUpstreamConnected", 12: "UdpPeriodic", 13: "UdpSessionEnd", } AccessLogType_value = map[string]int32{ "NotSet": 0, "TcpUpstreamConnected": 1, "TcpPeriodic": 2, "TcpConnectionEnd": 3, "DownstreamStart": 4, "DownstreamPeriodic": 5, "DownstreamEnd": 6, "UpstreamPoolReady": 7, "UpstreamPeriodic": 8, "UpstreamEnd": 9, "DownstreamTunnelSuccessfullyEstablished": 10, "UdpTunnelUpstreamConnected": 11, "UdpPeriodic": 12, "UdpSessionEnd": 13, } ) func (x AccessLogType) Enum() *AccessLogType { p := new(AccessLogType) *p = x return p } func (x AccessLogType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AccessLogType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[0].Descriptor() } func (AccessLogType) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[0] } func (x AccessLogType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AccessLogType.Descriptor instead. func (AccessLogType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{0} } // HTTP version type HTTPAccessLogEntry_HTTPVersion int32 const ( HTTPAccessLogEntry_PROTOCOL_UNSPECIFIED HTTPAccessLogEntry_HTTPVersion = 0 HTTPAccessLogEntry_HTTP10 HTTPAccessLogEntry_HTTPVersion = 1 HTTPAccessLogEntry_HTTP11 HTTPAccessLogEntry_HTTPVersion = 2 HTTPAccessLogEntry_HTTP2 HTTPAccessLogEntry_HTTPVersion = 3 HTTPAccessLogEntry_HTTP3 HTTPAccessLogEntry_HTTPVersion = 4 ) // Enum value maps for HTTPAccessLogEntry_HTTPVersion. var ( HTTPAccessLogEntry_HTTPVersion_name = map[int32]string{ 0: "PROTOCOL_UNSPECIFIED", 1: "HTTP10", 2: "HTTP11", 3: "HTTP2", 4: "HTTP3", } HTTPAccessLogEntry_HTTPVersion_value = map[string]int32{ "PROTOCOL_UNSPECIFIED": 0, "HTTP10": 1, "HTTP11": 2, "HTTP2": 3, "HTTP3": 4, } ) func (x HTTPAccessLogEntry_HTTPVersion) Enum() *HTTPAccessLogEntry_HTTPVersion { p := new(HTTPAccessLogEntry_HTTPVersion) *p = x return p } func (x HTTPAccessLogEntry_HTTPVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HTTPAccessLogEntry_HTTPVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[1].Descriptor() } func (HTTPAccessLogEntry_HTTPVersion) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[1] } func (x HTTPAccessLogEntry_HTTPVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HTTPAccessLogEntry_HTTPVersion.Descriptor instead. func (HTTPAccessLogEntry_HTTPVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{1, 0} } // Reasons why the request was unauthorized type ResponseFlags_Unauthorized_Reason int32 const ( ResponseFlags_Unauthorized_REASON_UNSPECIFIED ResponseFlags_Unauthorized_Reason = 0 // The request was denied by the external authorization service. ResponseFlags_Unauthorized_EXTERNAL_SERVICE ResponseFlags_Unauthorized_Reason = 1 ) // Enum value maps for ResponseFlags_Unauthorized_Reason. var ( ResponseFlags_Unauthorized_Reason_name = map[int32]string{ 0: "REASON_UNSPECIFIED", 1: "EXTERNAL_SERVICE", } ResponseFlags_Unauthorized_Reason_value = map[string]int32{ "REASON_UNSPECIFIED": 0, "EXTERNAL_SERVICE": 1, } ) func (x ResponseFlags_Unauthorized_Reason) Enum() *ResponseFlags_Unauthorized_Reason { p := new(ResponseFlags_Unauthorized_Reason) *p = x return p } func (x ResponseFlags_Unauthorized_Reason) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ResponseFlags_Unauthorized_Reason) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[2].Descriptor() } func (ResponseFlags_Unauthorized_Reason) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[2] } func (x ResponseFlags_Unauthorized_Reason) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ResponseFlags_Unauthorized_Reason.Descriptor instead. func (ResponseFlags_Unauthorized_Reason) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{4, 0, 0} } type TLSProperties_TLSVersion int32 const ( TLSProperties_VERSION_UNSPECIFIED TLSProperties_TLSVersion = 0 TLSProperties_TLSv1 TLSProperties_TLSVersion = 1 TLSProperties_TLSv1_1 TLSProperties_TLSVersion = 2 TLSProperties_TLSv1_2 TLSProperties_TLSVersion = 3 TLSProperties_TLSv1_3 TLSProperties_TLSVersion = 4 ) // Enum value maps for TLSProperties_TLSVersion. var ( TLSProperties_TLSVersion_name = map[int32]string{ 0: "VERSION_UNSPECIFIED", 1: "TLSv1", 2: "TLSv1_1", 3: "TLSv1_2", 4: "TLSv1_3", } TLSProperties_TLSVersion_value = map[string]int32{ "VERSION_UNSPECIFIED": 0, "TLSv1": 1, "TLSv1_1": 2, "TLSv1_2": 3, "TLSv1_3": 4, } ) func (x TLSProperties_TLSVersion) Enum() *TLSProperties_TLSVersion { p := new(TLSProperties_TLSVersion) *p = x return p } func (x TLSProperties_TLSVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TLSProperties_TLSVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[3].Descriptor() } func (TLSProperties_TLSVersion) Type() protoreflect.EnumType { return &file_envoy_data_accesslog_v3_accesslog_proto_enumTypes[3] } func (x TLSProperties_TLSVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TLSProperties_TLSVersion.Descriptor instead. func (TLSProperties_TLSVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{5, 0} } type TCPAccessLogEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common properties shared by all Envoy access logs. CommonProperties *AccessLogCommon `protobuf:"bytes,1,opt,name=common_properties,json=commonProperties,proto3" json:"common_properties,omitempty"` // Properties of the TCP connection. ConnectionProperties *ConnectionProperties `protobuf:"bytes,2,opt,name=connection_properties,json=connectionProperties,proto3" json:"connection_properties,omitempty"` } func (x *TCPAccessLogEntry) Reset() { *x = TCPAccessLogEntry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TCPAccessLogEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*TCPAccessLogEntry) ProtoMessage() {} func (x *TCPAccessLogEntry) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TCPAccessLogEntry.ProtoReflect.Descriptor instead. func (*TCPAccessLogEntry) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{0} } func (x *TCPAccessLogEntry) GetCommonProperties() *AccessLogCommon { if x != nil { return x.CommonProperties } return nil } func (x *TCPAccessLogEntry) GetConnectionProperties() *ConnectionProperties { if x != nil { return x.ConnectionProperties } return nil } type HTTPAccessLogEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common properties shared by all Envoy access logs. CommonProperties *AccessLogCommon `protobuf:"bytes,1,opt,name=common_properties,json=commonProperties,proto3" json:"common_properties,omitempty"` ProtocolVersion HTTPAccessLogEntry_HTTPVersion `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,proto3,enum=envoy.data.accesslog.v3.HTTPAccessLogEntry_HTTPVersion" json:"protocol_version,omitempty"` // Description of the incoming HTTP request. Request *HTTPRequestProperties `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` // Description of the outgoing HTTP response. Response *HTTPResponseProperties `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` } func (x *HTTPAccessLogEntry) Reset() { *x = HTTPAccessLogEntry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPAccessLogEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPAccessLogEntry) ProtoMessage() {} func (x *HTTPAccessLogEntry) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPAccessLogEntry.ProtoReflect.Descriptor instead. func (*HTTPAccessLogEntry) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{1} } func (x *HTTPAccessLogEntry) GetCommonProperties() *AccessLogCommon { if x != nil { return x.CommonProperties } return nil } func (x *HTTPAccessLogEntry) GetProtocolVersion() HTTPAccessLogEntry_HTTPVersion { if x != nil { return x.ProtocolVersion } return HTTPAccessLogEntry_PROTOCOL_UNSPECIFIED } func (x *HTTPAccessLogEntry) GetRequest() *HTTPRequestProperties { if x != nil { return x.Request } return nil } func (x *HTTPAccessLogEntry) GetResponse() *HTTPResponseProperties { if x != nil { return x.Response } return nil } // Defines fields for a connection type ConnectionProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Number of bytes received from downstream. ReceivedBytes uint64 `protobuf:"varint,1,opt,name=received_bytes,json=receivedBytes,proto3" json:"received_bytes,omitempty"` // Number of bytes sent to downstream. SentBytes uint64 `protobuf:"varint,2,opt,name=sent_bytes,json=sentBytes,proto3" json:"sent_bytes,omitempty"` } func (x *ConnectionProperties) Reset() { *x = ConnectionProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConnectionProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConnectionProperties) ProtoMessage() {} func (x *ConnectionProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConnectionProperties.ProtoReflect.Descriptor instead. func (*ConnectionProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{2} } func (x *ConnectionProperties) GetReceivedBytes() uint64 { if x != nil { return x.ReceivedBytes } return 0 } func (x *ConnectionProperties) GetSentBytes() uint64 { if x != nil { return x.SentBytes } return 0 } // Defines fields that are shared by all Envoy access logs. // [#next-free-field: 34] type AccessLogCommon struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#not-implemented-hide:] // This field indicates the rate at which this log entry was sampled. // Valid range is (0.0, 1.0]. SampleRate float64 `protobuf:"fixed64,1,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"` // This field is the remote/origin address on which the request from the user was received. // Note: This may not be the physical peer. E.g, if the remote address is inferred from for // example the x-forwarder-for header, proxy protocol, etc. DownstreamRemoteAddress *v3.Address `protobuf:"bytes,2,opt,name=downstream_remote_address,json=downstreamRemoteAddress,proto3" json:"downstream_remote_address,omitempty"` // This field is the local/destination address on which the request from the user was received. DownstreamLocalAddress *v3.Address `protobuf:"bytes,3,opt,name=downstream_local_address,json=downstreamLocalAddress,proto3" json:"downstream_local_address,omitempty"` // If the connection is secure,S this field will contain TLS properties. TlsProperties *TLSProperties `protobuf:"bytes,4,opt,name=tls_properties,json=tlsProperties,proto3" json:"tls_properties,omitempty"` // The time that Envoy started servicing this request. This is effectively the time that the first // downstream byte is received. StartTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Interval between the first downstream byte received and the last // downstream byte received (i.e. time it takes to receive a request). TimeToLastRxByte *duration.Duration `protobuf:"bytes,6,opt,name=time_to_last_rx_byte,json=timeToLastRxByte,proto3" json:"time_to_last_rx_byte,omitempty"` // Interval between the first downstream byte received and the first upstream byte sent. There may // by considerable delta between “time_to_last_rx_byte“ and this value due to filters. // Additionally, the same caveats apply as documented in “time_to_last_downstream_tx_byte“ about // not accounting for kernel socket buffer time, etc. TimeToFirstUpstreamTxByte *duration.Duration `protobuf:"bytes,7,opt,name=time_to_first_upstream_tx_byte,json=timeToFirstUpstreamTxByte,proto3" json:"time_to_first_upstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the last upstream byte sent. There may // by considerable delta between “time_to_last_rx_byte“ and this value due to filters. // Additionally, the same caveats apply as documented in “time_to_last_downstream_tx_byte“ about // not accounting for kernel socket buffer time, etc. TimeToLastUpstreamTxByte *duration.Duration `protobuf:"bytes,8,opt,name=time_to_last_upstream_tx_byte,json=timeToLastUpstreamTxByte,proto3" json:"time_to_last_upstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the first upstream // byte received (i.e. time it takes to start receiving a response). TimeToFirstUpstreamRxByte *duration.Duration `protobuf:"bytes,9,opt,name=time_to_first_upstream_rx_byte,json=timeToFirstUpstreamRxByte,proto3" json:"time_to_first_upstream_rx_byte,omitempty"` // Interval between the first downstream byte received and the last upstream // byte received (i.e. time it takes to receive a complete response). TimeToLastUpstreamRxByte *duration.Duration `protobuf:"bytes,10,opt,name=time_to_last_upstream_rx_byte,json=timeToLastUpstreamRxByte,proto3" json:"time_to_last_upstream_rx_byte,omitempty"` // Interval between the first downstream byte received and the first downstream byte sent. // There may be a considerable delta between the “time_to_first_upstream_rx_byte“ and this field // due to filters. Additionally, the same caveats apply as documented in // “time_to_last_downstream_tx_byte“ about not accounting for kernel socket buffer time, etc. TimeToFirstDownstreamTxByte *duration.Duration `protobuf:"bytes,11,opt,name=time_to_first_downstream_tx_byte,json=timeToFirstDownstreamTxByte,proto3" json:"time_to_first_downstream_tx_byte,omitempty"` // Interval between the first downstream byte received and the last downstream byte sent. // Depending on protocol, buffering, windowing, filters, etc. there may be a considerable delta // between “time_to_last_upstream_rx_byte“ and this field. Note also that this is an approximate // time. In the current implementation it does not include kernel socket buffer time. In the // current implementation it also does not include send window buffering inside the HTTP/2 codec. // In the future it is likely that work will be done to make this duration more accurate. TimeToLastDownstreamTxByte *duration.Duration `protobuf:"bytes,12,opt,name=time_to_last_downstream_tx_byte,json=timeToLastDownstreamTxByte,proto3" json:"time_to_last_downstream_tx_byte,omitempty"` // The upstream remote/destination address that handles this exchange. This does not include // retries. UpstreamRemoteAddress *v3.Address `protobuf:"bytes,13,opt,name=upstream_remote_address,json=upstreamRemoteAddress,proto3" json:"upstream_remote_address,omitempty"` // The upstream local/origin address that handles this exchange. This does not include retries. UpstreamLocalAddress *v3.Address `protobuf:"bytes,14,opt,name=upstream_local_address,json=upstreamLocalAddress,proto3" json:"upstream_local_address,omitempty"` // The upstream cluster that “upstream_remote_address“ belongs to. UpstreamCluster string `protobuf:"bytes,15,opt,name=upstream_cluster,json=upstreamCluster,proto3" json:"upstream_cluster,omitempty"` // Flags indicating occurrences during request/response processing. ResponseFlags *ResponseFlags `protobuf:"bytes,16,opt,name=response_flags,json=responseFlags,proto3" json:"response_flags,omitempty"` // All metadata encountered during request processing, including endpoint // selection. // // This can be used to associate IDs attached to the various configurations // used to process this request with the access log entry. For example, a // route created from a higher level forwarding rule with some ID can place // that ID in this field and cross reference later. It can also be used to // determine if a canary endpoint was used or not. Metadata *v3.Metadata `protobuf:"bytes,17,opt,name=metadata,proto3" json:"metadata,omitempty"` // If upstream connection failed due to transport socket (e.g. TLS handshake), provides the // failure reason from the transport socket. The format of this field depends on the configured // upstream transport socket. Common TLS failures are in // :ref:`TLS trouble shooting `. UpstreamTransportFailureReason string `protobuf:"bytes,18,opt,name=upstream_transport_failure_reason,json=upstreamTransportFailureReason,proto3" json:"upstream_transport_failure_reason,omitempty"` // The name of the route RouteName string `protobuf:"bytes,19,opt,name=route_name,json=routeName,proto3" json:"route_name,omitempty"` // This field is the downstream direct remote address on which the request from the user was // received. Note: This is always the physical peer, even if the remote address is inferred from // for example the x-forwarder-for header, proxy protocol, etc. DownstreamDirectRemoteAddress *v3.Address `protobuf:"bytes,20,opt,name=downstream_direct_remote_address,json=downstreamDirectRemoteAddress,proto3" json:"downstream_direct_remote_address,omitempty"` // Map of filter state in stream info that have been configured to be logged. If the filter // state serialized to any message other than “google.protobuf.Any“ it will be packed into // “google.protobuf.Any“. FilterStateObjects map[string]*any1.Any `protobuf:"bytes,21,rep,name=filter_state_objects,json=filterStateObjects,proto3" json:"filter_state_objects,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // A list of custom tags, which annotate logs with additional information. // To configure this value, users should configure // :ref:`custom_tags `. CustomTags map[string]string `protobuf:"bytes,22,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // For HTTP: Total duration in milliseconds of the request from the start time to the last byte out. // For TCP: Total duration in milliseconds of the downstream connection. // This is the total duration of the request (i.e., when the request's ActiveStream is destroyed) // and may be longer than “time_to_last_downstream_tx_byte“. Duration *duration.Duration `protobuf:"bytes,23,opt,name=duration,proto3" json:"duration,omitempty"` // For HTTP: Number of times the request is attempted upstream. Note that the field is omitted when the request was never attempted upstream. // For TCP: Number of times the connection request is attempted upstream. Note that the field is omitted when the connect request was never attempted upstream. UpstreamRequestAttemptCount uint32 `protobuf:"varint,24,opt,name=upstream_request_attempt_count,json=upstreamRequestAttemptCount,proto3" json:"upstream_request_attempt_count,omitempty"` // Connection termination details may provide additional information about why the connection was terminated by Envoy for L4 reasons. ConnectionTerminationDetails string `protobuf:"bytes,25,opt,name=connection_termination_details,json=connectionTerminationDetails,proto3" json:"connection_termination_details,omitempty"` // Optional unique id of stream (TCP connection, long-live HTTP2 stream, HTTP request) for logging and tracing. // This could be any format string that could be used to identify one stream. StreamId string `protobuf:"bytes,26,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` // If this log entry is final log entry that flushed after the stream completed or // intermediate log entry that flushed periodically during the stream. // There may be multiple intermediate log entries and only one final log entry for each // long-live stream (TCP connection, long-live HTTP2 stream). // And if it is necessary, unique ID or identifier can be added to the log entry // :ref:`stream_id ` to // correlate all these intermediate log entries and final log entry. // // .. attention:: // // This field is deprecated in favor of ``access_log_type`` for better indication of the // type of the access log record. // // Deprecated: Marked as deprecated in envoy/data/accesslog/v3/accesslog.proto. IntermediateLogEntry bool `protobuf:"varint,27,opt,name=intermediate_log_entry,json=intermediateLogEntry,proto3" json:"intermediate_log_entry,omitempty"` // If downstream connection in listener failed due to transport socket (e.g. TLS handshake), provides the // failure reason from the transport socket. The format of this field depends on the configured downstream // transport socket. Common TLS failures are in :ref:`TLS trouble shooting `. DownstreamTransportFailureReason string `protobuf:"bytes,28,opt,name=downstream_transport_failure_reason,json=downstreamTransportFailureReason,proto3" json:"downstream_transport_failure_reason,omitempty"` // For HTTP: Total number of bytes sent to the downstream by the http stream. // For TCP: Total number of bytes sent to the downstream by the tcp proxy. DownstreamWireBytesSent uint64 `protobuf:"varint,29,opt,name=downstream_wire_bytes_sent,json=downstreamWireBytesSent,proto3" json:"downstream_wire_bytes_sent,omitempty"` // For HTTP: Total number of bytes received from the downstream by the http stream. Envoy over counts sizes of received HTTP/1.1 pipelined requests by adding up bytes of requests in the pipeline to the one currently being processed. // For TCP: Total number of bytes received from the downstream by the tcp proxy. DownstreamWireBytesReceived uint64 `protobuf:"varint,30,opt,name=downstream_wire_bytes_received,json=downstreamWireBytesReceived,proto3" json:"downstream_wire_bytes_received,omitempty"` // For HTTP: Total number of bytes sent to the upstream by the http stream. This value accumulates during upstream retries. // For TCP: Total number of bytes sent to the upstream by the tcp proxy. UpstreamWireBytesSent uint64 `protobuf:"varint,31,opt,name=upstream_wire_bytes_sent,json=upstreamWireBytesSent,proto3" json:"upstream_wire_bytes_sent,omitempty"` // For HTTP: Total number of bytes received from the upstream by the http stream. // For TCP: Total number of bytes sent to the upstream by the tcp proxy. UpstreamWireBytesReceived uint64 `protobuf:"varint,32,opt,name=upstream_wire_bytes_received,json=upstreamWireBytesReceived,proto3" json:"upstream_wire_bytes_received,omitempty"` // The type of the access log, which indicates when the log was recorded. // See :ref:`ACCESS_LOG_TYPE ` for the available values. // In case the access log was recorded by a flow which does not correspond to one of the supported // values, then the default value will be “NotSet“. // For more information about how access log behaves and when it is being recorded, // please refer to :ref:`access logging `. AccessLogType AccessLogType `protobuf:"varint,33,opt,name=access_log_type,json=accessLogType,proto3,enum=envoy.data.accesslog.v3.AccessLogType" json:"access_log_type,omitempty"` } func (x *AccessLogCommon) Reset() { *x = AccessLogCommon{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccessLogCommon) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccessLogCommon) ProtoMessage() {} func (x *AccessLogCommon) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccessLogCommon.ProtoReflect.Descriptor instead. func (*AccessLogCommon) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{3} } func (x *AccessLogCommon) GetSampleRate() float64 { if x != nil { return x.SampleRate } return 0 } func (x *AccessLogCommon) GetDownstreamRemoteAddress() *v3.Address { if x != nil { return x.DownstreamRemoteAddress } return nil } func (x *AccessLogCommon) GetDownstreamLocalAddress() *v3.Address { if x != nil { return x.DownstreamLocalAddress } return nil } func (x *AccessLogCommon) GetTlsProperties() *TLSProperties { if x != nil { return x.TlsProperties } return nil } func (x *AccessLogCommon) GetStartTime() *timestamp.Timestamp { if x != nil { return x.StartTime } return nil } func (x *AccessLogCommon) GetTimeToLastRxByte() *duration.Duration { if x != nil { return x.TimeToLastRxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstUpstreamTxByte() *duration.Duration { if x != nil { return x.TimeToFirstUpstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToLastUpstreamTxByte() *duration.Duration { if x != nil { return x.TimeToLastUpstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstUpstreamRxByte() *duration.Duration { if x != nil { return x.TimeToFirstUpstreamRxByte } return nil } func (x *AccessLogCommon) GetTimeToLastUpstreamRxByte() *duration.Duration { if x != nil { return x.TimeToLastUpstreamRxByte } return nil } func (x *AccessLogCommon) GetTimeToFirstDownstreamTxByte() *duration.Duration { if x != nil { return x.TimeToFirstDownstreamTxByte } return nil } func (x *AccessLogCommon) GetTimeToLastDownstreamTxByte() *duration.Duration { if x != nil { return x.TimeToLastDownstreamTxByte } return nil } func (x *AccessLogCommon) GetUpstreamRemoteAddress() *v3.Address { if x != nil { return x.UpstreamRemoteAddress } return nil } func (x *AccessLogCommon) GetUpstreamLocalAddress() *v3.Address { if x != nil { return x.UpstreamLocalAddress } return nil } func (x *AccessLogCommon) GetUpstreamCluster() string { if x != nil { return x.UpstreamCluster } return "" } func (x *AccessLogCommon) GetResponseFlags() *ResponseFlags { if x != nil { return x.ResponseFlags } return nil } func (x *AccessLogCommon) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } func (x *AccessLogCommon) GetUpstreamTransportFailureReason() string { if x != nil { return x.UpstreamTransportFailureReason } return "" } func (x *AccessLogCommon) GetRouteName() string { if x != nil { return x.RouteName } return "" } func (x *AccessLogCommon) GetDownstreamDirectRemoteAddress() *v3.Address { if x != nil { return x.DownstreamDirectRemoteAddress } return nil } func (x *AccessLogCommon) GetFilterStateObjects() map[string]*any1.Any { if x != nil { return x.FilterStateObjects } return nil } func (x *AccessLogCommon) GetCustomTags() map[string]string { if x != nil { return x.CustomTags } return nil } func (x *AccessLogCommon) GetDuration() *duration.Duration { if x != nil { return x.Duration } return nil } func (x *AccessLogCommon) GetUpstreamRequestAttemptCount() uint32 { if x != nil { return x.UpstreamRequestAttemptCount } return 0 } func (x *AccessLogCommon) GetConnectionTerminationDetails() string { if x != nil { return x.ConnectionTerminationDetails } return "" } func (x *AccessLogCommon) GetStreamId() string { if x != nil { return x.StreamId } return "" } // Deprecated: Marked as deprecated in envoy/data/accesslog/v3/accesslog.proto. func (x *AccessLogCommon) GetIntermediateLogEntry() bool { if x != nil { return x.IntermediateLogEntry } return false } func (x *AccessLogCommon) GetDownstreamTransportFailureReason() string { if x != nil { return x.DownstreamTransportFailureReason } return "" } func (x *AccessLogCommon) GetDownstreamWireBytesSent() uint64 { if x != nil { return x.DownstreamWireBytesSent } return 0 } func (x *AccessLogCommon) GetDownstreamWireBytesReceived() uint64 { if x != nil { return x.DownstreamWireBytesReceived } return 0 } func (x *AccessLogCommon) GetUpstreamWireBytesSent() uint64 { if x != nil { return x.UpstreamWireBytesSent } return 0 } func (x *AccessLogCommon) GetUpstreamWireBytesReceived() uint64 { if x != nil { return x.UpstreamWireBytesReceived } return 0 } func (x *AccessLogCommon) GetAccessLogType() AccessLogType { if x != nil { return x.AccessLogType } return AccessLogType_NotSet } // Flags indicating occurrences during request/response processing. // [#next-free-field: 28] type ResponseFlags struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates local server healthcheck failed. FailedLocalHealthcheck bool `protobuf:"varint,1,opt,name=failed_local_healthcheck,json=failedLocalHealthcheck,proto3" json:"failed_local_healthcheck,omitempty"` // Indicates there was no healthy upstream. NoHealthyUpstream bool `protobuf:"varint,2,opt,name=no_healthy_upstream,json=noHealthyUpstream,proto3" json:"no_healthy_upstream,omitempty"` // Indicates an there was an upstream request timeout. UpstreamRequestTimeout bool `protobuf:"varint,3,opt,name=upstream_request_timeout,json=upstreamRequestTimeout,proto3" json:"upstream_request_timeout,omitempty"` // Indicates local codec level reset was sent on the stream. LocalReset bool `protobuf:"varint,4,opt,name=local_reset,json=localReset,proto3" json:"local_reset,omitempty"` // Indicates remote codec level reset was received on the stream. UpstreamRemoteReset bool `protobuf:"varint,5,opt,name=upstream_remote_reset,json=upstreamRemoteReset,proto3" json:"upstream_remote_reset,omitempty"` // Indicates there was a local reset by a connection pool due to an initial connection failure. UpstreamConnectionFailure bool `protobuf:"varint,6,opt,name=upstream_connection_failure,json=upstreamConnectionFailure,proto3" json:"upstream_connection_failure,omitempty"` // Indicates the stream was reset due to an upstream connection termination. UpstreamConnectionTermination bool `protobuf:"varint,7,opt,name=upstream_connection_termination,json=upstreamConnectionTermination,proto3" json:"upstream_connection_termination,omitempty"` // Indicates the stream was reset because of a resource overflow. UpstreamOverflow bool `protobuf:"varint,8,opt,name=upstream_overflow,json=upstreamOverflow,proto3" json:"upstream_overflow,omitempty"` // Indicates no route was found for the request. NoRouteFound bool `protobuf:"varint,9,opt,name=no_route_found,json=noRouteFound,proto3" json:"no_route_found,omitempty"` // Indicates that the request was delayed before proxying. DelayInjected bool `protobuf:"varint,10,opt,name=delay_injected,json=delayInjected,proto3" json:"delay_injected,omitempty"` // Indicates that the request was aborted with an injected error code. FaultInjected bool `protobuf:"varint,11,opt,name=fault_injected,json=faultInjected,proto3" json:"fault_injected,omitempty"` // Indicates that the request was rate-limited locally. RateLimited bool `protobuf:"varint,12,opt,name=rate_limited,json=rateLimited,proto3" json:"rate_limited,omitempty"` // Indicates if the request was deemed unauthorized and the reason for it. UnauthorizedDetails *ResponseFlags_Unauthorized `protobuf:"bytes,13,opt,name=unauthorized_details,json=unauthorizedDetails,proto3" json:"unauthorized_details,omitempty"` // Indicates that the request was rejected because there was an error in rate limit service. RateLimitServiceError bool `protobuf:"varint,14,opt,name=rate_limit_service_error,json=rateLimitServiceError,proto3" json:"rate_limit_service_error,omitempty"` // Indicates the stream was reset due to a downstream connection termination. DownstreamConnectionTermination bool `protobuf:"varint,15,opt,name=downstream_connection_termination,json=downstreamConnectionTermination,proto3" json:"downstream_connection_termination,omitempty"` // Indicates that the upstream retry limit was exceeded, resulting in a downstream error. UpstreamRetryLimitExceeded bool `protobuf:"varint,16,opt,name=upstream_retry_limit_exceeded,json=upstreamRetryLimitExceeded,proto3" json:"upstream_retry_limit_exceeded,omitempty"` // Indicates that the stream idle timeout was hit, resulting in a downstream 408. StreamIdleTimeout bool `protobuf:"varint,17,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` // Indicates that the request was rejected because an envoy request header failed strict // validation. InvalidEnvoyRequestHeaders bool `protobuf:"varint,18,opt,name=invalid_envoy_request_headers,json=invalidEnvoyRequestHeaders,proto3" json:"invalid_envoy_request_headers,omitempty"` // Indicates there was an HTTP protocol error on the downstream request. DownstreamProtocolError bool `protobuf:"varint,19,opt,name=downstream_protocol_error,json=downstreamProtocolError,proto3" json:"downstream_protocol_error,omitempty"` // Indicates there was a max stream duration reached on the upstream request. UpstreamMaxStreamDurationReached bool `protobuf:"varint,20,opt,name=upstream_max_stream_duration_reached,json=upstreamMaxStreamDurationReached,proto3" json:"upstream_max_stream_duration_reached,omitempty"` // Indicates the response was served from a cache filter. ResponseFromCacheFilter bool `protobuf:"varint,21,opt,name=response_from_cache_filter,json=responseFromCacheFilter,proto3" json:"response_from_cache_filter,omitempty"` // Indicates that a filter configuration is not available. NoFilterConfigFound bool `protobuf:"varint,22,opt,name=no_filter_config_found,json=noFilterConfigFound,proto3" json:"no_filter_config_found,omitempty"` // Indicates that request or connection exceeded the downstream connection duration. DurationTimeout bool `protobuf:"varint,23,opt,name=duration_timeout,json=durationTimeout,proto3" json:"duration_timeout,omitempty"` // Indicates there was an HTTP protocol error in the upstream response. UpstreamProtocolError bool `protobuf:"varint,24,opt,name=upstream_protocol_error,json=upstreamProtocolError,proto3" json:"upstream_protocol_error,omitempty"` // Indicates no cluster was found for the request. NoClusterFound bool `protobuf:"varint,25,opt,name=no_cluster_found,json=noClusterFound,proto3" json:"no_cluster_found,omitempty"` // Indicates overload manager terminated the request. OverloadManager bool `protobuf:"varint,26,opt,name=overload_manager,json=overloadManager,proto3" json:"overload_manager,omitempty"` // Indicates a DNS resolution failed. DnsResolutionFailure bool `protobuf:"varint,27,opt,name=dns_resolution_failure,json=dnsResolutionFailure,proto3" json:"dns_resolution_failure,omitempty"` } func (x *ResponseFlags) Reset() { *x = ResponseFlags{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlags) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlags) ProtoMessage() {} func (x *ResponseFlags) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlags.ProtoReflect.Descriptor instead. func (*ResponseFlags) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{4} } func (x *ResponseFlags) GetFailedLocalHealthcheck() bool { if x != nil { return x.FailedLocalHealthcheck } return false } func (x *ResponseFlags) GetNoHealthyUpstream() bool { if x != nil { return x.NoHealthyUpstream } return false } func (x *ResponseFlags) GetUpstreamRequestTimeout() bool { if x != nil { return x.UpstreamRequestTimeout } return false } func (x *ResponseFlags) GetLocalReset() bool { if x != nil { return x.LocalReset } return false } func (x *ResponseFlags) GetUpstreamRemoteReset() bool { if x != nil { return x.UpstreamRemoteReset } return false } func (x *ResponseFlags) GetUpstreamConnectionFailure() bool { if x != nil { return x.UpstreamConnectionFailure } return false } func (x *ResponseFlags) GetUpstreamConnectionTermination() bool { if x != nil { return x.UpstreamConnectionTermination } return false } func (x *ResponseFlags) GetUpstreamOverflow() bool { if x != nil { return x.UpstreamOverflow } return false } func (x *ResponseFlags) GetNoRouteFound() bool { if x != nil { return x.NoRouteFound } return false } func (x *ResponseFlags) GetDelayInjected() bool { if x != nil { return x.DelayInjected } return false } func (x *ResponseFlags) GetFaultInjected() bool { if x != nil { return x.FaultInjected } return false } func (x *ResponseFlags) GetRateLimited() bool { if x != nil { return x.RateLimited } return false } func (x *ResponseFlags) GetUnauthorizedDetails() *ResponseFlags_Unauthorized { if x != nil { return x.UnauthorizedDetails } return nil } func (x *ResponseFlags) GetRateLimitServiceError() bool { if x != nil { return x.RateLimitServiceError } return false } func (x *ResponseFlags) GetDownstreamConnectionTermination() bool { if x != nil { return x.DownstreamConnectionTermination } return false } func (x *ResponseFlags) GetUpstreamRetryLimitExceeded() bool { if x != nil { return x.UpstreamRetryLimitExceeded } return false } func (x *ResponseFlags) GetStreamIdleTimeout() bool { if x != nil { return x.StreamIdleTimeout } return false } func (x *ResponseFlags) GetInvalidEnvoyRequestHeaders() bool { if x != nil { return x.InvalidEnvoyRequestHeaders } return false } func (x *ResponseFlags) GetDownstreamProtocolError() bool { if x != nil { return x.DownstreamProtocolError } return false } func (x *ResponseFlags) GetUpstreamMaxStreamDurationReached() bool { if x != nil { return x.UpstreamMaxStreamDurationReached } return false } func (x *ResponseFlags) GetResponseFromCacheFilter() bool { if x != nil { return x.ResponseFromCacheFilter } return false } func (x *ResponseFlags) GetNoFilterConfigFound() bool { if x != nil { return x.NoFilterConfigFound } return false } func (x *ResponseFlags) GetDurationTimeout() bool { if x != nil { return x.DurationTimeout } return false } func (x *ResponseFlags) GetUpstreamProtocolError() bool { if x != nil { return x.UpstreamProtocolError } return false } func (x *ResponseFlags) GetNoClusterFound() bool { if x != nil { return x.NoClusterFound } return false } func (x *ResponseFlags) GetOverloadManager() bool { if x != nil { return x.OverloadManager } return false } func (x *ResponseFlags) GetDnsResolutionFailure() bool { if x != nil { return x.DnsResolutionFailure } return false } // Properties of a negotiated TLS connection. // [#next-free-field: 8] type TLSProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Version of TLS that was negotiated. TlsVersion TLSProperties_TLSVersion `protobuf:"varint,1,opt,name=tls_version,json=tlsVersion,proto3,enum=envoy.data.accesslog.v3.TLSProperties_TLSVersion" json:"tls_version,omitempty"` // TLS cipher suite negotiated during handshake. The value is a // four-digit hex code defined by the IANA TLS Cipher Suite Registry // (e.g. “009C“ for “TLS_RSA_WITH_AES_128_GCM_SHA256“). // // Here it is expressed as an integer. TlsCipherSuite *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=tls_cipher_suite,json=tlsCipherSuite,proto3" json:"tls_cipher_suite,omitempty"` // SNI hostname from handshake. TlsSniHostname string `protobuf:"bytes,3,opt,name=tls_sni_hostname,json=tlsSniHostname,proto3" json:"tls_sni_hostname,omitempty"` // Properties of the local certificate used to negotiate TLS. LocalCertificateProperties *TLSProperties_CertificateProperties `protobuf:"bytes,4,opt,name=local_certificate_properties,json=localCertificateProperties,proto3" json:"local_certificate_properties,omitempty"` // Properties of the peer certificate used to negotiate TLS. PeerCertificateProperties *TLSProperties_CertificateProperties `protobuf:"bytes,5,opt,name=peer_certificate_properties,json=peerCertificateProperties,proto3" json:"peer_certificate_properties,omitempty"` // The TLS session ID. TlsSessionId string `protobuf:"bytes,6,opt,name=tls_session_id,json=tlsSessionId,proto3" json:"tls_session_id,omitempty"` // The “JA3“ fingerprint when “JA3“ fingerprinting is enabled. Ja3Fingerprint string `protobuf:"bytes,7,opt,name=ja3_fingerprint,json=ja3Fingerprint,proto3" json:"ja3_fingerprint,omitempty"` } func (x *TLSProperties) Reset() { *x = TLSProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties) ProtoMessage() {} func (x *TLSProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties.ProtoReflect.Descriptor instead. func (*TLSProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{5} } func (x *TLSProperties) GetTlsVersion() TLSProperties_TLSVersion { if x != nil { return x.TlsVersion } return TLSProperties_VERSION_UNSPECIFIED } func (x *TLSProperties) GetTlsCipherSuite() *wrappers.UInt32Value { if x != nil { return x.TlsCipherSuite } return nil } func (x *TLSProperties) GetTlsSniHostname() string { if x != nil { return x.TlsSniHostname } return "" } func (x *TLSProperties) GetLocalCertificateProperties() *TLSProperties_CertificateProperties { if x != nil { return x.LocalCertificateProperties } return nil } func (x *TLSProperties) GetPeerCertificateProperties() *TLSProperties_CertificateProperties { if x != nil { return x.PeerCertificateProperties } return nil } func (x *TLSProperties) GetTlsSessionId() string { if x != nil { return x.TlsSessionId } return "" } func (x *TLSProperties) GetJa3Fingerprint() string { if x != nil { return x.Ja3Fingerprint } return "" } // [#next-free-field: 16] type HTTPRequestProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request method (RFC 7231/2616). RequestMethod v3.RequestMethod `protobuf:"varint,1,opt,name=request_method,json=requestMethod,proto3,enum=envoy.config.core.v3.RequestMethod" json:"request_method,omitempty"` // The scheme portion of the incoming request URI. Scheme string `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"` // HTTP/2 “:authority“ or HTTP/1.1 “Host“ header value. Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` // The port of the incoming request URI // (unused currently, as port is composed onto authority). Port *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` // The path portion from the incoming request URI. Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` // Value of the “User-Agent“ request header. UserAgent string `protobuf:"bytes,6,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` // Value of the “Referer“ request header. Referer string `protobuf:"bytes,7,opt,name=referer,proto3" json:"referer,omitempty"` // Value of the “X-Forwarded-For“ request header. ForwardedFor string `protobuf:"bytes,8,opt,name=forwarded_for,json=forwardedFor,proto3" json:"forwarded_for,omitempty"` // Value of the “X-Request-Id“ request header // // This header is used by Envoy to uniquely identify a request. // It will be generated for all external requests and internal requests that // do not already have a request ID. RequestId string `protobuf:"bytes,9,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Value of the “X-Envoy-Original-Path“ request header. OriginalPath string `protobuf:"bytes,10,opt,name=original_path,json=originalPath,proto3" json:"original_path,omitempty"` // Size of the HTTP request headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestHeadersBytes uint64 `protobuf:"varint,11,opt,name=request_headers_bytes,json=requestHeadersBytes,proto3" json:"request_headers_bytes,omitempty"` // Size of the HTTP request body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestBodyBytes uint64 `protobuf:"varint,12,opt,name=request_body_bytes,json=requestBodyBytes,proto3" json:"request_body_bytes,omitempty"` // Map of additional headers that have been configured to be logged. RequestHeaders map[string]string `protobuf:"bytes,13,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Number of header bytes sent to the upstream by the http stream, including protocol overhead. // // This value accumulates during upstream retries. UpstreamHeaderBytesSent uint64 `protobuf:"varint,14,opt,name=upstream_header_bytes_sent,json=upstreamHeaderBytesSent,proto3" json:"upstream_header_bytes_sent,omitempty"` // Number of header bytes received from the downstream by the http stream, including protocol overhead. DownstreamHeaderBytesReceived uint64 `protobuf:"varint,15,opt,name=downstream_header_bytes_received,json=downstreamHeaderBytesReceived,proto3" json:"downstream_header_bytes_received,omitempty"` } func (x *HTTPRequestProperties) Reset() { *x = HTTPRequestProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPRequestProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPRequestProperties) ProtoMessage() {} func (x *HTTPRequestProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPRequestProperties.ProtoReflect.Descriptor instead. func (*HTTPRequestProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{6} } func (x *HTTPRequestProperties) GetRequestMethod() v3.RequestMethod { if x != nil { return x.RequestMethod } return v3.RequestMethod(0) } func (x *HTTPRequestProperties) GetScheme() string { if x != nil { return x.Scheme } return "" } func (x *HTTPRequestProperties) GetAuthority() string { if x != nil { return x.Authority } return "" } func (x *HTTPRequestProperties) GetPort() *wrappers.UInt32Value { if x != nil { return x.Port } return nil } func (x *HTTPRequestProperties) GetPath() string { if x != nil { return x.Path } return "" } func (x *HTTPRequestProperties) GetUserAgent() string { if x != nil { return x.UserAgent } return "" } func (x *HTTPRequestProperties) GetReferer() string { if x != nil { return x.Referer } return "" } func (x *HTTPRequestProperties) GetForwardedFor() string { if x != nil { return x.ForwardedFor } return "" } func (x *HTTPRequestProperties) GetRequestId() string { if x != nil { return x.RequestId } return "" } func (x *HTTPRequestProperties) GetOriginalPath() string { if x != nil { return x.OriginalPath } return "" } func (x *HTTPRequestProperties) GetRequestHeadersBytes() uint64 { if x != nil { return x.RequestHeadersBytes } return 0 } func (x *HTTPRequestProperties) GetRequestBodyBytes() uint64 { if x != nil { return x.RequestBodyBytes } return 0 } func (x *HTTPRequestProperties) GetRequestHeaders() map[string]string { if x != nil { return x.RequestHeaders } return nil } func (x *HTTPRequestProperties) GetUpstreamHeaderBytesSent() uint64 { if x != nil { return x.UpstreamHeaderBytesSent } return 0 } func (x *HTTPRequestProperties) GetDownstreamHeaderBytesReceived() uint64 { if x != nil { return x.DownstreamHeaderBytesReceived } return 0 } // [#next-free-field: 9] type HTTPResponseProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP response code returned by Envoy. ResponseCode *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=response_code,json=responseCode,proto3" json:"response_code,omitempty"` // Size of the HTTP response headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include protocol overhead or overhead from framing or encoding at other networking layers. ResponseHeadersBytes uint64 `protobuf:"varint,2,opt,name=response_headers_bytes,json=responseHeadersBytes,proto3" json:"response_headers_bytes,omitempty"` // Size of the HTTP response body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. ResponseBodyBytes uint64 `protobuf:"varint,3,opt,name=response_body_bytes,json=responseBodyBytes,proto3" json:"response_body_bytes,omitempty"` // Map of additional headers configured to be logged. ResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map of trailers configured to be logged. ResponseTrailers map[string]string `protobuf:"bytes,5,rep,name=response_trailers,json=responseTrailers,proto3" json:"response_trailers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The HTTP response code details. ResponseCodeDetails string `protobuf:"bytes,6,opt,name=response_code_details,json=responseCodeDetails,proto3" json:"response_code_details,omitempty"` // Number of header bytes received from the upstream by the http stream, including protocol overhead. UpstreamHeaderBytesReceived uint64 `protobuf:"varint,7,opt,name=upstream_header_bytes_received,json=upstreamHeaderBytesReceived,proto3" json:"upstream_header_bytes_received,omitempty"` // Number of header bytes sent to the downstream by the http stream, including protocol overhead. DownstreamHeaderBytesSent uint64 `protobuf:"varint,8,opt,name=downstream_header_bytes_sent,json=downstreamHeaderBytesSent,proto3" json:"downstream_header_bytes_sent,omitempty"` } func (x *HTTPResponseProperties) Reset() { *x = HTTPResponseProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPResponseProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPResponseProperties) ProtoMessage() {} func (x *HTTPResponseProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPResponseProperties.ProtoReflect.Descriptor instead. func (*HTTPResponseProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{7} } func (x *HTTPResponseProperties) GetResponseCode() *wrappers.UInt32Value { if x != nil { return x.ResponseCode } return nil } func (x *HTTPResponseProperties) GetResponseHeadersBytes() uint64 { if x != nil { return x.ResponseHeadersBytes } return 0 } func (x *HTTPResponseProperties) GetResponseBodyBytes() uint64 { if x != nil { return x.ResponseBodyBytes } return 0 } func (x *HTTPResponseProperties) GetResponseHeaders() map[string]string { if x != nil { return x.ResponseHeaders } return nil } func (x *HTTPResponseProperties) GetResponseTrailers() map[string]string { if x != nil { return x.ResponseTrailers } return nil } func (x *HTTPResponseProperties) GetResponseCodeDetails() string { if x != nil { return x.ResponseCodeDetails } return "" } func (x *HTTPResponseProperties) GetUpstreamHeaderBytesReceived() uint64 { if x != nil { return x.UpstreamHeaderBytesReceived } return 0 } func (x *HTTPResponseProperties) GetDownstreamHeaderBytesSent() uint64 { if x != nil { return x.DownstreamHeaderBytesSent } return 0 } type ResponseFlags_Unauthorized struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Reason ResponseFlags_Unauthorized_Reason `protobuf:"varint,1,opt,name=reason,proto3,enum=envoy.data.accesslog.v3.ResponseFlags_Unauthorized_Reason" json:"reason,omitempty"` } func (x *ResponseFlags_Unauthorized) Reset() { *x = ResponseFlags_Unauthorized{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseFlags_Unauthorized) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseFlags_Unauthorized) ProtoMessage() {} func (x *ResponseFlags_Unauthorized) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseFlags_Unauthorized.ProtoReflect.Descriptor instead. func (*ResponseFlags_Unauthorized) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{4, 0} } func (x *ResponseFlags_Unauthorized) GetReason() ResponseFlags_Unauthorized_Reason { if x != nil { return x.Reason } return ResponseFlags_Unauthorized_REASON_UNSPECIFIED } type TLSProperties_CertificateProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SANs present in the certificate. SubjectAltName []*TLSProperties_CertificateProperties_SubjectAltName `protobuf:"bytes,1,rep,name=subject_alt_name,json=subjectAltName,proto3" json:"subject_alt_name,omitempty"` // The subject field of the certificate. Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` } func (x *TLSProperties_CertificateProperties) Reset() { *x = TLSProperties_CertificateProperties{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties_CertificateProperties) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties_CertificateProperties) ProtoMessage() {} func (x *TLSProperties_CertificateProperties) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties_CertificateProperties.ProtoReflect.Descriptor instead. func (*TLSProperties_CertificateProperties) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{5, 0} } func (x *TLSProperties_CertificateProperties) GetSubjectAltName() []*TLSProperties_CertificateProperties_SubjectAltName { if x != nil { return x.SubjectAltName } return nil } func (x *TLSProperties_CertificateProperties) GetSubject() string { if x != nil { return x.Subject } return "" } type TLSProperties_CertificateProperties_SubjectAltName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to San: // // *TLSProperties_CertificateProperties_SubjectAltName_Uri // *TLSProperties_CertificateProperties_SubjectAltName_Dns San isTLSProperties_CertificateProperties_SubjectAltName_San `protobuf_oneof:"san"` } func (x *TLSProperties_CertificateProperties_SubjectAltName) Reset() { *x = TLSProperties_CertificateProperties_SubjectAltName{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TLSProperties_CertificateProperties_SubjectAltName) String() string { return protoimpl.X.MessageStringOf(x) } func (*TLSProperties_CertificateProperties_SubjectAltName) ProtoMessage() {} func (x *TLSProperties_CertificateProperties_SubjectAltName) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TLSProperties_CertificateProperties_SubjectAltName.ProtoReflect.Descriptor instead. func (*TLSProperties_CertificateProperties_SubjectAltName) Descriptor() ([]byte, []int) { return file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP(), []int{5, 0, 0} } func (m *TLSProperties_CertificateProperties_SubjectAltName) GetSan() isTLSProperties_CertificateProperties_SubjectAltName_San { if m != nil { return m.San } return nil } func (x *TLSProperties_CertificateProperties_SubjectAltName) GetUri() string { if x, ok := x.GetSan().(*TLSProperties_CertificateProperties_SubjectAltName_Uri); ok { return x.Uri } return "" } func (x *TLSProperties_CertificateProperties_SubjectAltName) GetDns() string { if x, ok := x.GetSan().(*TLSProperties_CertificateProperties_SubjectAltName_Dns); ok { return x.Dns } return "" } type isTLSProperties_CertificateProperties_SubjectAltName_San interface { isTLSProperties_CertificateProperties_SubjectAltName_San() } type TLSProperties_CertificateProperties_SubjectAltName_Uri struct { Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"` } type TLSProperties_CertificateProperties_SubjectAltName_Dns struct { // [#not-implemented-hide:] Dns string `protobuf:"bytes,2,opt,name=dns,proto3,oneof"` } func (*TLSProperties_CertificateProperties_SubjectAltName_Uri) isTLSProperties_CertificateProperties_SubjectAltName_San() { } func (*TLSProperties_CertificateProperties_SubjectAltName_Dns) isTLSProperties_CertificateProperties_SubjectAltName_San() { } var File_envoy_data_accesslog_v3_accesslog_proto protoreflect.FileDescriptor var file_envoy_data_accesslog_v3_accesslog_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x11, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xf0, 0x03, 0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x54, 0x54, 0x50, 0x31, 0x30, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x54, 0x54, 0x50, 0x31, 0x31, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x04, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x91, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x96, 0x15, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x1d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x1d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x1f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x21, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x72, 0x0a, 0x14, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x23, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x1a, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x72, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x72, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x72, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x72, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x5b, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0xe9, 0x0d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x66, 0x0a, 0x14, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x13, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x21, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x24, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x16, 0x6e, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0xd5, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xad, 0x08, 0x0a, 0x0d, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6e, 0x69, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x53, 0x6e, 0x69, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x1b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x19, 0x70, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6a, 0x61, 0x33, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x61, 0x33, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x1a, 0x81, 0x03, 0x0a, 0x15, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x92, 0x01, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x3a, 0x51, 0x9a, 0xc5, 0x88, 0x1e, 0x4c, 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x61, 0x6e, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x0a, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xd9, 0x06, 0x0a, 0x15, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x1a, 0x41, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa0, 0x06, 0x0a, 0x16, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2a, 0xcb, 0x02, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x63, 0x70, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x63, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x10, 0x09, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x0a, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x64, 0x70, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x64, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x64, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x10, 0x0d, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_accesslog_v3_accesslog_proto_rawDescOnce sync.Once file_envoy_data_accesslog_v3_accesslog_proto_rawDescData = file_envoy_data_accesslog_v3_accesslog_proto_rawDesc ) func file_envoy_data_accesslog_v3_accesslog_proto_rawDescGZIP() []byte { file_envoy_data_accesslog_v3_accesslog_proto_rawDescOnce.Do(func() { file_envoy_data_accesslog_v3_accesslog_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_accesslog_v3_accesslog_proto_rawDescData) }) return file_envoy_data_accesslog_v3_accesslog_proto_rawDescData } var file_envoy_data_accesslog_v3_accesslog_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_data_accesslog_v3_accesslog_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_envoy_data_accesslog_v3_accesslog_proto_goTypes = []interface{}{ (AccessLogType)(0), // 0: envoy.data.accesslog.v3.AccessLogType (HTTPAccessLogEntry_HTTPVersion)(0), // 1: envoy.data.accesslog.v3.HTTPAccessLogEntry.HTTPVersion (ResponseFlags_Unauthorized_Reason)(0), // 2: envoy.data.accesslog.v3.ResponseFlags.Unauthorized.Reason (TLSProperties_TLSVersion)(0), // 3: envoy.data.accesslog.v3.TLSProperties.TLSVersion (*TCPAccessLogEntry)(nil), // 4: envoy.data.accesslog.v3.TCPAccessLogEntry (*HTTPAccessLogEntry)(nil), // 5: envoy.data.accesslog.v3.HTTPAccessLogEntry (*ConnectionProperties)(nil), // 6: envoy.data.accesslog.v3.ConnectionProperties (*AccessLogCommon)(nil), // 7: envoy.data.accesslog.v3.AccessLogCommon (*ResponseFlags)(nil), // 8: envoy.data.accesslog.v3.ResponseFlags (*TLSProperties)(nil), // 9: envoy.data.accesslog.v3.TLSProperties (*HTTPRequestProperties)(nil), // 10: envoy.data.accesslog.v3.HTTPRequestProperties (*HTTPResponseProperties)(nil), // 11: envoy.data.accesslog.v3.HTTPResponseProperties nil, // 12: envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry nil, // 13: envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry (*ResponseFlags_Unauthorized)(nil), // 14: envoy.data.accesslog.v3.ResponseFlags.Unauthorized (*TLSProperties_CertificateProperties)(nil), // 15: envoy.data.accesslog.v3.TLSProperties.CertificateProperties (*TLSProperties_CertificateProperties_SubjectAltName)(nil), // 16: envoy.data.accesslog.v3.TLSProperties.CertificateProperties.SubjectAltName nil, // 17: envoy.data.accesslog.v3.HTTPRequestProperties.RequestHeadersEntry nil, // 18: envoy.data.accesslog.v3.HTTPResponseProperties.ResponseHeadersEntry nil, // 19: envoy.data.accesslog.v3.HTTPResponseProperties.ResponseTrailersEntry (*v3.Address)(nil), // 20: envoy.config.core.v3.Address (*timestamp.Timestamp)(nil), // 21: google.protobuf.Timestamp (*duration.Duration)(nil), // 22: google.protobuf.Duration (*v3.Metadata)(nil), // 23: envoy.config.core.v3.Metadata (*wrappers.UInt32Value)(nil), // 24: google.protobuf.UInt32Value (v3.RequestMethod)(0), // 25: envoy.config.core.v3.RequestMethod (*any1.Any)(nil), // 26: google.protobuf.Any } var file_envoy_data_accesslog_v3_accesslog_proto_depIdxs = []int32{ 7, // 0: envoy.data.accesslog.v3.TCPAccessLogEntry.common_properties:type_name -> envoy.data.accesslog.v3.AccessLogCommon 6, // 1: envoy.data.accesslog.v3.TCPAccessLogEntry.connection_properties:type_name -> envoy.data.accesslog.v3.ConnectionProperties 7, // 2: envoy.data.accesslog.v3.HTTPAccessLogEntry.common_properties:type_name -> envoy.data.accesslog.v3.AccessLogCommon 1, // 3: envoy.data.accesslog.v3.HTTPAccessLogEntry.protocol_version:type_name -> envoy.data.accesslog.v3.HTTPAccessLogEntry.HTTPVersion 10, // 4: envoy.data.accesslog.v3.HTTPAccessLogEntry.request:type_name -> envoy.data.accesslog.v3.HTTPRequestProperties 11, // 5: envoy.data.accesslog.v3.HTTPAccessLogEntry.response:type_name -> envoy.data.accesslog.v3.HTTPResponseProperties 20, // 6: envoy.data.accesslog.v3.AccessLogCommon.downstream_remote_address:type_name -> envoy.config.core.v3.Address 20, // 7: envoy.data.accesslog.v3.AccessLogCommon.downstream_local_address:type_name -> envoy.config.core.v3.Address 9, // 8: envoy.data.accesslog.v3.AccessLogCommon.tls_properties:type_name -> envoy.data.accesslog.v3.TLSProperties 21, // 9: envoy.data.accesslog.v3.AccessLogCommon.start_time:type_name -> google.protobuf.Timestamp 22, // 10: envoy.data.accesslog.v3.AccessLogCommon.time_to_last_rx_byte:type_name -> google.protobuf.Duration 22, // 11: envoy.data.accesslog.v3.AccessLogCommon.time_to_first_upstream_tx_byte:type_name -> google.protobuf.Duration 22, // 12: envoy.data.accesslog.v3.AccessLogCommon.time_to_last_upstream_tx_byte:type_name -> google.protobuf.Duration 22, // 13: envoy.data.accesslog.v3.AccessLogCommon.time_to_first_upstream_rx_byte:type_name -> google.protobuf.Duration 22, // 14: envoy.data.accesslog.v3.AccessLogCommon.time_to_last_upstream_rx_byte:type_name -> google.protobuf.Duration 22, // 15: envoy.data.accesslog.v3.AccessLogCommon.time_to_first_downstream_tx_byte:type_name -> google.protobuf.Duration 22, // 16: envoy.data.accesslog.v3.AccessLogCommon.time_to_last_downstream_tx_byte:type_name -> google.protobuf.Duration 20, // 17: envoy.data.accesslog.v3.AccessLogCommon.upstream_remote_address:type_name -> envoy.config.core.v3.Address 20, // 18: envoy.data.accesslog.v3.AccessLogCommon.upstream_local_address:type_name -> envoy.config.core.v3.Address 8, // 19: envoy.data.accesslog.v3.AccessLogCommon.response_flags:type_name -> envoy.data.accesslog.v3.ResponseFlags 23, // 20: envoy.data.accesslog.v3.AccessLogCommon.metadata:type_name -> envoy.config.core.v3.Metadata 20, // 21: envoy.data.accesslog.v3.AccessLogCommon.downstream_direct_remote_address:type_name -> envoy.config.core.v3.Address 12, // 22: envoy.data.accesslog.v3.AccessLogCommon.filter_state_objects:type_name -> envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry 13, // 23: envoy.data.accesslog.v3.AccessLogCommon.custom_tags:type_name -> envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry 22, // 24: envoy.data.accesslog.v3.AccessLogCommon.duration:type_name -> google.protobuf.Duration 0, // 25: envoy.data.accesslog.v3.AccessLogCommon.access_log_type:type_name -> envoy.data.accesslog.v3.AccessLogType 14, // 26: envoy.data.accesslog.v3.ResponseFlags.unauthorized_details:type_name -> envoy.data.accesslog.v3.ResponseFlags.Unauthorized 3, // 27: envoy.data.accesslog.v3.TLSProperties.tls_version:type_name -> envoy.data.accesslog.v3.TLSProperties.TLSVersion 24, // 28: envoy.data.accesslog.v3.TLSProperties.tls_cipher_suite:type_name -> google.protobuf.UInt32Value 15, // 29: envoy.data.accesslog.v3.TLSProperties.local_certificate_properties:type_name -> envoy.data.accesslog.v3.TLSProperties.CertificateProperties 15, // 30: envoy.data.accesslog.v3.TLSProperties.peer_certificate_properties:type_name -> envoy.data.accesslog.v3.TLSProperties.CertificateProperties 25, // 31: envoy.data.accesslog.v3.HTTPRequestProperties.request_method:type_name -> envoy.config.core.v3.RequestMethod 24, // 32: envoy.data.accesslog.v3.HTTPRequestProperties.port:type_name -> google.protobuf.UInt32Value 17, // 33: envoy.data.accesslog.v3.HTTPRequestProperties.request_headers:type_name -> envoy.data.accesslog.v3.HTTPRequestProperties.RequestHeadersEntry 24, // 34: envoy.data.accesslog.v3.HTTPResponseProperties.response_code:type_name -> google.protobuf.UInt32Value 18, // 35: envoy.data.accesslog.v3.HTTPResponseProperties.response_headers:type_name -> envoy.data.accesslog.v3.HTTPResponseProperties.ResponseHeadersEntry 19, // 36: envoy.data.accesslog.v3.HTTPResponseProperties.response_trailers:type_name -> envoy.data.accesslog.v3.HTTPResponseProperties.ResponseTrailersEntry 26, // 37: envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry.value:type_name -> google.protobuf.Any 2, // 38: envoy.data.accesslog.v3.ResponseFlags.Unauthorized.reason:type_name -> envoy.data.accesslog.v3.ResponseFlags.Unauthorized.Reason 16, // 39: envoy.data.accesslog.v3.TLSProperties.CertificateProperties.subject_alt_name:type_name -> envoy.data.accesslog.v3.TLSProperties.CertificateProperties.SubjectAltName 40, // [40:40] is the sub-list for method output_type 40, // [40:40] is the sub-list for method input_type 40, // [40:40] is the sub-list for extension type_name 40, // [40:40] is the sub-list for extension extendee 0, // [0:40] is the sub-list for field type_name } func init() { file_envoy_data_accesslog_v3_accesslog_proto_init() } func file_envoy_data_accesslog_v3_accesslog_proto_init() { if File_envoy_data_accesslog_v3_accesslog_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TCPAccessLogEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPAccessLogEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConnectionProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessLogCommon); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlags); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPRequestProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPResponseProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseFlags_Unauthorized); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties_CertificateProperties); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TLSProperties_CertificateProperties_SubjectAltName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_accesslog_v3_accesslog_proto_msgTypes[12].OneofWrappers = []interface{}{ (*TLSProperties_CertificateProperties_SubjectAltName_Uri)(nil), (*TLSProperties_CertificateProperties_SubjectAltName_Dns)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_accesslog_v3_accesslog_proto_rawDesc, NumEnums: 4, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_accesslog_v3_accesslog_proto_goTypes, DependencyIndexes: file_envoy_data_accesslog_v3_accesslog_proto_depIdxs, EnumInfos: file_envoy_data_accesslog_v3_accesslog_proto_enumTypes, MessageInfos: file_envoy_data_accesslog_v3_accesslog_proto_msgTypes, }.Build() File_envoy_data_accesslog_v3_accesslog_proto = out.File file_envoy_data_accesslog_v3_accesslog_proto_rawDesc = nil file_envoy_data_accesslog_v3_accesslog_proto_goTypes = nil file_envoy_data_accesslog_v3_accesslog_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/accesslog/v3/accesslog.pb.validate.go000077500000000000000000001765501454502223200260200ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/accesslog/v3/accesslog.proto package accesslogv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.RequestMethod(0) ) // Validate checks the field values on TCPAccessLogEntry with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TCPAccessLogEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TCPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TCPAccessLogEntryMultiError, or nil if none found. func (m *TCPAccessLogEntry) ValidateAll() error { return m.validate(true) } func (m *TCPAccessLogEntry) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TCPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConnectionProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TCPAccessLogEntryValidationError{ field: "ConnectionProperties", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TCPAccessLogEntryMultiError(errors) } return nil } // TCPAccessLogEntryMultiError is an error wrapping multiple validation errors // returned by TCPAccessLogEntry.ValidateAll() if the designated constraints // aren't met. type TCPAccessLogEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TCPAccessLogEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TCPAccessLogEntryMultiError) AllErrors() []error { return m } // TCPAccessLogEntryValidationError is the validation error returned by // TCPAccessLogEntry.Validate if the designated constraints aren't met. type TCPAccessLogEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TCPAccessLogEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TCPAccessLogEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TCPAccessLogEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TCPAccessLogEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TCPAccessLogEntryValidationError) ErrorName() string { return "TCPAccessLogEntryValidationError" } // Error satisfies the builtin error interface func (e TCPAccessLogEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTCPAccessLogEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TCPAccessLogEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TCPAccessLogEntryValidationError{} // Validate checks the field values on HTTPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPAccessLogEntry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPAccessLogEntry with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPAccessLogEntryMultiError, or nil if none found. func (m *HTTPAccessLogEntry) ValidateAll() error { return m.validate(true) } func (m *HTTPAccessLogEntry) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "CommonProperties", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ProtocolVersion if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPAccessLogEntryValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HTTPAccessLogEntryMultiError(errors) } return nil } // HTTPAccessLogEntryMultiError is an error wrapping multiple validation errors // returned by HTTPAccessLogEntry.ValidateAll() if the designated constraints // aren't met. type HTTPAccessLogEntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPAccessLogEntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPAccessLogEntryMultiError) AllErrors() []error { return m } // HTTPAccessLogEntryValidationError is the validation error returned by // HTTPAccessLogEntry.Validate if the designated constraints aren't met. type HTTPAccessLogEntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPAccessLogEntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPAccessLogEntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPAccessLogEntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPAccessLogEntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPAccessLogEntryValidationError) ErrorName() string { return "HTTPAccessLogEntryValidationError" } // Error satisfies the builtin error interface func (e HTTPAccessLogEntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPAccessLogEntry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPAccessLogEntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPAccessLogEntryValidationError{} // Validate checks the field values on ConnectionProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ConnectionProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConnectionProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConnectionPropertiesMultiError, or nil if none found. func (m *ConnectionProperties) ValidateAll() error { return m.validate(true) } func (m *ConnectionProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ReceivedBytes // no validation rules for SentBytes if len(errors) > 0 { return ConnectionPropertiesMultiError(errors) } return nil } // ConnectionPropertiesMultiError is an error wrapping multiple validation // errors returned by ConnectionProperties.ValidateAll() if the designated // constraints aren't met. type ConnectionPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConnectionPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConnectionPropertiesMultiError) AllErrors() []error { return m } // ConnectionPropertiesValidationError is the validation error returned by // ConnectionProperties.Validate if the designated constraints aren't met. type ConnectionPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConnectionPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConnectionPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConnectionPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConnectionPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConnectionPropertiesValidationError) ErrorName() string { return "ConnectionPropertiesValidationError" } // Error satisfies the builtin error interface func (e ConnectionPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConnectionProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConnectionPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConnectionPropertiesValidationError{} // Validate checks the field values on AccessLogCommon with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AccessLogCommon) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AccessLogCommon with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AccessLogCommonMultiError, or nil if none found. func (m *AccessLogCommon) ValidateAll() error { return m.validate(true) } func (m *AccessLogCommon) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetSampleRate(); val <= 0 || val > 1 { err := AccessLogCommonValidationError{ field: "SampleRate", reason: "value must be inside range (0, 1]", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDownstreamRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamRemoteAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamLocalAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TlsProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStartTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStartTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "StartTime", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstUpstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstUpstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstUpstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastUpstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastUpstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastUpstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstUpstreamRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstUpstreamRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstUpstreamRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastUpstreamRxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastUpstreamRxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastUpstreamRxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToFirstDownstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToFirstDownstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToFirstDownstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTimeToLastDownstreamTxByte()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeToLastDownstreamTxByte()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "TimeToLastDownstreamTxByte", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "UpstreamRemoteAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "UpstreamLocalAddress", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamCluster if all { switch v := interface{}(m.GetResponseFlags()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseFlags()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "ResponseFlags", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamTransportFailureReason // no validation rules for RouteName if all { switch v := interface{}(m.GetDownstreamDirectRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamDirectRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "DownstreamDirectRemoteAddress", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetFilterStateObjects())) i := 0 for key := range m.GetFilterStateObjects() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetFilterStateObjects()[key] _ = val // no validation rules for FilterStateObjects[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: fmt.Sprintf("FilterStateObjects[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } // no validation rules for CustomTags if all { switch v := interface{}(m.GetDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AccessLogCommonValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AccessLogCommonValidationError{ field: "Duration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamRequestAttemptCount // no validation rules for ConnectionTerminationDetails // no validation rules for StreamId // no validation rules for IntermediateLogEntry // no validation rules for DownstreamTransportFailureReason // no validation rules for DownstreamWireBytesSent // no validation rules for DownstreamWireBytesReceived // no validation rules for UpstreamWireBytesSent // no validation rules for UpstreamWireBytesReceived // no validation rules for AccessLogType if len(errors) > 0 { return AccessLogCommonMultiError(errors) } return nil } // AccessLogCommonMultiError is an error wrapping multiple validation errors // returned by AccessLogCommon.ValidateAll() if the designated constraints // aren't met. type AccessLogCommonMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AccessLogCommonMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AccessLogCommonMultiError) AllErrors() []error { return m } // AccessLogCommonValidationError is the validation error returned by // AccessLogCommon.Validate if the designated constraints aren't met. type AccessLogCommonValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AccessLogCommonValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AccessLogCommonValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AccessLogCommonValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AccessLogCommonValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AccessLogCommonValidationError) ErrorName() string { return "AccessLogCommonValidationError" } // Error satisfies the builtin error interface func (e AccessLogCommonValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAccessLogCommon.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AccessLogCommonValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AccessLogCommonValidationError{} // Validate checks the field values on ResponseFlags with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ResponseFlags) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlags with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResponseFlagsMultiError, or // nil if none found. func (m *ResponseFlags) ValidateAll() error { return m.validate(true) } func (m *ResponseFlags) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FailedLocalHealthcheck // no validation rules for NoHealthyUpstream // no validation rules for UpstreamRequestTimeout // no validation rules for LocalReset // no validation rules for UpstreamRemoteReset // no validation rules for UpstreamConnectionFailure // no validation rules for UpstreamConnectionTermination // no validation rules for UpstreamOverflow // no validation rules for NoRouteFound // no validation rules for DelayInjected // no validation rules for FaultInjected // no validation rules for RateLimited if all { switch v := interface{}(m.GetUnauthorizedDetails()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUnauthorizedDetails()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseFlagsValidationError{ field: "UnauthorizedDetails", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RateLimitServiceError // no validation rules for DownstreamConnectionTermination // no validation rules for UpstreamRetryLimitExceeded // no validation rules for StreamIdleTimeout // no validation rules for InvalidEnvoyRequestHeaders // no validation rules for DownstreamProtocolError // no validation rules for UpstreamMaxStreamDurationReached // no validation rules for ResponseFromCacheFilter // no validation rules for NoFilterConfigFound // no validation rules for DurationTimeout // no validation rules for UpstreamProtocolError // no validation rules for NoClusterFound // no validation rules for OverloadManager // no validation rules for DnsResolutionFailure if len(errors) > 0 { return ResponseFlagsMultiError(errors) } return nil } // ResponseFlagsMultiError is an error wrapping multiple validation errors // returned by ResponseFlags.ValidateAll() if the designated constraints // aren't met. type ResponseFlagsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlagsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlagsMultiError) AllErrors() []error { return m } // ResponseFlagsValidationError is the validation error returned by // ResponseFlags.Validate if the designated constraints aren't met. type ResponseFlagsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlagsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlagsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlagsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlagsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlagsValidationError) ErrorName() string { return "ResponseFlagsValidationError" } // Error satisfies the builtin error interface func (e ResponseFlagsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlags.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlagsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlagsValidationError{} // Validate checks the field values on TLSProperties with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TLSProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TLSProperties with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TLSPropertiesMultiError, or // nil if none found. func (m *TLSProperties) ValidateAll() error { return m.validate(true) } func (m *TLSProperties) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TlsVersion if all { switch v := interface{}(m.GetTlsCipherSuite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCipherSuite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "TlsCipherSuite", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TlsSniHostname if all { switch v := interface{}(m.GetLocalCertificateProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalCertificateProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "LocalCertificateProperties", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPeerCertificateProperties()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPeerCertificateProperties()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSPropertiesValidationError{ field: "PeerCertificateProperties", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TlsSessionId // no validation rules for Ja3Fingerprint if len(errors) > 0 { return TLSPropertiesMultiError(errors) } return nil } // TLSPropertiesMultiError is an error wrapping multiple validation errors // returned by TLSProperties.ValidateAll() if the designated constraints // aren't met. type TLSPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSPropertiesMultiError) AllErrors() []error { return m } // TLSPropertiesValidationError is the validation error returned by // TLSProperties.Validate if the designated constraints aren't met. type TLSPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSPropertiesValidationError) ErrorName() string { return "TLSPropertiesValidationError" } // Error satisfies the builtin error interface func (e TLSPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSPropertiesValidationError{} // Validate checks the field values on HTTPRequestProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPRequestProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPRequestProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPRequestPropertiesMultiError, or nil if none found. func (m *HTTPRequestProperties) ValidateAll() error { return m.validate(true) } func (m *HTTPRequestProperties) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := v3.RequestMethod_name[int32(m.GetRequestMethod())]; !ok { err := HTTPRequestPropertiesValidationError{ field: "RequestMethod", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for Scheme // no validation rules for Authority if all { switch v := interface{}(m.GetPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPRequestPropertiesValidationError{ field: "Port", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Path // no validation rules for UserAgent // no validation rules for Referer // no validation rules for ForwardedFor // no validation rules for RequestId // no validation rules for OriginalPath // no validation rules for RequestHeadersBytes // no validation rules for RequestBodyBytes // no validation rules for RequestHeaders // no validation rules for UpstreamHeaderBytesSent // no validation rules for DownstreamHeaderBytesReceived if len(errors) > 0 { return HTTPRequestPropertiesMultiError(errors) } return nil } // HTTPRequestPropertiesMultiError is an error wrapping multiple validation // errors returned by HTTPRequestProperties.ValidateAll() if the designated // constraints aren't met. type HTTPRequestPropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPRequestPropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPRequestPropertiesMultiError) AllErrors() []error { return m } // HTTPRequestPropertiesValidationError is the validation error returned by // HTTPRequestProperties.Validate if the designated constraints aren't met. type HTTPRequestPropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPRequestPropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPRequestPropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPRequestPropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPRequestPropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPRequestPropertiesValidationError) ErrorName() string { return "HTTPRequestPropertiesValidationError" } // Error satisfies the builtin error interface func (e HTTPRequestPropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPRequestProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPRequestPropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPRequestPropertiesValidationError{} // Validate checks the field values on HTTPResponseProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HTTPResponseProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPResponseProperties with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HTTPResponsePropertiesMultiError, or nil if none found. func (m *HTTPResponseProperties) ValidateAll() error { return m.validate(true) } func (m *HTTPResponseProperties) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponseCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPResponsePropertiesValidationError{ field: "ResponseCode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ResponseHeadersBytes // no validation rules for ResponseBodyBytes // no validation rules for ResponseHeaders // no validation rules for ResponseTrailers // no validation rules for ResponseCodeDetails // no validation rules for UpstreamHeaderBytesReceived // no validation rules for DownstreamHeaderBytesSent if len(errors) > 0 { return HTTPResponsePropertiesMultiError(errors) } return nil } // HTTPResponsePropertiesMultiError is an error wrapping multiple validation // errors returned by HTTPResponseProperties.ValidateAll() if the designated // constraints aren't met. type HTTPResponsePropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPResponsePropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPResponsePropertiesMultiError) AllErrors() []error { return m } // HTTPResponsePropertiesValidationError is the validation error returned by // HTTPResponseProperties.Validate if the designated constraints aren't met. type HTTPResponsePropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPResponsePropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPResponsePropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPResponsePropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPResponsePropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPResponsePropertiesValidationError) ErrorName() string { return "HTTPResponsePropertiesValidationError" } // Error satisfies the builtin error interface func (e HTTPResponsePropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPResponseProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPResponsePropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPResponsePropertiesValidationError{} // Validate checks the field values on ResponseFlags_Unauthorized with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResponseFlags_Unauthorized) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseFlags_Unauthorized with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResponseFlags_UnauthorizedMultiError, or nil if none found. func (m *ResponseFlags_Unauthorized) ValidateAll() error { return m.validate(true) } func (m *ResponseFlags_Unauthorized) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Reason if len(errors) > 0 { return ResponseFlags_UnauthorizedMultiError(errors) } return nil } // ResponseFlags_UnauthorizedMultiError is an error wrapping multiple // validation errors returned by ResponseFlags_Unauthorized.ValidateAll() if // the designated constraints aren't met. type ResponseFlags_UnauthorizedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseFlags_UnauthorizedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseFlags_UnauthorizedMultiError) AllErrors() []error { return m } // ResponseFlags_UnauthorizedValidationError is the validation error returned // by ResponseFlags_Unauthorized.Validate if the designated constraints aren't met. type ResponseFlags_UnauthorizedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseFlags_UnauthorizedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseFlags_UnauthorizedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseFlags_UnauthorizedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseFlags_UnauthorizedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseFlags_UnauthorizedValidationError) ErrorName() string { return "ResponseFlags_UnauthorizedValidationError" } // Error satisfies the builtin error interface func (e ResponseFlags_UnauthorizedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseFlags_Unauthorized.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseFlags_UnauthorizedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseFlags_UnauthorizedValidationError{} // Validate checks the field values on TLSProperties_CertificateProperties with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *TLSProperties_CertificateProperties) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TLSProperties_CertificateProperties // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // TLSProperties_CertificatePropertiesMultiError, or nil if none found. func (m *TLSProperties_CertificateProperties) ValidateAll() error { return m.validate(true) } func (m *TLSProperties_CertificateProperties) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetSubjectAltName() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TLSProperties_CertificatePropertiesValidationError{ field: fmt.Sprintf("SubjectAltName[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Subject if len(errors) > 0 { return TLSProperties_CertificatePropertiesMultiError(errors) } return nil } // TLSProperties_CertificatePropertiesMultiError is an error wrapping multiple // validation errors returned by // TLSProperties_CertificateProperties.ValidateAll() if the designated // constraints aren't met. type TLSProperties_CertificatePropertiesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSProperties_CertificatePropertiesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSProperties_CertificatePropertiesMultiError) AllErrors() []error { return m } // TLSProperties_CertificatePropertiesValidationError is the validation error // returned by TLSProperties_CertificateProperties.Validate if the designated // constraints aren't met. type TLSProperties_CertificatePropertiesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSProperties_CertificatePropertiesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSProperties_CertificatePropertiesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSProperties_CertificatePropertiesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSProperties_CertificatePropertiesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSProperties_CertificatePropertiesValidationError) ErrorName() string { return "TLSProperties_CertificatePropertiesValidationError" } // Error satisfies the builtin error interface func (e TLSProperties_CertificatePropertiesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties_CertificateProperties.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSProperties_CertificatePropertiesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSProperties_CertificatePropertiesValidationError{} // Validate checks the field values on // TLSProperties_CertificateProperties_SubjectAltName with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TLSProperties_CertificateProperties_SubjectAltName) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // TLSProperties_CertificateProperties_SubjectAltName with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // TLSProperties_CertificateProperties_SubjectAltNameMultiError, or nil if // none found. func (m *TLSProperties_CertificateProperties_SubjectAltName) ValidateAll() error { return m.validate(true) } func (m *TLSProperties_CertificateProperties_SubjectAltName) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.San.(type) { case *TLSProperties_CertificateProperties_SubjectAltName_Uri: if v == nil { err := TLSProperties_CertificateProperties_SubjectAltNameValidationError{ field: "San", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Uri case *TLSProperties_CertificateProperties_SubjectAltName_Dns: if v == nil { err := TLSProperties_CertificateProperties_SubjectAltNameValidationError{ field: "San", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Dns default: _ = v // ensures v is used } if len(errors) > 0 { return TLSProperties_CertificateProperties_SubjectAltNameMultiError(errors) } return nil } // TLSProperties_CertificateProperties_SubjectAltNameMultiError is an error // wrapping multiple validation errors returned by // TLSProperties_CertificateProperties_SubjectAltName.ValidateAll() if the // designated constraints aren't met. type TLSProperties_CertificateProperties_SubjectAltNameMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TLSProperties_CertificateProperties_SubjectAltNameMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TLSProperties_CertificateProperties_SubjectAltNameMultiError) AllErrors() []error { return m } // TLSProperties_CertificateProperties_SubjectAltNameValidationError is the // validation error returned by // TLSProperties_CertificateProperties_SubjectAltName.Validate if the // designated constraints aren't met. type TLSProperties_CertificateProperties_SubjectAltNameValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) ErrorName() string { return "TLSProperties_CertificateProperties_SubjectAltNameValidationError" } // Error satisfies the builtin error interface func (e TLSProperties_CertificateProperties_SubjectAltNameValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTLSProperties_CertificateProperties_SubjectAltName.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TLSProperties_CertificateProperties_SubjectAltNameValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TLSProperties_CertificateProperties_SubjectAltNameValidationError{} go-control-plane-0.12.0/envoy/data/cluster/000077500000000000000000000000001454502223200205035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/cluster/v2alpha/000077500000000000000000000000001454502223200220405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/cluster/v2alpha/outlier_detection_event.pb.go000077500000000000000000001040201454502223200277110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/cluster/v2alpha/outlier_detection_event.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Type of ejection that took place type OutlierEjectionType int32 const ( // In case upstream host returns certain number of consecutive 5xx. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is *false*, all type of errors are treated as HTTP 5xx errors. // See :ref:`Cluster outlier detection ` documentation for // details. OutlierEjectionType_CONSECUTIVE_5XX OutlierEjectionType = 0 // In case upstream host returns certain number of consecutive gateway errors OutlierEjectionType_CONSECUTIVE_GATEWAY_FAILURE OutlierEjectionType = 1 // Runs over aggregated success rate statistics from every host in cluster // and selects hosts for which ratio of successful replies deviates from other hosts // in the cluster. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is *false*, all errors (externally and locally generated) are used to calculate success rate // statistics. See :ref:`Cluster outlier detection ` // documentation for details. OutlierEjectionType_SUCCESS_RATE OutlierEjectionType = 2 // Consecutive local origin failures: Connection failures, resets, timeouts, etc // This type of ejection happens only when // :ref:`outlier_detection.split_external_local_origin_errors` // is set to *true*. // See :ref:`Cluster outlier detection ` documentation for OutlierEjectionType_CONSECUTIVE_LOCAL_ORIGIN_FAILURE OutlierEjectionType = 3 // Runs over aggregated success rate statistics for local origin failures // for all hosts in the cluster and selects hosts for which success rate deviates from other // hosts in the cluster. This type of ejection happens only when // :ref:`outlier_detection.split_external_local_origin_errors` // is set to *true*. // See :ref:`Cluster outlier detection ` documentation for OutlierEjectionType_SUCCESS_RATE_LOCAL_ORIGIN OutlierEjectionType = 4 // Runs over aggregated success rate statistics from every host in cluster and selects hosts for // which ratio of failed replies is above configured value. OutlierEjectionType_FAILURE_PERCENTAGE OutlierEjectionType = 5 // Runs over aggregated success rate statistics for local origin failures from every host in // cluster and selects hosts for which ratio of failed replies is above configured value. OutlierEjectionType_FAILURE_PERCENTAGE_LOCAL_ORIGIN OutlierEjectionType = 6 ) // Enum value maps for OutlierEjectionType. var ( OutlierEjectionType_name = map[int32]string{ 0: "CONSECUTIVE_5XX", 1: "CONSECUTIVE_GATEWAY_FAILURE", 2: "SUCCESS_RATE", 3: "CONSECUTIVE_LOCAL_ORIGIN_FAILURE", 4: "SUCCESS_RATE_LOCAL_ORIGIN", 5: "FAILURE_PERCENTAGE", 6: "FAILURE_PERCENTAGE_LOCAL_ORIGIN", } OutlierEjectionType_value = map[string]int32{ "CONSECUTIVE_5XX": 0, "CONSECUTIVE_GATEWAY_FAILURE": 1, "SUCCESS_RATE": 2, "CONSECUTIVE_LOCAL_ORIGIN_FAILURE": 3, "SUCCESS_RATE_LOCAL_ORIGIN": 4, "FAILURE_PERCENTAGE": 5, "FAILURE_PERCENTAGE_LOCAL_ORIGIN": 6, } ) func (x OutlierEjectionType) Enum() *OutlierEjectionType { p := new(OutlierEjectionType) *p = x return p } func (x OutlierEjectionType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OutlierEjectionType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes[0].Descriptor() } func (OutlierEjectionType) Type() protoreflect.EnumType { return &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes[0] } func (x OutlierEjectionType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OutlierEjectionType.Descriptor instead. func (OutlierEjectionType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{0} } // Represents possible action applied to upstream host type Action int32 const ( // In case host was excluded from service Action_EJECT Action = 0 // In case host was brought back into service Action_UNEJECT Action = 1 ) // Enum value maps for Action. var ( Action_name = map[int32]string{ 0: "EJECT", 1: "UNEJECT", } Action_value = map[string]int32{ "EJECT": 0, "UNEJECT": 1, } ) func (x Action) Enum() *Action { p := new(Action) *p = x return p } func (x Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Action) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes[1].Descriptor() } func (Action) Type() protoreflect.EnumType { return &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes[1] } func (x Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Action.Descriptor instead. func (Action) EnumDescriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 12] type OutlierDetectionEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In case of eject represents type of ejection that took place. Type OutlierEjectionType `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.data.cluster.v2alpha.OutlierEjectionType" json:"type,omitempty"` // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // The time in seconds since the last action (either an ejection or unejection) took place. SecsSinceLastAction *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=secs_since_last_action,json=secsSinceLastAction,proto3" json:"secs_since_last_action,omitempty"` // The :ref:`cluster ` that owns the ejected host. ClusterName string `protobuf:"bytes,4,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // The URL of the ejected host. E.g., “tcp://1.2.3.4:80“. UpstreamUrl string `protobuf:"bytes,5,opt,name=upstream_url,json=upstreamUrl,proto3" json:"upstream_url,omitempty"` // The action that took place. Action Action `protobuf:"varint,6,opt,name=action,proto3,enum=envoy.data.cluster.v2alpha.Action" json:"action,omitempty"` // If “action“ is “eject“, specifies the number of times the host has been ejected (local to // that Envoy and gets reset if the host gets removed from the upstream cluster for any reason and // then re-added). NumEjections uint32 `protobuf:"varint,7,opt,name=num_ejections,json=numEjections,proto3" json:"num_ejections,omitempty"` // If “action“ is “eject“, specifies if the ejection was enforced. “true“ means the host was // ejected. “false“ means the event was logged but the host was not actually ejected. Enforced bool `protobuf:"varint,8,opt,name=enforced,proto3" json:"enforced,omitempty"` // Types that are assignable to Event: // // *OutlierDetectionEvent_EjectSuccessRateEvent // *OutlierDetectionEvent_EjectConsecutiveEvent // *OutlierDetectionEvent_EjectFailurePercentageEvent Event isOutlierDetectionEvent_Event `protobuf_oneof:"event"` } func (x *OutlierDetectionEvent) Reset() { *x = OutlierDetectionEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierDetectionEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierDetectionEvent) ProtoMessage() {} func (x *OutlierDetectionEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierDetectionEvent.ProtoReflect.Descriptor instead. func (*OutlierDetectionEvent) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{0} } func (x *OutlierDetectionEvent) GetType() OutlierEjectionType { if x != nil { return x.Type } return OutlierEjectionType_CONSECUTIVE_5XX } func (x *OutlierDetectionEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } func (x *OutlierDetectionEvent) GetSecsSinceLastAction() *wrappers.UInt64Value { if x != nil { return x.SecsSinceLastAction } return nil } func (x *OutlierDetectionEvent) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *OutlierDetectionEvent) GetUpstreamUrl() string { if x != nil { return x.UpstreamUrl } return "" } func (x *OutlierDetectionEvent) GetAction() Action { if x != nil { return x.Action } return Action_EJECT } func (x *OutlierDetectionEvent) GetNumEjections() uint32 { if x != nil { return x.NumEjections } return 0 } func (x *OutlierDetectionEvent) GetEnforced() bool { if x != nil { return x.Enforced } return false } func (m *OutlierDetectionEvent) GetEvent() isOutlierDetectionEvent_Event { if m != nil { return m.Event } return nil } func (x *OutlierDetectionEvent) GetEjectSuccessRateEvent() *OutlierEjectSuccessRate { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectSuccessRateEvent); ok { return x.EjectSuccessRateEvent } return nil } func (x *OutlierDetectionEvent) GetEjectConsecutiveEvent() *OutlierEjectConsecutive { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectConsecutiveEvent); ok { return x.EjectConsecutiveEvent } return nil } func (x *OutlierDetectionEvent) GetEjectFailurePercentageEvent() *OutlierEjectFailurePercentage { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectFailurePercentageEvent); ok { return x.EjectFailurePercentageEvent } return nil } type isOutlierDetectionEvent_Event interface { isOutlierDetectionEvent_Event() } type OutlierDetectionEvent_EjectSuccessRateEvent struct { EjectSuccessRateEvent *OutlierEjectSuccessRate `protobuf:"bytes,9,opt,name=eject_success_rate_event,json=ejectSuccessRateEvent,proto3,oneof"` } type OutlierDetectionEvent_EjectConsecutiveEvent struct { EjectConsecutiveEvent *OutlierEjectConsecutive `protobuf:"bytes,10,opt,name=eject_consecutive_event,json=ejectConsecutiveEvent,proto3,oneof"` } type OutlierDetectionEvent_EjectFailurePercentageEvent struct { EjectFailurePercentageEvent *OutlierEjectFailurePercentage `protobuf:"bytes,11,opt,name=eject_failure_percentage_event,json=ejectFailurePercentageEvent,proto3,oneof"` } func (*OutlierDetectionEvent_EjectSuccessRateEvent) isOutlierDetectionEvent_Event() {} func (*OutlierDetectionEvent_EjectConsecutiveEvent) isOutlierDetectionEvent_Event() {} func (*OutlierDetectionEvent_EjectFailurePercentageEvent) isOutlierDetectionEvent_Event() {} type OutlierEjectSuccessRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host’s success rate at the time of the ejection event on a 0-100 range. HostSuccessRate uint32 `protobuf:"varint,1,opt,name=host_success_rate,json=hostSuccessRate,proto3" json:"host_success_rate,omitempty"` // Average success rate of the hosts in the cluster at the time of the ejection event on a 0-100 // range. ClusterAverageSuccessRate uint32 `protobuf:"varint,2,opt,name=cluster_average_success_rate,json=clusterAverageSuccessRate,proto3" json:"cluster_average_success_rate,omitempty"` // Success rate ejection threshold at the time of the ejection event. ClusterSuccessRateEjectionThreshold uint32 `protobuf:"varint,3,opt,name=cluster_success_rate_ejection_threshold,json=clusterSuccessRateEjectionThreshold,proto3" json:"cluster_success_rate_ejection_threshold,omitempty"` } func (x *OutlierEjectSuccessRate) Reset() { *x = OutlierEjectSuccessRate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectSuccessRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectSuccessRate) ProtoMessage() {} func (x *OutlierEjectSuccessRate) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectSuccessRate.ProtoReflect.Descriptor instead. func (*OutlierEjectSuccessRate) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{1} } func (x *OutlierEjectSuccessRate) GetHostSuccessRate() uint32 { if x != nil { return x.HostSuccessRate } return 0 } func (x *OutlierEjectSuccessRate) GetClusterAverageSuccessRate() uint32 { if x != nil { return x.ClusterAverageSuccessRate } return 0 } func (x *OutlierEjectSuccessRate) GetClusterSuccessRateEjectionThreshold() uint32 { if x != nil { return x.ClusterSuccessRateEjectionThreshold } return 0 } type OutlierEjectConsecutive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OutlierEjectConsecutive) Reset() { *x = OutlierEjectConsecutive{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectConsecutive) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectConsecutive) ProtoMessage() {} func (x *OutlierEjectConsecutive) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectConsecutive.ProtoReflect.Descriptor instead. func (*OutlierEjectConsecutive) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{2} } type OutlierEjectFailurePercentage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host's success rate at the time of the ejection event on a 0-100 range. HostSuccessRate uint32 `protobuf:"varint,1,opt,name=host_success_rate,json=hostSuccessRate,proto3" json:"host_success_rate,omitempty"` } func (x *OutlierEjectFailurePercentage) Reset() { *x = OutlierEjectFailurePercentage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectFailurePercentage) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectFailurePercentage) ProtoMessage() {} func (x *OutlierEjectFailurePercentage) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectFailurePercentage.ProtoReflect.Descriptor instead. func (*OutlierEjectFailurePercentage) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP(), []int{3} } func (x *OutlierEjectFailurePercentage) GetHostSuccessRate() uint32 { if x != nil { return x.HostSuccessRate } return 0 } var File_envoy_data_cluster_v2alpha_outlier_detection_event_proto protoreflect.FileDescriptor var file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x06, 0x0a, 0x15, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x51, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x65, 0x63, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x18, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x17, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x1e, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1b, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf7, 0x01, 0x0a, 0x17, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x1c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x19, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x27, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x23, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x22, 0x54, 0x0a, 0x1d, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x2a, 0xdf, 0x01, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x35, 0x58, 0x58, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x41, 0x47, 0x45, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, 0x06, 0x2a, 0x20, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x42, 0xb0, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x17, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x1a, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescOnce sync.Once file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescData = file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDesc ) func file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescGZIP() []byte { file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescOnce.Do(func() { file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescData) }) return file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDescData } var file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_goTypes = []interface{}{ (OutlierEjectionType)(0), // 0: envoy.data.cluster.v2alpha.OutlierEjectionType (Action)(0), // 1: envoy.data.cluster.v2alpha.Action (*OutlierDetectionEvent)(nil), // 2: envoy.data.cluster.v2alpha.OutlierDetectionEvent (*OutlierEjectSuccessRate)(nil), // 3: envoy.data.cluster.v2alpha.OutlierEjectSuccessRate (*OutlierEjectConsecutive)(nil), // 4: envoy.data.cluster.v2alpha.OutlierEjectConsecutive (*OutlierEjectFailurePercentage)(nil), // 5: envoy.data.cluster.v2alpha.OutlierEjectFailurePercentage (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp (*wrappers.UInt64Value)(nil), // 7: google.protobuf.UInt64Value } var file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_depIdxs = []int32{ 0, // 0: envoy.data.cluster.v2alpha.OutlierDetectionEvent.type:type_name -> envoy.data.cluster.v2alpha.OutlierEjectionType 6, // 1: envoy.data.cluster.v2alpha.OutlierDetectionEvent.timestamp:type_name -> google.protobuf.Timestamp 7, // 2: envoy.data.cluster.v2alpha.OutlierDetectionEvent.secs_since_last_action:type_name -> google.protobuf.UInt64Value 1, // 3: envoy.data.cluster.v2alpha.OutlierDetectionEvent.action:type_name -> envoy.data.cluster.v2alpha.Action 3, // 4: envoy.data.cluster.v2alpha.OutlierDetectionEvent.eject_success_rate_event:type_name -> envoy.data.cluster.v2alpha.OutlierEjectSuccessRate 4, // 5: envoy.data.cluster.v2alpha.OutlierDetectionEvent.eject_consecutive_event:type_name -> envoy.data.cluster.v2alpha.OutlierEjectConsecutive 5, // 6: envoy.data.cluster.v2alpha.OutlierDetectionEvent.eject_failure_percentage_event:type_name -> envoy.data.cluster.v2alpha.OutlierEjectFailurePercentage 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_init() } func file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_init() { if File_envoy_data_cluster_v2alpha_outlier_detection_event_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierDetectionEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectSuccessRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectConsecutive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectFailurePercentage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes[0].OneofWrappers = []interface{}{ (*OutlierDetectionEvent_EjectSuccessRateEvent)(nil), (*OutlierDetectionEvent_EjectConsecutiveEvent)(nil), (*OutlierDetectionEvent_EjectFailurePercentageEvent)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDesc, NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_goTypes, DependencyIndexes: file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_depIdxs, EnumInfos: file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_enumTypes, MessageInfos: file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_msgTypes, }.Build() File_envoy_data_cluster_v2alpha_outlier_detection_event_proto = out.File file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_rawDesc = nil file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_goTypes = nil file_envoy_data_cluster_v2alpha_outlier_detection_event_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/cluster/v2alpha/outlier_detection_event.pb.validate.go000077500000000000000000000476421454502223200315210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/cluster/v2alpha/outlier_detection_event.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OutlierDetectionEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierDetectionEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierDetectionEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierDetectionEventMultiError, or nil if none found. func (m *OutlierDetectionEvent) ValidateAll() error { return m.validate(true) } func (m *OutlierDetectionEvent) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := OutlierEjectionType_name[int32(m.GetType())]; !ok { err := OutlierDetectionEventValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecsSinceLastAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecsSinceLastAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, } } } if len(m.GetClusterName()) < 1 { err := OutlierDetectionEventValidationError{ field: "ClusterName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetUpstreamUrl()) < 1 { err := OutlierDetectionEventValidationError{ field: "UpstreamUrl", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if _, ok := Action_name[int32(m.GetAction())]; !ok { err := OutlierDetectionEventValidationError{ field: "Action", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for NumEjections // no validation rules for Enforced oneofEventPresent := false switch v := m.Event.(type) { case *OutlierDetectionEvent_EjectSuccessRateEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectSuccessRateEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectSuccessRateEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, } } } case *OutlierDetectionEvent_EjectConsecutiveEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectConsecutiveEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectConsecutiveEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, } } } case *OutlierDetectionEvent_EjectFailurePercentageEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectFailurePercentageEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectFailurePercentageEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEventPresent { err := OutlierDetectionEventValidationError{ field: "Event", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierDetectionEventMultiError(errors) } return nil } // OutlierDetectionEventMultiError is an error wrapping multiple validation // errors returned by OutlierDetectionEvent.ValidateAll() if the designated // constraints aren't met. type OutlierDetectionEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierDetectionEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierDetectionEventMultiError) AllErrors() []error { return m } // OutlierDetectionEventValidationError is the validation error returned by // OutlierDetectionEvent.Validate if the designated constraints aren't met. type OutlierDetectionEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierDetectionEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierDetectionEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierDetectionEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierDetectionEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierDetectionEventValidationError) ErrorName() string { return "OutlierDetectionEventValidationError" } // Error satisfies the builtin error interface func (e OutlierDetectionEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierDetectionEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierDetectionEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierDetectionEventValidationError{} // Validate checks the field values on OutlierEjectSuccessRate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectSuccessRate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectSuccessRate with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierEjectSuccessRateMultiError, or nil if none found. func (m *OutlierEjectSuccessRate) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectSuccessRate) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHostSuccessRate() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "HostSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if m.GetClusterAverageSuccessRate() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "ClusterAverageSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if m.GetClusterSuccessRateEjectionThreshold() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "ClusterSuccessRateEjectionThreshold", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierEjectSuccessRateMultiError(errors) } return nil } // OutlierEjectSuccessRateMultiError is an error wrapping multiple validation // errors returned by OutlierEjectSuccessRate.ValidateAll() if the designated // constraints aren't met. type OutlierEjectSuccessRateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectSuccessRateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectSuccessRateMultiError) AllErrors() []error { return m } // OutlierEjectSuccessRateValidationError is the validation error returned by // OutlierEjectSuccessRate.Validate if the designated constraints aren't met. type OutlierEjectSuccessRateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectSuccessRateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectSuccessRateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectSuccessRateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectSuccessRateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectSuccessRateValidationError) ErrorName() string { return "OutlierEjectSuccessRateValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectSuccessRateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectSuccessRate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectSuccessRateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectSuccessRateValidationError{} // Validate checks the field values on OutlierEjectConsecutive with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectConsecutive) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectConsecutive with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierEjectConsecutiveMultiError, or nil if none found. func (m *OutlierEjectConsecutive) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectConsecutive) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OutlierEjectConsecutiveMultiError(errors) } return nil } // OutlierEjectConsecutiveMultiError is an error wrapping multiple validation // errors returned by OutlierEjectConsecutive.ValidateAll() if the designated // constraints aren't met. type OutlierEjectConsecutiveMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectConsecutiveMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectConsecutiveMultiError) AllErrors() []error { return m } // OutlierEjectConsecutiveValidationError is the validation error returned by // OutlierEjectConsecutive.Validate if the designated constraints aren't met. type OutlierEjectConsecutiveValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectConsecutiveValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectConsecutiveValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectConsecutiveValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectConsecutiveValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectConsecutiveValidationError) ErrorName() string { return "OutlierEjectConsecutiveValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectConsecutiveValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectConsecutive.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectConsecutiveValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectConsecutiveValidationError{} // Validate checks the field values on OutlierEjectFailurePercentage with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectFailurePercentage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectFailurePercentage with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // OutlierEjectFailurePercentageMultiError, or nil if none found. func (m *OutlierEjectFailurePercentage) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectFailurePercentage) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHostSuccessRate() > 100 { err := OutlierEjectFailurePercentageValidationError{ field: "HostSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierEjectFailurePercentageMultiError(errors) } return nil } // OutlierEjectFailurePercentageMultiError is an error wrapping multiple // validation errors returned by OutlierEjectFailurePercentage.ValidateAll() // if the designated constraints aren't met. type OutlierEjectFailurePercentageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectFailurePercentageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectFailurePercentageMultiError) AllErrors() []error { return m } // OutlierEjectFailurePercentageValidationError is the validation error // returned by OutlierEjectFailurePercentage.Validate if the designated // constraints aren't met. type OutlierEjectFailurePercentageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectFailurePercentageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectFailurePercentageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectFailurePercentageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectFailurePercentageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectFailurePercentageValidationError) ErrorName() string { return "OutlierEjectFailurePercentageValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectFailurePercentageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectFailurePercentage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectFailurePercentageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectFailurePercentageValidationError{} go-control-plane-0.12.0/envoy/data/cluster/v3/000077500000000000000000000000001454502223200210335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/cluster/v3/outlier_detection_event.pb.go000077500000000000000000001055131454502223200267140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/cluster/v3/outlier_detection_event.proto package clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Type of ejection that took place type OutlierEjectionType int32 const ( // In case upstream host returns certain number of consecutive 5xx. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is “false“, all type of errors are treated as HTTP 5xx errors. // See :ref:`Cluster outlier detection ` documentation for // details. OutlierEjectionType_CONSECUTIVE_5XX OutlierEjectionType = 0 // In case upstream host returns certain number of consecutive gateway errors OutlierEjectionType_CONSECUTIVE_GATEWAY_FAILURE OutlierEjectionType = 1 // Runs over aggregated success rate statistics from every host in cluster // and selects hosts for which ratio of successful replies deviates from other hosts // in the cluster. // If // :ref:`outlier_detection.split_external_local_origin_errors` // is “false“, all errors (externally and locally generated) are used to calculate success rate // statistics. See :ref:`Cluster outlier detection ` // documentation for details. OutlierEjectionType_SUCCESS_RATE OutlierEjectionType = 2 // Consecutive local origin failures: Connection failures, resets, timeouts, etc // This type of ejection happens only when // :ref:`outlier_detection.split_external_local_origin_errors` // is set to “true“. // See :ref:`Cluster outlier detection ` documentation for OutlierEjectionType_CONSECUTIVE_LOCAL_ORIGIN_FAILURE OutlierEjectionType = 3 // Runs over aggregated success rate statistics for local origin failures // for all hosts in the cluster and selects hosts for which success rate deviates from other // hosts in the cluster. This type of ejection happens only when // :ref:`outlier_detection.split_external_local_origin_errors` // is set to “true“. // See :ref:`Cluster outlier detection ` documentation for OutlierEjectionType_SUCCESS_RATE_LOCAL_ORIGIN OutlierEjectionType = 4 // Runs over aggregated success rate statistics from every host in cluster and selects hosts for // which ratio of failed replies is above configured value. OutlierEjectionType_FAILURE_PERCENTAGE OutlierEjectionType = 5 // Runs over aggregated success rate statistics for local origin failures from every host in // cluster and selects hosts for which ratio of failed replies is above configured value. OutlierEjectionType_FAILURE_PERCENTAGE_LOCAL_ORIGIN OutlierEjectionType = 6 ) // Enum value maps for OutlierEjectionType. var ( OutlierEjectionType_name = map[int32]string{ 0: "CONSECUTIVE_5XX", 1: "CONSECUTIVE_GATEWAY_FAILURE", 2: "SUCCESS_RATE", 3: "CONSECUTIVE_LOCAL_ORIGIN_FAILURE", 4: "SUCCESS_RATE_LOCAL_ORIGIN", 5: "FAILURE_PERCENTAGE", 6: "FAILURE_PERCENTAGE_LOCAL_ORIGIN", } OutlierEjectionType_value = map[string]int32{ "CONSECUTIVE_5XX": 0, "CONSECUTIVE_GATEWAY_FAILURE": 1, "SUCCESS_RATE": 2, "CONSECUTIVE_LOCAL_ORIGIN_FAILURE": 3, "SUCCESS_RATE_LOCAL_ORIGIN": 4, "FAILURE_PERCENTAGE": 5, "FAILURE_PERCENTAGE_LOCAL_ORIGIN": 6, } ) func (x OutlierEjectionType) Enum() *OutlierEjectionType { p := new(OutlierEjectionType) *p = x return p } func (x OutlierEjectionType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OutlierEjectionType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes[0].Descriptor() } func (OutlierEjectionType) Type() protoreflect.EnumType { return &file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes[0] } func (x OutlierEjectionType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OutlierEjectionType.Descriptor instead. func (OutlierEjectionType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{0} } // Represents possible action applied to upstream host type Action int32 const ( // In case host was excluded from service Action_EJECT Action = 0 // In case host was brought back into service Action_UNEJECT Action = 1 ) // Enum value maps for Action. var ( Action_name = map[int32]string{ 0: "EJECT", 1: "UNEJECT", } Action_value = map[string]int32{ "EJECT": 0, "UNEJECT": 1, } ) func (x Action) Enum() *Action { p := new(Action) *p = x return p } func (x Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Action) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes[1].Descriptor() } func (Action) Type() protoreflect.EnumType { return &file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes[1] } func (x Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Action.Descriptor instead. func (Action) EnumDescriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 12] type OutlierDetectionEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // In case of eject represents type of ejection that took place. Type OutlierEjectionType `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.data.cluster.v3.OutlierEjectionType" json:"type,omitempty"` // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // The time in seconds since the last action (either an ejection or unejection) took place. SecsSinceLastAction *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=secs_since_last_action,json=secsSinceLastAction,proto3" json:"secs_since_last_action,omitempty"` // The :ref:`cluster ` that owns the ejected host. ClusterName string `protobuf:"bytes,4,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // The URL of the ejected host. E.g., “tcp://1.2.3.4:80“. UpstreamUrl string `protobuf:"bytes,5,opt,name=upstream_url,json=upstreamUrl,proto3" json:"upstream_url,omitempty"` // The action that took place. Action Action `protobuf:"varint,6,opt,name=action,proto3,enum=envoy.data.cluster.v3.Action" json:"action,omitempty"` // If “action“ is “eject“, specifies the number of times the host has been ejected (local to // that Envoy and gets reset if the host gets removed from the upstream cluster for any reason and // then re-added). NumEjections uint32 `protobuf:"varint,7,opt,name=num_ejections,json=numEjections,proto3" json:"num_ejections,omitempty"` // If “action“ is “eject“, specifies if the ejection was enforced. “true“ means the host was // ejected. “false“ means the event was logged but the host was not actually ejected. Enforced bool `protobuf:"varint,8,opt,name=enforced,proto3" json:"enforced,omitempty"` // Types that are assignable to Event: // // *OutlierDetectionEvent_EjectSuccessRateEvent // *OutlierDetectionEvent_EjectConsecutiveEvent // *OutlierDetectionEvent_EjectFailurePercentageEvent Event isOutlierDetectionEvent_Event `protobuf_oneof:"event"` } func (x *OutlierDetectionEvent) Reset() { *x = OutlierDetectionEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierDetectionEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierDetectionEvent) ProtoMessage() {} func (x *OutlierDetectionEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierDetectionEvent.ProtoReflect.Descriptor instead. func (*OutlierDetectionEvent) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{0} } func (x *OutlierDetectionEvent) GetType() OutlierEjectionType { if x != nil { return x.Type } return OutlierEjectionType_CONSECUTIVE_5XX } func (x *OutlierDetectionEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } func (x *OutlierDetectionEvent) GetSecsSinceLastAction() *wrappers.UInt64Value { if x != nil { return x.SecsSinceLastAction } return nil } func (x *OutlierDetectionEvent) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *OutlierDetectionEvent) GetUpstreamUrl() string { if x != nil { return x.UpstreamUrl } return "" } func (x *OutlierDetectionEvent) GetAction() Action { if x != nil { return x.Action } return Action_EJECT } func (x *OutlierDetectionEvent) GetNumEjections() uint32 { if x != nil { return x.NumEjections } return 0 } func (x *OutlierDetectionEvent) GetEnforced() bool { if x != nil { return x.Enforced } return false } func (m *OutlierDetectionEvent) GetEvent() isOutlierDetectionEvent_Event { if m != nil { return m.Event } return nil } func (x *OutlierDetectionEvent) GetEjectSuccessRateEvent() *OutlierEjectSuccessRate { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectSuccessRateEvent); ok { return x.EjectSuccessRateEvent } return nil } func (x *OutlierDetectionEvent) GetEjectConsecutiveEvent() *OutlierEjectConsecutive { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectConsecutiveEvent); ok { return x.EjectConsecutiveEvent } return nil } func (x *OutlierDetectionEvent) GetEjectFailurePercentageEvent() *OutlierEjectFailurePercentage { if x, ok := x.GetEvent().(*OutlierDetectionEvent_EjectFailurePercentageEvent); ok { return x.EjectFailurePercentageEvent } return nil } type isOutlierDetectionEvent_Event interface { isOutlierDetectionEvent_Event() } type OutlierDetectionEvent_EjectSuccessRateEvent struct { EjectSuccessRateEvent *OutlierEjectSuccessRate `protobuf:"bytes,9,opt,name=eject_success_rate_event,json=ejectSuccessRateEvent,proto3,oneof"` } type OutlierDetectionEvent_EjectConsecutiveEvent struct { EjectConsecutiveEvent *OutlierEjectConsecutive `protobuf:"bytes,10,opt,name=eject_consecutive_event,json=ejectConsecutiveEvent,proto3,oneof"` } type OutlierDetectionEvent_EjectFailurePercentageEvent struct { EjectFailurePercentageEvent *OutlierEjectFailurePercentage `protobuf:"bytes,11,opt,name=eject_failure_percentage_event,json=ejectFailurePercentageEvent,proto3,oneof"` } func (*OutlierDetectionEvent_EjectSuccessRateEvent) isOutlierDetectionEvent_Event() {} func (*OutlierDetectionEvent_EjectConsecutiveEvent) isOutlierDetectionEvent_Event() {} func (*OutlierDetectionEvent_EjectFailurePercentageEvent) isOutlierDetectionEvent_Event() {} type OutlierEjectSuccessRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host’s success rate at the time of the ejection event on a 0-100 range. HostSuccessRate uint32 `protobuf:"varint,1,opt,name=host_success_rate,json=hostSuccessRate,proto3" json:"host_success_rate,omitempty"` // Average success rate of the hosts in the cluster at the time of the ejection event on a 0-100 // range. ClusterAverageSuccessRate uint32 `protobuf:"varint,2,opt,name=cluster_average_success_rate,json=clusterAverageSuccessRate,proto3" json:"cluster_average_success_rate,omitempty"` // Success rate ejection threshold at the time of the ejection event. ClusterSuccessRateEjectionThreshold uint32 `protobuf:"varint,3,opt,name=cluster_success_rate_ejection_threshold,json=clusterSuccessRateEjectionThreshold,proto3" json:"cluster_success_rate_ejection_threshold,omitempty"` } func (x *OutlierEjectSuccessRate) Reset() { *x = OutlierEjectSuccessRate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectSuccessRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectSuccessRate) ProtoMessage() {} func (x *OutlierEjectSuccessRate) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectSuccessRate.ProtoReflect.Descriptor instead. func (*OutlierEjectSuccessRate) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{1} } func (x *OutlierEjectSuccessRate) GetHostSuccessRate() uint32 { if x != nil { return x.HostSuccessRate } return 0 } func (x *OutlierEjectSuccessRate) GetClusterAverageSuccessRate() uint32 { if x != nil { return x.ClusterAverageSuccessRate } return 0 } func (x *OutlierEjectSuccessRate) GetClusterSuccessRateEjectionThreshold() uint32 { if x != nil { return x.ClusterSuccessRateEjectionThreshold } return 0 } type OutlierEjectConsecutive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OutlierEjectConsecutive) Reset() { *x = OutlierEjectConsecutive{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectConsecutive) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectConsecutive) ProtoMessage() {} func (x *OutlierEjectConsecutive) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectConsecutive.ProtoReflect.Descriptor instead. func (*OutlierEjectConsecutive) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{2} } type OutlierEjectFailurePercentage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host's success rate at the time of the ejection event on a 0-100 range. HostSuccessRate uint32 `protobuf:"varint,1,opt,name=host_success_rate,json=hostSuccessRate,proto3" json:"host_success_rate,omitempty"` } func (x *OutlierEjectFailurePercentage) Reset() { *x = OutlierEjectFailurePercentage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutlierEjectFailurePercentage) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutlierEjectFailurePercentage) ProtoMessage() {} func (x *OutlierEjectFailurePercentage) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutlierEjectFailurePercentage.ProtoReflect.Descriptor instead. func (*OutlierEjectFailurePercentage) Descriptor() ([]byte, []int) { return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP(), []int{3} } func (x *OutlierEjectFailurePercentage) GetHostSuccessRate() uint32 { if x != nil { return x.HostSuccessRate } return 0 } var File_envoy_data_cluster_v3_outlier_detection_event_proto protoreflect.FileDescriptor var file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x06, 0x0a, 0x15, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x51, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x65, 0x63, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x18, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x17, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x7b, 0x0a, 0x1e, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1b, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x17, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x1c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x19, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x27, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x23, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x17, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x1d, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x0f, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x2a, 0xdf, 0x01, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x35, 0x58, 0x58, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x43, 0x55, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x41, 0x47, 0x45, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x10, 0x06, 0x2a, 0x20, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x42, 0x93, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescOnce sync.Once file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescData = file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDesc ) func file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescGZIP() []byte { file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescOnce.Do(func() { file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescData) }) return file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDescData } var file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_data_cluster_v3_outlier_detection_event_proto_goTypes = []interface{}{ (OutlierEjectionType)(0), // 0: envoy.data.cluster.v3.OutlierEjectionType (Action)(0), // 1: envoy.data.cluster.v3.Action (*OutlierDetectionEvent)(nil), // 2: envoy.data.cluster.v3.OutlierDetectionEvent (*OutlierEjectSuccessRate)(nil), // 3: envoy.data.cluster.v3.OutlierEjectSuccessRate (*OutlierEjectConsecutive)(nil), // 4: envoy.data.cluster.v3.OutlierEjectConsecutive (*OutlierEjectFailurePercentage)(nil), // 5: envoy.data.cluster.v3.OutlierEjectFailurePercentage (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp (*wrappers.UInt64Value)(nil), // 7: google.protobuf.UInt64Value } var file_envoy_data_cluster_v3_outlier_detection_event_proto_depIdxs = []int32{ 0, // 0: envoy.data.cluster.v3.OutlierDetectionEvent.type:type_name -> envoy.data.cluster.v3.OutlierEjectionType 6, // 1: envoy.data.cluster.v3.OutlierDetectionEvent.timestamp:type_name -> google.protobuf.Timestamp 7, // 2: envoy.data.cluster.v3.OutlierDetectionEvent.secs_since_last_action:type_name -> google.protobuf.UInt64Value 1, // 3: envoy.data.cluster.v3.OutlierDetectionEvent.action:type_name -> envoy.data.cluster.v3.Action 3, // 4: envoy.data.cluster.v3.OutlierDetectionEvent.eject_success_rate_event:type_name -> envoy.data.cluster.v3.OutlierEjectSuccessRate 4, // 5: envoy.data.cluster.v3.OutlierDetectionEvent.eject_consecutive_event:type_name -> envoy.data.cluster.v3.OutlierEjectConsecutive 5, // 6: envoy.data.cluster.v3.OutlierDetectionEvent.eject_failure_percentage_event:type_name -> envoy.data.cluster.v3.OutlierEjectFailurePercentage 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_data_cluster_v3_outlier_detection_event_proto_init() } func file_envoy_data_cluster_v3_outlier_detection_event_proto_init() { if File_envoy_data_cluster_v3_outlier_detection_event_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierDetectionEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectSuccessRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectConsecutive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierEjectFailurePercentage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes[0].OneofWrappers = []interface{}{ (*OutlierDetectionEvent_EjectSuccessRateEvent)(nil), (*OutlierDetectionEvent_EjectConsecutiveEvent)(nil), (*OutlierDetectionEvent_EjectFailurePercentageEvent)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDesc, NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_cluster_v3_outlier_detection_event_proto_goTypes, DependencyIndexes: file_envoy_data_cluster_v3_outlier_detection_event_proto_depIdxs, EnumInfos: file_envoy_data_cluster_v3_outlier_detection_event_proto_enumTypes, MessageInfos: file_envoy_data_cluster_v3_outlier_detection_event_proto_msgTypes, }.Build() File_envoy_data_cluster_v3_outlier_detection_event_proto = out.File file_envoy_data_cluster_v3_outlier_detection_event_proto_rawDesc = nil file_envoy_data_cluster_v3_outlier_detection_event_proto_goTypes = nil file_envoy_data_cluster_v3_outlier_detection_event_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/cluster/v3/outlier_detection_event.pb.validate.go000077500000000000000000000477051454502223200305140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/cluster/v3/outlier_detection_event.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OutlierDetectionEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierDetectionEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierDetectionEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierDetectionEventMultiError, or nil if none found. func (m *OutlierDetectionEvent) ValidateAll() error { return m.validate(true) } func (m *OutlierDetectionEvent) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := OutlierEjectionType_name[int32(m.GetType())]; !ok { err := OutlierDetectionEventValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSecsSinceLastAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecsSinceLastAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "SecsSinceLastAction", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := OutlierDetectionEventValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetUpstreamUrl()) < 1 { err := OutlierDetectionEventValidationError{ field: "UpstreamUrl", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := Action_name[int32(m.GetAction())]; !ok { err := OutlierDetectionEventValidationError{ field: "Action", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for NumEjections // no validation rules for Enforced oneofEventPresent := false switch v := m.Event.(type) { case *OutlierDetectionEvent_EjectSuccessRateEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectSuccessRateEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectSuccessRateEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectSuccessRateEvent", reason: "embedded message failed validation", cause: err, } } } case *OutlierDetectionEvent_EjectConsecutiveEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectConsecutiveEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectConsecutiveEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectConsecutiveEvent", reason: "embedded message failed validation", cause: err, } } } case *OutlierDetectionEvent_EjectFailurePercentageEvent: if v == nil { err := OutlierDetectionEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectFailurePercentageEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectFailurePercentageEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutlierDetectionEventValidationError{ field: "EjectFailurePercentageEvent", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEventPresent { err := OutlierDetectionEventValidationError{ field: "Event", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierDetectionEventMultiError(errors) } return nil } // OutlierDetectionEventMultiError is an error wrapping multiple validation // errors returned by OutlierDetectionEvent.ValidateAll() if the designated // constraints aren't met. type OutlierDetectionEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierDetectionEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierDetectionEventMultiError) AllErrors() []error { return m } // OutlierDetectionEventValidationError is the validation error returned by // OutlierDetectionEvent.Validate if the designated constraints aren't met. type OutlierDetectionEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierDetectionEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierDetectionEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierDetectionEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierDetectionEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierDetectionEventValidationError) ErrorName() string { return "OutlierDetectionEventValidationError" } // Error satisfies the builtin error interface func (e OutlierDetectionEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierDetectionEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierDetectionEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierDetectionEventValidationError{} // Validate checks the field values on OutlierEjectSuccessRate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectSuccessRate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectSuccessRate with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierEjectSuccessRateMultiError, or nil if none found. func (m *OutlierEjectSuccessRate) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectSuccessRate) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHostSuccessRate() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "HostSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if m.GetClusterAverageSuccessRate() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "ClusterAverageSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if m.GetClusterSuccessRateEjectionThreshold() > 100 { err := OutlierEjectSuccessRateValidationError{ field: "ClusterSuccessRateEjectionThreshold", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierEjectSuccessRateMultiError(errors) } return nil } // OutlierEjectSuccessRateMultiError is an error wrapping multiple validation // errors returned by OutlierEjectSuccessRate.ValidateAll() if the designated // constraints aren't met. type OutlierEjectSuccessRateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectSuccessRateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectSuccessRateMultiError) AllErrors() []error { return m } // OutlierEjectSuccessRateValidationError is the validation error returned by // OutlierEjectSuccessRate.Validate if the designated constraints aren't met. type OutlierEjectSuccessRateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectSuccessRateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectSuccessRateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectSuccessRateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectSuccessRateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectSuccessRateValidationError) ErrorName() string { return "OutlierEjectSuccessRateValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectSuccessRateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectSuccessRate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectSuccessRateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectSuccessRateValidationError{} // Validate checks the field values on OutlierEjectConsecutive with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectConsecutive) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectConsecutive with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OutlierEjectConsecutiveMultiError, or nil if none found. func (m *OutlierEjectConsecutive) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectConsecutive) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OutlierEjectConsecutiveMultiError(errors) } return nil } // OutlierEjectConsecutiveMultiError is an error wrapping multiple validation // errors returned by OutlierEjectConsecutive.ValidateAll() if the designated // constraints aren't met. type OutlierEjectConsecutiveMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectConsecutiveMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectConsecutiveMultiError) AllErrors() []error { return m } // OutlierEjectConsecutiveValidationError is the validation error returned by // OutlierEjectConsecutive.Validate if the designated constraints aren't met. type OutlierEjectConsecutiveValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectConsecutiveValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectConsecutiveValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectConsecutiveValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectConsecutiveValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectConsecutiveValidationError) ErrorName() string { return "OutlierEjectConsecutiveValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectConsecutiveValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectConsecutive.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectConsecutiveValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectConsecutiveValidationError{} // Validate checks the field values on OutlierEjectFailurePercentage with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OutlierEjectFailurePercentage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutlierEjectFailurePercentage with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // OutlierEjectFailurePercentageMultiError, or nil if none found. func (m *OutlierEjectFailurePercentage) ValidateAll() error { return m.validate(true) } func (m *OutlierEjectFailurePercentage) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHostSuccessRate() > 100 { err := OutlierEjectFailurePercentageValidationError{ field: "HostSuccessRate", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutlierEjectFailurePercentageMultiError(errors) } return nil } // OutlierEjectFailurePercentageMultiError is an error wrapping multiple // validation errors returned by OutlierEjectFailurePercentage.ValidateAll() // if the designated constraints aren't met. type OutlierEjectFailurePercentageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutlierEjectFailurePercentageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutlierEjectFailurePercentageMultiError) AllErrors() []error { return m } // OutlierEjectFailurePercentageValidationError is the validation error // returned by OutlierEjectFailurePercentage.Validate if the designated // constraints aren't met. type OutlierEjectFailurePercentageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutlierEjectFailurePercentageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutlierEjectFailurePercentageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutlierEjectFailurePercentageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutlierEjectFailurePercentageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutlierEjectFailurePercentageValidationError) ErrorName() string { return "OutlierEjectFailurePercentageValidationError" } // Error satisfies the builtin error interface func (e OutlierEjectFailurePercentageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutlierEjectFailurePercentage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutlierEjectFailurePercentageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutlierEjectFailurePercentageValidationError{} go-control-plane-0.12.0/envoy/data/core/000077500000000000000000000000001454502223200177525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/core/v2alpha/000077500000000000000000000000001454502223200213075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/core/v2alpha/health_check_event.pb.go000077500000000000000000000776411454502223200260630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/core/v2alpha/health_check_event.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HealthCheckFailureType int32 const ( HealthCheckFailureType_ACTIVE HealthCheckFailureType = 0 HealthCheckFailureType_PASSIVE HealthCheckFailureType = 1 HealthCheckFailureType_NETWORK HealthCheckFailureType = 2 ) // Enum value maps for HealthCheckFailureType. var ( HealthCheckFailureType_name = map[int32]string{ 0: "ACTIVE", 1: "PASSIVE", 2: "NETWORK", } HealthCheckFailureType_value = map[string]int32{ "ACTIVE": 0, "PASSIVE": 1, "NETWORK": 2, } ) func (x HealthCheckFailureType) Enum() *HealthCheckFailureType { p := new(HealthCheckFailureType) *p = x return p } func (x HealthCheckFailureType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthCheckFailureType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes[0].Descriptor() } func (HealthCheckFailureType) Type() protoreflect.EnumType { return &file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes[0] } func (x HealthCheckFailureType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthCheckFailureType.Descriptor instead. func (HealthCheckFailureType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{0} } type HealthCheckerType int32 const ( HealthCheckerType_HTTP HealthCheckerType = 0 HealthCheckerType_TCP HealthCheckerType = 1 HealthCheckerType_GRPC HealthCheckerType = 2 HealthCheckerType_REDIS HealthCheckerType = 3 ) // Enum value maps for HealthCheckerType. var ( HealthCheckerType_name = map[int32]string{ 0: "HTTP", 1: "TCP", 2: "GRPC", 3: "REDIS", } HealthCheckerType_value = map[string]int32{ "HTTP": 0, "TCP": 1, "GRPC": 2, "REDIS": 3, } ) func (x HealthCheckerType) Enum() *HealthCheckerType { p := new(HealthCheckerType) *p = x return p } func (x HealthCheckerType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthCheckerType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes[1].Descriptor() } func (HealthCheckerType) Type() protoreflect.EnumType { return &file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes[1] } func (x HealthCheckerType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthCheckerType.Descriptor instead. func (HealthCheckerType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 10] type HealthCheckEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HealthCheckerType HealthCheckerType `protobuf:"varint,1,opt,name=health_checker_type,json=healthCheckerType,proto3,enum=envoy.data.core.v2alpha.HealthCheckerType" json:"health_checker_type,omitempty"` Host *core.Address `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // Types that are assignable to Event: // // *HealthCheckEvent_EjectUnhealthyEvent // *HealthCheckEvent_AddHealthyEvent // *HealthCheckEvent_HealthCheckFailureEvent // *HealthCheckEvent_DegradedHealthyHost // *HealthCheckEvent_NoLongerDegradedHost Event isHealthCheckEvent_Event `protobuf_oneof:"event"` // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *HealthCheckEvent) Reset() { *x = HealthCheckEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckEvent) ProtoMessage() {} func (x *HealthCheckEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckEvent.ProtoReflect.Descriptor instead. func (*HealthCheckEvent) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{0} } func (x *HealthCheckEvent) GetHealthCheckerType() HealthCheckerType { if x != nil { return x.HealthCheckerType } return HealthCheckerType_HTTP } func (x *HealthCheckEvent) GetHost() *core.Address { if x != nil { return x.Host } return nil } func (x *HealthCheckEvent) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (m *HealthCheckEvent) GetEvent() isHealthCheckEvent_Event { if m != nil { return m.Event } return nil } func (x *HealthCheckEvent) GetEjectUnhealthyEvent() *HealthCheckEjectUnhealthy { if x, ok := x.GetEvent().(*HealthCheckEvent_EjectUnhealthyEvent); ok { return x.EjectUnhealthyEvent } return nil } func (x *HealthCheckEvent) GetAddHealthyEvent() *HealthCheckAddHealthy { if x, ok := x.GetEvent().(*HealthCheckEvent_AddHealthyEvent); ok { return x.AddHealthyEvent } return nil } func (x *HealthCheckEvent) GetHealthCheckFailureEvent() *HealthCheckFailure { if x, ok := x.GetEvent().(*HealthCheckEvent_HealthCheckFailureEvent); ok { return x.HealthCheckFailureEvent } return nil } func (x *HealthCheckEvent) GetDegradedHealthyHost() *DegradedHealthyHost { if x, ok := x.GetEvent().(*HealthCheckEvent_DegradedHealthyHost); ok { return x.DegradedHealthyHost } return nil } func (x *HealthCheckEvent) GetNoLongerDegradedHost() *NoLongerDegradedHost { if x, ok := x.GetEvent().(*HealthCheckEvent_NoLongerDegradedHost); ok { return x.NoLongerDegradedHost } return nil } func (x *HealthCheckEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } type isHealthCheckEvent_Event interface { isHealthCheckEvent_Event() } type HealthCheckEvent_EjectUnhealthyEvent struct { // Host ejection. EjectUnhealthyEvent *HealthCheckEjectUnhealthy `protobuf:"bytes,4,opt,name=eject_unhealthy_event,json=ejectUnhealthyEvent,proto3,oneof"` } type HealthCheckEvent_AddHealthyEvent struct { // Host addition. AddHealthyEvent *HealthCheckAddHealthy `protobuf:"bytes,5,opt,name=add_healthy_event,json=addHealthyEvent,proto3,oneof"` } type HealthCheckEvent_HealthCheckFailureEvent struct { // Host failure. HealthCheckFailureEvent *HealthCheckFailure `protobuf:"bytes,7,opt,name=health_check_failure_event,json=healthCheckFailureEvent,proto3,oneof"` } type HealthCheckEvent_DegradedHealthyHost struct { // Healthy host became degraded. DegradedHealthyHost *DegradedHealthyHost `protobuf:"bytes,8,opt,name=degraded_healthy_host,json=degradedHealthyHost,proto3,oneof"` } type HealthCheckEvent_NoLongerDegradedHost struct { // A degraded host returned to being healthy. NoLongerDegradedHost *NoLongerDegradedHost `protobuf:"bytes,9,opt,name=no_longer_degraded_host,json=noLongerDegradedHost,proto3,oneof"` } func (*HealthCheckEvent_EjectUnhealthyEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_AddHealthyEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_HealthCheckFailureEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_DegradedHealthyHost) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_NoLongerDegradedHost) isHealthCheckEvent_Event() {} type HealthCheckEjectUnhealthy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of failure that caused this ejection. FailureType HealthCheckFailureType `protobuf:"varint,1,opt,name=failure_type,json=failureType,proto3,enum=envoy.data.core.v2alpha.HealthCheckFailureType" json:"failure_type,omitempty"` } func (x *HealthCheckEjectUnhealthy) Reset() { *x = HealthCheckEjectUnhealthy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckEjectUnhealthy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckEjectUnhealthy) ProtoMessage() {} func (x *HealthCheckEjectUnhealthy) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckEjectUnhealthy.ProtoReflect.Descriptor instead. func (*HealthCheckEjectUnhealthy) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{1} } func (x *HealthCheckEjectUnhealthy) GetFailureType() HealthCheckFailureType { if x != nil { return x.FailureType } return HealthCheckFailureType_ACTIVE } type HealthCheckAddHealthy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether this addition is the result of the first ever health check on a host, in which case // the configured :ref:`healthy threshold ` // is bypassed and the host is immediately added. FirstCheck bool `protobuf:"varint,1,opt,name=first_check,json=firstCheck,proto3" json:"first_check,omitempty"` } func (x *HealthCheckAddHealthy) Reset() { *x = HealthCheckAddHealthy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckAddHealthy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckAddHealthy) ProtoMessage() {} func (x *HealthCheckAddHealthy) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckAddHealthy.ProtoReflect.Descriptor instead. func (*HealthCheckAddHealthy) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{2} } func (x *HealthCheckAddHealthy) GetFirstCheck() bool { if x != nil { return x.FirstCheck } return false } type HealthCheckFailure struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of failure that caused this event. FailureType HealthCheckFailureType `protobuf:"varint,1,opt,name=failure_type,json=failureType,proto3,enum=envoy.data.core.v2alpha.HealthCheckFailureType" json:"failure_type,omitempty"` // Whether this event is the result of the first ever health check on a host. FirstCheck bool `protobuf:"varint,2,opt,name=first_check,json=firstCheck,proto3" json:"first_check,omitempty"` } func (x *HealthCheckFailure) Reset() { *x = HealthCheckFailure{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckFailure) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckFailure) ProtoMessage() {} func (x *HealthCheckFailure) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckFailure.ProtoReflect.Descriptor instead. func (*HealthCheckFailure) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{3} } func (x *HealthCheckFailure) GetFailureType() HealthCheckFailureType { if x != nil { return x.FailureType } return HealthCheckFailureType_ACTIVE } func (x *HealthCheckFailure) GetFirstCheck() bool { if x != nil { return x.FirstCheck } return false } type DegradedHealthyHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DegradedHealthyHost) Reset() { *x = DegradedHealthyHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DegradedHealthyHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*DegradedHealthyHost) ProtoMessage() {} func (x *DegradedHealthyHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DegradedHealthyHost.ProtoReflect.Descriptor instead. func (*DegradedHealthyHost) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{4} } type NoLongerDegradedHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NoLongerDegradedHost) Reset() { *x = NoLongerDegradedHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NoLongerDegradedHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*NoLongerDegradedHost) ProtoMessage() {} func (x *NoLongerDegradedHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NoLongerDegradedHost.ProtoReflect.Descriptor instead. func (*NoLongerDegradedHost) Descriptor() ([]byte, []int) { return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP(), []int{5} } var File_envoy_data_core_v2alpha_health_check_event_proto protoreflect.FileDescriptor var file_envoy_data_core_v2alpha_health_check_event_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x06, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x68, 0x0a, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x00, 0x52, 0x13, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x15, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x17, 0x6e, 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x79, 0x0a, 0x19, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x12, 0x5c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x38, 0x0a, 0x15, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x5c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x2a, 0x3e, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x02, 0x2a, 0x3b, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x03, 0x42, 0x88, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x15, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_core_v2alpha_health_check_event_proto_rawDescOnce sync.Once file_envoy_data_core_v2alpha_health_check_event_proto_rawDescData = file_envoy_data_core_v2alpha_health_check_event_proto_rawDesc ) func file_envoy_data_core_v2alpha_health_check_event_proto_rawDescGZIP() []byte { file_envoy_data_core_v2alpha_health_check_event_proto_rawDescOnce.Do(func() { file_envoy_data_core_v2alpha_health_check_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_core_v2alpha_health_check_event_proto_rawDescData) }) return file_envoy_data_core_v2alpha_health_check_event_proto_rawDescData } var file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_data_core_v2alpha_health_check_event_proto_goTypes = []interface{}{ (HealthCheckFailureType)(0), // 0: envoy.data.core.v2alpha.HealthCheckFailureType (HealthCheckerType)(0), // 1: envoy.data.core.v2alpha.HealthCheckerType (*HealthCheckEvent)(nil), // 2: envoy.data.core.v2alpha.HealthCheckEvent (*HealthCheckEjectUnhealthy)(nil), // 3: envoy.data.core.v2alpha.HealthCheckEjectUnhealthy (*HealthCheckAddHealthy)(nil), // 4: envoy.data.core.v2alpha.HealthCheckAddHealthy (*HealthCheckFailure)(nil), // 5: envoy.data.core.v2alpha.HealthCheckFailure (*DegradedHealthyHost)(nil), // 6: envoy.data.core.v2alpha.DegradedHealthyHost (*NoLongerDegradedHost)(nil), // 7: envoy.data.core.v2alpha.NoLongerDegradedHost (*core.Address)(nil), // 8: envoy.api.v2.core.Address (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_envoy_data_core_v2alpha_health_check_event_proto_depIdxs = []int32{ 1, // 0: envoy.data.core.v2alpha.HealthCheckEvent.health_checker_type:type_name -> envoy.data.core.v2alpha.HealthCheckerType 8, // 1: envoy.data.core.v2alpha.HealthCheckEvent.host:type_name -> envoy.api.v2.core.Address 3, // 2: envoy.data.core.v2alpha.HealthCheckEvent.eject_unhealthy_event:type_name -> envoy.data.core.v2alpha.HealthCheckEjectUnhealthy 4, // 3: envoy.data.core.v2alpha.HealthCheckEvent.add_healthy_event:type_name -> envoy.data.core.v2alpha.HealthCheckAddHealthy 5, // 4: envoy.data.core.v2alpha.HealthCheckEvent.health_check_failure_event:type_name -> envoy.data.core.v2alpha.HealthCheckFailure 6, // 5: envoy.data.core.v2alpha.HealthCheckEvent.degraded_healthy_host:type_name -> envoy.data.core.v2alpha.DegradedHealthyHost 7, // 6: envoy.data.core.v2alpha.HealthCheckEvent.no_longer_degraded_host:type_name -> envoy.data.core.v2alpha.NoLongerDegradedHost 9, // 7: envoy.data.core.v2alpha.HealthCheckEvent.timestamp:type_name -> google.protobuf.Timestamp 0, // 8: envoy.data.core.v2alpha.HealthCheckEjectUnhealthy.failure_type:type_name -> envoy.data.core.v2alpha.HealthCheckFailureType 0, // 9: envoy.data.core.v2alpha.HealthCheckFailure.failure_type:type_name -> envoy.data.core.v2alpha.HealthCheckFailureType 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_data_core_v2alpha_health_check_event_proto_init() } func file_envoy_data_core_v2alpha_health_check_event_proto_init() { if File_envoy_data_core_v2alpha_health_check_event_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckEjectUnhealthy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckAddHealthy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckFailure); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DegradedHealthyHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NoLongerDegradedHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HealthCheckEvent_EjectUnhealthyEvent)(nil), (*HealthCheckEvent_AddHealthyEvent)(nil), (*HealthCheckEvent_HealthCheckFailureEvent)(nil), (*HealthCheckEvent_DegradedHealthyHost)(nil), (*HealthCheckEvent_NoLongerDegradedHost)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_core_v2alpha_health_check_event_proto_rawDesc, NumEnums: 2, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_core_v2alpha_health_check_event_proto_goTypes, DependencyIndexes: file_envoy_data_core_v2alpha_health_check_event_proto_depIdxs, EnumInfos: file_envoy_data_core_v2alpha_health_check_event_proto_enumTypes, MessageInfos: file_envoy_data_core_v2alpha_health_check_event_proto_msgTypes, }.Build() File_envoy_data_core_v2alpha_health_check_event_proto = out.File file_envoy_data_core_v2alpha_health_check_event_proto_rawDesc = nil file_envoy_data_core_v2alpha_health_check_event_proto_goTypes = nil file_envoy_data_core_v2alpha_health_check_event_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/core/v2alpha/health_check_event.pb.validate.go000077500000000000000000000644671454502223200276550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/core/v2alpha/health_check_event.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HealthCheckEvent with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HealthCheckEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckEventMultiError, or nil if none found. func (m *HealthCheckEvent) ValidateAll() error { return m.validate(true) } func (m *HealthCheckEvent) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckerType_name[int32(m.GetHealthCheckerType())]; !ok { err := HealthCheckEventValidationError{ field: "HealthCheckerType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, } } } if len(m.GetClusterName()) < 1 { err := HealthCheckEventValidationError{ field: "ClusterName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } oneofEventPresent := false switch v := m.Event.(type) { case *HealthCheckEvent_EjectUnhealthyEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectUnhealthyEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectUnhealthyEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_AddHealthyEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetAddHealthyEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddHealthyEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_HealthCheckFailureEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetHealthCheckFailureEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckFailureEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_DegradedHealthyHost: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetDegradedHealthyHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDegradedHealthyHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_NoLongerDegradedHost: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetNoLongerDegradedHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNoLongerDegradedHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEventPresent { err := HealthCheckEventValidationError{ field: "Event", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckEventMultiError(errors) } return nil } // HealthCheckEventMultiError is an error wrapping multiple validation errors // returned by HealthCheckEvent.ValidateAll() if the designated constraints // aren't met. type HealthCheckEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckEventMultiError) AllErrors() []error { return m } // HealthCheckEventValidationError is the validation error returned by // HealthCheckEvent.Validate if the designated constraints aren't met. type HealthCheckEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckEventValidationError) ErrorName() string { return "HealthCheckEventValidationError" } // Error satisfies the builtin error interface func (e HealthCheckEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckEventValidationError{} // Validate checks the field values on HealthCheckEjectUnhealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckEjectUnhealthy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckEjectUnhealthy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckEjectUnhealthyMultiError, or nil if none found. func (m *HealthCheckEjectUnhealthy) ValidateAll() error { return m.validate(true) } func (m *HealthCheckEjectUnhealthy) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckFailureType_name[int32(m.GetFailureType())]; !ok { err := HealthCheckEjectUnhealthyValidationError{ field: "FailureType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckEjectUnhealthyMultiError(errors) } return nil } // HealthCheckEjectUnhealthyMultiError is an error wrapping multiple validation // errors returned by HealthCheckEjectUnhealthy.ValidateAll() if the // designated constraints aren't met. type HealthCheckEjectUnhealthyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckEjectUnhealthyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckEjectUnhealthyMultiError) AllErrors() []error { return m } // HealthCheckEjectUnhealthyValidationError is the validation error returned by // HealthCheckEjectUnhealthy.Validate if the designated constraints aren't met. type HealthCheckEjectUnhealthyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckEjectUnhealthyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckEjectUnhealthyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckEjectUnhealthyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckEjectUnhealthyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckEjectUnhealthyValidationError) ErrorName() string { return "HealthCheckEjectUnhealthyValidationError" } // Error satisfies the builtin error interface func (e HealthCheckEjectUnhealthyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckEjectUnhealthy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckEjectUnhealthyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckEjectUnhealthyValidationError{} // Validate checks the field values on HealthCheckAddHealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckAddHealthy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckAddHealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckAddHealthyMultiError, or nil if none found. func (m *HealthCheckAddHealthy) ValidateAll() error { return m.validate(true) } func (m *HealthCheckAddHealthy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FirstCheck if len(errors) > 0 { return HealthCheckAddHealthyMultiError(errors) } return nil } // HealthCheckAddHealthyMultiError is an error wrapping multiple validation // errors returned by HealthCheckAddHealthy.ValidateAll() if the designated // constraints aren't met. type HealthCheckAddHealthyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckAddHealthyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckAddHealthyMultiError) AllErrors() []error { return m } // HealthCheckAddHealthyValidationError is the validation error returned by // HealthCheckAddHealthy.Validate if the designated constraints aren't met. type HealthCheckAddHealthyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckAddHealthyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckAddHealthyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckAddHealthyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckAddHealthyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckAddHealthyValidationError) ErrorName() string { return "HealthCheckAddHealthyValidationError" } // Error satisfies the builtin error interface func (e HealthCheckAddHealthyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckAddHealthy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckAddHealthyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckAddHealthyValidationError{} // Validate checks the field values on HealthCheckFailure with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckFailure) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckFailure with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckFailureMultiError, or nil if none found. func (m *HealthCheckFailure) ValidateAll() error { return m.validate(true) } func (m *HealthCheckFailure) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckFailureType_name[int32(m.GetFailureType())]; !ok { err := HealthCheckFailureValidationError{ field: "FailureType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for FirstCheck if len(errors) > 0 { return HealthCheckFailureMultiError(errors) } return nil } // HealthCheckFailureMultiError is an error wrapping multiple validation errors // returned by HealthCheckFailure.ValidateAll() if the designated constraints // aren't met. type HealthCheckFailureMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckFailureMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckFailureMultiError) AllErrors() []error { return m } // HealthCheckFailureValidationError is the validation error returned by // HealthCheckFailure.Validate if the designated constraints aren't met. type HealthCheckFailureValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckFailureValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckFailureValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckFailureValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckFailureValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckFailureValidationError) ErrorName() string { return "HealthCheckFailureValidationError" } // Error satisfies the builtin error interface func (e HealthCheckFailureValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckFailure.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckFailureValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckFailureValidationError{} // Validate checks the field values on DegradedHealthyHost with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DegradedHealthyHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DegradedHealthyHost with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DegradedHealthyHostMultiError, or nil if none found. func (m *DegradedHealthyHost) ValidateAll() error { return m.validate(true) } func (m *DegradedHealthyHost) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DegradedHealthyHostMultiError(errors) } return nil } // DegradedHealthyHostMultiError is an error wrapping multiple validation // errors returned by DegradedHealthyHost.ValidateAll() if the designated // constraints aren't met. type DegradedHealthyHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DegradedHealthyHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DegradedHealthyHostMultiError) AllErrors() []error { return m } // DegradedHealthyHostValidationError is the validation error returned by // DegradedHealthyHost.Validate if the designated constraints aren't met. type DegradedHealthyHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DegradedHealthyHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DegradedHealthyHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DegradedHealthyHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DegradedHealthyHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DegradedHealthyHostValidationError) ErrorName() string { return "DegradedHealthyHostValidationError" } // Error satisfies the builtin error interface func (e DegradedHealthyHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDegradedHealthyHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DegradedHealthyHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DegradedHealthyHostValidationError{} // Validate checks the field values on NoLongerDegradedHost with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *NoLongerDegradedHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NoLongerDegradedHost with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // NoLongerDegradedHostMultiError, or nil if none found. func (m *NoLongerDegradedHost) ValidateAll() error { return m.validate(true) } func (m *NoLongerDegradedHost) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return NoLongerDegradedHostMultiError(errors) } return nil } // NoLongerDegradedHostMultiError is an error wrapping multiple validation // errors returned by NoLongerDegradedHost.ValidateAll() if the designated // constraints aren't met. type NoLongerDegradedHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NoLongerDegradedHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NoLongerDegradedHostMultiError) AllErrors() []error { return m } // NoLongerDegradedHostValidationError is the validation error returned by // NoLongerDegradedHost.Validate if the designated constraints aren't met. type NoLongerDegradedHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NoLongerDegradedHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NoLongerDegradedHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NoLongerDegradedHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NoLongerDegradedHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NoLongerDegradedHostValidationError) ErrorName() string { return "NoLongerDegradedHostValidationError" } // Error satisfies the builtin error interface func (e NoLongerDegradedHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNoLongerDegradedHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NoLongerDegradedHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NoLongerDegradedHostValidationError{} go-control-plane-0.12.0/envoy/data/core/v3/000077500000000000000000000000001454502223200203025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/core/v3/health_check_event.pb.go000077500000000000000000001066671454502223200250570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/core/v3/health_check_event.proto package corev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HealthCheckFailureType int32 const ( HealthCheckFailureType_ACTIVE HealthCheckFailureType = 0 HealthCheckFailureType_PASSIVE HealthCheckFailureType = 1 HealthCheckFailureType_NETWORK HealthCheckFailureType = 2 HealthCheckFailureType_NETWORK_TIMEOUT HealthCheckFailureType = 3 ) // Enum value maps for HealthCheckFailureType. var ( HealthCheckFailureType_name = map[int32]string{ 0: "ACTIVE", 1: "PASSIVE", 2: "NETWORK", 3: "NETWORK_TIMEOUT", } HealthCheckFailureType_value = map[string]int32{ "ACTIVE": 0, "PASSIVE": 1, "NETWORK": 2, "NETWORK_TIMEOUT": 3, } ) func (x HealthCheckFailureType) Enum() *HealthCheckFailureType { p := new(HealthCheckFailureType) *p = x return p } func (x HealthCheckFailureType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthCheckFailureType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_core_v3_health_check_event_proto_enumTypes[0].Descriptor() } func (HealthCheckFailureType) Type() protoreflect.EnumType { return &file_envoy_data_core_v3_health_check_event_proto_enumTypes[0] } func (x HealthCheckFailureType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthCheckFailureType.Descriptor instead. func (HealthCheckFailureType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{0} } type HealthCheckerType int32 const ( HealthCheckerType_HTTP HealthCheckerType = 0 HealthCheckerType_TCP HealthCheckerType = 1 HealthCheckerType_GRPC HealthCheckerType = 2 HealthCheckerType_REDIS HealthCheckerType = 3 HealthCheckerType_THRIFT HealthCheckerType = 4 ) // Enum value maps for HealthCheckerType. var ( HealthCheckerType_name = map[int32]string{ 0: "HTTP", 1: "TCP", 2: "GRPC", 3: "REDIS", 4: "THRIFT", } HealthCheckerType_value = map[string]int32{ "HTTP": 0, "TCP": 1, "GRPC": 2, "REDIS": 3, "THRIFT": 4, } ) func (x HealthCheckerType) Enum() *HealthCheckerType { p := new(HealthCheckerType) *p = x return p } func (x HealthCheckerType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HealthCheckerType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_data_core_v3_health_check_event_proto_enumTypes[1].Descriptor() } func (HealthCheckerType) Type() protoreflect.EnumType { return &file_envoy_data_core_v3_health_check_event_proto_enumTypes[1] } func (x HealthCheckerType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HealthCheckerType.Descriptor instead. func (HealthCheckerType) EnumDescriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{1} } // [#next-free-field: 12] type HealthCheckEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HealthCheckerType HealthCheckerType `protobuf:"varint,1,opt,name=health_checker_type,json=healthCheckerType,proto3,enum=envoy.data.core.v3.HealthCheckerType" json:"health_checker_type,omitempty"` Host *v3.Address `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` // Types that are assignable to Event: // // *HealthCheckEvent_EjectUnhealthyEvent // *HealthCheckEvent_AddHealthyEvent // *HealthCheckEvent_HealthCheckFailureEvent // *HealthCheckEvent_DegradedHealthyHost // *HealthCheckEvent_NoLongerDegradedHost Event isHealthCheckEvent_Event `protobuf_oneof:"event"` // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Host metadata Metadata *v3.Metadata `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"` // Host locality Locality *v3.Locality `protobuf:"bytes,11,opt,name=locality,proto3" json:"locality,omitempty"` } func (x *HealthCheckEvent) Reset() { *x = HealthCheckEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckEvent) ProtoMessage() {} func (x *HealthCheckEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckEvent.ProtoReflect.Descriptor instead. func (*HealthCheckEvent) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{0} } func (x *HealthCheckEvent) GetHealthCheckerType() HealthCheckerType { if x != nil { return x.HealthCheckerType } return HealthCheckerType_HTTP } func (x *HealthCheckEvent) GetHost() *v3.Address { if x != nil { return x.Host } return nil } func (x *HealthCheckEvent) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (m *HealthCheckEvent) GetEvent() isHealthCheckEvent_Event { if m != nil { return m.Event } return nil } func (x *HealthCheckEvent) GetEjectUnhealthyEvent() *HealthCheckEjectUnhealthy { if x, ok := x.GetEvent().(*HealthCheckEvent_EjectUnhealthyEvent); ok { return x.EjectUnhealthyEvent } return nil } func (x *HealthCheckEvent) GetAddHealthyEvent() *HealthCheckAddHealthy { if x, ok := x.GetEvent().(*HealthCheckEvent_AddHealthyEvent); ok { return x.AddHealthyEvent } return nil } func (x *HealthCheckEvent) GetHealthCheckFailureEvent() *HealthCheckFailure { if x, ok := x.GetEvent().(*HealthCheckEvent_HealthCheckFailureEvent); ok { return x.HealthCheckFailureEvent } return nil } func (x *HealthCheckEvent) GetDegradedHealthyHost() *DegradedHealthyHost { if x, ok := x.GetEvent().(*HealthCheckEvent_DegradedHealthyHost); ok { return x.DegradedHealthyHost } return nil } func (x *HealthCheckEvent) GetNoLongerDegradedHost() *NoLongerDegradedHost { if x, ok := x.GetEvent().(*HealthCheckEvent_NoLongerDegradedHost); ok { return x.NoLongerDegradedHost } return nil } func (x *HealthCheckEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } func (x *HealthCheckEvent) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } func (x *HealthCheckEvent) GetLocality() *v3.Locality { if x != nil { return x.Locality } return nil } type isHealthCheckEvent_Event interface { isHealthCheckEvent_Event() } type HealthCheckEvent_EjectUnhealthyEvent struct { // Host ejection. EjectUnhealthyEvent *HealthCheckEjectUnhealthy `protobuf:"bytes,4,opt,name=eject_unhealthy_event,json=ejectUnhealthyEvent,proto3,oneof"` } type HealthCheckEvent_AddHealthyEvent struct { // Host addition. AddHealthyEvent *HealthCheckAddHealthy `protobuf:"bytes,5,opt,name=add_healthy_event,json=addHealthyEvent,proto3,oneof"` } type HealthCheckEvent_HealthCheckFailureEvent struct { // Host failure. HealthCheckFailureEvent *HealthCheckFailure `protobuf:"bytes,7,opt,name=health_check_failure_event,json=healthCheckFailureEvent,proto3,oneof"` } type HealthCheckEvent_DegradedHealthyHost struct { // Healthy host became degraded. DegradedHealthyHost *DegradedHealthyHost `protobuf:"bytes,8,opt,name=degraded_healthy_host,json=degradedHealthyHost,proto3,oneof"` } type HealthCheckEvent_NoLongerDegradedHost struct { // A degraded host returned to being healthy. NoLongerDegradedHost *NoLongerDegradedHost `protobuf:"bytes,9,opt,name=no_longer_degraded_host,json=noLongerDegradedHost,proto3,oneof"` } func (*HealthCheckEvent_EjectUnhealthyEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_AddHealthyEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_HealthCheckFailureEvent) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_DegradedHealthyHost) isHealthCheckEvent_Event() {} func (*HealthCheckEvent_NoLongerDegradedHost) isHealthCheckEvent_Event() {} type HealthCheckEjectUnhealthy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of failure that caused this ejection. FailureType HealthCheckFailureType `protobuf:"varint,1,opt,name=failure_type,json=failureType,proto3,enum=envoy.data.core.v3.HealthCheckFailureType" json:"failure_type,omitempty"` } func (x *HealthCheckEjectUnhealthy) Reset() { *x = HealthCheckEjectUnhealthy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckEjectUnhealthy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckEjectUnhealthy) ProtoMessage() {} func (x *HealthCheckEjectUnhealthy) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckEjectUnhealthy.ProtoReflect.Descriptor instead. func (*HealthCheckEjectUnhealthy) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{1} } func (x *HealthCheckEjectUnhealthy) GetFailureType() HealthCheckFailureType { if x != nil { return x.FailureType } return HealthCheckFailureType_ACTIVE } type HealthCheckAddHealthy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether this addition is the result of the first ever health check on a host, in which case // the configured :ref:`healthy threshold ` // is bypassed and the host is immediately added. FirstCheck bool `protobuf:"varint,1,opt,name=first_check,json=firstCheck,proto3" json:"first_check,omitempty"` } func (x *HealthCheckAddHealthy) Reset() { *x = HealthCheckAddHealthy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckAddHealthy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckAddHealthy) ProtoMessage() {} func (x *HealthCheckAddHealthy) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckAddHealthy.ProtoReflect.Descriptor instead. func (*HealthCheckAddHealthy) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{2} } func (x *HealthCheckAddHealthy) GetFirstCheck() bool { if x != nil { return x.FirstCheck } return false } type HealthCheckFailure struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of failure that caused this event. FailureType HealthCheckFailureType `protobuf:"varint,1,opt,name=failure_type,json=failureType,proto3,enum=envoy.data.core.v3.HealthCheckFailureType" json:"failure_type,omitempty"` // Whether this event is the result of the first ever health check on a host. FirstCheck bool `protobuf:"varint,2,opt,name=first_check,json=firstCheck,proto3" json:"first_check,omitempty"` } func (x *HealthCheckFailure) Reset() { *x = HealthCheckFailure{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckFailure) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckFailure) ProtoMessage() {} func (x *HealthCheckFailure) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckFailure.ProtoReflect.Descriptor instead. func (*HealthCheckFailure) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{3} } func (x *HealthCheckFailure) GetFailureType() HealthCheckFailureType { if x != nil { return x.FailureType } return HealthCheckFailureType_ACTIVE } func (x *HealthCheckFailure) GetFirstCheck() bool { if x != nil { return x.FirstCheck } return false } type DegradedHealthyHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DegradedHealthyHost) Reset() { *x = DegradedHealthyHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DegradedHealthyHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*DegradedHealthyHost) ProtoMessage() {} func (x *DegradedHealthyHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DegradedHealthyHost.ProtoReflect.Descriptor instead. func (*DegradedHealthyHost) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{4} } type NoLongerDegradedHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NoLongerDegradedHost) Reset() { *x = NoLongerDegradedHost{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NoLongerDegradedHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*NoLongerDegradedHost) ProtoMessage() {} func (x *NoLongerDegradedHost) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_core_v3_health_check_event_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NoLongerDegradedHost.ProtoReflect.Descriptor instead. func (*NoLongerDegradedHost) Descriptor() ([]byte, []int) { return file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP(), []int{5} } var File_envoy_data_core_v3_health_check_event_proto protoreflect.FileDescriptor var file_envoy_data_core_v3_health_check_event_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x07, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x00, 0x52, 0x13, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x15, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x17, 0x6e, 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xae, 0x01, 0x0a, 0x19, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x12, 0x57, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x22, 0x6e, 0x0a, 0x15, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x49, 0x0a, 0x13, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x14, 0x4e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x2a, 0x53, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x2a, 0x47, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x48, 0x52, 0x49, 0x46, 0x54, 0x10, 0x04, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_core_v3_health_check_event_proto_rawDescOnce sync.Once file_envoy_data_core_v3_health_check_event_proto_rawDescData = file_envoy_data_core_v3_health_check_event_proto_rawDesc ) func file_envoy_data_core_v3_health_check_event_proto_rawDescGZIP() []byte { file_envoy_data_core_v3_health_check_event_proto_rawDescOnce.Do(func() { file_envoy_data_core_v3_health_check_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_core_v3_health_check_event_proto_rawDescData) }) return file_envoy_data_core_v3_health_check_event_proto_rawDescData } var file_envoy_data_core_v3_health_check_event_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_data_core_v3_health_check_event_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_data_core_v3_health_check_event_proto_goTypes = []interface{}{ (HealthCheckFailureType)(0), // 0: envoy.data.core.v3.HealthCheckFailureType (HealthCheckerType)(0), // 1: envoy.data.core.v3.HealthCheckerType (*HealthCheckEvent)(nil), // 2: envoy.data.core.v3.HealthCheckEvent (*HealthCheckEjectUnhealthy)(nil), // 3: envoy.data.core.v3.HealthCheckEjectUnhealthy (*HealthCheckAddHealthy)(nil), // 4: envoy.data.core.v3.HealthCheckAddHealthy (*HealthCheckFailure)(nil), // 5: envoy.data.core.v3.HealthCheckFailure (*DegradedHealthyHost)(nil), // 6: envoy.data.core.v3.DegradedHealthyHost (*NoLongerDegradedHost)(nil), // 7: envoy.data.core.v3.NoLongerDegradedHost (*v3.Address)(nil), // 8: envoy.config.core.v3.Address (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp (*v3.Metadata)(nil), // 10: envoy.config.core.v3.Metadata (*v3.Locality)(nil), // 11: envoy.config.core.v3.Locality } var file_envoy_data_core_v3_health_check_event_proto_depIdxs = []int32{ 1, // 0: envoy.data.core.v3.HealthCheckEvent.health_checker_type:type_name -> envoy.data.core.v3.HealthCheckerType 8, // 1: envoy.data.core.v3.HealthCheckEvent.host:type_name -> envoy.config.core.v3.Address 3, // 2: envoy.data.core.v3.HealthCheckEvent.eject_unhealthy_event:type_name -> envoy.data.core.v3.HealthCheckEjectUnhealthy 4, // 3: envoy.data.core.v3.HealthCheckEvent.add_healthy_event:type_name -> envoy.data.core.v3.HealthCheckAddHealthy 5, // 4: envoy.data.core.v3.HealthCheckEvent.health_check_failure_event:type_name -> envoy.data.core.v3.HealthCheckFailure 6, // 5: envoy.data.core.v3.HealthCheckEvent.degraded_healthy_host:type_name -> envoy.data.core.v3.DegradedHealthyHost 7, // 6: envoy.data.core.v3.HealthCheckEvent.no_longer_degraded_host:type_name -> envoy.data.core.v3.NoLongerDegradedHost 9, // 7: envoy.data.core.v3.HealthCheckEvent.timestamp:type_name -> google.protobuf.Timestamp 10, // 8: envoy.data.core.v3.HealthCheckEvent.metadata:type_name -> envoy.config.core.v3.Metadata 11, // 9: envoy.data.core.v3.HealthCheckEvent.locality:type_name -> envoy.config.core.v3.Locality 0, // 10: envoy.data.core.v3.HealthCheckEjectUnhealthy.failure_type:type_name -> envoy.data.core.v3.HealthCheckFailureType 0, // 11: envoy.data.core.v3.HealthCheckFailure.failure_type:type_name -> envoy.data.core.v3.HealthCheckFailureType 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_data_core_v3_health_check_event_proto_init() } func file_envoy_data_core_v3_health_check_event_proto_init() { if File_envoy_data_core_v3_health_check_event_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_core_v3_health_check_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckEjectUnhealthy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckAddHealthy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckFailure); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DegradedHealthyHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NoLongerDegradedHost); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_core_v3_health_check_event_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HealthCheckEvent_EjectUnhealthyEvent)(nil), (*HealthCheckEvent_AddHealthyEvent)(nil), (*HealthCheckEvent_HealthCheckFailureEvent)(nil), (*HealthCheckEvent_DegradedHealthyHost)(nil), (*HealthCheckEvent_NoLongerDegradedHost)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_core_v3_health_check_event_proto_rawDesc, NumEnums: 2, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_core_v3_health_check_event_proto_goTypes, DependencyIndexes: file_envoy_data_core_v3_health_check_event_proto_depIdxs, EnumInfos: file_envoy_data_core_v3_health_check_event_proto_enumTypes, MessageInfos: file_envoy_data_core_v3_health_check_event_proto_msgTypes, }.Build() File_envoy_data_core_v3_health_check_event_proto = out.File file_envoy_data_core_v3_health_check_event_proto_rawDesc = nil file_envoy_data_core_v3_health_check_event_proto_goTypes = nil file_envoy_data_core_v3_health_check_event_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/core/v3/health_check_event.pb.validate.go000077500000000000000000000677121454502223200266440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/core/v3/health_check_event.proto package corev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HealthCheckEvent with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HealthCheckEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckEvent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckEventMultiError, or nil if none found. func (m *HealthCheckEvent) ValidateAll() error { return m.validate(true) } func (m *HealthCheckEvent) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckerType_name[int32(m.GetHealthCheckerType())]; !ok { err := HealthCheckEventValidationError{ field: "HealthCheckerType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := HealthCheckEventValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } oneofEventPresent := false switch v := m.Event.(type) { case *HealthCheckEvent_EjectUnhealthyEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetEjectUnhealthyEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEjectUnhealthyEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "EjectUnhealthyEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_AddHealthyEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetAddHealthyEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddHealthyEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "AddHealthyEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_HealthCheckFailureEvent: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetHealthCheckFailureEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckFailureEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "HealthCheckFailureEvent", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_DegradedHealthyHost: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetDegradedHealthyHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDegradedHealthyHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "DegradedHealthyHost", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckEvent_NoLongerDegradedHost: if v == nil { err := HealthCheckEventValidationError{ field: "Event", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEventPresent = true if all { switch v := interface{}(m.GetNoLongerDegradedHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNoLongerDegradedHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckEventValidationError{ field: "NoLongerDegradedHost", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEventPresent { err := HealthCheckEventValidationError{ field: "Event", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckEventMultiError(errors) } return nil } // HealthCheckEventMultiError is an error wrapping multiple validation errors // returned by HealthCheckEvent.ValidateAll() if the designated constraints // aren't met. type HealthCheckEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckEventMultiError) AllErrors() []error { return m } // HealthCheckEventValidationError is the validation error returned by // HealthCheckEvent.Validate if the designated constraints aren't met. type HealthCheckEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckEventValidationError) ErrorName() string { return "HealthCheckEventValidationError" } // Error satisfies the builtin error interface func (e HealthCheckEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckEventValidationError{} // Validate checks the field values on HealthCheckEjectUnhealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckEjectUnhealthy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckEjectUnhealthy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckEjectUnhealthyMultiError, or nil if none found. func (m *HealthCheckEjectUnhealthy) ValidateAll() error { return m.validate(true) } func (m *HealthCheckEjectUnhealthy) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckFailureType_name[int32(m.GetFailureType())]; !ok { err := HealthCheckEjectUnhealthyValidationError{ field: "FailureType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckEjectUnhealthyMultiError(errors) } return nil } // HealthCheckEjectUnhealthyMultiError is an error wrapping multiple validation // errors returned by HealthCheckEjectUnhealthy.ValidateAll() if the // designated constraints aren't met. type HealthCheckEjectUnhealthyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckEjectUnhealthyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckEjectUnhealthyMultiError) AllErrors() []error { return m } // HealthCheckEjectUnhealthyValidationError is the validation error returned by // HealthCheckEjectUnhealthy.Validate if the designated constraints aren't met. type HealthCheckEjectUnhealthyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckEjectUnhealthyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckEjectUnhealthyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckEjectUnhealthyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckEjectUnhealthyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckEjectUnhealthyValidationError) ErrorName() string { return "HealthCheckEjectUnhealthyValidationError" } // Error satisfies the builtin error interface func (e HealthCheckEjectUnhealthyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckEjectUnhealthy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckEjectUnhealthyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckEjectUnhealthyValidationError{} // Validate checks the field values on HealthCheckAddHealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckAddHealthy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckAddHealthy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckAddHealthyMultiError, or nil if none found. func (m *HealthCheckAddHealthy) ValidateAll() error { return m.validate(true) } func (m *HealthCheckAddHealthy) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FirstCheck if len(errors) > 0 { return HealthCheckAddHealthyMultiError(errors) } return nil } // HealthCheckAddHealthyMultiError is an error wrapping multiple validation // errors returned by HealthCheckAddHealthy.ValidateAll() if the designated // constraints aren't met. type HealthCheckAddHealthyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckAddHealthyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckAddHealthyMultiError) AllErrors() []error { return m } // HealthCheckAddHealthyValidationError is the validation error returned by // HealthCheckAddHealthy.Validate if the designated constraints aren't met. type HealthCheckAddHealthyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckAddHealthyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckAddHealthyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckAddHealthyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckAddHealthyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckAddHealthyValidationError) ErrorName() string { return "HealthCheckAddHealthyValidationError" } // Error satisfies the builtin error interface func (e HealthCheckAddHealthyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckAddHealthy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckAddHealthyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckAddHealthyValidationError{} // Validate checks the field values on HealthCheckFailure with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckFailure) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckFailure with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckFailureMultiError, or nil if none found. func (m *HealthCheckFailure) ValidateAll() error { return m.validate(true) } func (m *HealthCheckFailure) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HealthCheckFailureType_name[int32(m.GetFailureType())]; !ok { err := HealthCheckFailureValidationError{ field: "FailureType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for FirstCheck if len(errors) > 0 { return HealthCheckFailureMultiError(errors) } return nil } // HealthCheckFailureMultiError is an error wrapping multiple validation errors // returned by HealthCheckFailure.ValidateAll() if the designated constraints // aren't met. type HealthCheckFailureMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckFailureMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckFailureMultiError) AllErrors() []error { return m } // HealthCheckFailureValidationError is the validation error returned by // HealthCheckFailure.Validate if the designated constraints aren't met. type HealthCheckFailureValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckFailureValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckFailureValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckFailureValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckFailureValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckFailureValidationError) ErrorName() string { return "HealthCheckFailureValidationError" } // Error satisfies the builtin error interface func (e HealthCheckFailureValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckFailure.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckFailureValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckFailureValidationError{} // Validate checks the field values on DegradedHealthyHost with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DegradedHealthyHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DegradedHealthyHost with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DegradedHealthyHostMultiError, or nil if none found. func (m *DegradedHealthyHost) ValidateAll() error { return m.validate(true) } func (m *DegradedHealthyHost) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DegradedHealthyHostMultiError(errors) } return nil } // DegradedHealthyHostMultiError is an error wrapping multiple validation // errors returned by DegradedHealthyHost.ValidateAll() if the designated // constraints aren't met. type DegradedHealthyHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DegradedHealthyHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DegradedHealthyHostMultiError) AllErrors() []error { return m } // DegradedHealthyHostValidationError is the validation error returned by // DegradedHealthyHost.Validate if the designated constraints aren't met. type DegradedHealthyHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DegradedHealthyHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DegradedHealthyHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DegradedHealthyHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DegradedHealthyHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DegradedHealthyHostValidationError) ErrorName() string { return "DegradedHealthyHostValidationError" } // Error satisfies the builtin error interface func (e DegradedHealthyHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDegradedHealthyHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DegradedHealthyHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DegradedHealthyHostValidationError{} // Validate checks the field values on NoLongerDegradedHost with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *NoLongerDegradedHost) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NoLongerDegradedHost with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // NoLongerDegradedHostMultiError, or nil if none found. func (m *NoLongerDegradedHost) ValidateAll() error { return m.validate(true) } func (m *NoLongerDegradedHost) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return NoLongerDegradedHostMultiError(errors) } return nil } // NoLongerDegradedHostMultiError is an error wrapping multiple validation // errors returned by NoLongerDegradedHost.ValidateAll() if the designated // constraints aren't met. type NoLongerDegradedHostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NoLongerDegradedHostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NoLongerDegradedHostMultiError) AllErrors() []error { return m } // NoLongerDegradedHostValidationError is the validation error returned by // NoLongerDegradedHost.Validate if the designated constraints aren't met. type NoLongerDegradedHostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NoLongerDegradedHostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NoLongerDegradedHostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NoLongerDegradedHostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NoLongerDegradedHostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NoLongerDegradedHostValidationError) ErrorName() string { return "NoLongerDegradedHostValidationError" } // Error satisfies the builtin error interface func (e NoLongerDegradedHostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNoLongerDegradedHost.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NoLongerDegradedHostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NoLongerDegradedHostValidationError{} go-control-plane-0.12.0/envoy/data/dns/000077500000000000000000000000001454502223200176065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/dns/v2alpha/000077500000000000000000000000001454502223200211435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/dns/v2alpha/dns_table.pb.go000077500000000000000000000456461454502223200240470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/dns/v2alpha/dns_table.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This message contains the configuration for the DNS Filter if populated // from the control plane type DnsTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Control how many times envoy makes an attempt to forward a query to // an external server ExternalRetryCount uint32 `protobuf:"varint,1,opt,name=external_retry_count,json=externalRetryCount,proto3" json:"external_retry_count,omitempty"` // Fully qualified domain names for which Envoy will respond to queries VirtualDomains []*DnsTable_DnsVirtualDomain `protobuf:"bytes,2,rep,name=virtual_domains,json=virtualDomains,proto3" json:"virtual_domains,omitempty"` // This field serves to help Envoy determine whether it can authoritatively // answer a query for a name matching a suffix in this list. If the query // name does not match a suffix in this list, Envoy will forward // the query to an upstream DNS server KnownSuffixes []*matcher.StringMatcher `protobuf:"bytes,3,rep,name=known_suffixes,json=knownSuffixes,proto3" json:"known_suffixes,omitempty"` } func (x *DnsTable) Reset() { *x = DnsTable{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable) ProtoMessage() {} func (x *DnsTable) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable.ProtoReflect.Descriptor instead. func (*DnsTable) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v2alpha_dns_table_proto_rawDescGZIP(), []int{0} } func (x *DnsTable) GetExternalRetryCount() uint32 { if x != nil { return x.ExternalRetryCount } return 0 } func (x *DnsTable) GetVirtualDomains() []*DnsTable_DnsVirtualDomain { if x != nil { return x.VirtualDomains } return nil } func (x *DnsTable) GetKnownSuffixes() []*matcher.StringMatcher { if x != nil { return x.KnownSuffixes } return nil } // This message contains a list of IP addresses returned for a query for a known name type DnsTable_AddressList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field contains a well formed IP address that is returned // in the answer for a name query. The address field can be an // IPv4 or IPv6 address. Address family detection is done automatically // when Envoy parses the string. Since this field is repeated, // Envoy will return one randomly chosen entry from this list in the // DNS response. The random index will vary per query so that we prevent // clients pinning on a single address for a configured domain Address []string `protobuf:"bytes,1,rep,name=address,proto3" json:"address,omitempty"` } func (x *DnsTable_AddressList) Reset() { *x = DnsTable_AddressList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_AddressList) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_AddressList) ProtoMessage() {} func (x *DnsTable_AddressList) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_AddressList.ProtoReflect.Descriptor instead. func (*DnsTable_AddressList) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v2alpha_dns_table_proto_rawDescGZIP(), []int{0, 0} } func (x *DnsTable_AddressList) GetAddress() []string { if x != nil { return x.Address } return nil } // This message type is extensible and can contain a list of addresses // or dictate some other method for resolving the addresses for an // endpoint type DnsTable_DnsEndpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to EndpointConfig: // // *DnsTable_DnsEndpoint_AddressList EndpointConfig isDnsTable_DnsEndpoint_EndpointConfig `protobuf_oneof:"endpoint_config"` } func (x *DnsTable_DnsEndpoint) Reset() { *x = DnsTable_DnsEndpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsEndpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsEndpoint) ProtoMessage() {} func (x *DnsTable_DnsEndpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsEndpoint.ProtoReflect.Descriptor instead. func (*DnsTable_DnsEndpoint) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v2alpha_dns_table_proto_rawDescGZIP(), []int{0, 1} } func (m *DnsTable_DnsEndpoint) GetEndpointConfig() isDnsTable_DnsEndpoint_EndpointConfig { if m != nil { return m.EndpointConfig } return nil } func (x *DnsTable_DnsEndpoint) GetAddressList() *DnsTable_AddressList { if x, ok := x.GetEndpointConfig().(*DnsTable_DnsEndpoint_AddressList); ok { return x.AddressList } return nil } type isDnsTable_DnsEndpoint_EndpointConfig interface { isDnsTable_DnsEndpoint_EndpointConfig() } type DnsTable_DnsEndpoint_AddressList struct { AddressList *DnsTable_AddressList `protobuf:"bytes,1,opt,name=address_list,json=addressList,proto3,oneof"` } func (*DnsTable_DnsEndpoint_AddressList) isDnsTable_DnsEndpoint_EndpointConfig() {} type DnsTable_DnsVirtualDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The domain name for which Envoy will respond to query requests Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The configuration containing the method to determine the address // of this endpoint Endpoint *DnsTable_DnsEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Sets the TTL in dns answers from Envoy returned to the client AnswerTtl *duration.Duration `protobuf:"bytes,3,opt,name=answer_ttl,json=answerTtl,proto3" json:"answer_ttl,omitempty"` } func (x *DnsTable_DnsVirtualDomain) Reset() { *x = DnsTable_DnsVirtualDomain{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsVirtualDomain) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsVirtualDomain) ProtoMessage() {} func (x *DnsTable_DnsVirtualDomain) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsVirtualDomain.ProtoReflect.Descriptor instead. func (*DnsTable_DnsVirtualDomain) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v2alpha_dns_table_proto_rawDescGZIP(), []int{0, 2} } func (x *DnsTable_DnsVirtualDomain) GetName() string { if x != nil { return x.Name } return "" } func (x *DnsTable_DnsVirtualDomain) GetEndpoint() *DnsTable_DnsEndpoint { if x != nil { return x.Endpoint } return nil } func (x *DnsTable_DnsVirtualDomain) GetAnswerTtl() *duration.Duration { if x != nil { return x.AnswerTtl } return nil } var File_envoy_data_dns_v2alpha_dns_table_proto protoreflect.FileDescriptor var file_envoy_data_dns_v2alpha_dns_table_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x04, 0x0a, 0x08, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x1a, 0x37, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x08, 0x01, 0x22, 0x04, 0x72, 0x02, 0x10, 0x03, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x78, 0x0a, 0x0b, 0x44, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x16, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xc0, 0x01, 0x0a, 0x10, 0x44, 0x6e, 0x73, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x02, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x54, 0x74, 0x6c, 0x42, 0x80, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x04, 0x08, 0x01, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_dns_v2alpha_dns_table_proto_rawDescOnce sync.Once file_envoy_data_dns_v2alpha_dns_table_proto_rawDescData = file_envoy_data_dns_v2alpha_dns_table_proto_rawDesc ) func file_envoy_data_dns_v2alpha_dns_table_proto_rawDescGZIP() []byte { file_envoy_data_dns_v2alpha_dns_table_proto_rawDescOnce.Do(func() { file_envoy_data_dns_v2alpha_dns_table_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_dns_v2alpha_dns_table_proto_rawDescData) }) return file_envoy_data_dns_v2alpha_dns_table_proto_rawDescData } var file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_data_dns_v2alpha_dns_table_proto_goTypes = []interface{}{ (*DnsTable)(nil), // 0: envoy.data.dns.v2alpha.DnsTable (*DnsTable_AddressList)(nil), // 1: envoy.data.dns.v2alpha.DnsTable.AddressList (*DnsTable_DnsEndpoint)(nil), // 2: envoy.data.dns.v2alpha.DnsTable.DnsEndpoint (*DnsTable_DnsVirtualDomain)(nil), // 3: envoy.data.dns.v2alpha.DnsTable.DnsVirtualDomain (*matcher.StringMatcher)(nil), // 4: envoy.type.matcher.StringMatcher (*duration.Duration)(nil), // 5: google.protobuf.Duration } var file_envoy_data_dns_v2alpha_dns_table_proto_depIdxs = []int32{ 3, // 0: envoy.data.dns.v2alpha.DnsTable.virtual_domains:type_name -> envoy.data.dns.v2alpha.DnsTable.DnsVirtualDomain 4, // 1: envoy.data.dns.v2alpha.DnsTable.known_suffixes:type_name -> envoy.type.matcher.StringMatcher 1, // 2: envoy.data.dns.v2alpha.DnsTable.DnsEndpoint.address_list:type_name -> envoy.data.dns.v2alpha.DnsTable.AddressList 2, // 3: envoy.data.dns.v2alpha.DnsTable.DnsVirtualDomain.endpoint:type_name -> envoy.data.dns.v2alpha.DnsTable.DnsEndpoint 5, // 4: envoy.data.dns.v2alpha.DnsTable.DnsVirtualDomain.answer_ttl:type_name -> google.protobuf.Duration 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_data_dns_v2alpha_dns_table_proto_init() } func file_envoy_data_dns_v2alpha_dns_table_proto_init() { if File_envoy_data_dns_v2alpha_dns_table_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_AddressList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsEndpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsVirtualDomain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes[2].OneofWrappers = []interface{}{ (*DnsTable_DnsEndpoint_AddressList)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_dns_v2alpha_dns_table_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_dns_v2alpha_dns_table_proto_goTypes, DependencyIndexes: file_envoy_data_dns_v2alpha_dns_table_proto_depIdxs, MessageInfos: file_envoy_data_dns_v2alpha_dns_table_proto_msgTypes, }.Build() File_envoy_data_dns_v2alpha_dns_table_proto = out.File file_envoy_data_dns_v2alpha_dns_table_proto_rawDesc = nil file_envoy_data_dns_v2alpha_dns_table_proto_goTypes = nil file_envoy_data_dns_v2alpha_dns_table_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/dns/v2alpha/dns_table.pb.validate.go000077500000000000000000000436201454502223200256250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/dns/v2alpha/dns_table.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DnsTable with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DnsTable) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DnsTableMultiError, or nil // if none found. func (m *DnsTable) ValidateAll() error { return m.validate(true) } func (m *DnsTable) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ExternalRetryCount if len(m.GetVirtualDomains()) < 1 { err := DnsTableValidationError{ field: "VirtualDomains", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetVirtualDomains() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetKnownSuffixes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DnsTableMultiError(errors) } return nil } // DnsTableMultiError is an error wrapping multiple validation errors returned // by DnsTable.ValidateAll() if the designated constraints aren't met. type DnsTableMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTableMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTableMultiError) AllErrors() []error { return m } // DnsTableValidationError is the validation error returned by // DnsTable.Validate if the designated constraints aren't met. type DnsTableValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTableValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTableValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTableValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTableValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTableValidationError) ErrorName() string { return "DnsTableValidationError" } // Error satisfies the builtin error interface func (e DnsTableValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTableValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTableValidationError{} // Validate checks the field values on DnsTable_AddressList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_AddressList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_AddressList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_AddressListMultiError, or nil if none found. func (m *DnsTable_AddressList) ValidateAll() error { return m.validate(true) } func (m *DnsTable_AddressList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetAddress()) < 1 { err := DnsTable_AddressListValidationError{ field: "Address", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetAddress() { _, _ = idx, item if utf8.RuneCountInString(item) < 3 { err := DnsTable_AddressListValidationError{ field: fmt.Sprintf("Address[%v]", idx), reason: "value length must be at least 3 runes", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return DnsTable_AddressListMultiError(errors) } return nil } // DnsTable_AddressListMultiError is an error wrapping multiple validation // errors returned by DnsTable_AddressList.ValidateAll() if the designated // constraints aren't met. type DnsTable_AddressListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_AddressListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_AddressListMultiError) AllErrors() []error { return m } // DnsTable_AddressListValidationError is the validation error returned by // DnsTable_AddressList.Validate if the designated constraints aren't met. type DnsTable_AddressListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_AddressListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_AddressListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_AddressListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_AddressListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_AddressListValidationError) ErrorName() string { return "DnsTable_AddressListValidationError" } // Error satisfies the builtin error interface func (e DnsTable_AddressListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_AddressList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_AddressListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_AddressListValidationError{} // Validate checks the field values on DnsTable_DnsEndpoint with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsEndpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsEndpoint with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsEndpointMultiError, or nil if none found. func (m *DnsTable_DnsEndpoint) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsEndpoint) validate(all bool) error { if m == nil { return nil } var errors []error oneofEndpointConfigPresent := false switch v := m.EndpointConfig.(type) { case *DnsTable_DnsEndpoint_AddressList: if v == nil { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointConfigPresent = true if all { switch v := interface{}(m.GetAddressList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddressList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEndpointConfigPresent { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsTable_DnsEndpointMultiError(errors) } return nil } // DnsTable_DnsEndpointMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsEndpoint.ValidateAll() if the designated // constraints aren't met. type DnsTable_DnsEndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsEndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsEndpointMultiError) AllErrors() []error { return m } // DnsTable_DnsEndpointValidationError is the validation error returned by // DnsTable_DnsEndpoint.Validate if the designated constraints aren't met. type DnsTable_DnsEndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsEndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsEndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsEndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsEndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsEndpointValidationError) ErrorName() string { return "DnsTable_DnsEndpointValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsEndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsEndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsEndpointValidationError{} // Validate checks the field values on DnsTable_DnsVirtualDomain with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsVirtualDomain) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsVirtualDomain with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsVirtualDomainMultiError, or nil if none found. func (m *DnsTable_DnsVirtualDomain) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsVirtualDomain) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 2 { err := DnsTable_DnsVirtualDomainValidationError{ field: "Name", reason: "value length must be at least 2 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsVirtualDomain_Name_Pattern.MatchString(m.GetName()) { err := DnsTable_DnsVirtualDomainValidationError{ field: "Name", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } if d := m.GetAnswerTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsTable_DnsVirtualDomainValidationError{ field: "AnswerTtl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := DnsTable_DnsVirtualDomainValidationError{ field: "AnswerTtl", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return DnsTable_DnsVirtualDomainMultiError(errors) } return nil } // DnsTable_DnsVirtualDomainMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsVirtualDomain.ValidateAll() if the // designated constraints aren't met. type DnsTable_DnsVirtualDomainMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsVirtualDomainMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsVirtualDomainMultiError) AllErrors() []error { return m } // DnsTable_DnsVirtualDomainValidationError is the validation error returned by // DnsTable_DnsVirtualDomain.Validate if the designated constraints aren't met. type DnsTable_DnsVirtualDomainValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsVirtualDomainValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsVirtualDomainValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsVirtualDomainValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsVirtualDomainValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsVirtualDomainValidationError) ErrorName() string { return "DnsTable_DnsVirtualDomainValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsVirtualDomainValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsVirtualDomain.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsVirtualDomainValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsVirtualDomainValidationError{} var _DnsTable_DnsVirtualDomain_Name_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/data/dns/v3/000077500000000000000000000000001454502223200201365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/dns/v3/dns_table.pb.go000077500000000000000000001157431454502223200230360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/dns/v3/dns_table.proto package dnsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This message contains the configuration for the DNS Filter if populated // from the control plane type DnsTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Control how many times Envoy makes an attempt to forward a query to an external DNS server ExternalRetryCount uint32 `protobuf:"varint,1,opt,name=external_retry_count,json=externalRetryCount,proto3" json:"external_retry_count,omitempty"` // Fully qualified domain names for which Envoy will respond to DNS queries. By leaving this // list empty, Envoy will forward all queries to external resolvers VirtualDomains []*DnsTable_DnsVirtualDomain `protobuf:"bytes,2,rep,name=virtual_domains,json=virtualDomains,proto3" json:"virtual_domains,omitempty"` // This field is deprecated and no longer used in Envoy. The filter's behavior has changed // internally to use a different data structure allowing the filter to determine whether a // query is for known domain without the use of this field. // // This field serves to help Envoy determine whether it can authoritatively answer a query // for a name matching a suffix in this list. If the query name does not match a suffix in // this list, Envoy will forward the query to an upstream DNS server // // Deprecated: Marked as deprecated in envoy/data/dns/v3/dns_table.proto. KnownSuffixes []*v3.StringMatcher `protobuf:"bytes,3,rep,name=known_suffixes,json=knownSuffixes,proto3" json:"known_suffixes,omitempty"` } func (x *DnsTable) Reset() { *x = DnsTable{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable) ProtoMessage() {} func (x *DnsTable) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable.ProtoReflect.Descriptor instead. func (*DnsTable) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0} } func (x *DnsTable) GetExternalRetryCount() uint32 { if x != nil { return x.ExternalRetryCount } return 0 } func (x *DnsTable) GetVirtualDomains() []*DnsTable_DnsVirtualDomain { if x != nil { return x.VirtualDomains } return nil } // Deprecated: Marked as deprecated in envoy/data/dns/v3/dns_table.proto. func (x *DnsTable) GetKnownSuffixes() []*v3.StringMatcher { if x != nil { return x.KnownSuffixes } return nil } // This message contains a list of IP addresses returned for a query for a known name type DnsTable_AddressList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field contains a well formed IP address that is returned in the answer for a // name query. The address field can be an IPv4 or IPv6 address. Address family // detection is done automatically when Envoy parses the string. Since this field is // repeated, Envoy will return as many entries from this list in the DNS response while // keeping the response under 512 bytes Address []string `protobuf:"bytes,1,rep,name=address,proto3" json:"address,omitempty"` } func (x *DnsTable_AddressList) Reset() { *x = DnsTable_AddressList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_AddressList) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_AddressList) ProtoMessage() {} func (x *DnsTable_AddressList) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_AddressList.ProtoReflect.Descriptor instead. func (*DnsTable_AddressList) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 0} } func (x *DnsTable_AddressList) GetAddress() []string { if x != nil { return x.Address } return nil } // Specify the service protocol using a numeric or string value type DnsTable_DnsServiceProtocol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ProtocolConfig: // // *DnsTable_DnsServiceProtocol_Number // *DnsTable_DnsServiceProtocol_Name ProtocolConfig isDnsTable_DnsServiceProtocol_ProtocolConfig `protobuf_oneof:"protocol_config"` } func (x *DnsTable_DnsServiceProtocol) Reset() { *x = DnsTable_DnsServiceProtocol{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsServiceProtocol) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsServiceProtocol) ProtoMessage() {} func (x *DnsTable_DnsServiceProtocol) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsServiceProtocol.ProtoReflect.Descriptor instead. func (*DnsTable_DnsServiceProtocol) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 1} } func (m *DnsTable_DnsServiceProtocol) GetProtocolConfig() isDnsTable_DnsServiceProtocol_ProtocolConfig { if m != nil { return m.ProtocolConfig } return nil } func (x *DnsTable_DnsServiceProtocol) GetNumber() uint32 { if x, ok := x.GetProtocolConfig().(*DnsTable_DnsServiceProtocol_Number); ok { return x.Number } return 0 } func (x *DnsTable_DnsServiceProtocol) GetName() string { if x, ok := x.GetProtocolConfig().(*DnsTable_DnsServiceProtocol_Name); ok { return x.Name } return "" } type isDnsTable_DnsServiceProtocol_ProtocolConfig interface { isDnsTable_DnsServiceProtocol_ProtocolConfig() } type DnsTable_DnsServiceProtocol_Number struct { // Specify the protocol number for the service. Envoy will try to resolve the number to // the protocol name. For example, 6 will resolve to "tcp". Refer to: // https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml // for protocol names and numbers Number uint32 `protobuf:"varint,1,opt,name=number,proto3,oneof"` } type DnsTable_DnsServiceProtocol_Name struct { // Specify the protocol name for the service. Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` } func (*DnsTable_DnsServiceProtocol_Number) isDnsTable_DnsServiceProtocol_ProtocolConfig() {} func (*DnsTable_DnsServiceProtocol_Name) isDnsTable_DnsServiceProtocol_ProtocolConfig() {} // Specify the target for a given DNS service // [#next-free-field: 6] type DnsTable_DnsServiceTarget struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the name of the endpoint for the Service. The name is a hostname or a cluster // // Types that are assignable to EndpointType: // // *DnsTable_DnsServiceTarget_HostName // *DnsTable_DnsServiceTarget_ClusterName EndpointType isDnsTable_DnsServiceTarget_EndpointType `protobuf_oneof:"endpoint_type"` // The priority of the service record target Priority uint32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"` // The weight of the service record target Weight uint32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` // The port to which the service is bound. This value is optional if the target is a // cluster. Setting port to zero in this case makes the filter use the port value // from the cluster host Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` } func (x *DnsTable_DnsServiceTarget) Reset() { *x = DnsTable_DnsServiceTarget{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsServiceTarget) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsServiceTarget) ProtoMessage() {} func (x *DnsTable_DnsServiceTarget) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsServiceTarget.ProtoReflect.Descriptor instead. func (*DnsTable_DnsServiceTarget) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 2} } func (m *DnsTable_DnsServiceTarget) GetEndpointType() isDnsTable_DnsServiceTarget_EndpointType { if m != nil { return m.EndpointType } return nil } func (x *DnsTable_DnsServiceTarget) GetHostName() string { if x, ok := x.GetEndpointType().(*DnsTable_DnsServiceTarget_HostName); ok { return x.HostName } return "" } func (x *DnsTable_DnsServiceTarget) GetClusterName() string { if x, ok := x.GetEndpointType().(*DnsTable_DnsServiceTarget_ClusterName); ok { return x.ClusterName } return "" } func (x *DnsTable_DnsServiceTarget) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *DnsTable_DnsServiceTarget) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *DnsTable_DnsServiceTarget) GetPort() uint32 { if x != nil { return x.Port } return 0 } type isDnsTable_DnsServiceTarget_EndpointType interface { isDnsTable_DnsServiceTarget_EndpointType() } type DnsTable_DnsServiceTarget_HostName struct { // Use a resolvable hostname as the endpoint for a service. HostName string `protobuf:"bytes,1,opt,name=host_name,json=hostName,proto3,oneof"` } type DnsTable_DnsServiceTarget_ClusterName struct { // Use a cluster name as the endpoint for a service. ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3,oneof"` } func (*DnsTable_DnsServiceTarget_HostName) isDnsTable_DnsServiceTarget_EndpointType() {} func (*DnsTable_DnsServiceTarget_ClusterName) isDnsTable_DnsServiceTarget_EndpointType() {} // This message defines a service selection record returned for a service query in a domain type DnsTable_DnsService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the service without the protocol or domain name ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The service protocol. This can be specified as a string or the numeric value of the protocol Protocol *DnsTable_DnsServiceProtocol `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // The service entry time to live. This is independent from the DNS Answer record TTL Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` // The list of targets hosting the service Targets []*DnsTable_DnsServiceTarget `protobuf:"bytes,4,rep,name=targets,proto3" json:"targets,omitempty"` } func (x *DnsTable_DnsService) Reset() { *x = DnsTable_DnsService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsService) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsService) ProtoMessage() {} func (x *DnsTable_DnsService) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsService.ProtoReflect.Descriptor instead. func (*DnsTable_DnsService) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 3} } func (x *DnsTable_DnsService) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *DnsTable_DnsService) GetProtocol() *DnsTable_DnsServiceProtocol { if x != nil { return x.Protocol } return nil } func (x *DnsTable_DnsService) GetTtl() *duration.Duration { if x != nil { return x.Ttl } return nil } func (x *DnsTable_DnsService) GetTargets() []*DnsTable_DnsServiceTarget { if x != nil { return x.Targets } return nil } // Define a list of service records for a given service type DnsTable_DnsServiceList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Services []*DnsTable_DnsService `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` } func (x *DnsTable_DnsServiceList) Reset() { *x = DnsTable_DnsServiceList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsServiceList) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsServiceList) ProtoMessage() {} func (x *DnsTable_DnsServiceList) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsServiceList.ProtoReflect.Descriptor instead. func (*DnsTable_DnsServiceList) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 4} } func (x *DnsTable_DnsServiceList) GetServices() []*DnsTable_DnsService { if x != nil { return x.Services } return nil } type DnsTable_DnsEndpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to EndpointConfig: // // *DnsTable_DnsEndpoint_AddressList // *DnsTable_DnsEndpoint_ClusterName // *DnsTable_DnsEndpoint_ServiceList EndpointConfig isDnsTable_DnsEndpoint_EndpointConfig `protobuf_oneof:"endpoint_config"` } func (x *DnsTable_DnsEndpoint) Reset() { *x = DnsTable_DnsEndpoint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsEndpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsEndpoint) ProtoMessage() {} func (x *DnsTable_DnsEndpoint) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsEndpoint.ProtoReflect.Descriptor instead. func (*DnsTable_DnsEndpoint) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 5} } func (m *DnsTable_DnsEndpoint) GetEndpointConfig() isDnsTable_DnsEndpoint_EndpointConfig { if m != nil { return m.EndpointConfig } return nil } func (x *DnsTable_DnsEndpoint) GetAddressList() *DnsTable_AddressList { if x, ok := x.GetEndpointConfig().(*DnsTable_DnsEndpoint_AddressList); ok { return x.AddressList } return nil } func (x *DnsTable_DnsEndpoint) GetClusterName() string { if x, ok := x.GetEndpointConfig().(*DnsTable_DnsEndpoint_ClusterName); ok { return x.ClusterName } return "" } func (x *DnsTable_DnsEndpoint) GetServiceList() *DnsTable_DnsServiceList { if x, ok := x.GetEndpointConfig().(*DnsTable_DnsEndpoint_ServiceList); ok { return x.ServiceList } return nil } type isDnsTable_DnsEndpoint_EndpointConfig interface { isDnsTable_DnsEndpoint_EndpointConfig() } type DnsTable_DnsEndpoint_AddressList struct { // Define a list of addresses to return for the specified endpoint AddressList *DnsTable_AddressList `protobuf:"bytes,1,opt,name=address_list,json=addressList,proto3,oneof"` } type DnsTable_DnsEndpoint_ClusterName struct { // Define a cluster whose addresses are returned for the specified endpoint ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3,oneof"` } type DnsTable_DnsEndpoint_ServiceList struct { // Define a DNS Service List for the specified endpoint ServiceList *DnsTable_DnsServiceList `protobuf:"bytes,3,opt,name=service_list,json=serviceList,proto3,oneof"` } func (*DnsTable_DnsEndpoint_AddressList) isDnsTable_DnsEndpoint_EndpointConfig() {} func (*DnsTable_DnsEndpoint_ClusterName) isDnsTable_DnsEndpoint_EndpointConfig() {} func (*DnsTable_DnsEndpoint_ServiceList) isDnsTable_DnsEndpoint_EndpointConfig() {} type DnsTable_DnsVirtualDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A domain name for which Envoy will respond to query requests Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The configuration containing the method to determine the address of this endpoint Endpoint *DnsTable_DnsEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Sets the TTL in DNS answers from Envoy returned to the client. The default TTL is 300s AnswerTtl *duration.Duration `protobuf:"bytes,3,opt,name=answer_ttl,json=answerTtl,proto3" json:"answer_ttl,omitempty"` } func (x *DnsTable_DnsVirtualDomain) Reset() { *x = DnsTable_DnsVirtualDomain{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsTable_DnsVirtualDomain) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsTable_DnsVirtualDomain) ProtoMessage() {} func (x *DnsTable_DnsVirtualDomain) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_dns_v3_dns_table_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsTable_DnsVirtualDomain.ProtoReflect.Descriptor instead. func (*DnsTable_DnsVirtualDomain) Descriptor() ([]byte, []int) { return file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP(), []int{0, 6} } func (x *DnsTable_DnsVirtualDomain) GetName() string { if x != nil { return x.Name } return "" } func (x *DnsTable_DnsVirtualDomain) GetEndpoint() *DnsTable_DnsEndpoint { if x != nil { return x.Endpoint } return nil } func (x *DnsTable_DnsVirtualDomain) GetAnswerTtl() *duration.Duration { if x != nil { return x.AnswerTtl } return nil } var File_envoy_data_dns_v3_dns_table_proto protoreflect.FileDescriptor var file_envoy_data_dns_v3_dns_table_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x0c, 0x0a, 0x08, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x03, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x08, 0x01, 0x22, 0x04, 0x72, 0x02, 0x10, 0x03, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x72, 0x0a, 0x12, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x10, 0xff, 0x01, 0x48, 0x00, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xed, 0x01, 0x0a, 0x10, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xc0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x10, 0x80, 0x80, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x10, 0x80, 0x80, 0x04, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x10, 0x80, 0x80, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x92, 0x02, 0x0a, 0x0a, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x32, 0x02, 0x08, 0x01, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x50, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x5e, 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x0b, 0x44, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xf6, 0x01, 0x0a, 0x10, 0x44, 0x6e, 0x73, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x32, 0x02, 0x08, 0x1e, 0x52, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x54, 0x74, 0x6c, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x44, 0x6e, 0x73, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x6e, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_dns_v3_dns_table_proto_rawDescOnce sync.Once file_envoy_data_dns_v3_dns_table_proto_rawDescData = file_envoy_data_dns_v3_dns_table_proto_rawDesc ) func file_envoy_data_dns_v3_dns_table_proto_rawDescGZIP() []byte { file_envoy_data_dns_v3_dns_table_proto_rawDescOnce.Do(func() { file_envoy_data_dns_v3_dns_table_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_dns_v3_dns_table_proto_rawDescData) }) return file_envoy_data_dns_v3_dns_table_proto_rawDescData } var file_envoy_data_dns_v3_dns_table_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_data_dns_v3_dns_table_proto_goTypes = []interface{}{ (*DnsTable)(nil), // 0: envoy.data.dns.v3.DnsTable (*DnsTable_AddressList)(nil), // 1: envoy.data.dns.v3.DnsTable.AddressList (*DnsTable_DnsServiceProtocol)(nil), // 2: envoy.data.dns.v3.DnsTable.DnsServiceProtocol (*DnsTable_DnsServiceTarget)(nil), // 3: envoy.data.dns.v3.DnsTable.DnsServiceTarget (*DnsTable_DnsService)(nil), // 4: envoy.data.dns.v3.DnsTable.DnsService (*DnsTable_DnsServiceList)(nil), // 5: envoy.data.dns.v3.DnsTable.DnsServiceList (*DnsTable_DnsEndpoint)(nil), // 6: envoy.data.dns.v3.DnsTable.DnsEndpoint (*DnsTable_DnsVirtualDomain)(nil), // 7: envoy.data.dns.v3.DnsTable.DnsVirtualDomain (*v3.StringMatcher)(nil), // 8: envoy.type.matcher.v3.StringMatcher (*duration.Duration)(nil), // 9: google.protobuf.Duration } var file_envoy_data_dns_v3_dns_table_proto_depIdxs = []int32{ 7, // 0: envoy.data.dns.v3.DnsTable.virtual_domains:type_name -> envoy.data.dns.v3.DnsTable.DnsVirtualDomain 8, // 1: envoy.data.dns.v3.DnsTable.known_suffixes:type_name -> envoy.type.matcher.v3.StringMatcher 2, // 2: envoy.data.dns.v3.DnsTable.DnsService.protocol:type_name -> envoy.data.dns.v3.DnsTable.DnsServiceProtocol 9, // 3: envoy.data.dns.v3.DnsTable.DnsService.ttl:type_name -> google.protobuf.Duration 3, // 4: envoy.data.dns.v3.DnsTable.DnsService.targets:type_name -> envoy.data.dns.v3.DnsTable.DnsServiceTarget 4, // 5: envoy.data.dns.v3.DnsTable.DnsServiceList.services:type_name -> envoy.data.dns.v3.DnsTable.DnsService 1, // 6: envoy.data.dns.v3.DnsTable.DnsEndpoint.address_list:type_name -> envoy.data.dns.v3.DnsTable.AddressList 5, // 7: envoy.data.dns.v3.DnsTable.DnsEndpoint.service_list:type_name -> envoy.data.dns.v3.DnsTable.DnsServiceList 6, // 8: envoy.data.dns.v3.DnsTable.DnsVirtualDomain.endpoint:type_name -> envoy.data.dns.v3.DnsTable.DnsEndpoint 9, // 9: envoy.data.dns.v3.DnsTable.DnsVirtualDomain.answer_ttl:type_name -> google.protobuf.Duration 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_data_dns_v3_dns_table_proto_init() } func file_envoy_data_dns_v3_dns_table_proto_init() { if File_envoy_data_dns_v3_dns_table_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_dns_v3_dns_table_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_AddressList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsServiceProtocol); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsServiceTarget); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsServiceList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsEndpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsTable_DnsVirtualDomain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_dns_v3_dns_table_proto_msgTypes[2].OneofWrappers = []interface{}{ (*DnsTable_DnsServiceProtocol_Number)(nil), (*DnsTable_DnsServiceProtocol_Name)(nil), } file_envoy_data_dns_v3_dns_table_proto_msgTypes[3].OneofWrappers = []interface{}{ (*DnsTable_DnsServiceTarget_HostName)(nil), (*DnsTable_DnsServiceTarget_ClusterName)(nil), } file_envoy_data_dns_v3_dns_table_proto_msgTypes[6].OneofWrappers = []interface{}{ (*DnsTable_DnsEndpoint_AddressList)(nil), (*DnsTable_DnsEndpoint_ClusterName)(nil), (*DnsTable_DnsEndpoint_ServiceList)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_dns_v3_dns_table_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_dns_v3_dns_table_proto_goTypes, DependencyIndexes: file_envoy_data_dns_v3_dns_table_proto_depIdxs, MessageInfos: file_envoy_data_dns_v3_dns_table_proto_msgTypes, }.Build() File_envoy_data_dns_v3_dns_table_proto = out.File file_envoy_data_dns_v3_dns_table_proto_rawDesc = nil file_envoy_data_dns_v3_dns_table_proto_goTypes = nil file_envoy_data_dns_v3_dns_table_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/dns/v3/dns_table.pb.validate.go000077500000000000000000001200101454502223200246050ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/dns/v3/dns_table.proto package dnsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DnsTable with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DnsTable) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DnsTableMultiError, or nil // if none found. func (m *DnsTable) ValidateAll() error { return m.validate(true) } func (m *DnsTable) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetExternalRetryCount() > 3 { err := DnsTableValidationError{ field: "ExternalRetryCount", reason: "value must be less than or equal to 3", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetVirtualDomains() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTableValidationError{ field: fmt.Sprintf("VirtualDomains[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetKnownSuffixes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTableValidationError{ field: fmt.Sprintf("KnownSuffixes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DnsTableMultiError(errors) } return nil } // DnsTableMultiError is an error wrapping multiple validation errors returned // by DnsTable.ValidateAll() if the designated constraints aren't met. type DnsTableMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTableMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTableMultiError) AllErrors() []error { return m } // DnsTableValidationError is the validation error returned by // DnsTable.Validate if the designated constraints aren't met. type DnsTableValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTableValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTableValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTableValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTableValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTableValidationError) ErrorName() string { return "DnsTableValidationError" } // Error satisfies the builtin error interface func (e DnsTableValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTableValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTableValidationError{} // Validate checks the field values on DnsTable_AddressList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_AddressList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_AddressList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_AddressListMultiError, or nil if none found. func (m *DnsTable_AddressList) ValidateAll() error { return m.validate(true) } func (m *DnsTable_AddressList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetAddress()) < 1 { err := DnsTable_AddressListValidationError{ field: "Address", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetAddress() { _, _ = idx, item if utf8.RuneCountInString(item) < 3 { err := DnsTable_AddressListValidationError{ field: fmt.Sprintf("Address[%v]", idx), reason: "value length must be at least 3 runes", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return DnsTable_AddressListMultiError(errors) } return nil } // DnsTable_AddressListMultiError is an error wrapping multiple validation // errors returned by DnsTable_AddressList.ValidateAll() if the designated // constraints aren't met. type DnsTable_AddressListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_AddressListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_AddressListMultiError) AllErrors() []error { return m } // DnsTable_AddressListValidationError is the validation error returned by // DnsTable_AddressList.Validate if the designated constraints aren't met. type DnsTable_AddressListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_AddressListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_AddressListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_AddressListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_AddressListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_AddressListValidationError) ErrorName() string { return "DnsTable_AddressListValidationError" } // Error satisfies the builtin error interface func (e DnsTable_AddressListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_AddressList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_AddressListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_AddressListValidationError{} // Validate checks the field values on DnsTable_DnsServiceProtocol with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsServiceProtocol) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsServiceProtocol with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsServiceProtocolMultiError, or nil if none found. func (m *DnsTable_DnsServiceProtocol) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsServiceProtocol) validate(all bool) error { if m == nil { return nil } var errors []error oneofProtocolConfigPresent := false switch v := m.ProtocolConfig.(type) { case *DnsTable_DnsServiceProtocol_Number: if v == nil { err := DnsTable_DnsServiceProtocolValidationError{ field: "ProtocolConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolConfigPresent = true if m.GetNumber() >= 255 { err := DnsTable_DnsServiceProtocolValidationError{ field: "Number", reason: "value must be less than 255", } if !all { return err } errors = append(errors, err) } case *DnsTable_DnsServiceProtocol_Name: if v == nil { err := DnsTable_DnsServiceProtocolValidationError{ field: "ProtocolConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolConfigPresent = true if utf8.RuneCountInString(m.GetName()) < 1 { err := DnsTable_DnsServiceProtocolValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsServiceProtocol_Name_Pattern.MatchString(m.GetName()) { err := DnsTable_DnsServiceProtocolValidationError{ field: "Name", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofProtocolConfigPresent { err := DnsTable_DnsServiceProtocolValidationError{ field: "ProtocolConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsTable_DnsServiceProtocolMultiError(errors) } return nil } // DnsTable_DnsServiceProtocolMultiError is an error wrapping multiple // validation errors returned by DnsTable_DnsServiceProtocol.ValidateAll() if // the designated constraints aren't met. type DnsTable_DnsServiceProtocolMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsServiceProtocolMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsServiceProtocolMultiError) AllErrors() []error { return m } // DnsTable_DnsServiceProtocolValidationError is the validation error returned // by DnsTable_DnsServiceProtocol.Validate if the designated constraints // aren't met. type DnsTable_DnsServiceProtocolValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsServiceProtocolValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsServiceProtocolValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsServiceProtocolValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsServiceProtocolValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsServiceProtocolValidationError) ErrorName() string { return "DnsTable_DnsServiceProtocolValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsServiceProtocolValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsServiceProtocol.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsServiceProtocolValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsServiceProtocolValidationError{} var _DnsTable_DnsServiceProtocol_Name_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") // Validate checks the field values on DnsTable_DnsServiceTarget with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsServiceTarget) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsServiceTarget with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsServiceTargetMultiError, or nil if none found. func (m *DnsTable_DnsServiceTarget) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsServiceTarget) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPriority() >= 65536 { err := DnsTable_DnsServiceTargetValidationError{ field: "Priority", reason: "value must be less than 65536", } if !all { return err } errors = append(errors, err) } if m.GetWeight() >= 65536 { err := DnsTable_DnsServiceTargetValidationError{ field: "Weight", reason: "value must be less than 65536", } if !all { return err } errors = append(errors, err) } if m.GetPort() >= 65536 { err := DnsTable_DnsServiceTargetValidationError{ field: "Port", reason: "value must be less than 65536", } if !all { return err } errors = append(errors, err) } oneofEndpointTypePresent := false switch v := m.EndpointType.(type) { case *DnsTable_DnsServiceTarget_HostName: if v == nil { err := DnsTable_DnsServiceTargetValidationError{ field: "EndpointType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointTypePresent = true if utf8.RuneCountInString(m.GetHostName()) < 1 { err := DnsTable_DnsServiceTargetValidationError{ field: "HostName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsServiceTarget_HostName_Pattern.MatchString(m.GetHostName()) { err := DnsTable_DnsServiceTargetValidationError{ field: "HostName", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } case *DnsTable_DnsServiceTarget_ClusterName: if v == nil { err := DnsTable_DnsServiceTargetValidationError{ field: "EndpointType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointTypePresent = true if utf8.RuneCountInString(m.GetClusterName()) < 1 { err := DnsTable_DnsServiceTargetValidationError{ field: "ClusterName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsServiceTarget_ClusterName_Pattern.MatchString(m.GetClusterName()) { err := DnsTable_DnsServiceTargetValidationError{ field: "ClusterName", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofEndpointTypePresent { err := DnsTable_DnsServiceTargetValidationError{ field: "EndpointType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsTable_DnsServiceTargetMultiError(errors) } return nil } // DnsTable_DnsServiceTargetMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsServiceTarget.ValidateAll() if the // designated constraints aren't met. type DnsTable_DnsServiceTargetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsServiceTargetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsServiceTargetMultiError) AllErrors() []error { return m } // DnsTable_DnsServiceTargetValidationError is the validation error returned by // DnsTable_DnsServiceTarget.Validate if the designated constraints aren't met. type DnsTable_DnsServiceTargetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsServiceTargetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsServiceTargetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsServiceTargetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsServiceTargetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsServiceTargetValidationError) ErrorName() string { return "DnsTable_DnsServiceTargetValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsServiceTargetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsServiceTarget.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsServiceTargetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsServiceTargetValidationError{} var _DnsTable_DnsServiceTarget_HostName_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _DnsTable_DnsServiceTarget_ClusterName_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") // Validate checks the field values on DnsTable_DnsService with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsService with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsServiceMultiError, or nil if none found. func (m *DnsTable_DnsService) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsService) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetServiceName()) < 1 { err := DnsTable_DnsServiceValidationError{ field: "ServiceName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsService_ServiceName_Pattern.MatchString(m.GetServiceName()) { err := DnsTable_DnsServiceValidationError{ field: "ServiceName", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProtocol()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsServiceValidationError{ field: "Protocol", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsServiceValidationError{ field: "Protocol", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProtocol()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsServiceValidationError{ field: "Protocol", reason: "embedded message failed validation", cause: err, } } } if d := m.GetTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsTable_DnsServiceValidationError{ field: "Ttl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(1*time.Second + 0*time.Nanosecond) if dur < gte { err := DnsTable_DnsServiceValidationError{ field: "Ttl", reason: "value must be greater than or equal to 1s", } if !all { return err } errors = append(errors, err) } } } if len(m.GetTargets()) < 1 { err := DnsTable_DnsServiceValidationError{ field: "Targets", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTargets() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsServiceValidationError{ field: fmt.Sprintf("Targets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsServiceValidationError{ field: fmt.Sprintf("Targets[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsServiceValidationError{ field: fmt.Sprintf("Targets[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DnsTable_DnsServiceMultiError(errors) } return nil } // DnsTable_DnsServiceMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsService.ValidateAll() if the designated // constraints aren't met. type DnsTable_DnsServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsServiceMultiError) AllErrors() []error { return m } // DnsTable_DnsServiceValidationError is the validation error returned by // DnsTable_DnsService.Validate if the designated constraints aren't met. type DnsTable_DnsServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsServiceValidationError) ErrorName() string { return "DnsTable_DnsServiceValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsServiceValidationError{} var _DnsTable_DnsService_ServiceName_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") // Validate checks the field values on DnsTable_DnsServiceList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsServiceList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsServiceList with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsServiceListMultiError, or nil if none found. func (m *DnsTable_DnsServiceList) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsServiceList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetServices()) < 1 { err := DnsTable_DnsServiceListValidationError{ field: "Services", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetServices() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsServiceListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsServiceListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsServiceListValidationError{ field: fmt.Sprintf("Services[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DnsTable_DnsServiceListMultiError(errors) } return nil } // DnsTable_DnsServiceListMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsServiceList.ValidateAll() if the designated // constraints aren't met. type DnsTable_DnsServiceListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsServiceListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsServiceListMultiError) AllErrors() []error { return m } // DnsTable_DnsServiceListValidationError is the validation error returned by // DnsTable_DnsServiceList.Validate if the designated constraints aren't met. type DnsTable_DnsServiceListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsServiceListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsServiceListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsServiceListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsServiceListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsServiceListValidationError) ErrorName() string { return "DnsTable_DnsServiceListValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsServiceListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsServiceList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsServiceListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsServiceListValidationError{} // Validate checks the field values on DnsTable_DnsEndpoint with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsEndpoint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsEndpoint with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsEndpointMultiError, or nil if none found. func (m *DnsTable_DnsEndpoint) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsEndpoint) validate(all bool) error { if m == nil { return nil } var errors []error oneofEndpointConfigPresent := false switch v := m.EndpointConfig.(type) { case *DnsTable_DnsEndpoint_AddressList: if v == nil { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointConfigPresent = true if all { switch v := interface{}(m.GetAddressList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddressList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsEndpointValidationError{ field: "AddressList", reason: "embedded message failed validation", cause: err, } } } case *DnsTable_DnsEndpoint_ClusterName: if v == nil { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointConfigPresent = true // no validation rules for ClusterName case *DnsTable_DnsEndpoint_ServiceList: if v == nil { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEndpointConfigPresent = true if all { switch v := interface{}(m.GetServiceList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "ServiceList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsEndpointValidationError{ field: "ServiceList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServiceList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsEndpointValidationError{ field: "ServiceList", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEndpointConfigPresent { err := DnsTable_DnsEndpointValidationError{ field: "EndpointConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsTable_DnsEndpointMultiError(errors) } return nil } // DnsTable_DnsEndpointMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsEndpoint.ValidateAll() if the designated // constraints aren't met. type DnsTable_DnsEndpointMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsEndpointMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsEndpointMultiError) AllErrors() []error { return m } // DnsTable_DnsEndpointValidationError is the validation error returned by // DnsTable_DnsEndpoint.Validate if the designated constraints aren't met. type DnsTable_DnsEndpointValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsEndpointValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsEndpointValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsEndpointValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsEndpointValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsEndpointValidationError) ErrorName() string { return "DnsTable_DnsEndpointValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsEndpointValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsEndpoint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsEndpointValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsEndpointValidationError{} // Validate checks the field values on DnsTable_DnsVirtualDomain with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsTable_DnsVirtualDomain) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsTable_DnsVirtualDomain with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsTable_DnsVirtualDomainMultiError, or nil if none found. func (m *DnsTable_DnsVirtualDomain) ValidateAll() error { return m.validate(true) } func (m *DnsTable_DnsVirtualDomain) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := DnsTable_DnsVirtualDomainValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_DnsTable_DnsVirtualDomain_Name_Pattern.MatchString(m.GetName()) { err := DnsTable_DnsVirtualDomainValidationError{ field: "Name", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsTable_DnsVirtualDomainValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } if d := m.GetAnswerTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsTable_DnsVirtualDomainValidationError{ field: "AnswerTtl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(30*time.Second + 0*time.Nanosecond) if dur < gte { err := DnsTable_DnsVirtualDomainValidationError{ field: "AnswerTtl", reason: "value must be greater than or equal to 30s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return DnsTable_DnsVirtualDomainMultiError(errors) } return nil } // DnsTable_DnsVirtualDomainMultiError is an error wrapping multiple validation // errors returned by DnsTable_DnsVirtualDomain.ValidateAll() if the // designated constraints aren't met. type DnsTable_DnsVirtualDomainMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsTable_DnsVirtualDomainMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsTable_DnsVirtualDomainMultiError) AllErrors() []error { return m } // DnsTable_DnsVirtualDomainValidationError is the validation error returned by // DnsTable_DnsVirtualDomain.Validate if the designated constraints aren't met. type DnsTable_DnsVirtualDomainValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsTable_DnsVirtualDomainValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsTable_DnsVirtualDomainValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsTable_DnsVirtualDomainValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsTable_DnsVirtualDomainValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsTable_DnsVirtualDomainValidationError) ErrorName() string { return "DnsTable_DnsVirtualDomainValidationError" } // Error satisfies the builtin error interface func (e DnsTable_DnsVirtualDomainValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsTable_DnsVirtualDomain.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsTable_DnsVirtualDomainValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsTable_DnsVirtualDomainValidationError{} var _DnsTable_DnsVirtualDomain_Name_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/data/tap/000077500000000000000000000000001454502223200176065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/tap/v2alpha/000077500000000000000000000000001454502223200211435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/tap/v2alpha/common.pb.go000077500000000000000000000176361454502223200234020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v2alpha/common.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Wrapper for tapped body data. This includes HTTP request/response body, transport socket received // and transmitted data, etc. type Body struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to BodyType: // // *Body_AsBytes // *Body_AsString BodyType isBody_BodyType `protobuf_oneof:"body_type"` // Specifies whether body data has been truncated to fit within the specified // :ref:`max_buffered_rx_bytes // ` and // :ref:`max_buffered_tx_bytes // ` settings. Truncated bool `protobuf:"varint,3,opt,name=truncated,proto3" json:"truncated,omitempty"` } func (x *Body) Reset() { *x = Body{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*Body) ProtoMessage() {} func (x *Body) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Body.ProtoReflect.Descriptor instead. func (*Body) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_common_proto_rawDescGZIP(), []int{0} } func (m *Body) GetBodyType() isBody_BodyType { if m != nil { return m.BodyType } return nil } func (x *Body) GetAsBytes() []byte { if x, ok := x.GetBodyType().(*Body_AsBytes); ok { return x.AsBytes } return nil } func (x *Body) GetAsString() string { if x, ok := x.GetBodyType().(*Body_AsString); ok { return x.AsString } return "" } func (x *Body) GetTruncated() bool { if x != nil { return x.Truncated } return false } type isBody_BodyType interface { isBody_BodyType() } type Body_AsBytes struct { // Body data as bytes. By default, tap body data will be present in this field, as the proto // `bytes` type can contain any valid byte. AsBytes []byte `protobuf:"bytes,1,opt,name=as_bytes,json=asBytes,proto3,oneof"` } type Body_AsString struct { // Body data as string. This field is only used when the :ref:`JSON_BODY_AS_STRING // ` sink // format type is selected. See the documentation for that option for why this is useful. AsString string `protobuf:"bytes,2,opt,name=as_string,json=asString,proto3,oneof"` } func (*Body_AsBytes) isBody_BodyType() {} func (*Body_AsString) isBody_BodyType() {} var File_envoy_data_tap_v2alpha_common_proto protoreflect.FileDescriptor var file_envoy_data_tap_v2alpha_common_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x61, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x7c, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v2alpha_common_proto_rawDescOnce sync.Once file_envoy_data_tap_v2alpha_common_proto_rawDescData = file_envoy_data_tap_v2alpha_common_proto_rawDesc ) func file_envoy_data_tap_v2alpha_common_proto_rawDescGZIP() []byte { file_envoy_data_tap_v2alpha_common_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v2alpha_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v2alpha_common_proto_rawDescData) }) return file_envoy_data_tap_v2alpha_common_proto_rawDescData } var file_envoy_data_tap_v2alpha_common_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_data_tap_v2alpha_common_proto_goTypes = []interface{}{ (*Body)(nil), // 0: envoy.data.tap.v2alpha.Body } var file_envoy_data_tap_v2alpha_common_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_data_tap_v2alpha_common_proto_init() } func file_envoy_data_tap_v2alpha_common_proto_init() { if File_envoy_data_tap_v2alpha_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v2alpha_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Body); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v2alpha_common_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Body_AsBytes)(nil), (*Body_AsString)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v2alpha_common_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v2alpha_common_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v2alpha_common_proto_depIdxs, MessageInfos: file_envoy_data_tap_v2alpha_common_proto_msgTypes, }.Build() File_envoy_data_tap_v2alpha_common_proto = out.File file_envoy_data_tap_v2alpha_common_proto_rawDesc = nil file_envoy_data_tap_v2alpha_common_proto_goTypes = nil file_envoy_data_tap_v2alpha_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v2alpha/common.pb.validate.go000077500000000000000000000071321454502223200251600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v2alpha/common.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Body with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Body) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Body with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BodyMultiError, or nil if none found. func (m *Body) ValidateAll() error { return m.validate(true) } func (m *Body) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Truncated switch v := m.BodyType.(type) { case *Body_AsBytes: if v == nil { err := BodyValidationError{ field: "BodyType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for AsBytes case *Body_AsString: if v == nil { err := BodyValidationError{ field: "BodyType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for AsString default: _ = v // ensures v is used } if len(errors) > 0 { return BodyMultiError(errors) } return nil } // BodyMultiError is an error wrapping multiple validation errors returned by // Body.ValidateAll() if the designated constraints aren't met. type BodyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BodyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BodyMultiError) AllErrors() []error { return m } // BodyValidationError is the validation error returned by Body.Validate if the // designated constraints aren't met. type BodyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BodyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BodyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BodyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BodyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BodyValidationError) ErrorName() string { return "BodyValidationError" } // Error satisfies the builtin error interface func (e BodyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBody.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BodyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BodyValidationError{} go-control-plane-0.12.0/envoy/data/tap/v2alpha/http.pb.go000077500000000000000000000521351454502223200230620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v2alpha/http.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A fully buffered HTTP trace message. type HttpBufferedTrace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request message. Request *HttpBufferedTrace_Message `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` // Response message. Response *HttpBufferedTrace_Message `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` } func (x *HttpBufferedTrace) Reset() { *x = HttpBufferedTrace{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpBufferedTrace) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpBufferedTrace) ProtoMessage() {} func (x *HttpBufferedTrace) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpBufferedTrace.ProtoReflect.Descriptor instead. func (*HttpBufferedTrace) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_http_proto_rawDescGZIP(), []int{0} } func (x *HttpBufferedTrace) GetRequest() *HttpBufferedTrace_Message { if x != nil { return x.Request } return nil } func (x *HttpBufferedTrace) GetResponse() *HttpBufferedTrace_Message { if x != nil { return x.Response } return nil } // A streamed HTTP trace segment. Multiple segments make up a full trace. // [#next-free-field: 8] type HttpStreamedTraceSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Types that are assignable to MessagePiece: // // *HttpStreamedTraceSegment_RequestHeaders // *HttpStreamedTraceSegment_RequestBodyChunk // *HttpStreamedTraceSegment_RequestTrailers // *HttpStreamedTraceSegment_ResponseHeaders // *HttpStreamedTraceSegment_ResponseBodyChunk // *HttpStreamedTraceSegment_ResponseTrailers MessagePiece isHttpStreamedTraceSegment_MessagePiece `protobuf_oneof:"message_piece"` } func (x *HttpStreamedTraceSegment) Reset() { *x = HttpStreamedTraceSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpStreamedTraceSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpStreamedTraceSegment) ProtoMessage() {} func (x *HttpStreamedTraceSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpStreamedTraceSegment.ProtoReflect.Descriptor instead. func (*HttpStreamedTraceSegment) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_http_proto_rawDescGZIP(), []int{1} } func (x *HttpStreamedTraceSegment) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (m *HttpStreamedTraceSegment) GetMessagePiece() isHttpStreamedTraceSegment_MessagePiece { if m != nil { return m.MessagePiece } return nil } func (x *HttpStreamedTraceSegment) GetRequestHeaders() *core.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestHeaders); ok { return x.RequestHeaders } return nil } func (x *HttpStreamedTraceSegment) GetRequestBodyChunk() *Body { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestBodyChunk); ok { return x.RequestBodyChunk } return nil } func (x *HttpStreamedTraceSegment) GetRequestTrailers() *core.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestTrailers); ok { return x.RequestTrailers } return nil } func (x *HttpStreamedTraceSegment) GetResponseHeaders() *core.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseHeaders); ok { return x.ResponseHeaders } return nil } func (x *HttpStreamedTraceSegment) GetResponseBodyChunk() *Body { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseBodyChunk); ok { return x.ResponseBodyChunk } return nil } func (x *HttpStreamedTraceSegment) GetResponseTrailers() *core.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseTrailers); ok { return x.ResponseTrailers } return nil } type isHttpStreamedTraceSegment_MessagePiece interface { isHttpStreamedTraceSegment_MessagePiece() } type HttpStreamedTraceSegment_RequestHeaders struct { // Request headers. RequestHeaders *core.HeaderMap `protobuf:"bytes,2,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type HttpStreamedTraceSegment_RequestBodyChunk struct { // Request body chunk. RequestBodyChunk *Body `protobuf:"bytes,3,opt,name=request_body_chunk,json=requestBodyChunk,proto3,oneof"` } type HttpStreamedTraceSegment_RequestTrailers struct { // Request trailers. RequestTrailers *core.HeaderMap `protobuf:"bytes,4,opt,name=request_trailers,json=requestTrailers,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseHeaders struct { // Response headers. ResponseHeaders *core.HeaderMap `protobuf:"bytes,5,opt,name=response_headers,json=responseHeaders,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseBodyChunk struct { // Response body chunk. ResponseBodyChunk *Body `protobuf:"bytes,6,opt,name=response_body_chunk,json=responseBodyChunk,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseTrailers struct { // Response trailers. ResponseTrailers *core.HeaderMap `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"` } func (*HttpStreamedTraceSegment_RequestHeaders) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_RequestBodyChunk) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_RequestTrailers) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseHeaders) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseBodyChunk) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseTrailers) isHttpStreamedTraceSegment_MessagePiece() {} // HTTP message wrapper. type HttpBufferedTrace_Message struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Message headers. Headers []*core.HeaderValue `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` // Message body. Body *Body `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // Message trailers. Trailers []*core.HeaderValue `protobuf:"bytes,3,rep,name=trailers,proto3" json:"trailers,omitempty"` } func (x *HttpBufferedTrace_Message) Reset() { *x = HttpBufferedTrace_Message{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpBufferedTrace_Message) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpBufferedTrace_Message) ProtoMessage() {} func (x *HttpBufferedTrace_Message) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_http_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpBufferedTrace_Message.ProtoReflect.Descriptor instead. func (*HttpBufferedTrace_Message) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_http_proto_rawDescGZIP(), []int{0, 0} } func (x *HttpBufferedTrace_Message) GetHeaders() []*core.HeaderValue { if x != nil { return x.Headers } return nil } func (x *HttpBufferedTrace_Message) GetBody() *Body { if x != nil { return x.Body } return nil } func (x *HttpBufferedTrace_Message) GetTrailers() []*core.HeaderValue { if x != nil { return x.Trailers } return nil } var File_envoy_data_tap_v2alpha_http_proto protoreflect.FileDescriptor var file_envoy_data_tap_v2alpha_http_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x02, 0x0a, 0x11, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xb1, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x22, 0x90, 0x04, 0x0a, 0x18, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x49, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v2alpha_http_proto_rawDescOnce sync.Once file_envoy_data_tap_v2alpha_http_proto_rawDescData = file_envoy_data_tap_v2alpha_http_proto_rawDesc ) func file_envoy_data_tap_v2alpha_http_proto_rawDescGZIP() []byte { file_envoy_data_tap_v2alpha_http_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v2alpha_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v2alpha_http_proto_rawDescData) }) return file_envoy_data_tap_v2alpha_http_proto_rawDescData } var file_envoy_data_tap_v2alpha_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_data_tap_v2alpha_http_proto_goTypes = []interface{}{ (*HttpBufferedTrace)(nil), // 0: envoy.data.tap.v2alpha.HttpBufferedTrace (*HttpStreamedTraceSegment)(nil), // 1: envoy.data.tap.v2alpha.HttpStreamedTraceSegment (*HttpBufferedTrace_Message)(nil), // 2: envoy.data.tap.v2alpha.HttpBufferedTrace.Message (*core.HeaderMap)(nil), // 3: envoy.api.v2.core.HeaderMap (*Body)(nil), // 4: envoy.data.tap.v2alpha.Body (*core.HeaderValue)(nil), // 5: envoy.api.v2.core.HeaderValue } var file_envoy_data_tap_v2alpha_http_proto_depIdxs = []int32{ 2, // 0: envoy.data.tap.v2alpha.HttpBufferedTrace.request:type_name -> envoy.data.tap.v2alpha.HttpBufferedTrace.Message 2, // 1: envoy.data.tap.v2alpha.HttpBufferedTrace.response:type_name -> envoy.data.tap.v2alpha.HttpBufferedTrace.Message 3, // 2: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.request_headers:type_name -> envoy.api.v2.core.HeaderMap 4, // 3: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.request_body_chunk:type_name -> envoy.data.tap.v2alpha.Body 3, // 4: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.request_trailers:type_name -> envoy.api.v2.core.HeaderMap 3, // 5: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.response_headers:type_name -> envoy.api.v2.core.HeaderMap 4, // 6: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.response_body_chunk:type_name -> envoy.data.tap.v2alpha.Body 3, // 7: envoy.data.tap.v2alpha.HttpStreamedTraceSegment.response_trailers:type_name -> envoy.api.v2.core.HeaderMap 5, // 8: envoy.data.tap.v2alpha.HttpBufferedTrace.Message.headers:type_name -> envoy.api.v2.core.HeaderValue 4, // 9: envoy.data.tap.v2alpha.HttpBufferedTrace.Message.body:type_name -> envoy.data.tap.v2alpha.Body 5, // 10: envoy.data.tap.v2alpha.HttpBufferedTrace.Message.trailers:type_name -> envoy.api.v2.core.HeaderValue 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_data_tap_v2alpha_http_proto_init() } func file_envoy_data_tap_v2alpha_http_proto_init() { if File_envoy_data_tap_v2alpha_http_proto != nil { return } file_envoy_data_tap_v2alpha_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v2alpha_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpBufferedTrace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpStreamedTraceSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpBufferedTrace_Message); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v2alpha_http_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HttpStreamedTraceSegment_RequestHeaders)(nil), (*HttpStreamedTraceSegment_RequestBodyChunk)(nil), (*HttpStreamedTraceSegment_RequestTrailers)(nil), (*HttpStreamedTraceSegment_ResponseHeaders)(nil), (*HttpStreamedTraceSegment_ResponseBodyChunk)(nil), (*HttpStreamedTraceSegment_ResponseTrailers)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v2alpha_http_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v2alpha_http_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v2alpha_http_proto_depIdxs, MessageInfos: file_envoy_data_tap_v2alpha_http_proto_msgTypes, }.Build() File_envoy_data_tap_v2alpha_http_proto = out.File file_envoy_data_tap_v2alpha_http_proto_rawDesc = nil file_envoy_data_tap_v2alpha_http_proto_goTypes = nil file_envoy_data_tap_v2alpha_http_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v2alpha/http.pb.validate.go000077500000000000000000000512561454502223200246550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v2alpha/http.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpBufferedTrace with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HttpBufferedTrace) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpBufferedTraceMultiError, or nil if none found. func (m *HttpBufferedTrace) ValidateAll() error { return m.validate(true) } func (m *HttpBufferedTrace) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpBufferedTraceMultiError(errors) } return nil } // HttpBufferedTraceMultiError is an error wrapping multiple validation errors // returned by HttpBufferedTrace.ValidateAll() if the designated constraints // aren't met. type HttpBufferedTraceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpBufferedTraceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpBufferedTraceMultiError) AllErrors() []error { return m } // HttpBufferedTraceValidationError is the validation error returned by // HttpBufferedTrace.Validate if the designated constraints aren't met. type HttpBufferedTraceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpBufferedTraceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpBufferedTraceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpBufferedTraceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpBufferedTraceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpBufferedTraceValidationError) ErrorName() string { return "HttpBufferedTraceValidationError" } // Error satisfies the builtin error interface func (e HttpBufferedTraceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpBufferedTrace.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpBufferedTraceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpBufferedTraceValidationError{} // Validate checks the field values on HttpStreamedTraceSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpStreamedTraceSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpStreamedTraceSegmentMultiError, or nil if none found. func (m *HttpStreamedTraceSegment) ValidateAll() error { return m.validate(true) } func (m *HttpStreamedTraceSegment) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId switch v := m.MessagePiece.(type) { case *HttpStreamedTraceSegment_RequestHeaders: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_RequestBodyChunk: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestBodyChunk()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestBodyChunk()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_RequestTrailers: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseHeaders: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseBodyChunk: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseBodyChunk()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseBodyChunk()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseTrailers: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HttpStreamedTraceSegmentMultiError(errors) } return nil } // HttpStreamedTraceSegmentMultiError is an error wrapping multiple validation // errors returned by HttpStreamedTraceSegment.ValidateAll() if the designated // constraints aren't met. type HttpStreamedTraceSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpStreamedTraceSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpStreamedTraceSegmentMultiError) AllErrors() []error { return m } // HttpStreamedTraceSegmentValidationError is the validation error returned by // HttpStreamedTraceSegment.Validate if the designated constraints aren't met. type HttpStreamedTraceSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpStreamedTraceSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpStreamedTraceSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpStreamedTraceSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpStreamedTraceSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpStreamedTraceSegmentValidationError) ErrorName() string { return "HttpStreamedTraceSegmentValidationError" } // Error satisfies the builtin error interface func (e HttpStreamedTraceSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpStreamedTraceSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpStreamedTraceSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpStreamedTraceSegmentValidationError{} // Validate checks the field values on HttpBufferedTrace_Message with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpBufferedTrace_Message) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpBufferedTrace_Message with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpBufferedTrace_MessageMultiError, or nil if none found. func (m *HttpBufferedTrace_Message) ValidateAll() error { return m.validate(true) } func (m *HttpBufferedTrace_Message) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetTrailers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpBufferedTrace_MessageMultiError(errors) } return nil } // HttpBufferedTrace_MessageMultiError is an error wrapping multiple validation // errors returned by HttpBufferedTrace_Message.ValidateAll() if the // designated constraints aren't met. type HttpBufferedTrace_MessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpBufferedTrace_MessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpBufferedTrace_MessageMultiError) AllErrors() []error { return m } // HttpBufferedTrace_MessageValidationError is the validation error returned by // HttpBufferedTrace_Message.Validate if the designated constraints aren't met. type HttpBufferedTrace_MessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpBufferedTrace_MessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpBufferedTrace_MessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpBufferedTrace_MessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpBufferedTrace_MessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpBufferedTrace_MessageValidationError) ErrorName() string { return "HttpBufferedTrace_MessageValidationError" } // Error satisfies the builtin error interface func (e HttpBufferedTrace_MessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpBufferedTrace_Message.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpBufferedTrace_MessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpBufferedTrace_MessageValidationError{} go-control-plane-0.12.0/envoy/data/tap/v2alpha/transport.pb.go000077500000000000000000000725511454502223200241430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v2alpha/transport.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Connection properties. type Connection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Local address. LocalAddress *core.Address `protobuf:"bytes,2,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` // Remote address. RemoteAddress *core.Address `protobuf:"bytes,3,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"` } func (x *Connection) Reset() { *x = Connection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Connection) String() string { return protoimpl.X.MessageStringOf(x) } func (*Connection) ProtoMessage() {} func (x *Connection) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Connection.ProtoReflect.Descriptor instead. func (*Connection) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{0} } func (x *Connection) GetLocalAddress() *core.Address { if x != nil { return x.LocalAddress } return nil } func (x *Connection) GetRemoteAddress() *core.Address { if x != nil { return x.RemoteAddress } return nil } // Event in a socket trace. type SocketEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Read or write with content as bytes string. // // Types that are assignable to EventSelector: // // *SocketEvent_Read_ // *SocketEvent_Write_ // *SocketEvent_Closed_ EventSelector isSocketEvent_EventSelector `protobuf_oneof:"event_selector"` } func (x *SocketEvent) Reset() { *x = SocketEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent) ProtoMessage() {} func (x *SocketEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent.ProtoReflect.Descriptor instead. func (*SocketEvent) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{1} } func (x *SocketEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } func (m *SocketEvent) GetEventSelector() isSocketEvent_EventSelector { if m != nil { return m.EventSelector } return nil } func (x *SocketEvent) GetRead() *SocketEvent_Read { if x, ok := x.GetEventSelector().(*SocketEvent_Read_); ok { return x.Read } return nil } func (x *SocketEvent) GetWrite() *SocketEvent_Write { if x, ok := x.GetEventSelector().(*SocketEvent_Write_); ok { return x.Write } return nil } func (x *SocketEvent) GetClosed() *SocketEvent_Closed { if x, ok := x.GetEventSelector().(*SocketEvent_Closed_); ok { return x.Closed } return nil } type isSocketEvent_EventSelector interface { isSocketEvent_EventSelector() } type SocketEvent_Read_ struct { Read *SocketEvent_Read `protobuf:"bytes,2,opt,name=read,proto3,oneof"` } type SocketEvent_Write_ struct { Write *SocketEvent_Write `protobuf:"bytes,3,opt,name=write,proto3,oneof"` } type SocketEvent_Closed_ struct { Closed *SocketEvent_Closed `protobuf:"bytes,4,opt,name=closed,proto3,oneof"` } func (*SocketEvent_Read_) isSocketEvent_EventSelector() {} func (*SocketEvent_Write_) isSocketEvent_EventSelector() {} func (*SocketEvent_Closed_) isSocketEvent_EventSelector() {} // Sequence of read/write events that constitute a buffered trace on a socket. // [#next-free-field: 6] type SocketBufferedTrace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. Matches connection IDs used in Envoy logs. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Connection properties. Connection *Connection `protobuf:"bytes,2,opt,name=connection,proto3" json:"connection,omitempty"` // Sequence of observed events. Events []*SocketEvent `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` // Set to true if read events were truncated due to the :ref:`max_buffered_rx_bytes // ` setting. ReadTruncated bool `protobuf:"varint,4,opt,name=read_truncated,json=readTruncated,proto3" json:"read_truncated,omitempty"` // Set to true if write events were truncated due to the :ref:`max_buffered_tx_bytes // ` setting. WriteTruncated bool `protobuf:"varint,5,opt,name=write_truncated,json=writeTruncated,proto3" json:"write_truncated,omitempty"` } func (x *SocketBufferedTrace) Reset() { *x = SocketBufferedTrace{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketBufferedTrace) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketBufferedTrace) ProtoMessage() {} func (x *SocketBufferedTrace) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketBufferedTrace.ProtoReflect.Descriptor instead. func (*SocketBufferedTrace) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{2} } func (x *SocketBufferedTrace) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (x *SocketBufferedTrace) GetConnection() *Connection { if x != nil { return x.Connection } return nil } func (x *SocketBufferedTrace) GetEvents() []*SocketEvent { if x != nil { return x.Events } return nil } func (x *SocketBufferedTrace) GetReadTruncated() bool { if x != nil { return x.ReadTruncated } return false } func (x *SocketBufferedTrace) GetWriteTruncated() bool { if x != nil { return x.WriteTruncated } return false } // A streamed socket trace segment. Multiple segments make up a full trace. type SocketStreamedTraceSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. Matches connection IDs used in Envoy logs. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Types that are assignable to MessagePiece: // // *SocketStreamedTraceSegment_Connection // *SocketStreamedTraceSegment_Event MessagePiece isSocketStreamedTraceSegment_MessagePiece `protobuf_oneof:"message_piece"` } func (x *SocketStreamedTraceSegment) Reset() { *x = SocketStreamedTraceSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketStreamedTraceSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketStreamedTraceSegment) ProtoMessage() {} func (x *SocketStreamedTraceSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketStreamedTraceSegment.ProtoReflect.Descriptor instead. func (*SocketStreamedTraceSegment) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{3} } func (x *SocketStreamedTraceSegment) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (m *SocketStreamedTraceSegment) GetMessagePiece() isSocketStreamedTraceSegment_MessagePiece { if m != nil { return m.MessagePiece } return nil } func (x *SocketStreamedTraceSegment) GetConnection() *Connection { if x, ok := x.GetMessagePiece().(*SocketStreamedTraceSegment_Connection); ok { return x.Connection } return nil } func (x *SocketStreamedTraceSegment) GetEvent() *SocketEvent { if x, ok := x.GetMessagePiece().(*SocketStreamedTraceSegment_Event); ok { return x.Event } return nil } type isSocketStreamedTraceSegment_MessagePiece interface { isSocketStreamedTraceSegment_MessagePiece() } type SocketStreamedTraceSegment_Connection struct { // Connection properties. Connection *Connection `protobuf:"bytes,2,opt,name=connection,proto3,oneof"` } type SocketStreamedTraceSegment_Event struct { // Socket event. Event *SocketEvent `protobuf:"bytes,3,opt,name=event,proto3,oneof"` } func (*SocketStreamedTraceSegment_Connection) isSocketStreamedTraceSegment_MessagePiece() {} func (*SocketStreamedTraceSegment_Event) isSocketStreamedTraceSegment_MessagePiece() {} // Data read by Envoy from the transport socket. type SocketEvent_Read struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Binary data read. Data *Body `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *SocketEvent_Read) Reset() { *x = SocketEvent_Read{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Read) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Read) ProtoMessage() {} func (x *SocketEvent_Read) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Read.ProtoReflect.Descriptor instead. func (*SocketEvent_Read) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{1, 0} } func (x *SocketEvent_Read) GetData() *Body { if x != nil { return x.Data } return nil } // Data written by Envoy to the transport socket. type SocketEvent_Write struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Binary data written. Data *Body `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Stream was half closed after this write. EndStream bool `protobuf:"varint,2,opt,name=end_stream,json=endStream,proto3" json:"end_stream,omitempty"` } func (x *SocketEvent_Write) Reset() { *x = SocketEvent_Write{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Write) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Write) ProtoMessage() {} func (x *SocketEvent_Write) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Write.ProtoReflect.Descriptor instead. func (*SocketEvent_Write) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{1, 1} } func (x *SocketEvent_Write) GetData() *Body { if x != nil { return x.Data } return nil } func (x *SocketEvent_Write) GetEndStream() bool { if x != nil { return x.EndStream } return false } // The connection was closed. type SocketEvent_Closed struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SocketEvent_Closed) Reset() { *x = SocketEvent_Closed{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Closed) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Closed) ProtoMessage() {} func (x *SocketEvent_Closed) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_transport_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Closed.ProtoReflect.Descriptor instead. func (*SocketEvent_Closed) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP(), []int{1, 2} } var File_envoy_data_tap_v2alpha_transport_proto protoreflect.FileDescriptor var file_envoy_data_tap_v2alpha_transport_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xc0, 0x03, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3e, 0x0a, 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x41, 0x0a, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x1a, 0x38, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x58, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x08, 0x0a, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x81, 0x02, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x1a, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x42, 0x7f, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v2alpha_transport_proto_rawDescOnce sync.Once file_envoy_data_tap_v2alpha_transport_proto_rawDescData = file_envoy_data_tap_v2alpha_transport_proto_rawDesc ) func file_envoy_data_tap_v2alpha_transport_proto_rawDescGZIP() []byte { file_envoy_data_tap_v2alpha_transport_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v2alpha_transport_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v2alpha_transport_proto_rawDescData) }) return file_envoy_data_tap_v2alpha_transport_proto_rawDescData } var file_envoy_data_tap_v2alpha_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_data_tap_v2alpha_transport_proto_goTypes = []interface{}{ (*Connection)(nil), // 0: envoy.data.tap.v2alpha.Connection (*SocketEvent)(nil), // 1: envoy.data.tap.v2alpha.SocketEvent (*SocketBufferedTrace)(nil), // 2: envoy.data.tap.v2alpha.SocketBufferedTrace (*SocketStreamedTraceSegment)(nil), // 3: envoy.data.tap.v2alpha.SocketStreamedTraceSegment (*SocketEvent_Read)(nil), // 4: envoy.data.tap.v2alpha.SocketEvent.Read (*SocketEvent_Write)(nil), // 5: envoy.data.tap.v2alpha.SocketEvent.Write (*SocketEvent_Closed)(nil), // 6: envoy.data.tap.v2alpha.SocketEvent.Closed (*core.Address)(nil), // 7: envoy.api.v2.core.Address (*timestamp.Timestamp)(nil), // 8: google.protobuf.Timestamp (*Body)(nil), // 9: envoy.data.tap.v2alpha.Body } var file_envoy_data_tap_v2alpha_transport_proto_depIdxs = []int32{ 7, // 0: envoy.data.tap.v2alpha.Connection.local_address:type_name -> envoy.api.v2.core.Address 7, // 1: envoy.data.tap.v2alpha.Connection.remote_address:type_name -> envoy.api.v2.core.Address 8, // 2: envoy.data.tap.v2alpha.SocketEvent.timestamp:type_name -> google.protobuf.Timestamp 4, // 3: envoy.data.tap.v2alpha.SocketEvent.read:type_name -> envoy.data.tap.v2alpha.SocketEvent.Read 5, // 4: envoy.data.tap.v2alpha.SocketEvent.write:type_name -> envoy.data.tap.v2alpha.SocketEvent.Write 6, // 5: envoy.data.tap.v2alpha.SocketEvent.closed:type_name -> envoy.data.tap.v2alpha.SocketEvent.Closed 0, // 6: envoy.data.tap.v2alpha.SocketBufferedTrace.connection:type_name -> envoy.data.tap.v2alpha.Connection 1, // 7: envoy.data.tap.v2alpha.SocketBufferedTrace.events:type_name -> envoy.data.tap.v2alpha.SocketEvent 0, // 8: envoy.data.tap.v2alpha.SocketStreamedTraceSegment.connection:type_name -> envoy.data.tap.v2alpha.Connection 1, // 9: envoy.data.tap.v2alpha.SocketStreamedTraceSegment.event:type_name -> envoy.data.tap.v2alpha.SocketEvent 9, // 10: envoy.data.tap.v2alpha.SocketEvent.Read.data:type_name -> envoy.data.tap.v2alpha.Body 9, // 11: envoy.data.tap.v2alpha.SocketEvent.Write.data:type_name -> envoy.data.tap.v2alpha.Body 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_data_tap_v2alpha_transport_proto_init() } func file_envoy_data_tap_v2alpha_transport_proto_init() { if File_envoy_data_tap_v2alpha_transport_proto != nil { return } file_envoy_data_tap_v2alpha_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v2alpha_transport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Connection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketBufferedTrace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketStreamedTraceSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Read); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Write); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Closed); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[1].OneofWrappers = []interface{}{ (*SocketEvent_Read_)(nil), (*SocketEvent_Write_)(nil), (*SocketEvent_Closed_)(nil), } file_envoy_data_tap_v2alpha_transport_proto_msgTypes[3].OneofWrappers = []interface{}{ (*SocketStreamedTraceSegment_Connection)(nil), (*SocketStreamedTraceSegment_Event)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v2alpha_transport_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v2alpha_transport_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v2alpha_transport_proto_depIdxs, MessageInfos: file_envoy_data_tap_v2alpha_transport_proto_msgTypes, }.Build() File_envoy_data_tap_v2alpha_transport_proto = out.File file_envoy_data_tap_v2alpha_transport_proto_rawDesc = nil file_envoy_data_tap_v2alpha_transport_proto_goTypes = nil file_envoy_data_tap_v2alpha_transport_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v2alpha/transport.pb.validate.go000077500000000000000000000764461454502223200257420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v2alpha/transport.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Connection with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Connection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Connection with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConnectionMultiError, or // nil if none found. func (m *Connection) ValidateAll() error { return m.validate(true) } func (m *Connection) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConnectionMultiError(errors) } return nil } // ConnectionMultiError is an error wrapping multiple validation errors // returned by Connection.ValidateAll() if the designated constraints aren't met. type ConnectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConnectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConnectionMultiError) AllErrors() []error { return m } // ConnectionValidationError is the validation error returned by // Connection.Validate if the designated constraints aren't met. type ConnectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConnectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConnectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConnectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConnectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConnectionValidationError) ErrorName() string { return "ConnectionValidationError" } // Error satisfies the builtin error interface func (e ConnectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConnection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConnectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConnectionValidationError{} // Validate checks the field values on SocketEvent with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketEventMultiError, or // nil if none found. func (m *SocketEvent) ValidateAll() error { return m.validate(true) } func (m *SocketEvent) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } switch v := m.EventSelector.(type) { case *SocketEvent_Read_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRead()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRead()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, } } } case *SocketEvent_Write_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetWrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, } } } case *SocketEvent_Closed_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClosed()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClosed()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SocketEventMultiError(errors) } return nil } // SocketEventMultiError is an error wrapping multiple validation errors // returned by SocketEvent.ValidateAll() if the designated constraints aren't met. type SocketEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEventMultiError) AllErrors() []error { return m } // SocketEventValidationError is the validation error returned by // SocketEvent.Validate if the designated constraints aren't met. type SocketEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEventValidationError) ErrorName() string { return "SocketEventValidationError" } // Error satisfies the builtin error interface func (e SocketEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEventValidationError{} // Validate checks the field values on SocketBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketBufferedTrace) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketBufferedTraceMultiError, or nil if none found. func (m *SocketBufferedTrace) ValidateAll() error { return m.validate(true) } func (m *SocketBufferedTrace) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId if all { switch v := interface{}(m.GetConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEvents() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for ReadTruncated // no validation rules for WriteTruncated if len(errors) > 0 { return SocketBufferedTraceMultiError(errors) } return nil } // SocketBufferedTraceMultiError is an error wrapping multiple validation // errors returned by SocketBufferedTrace.ValidateAll() if the designated // constraints aren't met. type SocketBufferedTraceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketBufferedTraceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketBufferedTraceMultiError) AllErrors() []error { return m } // SocketBufferedTraceValidationError is the validation error returned by // SocketBufferedTrace.Validate if the designated constraints aren't met. type SocketBufferedTraceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketBufferedTraceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketBufferedTraceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketBufferedTraceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketBufferedTraceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketBufferedTraceValidationError) ErrorName() string { return "SocketBufferedTraceValidationError" } // Error satisfies the builtin error interface func (e SocketBufferedTraceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketBufferedTrace.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketBufferedTraceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketBufferedTraceValidationError{} // Validate checks the field values on SocketStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketStreamedTraceSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketStreamedTraceSegmentMultiError, or nil if none found. func (m *SocketStreamedTraceSegment) ValidateAll() error { return m.validate(true) } func (m *SocketStreamedTraceSegment) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId switch v := m.MessagePiece.(type) { case *SocketStreamedTraceSegment_Connection: if v == nil { err := SocketStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, } } } case *SocketStreamedTraceSegment_Event: if v == nil { err := SocketStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SocketStreamedTraceSegmentMultiError(errors) } return nil } // SocketStreamedTraceSegmentMultiError is an error wrapping multiple // validation errors returned by SocketStreamedTraceSegment.ValidateAll() if // the designated constraints aren't met. type SocketStreamedTraceSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketStreamedTraceSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketStreamedTraceSegmentMultiError) AllErrors() []error { return m } // SocketStreamedTraceSegmentValidationError is the validation error returned // by SocketStreamedTraceSegment.Validate if the designated constraints aren't met. type SocketStreamedTraceSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketStreamedTraceSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketStreamedTraceSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketStreamedTraceSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketStreamedTraceSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketStreamedTraceSegmentValidationError) ErrorName() string { return "SocketStreamedTraceSegmentValidationError" } // Error satisfies the builtin error interface func (e SocketStreamedTraceSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketStreamedTraceSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketStreamedTraceSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketStreamedTraceSegmentValidationError{} // Validate checks the field values on SocketEvent_Read with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Read) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Read with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_ReadMultiError, or nil if none found. func (m *SocketEvent_Read) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Read) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SocketEvent_ReadMultiError(errors) } return nil } // SocketEvent_ReadMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Read.ValidateAll() if the designated constraints // aren't met. type SocketEvent_ReadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_ReadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_ReadMultiError) AllErrors() []error { return m } // SocketEvent_ReadValidationError is the validation error returned by // SocketEvent_Read.Validate if the designated constraints aren't met. type SocketEvent_ReadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_ReadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_ReadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_ReadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_ReadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_ReadValidationError) ErrorName() string { return "SocketEvent_ReadValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_ReadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Read.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_ReadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_ReadValidationError{} // Validate checks the field values on SocketEvent_Write with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Write) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Write with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_WriteMultiError, or nil if none found. func (m *SocketEvent_Write) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Write) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EndStream if len(errors) > 0 { return SocketEvent_WriteMultiError(errors) } return nil } // SocketEvent_WriteMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Write.ValidateAll() if the designated constraints // aren't met. type SocketEvent_WriteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_WriteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_WriteMultiError) AllErrors() []error { return m } // SocketEvent_WriteValidationError is the validation error returned by // SocketEvent_Write.Validate if the designated constraints aren't met. type SocketEvent_WriteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_WriteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_WriteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_WriteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_WriteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_WriteValidationError) ErrorName() string { return "SocketEvent_WriteValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_WriteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Write.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_WriteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_WriteValidationError{} // Validate checks the field values on SocketEvent_Closed with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Closed) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Closed with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_ClosedMultiError, or nil if none found. func (m *SocketEvent_Closed) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Closed) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SocketEvent_ClosedMultiError(errors) } return nil } // SocketEvent_ClosedMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Closed.ValidateAll() if the designated constraints // aren't met. type SocketEvent_ClosedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_ClosedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_ClosedMultiError) AllErrors() []error { return m } // SocketEvent_ClosedValidationError is the validation error returned by // SocketEvent_Closed.Validate if the designated constraints aren't met. type SocketEvent_ClosedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_ClosedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_ClosedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_ClosedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_ClosedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_ClosedValidationError) ErrorName() string { return "SocketEvent_ClosedValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_ClosedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Closed.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_ClosedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_ClosedValidationError{} go-control-plane-0.12.0/envoy/data/tap/v2alpha/wrapper.pb.go000077500000000000000000000310471454502223200235620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v2alpha/wrapper.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Wrapper for all fully buffered and streamed tap traces that Envoy emits. This is required for // sending traces over gRPC APIs or more easily persisting binary messages to files. type TraceWrapper struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Trace: // // *TraceWrapper_HttpBufferedTrace // *TraceWrapper_HttpStreamedTraceSegment // *TraceWrapper_SocketBufferedTrace // *TraceWrapper_SocketStreamedTraceSegment Trace isTraceWrapper_Trace `protobuf_oneof:"trace"` } func (x *TraceWrapper) Reset() { *x = TraceWrapper{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceWrapper) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceWrapper) ProtoMessage() {} func (x *TraceWrapper) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceWrapper.ProtoReflect.Descriptor instead. func (*TraceWrapper) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v2alpha_wrapper_proto_rawDescGZIP(), []int{0} } func (m *TraceWrapper) GetTrace() isTraceWrapper_Trace { if m != nil { return m.Trace } return nil } func (x *TraceWrapper) GetHttpBufferedTrace() *HttpBufferedTrace { if x, ok := x.GetTrace().(*TraceWrapper_HttpBufferedTrace); ok { return x.HttpBufferedTrace } return nil } func (x *TraceWrapper) GetHttpStreamedTraceSegment() *HttpStreamedTraceSegment { if x, ok := x.GetTrace().(*TraceWrapper_HttpStreamedTraceSegment); ok { return x.HttpStreamedTraceSegment } return nil } func (x *TraceWrapper) GetSocketBufferedTrace() *SocketBufferedTrace { if x, ok := x.GetTrace().(*TraceWrapper_SocketBufferedTrace); ok { return x.SocketBufferedTrace } return nil } func (x *TraceWrapper) GetSocketStreamedTraceSegment() *SocketStreamedTraceSegment { if x, ok := x.GetTrace().(*TraceWrapper_SocketStreamedTraceSegment); ok { return x.SocketStreamedTraceSegment } return nil } type isTraceWrapper_Trace interface { isTraceWrapper_Trace() } type TraceWrapper_HttpBufferedTrace struct { // An HTTP buffered tap trace. HttpBufferedTrace *HttpBufferedTrace `protobuf:"bytes,1,opt,name=http_buffered_trace,json=httpBufferedTrace,proto3,oneof"` } type TraceWrapper_HttpStreamedTraceSegment struct { // An HTTP streamed tap trace segment. HttpStreamedTraceSegment *HttpStreamedTraceSegment `protobuf:"bytes,2,opt,name=http_streamed_trace_segment,json=httpStreamedTraceSegment,proto3,oneof"` } type TraceWrapper_SocketBufferedTrace struct { // A socket buffered tap trace. SocketBufferedTrace *SocketBufferedTrace `protobuf:"bytes,3,opt,name=socket_buffered_trace,json=socketBufferedTrace,proto3,oneof"` } type TraceWrapper_SocketStreamedTraceSegment struct { // A socket streamed tap trace segment. SocketStreamedTraceSegment *SocketStreamedTraceSegment `protobuf:"bytes,4,opt,name=socket_streamed_trace_segment,json=socketStreamedTraceSegment,proto3,oneof"` } func (*TraceWrapper_HttpBufferedTrace) isTraceWrapper_Trace() {} func (*TraceWrapper_HttpStreamedTraceSegment) isTraceWrapper_Trace() {} func (*TraceWrapper_SocketBufferedTrace) isTraceWrapper_Trace() {} func (*TraceWrapper_SocketStreamedTraceSegment) isTraceWrapper_Trace() {} var File_envoy_data_tap_v2alpha_wrapper_proto protoreflect.FileDescriptor var file_envoy_data_tap_v2alpha_wrapper_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x03, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x15, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x13, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x7d, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v2alpha_wrapper_proto_rawDescOnce sync.Once file_envoy_data_tap_v2alpha_wrapper_proto_rawDescData = file_envoy_data_tap_v2alpha_wrapper_proto_rawDesc ) func file_envoy_data_tap_v2alpha_wrapper_proto_rawDescGZIP() []byte { file_envoy_data_tap_v2alpha_wrapper_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v2alpha_wrapper_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v2alpha_wrapper_proto_rawDescData) }) return file_envoy_data_tap_v2alpha_wrapper_proto_rawDescData } var file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_data_tap_v2alpha_wrapper_proto_goTypes = []interface{}{ (*TraceWrapper)(nil), // 0: envoy.data.tap.v2alpha.TraceWrapper (*HttpBufferedTrace)(nil), // 1: envoy.data.tap.v2alpha.HttpBufferedTrace (*HttpStreamedTraceSegment)(nil), // 2: envoy.data.tap.v2alpha.HttpStreamedTraceSegment (*SocketBufferedTrace)(nil), // 3: envoy.data.tap.v2alpha.SocketBufferedTrace (*SocketStreamedTraceSegment)(nil), // 4: envoy.data.tap.v2alpha.SocketStreamedTraceSegment } var file_envoy_data_tap_v2alpha_wrapper_proto_depIdxs = []int32{ 1, // 0: envoy.data.tap.v2alpha.TraceWrapper.http_buffered_trace:type_name -> envoy.data.tap.v2alpha.HttpBufferedTrace 2, // 1: envoy.data.tap.v2alpha.TraceWrapper.http_streamed_trace_segment:type_name -> envoy.data.tap.v2alpha.HttpStreamedTraceSegment 3, // 2: envoy.data.tap.v2alpha.TraceWrapper.socket_buffered_trace:type_name -> envoy.data.tap.v2alpha.SocketBufferedTrace 4, // 3: envoy.data.tap.v2alpha.TraceWrapper.socket_streamed_trace_segment:type_name -> envoy.data.tap.v2alpha.SocketStreamedTraceSegment 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_data_tap_v2alpha_wrapper_proto_init() } func file_envoy_data_tap_v2alpha_wrapper_proto_init() { if File_envoy_data_tap_v2alpha_wrapper_proto != nil { return } file_envoy_data_tap_v2alpha_http_proto_init() file_envoy_data_tap_v2alpha_transport_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceWrapper); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes[0].OneofWrappers = []interface{}{ (*TraceWrapper_HttpBufferedTrace)(nil), (*TraceWrapper_HttpStreamedTraceSegment)(nil), (*TraceWrapper_SocketBufferedTrace)(nil), (*TraceWrapper_SocketStreamedTraceSegment)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v2alpha_wrapper_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v2alpha_wrapper_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v2alpha_wrapper_proto_depIdxs, MessageInfos: file_envoy_data_tap_v2alpha_wrapper_proto_msgTypes, }.Build() File_envoy_data_tap_v2alpha_wrapper_proto = out.File file_envoy_data_tap_v2alpha_wrapper_proto_rawDesc = nil file_envoy_data_tap_v2alpha_wrapper_proto_goTypes = nil file_envoy_data_tap_v2alpha_wrapper_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v2alpha/wrapper.pb.validate.go000077500000000000000000000201511454502223200253440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v2alpha/wrapper.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TraceWrapper with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TraceWrapper) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceWrapper with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TraceWrapperMultiError, or // nil if none found. func (m *TraceWrapper) ValidateAll() error { return m.validate(true) } func (m *TraceWrapper) validate(all bool) error { if m == nil { return nil } var errors []error oneofTracePresent := false switch v := m.Trace.(type) { case *TraceWrapper_HttpBufferedTrace: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetHttpBufferedTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpBufferedTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_HttpStreamedTraceSegment: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetHttpStreamedTraceSegment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpStreamedTraceSegment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_SocketBufferedTrace: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetSocketBufferedTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketBufferedTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_SocketStreamedTraceSegment: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetSocketStreamedTraceSegment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketStreamedTraceSegment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTracePresent { err := TraceWrapperValidationError{ field: "Trace", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TraceWrapperMultiError(errors) } return nil } // TraceWrapperMultiError is an error wrapping multiple validation errors // returned by TraceWrapper.ValidateAll() if the designated constraints aren't met. type TraceWrapperMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceWrapperMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceWrapperMultiError) AllErrors() []error { return m } // TraceWrapperValidationError is the validation error returned by // TraceWrapper.Validate if the designated constraints aren't met. type TraceWrapperValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceWrapperValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceWrapperValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceWrapperValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceWrapperValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceWrapperValidationError) ErrorName() string { return "TraceWrapperValidationError" } // Error satisfies the builtin error interface func (e TraceWrapperValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceWrapper.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceWrapperValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceWrapperValidationError{} go-control-plane-0.12.0/envoy/data/tap/v3/000077500000000000000000000000001454502223200201365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/data/tap/v3/common.pb.go000077500000000000000000000271411454502223200223650ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v3/common.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Wrapper for tapped body data. This includes HTTP request/response body, transport socket received // and transmitted data, etc. type Body struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to BodyType: // // *Body_AsBytes // *Body_AsString BodyType isBody_BodyType `protobuf_oneof:"body_type"` // Specifies whether body data has been truncated to fit within the specified // :ref:`max_buffered_rx_bytes // ` and // :ref:`max_buffered_tx_bytes // ` settings. Truncated bool `protobuf:"varint,3,opt,name=truncated,proto3" json:"truncated,omitempty"` } func (x *Body) Reset() { *x = Body{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*Body) ProtoMessage() {} func (x *Body) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Body.ProtoReflect.Descriptor instead. func (*Body) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_common_proto_rawDescGZIP(), []int{0} } func (m *Body) GetBodyType() isBody_BodyType { if m != nil { return m.BodyType } return nil } func (x *Body) GetAsBytes() []byte { if x, ok := x.GetBodyType().(*Body_AsBytes); ok { return x.AsBytes } return nil } func (x *Body) GetAsString() string { if x, ok := x.GetBodyType().(*Body_AsString); ok { return x.AsString } return "" } func (x *Body) GetTruncated() bool { if x != nil { return x.Truncated } return false } type isBody_BodyType interface { isBody_BodyType() } type Body_AsBytes struct { // Body data as bytes. By default, tap body data will be present in this field, as the proto // “bytes“ type can contain any valid byte. AsBytes []byte `protobuf:"bytes,1,opt,name=as_bytes,json=asBytes,proto3,oneof"` } type Body_AsString struct { // Body data as string. This field is only used when the :ref:`JSON_BODY_AS_STRING // ` sink // format type is selected. See the documentation for that option for why this is useful. AsString string `protobuf:"bytes,2,opt,name=as_string,json=asString,proto3,oneof"` } func (*Body_AsBytes) isBody_BodyType() {} func (*Body_AsString) isBody_BodyType() {} // Connection properties. type Connection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Local address. LocalAddress *v3.Address `protobuf:"bytes,1,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` // Remote address. RemoteAddress *v3.Address `protobuf:"bytes,2,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"` } func (x *Connection) Reset() { *x = Connection{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Connection) String() string { return protoimpl.X.MessageStringOf(x) } func (*Connection) ProtoMessage() {} func (x *Connection) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Connection.ProtoReflect.Descriptor instead. func (*Connection) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_common_proto_rawDescGZIP(), []int{1} } func (x *Connection) GetLocalAddress() *v3.Address { if x != nil { return x.LocalAddress } return nil } func (x *Connection) GetRemoteAddress() *v3.Address { if x != nil { return x.RemoteAddress } return nil } var File_envoy_data_tap_v3_common_proto protoreflect.FileDescriptor var file_envoy_data_tap_v3_common_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1b, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x61, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x22, 0x9a, 0xc5, 0x88, 0x1e, 0x1d, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v3_common_proto_rawDescOnce sync.Once file_envoy_data_tap_v3_common_proto_rawDescData = file_envoy_data_tap_v3_common_proto_rawDesc ) func file_envoy_data_tap_v3_common_proto_rawDescGZIP() []byte { file_envoy_data_tap_v3_common_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v3_common_proto_rawDescData) }) return file_envoy_data_tap_v3_common_proto_rawDescData } var file_envoy_data_tap_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_data_tap_v3_common_proto_goTypes = []interface{}{ (*Body)(nil), // 0: envoy.data.tap.v3.Body (*Connection)(nil), // 1: envoy.data.tap.v3.Connection (*v3.Address)(nil), // 2: envoy.config.core.v3.Address } var file_envoy_data_tap_v3_common_proto_depIdxs = []int32{ 2, // 0: envoy.data.tap.v3.Connection.local_address:type_name -> envoy.config.core.v3.Address 2, // 1: envoy.data.tap.v3.Connection.remote_address:type_name -> envoy.config.core.v3.Address 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_data_tap_v3_common_proto_init() } func file_envoy_data_tap_v3_common_proto_init() { if File_envoy_data_tap_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Body); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Connection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v3_common_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Body_AsBytes)(nil), (*Body_AsString)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v3_common_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v3_common_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v3_common_proto_depIdxs, MessageInfos: file_envoy_data_tap_v3_common_proto_msgTypes, }.Build() File_envoy_data_tap_v3_common_proto = out.File file_envoy_data_tap_v3_common_proto_rawDesc = nil file_envoy_data_tap_v3_common_proto_goTypes = nil file_envoy_data_tap_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v3/common.pb.validate.go000077500000000000000000000174531454502223200241620ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v3/common.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Body with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Body) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Body with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BodyMultiError, or nil if none found. func (m *Body) ValidateAll() error { return m.validate(true) } func (m *Body) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Truncated switch v := m.BodyType.(type) { case *Body_AsBytes: if v == nil { err := BodyValidationError{ field: "BodyType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for AsBytes case *Body_AsString: if v == nil { err := BodyValidationError{ field: "BodyType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for AsString default: _ = v // ensures v is used } if len(errors) > 0 { return BodyMultiError(errors) } return nil } // BodyMultiError is an error wrapping multiple validation errors returned by // Body.ValidateAll() if the designated constraints aren't met. type BodyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BodyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BodyMultiError) AllErrors() []error { return m } // BodyValidationError is the validation error returned by Body.Validate if the // designated constraints aren't met. type BodyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BodyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BodyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BodyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BodyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BodyValidationError) ErrorName() string { return "BodyValidationError" } // Error satisfies the builtin error interface func (e BodyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBody.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BodyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BodyValidationError{} // Validate checks the field values on Connection with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Connection) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Connection with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ConnectionMultiError, or // nil if none found. func (m *Connection) ValidateAll() error { return m.validate(true) } func (m *Connection) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocalAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionValidationError{ field: "LocalAddress", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConnectionMultiError(errors) } return nil } // ConnectionMultiError is an error wrapping multiple validation errors // returned by Connection.ValidateAll() if the designated constraints aren't met. type ConnectionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConnectionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConnectionMultiError) AllErrors() []error { return m } // ConnectionValidationError is the validation error returned by // Connection.Validate if the designated constraints aren't met. type ConnectionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConnectionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConnectionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConnectionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConnectionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConnectionValidationError) ErrorName() string { return "ConnectionValidationError" } // Error satisfies the builtin error interface func (e ConnectionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConnection.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConnectionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConnectionValidationError{} go-control-plane-0.12.0/envoy/data/tap/v3/http.pb.go000077500000000000000000000601241454502223200220520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v3/http.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A fully buffered HTTP trace message. type HttpBufferedTrace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request message. Request *HttpBufferedTrace_Message `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` // Response message. Response *HttpBufferedTrace_Message `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` // downstream connection DownstreamConnection *Connection `protobuf:"bytes,3,opt,name=downstream_connection,json=downstreamConnection,proto3" json:"downstream_connection,omitempty"` } func (x *HttpBufferedTrace) Reset() { *x = HttpBufferedTrace{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpBufferedTrace) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpBufferedTrace) ProtoMessage() {} func (x *HttpBufferedTrace) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpBufferedTrace.ProtoReflect.Descriptor instead. func (*HttpBufferedTrace) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_http_proto_rawDescGZIP(), []int{0} } func (x *HttpBufferedTrace) GetRequest() *HttpBufferedTrace_Message { if x != nil { return x.Request } return nil } func (x *HttpBufferedTrace) GetResponse() *HttpBufferedTrace_Message { if x != nil { return x.Response } return nil } func (x *HttpBufferedTrace) GetDownstreamConnection() *Connection { if x != nil { return x.DownstreamConnection } return nil } // A streamed HTTP trace segment. Multiple segments make up a full trace. // [#next-free-field: 8] type HttpStreamedTraceSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Types that are assignable to MessagePiece: // // *HttpStreamedTraceSegment_RequestHeaders // *HttpStreamedTraceSegment_RequestBodyChunk // *HttpStreamedTraceSegment_RequestTrailers // *HttpStreamedTraceSegment_ResponseHeaders // *HttpStreamedTraceSegment_ResponseBodyChunk // *HttpStreamedTraceSegment_ResponseTrailers MessagePiece isHttpStreamedTraceSegment_MessagePiece `protobuf_oneof:"message_piece"` } func (x *HttpStreamedTraceSegment) Reset() { *x = HttpStreamedTraceSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpStreamedTraceSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpStreamedTraceSegment) ProtoMessage() {} func (x *HttpStreamedTraceSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpStreamedTraceSegment.ProtoReflect.Descriptor instead. func (*HttpStreamedTraceSegment) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_http_proto_rawDescGZIP(), []int{1} } func (x *HttpStreamedTraceSegment) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (m *HttpStreamedTraceSegment) GetMessagePiece() isHttpStreamedTraceSegment_MessagePiece { if m != nil { return m.MessagePiece } return nil } func (x *HttpStreamedTraceSegment) GetRequestHeaders() *v3.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestHeaders); ok { return x.RequestHeaders } return nil } func (x *HttpStreamedTraceSegment) GetRequestBodyChunk() *Body { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestBodyChunk); ok { return x.RequestBodyChunk } return nil } func (x *HttpStreamedTraceSegment) GetRequestTrailers() *v3.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_RequestTrailers); ok { return x.RequestTrailers } return nil } func (x *HttpStreamedTraceSegment) GetResponseHeaders() *v3.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseHeaders); ok { return x.ResponseHeaders } return nil } func (x *HttpStreamedTraceSegment) GetResponseBodyChunk() *Body { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseBodyChunk); ok { return x.ResponseBodyChunk } return nil } func (x *HttpStreamedTraceSegment) GetResponseTrailers() *v3.HeaderMap { if x, ok := x.GetMessagePiece().(*HttpStreamedTraceSegment_ResponseTrailers); ok { return x.ResponseTrailers } return nil } type isHttpStreamedTraceSegment_MessagePiece interface { isHttpStreamedTraceSegment_MessagePiece() } type HttpStreamedTraceSegment_RequestHeaders struct { // Request headers. RequestHeaders *v3.HeaderMap `protobuf:"bytes,2,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type HttpStreamedTraceSegment_RequestBodyChunk struct { // Request body chunk. RequestBodyChunk *Body `protobuf:"bytes,3,opt,name=request_body_chunk,json=requestBodyChunk,proto3,oneof"` } type HttpStreamedTraceSegment_RequestTrailers struct { // Request trailers. RequestTrailers *v3.HeaderMap `protobuf:"bytes,4,opt,name=request_trailers,json=requestTrailers,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseHeaders struct { // Response headers. ResponseHeaders *v3.HeaderMap `protobuf:"bytes,5,opt,name=response_headers,json=responseHeaders,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseBodyChunk struct { // Response body chunk. ResponseBodyChunk *Body `protobuf:"bytes,6,opt,name=response_body_chunk,json=responseBodyChunk,proto3,oneof"` } type HttpStreamedTraceSegment_ResponseTrailers struct { // Response trailers. ResponseTrailers *v3.HeaderMap `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"` } func (*HttpStreamedTraceSegment_RequestHeaders) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_RequestBodyChunk) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_RequestTrailers) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseHeaders) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseBodyChunk) isHttpStreamedTraceSegment_MessagePiece() {} func (*HttpStreamedTraceSegment_ResponseTrailers) isHttpStreamedTraceSegment_MessagePiece() {} // HTTP message wrapper. type HttpBufferedTrace_Message struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Message headers. Headers []*v3.HeaderValue `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` // Message body. Body *Body `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // Message trailers. Trailers []*v3.HeaderValue `protobuf:"bytes,3,rep,name=trailers,proto3" json:"trailers,omitempty"` // The timestamp after receiving the message headers. HeadersReceivedTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=headers_received_time,json=headersReceivedTime,proto3" json:"headers_received_time,omitempty"` } func (x *HttpBufferedTrace_Message) Reset() { *x = HttpBufferedTrace_Message{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpBufferedTrace_Message) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpBufferedTrace_Message) ProtoMessage() {} func (x *HttpBufferedTrace_Message) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_http_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpBufferedTrace_Message.ProtoReflect.Descriptor instead. func (*HttpBufferedTrace_Message) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_http_proto_rawDescGZIP(), []int{0, 0} } func (x *HttpBufferedTrace_Message) GetHeaders() []*v3.HeaderValue { if x != nil { return x.Headers } return nil } func (x *HttpBufferedTrace_Message) GetBody() *Body { if x != nil { return x.Body } return nil } func (x *HttpBufferedTrace_Message) GetTrailers() []*v3.HeaderValue { if x != nil { return x.Trailers } return nil } func (x *HttpBufferedTrace_Message) GetHeadersReceivedTime() *timestamp.Timestamp { if x != nil { return x.HeadersReceivedTime } return nil } var File_envoy_data_tap_v3_http_proto protoreflect.FileDescriptor var file_envoy_data_tap_v3_http_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x04, 0x0a, 0x11, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x02, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x22, 0xca, 0x04, 0x0a, 0x18, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4c, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v3_http_proto_rawDescOnce sync.Once file_envoy_data_tap_v3_http_proto_rawDescData = file_envoy_data_tap_v3_http_proto_rawDesc ) func file_envoy_data_tap_v3_http_proto_rawDescGZIP() []byte { file_envoy_data_tap_v3_http_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v3_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v3_http_proto_rawDescData) }) return file_envoy_data_tap_v3_http_proto_rawDescData } var file_envoy_data_tap_v3_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_data_tap_v3_http_proto_goTypes = []interface{}{ (*HttpBufferedTrace)(nil), // 0: envoy.data.tap.v3.HttpBufferedTrace (*HttpStreamedTraceSegment)(nil), // 1: envoy.data.tap.v3.HttpStreamedTraceSegment (*HttpBufferedTrace_Message)(nil), // 2: envoy.data.tap.v3.HttpBufferedTrace.Message (*Connection)(nil), // 3: envoy.data.tap.v3.Connection (*v3.HeaderMap)(nil), // 4: envoy.config.core.v3.HeaderMap (*Body)(nil), // 5: envoy.data.tap.v3.Body (*v3.HeaderValue)(nil), // 6: envoy.config.core.v3.HeaderValue (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp } var file_envoy_data_tap_v3_http_proto_depIdxs = []int32{ 2, // 0: envoy.data.tap.v3.HttpBufferedTrace.request:type_name -> envoy.data.tap.v3.HttpBufferedTrace.Message 2, // 1: envoy.data.tap.v3.HttpBufferedTrace.response:type_name -> envoy.data.tap.v3.HttpBufferedTrace.Message 3, // 2: envoy.data.tap.v3.HttpBufferedTrace.downstream_connection:type_name -> envoy.data.tap.v3.Connection 4, // 3: envoy.data.tap.v3.HttpStreamedTraceSegment.request_headers:type_name -> envoy.config.core.v3.HeaderMap 5, // 4: envoy.data.tap.v3.HttpStreamedTraceSegment.request_body_chunk:type_name -> envoy.data.tap.v3.Body 4, // 5: envoy.data.tap.v3.HttpStreamedTraceSegment.request_trailers:type_name -> envoy.config.core.v3.HeaderMap 4, // 6: envoy.data.tap.v3.HttpStreamedTraceSegment.response_headers:type_name -> envoy.config.core.v3.HeaderMap 5, // 7: envoy.data.tap.v3.HttpStreamedTraceSegment.response_body_chunk:type_name -> envoy.data.tap.v3.Body 4, // 8: envoy.data.tap.v3.HttpStreamedTraceSegment.response_trailers:type_name -> envoy.config.core.v3.HeaderMap 6, // 9: envoy.data.tap.v3.HttpBufferedTrace.Message.headers:type_name -> envoy.config.core.v3.HeaderValue 5, // 10: envoy.data.tap.v3.HttpBufferedTrace.Message.body:type_name -> envoy.data.tap.v3.Body 6, // 11: envoy.data.tap.v3.HttpBufferedTrace.Message.trailers:type_name -> envoy.config.core.v3.HeaderValue 7, // 12: envoy.data.tap.v3.HttpBufferedTrace.Message.headers_received_time:type_name -> google.protobuf.Timestamp 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_data_tap_v3_http_proto_init() } func file_envoy_data_tap_v3_http_proto_init() { if File_envoy_data_tap_v3_http_proto != nil { return } file_envoy_data_tap_v3_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v3_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpBufferedTrace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpStreamedTraceSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpBufferedTrace_Message); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v3_http_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HttpStreamedTraceSegment_RequestHeaders)(nil), (*HttpStreamedTraceSegment_RequestBodyChunk)(nil), (*HttpStreamedTraceSegment_RequestTrailers)(nil), (*HttpStreamedTraceSegment_ResponseHeaders)(nil), (*HttpStreamedTraceSegment_ResponseBodyChunk)(nil), (*HttpStreamedTraceSegment_ResponseTrailers)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v3_http_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v3_http_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v3_http_proto_depIdxs, MessageInfos: file_envoy_data_tap_v3_http_proto_msgTypes, }.Build() File_envoy_data_tap_v3_http_proto = out.File file_envoy_data_tap_v3_http_proto_rawDesc = nil file_envoy_data_tap_v3_http_proto_goTypes = nil file_envoy_data_tap_v3_http_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v3/http.pb.validate.go000077500000000000000000000546761454502223200236610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v3/http.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpBufferedTrace with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HttpBufferedTrace) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpBufferedTraceMultiError, or nil if none found. func (m *HttpBufferedTrace) ValidateAll() error { return m.validate(true) } func (m *HttpBufferedTrace) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTraceValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTraceValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "DownstreamConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTraceValidationError{ field: "DownstreamConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTraceValidationError{ field: "DownstreamConnection", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpBufferedTraceMultiError(errors) } return nil } // HttpBufferedTraceMultiError is an error wrapping multiple validation errors // returned by HttpBufferedTrace.ValidateAll() if the designated constraints // aren't met. type HttpBufferedTraceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpBufferedTraceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpBufferedTraceMultiError) AllErrors() []error { return m } // HttpBufferedTraceValidationError is the validation error returned by // HttpBufferedTrace.Validate if the designated constraints aren't met. type HttpBufferedTraceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpBufferedTraceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpBufferedTraceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpBufferedTraceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpBufferedTraceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpBufferedTraceValidationError) ErrorName() string { return "HttpBufferedTraceValidationError" } // Error satisfies the builtin error interface func (e HttpBufferedTraceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpBufferedTrace.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpBufferedTraceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpBufferedTraceValidationError{} // Validate checks the field values on HttpStreamedTraceSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpStreamedTraceSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpStreamedTraceSegmentMultiError, or nil if none found. func (m *HttpStreamedTraceSegment) ValidateAll() error { return m.validate(true) } func (m *HttpStreamedTraceSegment) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId switch v := m.MessagePiece.(type) { case *HttpStreamedTraceSegment_RequestHeaders: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_RequestBodyChunk: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestBodyChunk()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestBodyChunk()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestBodyChunk", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_RequestTrailers: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequestTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseHeaders: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseBodyChunk: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseBodyChunk()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseBodyChunk()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseBodyChunk", reason: "embedded message failed validation", cause: err, } } } case *HttpStreamedTraceSegment_ResponseTrailers: if v == nil { err := HttpStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetResponseTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpStreamedTraceSegmentValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HttpStreamedTraceSegmentMultiError(errors) } return nil } // HttpStreamedTraceSegmentMultiError is an error wrapping multiple validation // errors returned by HttpStreamedTraceSegment.ValidateAll() if the designated // constraints aren't met. type HttpStreamedTraceSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpStreamedTraceSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpStreamedTraceSegmentMultiError) AllErrors() []error { return m } // HttpStreamedTraceSegmentValidationError is the validation error returned by // HttpStreamedTraceSegment.Validate if the designated constraints aren't met. type HttpStreamedTraceSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpStreamedTraceSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpStreamedTraceSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpStreamedTraceSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpStreamedTraceSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpStreamedTraceSegmentValidationError) ErrorName() string { return "HttpStreamedTraceSegmentValidationError" } // Error satisfies the builtin error interface func (e HttpStreamedTraceSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpStreamedTraceSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpStreamedTraceSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpStreamedTraceSegmentValidationError{} // Validate checks the field values on HttpBufferedTrace_Message with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpBufferedTrace_Message) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpBufferedTrace_Message with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpBufferedTrace_MessageMultiError, or nil if none found. func (m *HttpBufferedTrace_Message) ValidateAll() error { return m.validate(true) } func (m *HttpBufferedTrace_Message) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetTrailers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: fmt.Sprintf("Trailers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetHeadersReceivedTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "HeadersReceivedTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpBufferedTrace_MessageValidationError{ field: "HeadersReceivedTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeadersReceivedTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpBufferedTrace_MessageValidationError{ field: "HeadersReceivedTime", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpBufferedTrace_MessageMultiError(errors) } return nil } // HttpBufferedTrace_MessageMultiError is an error wrapping multiple validation // errors returned by HttpBufferedTrace_Message.ValidateAll() if the // designated constraints aren't met. type HttpBufferedTrace_MessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpBufferedTrace_MessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpBufferedTrace_MessageMultiError) AllErrors() []error { return m } // HttpBufferedTrace_MessageValidationError is the validation error returned by // HttpBufferedTrace_Message.Validate if the designated constraints aren't met. type HttpBufferedTrace_MessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpBufferedTrace_MessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpBufferedTrace_MessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpBufferedTrace_MessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpBufferedTrace_MessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpBufferedTrace_MessageValidationError) ErrorName() string { return "HttpBufferedTrace_MessageValidationError" } // Error satisfies the builtin error interface func (e HttpBufferedTrace_MessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpBufferedTrace_Message.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpBufferedTrace_MessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpBufferedTrace_MessageValidationError{} go-control-plane-0.12.0/envoy/data/tap/v3/transport.pb.go000077500000000000000000000665631454502223200231440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v3/transport.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Event in a socket trace. type SocketEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Timestamp for event. Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Read or write with content as bytes string. // // Types that are assignable to EventSelector: // // *SocketEvent_Read_ // *SocketEvent_Write_ // *SocketEvent_Closed_ EventSelector isSocketEvent_EventSelector `protobuf_oneof:"event_selector"` } func (x *SocketEvent) Reset() { *x = SocketEvent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent) ProtoMessage() {} func (x *SocketEvent) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent.ProtoReflect.Descriptor instead. func (*SocketEvent) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{0} } func (x *SocketEvent) GetTimestamp() *timestamp.Timestamp { if x != nil { return x.Timestamp } return nil } func (m *SocketEvent) GetEventSelector() isSocketEvent_EventSelector { if m != nil { return m.EventSelector } return nil } func (x *SocketEvent) GetRead() *SocketEvent_Read { if x, ok := x.GetEventSelector().(*SocketEvent_Read_); ok { return x.Read } return nil } func (x *SocketEvent) GetWrite() *SocketEvent_Write { if x, ok := x.GetEventSelector().(*SocketEvent_Write_); ok { return x.Write } return nil } func (x *SocketEvent) GetClosed() *SocketEvent_Closed { if x, ok := x.GetEventSelector().(*SocketEvent_Closed_); ok { return x.Closed } return nil } type isSocketEvent_EventSelector interface { isSocketEvent_EventSelector() } type SocketEvent_Read_ struct { Read *SocketEvent_Read `protobuf:"bytes,2,opt,name=read,proto3,oneof"` } type SocketEvent_Write_ struct { Write *SocketEvent_Write `protobuf:"bytes,3,opt,name=write,proto3,oneof"` } type SocketEvent_Closed_ struct { Closed *SocketEvent_Closed `protobuf:"bytes,4,opt,name=closed,proto3,oneof"` } func (*SocketEvent_Read_) isSocketEvent_EventSelector() {} func (*SocketEvent_Write_) isSocketEvent_EventSelector() {} func (*SocketEvent_Closed_) isSocketEvent_EventSelector() {} // Sequence of read/write events that constitute a buffered trace on a socket. // [#next-free-field: 6] type SocketBufferedTrace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. Matches connection IDs used in Envoy logs. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Connection properties. Connection *Connection `protobuf:"bytes,2,opt,name=connection,proto3" json:"connection,omitempty"` // Sequence of observed events. Events []*SocketEvent `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` // Set to true if read events were truncated due to the :ref:`max_buffered_rx_bytes // ` setting. ReadTruncated bool `protobuf:"varint,4,opt,name=read_truncated,json=readTruncated,proto3" json:"read_truncated,omitempty"` // Set to true if write events were truncated due to the :ref:`max_buffered_tx_bytes // ` setting. WriteTruncated bool `protobuf:"varint,5,opt,name=write_truncated,json=writeTruncated,proto3" json:"write_truncated,omitempty"` } func (x *SocketBufferedTrace) Reset() { *x = SocketBufferedTrace{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketBufferedTrace) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketBufferedTrace) ProtoMessage() {} func (x *SocketBufferedTrace) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketBufferedTrace.ProtoReflect.Descriptor instead. func (*SocketBufferedTrace) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{1} } func (x *SocketBufferedTrace) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (x *SocketBufferedTrace) GetConnection() *Connection { if x != nil { return x.Connection } return nil } func (x *SocketBufferedTrace) GetEvents() []*SocketEvent { if x != nil { return x.Events } return nil } func (x *SocketBufferedTrace) GetReadTruncated() bool { if x != nil { return x.ReadTruncated } return false } func (x *SocketBufferedTrace) GetWriteTruncated() bool { if x != nil { return x.WriteTruncated } return false } // A streamed socket trace segment. Multiple segments make up a full trace. type SocketStreamedTraceSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Trace ID unique to the originating Envoy only. Trace IDs can repeat and should not be used // for long term stable uniqueness. Matches connection IDs used in Envoy logs. TraceId uint64 `protobuf:"varint,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // Types that are assignable to MessagePiece: // // *SocketStreamedTraceSegment_Connection // *SocketStreamedTraceSegment_Event MessagePiece isSocketStreamedTraceSegment_MessagePiece `protobuf_oneof:"message_piece"` } func (x *SocketStreamedTraceSegment) Reset() { *x = SocketStreamedTraceSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketStreamedTraceSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketStreamedTraceSegment) ProtoMessage() {} func (x *SocketStreamedTraceSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketStreamedTraceSegment.ProtoReflect.Descriptor instead. func (*SocketStreamedTraceSegment) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{2} } func (x *SocketStreamedTraceSegment) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (m *SocketStreamedTraceSegment) GetMessagePiece() isSocketStreamedTraceSegment_MessagePiece { if m != nil { return m.MessagePiece } return nil } func (x *SocketStreamedTraceSegment) GetConnection() *Connection { if x, ok := x.GetMessagePiece().(*SocketStreamedTraceSegment_Connection); ok { return x.Connection } return nil } func (x *SocketStreamedTraceSegment) GetEvent() *SocketEvent { if x, ok := x.GetMessagePiece().(*SocketStreamedTraceSegment_Event); ok { return x.Event } return nil } type isSocketStreamedTraceSegment_MessagePiece interface { isSocketStreamedTraceSegment_MessagePiece() } type SocketStreamedTraceSegment_Connection struct { // Connection properties. Connection *Connection `protobuf:"bytes,2,opt,name=connection,proto3,oneof"` } type SocketStreamedTraceSegment_Event struct { // Socket event. Event *SocketEvent `protobuf:"bytes,3,opt,name=event,proto3,oneof"` } func (*SocketStreamedTraceSegment_Connection) isSocketStreamedTraceSegment_MessagePiece() {} func (*SocketStreamedTraceSegment_Event) isSocketStreamedTraceSegment_MessagePiece() {} // Data read by Envoy from the transport socket. type SocketEvent_Read struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Binary data read. Data *Body `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *SocketEvent_Read) Reset() { *x = SocketEvent_Read{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Read) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Read) ProtoMessage() {} func (x *SocketEvent_Read) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Read.ProtoReflect.Descriptor instead. func (*SocketEvent_Read) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{0, 0} } func (x *SocketEvent_Read) GetData() *Body { if x != nil { return x.Data } return nil } // Data written by Envoy to the transport socket. type SocketEvent_Write struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Binary data written. Data *Body `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Stream was half closed after this write. EndStream bool `protobuf:"varint,2,opt,name=end_stream,json=endStream,proto3" json:"end_stream,omitempty"` } func (x *SocketEvent_Write) Reset() { *x = SocketEvent_Write{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Write) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Write) ProtoMessage() {} func (x *SocketEvent_Write) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Write.ProtoReflect.Descriptor instead. func (*SocketEvent_Write) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{0, 1} } func (x *SocketEvent_Write) GetData() *Body { if x != nil { return x.Data } return nil } func (x *SocketEvent_Write) GetEndStream() bool { if x != nil { return x.EndStream } return false } // The connection was closed. type SocketEvent_Closed struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SocketEvent_Closed) Reset() { *x = SocketEvent_Closed{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SocketEvent_Closed) String() string { return protoimpl.X.MessageStringOf(x) } func (*SocketEvent_Closed) ProtoMessage() {} func (x *SocketEvent_Closed) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_transport_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SocketEvent_Closed.ProtoReflect.Descriptor instead. func (*SocketEvent_Closed) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_transport_proto_rawDescGZIP(), []int{0, 2} } var File_envoy_data_tap_v3_transport_proto protoreflect.FileDescriptor var file_envoy_data_tap_v3_transport_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x04, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x39, 0x0a, 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x1a, 0x63, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x1a, 0x84, 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x1a, 0x3a, 0x0a, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xaa, 0x02, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x1a, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x42, 0x7b, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v3_transport_proto_rawDescOnce sync.Once file_envoy_data_tap_v3_transport_proto_rawDescData = file_envoy_data_tap_v3_transport_proto_rawDesc ) func file_envoy_data_tap_v3_transport_proto_rawDescGZIP() []byte { file_envoy_data_tap_v3_transport_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v3_transport_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v3_transport_proto_rawDescData) }) return file_envoy_data_tap_v3_transport_proto_rawDescData } var file_envoy_data_tap_v3_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_data_tap_v3_transport_proto_goTypes = []interface{}{ (*SocketEvent)(nil), // 0: envoy.data.tap.v3.SocketEvent (*SocketBufferedTrace)(nil), // 1: envoy.data.tap.v3.SocketBufferedTrace (*SocketStreamedTraceSegment)(nil), // 2: envoy.data.tap.v3.SocketStreamedTraceSegment (*SocketEvent_Read)(nil), // 3: envoy.data.tap.v3.SocketEvent.Read (*SocketEvent_Write)(nil), // 4: envoy.data.tap.v3.SocketEvent.Write (*SocketEvent_Closed)(nil), // 5: envoy.data.tap.v3.SocketEvent.Closed (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp (*Connection)(nil), // 7: envoy.data.tap.v3.Connection (*Body)(nil), // 8: envoy.data.tap.v3.Body } var file_envoy_data_tap_v3_transport_proto_depIdxs = []int32{ 6, // 0: envoy.data.tap.v3.SocketEvent.timestamp:type_name -> google.protobuf.Timestamp 3, // 1: envoy.data.tap.v3.SocketEvent.read:type_name -> envoy.data.tap.v3.SocketEvent.Read 4, // 2: envoy.data.tap.v3.SocketEvent.write:type_name -> envoy.data.tap.v3.SocketEvent.Write 5, // 3: envoy.data.tap.v3.SocketEvent.closed:type_name -> envoy.data.tap.v3.SocketEvent.Closed 7, // 4: envoy.data.tap.v3.SocketBufferedTrace.connection:type_name -> envoy.data.tap.v3.Connection 0, // 5: envoy.data.tap.v3.SocketBufferedTrace.events:type_name -> envoy.data.tap.v3.SocketEvent 7, // 6: envoy.data.tap.v3.SocketStreamedTraceSegment.connection:type_name -> envoy.data.tap.v3.Connection 0, // 7: envoy.data.tap.v3.SocketStreamedTraceSegment.event:type_name -> envoy.data.tap.v3.SocketEvent 8, // 8: envoy.data.tap.v3.SocketEvent.Read.data:type_name -> envoy.data.tap.v3.Body 8, // 9: envoy.data.tap.v3.SocketEvent.Write.data:type_name -> envoy.data.tap.v3.Body 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_data_tap_v3_transport_proto_init() } func file_envoy_data_tap_v3_transport_proto_init() { if File_envoy_data_tap_v3_transport_proto != nil { return } file_envoy_data_tap_v3_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v3_transport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_transport_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketBufferedTrace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_transport_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketStreamedTraceSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_transport_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Read); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_transport_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Write); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_data_tap_v3_transport_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SocketEvent_Closed); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v3_transport_proto_msgTypes[0].OneofWrappers = []interface{}{ (*SocketEvent_Read_)(nil), (*SocketEvent_Write_)(nil), (*SocketEvent_Closed_)(nil), } file_envoy_data_tap_v3_transport_proto_msgTypes[2].OneofWrappers = []interface{}{ (*SocketStreamedTraceSegment_Connection)(nil), (*SocketStreamedTraceSegment_Event)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v3_transport_proto_rawDesc, NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v3_transport_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v3_transport_proto_depIdxs, MessageInfos: file_envoy_data_tap_v3_transport_proto_msgTypes, }.Build() File_envoy_data_tap_v3_transport_proto = out.File file_envoy_data_tap_v3_transport_proto_rawDesc = nil file_envoy_data_tap_v3_transport_proto_goTypes = nil file_envoy_data_tap_v3_transport_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v3/transport.pb.validate.go000077500000000000000000000661071454502223200247260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v3/transport.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SocketEvent with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SocketEvent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SocketEventMultiError, or // nil if none found. func (m *SocketEvent) ValidateAll() error { return m.validate(true) } func (m *SocketEvent) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Timestamp", reason: "embedded message failed validation", cause: err, } } } switch v := m.EventSelector.(type) { case *SocketEvent_Read_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRead()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRead()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Read", reason: "embedded message failed validation", cause: err, } } } case *SocketEvent_Write_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetWrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Write", reason: "embedded message failed validation", cause: err, } } } case *SocketEvent_Closed_: if v == nil { err := SocketEventValidationError{ field: "EventSelector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClosed()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClosed()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEventValidationError{ field: "Closed", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SocketEventMultiError(errors) } return nil } // SocketEventMultiError is an error wrapping multiple validation errors // returned by SocketEvent.ValidateAll() if the designated constraints aren't met. type SocketEventMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEventMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEventMultiError) AllErrors() []error { return m } // SocketEventValidationError is the validation error returned by // SocketEvent.Validate if the designated constraints aren't met. type SocketEventValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEventValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEventValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEventValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEventValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEventValidationError) ErrorName() string { return "SocketEventValidationError" } // Error satisfies the builtin error interface func (e SocketEventValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEventValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEventValidationError{} // Validate checks the field values on SocketBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketBufferedTrace) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketBufferedTrace with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketBufferedTraceMultiError, or nil if none found. func (m *SocketBufferedTrace) ValidateAll() error { return m.validate(true) } func (m *SocketBufferedTrace) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId if all { switch v := interface{}(m.GetConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketBufferedTraceValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEvents() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketBufferedTraceValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for ReadTruncated // no validation rules for WriteTruncated if len(errors) > 0 { return SocketBufferedTraceMultiError(errors) } return nil } // SocketBufferedTraceMultiError is an error wrapping multiple validation // errors returned by SocketBufferedTrace.ValidateAll() if the designated // constraints aren't met. type SocketBufferedTraceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketBufferedTraceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketBufferedTraceMultiError) AllErrors() []error { return m } // SocketBufferedTraceValidationError is the validation error returned by // SocketBufferedTrace.Validate if the designated constraints aren't met. type SocketBufferedTraceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketBufferedTraceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketBufferedTraceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketBufferedTraceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketBufferedTraceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketBufferedTraceValidationError) ErrorName() string { return "SocketBufferedTraceValidationError" } // Error satisfies the builtin error interface func (e SocketBufferedTraceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketBufferedTrace.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketBufferedTraceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketBufferedTraceValidationError{} // Validate checks the field values on SocketStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketStreamedTraceSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketStreamedTraceSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketStreamedTraceSegmentMultiError, or nil if none found. func (m *SocketStreamedTraceSegment) ValidateAll() error { return m.validate(true) } func (m *SocketStreamedTraceSegment) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TraceId switch v := m.MessagePiece.(type) { case *SocketStreamedTraceSegment_Connection: if v == nil { err := SocketStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketStreamedTraceSegmentValidationError{ field: "Connection", reason: "embedded message failed validation", cause: err, } } } case *SocketStreamedTraceSegment_Event: if v == nil { err := SocketStreamedTraceSegmentValidationError{ field: "MessagePiece", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEvent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEvent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketStreamedTraceSegmentValidationError{ field: "Event", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SocketStreamedTraceSegmentMultiError(errors) } return nil } // SocketStreamedTraceSegmentMultiError is an error wrapping multiple // validation errors returned by SocketStreamedTraceSegment.ValidateAll() if // the designated constraints aren't met. type SocketStreamedTraceSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketStreamedTraceSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketStreamedTraceSegmentMultiError) AllErrors() []error { return m } // SocketStreamedTraceSegmentValidationError is the validation error returned // by SocketStreamedTraceSegment.Validate if the designated constraints aren't met. type SocketStreamedTraceSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketStreamedTraceSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketStreamedTraceSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketStreamedTraceSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketStreamedTraceSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketStreamedTraceSegmentValidationError) ErrorName() string { return "SocketStreamedTraceSegmentValidationError" } // Error satisfies the builtin error interface func (e SocketStreamedTraceSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketStreamedTraceSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketStreamedTraceSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketStreamedTraceSegmentValidationError{} // Validate checks the field values on SocketEvent_Read with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Read) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Read with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_ReadMultiError, or nil if none found. func (m *SocketEvent_Read) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Read) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEvent_ReadValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SocketEvent_ReadMultiError(errors) } return nil } // SocketEvent_ReadMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Read.ValidateAll() if the designated constraints // aren't met. type SocketEvent_ReadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_ReadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_ReadMultiError) AllErrors() []error { return m } // SocketEvent_ReadValidationError is the validation error returned by // SocketEvent_Read.Validate if the designated constraints aren't met. type SocketEvent_ReadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_ReadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_ReadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_ReadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_ReadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_ReadValidationError) ErrorName() string { return "SocketEvent_ReadValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_ReadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Read.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_ReadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_ReadValidationError{} // Validate checks the field values on SocketEvent_Write with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Write) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Write with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_WriteMultiError, or nil if none found. func (m *SocketEvent_Write) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Write) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SocketEvent_WriteValidationError{ field: "Data", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EndStream if len(errors) > 0 { return SocketEvent_WriteMultiError(errors) } return nil } // SocketEvent_WriteMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Write.ValidateAll() if the designated constraints // aren't met. type SocketEvent_WriteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_WriteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_WriteMultiError) AllErrors() []error { return m } // SocketEvent_WriteValidationError is the validation error returned by // SocketEvent_Write.Validate if the designated constraints aren't met. type SocketEvent_WriteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_WriteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_WriteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_WriteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_WriteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_WriteValidationError) ErrorName() string { return "SocketEvent_WriteValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_WriteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Write.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_WriteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_WriteValidationError{} // Validate checks the field values on SocketEvent_Closed with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SocketEvent_Closed) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SocketEvent_Closed with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SocketEvent_ClosedMultiError, or nil if none found. func (m *SocketEvent_Closed) ValidateAll() error { return m.validate(true) } func (m *SocketEvent_Closed) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SocketEvent_ClosedMultiError(errors) } return nil } // SocketEvent_ClosedMultiError is an error wrapping multiple validation errors // returned by SocketEvent_Closed.ValidateAll() if the designated constraints // aren't met. type SocketEvent_ClosedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SocketEvent_ClosedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SocketEvent_ClosedMultiError) AllErrors() []error { return m } // SocketEvent_ClosedValidationError is the validation error returned by // SocketEvent_Closed.Validate if the designated constraints aren't met. type SocketEvent_ClosedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SocketEvent_ClosedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SocketEvent_ClosedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SocketEvent_ClosedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SocketEvent_ClosedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SocketEvent_ClosedValidationError) ErrorName() string { return "SocketEvent_ClosedValidationError" } // Error satisfies the builtin error interface func (e SocketEvent_ClosedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSocketEvent_Closed.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SocketEvent_ClosedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SocketEvent_ClosedValidationError{} go-control-plane-0.12.0/envoy/data/tap/v3/wrapper.pb.go000077500000000000000000000310301454502223200225450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/data/tap/v3/wrapper.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Wrapper for all fully buffered and streamed tap traces that Envoy emits. This is required for // sending traces over gRPC APIs or more easily persisting binary messages to files. type TraceWrapper struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Trace: // // *TraceWrapper_HttpBufferedTrace // *TraceWrapper_HttpStreamedTraceSegment // *TraceWrapper_SocketBufferedTrace // *TraceWrapper_SocketStreamedTraceSegment Trace isTraceWrapper_Trace `protobuf_oneof:"trace"` } func (x *TraceWrapper) Reset() { *x = TraceWrapper{} if protoimpl.UnsafeEnabled { mi := &file_envoy_data_tap_v3_wrapper_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TraceWrapper) String() string { return protoimpl.X.MessageStringOf(x) } func (*TraceWrapper) ProtoMessage() {} func (x *TraceWrapper) ProtoReflect() protoreflect.Message { mi := &file_envoy_data_tap_v3_wrapper_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TraceWrapper.ProtoReflect.Descriptor instead. func (*TraceWrapper) Descriptor() ([]byte, []int) { return file_envoy_data_tap_v3_wrapper_proto_rawDescGZIP(), []int{0} } func (m *TraceWrapper) GetTrace() isTraceWrapper_Trace { if m != nil { return m.Trace } return nil } func (x *TraceWrapper) GetHttpBufferedTrace() *HttpBufferedTrace { if x, ok := x.GetTrace().(*TraceWrapper_HttpBufferedTrace); ok { return x.HttpBufferedTrace } return nil } func (x *TraceWrapper) GetHttpStreamedTraceSegment() *HttpStreamedTraceSegment { if x, ok := x.GetTrace().(*TraceWrapper_HttpStreamedTraceSegment); ok { return x.HttpStreamedTraceSegment } return nil } func (x *TraceWrapper) GetSocketBufferedTrace() *SocketBufferedTrace { if x, ok := x.GetTrace().(*TraceWrapper_SocketBufferedTrace); ok { return x.SocketBufferedTrace } return nil } func (x *TraceWrapper) GetSocketStreamedTraceSegment() *SocketStreamedTraceSegment { if x, ok := x.GetTrace().(*TraceWrapper_SocketStreamedTraceSegment); ok { return x.SocketStreamedTraceSegment } return nil } type isTraceWrapper_Trace interface { isTraceWrapper_Trace() } type TraceWrapper_HttpBufferedTrace struct { // An HTTP buffered tap trace. HttpBufferedTrace *HttpBufferedTrace `protobuf:"bytes,1,opt,name=http_buffered_trace,json=httpBufferedTrace,proto3,oneof"` } type TraceWrapper_HttpStreamedTraceSegment struct { // An HTTP streamed tap trace segment. HttpStreamedTraceSegment *HttpStreamedTraceSegment `protobuf:"bytes,2,opt,name=http_streamed_trace_segment,json=httpStreamedTraceSegment,proto3,oneof"` } type TraceWrapper_SocketBufferedTrace struct { // A socket buffered tap trace. SocketBufferedTrace *SocketBufferedTrace `protobuf:"bytes,3,opt,name=socket_buffered_trace,json=socketBufferedTrace,proto3,oneof"` } type TraceWrapper_SocketStreamedTraceSegment struct { // A socket streamed tap trace segment. SocketStreamedTraceSegment *SocketStreamedTraceSegment `protobuf:"bytes,4,opt,name=socket_streamed_trace_segment,json=socketStreamedTraceSegment,proto3,oneof"` } func (*TraceWrapper_HttpBufferedTrace) isTraceWrapper_Trace() {} func (*TraceWrapper_HttpStreamedTraceSegment) isTraceWrapper_Trace() {} func (*TraceWrapper_SocketBufferedTrace) isTraceWrapper_Trace() {} func (*TraceWrapper_SocketStreamedTraceSegment) isTraceWrapper_Trace() {} var File_envoy_data_tap_v3_wrapper_proto protoreflect.FileDescriptor var file_envoy_data_tap_v3_wrapper_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x03, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x15, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x13, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x1d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x79, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_data_tap_v3_wrapper_proto_rawDescOnce sync.Once file_envoy_data_tap_v3_wrapper_proto_rawDescData = file_envoy_data_tap_v3_wrapper_proto_rawDesc ) func file_envoy_data_tap_v3_wrapper_proto_rawDescGZIP() []byte { file_envoy_data_tap_v3_wrapper_proto_rawDescOnce.Do(func() { file_envoy_data_tap_v3_wrapper_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_data_tap_v3_wrapper_proto_rawDescData) }) return file_envoy_data_tap_v3_wrapper_proto_rawDescData } var file_envoy_data_tap_v3_wrapper_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_data_tap_v3_wrapper_proto_goTypes = []interface{}{ (*TraceWrapper)(nil), // 0: envoy.data.tap.v3.TraceWrapper (*HttpBufferedTrace)(nil), // 1: envoy.data.tap.v3.HttpBufferedTrace (*HttpStreamedTraceSegment)(nil), // 2: envoy.data.tap.v3.HttpStreamedTraceSegment (*SocketBufferedTrace)(nil), // 3: envoy.data.tap.v3.SocketBufferedTrace (*SocketStreamedTraceSegment)(nil), // 4: envoy.data.tap.v3.SocketStreamedTraceSegment } var file_envoy_data_tap_v3_wrapper_proto_depIdxs = []int32{ 1, // 0: envoy.data.tap.v3.TraceWrapper.http_buffered_trace:type_name -> envoy.data.tap.v3.HttpBufferedTrace 2, // 1: envoy.data.tap.v3.TraceWrapper.http_streamed_trace_segment:type_name -> envoy.data.tap.v3.HttpStreamedTraceSegment 3, // 2: envoy.data.tap.v3.TraceWrapper.socket_buffered_trace:type_name -> envoy.data.tap.v3.SocketBufferedTrace 4, // 3: envoy.data.tap.v3.TraceWrapper.socket_streamed_trace_segment:type_name -> envoy.data.tap.v3.SocketStreamedTraceSegment 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_data_tap_v3_wrapper_proto_init() } func file_envoy_data_tap_v3_wrapper_proto_init() { if File_envoy_data_tap_v3_wrapper_proto != nil { return } file_envoy_data_tap_v3_http_proto_init() file_envoy_data_tap_v3_transport_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_data_tap_v3_wrapper_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TraceWrapper); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_data_tap_v3_wrapper_proto_msgTypes[0].OneofWrappers = []interface{}{ (*TraceWrapper_HttpBufferedTrace)(nil), (*TraceWrapper_HttpStreamedTraceSegment)(nil), (*TraceWrapper_SocketBufferedTrace)(nil), (*TraceWrapper_SocketStreamedTraceSegment)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_data_tap_v3_wrapper_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_data_tap_v3_wrapper_proto_goTypes, DependencyIndexes: file_envoy_data_tap_v3_wrapper_proto_depIdxs, MessageInfos: file_envoy_data_tap_v3_wrapper_proto_msgTypes, }.Build() File_envoy_data_tap_v3_wrapper_proto = out.File file_envoy_data_tap_v3_wrapper_proto_rawDesc = nil file_envoy_data_tap_v3_wrapper_proto_goTypes = nil file_envoy_data_tap_v3_wrapper_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/data/tap/v3/wrapper.pb.validate.go000077500000000000000000000201421454502223200243370ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/data/tap/v3/wrapper.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TraceWrapper with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TraceWrapper) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TraceWrapper with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TraceWrapperMultiError, or // nil if none found. func (m *TraceWrapper) ValidateAll() error { return m.validate(true) } func (m *TraceWrapper) validate(all bool) error { if m == nil { return nil } var errors []error oneofTracePresent := false switch v := m.Trace.(type) { case *TraceWrapper_HttpBufferedTrace: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetHttpBufferedTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpBufferedTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "HttpBufferedTrace", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_HttpStreamedTraceSegment: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetHttpStreamedTraceSegment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpStreamedTraceSegment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "HttpStreamedTraceSegment", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_SocketBufferedTrace: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetSocketBufferedTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketBufferedTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "SocketBufferedTrace", reason: "embedded message failed validation", cause: err, } } } case *TraceWrapper_SocketStreamedTraceSegment: if v == nil { err := TraceWrapperValidationError{ field: "Trace", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTracePresent = true if all { switch v := interface{}(m.GetSocketStreamedTraceSegment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSocketStreamedTraceSegment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TraceWrapperValidationError{ field: "SocketStreamedTraceSegment", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTracePresent { err := TraceWrapperValidationError{ field: "Trace", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TraceWrapperMultiError(errors) } return nil } // TraceWrapperMultiError is an error wrapping multiple validation errors // returned by TraceWrapper.ValidateAll() if the designated constraints aren't met. type TraceWrapperMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TraceWrapperMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TraceWrapperMultiError) AllErrors() []error { return m } // TraceWrapperValidationError is the validation error returned by // TraceWrapper.Validate if the designated constraints aren't met. type TraceWrapperValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TraceWrapperValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TraceWrapperValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TraceWrapperValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TraceWrapperValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TraceWrapperValidationError) ErrorName() string { return "TraceWrapperValidationError" } // Error satisfies the builtin error interface func (e TraceWrapperValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTraceWrapper.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TraceWrapperValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TraceWrapperValidationError{} go-control-plane-0.12.0/envoy/extensions/000077500000000000000000000000001454502223200203105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/000077500000000000000000000000001454502223200232735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/file/000077500000000000000000000000001454502223200242125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/file/v3/000077500000000000000000000000001454502223200245425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/file/v3/file.pb.go000077500000000000000000000356001454502223200264170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/file/v3/file.proto package filev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom configuration for an :ref:`AccessLog ` // that writes log entries directly to a file. Configures the built-in “envoy.access_loggers.file“ // AccessLog. // [#next-free-field: 6] type FileAccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A path to a local file to which to write the access log entries. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // Types that are assignable to AccessLogFormat: // // *FileAccessLog_Format // *FileAccessLog_JsonFormat // *FileAccessLog_TypedJsonFormat // *FileAccessLog_LogFormat AccessLogFormat isFileAccessLog_AccessLogFormat `protobuf_oneof:"access_log_format"` } func (x *FileAccessLog) Reset() { *x = FileAccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileAccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileAccessLog) ProtoMessage() {} func (x *FileAccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileAccessLog.ProtoReflect.Descriptor instead. func (*FileAccessLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescGZIP(), []int{0} } func (x *FileAccessLog) GetPath() string { if x != nil { return x.Path } return "" } func (m *FileAccessLog) GetAccessLogFormat() isFileAccessLog_AccessLogFormat { if m != nil { return m.AccessLogFormat } return nil } // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. func (x *FileAccessLog) GetFormat() string { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_Format); ok { return x.Format } return "" } // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. func (x *FileAccessLog) GetJsonFormat() *_struct.Struct { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_JsonFormat); ok { return x.JsonFormat } return nil } // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. func (x *FileAccessLog) GetTypedJsonFormat() *_struct.Struct { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_TypedJsonFormat); ok { return x.TypedJsonFormat } return nil } func (x *FileAccessLog) GetLogFormat() *v3.SubstitutionFormatString { if x, ok := x.GetAccessLogFormat().(*FileAccessLog_LogFormat); ok { return x.LogFormat } return nil } type isFileAccessLog_AccessLogFormat interface { isFileAccessLog_AccessLogFormat() } type FileAccessLog_Format struct { // Access log :ref:`format string`. // Envoy supports :ref:`custom access log formats ` as well as a // :ref:`default format `. // This field is deprecated. // Please use :ref:`log_format `. // // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. Format string `protobuf:"bytes,2,opt,name=format,proto3,oneof"` } type FileAccessLog_JsonFormat struct { // Access log :ref:`format dictionary`. All values // are rendered as strings. // This field is deprecated. // Please use :ref:`log_format `. // // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. JsonFormat *_struct.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` } type FileAccessLog_TypedJsonFormat struct { // Access log :ref:`format dictionary`. Values are // rendered as strings, numbers, or boolean values as appropriate. Nested JSON objects may // be produced by some command operators (e.g.FILTER_STATE or DYNAMIC_METADATA). See the // documentation for a specific command operator for details. // This field is deprecated. // Please use :ref:`log_format `. // // Deprecated: Marked as deprecated in envoy/extensions/access_loggers/file/v3/file.proto. TypedJsonFormat *_struct.Struct `protobuf:"bytes,4,opt,name=typed_json_format,json=typedJsonFormat,proto3,oneof"` } type FileAccessLog_LogFormat struct { // Configuration to form access log data and format. // If not specified, use :ref:`default format `. LogFormat *v3.SubstitutionFormatString `protobuf:"bytes,5,opt,name=log_format,json=logFormat,proto3,oneof"` } func (*FileAccessLog_Format) isFileAccessLog_AccessLogFormat() {} func (*FileAccessLog_JsonFormat) isFileAccessLog_AccessLogFormat() {} func (*FileAccessLog_TypedJsonFormat) isFileAccessLog_AccessLogFormat() {} func (*FileAccessLog_LogFormat) isFileAccessLog_AccessLogFormat() {} var File_envoy_extensions_access_loggers_file_v3_file_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_file_v3_file_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x0d, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x52, 0x0a, 0x11, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x59, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0xa3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x6c, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescData = file_envoy_extensions_access_loggers_file_v3_file_proto_rawDesc ) func file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescData) }) return file_envoy_extensions_access_loggers_file_v3_file_proto_rawDescData } var file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_access_loggers_file_v3_file_proto_goTypes = []interface{}{ (*FileAccessLog)(nil), // 0: envoy.extensions.access_loggers.file.v3.FileAccessLog (*_struct.Struct)(nil), // 1: google.protobuf.Struct (*v3.SubstitutionFormatString)(nil), // 2: envoy.config.core.v3.SubstitutionFormatString } var file_envoy_extensions_access_loggers_file_v3_file_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.access_loggers.file.v3.FileAccessLog.json_format:type_name -> google.protobuf.Struct 1, // 1: envoy.extensions.access_loggers.file.v3.FileAccessLog.typed_json_format:type_name -> google.protobuf.Struct 2, // 2: envoy.extensions.access_loggers.file.v3.FileAccessLog.log_format:type_name -> envoy.config.core.v3.SubstitutionFormatString 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_file_v3_file_proto_init() } func file_envoy_extensions_access_loggers_file_v3_file_proto_init() { if File_envoy_extensions_access_loggers_file_v3_file_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileAccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FileAccessLog_Format)(nil), (*FileAccessLog_JsonFormat)(nil), (*FileAccessLog_TypedJsonFormat)(nil), (*FileAccessLog_LogFormat)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_file_v3_file_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_file_v3_file_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_file_v3_file_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_file_v3_file_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_file_v3_file_proto = out.File file_envoy_extensions_access_loggers_file_v3_file_proto_rawDesc = nil file_envoy_extensions_access_loggers_file_v3_file_proto_goTypes = nil file_envoy_extensions_access_loggers_file_v3_file_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/access_loggers/file/v3/file.pb.validate.go000077500000000000000000000164111454502223200302060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/file/v3/file.proto package filev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileAccessLog with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FileAccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileAccessLog with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FileAccessLogMultiError, or // nil if none found. func (m *FileAccessLog) ValidateAll() error { return m.validate(true) } func (m *FileAccessLog) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPath()) < 1 { err := FileAccessLogValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.AccessLogFormat.(type) { case *FileAccessLog_Format: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Format case *FileAccessLog_JsonFormat: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileAccessLogValidationError{ field: "JsonFormat", reason: "embedded message failed validation", cause: err, } } } case *FileAccessLog_TypedJsonFormat: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedJsonFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedJsonFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileAccessLogValidationError{ field: "TypedJsonFormat", reason: "embedded message failed validation", cause: err, } } } case *FileAccessLog_LogFormat: if v == nil { err := FileAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetLogFormat() == nil { err := FileAccessLogValidationError{ field: "LogFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLogFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLogFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FileAccessLogMultiError(errors) } return nil } // FileAccessLogMultiError is an error wrapping multiple validation errors // returned by FileAccessLog.ValidateAll() if the designated constraints // aren't met. type FileAccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileAccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileAccessLogMultiError) AllErrors() []error { return m } // FileAccessLogValidationError is the validation error returned by // FileAccessLog.Validate if the designated constraints aren't met. type FileAccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileAccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileAccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileAccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileAccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileAccessLogValidationError) ErrorName() string { return "FileAccessLogValidationError" } // Error satisfies the builtin error interface func (e FileAccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileAccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileAccessLogValidationError{} go-control-plane-0.12.0/envoy/extensions/access_loggers/filters/000077500000000000000000000000001454502223200247435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/filters/cel/000077500000000000000000000000001454502223200255065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/filters/cel/v3/000077500000000000000000000000001454502223200260365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/filters/cel/v3/cel.pb.go000077500000000000000000000172761454502223200275500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/filters/cel/v3/cel.proto package celv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // ExpressionFilter is an access logging filter that evaluates configured // symbolic Common Expression Language expressions to inform the decision // to generate an access log. type ExpressionFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Expression that, when evaluated, will be used to filter access logs. // Expressions are based on the set of Envoy :ref:`attributes `. // The provided expression must evaluate to true for logging (expression errors are considered false). // Examples: // // * “response.code >= 400“ // * “(connection.mtls && request.headers['x-log-mtls'] == 'true') || request.url_path.contains('v1beta3')“ Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` } func (x *ExpressionFilter) Reset() { *x = ExpressionFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExpressionFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExpressionFilter) ProtoMessage() {} func (x *ExpressionFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExpressionFilter.ProtoReflect.Descriptor instead. func (*ExpressionFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescGZIP(), []int{0} } func (x *ExpressionFilter) GetExpression() string { if x != nil { return x.Expression } return "" } var File_envoy_extensions_access_loggers_filters_cel_v3_cel_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x65, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0xaf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x43, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x65, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x65, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescData = file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDesc ) func file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescData) }) return file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDescData } var file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_goTypes = []interface{}{ (*ExpressionFilter)(nil), // 0: envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter } var file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_init() } func file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_init() { if File_envoy_extensions_access_loggers_filters_cel_v3_cel_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpressionFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_filters_cel_v3_cel_proto = out.File file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_rawDesc = nil file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_goTypes = nil file_envoy_extensions_access_loggers_filters_cel_v3_cel_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/access_loggers/filters/cel/v3/cel.pb.validate.go000077500000000000000000000065321454502223200313310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/filters/cel/v3/cel.proto package celv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ExpressionFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExpressionFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExpressionFilter with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExpressionFilterMultiError, or nil if none found. func (m *ExpressionFilter) ValidateAll() error { return m.validate(true) } func (m *ExpressionFilter) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Expression if len(errors) > 0 { return ExpressionFilterMultiError(errors) } return nil } // ExpressionFilterMultiError is an error wrapping multiple validation errors // returned by ExpressionFilter.ValidateAll() if the designated constraints // aren't met. type ExpressionFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExpressionFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExpressionFilterMultiError) AllErrors() []error { return m } // ExpressionFilterValidationError is the validation error returned by // ExpressionFilter.Validate if the designated constraints aren't met. type ExpressionFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExpressionFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExpressionFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExpressionFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExpressionFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExpressionFilterValidationError) ErrorName() string { return "ExpressionFilterValidationError" } // Error satisfies the builtin error interface func (e ExpressionFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExpressionFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExpressionFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExpressionFilterValidationError{} go-control-plane-0.12.0/envoy/extensions/access_loggers/grpc/000077500000000000000000000000001454502223200242265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/grpc/v3/000077500000000000000000000000001454502223200245565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/grpc/v3/als.pb.go000077500000000000000000000665371454502223200263100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/grpc/v3/als.proto package grpcv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the built-in “envoy.access_loggers.http_grpc“ // :ref:`AccessLog `. This configuration will // populate :ref:`StreamAccessLogsMessage.http_logs // `. // [#extension: envoy.access_loggers.http_grpc] type HttpGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *CommonGrpcAccessLogConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // Additional request headers to log in :ref:`HTTPRequestProperties.request_headers // `. AdditionalRequestHeadersToLog []string `protobuf:"bytes,2,rep,name=additional_request_headers_to_log,json=additionalRequestHeadersToLog,proto3" json:"additional_request_headers_to_log,omitempty"` // Additional response headers to log in :ref:`HTTPResponseProperties.response_headers // `. AdditionalResponseHeadersToLog []string `protobuf:"bytes,3,rep,name=additional_response_headers_to_log,json=additionalResponseHeadersToLog,proto3" json:"additional_response_headers_to_log,omitempty"` // Additional response trailers to log in :ref:`HTTPResponseProperties.response_trailers // `. AdditionalResponseTrailersToLog []string `protobuf:"bytes,4,rep,name=additional_response_trailers_to_log,json=additionalResponseTrailersToLog,proto3" json:"additional_response_trailers_to_log,omitempty"` } func (x *HttpGrpcAccessLogConfig) Reset() { *x = HttpGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpGrpcAccessLogConfig) ProtoMessage() {} func (x *HttpGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*HttpGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescGZIP(), []int{0} } func (x *HttpGrpcAccessLogConfig) GetCommonConfig() *CommonGrpcAccessLogConfig { if x != nil { return x.CommonConfig } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalRequestHeadersToLog() []string { if x != nil { return x.AdditionalRequestHeadersToLog } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalResponseHeadersToLog() []string { if x != nil { return x.AdditionalResponseHeadersToLog } return nil } func (x *HttpGrpcAccessLogConfig) GetAdditionalResponseTrailersToLog() []string { if x != nil { return x.AdditionalResponseTrailersToLog } return nil } // Configuration for the built-in “envoy.access_loggers.tcp_grpc“ type. This configuration will // populate “StreamAccessLogsMessage.tcp_logs“. // [#extension: envoy.access_loggers.tcp_grpc] type TcpGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *CommonGrpcAccessLogConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` } func (x *TcpGrpcAccessLogConfig) Reset() { *x = TcpGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpGrpcAccessLogConfig) ProtoMessage() {} func (x *TcpGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*TcpGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescGZIP(), []int{1} } func (x *TcpGrpcAccessLogConfig) GetCommonConfig() *CommonGrpcAccessLogConfig { if x != nil { return x.CommonConfig } return nil } // Common configuration for gRPC access logs. // [#next-free-field: 9] type CommonGrpcAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The friendly name of the access log to be returned in :ref:`StreamAccessLogsMessage.Identifier // `. This allows the // access log server to differentiate between different access logs coming from the same Envoy. LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` // The gRPC service for the access log service. GrpcService *v3.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // API version for access logs service transport protocol. This describes the access logs service // gRPC endpoint and version of messages used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,6,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` // Interval for flushing access logs to the gRPC stream. Logger will flush requests every time // this interval is elapsed, or when batch size limit is hit, whichever comes first. Defaults to // 1 second. BufferFlushInterval *duration.Duration `protobuf:"bytes,3,opt,name=buffer_flush_interval,json=bufferFlushInterval,proto3" json:"buffer_flush_interval,omitempty"` // Soft size limit in bytes for access log entries buffer. Logger will buffer requests until // this limit it hit, or every time flush interval is elapsed, whichever comes first. Setting it // to zero effectively disables the batching. Defaults to 16384. BufferSizeBytes *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=buffer_size_bytes,json=bufferSizeBytes,proto3" json:"buffer_size_bytes,omitempty"` // Additional filter state objects to log in :ref:`filter_state_objects // `. // Logger will call “FilterState::Object::serializeAsProto“ to serialize the filter state object. FilterStateObjectsToLog []string `protobuf:"bytes,5,rep,name=filter_state_objects_to_log,json=filterStateObjectsToLog,proto3" json:"filter_state_objects_to_log,omitempty"` // Sets the retry policy when the establishment of a gRPC stream fails. // If the stream succeeds at least once in establishing itself, // no retry will be performed no matter what gRPC status is received. // Note that only :ref:`num_retries ` // will be used in this configuration. This feature is used only when you are using // :ref:`Envoy gRPC client `. GrpcStreamRetryPolicy *v3.RetryPolicy `protobuf:"bytes,7,opt,name=grpc_stream_retry_policy,json=grpcStreamRetryPolicy,proto3" json:"grpc_stream_retry_policy,omitempty"` // A list of custom tags with unique tag name to create tags for the logs. CustomTags []*v31.CustomTag `protobuf:"bytes,8,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` } func (x *CommonGrpcAccessLogConfig) Reset() { *x = CommonGrpcAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonGrpcAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonGrpcAccessLogConfig) ProtoMessage() {} func (x *CommonGrpcAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonGrpcAccessLogConfig.ProtoReflect.Descriptor instead. func (*CommonGrpcAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescGZIP(), []int{2} } func (x *CommonGrpcAccessLogConfig) GetLogName() string { if x != nil { return x.LogName } return "" } func (x *CommonGrpcAccessLogConfig) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *CommonGrpcAccessLogConfig) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } func (x *CommonGrpcAccessLogConfig) GetBufferFlushInterval() *duration.Duration { if x != nil { return x.BufferFlushInterval } return nil } func (x *CommonGrpcAccessLogConfig) GetBufferSizeBytes() *wrappers.UInt32Value { if x != nil { return x.BufferSizeBytes } return nil } func (x *CommonGrpcAccessLogConfig) GetFilterStateObjectsToLog() []string { if x != nil { return x.FilterStateObjectsToLog } return nil } func (x *CommonGrpcAccessLogConfig) GetGrpcStreamRetryPolicy() *v3.RetryPolicy { if x != nil { return x.GrpcStreamRetryPolicy } return nil } func (x *CommonGrpcAccessLogConfig) GetCustomTags() []*v31.CustomTag { if x != nil { return x.CustomTags } return nil } var File_envoy_extensions_access_loggers_grpc_v3_als_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDesc = []byte{ 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x17, 0x48, 0x74, 0x74, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x12, 0x4a, 0x0a, 0x22, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x23, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x16, 0x54, 0x63, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xab, 0x05, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x15, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x48, 0x0a, 0x11, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x12, 0x5a, 0x0a, 0x18, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x41, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescData = file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDesc ) func file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescData) }) return file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDescData } var file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_access_loggers_grpc_v3_als_proto_goTypes = []interface{}{ (*HttpGrpcAccessLogConfig)(nil), // 0: envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig (*TcpGrpcAccessLogConfig)(nil), // 1: envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig (*CommonGrpcAccessLogConfig)(nil), // 2: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig (*v3.GrpcService)(nil), // 3: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 4: envoy.config.core.v3.ApiVersion (*duration.Duration)(nil), // 5: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 6: google.protobuf.UInt32Value (*v3.RetryPolicy)(nil), // 7: envoy.config.core.v3.RetryPolicy (*v31.CustomTag)(nil), // 8: envoy.type.tracing.v3.CustomTag } var file_envoy_extensions_access_loggers_grpc_v3_als_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig.common_config:type_name -> envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig 2, // 1: envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig.common_config:type_name -> envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig 3, // 2: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 4, // 3: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 5, // 4: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.buffer_flush_interval:type_name -> google.protobuf.Duration 6, // 5: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.buffer_size_bytes:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.grpc_stream_retry_policy:type_name -> envoy.config.core.v3.RetryPolicy 8, // 7: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_grpc_v3_als_proto_init() } func file_envoy_extensions_access_loggers_grpc_v3_als_proto_init() { if File_envoy_extensions_access_loggers_grpc_v3_als_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonGrpcAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_grpc_v3_als_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_grpc_v3_als_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_grpc_v3_als_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_grpc_v3_als_proto = out.File file_envoy_extensions_access_loggers_grpc_v3_als_proto_rawDesc = nil file_envoy_extensions_access_loggers_grpc_v3_als_proto_goTypes = nil file_envoy_extensions_access_loggers_grpc_v3_als_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/access_loggers/grpc/v3/als.pb.validate.go000077500000000000000000000407161454502223200300670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/grpc/v3/als.proto package grpcv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on HttpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpGrpcAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpGrpcAccessLogConfigMultiError, or nil if none found. func (m *HttpGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *HttpGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpGrpcAccessLogConfigMultiError(errors) } return nil } // HttpGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by HttpGrpcAccessLogConfig.ValidateAll() if the designated // constraints aren't met. type HttpGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // HttpGrpcAccessLogConfigValidationError is the validation error returned by // HttpGrpcAccessLogConfig.Validate if the designated constraints aren't met. type HttpGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpGrpcAccessLogConfigValidationError) ErrorName() string { return "HttpGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e HttpGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpGrpcAccessLogConfigValidationError{} // Validate checks the field values on TcpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpGrpcAccessLogConfigMultiError, or nil if none found. func (m *TcpGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *TcpGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpGrpcAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpGrpcAccessLogConfigMultiError(errors) } return nil } // TcpGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by TcpGrpcAccessLogConfig.ValidateAll() if the designated // constraints aren't met. type TcpGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // TcpGrpcAccessLogConfigValidationError is the validation error returned by // TcpGrpcAccessLogConfig.Validate if the designated constraints aren't met. type TcpGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpGrpcAccessLogConfigValidationError) ErrorName() string { return "TcpGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e TcpGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpGrpcAccessLogConfigValidationError{} // Validate checks the field values on CommonGrpcAccessLogConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonGrpcAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonGrpcAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonGrpcAccessLogConfigMultiError, or nil if none found. func (m *CommonGrpcAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *CommonGrpcAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetLogName()) < 1 { err := CommonGrpcAccessLogConfigValidationError{ field: "LogName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetGrpcService() == nil { err := CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := CommonGrpcAccessLogConfigValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if d := m.GetBufferFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = CommonGrpcAccessLogConfigValidationError{ field: "BufferFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := CommonGrpcAccessLogConfigValidationError{ field: "BufferFlushInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetBufferSizeBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferSizeBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: "BufferSizeBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcStreamRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcStreamRetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: "GrpcStreamRetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcStreamRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: "GrpcStreamRetryPolicy", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGrpcAccessLogConfigValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGrpcAccessLogConfigValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CommonGrpcAccessLogConfigMultiError(errors) } return nil } // CommonGrpcAccessLogConfigMultiError is an error wrapping multiple validation // errors returned by CommonGrpcAccessLogConfig.ValidateAll() if the // designated constraints aren't met. type CommonGrpcAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonGrpcAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonGrpcAccessLogConfigMultiError) AllErrors() []error { return m } // CommonGrpcAccessLogConfigValidationError is the validation error returned by // CommonGrpcAccessLogConfig.Validate if the designated constraints aren't met. type CommonGrpcAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonGrpcAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonGrpcAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonGrpcAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonGrpcAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonGrpcAccessLogConfigValidationError) ErrorName() string { return "CommonGrpcAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e CommonGrpcAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonGrpcAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonGrpcAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonGrpcAccessLogConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/access_loggers/open_telemetry/000077500000000000000000000000001454502223200263265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/open_telemetry/v3/000077500000000000000000000000001454502223200266565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/open_telemetry/v3/logs_service.pb.go000077500000000000000000000350601454502223200323000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/open_telemetry/v3/logs_service.proto package open_telemetryv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/grpc/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" v1 "go.opentelemetry.io/proto/otlp/common/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the built-in “envoy.access_loggers.open_telemetry“ // :ref:`AccessLog `. This configuration will // populate `opentelemetry.proto.collector.v1.logs.ExportLogsServiceRequest.resource_logs `_. // In addition, the request start time is set in the dedicated field. // [#extension: envoy.access_loggers.open_telemetry] // [#next-free-field: 6] type OpenTelemetryAccessLogConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#comment:TODO(itamarkam): add 'filter_state_objects_to_log' to logs.] CommonConfig *v3.CommonGrpcAccessLogConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // If specified, Envoy will not generate built-in resource labels // like “log_name“, “zone_name“, “cluster_name“, “node_name“. DisableBuiltinLabels bool `protobuf:"varint,5,opt,name=disable_builtin_labels,json=disableBuiltinLabels,proto3" json:"disable_builtin_labels,omitempty"` // OpenTelemetry `Resource `_ // attributes are filled with Envoy node info. // Example: “resource_attributes { values { key: "region" value { string_value: "cn-north-7" } } }“. ResourceAttributes *v1.KeyValueList `protobuf:"bytes,4,opt,name=resource_attributes,json=resourceAttributes,proto3" json:"resource_attributes,omitempty"` // OpenTelemetry `LogResource `_ // fields, following `Envoy access logging formatting `_. // // See 'body' in the LogResource proto for more details. // Example: “body { string_value: "%PROTOCOL%" }“. Body *v1.AnyValue `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // See 'attributes' in the LogResource proto for more details. // Example: “attributes { values { key: "user_agent" value { string_value: "%REQ(USER-AGENT)%" } } }“. Attributes *v1.KeyValueList `protobuf:"bytes,3,opt,name=attributes,proto3" json:"attributes,omitempty"` } func (x *OpenTelemetryAccessLogConfig) Reset() { *x = OpenTelemetryAccessLogConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OpenTelemetryAccessLogConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpenTelemetryAccessLogConfig) ProtoMessage() {} func (x *OpenTelemetryAccessLogConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OpenTelemetryAccessLogConfig.ProtoReflect.Descriptor instead. func (*OpenTelemetryAccessLogConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescGZIP(), []int{0} } func (x *OpenTelemetryAccessLogConfig) GetCommonConfig() *v3.CommonGrpcAccessLogConfig { if x != nil { return x.CommonConfig } return nil } func (x *OpenTelemetryAccessLogConfig) GetDisableBuiltinLabels() bool { if x != nil { return x.DisableBuiltinLabels } return false } func (x *OpenTelemetryAccessLogConfig) GetResourceAttributes() *v1.KeyValueList { if x != nil { return x.ResourceAttributes } return nil } func (x *OpenTelemetryAccessLogConfig) GetBody() *v1.AnyValue { if x != nil { return x.Body } return nil } func (x *OpenTelemetryAccessLogConfig) GetAttributes() *v1.KeyValueList { if x != nil { return x.Attributes } return nil } var File_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x03, 0x0a, 0x1c, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x4b, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescData = file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDesc ) func file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescData) }) return file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDescData } var file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_goTypes = []interface{}{ (*OpenTelemetryAccessLogConfig)(nil), // 0: envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig (*v3.CommonGrpcAccessLogConfig)(nil), // 1: envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig (*v1.KeyValueList)(nil), // 2: opentelemetry.proto.common.v1.KeyValueList (*v1.AnyValue)(nil), // 3: opentelemetry.proto.common.v1.AnyValue } var file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.common_config:type_name -> envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig 2, // 1: envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.resource_attributes:type_name -> opentelemetry.proto.common.v1.KeyValueList 3, // 2: envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.body:type_name -> opentelemetry.proto.common.v1.AnyValue 2, // 3: envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig.attributes:type_name -> opentelemetry.proto.common.v1.KeyValueList 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_init() } func file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_init() { if File_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OpenTelemetryAccessLogConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto = out.File file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_rawDesc = nil file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_goTypes = nil file_envoy_extensions_access_loggers_open_telemetry_v3_logs_service_proto_depIdxs = nil } logs_service.pb.validate.go000077500000000000000000000165321454502223200340140ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/open_telemetry/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/open_telemetry/v3/logs_service.proto package open_telemetryv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OpenTelemetryAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OpenTelemetryAccessLogConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OpenTelemetryAccessLogConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OpenTelemetryAccessLogConfigMultiError, or nil if none found. func (m *OpenTelemetryAccessLogConfig) ValidateAll() error { return m.validate(true) } func (m *OpenTelemetryAccessLogConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := OpenTelemetryAccessLogConfigValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryAccessLogConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableBuiltinLabels if all { switch v := interface{}(m.GetResourceAttributes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "ResourceAttributes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "ResourceAttributes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResourceAttributes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryAccessLogConfigValidationError{ field: "ResourceAttributes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryAccessLogConfigValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAttributes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OpenTelemetryAccessLogConfigValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttributes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OpenTelemetryAccessLogConfigValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OpenTelemetryAccessLogConfigMultiError(errors) } return nil } // OpenTelemetryAccessLogConfigMultiError is an error wrapping multiple // validation errors returned by OpenTelemetryAccessLogConfig.ValidateAll() if // the designated constraints aren't met. type OpenTelemetryAccessLogConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OpenTelemetryAccessLogConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OpenTelemetryAccessLogConfigMultiError) AllErrors() []error { return m } // OpenTelemetryAccessLogConfigValidationError is the validation error returned // by OpenTelemetryAccessLogConfig.Validate if the designated constraints // aren't met. type OpenTelemetryAccessLogConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OpenTelemetryAccessLogConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OpenTelemetryAccessLogConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OpenTelemetryAccessLogConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OpenTelemetryAccessLogConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OpenTelemetryAccessLogConfigValidationError) ErrorName() string { return "OpenTelemetryAccessLogConfigValidationError" } // Error satisfies the builtin error interface func (e OpenTelemetryAccessLogConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOpenTelemetryAccessLogConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OpenTelemetryAccessLogConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OpenTelemetryAccessLogConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/access_loggers/stream/000077500000000000000000000000001454502223200245665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/stream/v3/000077500000000000000000000000001454502223200251165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/stream/v3/stream.pb.go000077500000000000000000000320331454502223200273440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/stream/v3/stream.proto package streamv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom configuration for an :ref:`AccessLog ` // that writes log entries directly to the operating system's standard output. // [#extension: envoy.access_loggers.stdout] type StdoutAccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to AccessLogFormat: // // *StdoutAccessLog_LogFormat AccessLogFormat isStdoutAccessLog_AccessLogFormat `protobuf_oneof:"access_log_format"` } func (x *StdoutAccessLog) Reset() { *x = StdoutAccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StdoutAccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*StdoutAccessLog) ProtoMessage() {} func (x *StdoutAccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StdoutAccessLog.ProtoReflect.Descriptor instead. func (*StdoutAccessLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescGZIP(), []int{0} } func (m *StdoutAccessLog) GetAccessLogFormat() isStdoutAccessLog_AccessLogFormat { if m != nil { return m.AccessLogFormat } return nil } func (x *StdoutAccessLog) GetLogFormat() *v3.SubstitutionFormatString { if x, ok := x.GetAccessLogFormat().(*StdoutAccessLog_LogFormat); ok { return x.LogFormat } return nil } type isStdoutAccessLog_AccessLogFormat interface { isStdoutAccessLog_AccessLogFormat() } type StdoutAccessLog_LogFormat struct { // Configuration to form access log data and format. // If not specified, use :ref:`default format `. LogFormat *v3.SubstitutionFormatString `protobuf:"bytes,1,opt,name=log_format,json=logFormat,proto3,oneof"` } func (*StdoutAccessLog_LogFormat) isStdoutAccessLog_AccessLogFormat() {} // Custom configuration for an :ref:`AccessLog ` // that writes log entries directly to the operating system's standard error. // [#extension: envoy.access_loggers.stderr] type StderrAccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to AccessLogFormat: // // *StderrAccessLog_LogFormat AccessLogFormat isStderrAccessLog_AccessLogFormat `protobuf_oneof:"access_log_format"` } func (x *StderrAccessLog) Reset() { *x = StderrAccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StderrAccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*StderrAccessLog) ProtoMessage() {} func (x *StderrAccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StderrAccessLog.ProtoReflect.Descriptor instead. func (*StderrAccessLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescGZIP(), []int{1} } func (m *StderrAccessLog) GetAccessLogFormat() isStderrAccessLog_AccessLogFormat { if m != nil { return m.AccessLogFormat } return nil } func (x *StderrAccessLog) GetLogFormat() *v3.SubstitutionFormatString { if x, ok := x.GetAccessLogFormat().(*StderrAccessLog_LogFormat); ok { return x.LogFormat } return nil } type isStderrAccessLog_AccessLogFormat interface { isStderrAccessLog_AccessLogFormat() } type StderrAccessLog_LogFormat struct { // Configuration to form access log data and format. // If not specified, use :ref:`default format `. LogFormat *v3.SubstitutionFormatString `protobuf:"bytes,1,opt,name=log_format,json=logFormat,proto3,oneof"` } func (*StderrAccessLog_LogFormat) isStderrAccessLog_AccessLogFormat() {} var File_envoy_extensions_access_loggers_stream_v3_stream_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDesc = []byte{ 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x59, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x64, 0x65, 0x72, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x59, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0xab, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescData = file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDesc ) func file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescData) }) return file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDescData } var file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_access_loggers_stream_v3_stream_proto_goTypes = []interface{}{ (*StdoutAccessLog)(nil), // 0: envoy.extensions.access_loggers.stream.v3.StdoutAccessLog (*StderrAccessLog)(nil), // 1: envoy.extensions.access_loggers.stream.v3.StderrAccessLog (*v3.SubstitutionFormatString)(nil), // 2: envoy.config.core.v3.SubstitutionFormatString } var file_envoy_extensions_access_loggers_stream_v3_stream_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.access_loggers.stream.v3.StdoutAccessLog.log_format:type_name -> envoy.config.core.v3.SubstitutionFormatString 2, // 1: envoy.extensions.access_loggers.stream.v3.StderrAccessLog.log_format:type_name -> envoy.config.core.v3.SubstitutionFormatString 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_stream_v3_stream_proto_init() } func file_envoy_extensions_access_loggers_stream_v3_stream_proto_init() { if File_envoy_extensions_access_loggers_stream_v3_stream_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StdoutAccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StderrAccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StdoutAccessLog_LogFormat)(nil), } file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StderrAccessLog_LogFormat)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_stream_v3_stream_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_stream_v3_stream_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_stream_v3_stream_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_stream_v3_stream_proto = out.File file_envoy_extensions_access_loggers_stream_v3_stream_proto_rawDesc = nil file_envoy_extensions_access_loggers_stream_v3_stream_proto_goTypes = nil file_envoy_extensions_access_loggers_stream_v3_stream_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/access_loggers/stream/v3/stream.pb.validate.go000077500000000000000000000213251454502223200311360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/stream/v3/stream.proto package streamv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StdoutAccessLog with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StdoutAccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StdoutAccessLog with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StdoutAccessLogMultiError, or nil if none found. func (m *StdoutAccessLog) ValidateAll() error { return m.validate(true) } func (m *StdoutAccessLog) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.AccessLogFormat.(type) { case *StdoutAccessLog_LogFormat: if v == nil { err := StdoutAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetLogFormat() == nil { err := StdoutAccessLogValidationError{ field: "LogFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLogFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StdoutAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StdoutAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLogFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StdoutAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return StdoutAccessLogMultiError(errors) } return nil } // StdoutAccessLogMultiError is an error wrapping multiple validation errors // returned by StdoutAccessLog.ValidateAll() if the designated constraints // aren't met. type StdoutAccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StdoutAccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StdoutAccessLogMultiError) AllErrors() []error { return m } // StdoutAccessLogValidationError is the validation error returned by // StdoutAccessLog.Validate if the designated constraints aren't met. type StdoutAccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StdoutAccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StdoutAccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StdoutAccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StdoutAccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StdoutAccessLogValidationError) ErrorName() string { return "StdoutAccessLogValidationError" } // Error satisfies the builtin error interface func (e StdoutAccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStdoutAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StdoutAccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StdoutAccessLogValidationError{} // Validate checks the field values on StderrAccessLog with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StderrAccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StderrAccessLog with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StderrAccessLogMultiError, or nil if none found. func (m *StderrAccessLog) ValidateAll() error { return m.validate(true) } func (m *StderrAccessLog) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.AccessLogFormat.(type) { case *StderrAccessLog_LogFormat: if v == nil { err := StderrAccessLogValidationError{ field: "AccessLogFormat", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetLogFormat() == nil { err := StderrAccessLogValidationError{ field: "LogFormat", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLogFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StderrAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StderrAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLogFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StderrAccessLogValidationError{ field: "LogFormat", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return StderrAccessLogMultiError(errors) } return nil } // StderrAccessLogMultiError is an error wrapping multiple validation errors // returned by StderrAccessLog.ValidateAll() if the designated constraints // aren't met. type StderrAccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StderrAccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StderrAccessLogMultiError) AllErrors() []error { return m } // StderrAccessLogValidationError is the validation error returned by // StderrAccessLog.Validate if the designated constraints aren't met. type StderrAccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StderrAccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StderrAccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StderrAccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StderrAccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StderrAccessLogValidationError) ErrorName() string { return "StderrAccessLogValidationError" } // Error satisfies the builtin error interface func (e StderrAccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStderrAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StderrAccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StderrAccessLogValidationError{} go-control-plane-0.12.0/envoy/extensions/access_loggers/wasm/000077500000000000000000000000001454502223200242425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/wasm/v3/000077500000000000000000000000001454502223200245725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/access_loggers/wasm/v3/wasm.pb.go000077500000000000000000000171111454502223200264740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/access_loggers/wasm/v3/wasm.proto package wasmv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom configuration for an :ref:`AccessLog ` // that calls into a WASM VM. Configures the built-in “envoy.access_loggers.wasm“ // AccessLog. type WasmAccessLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *v3.PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *WasmAccessLog) Reset() { *x = WasmAccessLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WasmAccessLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*WasmAccessLog) ProtoMessage() {} func (x *WasmAccessLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WasmAccessLog.ProtoReflect.Descriptor instead. func (*WasmAccessLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescGZIP(), []int{0} } func (x *WasmAccessLog) GetConfig() *v3.PluginConfig { if x != nil { return x.Config } return nil } var File_envoy_extensions_access_loggers_wasm_v3_wasm_proto protoreflect.FileDescriptor var file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x0d, 0x57, 0x61, 0x73, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x57, 0x61, 0x73, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x73, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescOnce sync.Once file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescData = file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDesc ) func file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescGZIP() []byte { file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescOnce.Do(func() { file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescData) }) return file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDescData } var file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_goTypes = []interface{}{ (*WasmAccessLog)(nil), // 0: envoy.extensions.access_loggers.wasm.v3.WasmAccessLog (*v3.PluginConfig)(nil), // 1: envoy.extensions.wasm.v3.PluginConfig } var file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.access_loggers.wasm.v3.WasmAccessLog.config:type_name -> envoy.extensions.wasm.v3.PluginConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_init() } func file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_init() { if File_envoy_extensions_access_loggers_wasm_v3_wasm_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmAccessLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_goTypes, DependencyIndexes: file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_depIdxs, MessageInfos: file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_msgTypes, }.Build() File_envoy_extensions_access_loggers_wasm_v3_wasm_proto = out.File file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_rawDesc = nil file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_goTypes = nil file_envoy_extensions_access_loggers_wasm_v3_wasm_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/access_loggers/wasm/v3/wasm.pb.validate.go000077500000000000000000000100221454502223200302560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/access_loggers/wasm/v3/wasm.proto package wasmv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on WasmAccessLog with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *WasmAccessLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WasmAccessLog with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WasmAccessLogMultiError, or // nil if none found. func (m *WasmAccessLog) ValidateAll() error { return m.validate(true) } func (m *WasmAccessLog) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WasmAccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WasmAccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WasmAccessLogValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WasmAccessLogMultiError(errors) } return nil } // WasmAccessLogMultiError is an error wrapping multiple validation errors // returned by WasmAccessLog.ValidateAll() if the designated constraints // aren't met. type WasmAccessLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WasmAccessLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WasmAccessLogMultiError) AllErrors() []error { return m } // WasmAccessLogValidationError is the validation error returned by // WasmAccessLog.Validate if the designated constraints aren't met. type WasmAccessLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WasmAccessLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WasmAccessLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WasmAccessLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WasmAccessLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WasmAccessLogValidationError) ErrorName() string { return "WasmAccessLogValidationError" } // Error satisfies the builtin error interface func (e WasmAccessLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWasmAccessLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WasmAccessLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WasmAccessLogValidationError{} go-control-plane-0.12.0/envoy/extensions/bootstrap/000077500000000000000000000000001454502223200223255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/bootstrap/internal_listener/000077500000000000000000000000001454502223200260465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/bootstrap/internal_listener/v3/000077500000000000000000000000001454502223200263765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/bootstrap/internal_listener/v3/internal_listener.pb.go000077500000000000000000000221171454502223200330540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/bootstrap/internal_listener/v3/internal_listener.proto package internal_listenerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for internal listener. type InternalListener struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The internal listener client connection buffer size in KiB. // For example, if “buffer_size_kb“ is set to 5, then the actual buffer size is // 5 KiB = 5 * 1024 bytes. // If the “buffer_size_kb“ is not specified, the buffer size is set to 1024 KiB. BufferSizeKb *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=buffer_size_kb,json=bufferSizeKb,proto3" json:"buffer_size_kb,omitempty"` } func (x *InternalListener) Reset() { *x = InternalListener{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InternalListener) String() string { return protoimpl.X.MessageStringOf(x) } func (*InternalListener) ProtoMessage() {} func (x *InternalListener) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InternalListener.ProtoReflect.Descriptor instead. func (*InternalListener) Descriptor() ([]byte, []int) { return file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescGZIP(), []int{0} } func (x *InternalListener) GetBufferSizeKb() *wrappers.UInt32Value { if x != nil { return x.BufferSizeKb } return nil } var File_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto protoreflect.FileDescriptor var file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6b, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0x80, 0x40, 0x28, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x4b, 0x62, 0x42, 0xcc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescOnce sync.Once file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescData = file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDesc ) func file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescGZIP() []byte { file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescOnce.Do(func() { file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescData) }) return file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDescData } var file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_goTypes = []interface{}{ (*InternalListener)(nil), // 0: envoy.extensions.bootstrap.internal_listener.v3.InternalListener (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value } var file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.bootstrap.internal_listener.v3.InternalListener.buffer_size_kb:type_name -> google.protobuf.UInt32Value 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_init() } func file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_init() { if File_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InternalListener); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_goTypes, DependencyIndexes: file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_depIdxs, MessageInfos: file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_msgTypes, }.Build() File_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto = out.File file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_rawDesc = nil file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_goTypes = nil file_envoy_extensions_bootstrap_internal_listener_v3_internal_listener_proto_depIdxs = nil } internal_listener.pb.validate.go000077500000000000000000000072071454502223200345700ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/bootstrap/internal_listener/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/bootstrap/internal_listener/v3/internal_listener.proto package internal_listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on InternalListener with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *InternalListener) Validate() error { return m.validate(false) } // ValidateAll checks the field values on InternalListener with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // InternalListenerMultiError, or nil if none found. func (m *InternalListener) ValidateAll() error { return m.validate(true) } func (m *InternalListener) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetBufferSizeKb(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 8192 { err := InternalListenerValidationError{ field: "BufferSizeKb", reason: "value must be inside range [1, 8192]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return InternalListenerMultiError(errors) } return nil } // InternalListenerMultiError is an error wrapping multiple validation errors // returned by InternalListener.ValidateAll() if the designated constraints // aren't met. type InternalListenerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InternalListenerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InternalListenerMultiError) AllErrors() []error { return m } // InternalListenerValidationError is the validation error returned by // InternalListener.Validate if the designated constraints aren't met. type InternalListenerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InternalListenerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InternalListenerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InternalListenerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InternalListenerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InternalListenerValidationError) ErrorName() string { return "InternalListenerValidationError" } // Error satisfies the builtin error interface func (e InternalListenerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInternalListener.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InternalListenerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InternalListenerValidationError{} go-control-plane-0.12.0/envoy/extensions/clusters/000077500000000000000000000000001454502223200221545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/aggregate/000077500000000000000000000000001454502223200241025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/aggregate/v3/000077500000000000000000000000001454502223200244325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/aggregate/v3/cluster.pb.go000077500000000000000000000176511454502223200270570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/clusters/aggregate/v3/cluster.proto package aggregatev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the aggregate cluster. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.clusters.aggregate] type ClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Load balancing clusters in aggregate cluster. Clusters are prioritized based on the order they // appear in this list. Clusters []string `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_clusters_aggregate_v3_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_clusters_aggregate_v3_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescGZIP(), []int{0} } func (x *ClusterConfig) GetClusters() []string { if x != nil { return x.Clusters } return nil } var File_envoy_extensions_clusters_aggregate_v3_cluster_proto protoreflect.FileDescriptor var file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescOnce sync.Once file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescData = file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDesc ) func file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescGZIP() []byte { file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescOnce.Do(func() { file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescData) }) return file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDescData } var file_envoy_extensions_clusters_aggregate_v3_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_clusters_aggregate_v3_cluster_proto_goTypes = []interface{}{ (*ClusterConfig)(nil), // 0: envoy.extensions.clusters.aggregate.v3.ClusterConfig } var file_envoy_extensions_clusters_aggregate_v3_cluster_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_clusters_aggregate_v3_cluster_proto_init() } func file_envoy_extensions_clusters_aggregate_v3_cluster_proto_init() { if File_envoy_extensions_clusters_aggregate_v3_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_clusters_aggregate_v3_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_clusters_aggregate_v3_cluster_proto_goTypes, DependencyIndexes: file_envoy_extensions_clusters_aggregate_v3_cluster_proto_depIdxs, MessageInfos: file_envoy_extensions_clusters_aggregate_v3_cluster_proto_msgTypes, }.Build() File_envoy_extensions_clusters_aggregate_v3_cluster_proto = out.File file_envoy_extensions_clusters_aggregate_v3_cluster_proto_rawDesc = nil file_envoy_extensions_clusters_aggregate_v3_cluster_proto_goTypes = nil file_envoy_extensions_clusters_aggregate_v3_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/clusters/aggregate/v3/cluster.pb.validate.go000077500000000000000000000066771454502223200306550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/clusters/aggregate/v3/cluster.proto package aggregatev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterConfigMultiError, or // nil if none found. func (m *ClusterConfig) ValidateAll() error { return m.validate(true) } func (m *ClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := ClusterConfigValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ClusterConfigMultiError(errors) } return nil } // ClusterConfigMultiError is an error wrapping multiple validation errors // returned by ClusterConfig.ValidateAll() if the designated constraints // aren't met. type ClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterConfigMultiError) AllErrors() []error { return m } // ClusterConfigValidationError is the validation error returned by // ClusterConfig.Validate if the designated constraints aren't met. type ClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterConfigValidationError) ErrorName() string { return "ClusterConfigValidationError" } // Error satisfies the builtin error interface func (e ClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/clusters/dynamic_forward_proxy/000077500000000000000000000000001454502223200265655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/dynamic_forward_proxy/v3/000077500000000000000000000000001454502223200271155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster.pb.go000077500000000000000000000566041454502223200315430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster.proto package dynamic_forward_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/dynamic_forward_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the dynamic forward proxy cluster. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.clusters.dynamic_forward_proxy] type ClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterImplementationSpecifier: // // *ClusterConfig_DnsCacheConfig // *ClusterConfig_SubClustersConfig ClusterImplementationSpecifier isClusterConfig_ClusterImplementationSpecifier `protobuf_oneof:"cluster_implementation_specifier"` // If true allow the cluster configuration to disable the auto_sni and auto_san_validation options // in the :ref:`cluster's upstream_http_protocol_options // ` AllowInsecureClusterOptions bool `protobuf:"varint,2,opt,name=allow_insecure_cluster_options,json=allowInsecureClusterOptions,proto3" json:"allow_insecure_cluster_options,omitempty"` // If true allow HTTP/2 and HTTP/3 connections to be reused for requests to different // origins than the connection was initially created for. This will only happen when the // resolved address for the new connection matches the peer address of the connection and // the TLS certificate is also valid for the new hostname. For example, if a connection // has previously been established to foo.example.com at IP 1.2.3.4 with a certificate // that is valid for “*.example.com“, then this connection could be used for requests to // bar.example.com if that also resolved to 1.2.3.4. // // .. note:: // // By design, this feature will maximize reuse of connections. This means that instead // opening a new connection when an existing connection reaches the maximum number of // concurrent streams, requests will instead be sent to the existing connection. // // .. note:: // // The coalesced connections might be to upstreams that would not be otherwise // selected by Envoy. See the section `Connection Reuse in RFC 7540 // `_ AllowCoalescedConnections bool `protobuf:"varint,3,opt,name=allow_coalesced_connections,json=allowCoalescedConnections,proto3" json:"allow_coalesced_connections,omitempty"` } func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescGZIP(), []int{0} } func (m *ClusterConfig) GetClusterImplementationSpecifier() isClusterConfig_ClusterImplementationSpecifier { if m != nil { return m.ClusterImplementationSpecifier } return nil } func (x *ClusterConfig) GetDnsCacheConfig() *v3.DnsCacheConfig { if x, ok := x.GetClusterImplementationSpecifier().(*ClusterConfig_DnsCacheConfig); ok { return x.DnsCacheConfig } return nil } func (x *ClusterConfig) GetSubClustersConfig() *SubClustersConfig { if x, ok := x.GetClusterImplementationSpecifier().(*ClusterConfig_SubClustersConfig); ok { return x.SubClustersConfig } return nil } func (x *ClusterConfig) GetAllowInsecureClusterOptions() bool { if x != nil { return x.AllowInsecureClusterOptions } return false } func (x *ClusterConfig) GetAllowCoalescedConnections() bool { if x != nil { return x.AllowCoalescedConnections } return false } type isClusterConfig_ClusterImplementationSpecifier interface { isClusterConfig_ClusterImplementationSpecifier() } type ClusterConfig_DnsCacheConfig struct { // The DNS cache configuration that the cluster will attach to. Note this configuration must // match that of associated :ref:`dynamic forward proxy HTTP filter configuration // `. DnsCacheConfig *v3.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3,oneof"` } type ClusterConfig_SubClustersConfig struct { // Configuration for sub clusters, when this configuration is enabled, // Envoy will create an independent sub cluster dynamically for each host:port. // Most of the configuration of a sub cluster is inherited from the current cluster, // i.e. health_checks, dns_resolvers and etc. // And the load_assignment will be set to the only one endpoint, host:port. // // Compared to the dns_cache_config, it has the following advantages: // // 1. sub clusters will be created with the STRICT_DNS DiscoveryType, // so that Envoy will use all of the IPs resolved from the host. // // 2. each sub cluster is full featured cluster, with lb_policy and health check and etc enabled. SubClustersConfig *SubClustersConfig `protobuf:"bytes,4,opt,name=sub_clusters_config,json=subClustersConfig,proto3,oneof"` } func (*ClusterConfig_DnsCacheConfig) isClusterConfig_ClusterImplementationSpecifier() {} func (*ClusterConfig_SubClustersConfig) isClusterConfig_ClusterImplementationSpecifier() {} // Configuration for sub clusters. Hard code STRICT_DNS cluster type now. type SubClustersConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The :ref:`load balancer type ` to use // when picking a host in a sub cluster. Note that CLUSTER_PROVIDED is not allowed here. LbPolicy v31.Cluster_LbPolicy `protobuf:"varint,1,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbPolicy" json:"lb_policy,omitempty"` // The maximum number of sub clusters that the DFP cluster will hold. If not specified defaults to 1024. MaxSubClusters *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_sub_clusters,json=maxSubClusters,proto3" json:"max_sub_clusters,omitempty"` // The TTL for sub clusters that are unused. Sub clusters that have not been used in the configured time // interval will be purged. If not specified defaults to 5m. SubClusterTtl *duration.Duration `protobuf:"bytes,3,opt,name=sub_cluster_ttl,json=subClusterTtl,proto3" json:"sub_cluster_ttl,omitempty"` // Sub clusters that should be created & warmed upon creation. This might provide a // performance improvement, in the form of cache hits, for sub clusters that are going to be // warmed during steady state and are known at config load time. PreresolveClusters []*v32.SocketAddress `protobuf:"bytes,4,rep,name=preresolve_clusters,json=preresolveClusters,proto3" json:"preresolve_clusters,omitempty"` } func (x *SubClustersConfig) Reset() { *x = SubClustersConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubClustersConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubClustersConfig) ProtoMessage() {} func (x *SubClustersConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubClustersConfig.ProtoReflect.Descriptor instead. func (*SubClustersConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescGZIP(), []int{1} } func (x *SubClustersConfig) GetLbPolicy() v31.Cluster_LbPolicy { if x != nil { return x.LbPolicy } return v31.Cluster_LbPolicy(0) } func (x *SubClustersConfig) GetMaxSubClusters() *wrappers.UInt32Value { if x != nil { return x.MaxSubClusters } return nil } func (x *SubClustersConfig) GetSubClusterTtl() *duration.Duration { if x != nil { return x.SubClusterTtl } return nil } func (x *SubClustersConfig) GetPreresolveClusters() []*v32.SocketAddress { if x != nil { return x.PreresolveClusters } return nil } var File_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto protoreflect.FileDescriptor var file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x03, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x77, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x22, 0x0a, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xd9, 0x02, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x74, 0x6c, 0x12, 0x54, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x12, 0x70, 0x72, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x42, 0xcd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescOnce sync.Once file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescData = file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDesc ) func file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescGZIP() []byte { file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescOnce.Do(func() { file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescData) }) return file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDescData } var file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_goTypes = []interface{}{ (*ClusterConfig)(nil), // 0: envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig (*SubClustersConfig)(nil), // 1: envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig (*v3.DnsCacheConfig)(nil), // 2: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig (v31.Cluster_LbPolicy)(0), // 3: envoy.config.cluster.v3.Cluster.LbPolicy (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*duration.Duration)(nil), // 5: google.protobuf.Duration (*v32.SocketAddress)(nil), // 6: envoy.config.core.v3.SocketAddress } var file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig.dns_cache_config:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig 1, // 1: envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig.sub_clusters_config:type_name -> envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig 3, // 2: envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig.lb_policy:type_name -> envoy.config.cluster.v3.Cluster.LbPolicy 4, // 3: envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig.max_sub_clusters:type_name -> google.protobuf.UInt32Value 5, // 4: envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig.sub_cluster_ttl:type_name -> google.protobuf.Duration 6, // 5: envoy.extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig.preresolve_clusters:type_name -> envoy.config.core.v3.SocketAddress 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_init() } func file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_init() { if File_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubClustersConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ClusterConfig_DnsCacheConfig)(nil), (*ClusterConfig_SubClustersConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_goTypes, DependencyIndexes: file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_depIdxs, MessageInfos: file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_msgTypes, }.Build() File_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto = out.File file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_rawDesc = nil file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_goTypes = nil file_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster.pb.validate.go000077500000000000000000000252651454502223200333320ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster.proto package dynamic_forward_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.Cluster_LbPolicy(0) ) // Validate checks the field values on ClusterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClusterConfigMultiError, or // nil if none found. func (m *ClusterConfig) ValidateAll() error { return m.validate(true) } func (m *ClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AllowInsecureClusterOptions // no validation rules for AllowCoalescedConnections switch v := m.ClusterImplementationSpecifier.(type) { case *ClusterConfig_DnsCacheConfig: if v == nil { err := ClusterConfigValidationError{ field: "ClusterImplementationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } case *ClusterConfig_SubClustersConfig: if v == nil { err := ClusterConfigValidationError{ field: "ClusterImplementationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSubClustersConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "SubClustersConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterConfigValidationError{ field: "SubClustersConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubClustersConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterConfigValidationError{ field: "SubClustersConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ClusterConfigMultiError(errors) } return nil } // ClusterConfigMultiError is an error wrapping multiple validation errors // returned by ClusterConfig.ValidateAll() if the designated constraints // aren't met. type ClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterConfigMultiError) AllErrors() []error { return m } // ClusterConfigValidationError is the validation error returned by // ClusterConfig.Validate if the designated constraints aren't met. type ClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterConfigValidationError) ErrorName() string { return "ClusterConfigValidationError" } // Error satisfies the builtin error interface func (e ClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterConfigValidationError{} // Validate checks the field values on SubClustersConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SubClustersConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubClustersConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubClustersConfigMultiError, or nil if none found. func (m *SubClustersConfig) ValidateAll() error { return m.validate(true) } func (m *SubClustersConfig) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := v3.Cluster_LbPolicy_name[int32(m.GetLbPolicy())]; !ok { err := SubClustersConfigValidationError{ field: "LbPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaxSubClusters(); wrapper != nil { if wrapper.GetValue() <= 0 { err := SubClustersConfigValidationError{ field: "MaxSubClusters", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if d := m.GetSubClusterTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = SubClustersConfigValidationError{ field: "SubClusterTtl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := SubClustersConfigValidationError{ field: "SubClusterTtl", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } for idx, item := range m.GetPreresolveClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubClustersConfigValidationError{ field: fmt.Sprintf("PreresolveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubClustersConfigValidationError{ field: fmt.Sprintf("PreresolveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubClustersConfigValidationError{ field: fmt.Sprintf("PreresolveClusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return SubClustersConfigMultiError(errors) } return nil } // SubClustersConfigMultiError is an error wrapping multiple validation errors // returned by SubClustersConfig.ValidateAll() if the designated constraints // aren't met. type SubClustersConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubClustersConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubClustersConfigMultiError) AllErrors() []error { return m } // SubClustersConfigValidationError is the validation error returned by // SubClustersConfig.Validate if the designated constraints aren't met. type SubClustersConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubClustersConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubClustersConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubClustersConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubClustersConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubClustersConfigValidationError) ErrorName() string { return "SubClustersConfigValidationError" } // Error satisfies the builtin error interface func (e SubClustersConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubClustersConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubClustersConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubClustersConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/clusters/redis/000077500000000000000000000000001454502223200232625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/redis/v3/000077500000000000000000000000001454502223200236125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/clusters/redis/v3/redis_cluster.pb.go000077500000000000000000000342151454502223200274200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/clusters/redis/v3/redis_cluster.proto package redisv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type RedisClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Interval between successive topology refresh requests. If not set, this defaults to 5s. ClusterRefreshRate *duration.Duration `protobuf:"bytes,1,opt,name=cluster_refresh_rate,json=clusterRefreshRate,proto3" json:"cluster_refresh_rate,omitempty"` // Timeout for topology refresh request. If not set, this defaults to 3s. ClusterRefreshTimeout *duration.Duration `protobuf:"bytes,2,opt,name=cluster_refresh_timeout,json=clusterRefreshTimeout,proto3" json:"cluster_refresh_timeout,omitempty"` // The minimum interval that must pass after triggering a topology refresh request before a new // request can possibly be triggered again. Any errors received during one of these // time intervals are ignored. If not set, this defaults to 5s. RedirectRefreshInterval *duration.Duration `protobuf:"bytes,3,opt,name=redirect_refresh_interval,json=redirectRefreshInterval,proto3" json:"redirect_refresh_interval,omitempty"` // The number of redirection errors that must be received before // triggering a topology refresh request. If not set, this defaults to 5. // If this is set to 0, topology refresh after redirect is disabled. RedirectRefreshThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=redirect_refresh_threshold,json=redirectRefreshThreshold,proto3" json:"redirect_refresh_threshold,omitempty"` // The number of failures that must be received before triggering a topology refresh request. // If not set, this defaults to 0, which disables the topology refresh due to failure. FailureRefreshThreshold uint32 `protobuf:"varint,5,opt,name=failure_refresh_threshold,json=failureRefreshThreshold,proto3" json:"failure_refresh_threshold,omitempty"` // The number of hosts became degraded or unhealthy before triggering a topology refresh request. // If not set, this defaults to 0, which disables the topology refresh due to degraded or // unhealthy host. HostDegradedRefreshThreshold uint32 `protobuf:"varint,6,opt,name=host_degraded_refresh_threshold,json=hostDegradedRefreshThreshold,proto3" json:"host_degraded_refresh_threshold,omitempty"` } func (x *RedisClusterConfig) Reset() { *x = RedisClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisClusterConfig) ProtoMessage() {} func (x *RedisClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisClusterConfig.ProtoReflect.Descriptor instead. func (*RedisClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescGZIP(), []int{0} } func (x *RedisClusterConfig) GetClusterRefreshRate() *duration.Duration { if x != nil { return x.ClusterRefreshRate } return nil } func (x *RedisClusterConfig) GetClusterRefreshTimeout() *duration.Duration { if x != nil { return x.ClusterRefreshTimeout } return nil } func (x *RedisClusterConfig) GetRedirectRefreshInterval() *duration.Duration { if x != nil { return x.RedirectRefreshInterval } return nil } func (x *RedisClusterConfig) GetRedirectRefreshThreshold() *wrappers.UInt32Value { if x != nil { return x.RedirectRefreshThreshold } return nil } func (x *RedisClusterConfig) GetFailureRefreshThreshold() uint32 { if x != nil { return x.FailureRefreshThreshold } return 0 } func (x *RedisClusterConfig) GetHostDegradedRefreshThreshold() uint32 { if x != nil { return x.HostDegradedRefreshThreshold } return 0 } var File_envoy_extensions_clusters_redis_v3_redis_cluster_proto protoreflect.FileDescriptor var file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDesc = []byte{ 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x04, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x17, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x19, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5a, 0x0a, 0x1a, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x68, 0x6f, 0x73, 0x74, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescOnce sync.Once file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescData = file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDesc ) func file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescGZIP() []byte { file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescOnce.Do(func() { file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescData) }) return file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDescData } var file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_goTypes = []interface{}{ (*RedisClusterConfig)(nil), // 0: envoy.extensions.clusters.redis.v3.RedisClusterConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.clusters.redis.v3.RedisClusterConfig.cluster_refresh_rate:type_name -> google.protobuf.Duration 1, // 1: envoy.extensions.clusters.redis.v3.RedisClusterConfig.cluster_refresh_timeout:type_name -> google.protobuf.Duration 1, // 2: envoy.extensions.clusters.redis.v3.RedisClusterConfig.redirect_refresh_interval:type_name -> google.protobuf.Duration 2, // 3: envoy.extensions.clusters.redis.v3.RedisClusterConfig.redirect_refresh_threshold:type_name -> google.protobuf.UInt32Value 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_init() } func file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_init() { if File_envoy_extensions_clusters_redis_v3_redis_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_goTypes, DependencyIndexes: file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_depIdxs, MessageInfos: file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_msgTypes, }.Build() File_envoy_extensions_clusters_redis_v3_redis_cluster_proto = out.File file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_rawDesc = nil file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_goTypes = nil file_envoy_extensions_clusters_redis_v3_redis_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/clusters/redis/v3/redis_cluster.pb.validate.go000077500000000000000000000147541454502223200312160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/clusters/redis/v3/redis_cluster.proto package redisv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RedisClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisClusterConfigMultiError, or nil if none found. func (m *RedisClusterConfig) ValidateAll() error { return m.validate(true) } func (m *RedisClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetClusterRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RedisClusterConfigValidationError{ field: "ClusterRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RedisClusterConfigValidationError{ field: "ClusterRefreshRate", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetClusterRefreshTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RedisClusterConfigValidationError{ field: "ClusterRefreshTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RedisClusterConfigValidationError{ field: "ClusterRefreshTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRedirectRefreshInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectRefreshInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisClusterConfigValidationError{ field: "RedirectRefreshInterval", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRedirectRefreshThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectRefreshThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisClusterConfigValidationError{ field: "RedirectRefreshThreshold", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureRefreshThreshold // no validation rules for HostDegradedRefreshThreshold if len(errors) > 0 { return RedisClusterConfigMultiError(errors) } return nil } // RedisClusterConfigMultiError is an error wrapping multiple validation errors // returned by RedisClusterConfig.ValidateAll() if the designated constraints // aren't met. type RedisClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisClusterConfigMultiError) AllErrors() []error { return m } // RedisClusterConfigValidationError is the validation error returned by // RedisClusterConfig.Validate if the designated constraints aren't met. type RedisClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisClusterConfigValidationError) ErrorName() string { return "RedisClusterConfigValidationError" } // Error satisfies the builtin error interface func (e RedisClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisClusterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/common/000077500000000000000000000000001454502223200216005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/async_files/000077500000000000000000000000001454502223200240775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/async_files/v3/000077500000000000000000000000001454502223200244275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/async_files/v3/async_file_manager.pb.go000077500000000000000000000311311454502223200311660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/common/async_files/v3/async_file_manager.proto package async_filesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration to instantiate or select a singleton “AsyncFileManager“. type AsyncFileManagerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional identifier for the manager. An empty string is a valid identifier // for a common, default “AsyncFileManager“. // // Reusing the same id with different configurations in the same envoy instance // is an error. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Types that are assignable to ManagerType: // // *AsyncFileManagerConfig_ThreadPool_ ManagerType isAsyncFileManagerConfig_ManagerType `protobuf_oneof:"manager_type"` } func (x *AsyncFileManagerConfig) Reset() { *x = AsyncFileManagerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AsyncFileManagerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AsyncFileManagerConfig) ProtoMessage() {} func (x *AsyncFileManagerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsyncFileManagerConfig.ProtoReflect.Descriptor instead. func (*AsyncFileManagerConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescGZIP(), []int{0} } func (x *AsyncFileManagerConfig) GetId() string { if x != nil { return x.Id } return "" } func (m *AsyncFileManagerConfig) GetManagerType() isAsyncFileManagerConfig_ManagerType { if m != nil { return m.ManagerType } return nil } func (x *AsyncFileManagerConfig) GetThreadPool() *AsyncFileManagerConfig_ThreadPool { if x, ok := x.GetManagerType().(*AsyncFileManagerConfig_ThreadPool_); ok { return x.ThreadPool } return nil } type isAsyncFileManagerConfig_ManagerType interface { isAsyncFileManagerConfig_ManagerType() } type AsyncFileManagerConfig_ThreadPool_ struct { // Configuration for a thread-pool based async file manager. ThreadPool *AsyncFileManagerConfig_ThreadPool `protobuf:"bytes,2,opt,name=thread_pool,json=threadPool,proto3,oneof"` } func (*AsyncFileManagerConfig_ThreadPool_) isAsyncFileManagerConfig_ManagerType() {} type AsyncFileManagerConfig_ThreadPool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of threads to use. If unset or zero, will default to the number // of concurrent threads the hardware supports. This default is subject to // change if performance analysis suggests it. ThreadCount uint32 `protobuf:"varint,1,opt,name=thread_count,json=threadCount,proto3" json:"thread_count,omitempty"` } func (x *AsyncFileManagerConfig_ThreadPool) Reset() { *x = AsyncFileManagerConfig_ThreadPool{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AsyncFileManagerConfig_ThreadPool) String() string { return protoimpl.X.MessageStringOf(x) } func (*AsyncFileManagerConfig_ThreadPool) ProtoMessage() {} func (x *AsyncFileManagerConfig_ThreadPool) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsyncFileManagerConfig_ThreadPool.ProtoReflect.Descriptor instead. func (*AsyncFileManagerConfig_ThreadPool) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescGZIP(), []int{0, 0} } func (x *AsyncFileManagerConfig_ThreadPool) GetThreadCount() uint32 { if x != nil { return x.ThreadCount } return 0 } var File_envoy_extensions_common_async_files_v3_async_file_manager_proto protoreflect.FileDescriptor var file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x6c, 0x0a, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6f, 0x6c, 0x1a, 0x39, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x18, 0x80, 0x08, 0x52, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xbc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescOnce sync.Once file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescData = file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDesc ) func file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescGZIP() []byte { file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescOnce.Do(func() { file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescData) }) return file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDescData } var file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_common_async_files_v3_async_file_manager_proto_goTypes = []interface{}{ (*AsyncFileManagerConfig)(nil), // 0: envoy.extensions.common.async_files.v3.AsyncFileManagerConfig (*AsyncFileManagerConfig_ThreadPool)(nil), // 1: envoy.extensions.common.async_files.v3.AsyncFileManagerConfig.ThreadPool } var file_envoy_extensions_common_async_files_v3_async_file_manager_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.common.async_files.v3.AsyncFileManagerConfig.thread_pool:type_name -> envoy.extensions.common.async_files.v3.AsyncFileManagerConfig.ThreadPool 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_common_async_files_v3_async_file_manager_proto_init() } func file_envoy_extensions_common_async_files_v3_async_file_manager_proto_init() { if File_envoy_extensions_common_async_files_v3_async_file_manager_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AsyncFileManagerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AsyncFileManagerConfig_ThreadPool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes[0].OneofWrappers = []interface{}{ (*AsyncFileManagerConfig_ThreadPool_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_common_async_files_v3_async_file_manager_proto_goTypes, DependencyIndexes: file_envoy_extensions_common_async_files_v3_async_file_manager_proto_depIdxs, MessageInfos: file_envoy_extensions_common_async_files_v3_async_file_manager_proto_msgTypes, }.Build() File_envoy_extensions_common_async_files_v3_async_file_manager_proto = out.File file_envoy_extensions_common_async_files_v3_async_file_manager_proto_rawDesc = nil file_envoy_extensions_common_async_files_v3_async_file_manager_proto_goTypes = nil file_envoy_extensions_common_async_files_v3_async_file_manager_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/common/async_files/v3/async_file_manager.pb.validate.go000077500000000000000000000205331454502223200327620ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/common/async_files/v3/async_file_manager.proto package async_filesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AsyncFileManagerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AsyncFileManagerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AsyncFileManagerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AsyncFileManagerConfigMultiError, or nil if none found. func (m *AsyncFileManagerConfig) ValidateAll() error { return m.validate(true) } func (m *AsyncFileManagerConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id oneofManagerTypePresent := false switch v := m.ManagerType.(type) { case *AsyncFileManagerConfig_ThreadPool_: if v == nil { err := AsyncFileManagerConfigValidationError{ field: "ManagerType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofManagerTypePresent = true if all { switch v := interface{}(m.GetThreadPool()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AsyncFileManagerConfigValidationError{ field: "ThreadPool", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AsyncFileManagerConfigValidationError{ field: "ThreadPool", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetThreadPool()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AsyncFileManagerConfigValidationError{ field: "ThreadPool", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofManagerTypePresent { err := AsyncFileManagerConfigValidationError{ field: "ManagerType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AsyncFileManagerConfigMultiError(errors) } return nil } // AsyncFileManagerConfigMultiError is an error wrapping multiple validation // errors returned by AsyncFileManagerConfig.ValidateAll() if the designated // constraints aren't met. type AsyncFileManagerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AsyncFileManagerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AsyncFileManagerConfigMultiError) AllErrors() []error { return m } // AsyncFileManagerConfigValidationError is the validation error returned by // AsyncFileManagerConfig.Validate if the designated constraints aren't met. type AsyncFileManagerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AsyncFileManagerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AsyncFileManagerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AsyncFileManagerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AsyncFileManagerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AsyncFileManagerConfigValidationError) ErrorName() string { return "AsyncFileManagerConfigValidationError" } // Error satisfies the builtin error interface func (e AsyncFileManagerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAsyncFileManagerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AsyncFileManagerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AsyncFileManagerConfigValidationError{} // Validate checks the field values on AsyncFileManagerConfig_ThreadPool with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *AsyncFileManagerConfig_ThreadPool) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AsyncFileManagerConfig_ThreadPool // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // AsyncFileManagerConfig_ThreadPoolMultiError, or nil if none found. func (m *AsyncFileManagerConfig_ThreadPool) ValidateAll() error { return m.validate(true) } func (m *AsyncFileManagerConfig_ThreadPool) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetThreadCount() > 1024 { err := AsyncFileManagerConfig_ThreadPoolValidationError{ field: "ThreadCount", reason: "value must be less than or equal to 1024", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AsyncFileManagerConfig_ThreadPoolMultiError(errors) } return nil } // AsyncFileManagerConfig_ThreadPoolMultiError is an error wrapping multiple // validation errors returned by // AsyncFileManagerConfig_ThreadPool.ValidateAll() if the designated // constraints aren't met. type AsyncFileManagerConfig_ThreadPoolMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AsyncFileManagerConfig_ThreadPoolMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AsyncFileManagerConfig_ThreadPoolMultiError) AllErrors() []error { return m } // AsyncFileManagerConfig_ThreadPoolValidationError is the validation error // returned by AsyncFileManagerConfig_ThreadPool.Validate if the designated // constraints aren't met. type AsyncFileManagerConfig_ThreadPoolValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AsyncFileManagerConfig_ThreadPoolValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AsyncFileManagerConfig_ThreadPoolValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AsyncFileManagerConfig_ThreadPoolValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AsyncFileManagerConfig_ThreadPoolValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AsyncFileManagerConfig_ThreadPoolValidationError) ErrorName() string { return "AsyncFileManagerConfig_ThreadPoolValidationError" } // Error satisfies the builtin error interface func (e AsyncFileManagerConfig_ThreadPoolValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAsyncFileManagerConfig_ThreadPool.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AsyncFileManagerConfig_ThreadPoolValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AsyncFileManagerConfig_ThreadPoolValidationError{} go-control-plane-0.12.0/envoy/extensions/common/dynamic_forward_proxy/000077500000000000000000000000001454502223200262115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/dynamic_forward_proxy/v3/000077500000000000000000000000001454502223200265415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.pb.go000077500000000000000000000775431454502223200314220ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto package dynamic_forward_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/common/key_value/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration of circuit breakers for resolver. type DnsCacheCircuitBreakers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum number of pending requests that Envoy will allow to the // resolver. If not specified, the default is 1024. MaxPendingRequests *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"` } func (x *DnsCacheCircuitBreakers) Reset() { *x = DnsCacheCircuitBreakers{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsCacheCircuitBreakers) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsCacheCircuitBreakers) ProtoMessage() {} func (x *DnsCacheCircuitBreakers) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsCacheCircuitBreakers.ProtoReflect.Descriptor instead. func (*DnsCacheCircuitBreakers) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescGZIP(), []int{0} } func (x *DnsCacheCircuitBreakers) GetMaxPendingRequests() *wrappers.UInt32Value { if x != nil { return x.MaxPendingRequests } return nil } // Configuration for the dynamic forward proxy DNS cache. See the :ref:`architecture overview // ` for more information. // [#next-free-field: 15] type DnsCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the cache. Multiple named caches allow independent dynamic forward proxy // configurations to operate within a single Envoy process using different configurations. All // configurations with the same name *must* otherwise have the same settings when referenced // from different configuration components. Configuration will fail to load if this is not // the case. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The DNS lookup family to use during resolution. // // [#comment:TODO(mattklein123): Figure out how to support IPv4/IPv6 "happy eyeballs" mode. The // way this might work is a new lookup family which returns both IPv4 and IPv6 addresses, and // then configures a host to have a primary and fall back address. With this, we could very // likely build a "happy eyeballs" connection pool which would race the primary / fall back // address and return the one that wins. This same method could potentially also be used for // QUIC to TCP fall back.] DnsLookupFamily v3.Cluster_DnsLookupFamily `protobuf:"varint,2,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.config.cluster.v3.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"` // The DNS refresh rate for unresolved DNS hosts. If not specified defaults to 60s. // // The refresh rate is rounded to the closest millisecond, and must be at least 1ms. // // Once a host has been resolved, the refresh rate will be the DNS TTL, capped // at a minimum of “dns_min_refresh_rate“. DnsRefreshRate *duration.Duration `protobuf:"bytes,3,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"` // The minimum rate that DNS resolution will occur. Per “dns_refresh_rate“, once a host is // resolved, the DNS TTL will be used, with a minimum set by “dns_min_refresh_rate“. // “dns_min_refresh_rate“ defaults to 5s and must also be >= 5s. DnsMinRefreshRate *duration.Duration `protobuf:"bytes,14,opt,name=dns_min_refresh_rate,json=dnsMinRefreshRate,proto3" json:"dns_min_refresh_rate,omitempty"` // The TTL for hosts that are unused. Hosts that have not been used in the configured time // interval will be purged. If not specified defaults to 5m. // // .. note: // // The TTL is only checked at the time of DNS refresh, as specified by ``dns_refresh_rate``. This // means that if the configured TTL is shorter than the refresh rate the host may not be removed // immediately. // // .. note: // // The TTL has no relation to DNS TTL and is only used to control Envoy's resource usage. HostTtl *duration.Duration `protobuf:"bytes,4,opt,name=host_ttl,json=hostTtl,proto3" json:"host_ttl,omitempty"` // The maximum number of hosts that the cache will hold. If not specified defaults to 1024. // // .. note: // // The implementation is approximate and enforced independently on each worker thread, thus // it is possible for the maximum hosts in the cache to go slightly above the configured // value depending on timing. This is similar to how other circuit breakers work. MaxHosts *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=max_hosts,json=maxHosts,proto3" json:"max_hosts,omitempty"` // If the DNS failure refresh rate is specified, // this is used as the cache's DNS refresh rate when DNS requests are failing. If this setting is // not specified, the failure refresh rate defaults to the dns_refresh_rate. DnsFailureRefreshRate *v3.Cluster_RefreshRate `protobuf:"bytes,6,opt,name=dns_failure_refresh_rate,json=dnsFailureRefreshRate,proto3" json:"dns_failure_refresh_rate,omitempty"` // The config of circuit breakers for resolver. It provides a configurable threshold. // Envoy will use dns cache circuit breakers with default settings even if this value is not set. DnsCacheCircuitBreaker *DnsCacheCircuitBreakers `protobuf:"bytes,7,opt,name=dns_cache_circuit_breaker,json=dnsCacheCircuitBreaker,proto3" json:"dns_cache_circuit_breaker,omitempty"` // Always use TCP queries instead of UDP queries for DNS lookups. // This field is deprecated in favor of “dns_resolution_config“ // which aggregates all of the DNS resolver configuration in a single message. // // Deprecated: Marked as deprecated in envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto. UseTcpForDnsLookups bool `protobuf:"varint,8,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"` // DNS resolution configuration which includes the underlying dns resolver addresses and options. // This field is deprecated in favor of // :ref:`typed_dns_resolver_config `. // // Deprecated: Marked as deprecated in envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto. DnsResolutionConfig *v31.DnsResolutionConfig `protobuf:"bytes,9,opt,name=dns_resolution_config,json=dnsResolutionConfig,proto3" json:"dns_resolution_config,omitempty"` // DNS resolver type configuration extension. This extension can be used to configure c-ares, apple, // or any other DNS resolver types and the related parameters. // For example, an object of // :ref:`CaresDnsResolverConfig ` // can be packed into this “typed_dns_resolver_config“. This configuration replaces the // :ref:`dns_resolution_config ` // configuration. // During the transition period when both “dns_resolution_config“ and “typed_dns_resolver_config“ exists, // when “typed_dns_resolver_config“ is in place, Envoy will use it and ignore “dns_resolution_config“. // When “typed_dns_resolver_config“ is missing, the default behavior is in place. // [#extension-category: envoy.network.dns_resolver] TypedDnsResolverConfig *v31.TypedExtensionConfig `protobuf:"bytes,12,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"` // Hostnames that should be preresolved into the cache upon creation. This might provide a // performance improvement, in the form of cache hits, for hostnames that are going to be // resolved during steady state and are known at config load time. PreresolveHostnames []*v31.SocketAddress `protobuf:"bytes,10,rep,name=preresolve_hostnames,json=preresolveHostnames,proto3" json:"preresolve_hostnames,omitempty"` // The timeout used for DNS queries. This timeout is independent of any timeout and retry policy // used by the underlying DNS implementation (e.g., c-areas and Apple DNS) which are opaque. // Setting this timeout will ensure that queries succeed or fail within the specified time frame // and are then retried using the standard refresh rates. Defaults to 5s if not set. DnsQueryTimeout *duration.Duration `protobuf:"bytes,11,opt,name=dns_query_timeout,json=dnsQueryTimeout,proto3" json:"dns_query_timeout,omitempty"` // Configuration to flush the DNS cache to long term storage. KeyValueConfig *v32.KeyValueStoreConfig `protobuf:"bytes,13,opt,name=key_value_config,json=keyValueConfig,proto3" json:"key_value_config,omitempty"` } func (x *DnsCacheConfig) Reset() { *x = DnsCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsCacheConfig) ProtoMessage() {} func (x *DnsCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsCacheConfig.ProtoReflect.Descriptor instead. func (*DnsCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescGZIP(), []int{1} } func (x *DnsCacheConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *DnsCacheConfig) GetDnsLookupFamily() v3.Cluster_DnsLookupFamily { if x != nil { return x.DnsLookupFamily } return v3.Cluster_DnsLookupFamily(0) } func (x *DnsCacheConfig) GetDnsRefreshRate() *duration.Duration { if x != nil { return x.DnsRefreshRate } return nil } func (x *DnsCacheConfig) GetDnsMinRefreshRate() *duration.Duration { if x != nil { return x.DnsMinRefreshRate } return nil } func (x *DnsCacheConfig) GetHostTtl() *duration.Duration { if x != nil { return x.HostTtl } return nil } func (x *DnsCacheConfig) GetMaxHosts() *wrappers.UInt32Value { if x != nil { return x.MaxHosts } return nil } func (x *DnsCacheConfig) GetDnsFailureRefreshRate() *v3.Cluster_RefreshRate { if x != nil { return x.DnsFailureRefreshRate } return nil } func (x *DnsCacheConfig) GetDnsCacheCircuitBreaker() *DnsCacheCircuitBreakers { if x != nil { return x.DnsCacheCircuitBreaker } return nil } // Deprecated: Marked as deprecated in envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto. func (x *DnsCacheConfig) GetUseTcpForDnsLookups() bool { if x != nil { return x.UseTcpForDnsLookups } return false } // Deprecated: Marked as deprecated in envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto. func (x *DnsCacheConfig) GetDnsResolutionConfig() *v31.DnsResolutionConfig { if x != nil { return x.DnsResolutionConfig } return nil } func (x *DnsCacheConfig) GetTypedDnsResolverConfig() *v31.TypedExtensionConfig { if x != nil { return x.TypedDnsResolverConfig } return nil } func (x *DnsCacheConfig) GetPreresolveHostnames() []*v31.SocketAddress { if x != nil { return x.PreresolveHostnames } return nil } func (x *DnsCacheConfig) GetDnsQueryTimeout() *duration.Duration { if x != nil { return x.DnsQueryTimeout } return nil } func (x *DnsCacheConfig) GetKeyValueConfig() *v32.KeyValueStoreConfig { if x != nil { return x.KeyValueConfig } return nil } var File_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto protoreflect.FileDescriptor var file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x17, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x9b, 0x0a, 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x51, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x32, 0x02, 0x08, 0x05, 0x52, 0x11, 0x64, 0x6e, 0x73, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x54, 0x74, 0x6c, 0x12, 0x42, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x52, 0x15, 0x64, 0x6e, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x19, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x16, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x63, 0x70, 0x46, 0x6f, 0x72, 0x44, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x19, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x13, 0x70, 0x72, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x64, 0x6e, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0f, 0x64, 0x6e, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5f, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescOnce sync.Once file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescData = file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDesc ) func file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescGZIP() []byte { file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescOnce.Do(func() { file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescData) }) return file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDescData } var file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_goTypes = []interface{}{ (*DnsCacheCircuitBreakers)(nil), // 0: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers (*DnsCacheConfig)(nil), // 1: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value (v3.Cluster_DnsLookupFamily)(0), // 3: envoy.config.cluster.v3.Cluster.DnsLookupFamily (*duration.Duration)(nil), // 4: google.protobuf.Duration (*v3.Cluster_RefreshRate)(nil), // 5: envoy.config.cluster.v3.Cluster.RefreshRate (*v31.DnsResolutionConfig)(nil), // 6: envoy.config.core.v3.DnsResolutionConfig (*v31.TypedExtensionConfig)(nil), // 7: envoy.config.core.v3.TypedExtensionConfig (*v31.SocketAddress)(nil), // 8: envoy.config.core.v3.SocketAddress (*v32.KeyValueStoreConfig)(nil), // 9: envoy.config.common.key_value.v3.KeyValueStoreConfig } var file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers.max_pending_requests:type_name -> google.protobuf.UInt32Value 3, // 1: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_lookup_family:type_name -> envoy.config.cluster.v3.Cluster.DnsLookupFamily 4, // 2: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_refresh_rate:type_name -> google.protobuf.Duration 4, // 3: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_min_refresh_rate:type_name -> google.protobuf.Duration 4, // 4: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.host_ttl:type_name -> google.protobuf.Duration 2, // 5: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.max_hosts:type_name -> google.protobuf.UInt32Value 5, // 6: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_failure_refresh_rate:type_name -> envoy.config.cluster.v3.Cluster.RefreshRate 0, // 7: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_cache_circuit_breaker:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheCircuitBreakers 6, // 8: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig 7, // 9: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 8, // 10: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.preresolve_hostnames:type_name -> envoy.config.core.v3.SocketAddress 4, // 11: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.dns_query_timeout:type_name -> google.protobuf.Duration 9, // 12: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig.key_value_config:type_name -> envoy.config.common.key_value.v3.KeyValueStoreConfig 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_init() } func file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_init() { if File_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsCacheCircuitBreakers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_goTypes, DependencyIndexes: file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_depIdxs, MessageInfos: file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_msgTypes, }.Build() File_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto = out.File file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_rawDesc = nil file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_goTypes = nil file_envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.pb.validate.go000077500000000000000000000372531454502223200332040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto package dynamic_forward_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.Cluster_DnsLookupFamily(0) ) // Validate checks the field values on DnsCacheCircuitBreakers with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DnsCacheCircuitBreakers) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsCacheCircuitBreakers with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsCacheCircuitBreakersMultiError, or nil if none found. func (m *DnsCacheCircuitBreakers) ValidateAll() error { return m.validate(true) } func (m *DnsCacheCircuitBreakers) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxPendingRequests()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheCircuitBreakersValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheCircuitBreakersValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPendingRequests()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheCircuitBreakersValidationError{ field: "MaxPendingRequests", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DnsCacheCircuitBreakersMultiError(errors) } return nil } // DnsCacheCircuitBreakersMultiError is an error wrapping multiple validation // errors returned by DnsCacheCircuitBreakers.ValidateAll() if the designated // constraints aren't met. type DnsCacheCircuitBreakersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsCacheCircuitBreakersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsCacheCircuitBreakersMultiError) AllErrors() []error { return m } // DnsCacheCircuitBreakersValidationError is the validation error returned by // DnsCacheCircuitBreakers.Validate if the designated constraints aren't met. type DnsCacheCircuitBreakersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsCacheCircuitBreakersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsCacheCircuitBreakersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsCacheCircuitBreakersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsCacheCircuitBreakersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsCacheCircuitBreakersValidationError) ErrorName() string { return "DnsCacheCircuitBreakersValidationError" } // Error satisfies the builtin error interface func (e DnsCacheCircuitBreakersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsCacheCircuitBreakers.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsCacheCircuitBreakersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsCacheCircuitBreakersValidationError{} // Validate checks the field values on DnsCacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DnsCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsCacheConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DnsCacheConfigMultiError, // or nil if none found. func (m *DnsCacheConfig) ValidateAll() error { return m.validate(true) } func (m *DnsCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := DnsCacheConfigValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := v3.Cluster_DnsLookupFamily_name[int32(m.GetDnsLookupFamily())]; !ok { err := DnsCacheConfigValidationError{ field: "DnsLookupFamily", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if d := m.GetDnsRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "DnsRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := DnsCacheConfigValidationError{ field: "DnsRefreshRate", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetDnsMinRefreshRate(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "DnsMinRefreshRate", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(5*time.Second + 0*time.Nanosecond) if dur < gte { err := DnsCacheConfigValidationError{ field: "DnsMinRefreshRate", reason: "value must be greater than or equal to 5s", } if !all { return err } errors = append(errors, err) } } } if d := m.GetHostTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "HostTtl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := DnsCacheConfigValidationError{ field: "HostTtl", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetMaxHosts(); wrapper != nil { if wrapper.GetValue() <= 0 { err := DnsCacheConfigValidationError{ field: "MaxHosts", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetDnsFailureRefreshRate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsFailureRefreshRate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "DnsFailureRefreshRate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDnsCacheCircuitBreaker()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsCacheCircuitBreaker", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsCacheCircuitBreaker", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheCircuitBreaker()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "DnsCacheCircuitBreaker", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseTcpForDnsLookups if all { switch v := interface{}(m.GetDnsResolutionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolutionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedDnsResolverConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedDnsResolverConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetPreresolveHostnames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: fmt.Sprintf("PreresolveHostnames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: fmt.Sprintf("PreresolveHostnames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: fmt.Sprintf("PreresolveHostnames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if d := m.GetDnsQueryTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsCacheConfigValidationError{ field: "DnsQueryTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := DnsCacheConfigValidationError{ field: "DnsQueryTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetKeyValueConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "KeyValueConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsCacheConfigValidationError{ field: "KeyValueConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyValueConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsCacheConfigValidationError{ field: "KeyValueConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DnsCacheConfigMultiError(errors) } return nil } // DnsCacheConfigMultiError is an error wrapping multiple validation errors // returned by DnsCacheConfig.ValidateAll() if the designated constraints // aren't met. type DnsCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsCacheConfigMultiError) AllErrors() []error { return m } // DnsCacheConfigValidationError is the validation error returned by // DnsCacheConfig.Validate if the designated constraints aren't met. type DnsCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsCacheConfigValidationError) ErrorName() string { return "DnsCacheConfigValidationError" } // Error satisfies the builtin error interface func (e DnsCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsCacheConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/common/matching/000077500000000000000000000000001454502223200233725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/matching/v3/000077500000000000000000000000001454502223200237225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/matching/v3/extension_matcher.pb.go000077500000000000000000000341241454502223200303770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/common/matching/v3/extension_matcher.proto package matchingv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Wrapper around an existing extension that provides an associated matcher. This allows // decorating an existing extension with a matcher, which can be used to match against // relevant protocol data. type ExtensionWithMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The associated matcher. This is deprecated in favor of xds_matcher. // // Deprecated: Marked as deprecated in envoy/extensions/common/matching/v3/extension_matcher.proto. Matcher *v3.Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"` // The associated matcher. XdsMatcher *v31.Matcher `protobuf:"bytes,3,opt,name=xds_matcher,json=xdsMatcher,proto3" json:"xds_matcher,omitempty"` // The underlying extension config. ExtensionConfig *v32.TypedExtensionConfig `protobuf:"bytes,2,opt,name=extension_config,json=extensionConfig,proto3" json:"extension_config,omitempty"` } func (x *ExtensionWithMatcher) Reset() { *x = ExtensionWithMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtensionWithMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtensionWithMatcher) ProtoMessage() {} func (x *ExtensionWithMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtensionWithMatcher.ProtoReflect.Descriptor instead. func (*ExtensionWithMatcher) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/extensions/common/matching/v3/extension_matcher.proto. func (x *ExtensionWithMatcher) GetMatcher() *v3.Matcher { if x != nil { return x.Matcher } return nil } func (x *ExtensionWithMatcher) GetXdsMatcher() *v31.Matcher { if x != nil { return x.XdsMatcher } return nil } func (x *ExtensionWithMatcher) GetExtensionConfig() *v32.TypedExtensionConfig { if x != nil { return x.ExtensionConfig } return nil } // Extra settings on a per virtualhost/route/weighted-cluster level. type ExtensionWithMatcherPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Matcher override. XdsMatcher *v31.Matcher `protobuf:"bytes,1,opt,name=xds_matcher,json=xdsMatcher,proto3" json:"xds_matcher,omitempty"` } func (x *ExtensionWithMatcherPerRoute) Reset() { *x = ExtensionWithMatcherPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtensionWithMatcherPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtensionWithMatcherPerRoute) ProtoMessage() {} func (x *ExtensionWithMatcherPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtensionWithMatcherPerRoute.ProtoReflect.Descriptor instead. func (*ExtensionWithMatcherPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescGZIP(), []int{1} } func (x *ExtensionWithMatcherPerRoute) GetXdsMatcher() *v31.Matcher { if x != nil { return x.XdsMatcher } return nil } var File_envoy_extensions_common_matching_v3_extension_matcher_proto protoreflect.FileDescriptor var file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x78, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0a, 0x78, 0x64, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5d, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x78, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0a, 0x78, 0x64, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0xab, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescOnce sync.Once file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescData = file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDesc ) func file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescGZIP() []byte { file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescOnce.Do(func() { file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescData) }) return file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDescData } var file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_common_matching_v3_extension_matcher_proto_goTypes = []interface{}{ (*ExtensionWithMatcher)(nil), // 0: envoy.extensions.common.matching.v3.ExtensionWithMatcher (*ExtensionWithMatcherPerRoute)(nil), // 1: envoy.extensions.common.matching.v3.ExtensionWithMatcherPerRoute (*v3.Matcher)(nil), // 2: envoy.config.common.matcher.v3.Matcher (*v31.Matcher)(nil), // 3: xds.type.matcher.v3.Matcher (*v32.TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_common_matching_v3_extension_matcher_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.common.matching.v3.ExtensionWithMatcher.matcher:type_name -> envoy.config.common.matcher.v3.Matcher 3, // 1: envoy.extensions.common.matching.v3.ExtensionWithMatcher.xds_matcher:type_name -> xds.type.matcher.v3.Matcher 4, // 2: envoy.extensions.common.matching.v3.ExtensionWithMatcher.extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 3: envoy.extensions.common.matching.v3.ExtensionWithMatcherPerRoute.xds_matcher:type_name -> xds.type.matcher.v3.Matcher 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_common_matching_v3_extension_matcher_proto_init() } func file_envoy_extensions_common_matching_v3_extension_matcher_proto_init() { if File_envoy_extensions_common_matching_v3_extension_matcher_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtensionWithMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtensionWithMatcherPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_common_matching_v3_extension_matcher_proto_goTypes, DependencyIndexes: file_envoy_extensions_common_matching_v3_extension_matcher_proto_depIdxs, MessageInfos: file_envoy_extensions_common_matching_v3_extension_matcher_proto_msgTypes, }.Build() File_envoy_extensions_common_matching_v3_extension_matcher_proto = out.File file_envoy_extensions_common_matching_v3_extension_matcher_proto_rawDesc = nil file_envoy_extensions_common_matching_v3_extension_matcher_proto_goTypes = nil file_envoy_extensions_common_matching_v3_extension_matcher_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/common/matching/v3/extension_matcher.pb.validate.go000077500000000000000000000240141454502223200321640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/common/matching/v3/extension_matcher.proto package matchingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ExtensionWithMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ExtensionWithMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtensionWithMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtensionWithMatcherMultiError, or nil if none found. func (m *ExtensionWithMatcher) ValidateAll() error { return m.validate(true) } func (m *ExtensionWithMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionWithMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetXdsMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXdsMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionWithMatcherValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, } } } if m.GetExtensionConfig() == nil { err := ExtensionWithMatcherValidationError{ field: "ExtensionConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetExtensionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "ExtensionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionWithMatcherValidationError{ field: "ExtensionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtensionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionWithMatcherValidationError{ field: "ExtensionConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ExtensionWithMatcherMultiError(errors) } return nil } // ExtensionWithMatcherMultiError is an error wrapping multiple validation // errors returned by ExtensionWithMatcher.ValidateAll() if the designated // constraints aren't met. type ExtensionWithMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionWithMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionWithMatcherMultiError) AllErrors() []error { return m } // ExtensionWithMatcherValidationError is the validation error returned by // ExtensionWithMatcher.Validate if the designated constraints aren't met. type ExtensionWithMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionWithMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionWithMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionWithMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionWithMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionWithMatcherValidationError) ErrorName() string { return "ExtensionWithMatcherValidationError" } // Error satisfies the builtin error interface func (e ExtensionWithMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtensionWithMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionWithMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionWithMatcherValidationError{} // Validate checks the field values on ExtensionWithMatcherPerRoute with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ExtensionWithMatcherPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtensionWithMatcherPerRoute with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtensionWithMatcherPerRouteMultiError, or nil if none found. func (m *ExtensionWithMatcherPerRoute) ValidateAll() error { return m.validate(true) } func (m *ExtensionWithMatcherPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetXdsMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtensionWithMatcherPerRouteValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtensionWithMatcherPerRouteValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXdsMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtensionWithMatcherPerRouteValidationError{ field: "XdsMatcher", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ExtensionWithMatcherPerRouteMultiError(errors) } return nil } // ExtensionWithMatcherPerRouteMultiError is an error wrapping multiple // validation errors returned by ExtensionWithMatcherPerRoute.ValidateAll() if // the designated constraints aren't met. type ExtensionWithMatcherPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtensionWithMatcherPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtensionWithMatcherPerRouteMultiError) AllErrors() []error { return m } // ExtensionWithMatcherPerRouteValidationError is the validation error returned // by ExtensionWithMatcherPerRoute.Validate if the designated constraints // aren't met. type ExtensionWithMatcherPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtensionWithMatcherPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtensionWithMatcherPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtensionWithMatcherPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtensionWithMatcherPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtensionWithMatcherPerRouteValidationError) ErrorName() string { return "ExtensionWithMatcherPerRouteValidationError" } // Error satisfies the builtin error interface func (e ExtensionWithMatcherPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtensionWithMatcherPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtensionWithMatcherPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtensionWithMatcherPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/common/ratelimit/000077500000000000000000000000001454502223200235725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/ratelimit/v3/000077500000000000000000000000001454502223200241225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/ratelimit/v3/ratelimit.pb.go000077500000000000000000000644071454502223200270610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/common/ratelimit/v3/ratelimit.proto package ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Defines the version of the standard to use for X-RateLimit headers. type XRateLimitHeadersRFCVersion int32 const ( // X-RateLimit headers disabled. XRateLimitHeadersRFCVersion_OFF XRateLimitHeadersRFCVersion = 0 // Use `draft RFC Version 03 `_ where 3 headers will be added: // // - “X-RateLimit-Limit“ - indicates the request-quota associated to the // client in the current time-window followed by the description of the // quota policy. The value is returned by the maximum tokens of the token bucket. // - “X-RateLimit-Remaining“ - indicates the remaining requests in the // current time-window. The value is returned by the remaining tokens in the token bucket. // - “X-RateLimit-Reset“ - indicates the number of seconds until reset of // the current time-window. The value is returned by the remaining fill interval of the token bucket. XRateLimitHeadersRFCVersion_DRAFT_VERSION_03 XRateLimitHeadersRFCVersion = 1 ) // Enum value maps for XRateLimitHeadersRFCVersion. var ( XRateLimitHeadersRFCVersion_name = map[int32]string{ 0: "OFF", 1: "DRAFT_VERSION_03", } XRateLimitHeadersRFCVersion_value = map[string]int32{ "OFF": 0, "DRAFT_VERSION_03": 1, } ) func (x XRateLimitHeadersRFCVersion) Enum() *XRateLimitHeadersRFCVersion { p := new(XRateLimitHeadersRFCVersion) *p = x return p } func (x XRateLimitHeadersRFCVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (XRateLimitHeadersRFCVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes[0].Descriptor() } func (XRateLimitHeadersRFCVersion) Type() protoreflect.EnumType { return &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes[0] } func (x XRateLimitHeadersRFCVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use XRateLimitHeadersRFCVersion.Descriptor instead. func (XRateLimitHeadersRFCVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0} } type VhRateLimitsOptions int32 const ( // Use the virtual host rate limits unless the route has a rate limit policy. VhRateLimitsOptions_OVERRIDE VhRateLimitsOptions = 0 // Use the virtual host rate limits even if the route has a rate limit policy. VhRateLimitsOptions_INCLUDE VhRateLimitsOptions = 1 // Ignore the virtual host rate limits even if the route does not have a rate limit policy. VhRateLimitsOptions_IGNORE VhRateLimitsOptions = 2 ) // Enum value maps for VhRateLimitsOptions. var ( VhRateLimitsOptions_name = map[int32]string{ 0: "OVERRIDE", 1: "INCLUDE", 2: "IGNORE", } VhRateLimitsOptions_value = map[string]int32{ "OVERRIDE": 0, "INCLUDE": 1, "IGNORE": 2, } ) func (x VhRateLimitsOptions) Enum() *VhRateLimitsOptions { p := new(VhRateLimitsOptions) *p = x return p } func (x VhRateLimitsOptions) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VhRateLimitsOptions) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes[1].Descriptor() } func (VhRateLimitsOptions) Type() protoreflect.EnumType { return &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes[1] } func (x VhRateLimitsOptions) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use VhRateLimitsOptions.Descriptor instead. func (VhRateLimitsOptions) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{1} } // A RateLimitDescriptor is a list of hierarchical entries that are used by the service to // determine the final rate limit key and overall allowed limit. Here are some examples of how // they might be used for the domain "envoy". // // .. code-block:: cpp // // ["authenticated": "false"], ["remote_address": "10.0.0.1"] // // What it does: Limits all unauthenticated traffic for the IP address 10.0.0.1. The // configuration supplies a default limit for the *remote_address* key. If there is a desire to // raise the limit for 10.0.0.1 or block it entirely it can be specified directly in the // configuration. // // .. code-block:: cpp // // ["authenticated": "false"], ["path": "/foo/bar"] // // What it does: Limits all unauthenticated traffic globally for a specific path (or prefix if // configured that way in the service). // // .. code-block:: cpp // // ["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"] // // What it does: Limits unauthenticated traffic to a specific path for a specific IP address. // Like (1) we can raise/block specific IP addresses if we want with an override configuration. // // .. code-block:: cpp // // ["authenticated": "true"], ["client_id": "foo"] // // What it does: Limits all traffic for an authenticated client "foo" // // .. code-block:: cpp // // ["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"] // // What it does: Limits traffic to a specific path for an authenticated client "foo" // // The idea behind the API is that (1)/(2)/(3) and (4)/(5) can be sent in 1 request if desired. // This enables building complex application scenarios with a generic backend. // // Optionally the descriptor can contain a limit override under a "limit" key, that specifies // the number of requests per unit to use instead of the number configured in the // rate limiting service. type RateLimitDescriptor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptor entries. Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` // Optional rate limit override to supply to the ratelimit service. Limit *RateLimitDescriptor_RateLimitOverride `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *RateLimitDescriptor) Reset() { *x = RateLimitDescriptor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor) ProtoMessage() {} func (x *RateLimitDescriptor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0} } func (x *RateLimitDescriptor) GetEntries() []*RateLimitDescriptor_Entry { if x != nil { return x.Entries } return nil } func (x *RateLimitDescriptor) GetLimit() *RateLimitDescriptor_RateLimitOverride { if x != nil { return x.Limit } return nil } type LocalRateLimitDescriptor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptor entries. Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` // Token Bucket algorithm for local ratelimiting. TokenBucket *v3.TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"` } func (x *LocalRateLimitDescriptor) Reset() { *x = LocalRateLimitDescriptor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalRateLimitDescriptor) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalRateLimitDescriptor) ProtoMessage() {} func (x *LocalRateLimitDescriptor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalRateLimitDescriptor.ProtoReflect.Descriptor instead. func (*LocalRateLimitDescriptor) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{1} } func (x *LocalRateLimitDescriptor) GetEntries() []*RateLimitDescriptor_Entry { if x != nil { return x.Entries } return nil } func (x *LocalRateLimitDescriptor) GetTokenBucket() *v3.TokenBucket { if x != nil { return x.TokenBucket } return nil } type RateLimitDescriptor_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Descriptor key. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Descriptor value. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *RateLimitDescriptor_Entry) Reset() { *x = RateLimitDescriptor_Entry{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor_Entry) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor_Entry) ProtoMessage() {} func (x *RateLimitDescriptor_Entry) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor_Entry.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor_Entry) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0, 0} } func (x *RateLimitDescriptor_Entry) GetKey() string { if x != nil { return x.Key } return "" } func (x *RateLimitDescriptor_Entry) GetValue() string { if x != nil { return x.Value } return "" } // Override rate limit to apply to this descriptor instead of the limit // configured in the rate limit service. See :ref:`rate limit override // ` for more information. type RateLimitDescriptor_RateLimitOverride struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of requests per unit of time. RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` // The unit of time. Unit v3.RateLimitUnit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.type.v3.RateLimitUnit" json:"unit,omitempty"` } func (x *RateLimitDescriptor_RateLimitOverride) Reset() { *x = RateLimitDescriptor_RateLimitOverride{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor_RateLimitOverride) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor_RateLimitOverride) ProtoMessage() {} func (x *RateLimitDescriptor_RateLimitOverride) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor_RateLimitOverride.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor_RateLimitOverride) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0, 1} } func (x *RateLimitDescriptor_RateLimitOverride) GetRequestsPerUnit() uint32 { if x != nil { return x.RequestsPerUnit } return 0 } func (x *RateLimitDescriptor_RateLimitOverride) GetUnit() v3.RateLimitUnit { if x != nil { return x.Unit } return v3.RateLimitUnit(0) } var File_envoy_extensions_common_ratelimit_v3_ratelimit_proto protoreflect.FileDescriptor var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x04, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x63, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x7a, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x7b, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0xc8, 0x01, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x63, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2a, 0x3c, 0x0a, 0x1b, 0x58, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x46, 0x43, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x30, 0x33, 0x10, 0x01, 0x2a, 0x3c, 0x0a, 0x13, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x42, 0xa7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescOnce sync.Once file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData = file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc ) func file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP() []byte { file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescOnce.Do(func() { file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData) }) return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData } var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes = []interface{}{ (XRateLimitHeadersRFCVersion)(0), // 0: envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion (VhRateLimitsOptions)(0), // 1: envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions (*RateLimitDescriptor)(nil), // 2: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor (*LocalRateLimitDescriptor)(nil), // 3: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor (*RateLimitDescriptor_Entry)(nil), // 4: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry (*RateLimitDescriptor_RateLimitOverride)(nil), // 5: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride (*v3.TokenBucket)(nil), // 6: envoy.type.v3.TokenBucket (v3.RateLimitUnit)(0), // 7: envoy.type.v3.RateLimitUnit } var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.entries:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry 5, // 1: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.limit:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride 4, // 2: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor.entries:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry 6, // 3: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor.token_bucket:type_name -> envoy.type.v3.TokenBucket 7, // 4: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride.unit:type_name -> envoy.type.v3.RateLimitUnit 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_init() } func file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_init() { if File_envoy_extensions_common_ratelimit_v3_ratelimit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalRateLimitDescriptor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor_Entry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor_RateLimitOverride); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc, NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes, DependencyIndexes: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs, EnumInfos: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_enumTypes, MessageInfos: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes, }.Build() File_envoy_extensions_common_ratelimit_v3_ratelimit_proto = out.File file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc = nil file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes = nil file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/common/ratelimit/v3/ratelimit.pb.validate.go000077500000000000000000000430711454502223200306430ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/common/ratelimit/v3/ratelimit.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.RateLimitUnit(0) ) // Validate checks the field values on RateLimitDescriptor with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitDescriptor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitDescriptor with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitDescriptorMultiError, or nil if none found. func (m *RateLimitDescriptor) ValidateAll() error { return m.validate(true) } func (m *RateLimitDescriptor) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetEntries()) < 1 { err := RateLimitDescriptorValidationError{ field: "Entries", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitDescriptorValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitDescriptorValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitDescriptorMultiError(errors) } return nil } // RateLimitDescriptorMultiError is an error wrapping multiple validation // errors returned by RateLimitDescriptor.ValidateAll() if the designated // constraints aren't met. type RateLimitDescriptorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitDescriptorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitDescriptorMultiError) AllErrors() []error { return m } // RateLimitDescriptorValidationError is the validation error returned by // RateLimitDescriptor.Validate if the designated constraints aren't met. type RateLimitDescriptorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitDescriptorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitDescriptorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitDescriptorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitDescriptorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitDescriptorValidationError) ErrorName() string { return "RateLimitDescriptorValidationError" } // Error satisfies the builtin error interface func (e RateLimitDescriptorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitDescriptor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitDescriptorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitDescriptorValidationError{} // Validate checks the field values on LocalRateLimitDescriptor with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LocalRateLimitDescriptor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalRateLimitDescriptor with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalRateLimitDescriptorMultiError, or nil if none found. func (m *LocalRateLimitDescriptor) ValidateAll() error { return m.validate(true) } func (m *LocalRateLimitDescriptor) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetEntries()) < 1 { err := LocalRateLimitDescriptorValidationError{ field: "Entries", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEntries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitDescriptorValidationError{ field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetTokenBucket() == nil { err := LocalRateLimitDescriptorValidationError{ field: "TokenBucket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitDescriptorValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitDescriptorValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitDescriptorValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LocalRateLimitDescriptorMultiError(errors) } return nil } // LocalRateLimitDescriptorMultiError is an error wrapping multiple validation // errors returned by LocalRateLimitDescriptor.ValidateAll() if the designated // constraints aren't met. type LocalRateLimitDescriptorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalRateLimitDescriptorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalRateLimitDescriptorMultiError) AllErrors() []error { return m } // LocalRateLimitDescriptorValidationError is the validation error returned by // LocalRateLimitDescriptor.Validate if the designated constraints aren't met. type LocalRateLimitDescriptorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalRateLimitDescriptorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalRateLimitDescriptorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalRateLimitDescriptorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalRateLimitDescriptorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalRateLimitDescriptorValidationError) ErrorName() string { return "LocalRateLimitDescriptorValidationError" } // Error satisfies the builtin error interface func (e LocalRateLimitDescriptorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalRateLimitDescriptor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalRateLimitDescriptorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalRateLimitDescriptorValidationError{} // Validate checks the field values on RateLimitDescriptor_Entry with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitDescriptor_Entry) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitDescriptor_Entry with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitDescriptor_EntryMultiError, or nil if none found. func (m *RateLimitDescriptor_Entry) ValidateAll() error { return m.validate(true) } func (m *RateLimitDescriptor_Entry) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := RateLimitDescriptor_EntryValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetValue()) < 1 { err := RateLimitDescriptor_EntryValidationError{ field: "Value", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitDescriptor_EntryMultiError(errors) } return nil } // RateLimitDescriptor_EntryMultiError is an error wrapping multiple validation // errors returned by RateLimitDescriptor_Entry.ValidateAll() if the // designated constraints aren't met. type RateLimitDescriptor_EntryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitDescriptor_EntryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitDescriptor_EntryMultiError) AllErrors() []error { return m } // RateLimitDescriptor_EntryValidationError is the validation error returned by // RateLimitDescriptor_Entry.Validate if the designated constraints aren't met. type RateLimitDescriptor_EntryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitDescriptor_EntryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitDescriptor_EntryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitDescriptor_EntryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitDescriptor_EntryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitDescriptor_EntryValidationError) ErrorName() string { return "RateLimitDescriptor_EntryValidationError" } // Error satisfies the builtin error interface func (e RateLimitDescriptor_EntryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitDescriptor_Entry.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitDescriptor_EntryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitDescriptor_EntryValidationError{} // Validate checks the field values on RateLimitDescriptor_RateLimitOverride // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitDescriptor_RateLimitOverride) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitDescriptor_RateLimitOverride // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitDescriptor_RateLimitOverrideMultiError, or nil if none found. func (m *RateLimitDescriptor_RateLimitOverride) ValidateAll() error { return m.validate(true) } func (m *RateLimitDescriptor_RateLimitOverride) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RequestsPerUnit if _, ok := v3.RateLimitUnit_name[int32(m.GetUnit())]; !ok { err := RateLimitDescriptor_RateLimitOverrideValidationError{ field: "Unit", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitDescriptor_RateLimitOverrideMultiError(errors) } return nil } // RateLimitDescriptor_RateLimitOverrideMultiError is an error wrapping // multiple validation errors returned by // RateLimitDescriptor_RateLimitOverride.ValidateAll() if the designated // constraints aren't met. type RateLimitDescriptor_RateLimitOverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitDescriptor_RateLimitOverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitDescriptor_RateLimitOverrideMultiError) AllErrors() []error { return m } // RateLimitDescriptor_RateLimitOverrideValidationError is the validation error // returned by RateLimitDescriptor_RateLimitOverride.Validate if the // designated constraints aren't met. type RateLimitDescriptor_RateLimitOverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitDescriptor_RateLimitOverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitDescriptor_RateLimitOverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitDescriptor_RateLimitOverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitDescriptor_RateLimitOverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitDescriptor_RateLimitOverrideValidationError) ErrorName() string { return "RateLimitDescriptor_RateLimitOverrideValidationError" } // Error satisfies the builtin error interface func (e RateLimitDescriptor_RateLimitOverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitDescriptor_RateLimitOverride.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitDescriptor_RateLimitOverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitDescriptor_RateLimitOverrideValidationError{} go-control-plane-0.12.0/envoy/extensions/common/tap/000077500000000000000000000000001454502223200223645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/tap/v3/000077500000000000000000000000001454502223200227145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/common/tap/v3/common.pb.go000077500000000000000000000311351454502223200251410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/common/tap/v3/common.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/tap/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Common configuration for all tap extensions. type CommonExtensionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigType: // // *CommonExtensionConfig_AdminConfig // *CommonExtensionConfig_StaticConfig ConfigType isCommonExtensionConfig_ConfigType `protobuf_oneof:"config_type"` } func (x *CommonExtensionConfig) Reset() { *x = CommonExtensionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_tap_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonExtensionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonExtensionConfig) ProtoMessage() {} func (x *CommonExtensionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_tap_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonExtensionConfig.ProtoReflect.Descriptor instead. func (*CommonExtensionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_tap_v3_common_proto_rawDescGZIP(), []int{0} } func (m *CommonExtensionConfig) GetConfigType() isCommonExtensionConfig_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *CommonExtensionConfig) GetAdminConfig() *AdminConfig { if x, ok := x.GetConfigType().(*CommonExtensionConfig_AdminConfig); ok { return x.AdminConfig } return nil } func (x *CommonExtensionConfig) GetStaticConfig() *v3.TapConfig { if x, ok := x.GetConfigType().(*CommonExtensionConfig_StaticConfig); ok { return x.StaticConfig } return nil } type isCommonExtensionConfig_ConfigType interface { isCommonExtensionConfig_ConfigType() } type CommonExtensionConfig_AdminConfig struct { // If specified, the tap filter will be configured via an admin handler. AdminConfig *AdminConfig `protobuf:"bytes,1,opt,name=admin_config,json=adminConfig,proto3,oneof"` } type CommonExtensionConfig_StaticConfig struct { // If specified, the tap filter will be configured via a static configuration that cannot be // changed. StaticConfig *v3.TapConfig `protobuf:"bytes,2,opt,name=static_config,json=staticConfig,proto3,oneof"` } func (*CommonExtensionConfig_AdminConfig) isCommonExtensionConfig_ConfigType() {} func (*CommonExtensionConfig_StaticConfig) isCommonExtensionConfig_ConfigType() {} // Configuration for the admin handler. See :ref:`here ` for // more information. type AdminConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Opaque configuration ID. When requests are made to the admin handler, the passed opaque ID is // matched to the configured filter opaque ID to determine which filter to configure. ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` } func (x *AdminConfig) Reset() { *x = AdminConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_common_tap_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdminConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminConfig) ProtoMessage() {} func (x *AdminConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_common_tap_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdminConfig.ProtoReflect.Descriptor instead. func (*AdminConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_common_tap_v3_common_proto_rawDescGZIP(), []int{1} } func (x *AdminConfig) GetConfigId() string { if x != nil { return x.ConfigId } return "" } var File_envoy_extensions_common_tap_v3_common_proto protoreflect.FileDescriptor var file_envoy_extensions_common_tap_v3_common_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x12, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x67, 0x0a, 0x0b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x92, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_common_tap_v3_common_proto_rawDescOnce sync.Once file_envoy_extensions_common_tap_v3_common_proto_rawDescData = file_envoy_extensions_common_tap_v3_common_proto_rawDesc ) func file_envoy_extensions_common_tap_v3_common_proto_rawDescGZIP() []byte { file_envoy_extensions_common_tap_v3_common_proto_rawDescOnce.Do(func() { file_envoy_extensions_common_tap_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_tap_v3_common_proto_rawDescData) }) return file_envoy_extensions_common_tap_v3_common_proto_rawDescData } var file_envoy_extensions_common_tap_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_common_tap_v3_common_proto_goTypes = []interface{}{ (*CommonExtensionConfig)(nil), // 0: envoy.extensions.common.tap.v3.CommonExtensionConfig (*AdminConfig)(nil), // 1: envoy.extensions.common.tap.v3.AdminConfig (*v3.TapConfig)(nil), // 2: envoy.config.tap.v3.TapConfig } var file_envoy_extensions_common_tap_v3_common_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.common.tap.v3.CommonExtensionConfig.admin_config:type_name -> envoy.extensions.common.tap.v3.AdminConfig 2, // 1: envoy.extensions.common.tap.v3.CommonExtensionConfig.static_config:type_name -> envoy.config.tap.v3.TapConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_common_tap_v3_common_proto_init() } func file_envoy_extensions_common_tap_v3_common_proto_init() { if File_envoy_extensions_common_tap_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_common_tap_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonExtensionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_common_tap_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdminConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_common_tap_v3_common_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CommonExtensionConfig_AdminConfig)(nil), (*CommonExtensionConfig_StaticConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_common_tap_v3_common_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_common_tap_v3_common_proto_goTypes, DependencyIndexes: file_envoy_extensions_common_tap_v3_common_proto_depIdxs, MessageInfos: file_envoy_extensions_common_tap_v3_common_proto_msgTypes, }.Build() File_envoy_extensions_common_tap_v3_common_proto = out.File file_envoy_extensions_common_tap_v3_common_proto_rawDesc = nil file_envoy_extensions_common_tap_v3_common_proto_goTypes = nil file_envoy_extensions_common_tap_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/common/tap/v3/common.pb.validate.go000077500000000000000000000215451454502223200267350ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/common/tap/v3/common.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CommonExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonExtensionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonExtensionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonExtensionConfigMultiError, or nil if none found. func (m *CommonExtensionConfig) ValidateAll() error { return m.validate(true) } func (m *CommonExtensionConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofConfigTypePresent := false switch v := m.ConfigType.(type) { case *CommonExtensionConfig_AdminConfig: if v == nil { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigTypePresent = true if all { switch v := interface{}(m.GetAdminConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdminConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonExtensionConfigValidationError{ field: "AdminConfig", reason: "embedded message failed validation", cause: err, } } } case *CommonExtensionConfig_StaticConfig: if v == nil { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigTypePresent = true if all { switch v := interface{}(m.GetStaticConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStaticConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonExtensionConfigValidationError{ field: "StaticConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigTypePresent { err := CommonExtensionConfigValidationError{ field: "ConfigType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CommonExtensionConfigMultiError(errors) } return nil } // CommonExtensionConfigMultiError is an error wrapping multiple validation // errors returned by CommonExtensionConfig.ValidateAll() if the designated // constraints aren't met. type CommonExtensionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonExtensionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonExtensionConfigMultiError) AllErrors() []error { return m } // CommonExtensionConfigValidationError is the validation error returned by // CommonExtensionConfig.Validate if the designated constraints aren't met. type CommonExtensionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonExtensionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonExtensionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonExtensionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonExtensionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonExtensionConfigValidationError) ErrorName() string { return "CommonExtensionConfigValidationError" } // Error satisfies the builtin error interface func (e CommonExtensionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonExtensionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonExtensionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonExtensionConfigValidationError{} // Validate checks the field values on AdminConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdminConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdminConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AdminConfigMultiError, or // nil if none found. func (m *AdminConfig) ValidateAll() error { return m.validate(true) } func (m *AdminConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetConfigId()) < 1 { err := AdminConfigValidationError{ field: "ConfigId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdminConfigMultiError(errors) } return nil } // AdminConfigMultiError is an error wrapping multiple validation errors // returned by AdminConfig.ValidateAll() if the designated constraints aren't met. type AdminConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdminConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdminConfigMultiError) AllErrors() []error { return m } // AdminConfigValidationError is the validation error returned by // AdminConfig.Validate if the designated constraints aren't met. type AdminConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdminConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdminConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdminConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdminConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdminConfigValidationError) ErrorName() string { return "AdminConfigValidationError" } // Error satisfies the builtin error interface func (e AdminConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdminConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdminConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdminConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/000077500000000000000000000000001454502223200226515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/000077500000000000000000000000001454502223200241445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/compressor/000077500000000000000000000000001454502223200263405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/compressor/v3/000077500000000000000000000000001454502223200266705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/compressor/v3/brotli.pb.go000077500000000000000000000372441454502223200311270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/brotli/compressor/v3/brotli.proto package compressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Brotli_EncoderMode int32 const ( Brotli_DEFAULT Brotli_EncoderMode = 0 Brotli_GENERIC Brotli_EncoderMode = 1 Brotli_TEXT Brotli_EncoderMode = 2 Brotli_FONT Brotli_EncoderMode = 3 ) // Enum value maps for Brotli_EncoderMode. var ( Brotli_EncoderMode_name = map[int32]string{ 0: "DEFAULT", 1: "GENERIC", 2: "TEXT", 3: "FONT", } Brotli_EncoderMode_value = map[string]int32{ "DEFAULT": 0, "GENERIC": 1, "TEXT": 2, "FONT": 3, } ) func (x Brotli_EncoderMode) Enum() *Brotli_EncoderMode { p := new(Brotli_EncoderMode) *p = x return p } func (x Brotli_EncoderMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Brotli_EncoderMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_enumTypes[0].Descriptor() } func (Brotli_EncoderMode) Type() protoreflect.EnumType { return &file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_enumTypes[0] } func (x Brotli_EncoderMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Brotli_EncoderMode.Descriptor instead. func (Brotli_EncoderMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 7] type Brotli struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 0 to 11 that controls the main compression speed-density lever. // The higher quality, the slower compression. The default value is 3. Quality *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=quality,proto3" json:"quality,omitempty"` // A value used to tune encoder for specific input. For more information about modes, // please refer to brotli manual: https://brotli.org/encode.html#aa6f // This field will be set to "DEFAULT" if not specified. EncoderMode Brotli_EncoderMode `protobuf:"varint,2,opt,name=encoder_mode,json=encoderMode,proto3,enum=envoy.extensions.compression.brotli.compressor.v3.Brotli_EncoderMode" json:"encoder_mode,omitempty"` // Value from 10 to 24 that represents the base two logarithmic of the compressor's window size. // Larger window results in better compression at the expense of memory usage. The default is 18. // For more details about this parameter, please refer to brotli manual: // https://brotli.org/encode.html#a9a8 WindowBits *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=window_bits,json=windowBits,proto3" json:"window_bits,omitempty"` // Value from 16 to 24 that represents the base two logarithmic of the compressor's input block // size. Larger input block results in better compression at the expense of memory usage. The // default is 24. For more details about this parameter, please refer to brotli manual: // https://brotli.org/encode.html#a9a8 InputBlockBits *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=input_block_bits,json=inputBlockBits,proto3" json:"input_block_bits,omitempty"` // Value for compressor's next output buffer. If not set, defaults to 4096. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` // If true, disables "literal context modeling" format feature. // This flag is a "decoding-speed vs compression ratio" trade-off. DisableLiteralContextModeling bool `protobuf:"varint,6,opt,name=disable_literal_context_modeling,json=disableLiteralContextModeling,proto3" json:"disable_literal_context_modeling,omitempty"` } func (x *Brotli) Reset() { *x = Brotli{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Brotli) String() string { return protoimpl.X.MessageStringOf(x) } func (*Brotli) ProtoMessage() {} func (x *Brotli) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Brotli.ProtoReflect.Descriptor instead. func (*Brotli) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescGZIP(), []int{0} } func (x *Brotli) GetQuality() *wrappers.UInt32Value { if x != nil { return x.Quality } return nil } func (x *Brotli) GetEncoderMode() Brotli_EncoderMode { if x != nil { return x.EncoderMode } return Brotli_DEFAULT } func (x *Brotli) GetWindowBits() *wrappers.UInt32Value { if x != nil { return x.WindowBits } return nil } func (x *Brotli) GetInputBlockBits() *wrappers.UInt32Value { if x != nil { return x.InputBlockBits } return nil } func (x *Brotli) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } func (x *Brotli) GetDisableLiteralContextModeling() bool { if x != nil { return x.DisableLiteralContextModeling } return false } var File_envoy_extensions_compression_brotli_compressor_v3_brotli_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x04, 0x0a, 0x06, 0x42, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x12, 0x3f, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0b, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x72, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x18, 0x28, 0x0a, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x69, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x18, 0x28, 0x10, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x69, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4f, 0x4e, 0x54, 0x10, 0x03, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x42, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescOnce sync.Once file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescData = file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDesc ) func file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescData) }) return file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDescData } var file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_goTypes = []interface{}{ (Brotli_EncoderMode)(0), // 0: envoy.extensions.compression.brotli.compressor.v3.Brotli.EncoderMode (*Brotli)(nil), // 1: envoy.extensions.compression.brotli.compressor.v3.Brotli (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.compression.brotli.compressor.v3.Brotli.quality:type_name -> google.protobuf.UInt32Value 0, // 1: envoy.extensions.compression.brotli.compressor.v3.Brotli.encoder_mode:type_name -> envoy.extensions.compression.brotli.compressor.v3.Brotli.EncoderMode 2, // 2: envoy.extensions.compression.brotli.compressor.v3.Brotli.window_bits:type_name -> google.protobuf.UInt32Value 2, // 3: envoy.extensions.compression.brotli.compressor.v3.Brotli.input_block_bits:type_name -> google.protobuf.UInt32Value 2, // 4: envoy.extensions.compression.brotli.compressor.v3.Brotli.chunk_size:type_name -> google.protobuf.UInt32Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_init() } func file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_init() { if File_envoy_extensions_compression_brotli_compressor_v3_brotli_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Brotli); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_depIdxs, EnumInfos: file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_enumTypes, MessageInfos: file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_msgTypes, }.Build() File_envoy_extensions_compression_brotli_compressor_v3_brotli_proto = out.File file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_rawDesc = nil file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_goTypes = nil file_envoy_extensions_compression_brotli_compressor_v3_brotli_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/brotli/compressor/v3/brotli.pb.validate.go000077500000000000000000000110201454502223200326770ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/brotli/compressor/v3/brotli.proto package compressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Brotli with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Brotli) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Brotli with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BrotliMultiError, or nil if none found. func (m *Brotli) ValidateAll() error { return m.validate(true) } func (m *Brotli) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetQuality(); wrapper != nil { if wrapper.GetValue() > 11 { err := BrotliValidationError{ field: "Quality", reason: "value must be less than or equal to 11", } if !all { return err } errors = append(errors, err) } } if _, ok := Brotli_EncoderMode_name[int32(m.GetEncoderMode())]; !ok { err := BrotliValidationError{ field: "EncoderMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetWindowBits(); wrapper != nil { if val := wrapper.GetValue(); val < 10 || val > 24 { err := BrotliValidationError{ field: "WindowBits", reason: "value must be inside range [10, 24]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetInputBlockBits(); wrapper != nil { if val := wrapper.GetValue(); val < 16 || val > 24 { err := BrotliValidationError{ field: "InputBlockBits", reason: "value must be inside range [16, 24]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := BrotliValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } // no validation rules for DisableLiteralContextModeling if len(errors) > 0 { return BrotliMultiError(errors) } return nil } // BrotliMultiError is an error wrapping multiple validation errors returned by // Brotli.ValidateAll() if the designated constraints aren't met. type BrotliMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BrotliMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BrotliMultiError) AllErrors() []error { return m } // BrotliValidationError is the validation error returned by Brotli.Validate if // the designated constraints aren't met. type BrotliValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BrotliValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BrotliValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BrotliValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BrotliValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BrotliValidationError) ErrorName() string { return "BrotliValidationError" } // Error satisfies the builtin error interface func (e BrotliValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBrotli.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BrotliValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BrotliValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/brotli/decompressor/000077500000000000000000000000001454502223200266515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/decompressor/v3/000077500000000000000000000000001454502223200272015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/brotli/decompressor/v3/brotli.pb.go000077500000000000000000000224431454502223200314330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/brotli/decompressor/v3/brotli.proto package decompressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Brotli struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, disables "canny" ring buffer allocation strategy. // Ring buffer is allocated according to window size, despite the real size of the content. DisableRingBufferReallocation bool `protobuf:"varint,1,opt,name=disable_ring_buffer_reallocation,json=disableRingBufferReallocation,proto3" json:"disable_ring_buffer_reallocation,omitempty"` // Value for decompressor's next output buffer. If not set, defaults to 4096. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Brotli) Reset() { *x = Brotli{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Brotli) String() string { return protoimpl.X.MessageStringOf(x) } func (*Brotli) ProtoMessage() {} func (x *Brotli) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Brotli.ProtoReflect.Descriptor instead. func (*Brotli) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescGZIP(), []int{0} } func (x *Brotli) GetDisableRingBufferReallocation() bool { if x != nil { return x.DisableRingBufferReallocation } return false } func (x *Brotli) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } var File_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x06, 0x42, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x12, 0x47, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x42, 0xc5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x42, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x72, 0x6f, 0x74, 0x6c, 0x69, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescOnce sync.Once file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescData = file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDesc ) func file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescData) }) return file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDescData } var file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_goTypes = []interface{}{ (*Brotli)(nil), // 0: envoy.extensions.compression.brotli.decompressor.v3.Brotli (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value } var file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.compression.brotli.decompressor.v3.Brotli.chunk_size:type_name -> google.protobuf.UInt32Value 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_init() } func file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_init() { if File_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Brotli); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_depIdxs, MessageInfos: file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_msgTypes, }.Build() File_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto = out.File file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_rawDesc = nil file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_goTypes = nil file_envoy_extensions_compression_brotli_decompressor_v3_brotli_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/brotli/decompressor/v3/brotli.pb.validate.go000077500000000000000000000066561454502223200332330ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/brotli/decompressor/v3/brotli.proto package decompressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Brotli with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Brotli) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Brotli with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BrotliMultiError, or nil if none found. func (m *Brotli) ValidateAll() error { return m.validate(true) } func (m *Brotli) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DisableRingBufferReallocation if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := BrotliValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return BrotliMultiError(errors) } return nil } // BrotliMultiError is an error wrapping multiple validation errors returned by // Brotli.ValidateAll() if the designated constraints aren't met. type BrotliMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BrotliMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BrotliMultiError) AllErrors() []error { return m } // BrotliValidationError is the validation error returned by Brotli.Validate if // the designated constraints aren't met. type BrotliValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BrotliValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BrotliValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BrotliValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BrotliValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BrotliValidationError) ErrorName() string { return "BrotliValidationError" } // Error satisfies the builtin error interface func (e BrotliValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBrotli.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BrotliValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BrotliValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/gzip/000077500000000000000000000000001454502223200236225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/gzip/compressor/000077500000000000000000000000001454502223200260165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/gzip/compressor/v3/000077500000000000000000000000001454502223200263465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/gzip/compressor/v3/gzip.pb.go000077500000000000000000000520731454502223200302600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/gzip/compressor/v3/gzip.proto package compressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // All the values of this enumeration translate directly to zlib's compression strategies. // For more information about each strategy, please refer to zlib manual. type Gzip_CompressionStrategy int32 const ( Gzip_DEFAULT_STRATEGY Gzip_CompressionStrategy = 0 Gzip_FILTERED Gzip_CompressionStrategy = 1 Gzip_HUFFMAN_ONLY Gzip_CompressionStrategy = 2 Gzip_RLE Gzip_CompressionStrategy = 3 Gzip_FIXED Gzip_CompressionStrategy = 4 ) // Enum value maps for Gzip_CompressionStrategy. var ( Gzip_CompressionStrategy_name = map[int32]string{ 0: "DEFAULT_STRATEGY", 1: "FILTERED", 2: "HUFFMAN_ONLY", 3: "RLE", 4: "FIXED", } Gzip_CompressionStrategy_value = map[string]int32{ "DEFAULT_STRATEGY": 0, "FILTERED": 1, "HUFFMAN_ONLY": 2, "RLE": 3, "FIXED": 4, } ) func (x Gzip_CompressionStrategy) Enum() *Gzip_CompressionStrategy { p := new(Gzip_CompressionStrategy) *p = x return p } func (x Gzip_CompressionStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionStrategy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes[0].Descriptor() } func (Gzip_CompressionStrategy) Type() protoreflect.EnumType { return &file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes[0] } func (x Gzip_CompressionStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionStrategy.Descriptor instead. func (Gzip_CompressionStrategy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescGZIP(), []int{0, 0} } type Gzip_CompressionLevel int32 const ( Gzip_DEFAULT_COMPRESSION Gzip_CompressionLevel = 0 Gzip_BEST_SPEED Gzip_CompressionLevel = 1 Gzip_COMPRESSION_LEVEL_1 Gzip_CompressionLevel = 1 Gzip_COMPRESSION_LEVEL_2 Gzip_CompressionLevel = 2 Gzip_COMPRESSION_LEVEL_3 Gzip_CompressionLevel = 3 Gzip_COMPRESSION_LEVEL_4 Gzip_CompressionLevel = 4 Gzip_COMPRESSION_LEVEL_5 Gzip_CompressionLevel = 5 Gzip_COMPRESSION_LEVEL_6 Gzip_CompressionLevel = 6 Gzip_COMPRESSION_LEVEL_7 Gzip_CompressionLevel = 7 Gzip_COMPRESSION_LEVEL_8 Gzip_CompressionLevel = 8 Gzip_COMPRESSION_LEVEL_9 Gzip_CompressionLevel = 9 Gzip_BEST_COMPRESSION Gzip_CompressionLevel = 9 ) // Enum value maps for Gzip_CompressionLevel. var ( Gzip_CompressionLevel_name = map[int32]string{ 0: "DEFAULT_COMPRESSION", 1: "BEST_SPEED", // Duplicate value: 1: "COMPRESSION_LEVEL_1", 2: "COMPRESSION_LEVEL_2", 3: "COMPRESSION_LEVEL_3", 4: "COMPRESSION_LEVEL_4", 5: "COMPRESSION_LEVEL_5", 6: "COMPRESSION_LEVEL_6", 7: "COMPRESSION_LEVEL_7", 8: "COMPRESSION_LEVEL_8", 9: "COMPRESSION_LEVEL_9", // Duplicate value: 9: "BEST_COMPRESSION", } Gzip_CompressionLevel_value = map[string]int32{ "DEFAULT_COMPRESSION": 0, "BEST_SPEED": 1, "COMPRESSION_LEVEL_1": 1, "COMPRESSION_LEVEL_2": 2, "COMPRESSION_LEVEL_3": 3, "COMPRESSION_LEVEL_4": 4, "COMPRESSION_LEVEL_5": 5, "COMPRESSION_LEVEL_6": 6, "COMPRESSION_LEVEL_7": 7, "COMPRESSION_LEVEL_8": 8, "COMPRESSION_LEVEL_9": 9, "BEST_COMPRESSION": 9, } ) func (x Gzip_CompressionLevel) Enum() *Gzip_CompressionLevel { p := new(Gzip_CompressionLevel) *p = x return p } func (x Gzip_CompressionLevel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionLevel) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes[1].Descriptor() } func (Gzip_CompressionLevel) Type() protoreflect.EnumType { return &file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes[1] } func (x Gzip_CompressionLevel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionLevel.Descriptor instead. func (Gzip_CompressionLevel) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescGZIP(), []int{0, 1} } // [#next-free-field: 6] type Gzip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values // use more memory, but are faster and produce better compression results. The default value is 5. MemoryLevel *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=memory_level,json=memoryLevel,proto3" json:"memory_level,omitempty"` // A value used for selecting the zlib compression level. This setting will affect speed and // amount of compression applied to the content. "BEST_COMPRESSION" provides higher compression // at the cost of higher latency and is equal to "COMPRESSION_LEVEL_9". "BEST_SPEED" provides // lower compression with minimum impact on response time, the same as "COMPRESSION_LEVEL_1". // "DEFAULT_COMPRESSION" provides an optimal result between speed and compression. According // to zlib's manual this level gives the same result as "COMPRESSION_LEVEL_6". // This field will be set to "DEFAULT_COMPRESSION" if not specified. CompressionLevel Gzip_CompressionLevel `protobuf:"varint,2,opt,name=compression_level,json=compressionLevel,proto3,enum=envoy.extensions.compression.gzip.compressor.v3.Gzip_CompressionLevel" json:"compression_level,omitempty"` // A value used for selecting the zlib compression strategy which is directly related to the // characteristics of the content. Most of the time "DEFAULT_STRATEGY" will be the best choice, // which is also the default value for the parameter, though there are situations when // changing this parameter might produce better results. For example, run-length encoding (RLE) // is typically used when the content is known for having sequences which same data occurs many // consecutive times. For more information about each strategy, please refer to zlib manual. CompressionStrategy Gzip_CompressionStrategy `protobuf:"varint,3,opt,name=compression_strategy,json=compressionStrategy,proto3,enum=envoy.extensions.compression.gzip.compressor.v3.Gzip_CompressionStrategy" json:"compression_strategy,omitempty"` // Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. // Larger window results in better compression at the expense of memory usage. The default is 12 // which will produce a 4096 bytes window. For more details about this parameter, please refer to // zlib manual > deflateInit2. WindowBits *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=window_bits,json=windowBits,proto3" json:"window_bits,omitempty"` // Value for Zlib's next output buffer. If not set, defaults to 4096. // See https://www.zlib.net/manual.html for more details. Also see // https://github.com/envoyproxy/envoy/issues/8448 for context on this filter's performance. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Gzip) Reset() { *x = Gzip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip) ProtoMessage() {} func (x *Gzip) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip.ProtoReflect.Descriptor instead. func (*Gzip) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescGZIP(), []int{0} } func (x *Gzip) GetMemoryLevel() *wrappers.UInt32Value { if x != nil { return x.MemoryLevel } return nil } func (x *Gzip) GetCompressionLevel() Gzip_CompressionLevel { if x != nil { return x.CompressionLevel } return Gzip_DEFAULT_COMPRESSION } func (x *Gzip) GetCompressionStrategy() Gzip_CompressionStrategy { if x != nil { return x.CompressionStrategy } return Gzip_DEFAULT_STRATEGY } func (x *Gzip) GetWindowBits() *wrappers.UInt32Value { if x != nil { return x.WindowBits } return nil } func (x *Gzip) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } var File_envoy_extensions_compression_gzip_compressor_v3_gzip_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x07, 0x0a, 0x04, 0x47, 0x7a, 0x69, 0x70, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x09, 0x28, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x7d, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x86, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x0f, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x69, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x55, 0x46, 0x46, 0x4d, 0x41, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x58, 0x45, 0x44, 0x10, 0x04, 0x22, 0xb6, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x31, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x32, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x33, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x34, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x35, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x36, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x37, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x38, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x39, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x1a, 0x02, 0x10, 0x01, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x47, 0x7a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescOnce sync.Once file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescData = file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDesc ) func file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescData) }) return file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDescData } var file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_goTypes = []interface{}{ (Gzip_CompressionStrategy)(0), // 0: envoy.extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy (Gzip_CompressionLevel)(0), // 1: envoy.extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel (*Gzip)(nil), // 2: envoy.extensions.compression.gzip.compressor.v3.Gzip (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value } var file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.compression.gzip.compressor.v3.Gzip.memory_level:type_name -> google.protobuf.UInt32Value 1, // 1: envoy.extensions.compression.gzip.compressor.v3.Gzip.compression_level:type_name -> envoy.extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel 0, // 2: envoy.extensions.compression.gzip.compressor.v3.Gzip.compression_strategy:type_name -> envoy.extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy 3, // 3: envoy.extensions.compression.gzip.compressor.v3.Gzip.window_bits:type_name -> google.protobuf.UInt32Value 3, // 4: envoy.extensions.compression.gzip.compressor.v3.Gzip.chunk_size:type_name -> google.protobuf.UInt32Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_init() } func file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_init() { if File_envoy_extensions_compression_gzip_compressor_v3_gzip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDesc, NumEnums: 2, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_depIdxs, EnumInfos: file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_enumTypes, MessageInfos: file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_msgTypes, }.Build() File_envoy_extensions_compression_gzip_compressor_v3_gzip_proto = out.File file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_rawDesc = nil file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_goTypes = nil file_envoy_extensions_compression_gzip_compressor_v3_gzip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/gzip/compressor/v3/gzip.pb.validate.go000077500000000000000000000106401454502223200320420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/gzip/compressor/v3/gzip.proto package compressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Gzip with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Gzip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GzipMultiError, or nil if none found. func (m *Gzip) ValidateAll() error { return m.validate(true) } func (m *Gzip) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMemoryLevel(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 9 { err := GzipValidationError{ field: "MemoryLevel", reason: "value must be inside range [1, 9]", } if !all { return err } errors = append(errors, err) } } if _, ok := Gzip_CompressionLevel_name[int32(m.GetCompressionLevel())]; !ok { err := GzipValidationError{ field: "CompressionLevel", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := Gzip_CompressionStrategy_name[int32(m.GetCompressionStrategy())]; !ok { err := GzipValidationError{ field: "CompressionStrategy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetWindowBits(); wrapper != nil { if val := wrapper.GetValue(); val < 9 || val > 15 { err := GzipValidationError{ field: "WindowBits", reason: "value must be inside range [9, 15]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := GzipValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return GzipMultiError(errors) } return nil } // GzipMultiError is an error wrapping multiple validation errors returned by // Gzip.ValidateAll() if the designated constraints aren't met. type GzipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GzipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GzipMultiError) AllErrors() []error { return m } // GzipValidationError is the validation error returned by Gzip.Validate if the // designated constraints aren't met. type GzipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GzipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GzipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GzipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GzipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GzipValidationError) ErrorName() string { return "GzipValidationError" } // Error satisfies the builtin error interface func (e GzipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GzipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GzipValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/gzip/decompressor/000077500000000000000000000000001454502223200263275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/gzip/decompressor/v3/000077500000000000000000000000001454502223200266575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/gzip/decompressor/v3/gzip.pb.go000077500000000000000000000254651454502223200305760ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/gzip/decompressor/v3/gzip.proto package decompressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Gzip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 9 to 15 that represents the base two logarithmic of the decompressor's window size. // The decompression window size needs to be equal or larger than the compression window size. // The default window size is 15. // This is so that the decompressor can decompress a response compressed by a compressor with any compression window size. // For more details about this parameter, please refer to `zlib manual `_ > inflateInit2. WindowBits *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=window_bits,json=windowBits,proto3" json:"window_bits,omitempty"` // Value for zlib's decompressor output buffer. If not set, defaults to 4096. // See https://www.zlib.net/manual.html for more details. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` // An upper bound to the number of times the output buffer is allowed to be bigger than the size of // the accumulated input. This value is used to prevent decompression bombs. If not set, defaults to 100. // [#comment:TODO(rojkov): Re-design the Decompressor interface to handle compression bombs gracefully instead of this quick solution. // See https://github.com/envoyproxy/envoy/commit/d4c39e635603e2f23e1e08ddecf5a5fb5a706338 for details.] MaxInflateRatio *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_inflate_ratio,json=maxInflateRatio,proto3" json:"max_inflate_ratio,omitempty"` } func (x *Gzip) Reset() { *x = Gzip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip) ProtoMessage() {} func (x *Gzip) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip.ProtoReflect.Descriptor instead. func (*Gzip) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescGZIP(), []int{0} } func (x *Gzip) GetWindowBits() *wrappers.UInt32Value { if x != nil { return x.WindowBits } return nil } func (x *Gzip) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } func (x *Gzip) GetMaxInflateRatio() *wrappers.UInt32Value { if x != nil { return x.MaxInflateRatio } return nil } var File_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x04, 0x47, 0x7a, 0x69, 0x70, 0x12, 0x48, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x0f, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x69, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0x88, 0x08, 0x28, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x47, 0x7a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescOnce sync.Once file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescData = file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDesc ) func file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescData) }) return file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDescData } var file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_goTypes = []interface{}{ (*Gzip)(nil), // 0: envoy.extensions.compression.gzip.decompressor.v3.Gzip (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value } var file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.compression.gzip.decompressor.v3.Gzip.window_bits:type_name -> google.protobuf.UInt32Value 1, // 1: envoy.extensions.compression.gzip.decompressor.v3.Gzip.chunk_size:type_name -> google.protobuf.UInt32Value 1, // 2: envoy.extensions.compression.gzip.decompressor.v3.Gzip.max_inflate_ratio:type_name -> google.protobuf.UInt32Value 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_init() } func file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_init() { if File_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_depIdxs, MessageInfos: file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_msgTypes, }.Build() File_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto = out.File file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_rawDesc = nil file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_goTypes = nil file_envoy_extensions_compression_gzip_decompressor_v3_gzip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/gzip/decompressor/v3/gzip.pb.validate.go000077500000000000000000000076211454502223200323600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/gzip/decompressor/v3/gzip.proto package decompressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Gzip with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Gzip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GzipMultiError, or nil if none found. func (m *Gzip) ValidateAll() error { return m.validate(true) } func (m *Gzip) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetWindowBits(); wrapper != nil { if val := wrapper.GetValue(); val < 9 || val > 15 { err := GzipValidationError{ field: "WindowBits", reason: "value must be inside range [9, 15]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := GzipValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetMaxInflateRatio(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 1032 { err := GzipValidationError{ field: "MaxInflateRatio", reason: "value must be inside range [1, 1032]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return GzipMultiError(errors) } return nil } // GzipMultiError is an error wrapping multiple validation errors returned by // Gzip.ValidateAll() if the designated constraints aren't met. type GzipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GzipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GzipMultiError) AllErrors() []error { return m } // GzipValidationError is the validation error returned by Gzip.Validate if the // designated constraints aren't met. type GzipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GzipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GzipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GzipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GzipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GzipValidationError) ErrorName() string { return "GzipValidationError" } // Error satisfies the builtin error interface func (e GzipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GzipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GzipValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/zstd/000077500000000000000000000000001454502223200236355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/zstd/compressor/000077500000000000000000000000001454502223200260315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/zstd/compressor/v3/000077500000000000000000000000001454502223200263615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/zstd/compressor/v3/zstd.pb.go000077500000000000000000000365541454502223200303140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/zstd/compressor/v3/zstd.proto package compressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Reference to http://facebook.github.io/zstd/zstd_manual.html type Zstd_Strategy int32 const ( Zstd_DEFAULT Zstd_Strategy = 0 Zstd_FAST Zstd_Strategy = 1 Zstd_DFAST Zstd_Strategy = 2 Zstd_GREEDY Zstd_Strategy = 3 Zstd_LAZY Zstd_Strategy = 4 Zstd_LAZY2 Zstd_Strategy = 5 Zstd_BTLAZY2 Zstd_Strategy = 6 Zstd_BTOPT Zstd_Strategy = 7 Zstd_BTULTRA Zstd_Strategy = 8 Zstd_BTULTRA2 Zstd_Strategy = 9 ) // Enum value maps for Zstd_Strategy. var ( Zstd_Strategy_name = map[int32]string{ 0: "DEFAULT", 1: "FAST", 2: "DFAST", 3: "GREEDY", 4: "LAZY", 5: "LAZY2", 6: "BTLAZY2", 7: "BTOPT", 8: "BTULTRA", 9: "BTULTRA2", } Zstd_Strategy_value = map[string]int32{ "DEFAULT": 0, "FAST": 1, "DFAST": 2, "GREEDY": 3, "LAZY": 4, "LAZY2": 5, "BTLAZY2": 6, "BTOPT": 7, "BTULTRA": 8, "BTULTRA2": 9, } ) func (x Zstd_Strategy) Enum() *Zstd_Strategy { p := new(Zstd_Strategy) *p = x return p } func (x Zstd_Strategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Zstd_Strategy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_enumTypes[0].Descriptor() } func (Zstd_Strategy) Type() protoreflect.EnumType { return &file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_enumTypes[0] } func (x Zstd_Strategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Zstd_Strategy.Descriptor instead. func (Zstd_Strategy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 6] type Zstd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Set compression parameters according to pre-defined compression level table. // Note that exact compression parameters are dynamically determined, // depending on both compression level and source content size (when known). // Value 0 means default, and default level is 3. // Setting a level does not automatically set all other compression parameters // to default. Setting this will however eventually dynamically impact the compression // parameters which have not been manually set. The manually set // ones will 'stick'. CompressionLevel *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=compression_level,json=compressionLevel,proto3" json:"compression_level,omitempty"` // A 32-bits checksum of content is written at end of frame. If not set, defaults to false. EnableChecksum bool `protobuf:"varint,2,opt,name=enable_checksum,json=enableChecksum,proto3" json:"enable_checksum,omitempty"` // The higher the value of selected strategy, the more complex it is, // resulting in stronger and slower compression. // Special: value 0 means "use default strategy". Strategy Zstd_Strategy `protobuf:"varint,3,opt,name=strategy,proto3,enum=envoy.extensions.compression.zstd.compressor.v3.Zstd_Strategy" json:"strategy,omitempty"` // A dictionary for compression. Zstd offers dictionary compression, which greatly improves // efficiency on small files and messages. Each dictionary will be generated with a dictionary ID // that can be used to search the same dictionary during decompression. // Please refer to `zstd manual `_ // to train a specific dictionary for compression. Dictionary *v3.DataSource `protobuf:"bytes,4,opt,name=dictionary,proto3" json:"dictionary,omitempty"` // Value for compressor's next output buffer. If not set, defaults to 4096. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Zstd) Reset() { *x = Zstd{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Zstd) String() string { return protoimpl.X.MessageStringOf(x) } func (*Zstd) ProtoMessage() {} func (x *Zstd) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Zstd.ProtoReflect.Descriptor instead. func (*Zstd) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescGZIP(), []int{0} } func (x *Zstd) GetCompressionLevel() *wrappers.UInt32Value { if x != nil { return x.CompressionLevel } return nil } func (x *Zstd) GetEnableChecksum() bool { if x != nil { return x.EnableChecksum } return false } func (x *Zstd) GetStrategy() Zstd_Strategy { if x != nil { return x.Strategy } return Zstd_DEFAULT } func (x *Zstd) GetDictionary() *v3.DataSource { if x != nil { return x.Dictionary } return nil } func (x *Zstd) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } var File_envoy_extensions_compression_zstd_compressor_v3_zstd_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x03, 0x0a, 0x04, 0x5a, 0x73, 0x74, 0x64, 0x12, 0x49, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x64, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x5a, 0x73, 0x74, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x53, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x46, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x52, 0x45, 0x45, 0x44, 0x59, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x5a, 0x59, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x41, 0x5a, 0x59, 0x32, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x54, 0x4c, 0x41, 0x5a, 0x59, 0x32, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x54, 0x4f, 0x50, 0x54, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x54, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x54, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x32, 0x10, 0x09, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x5a, 0x73, 0x74, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescOnce sync.Once file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescData = file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDesc ) func file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescData) }) return file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDescData } var file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_goTypes = []interface{}{ (Zstd_Strategy)(0), // 0: envoy.extensions.compression.zstd.compressor.v3.Zstd.Strategy (*Zstd)(nil), // 1: envoy.extensions.compression.zstd.compressor.v3.Zstd (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value (*v3.DataSource)(nil), // 3: envoy.config.core.v3.DataSource } var file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.compression.zstd.compressor.v3.Zstd.compression_level:type_name -> google.protobuf.UInt32Value 0, // 1: envoy.extensions.compression.zstd.compressor.v3.Zstd.strategy:type_name -> envoy.extensions.compression.zstd.compressor.v3.Zstd.Strategy 3, // 2: envoy.extensions.compression.zstd.compressor.v3.Zstd.dictionary:type_name -> envoy.config.core.v3.DataSource 2, // 3: envoy.extensions.compression.zstd.compressor.v3.Zstd.chunk_size:type_name -> google.protobuf.UInt32Value 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_init() } func file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_init() { if File_envoy_extensions_compression_zstd_compressor_v3_zstd_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Zstd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_depIdxs, EnumInfos: file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_enumTypes, MessageInfos: file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_msgTypes, }.Build() File_envoy_extensions_compression_zstd_compressor_v3_zstd_proto = out.File file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_rawDesc = nil file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_goTypes = nil file_envoy_extensions_compression_zstd_compressor_v3_zstd_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/zstd/compressor/v3/zstd.pb.validate.go000077500000000000000000000123071454502223200320720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/zstd/compressor/v3/zstd.proto package compressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Zstd with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Zstd) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Zstd with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ZstdMultiError, or nil if none found. func (m *Zstd) ValidateAll() error { return m.validate(true) } func (m *Zstd) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCompressionLevel()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZstdValidationError{ field: "CompressionLevel", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZstdValidationError{ field: "CompressionLevel", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCompressionLevel()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZstdValidationError{ field: "CompressionLevel", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableChecksum if _, ok := Zstd_Strategy_name[int32(m.GetStrategy())]; !ok { err := ZstdValidationError{ field: "Strategy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDictionary()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZstdValidationError{ field: "Dictionary", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZstdValidationError{ field: "Dictionary", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDictionary()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZstdValidationError{ field: "Dictionary", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := ZstdValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ZstdMultiError(errors) } return nil } // ZstdMultiError is an error wrapping multiple validation errors returned by // Zstd.ValidateAll() if the designated constraints aren't met. type ZstdMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZstdMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZstdMultiError) AllErrors() []error { return m } // ZstdValidationError is the validation error returned by Zstd.Validate if the // designated constraints aren't met. type ZstdValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZstdValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZstdValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZstdValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZstdValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZstdValidationError) ErrorName() string { return "ZstdValidationError" } // Error satisfies the builtin error interface func (e ZstdValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZstd.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZstdValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZstdValidationError{} go-control-plane-0.12.0/envoy/extensions/compression/zstd/decompressor/000077500000000000000000000000001454502223200263425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/zstd/decompressor/v3/000077500000000000000000000000001454502223200266725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/compression/zstd/decompressor/v3/zstd.pb.go000077500000000000000000000234751454502223200306230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/compression/zstd/decompressor/v3/zstd.proto package decompressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Zstd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Dictionaries for decompression. Zstd offers dictionary compression, which greatly improves // efficiency on small files and messages. It is necessary to ensure that the dictionary used for // decompression is the same as the compression dictionary. Multiple dictionaries can be set, and the // dictionary will be automatically selected for decompression according to the dictionary ID in the // source content. // Please refer to `zstd manual `_ // to train specific dictionaries for decompression. Dictionaries []*v3.DataSource `protobuf:"bytes,1,rep,name=dictionaries,proto3" json:"dictionaries,omitempty"` // Value for decompressor's next output buffer. If not set, defaults to 4096. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Zstd) Reset() { *x = Zstd{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Zstd) String() string { return protoimpl.X.MessageStringOf(x) } func (*Zstd) ProtoMessage() {} func (x *Zstd) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Zstd.ProtoReflect.Descriptor instead. func (*Zstd) Descriptor() ([]byte, []int) { return file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescGZIP(), []int{0} } func (x *Zstd) GetDictionaries() []*v3.DataSource { if x != nil { return x.Dictionaries } return nil } func (x *Zstd) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } var File_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto protoreflect.FileDescriptor var file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x04, 0x5a, 0x73, 0x74, 0x64, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x73, 0x74, 0x64, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x5a, 0x73, 0x74, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7a, 0x73, 0x74, 0x64, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescOnce sync.Once file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescData = file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDesc ) func file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescGZIP() []byte { file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescOnce.Do(func() { file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescData) }) return file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDescData } var file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_goTypes = []interface{}{ (*Zstd)(nil), // 0: envoy.extensions.compression.zstd.decompressor.v3.Zstd (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.compression.zstd.decompressor.v3.Zstd.dictionaries:type_name -> envoy.config.core.v3.DataSource 2, // 1: envoy.extensions.compression.zstd.decompressor.v3.Zstd.chunk_size:type_name -> google.protobuf.UInt32Value 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_init() } func file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_init() { if File_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Zstd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_goTypes, DependencyIndexes: file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_depIdxs, MessageInfos: file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_msgTypes, }.Build() File_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto = out.File file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_rawDesc = nil file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_goTypes = nil file_envoy_extensions_compression_zstd_decompressor_v3_zstd_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/compression/zstd/decompressor/v3/zstd.pb.validate.go000077500000000000000000000103641454502223200324040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/compression/zstd/decompressor/v3/zstd.proto package decompressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Zstd with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Zstd) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Zstd with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ZstdMultiError, or nil if none found. func (m *Zstd) ValidateAll() error { return m.validate(true) } func (m *Zstd) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetDictionaries() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZstdValidationError{ field: fmt.Sprintf("Dictionaries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZstdValidationError{ field: fmt.Sprintf("Dictionaries[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZstdValidationError{ field: fmt.Sprintf("Dictionaries[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := ZstdValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ZstdMultiError(errors) } return nil } // ZstdMultiError is an error wrapping multiple validation errors returned by // Zstd.ValidateAll() if the designated constraints aren't met. type ZstdMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZstdMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZstdMultiError) AllErrors() []error { return m } // ZstdValidationError is the validation error returned by Zstd.Validate if the // designated constraints aren't met. type ZstdValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZstdValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZstdValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZstdValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZstdValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZstdValidationError) ErrorName() string { return "ZstdValidationError" } // Error satisfies the builtin error interface func (e ZstdValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZstd.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZstdValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZstdValidationError{} go-control-plane-0.12.0/envoy/extensions/config/000077500000000000000000000000001454502223200215555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/config/validators/000077500000000000000000000000001454502223200237255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/config/validators/minimum_clusters/000077500000000000000000000000001454502223200273245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/config/validators/minimum_clusters/v3/000077500000000000000000000000001454502223200276545ustar00rootroot00000000000000minimum_clusters.pb.go000077500000000000000000000211361454502223200341310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/config/validators/minimum_clusters/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/config/validators/minimum_clusters/v3/minimum_clusters.proto package minimum_clustersv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Validates a CDS config, and ensures that the number of clusters is above the // set threshold. type MinimumClustersValidator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The minimal clusters threshold. Any CDS config update leading to less than // this number will be rejected. // Default value is 0. MinClustersNum uint32 `protobuf:"varint,1,opt,name=min_clusters_num,json=minClustersNum,proto3" json:"min_clusters_num,omitempty"` } func (x *MinimumClustersValidator) Reset() { *x = MinimumClustersValidator{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MinimumClustersValidator) String() string { return protoimpl.X.MessageStringOf(x) } func (*MinimumClustersValidator) ProtoMessage() {} func (x *MinimumClustersValidator) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MinimumClustersValidator.ProtoReflect.Descriptor instead. func (*MinimumClustersValidator) Descriptor() ([]byte, []int) { return file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescGZIP(), []int{0} } func (x *MinimumClustersValidator) GetMinClustersNum() uint32 { if x != nil { return x.MinClustersNum } return 0 } var File_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto protoreflect.FileDescriptor var file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x18, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x4e, 0x75, 0x6d, 0x42, 0xd8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescOnce sync.Once file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescData = file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDesc ) func file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescGZIP() []byte { file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescOnce.Do(func() { file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescData) }) return file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDescData } var file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_goTypes = []interface{}{ (*MinimumClustersValidator)(nil), // 0: envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator } var file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_init() } func file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_init() { if File_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MinimumClustersValidator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_goTypes, DependencyIndexes: file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_depIdxs, MessageInfos: file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_msgTypes, }.Build() File_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto = out.File file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_rawDesc = nil file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_goTypes = nil file_envoy_extensions_config_validators_minimum_clusters_v3_minimum_clusters_proto_depIdxs = nil } minimum_clusters.pb.validate.go000077500000000000000000000071111454502223200357160ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/config/validators/minimum_clusters/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/config/validators/minimum_clusters/v3/minimum_clusters.proto package minimum_clustersv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MinimumClustersValidator with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MinimumClustersValidator) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MinimumClustersValidator with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MinimumClustersValidatorMultiError, or nil if none found. func (m *MinimumClustersValidator) ValidateAll() error { return m.validate(true) } func (m *MinimumClustersValidator) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MinClustersNum if len(errors) > 0 { return MinimumClustersValidatorMultiError(errors) } return nil } // MinimumClustersValidatorMultiError is an error wrapping multiple validation // errors returned by MinimumClustersValidator.ValidateAll() if the designated // constraints aren't met. type MinimumClustersValidatorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MinimumClustersValidatorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MinimumClustersValidatorMultiError) AllErrors() []error { return m } // MinimumClustersValidatorValidationError is the validation error returned by // MinimumClustersValidator.Validate if the designated constraints aren't met. type MinimumClustersValidatorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MinimumClustersValidatorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MinimumClustersValidatorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MinimumClustersValidatorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MinimumClustersValidatorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MinimumClustersValidatorValidationError) ErrorName() string { return "MinimumClustersValidatorValidationError" } // Error satisfies the builtin error interface func (e MinimumClustersValidatorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMinimumClustersValidator.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MinimumClustersValidatorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MinimumClustersValidatorValidationError{} go-control-plane-0.12.0/envoy/extensions/early_data/000077500000000000000000000000001454502223200224155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/early_data/v3/000077500000000000000000000000001454502223200227455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/early_data/v3/default_early_data_policy.pb.go000077500000000000000000000161311454502223200310710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/early_data/v3/default_early_data_policy.proto package early_datav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.route.early_data_policy.default] // The default rule to allow/disallow a request to be sent as early data. It's an empty config now. Configuring it will disallow any request to be sent over early data. type DefaultEarlyDataPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DefaultEarlyDataPolicy) Reset() { *x = DefaultEarlyDataPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_early_data_v3_default_early_data_policy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DefaultEarlyDataPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DefaultEarlyDataPolicy) ProtoMessage() {} func (x *DefaultEarlyDataPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_early_data_v3_default_early_data_policy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DefaultEarlyDataPolicy.ProtoReflect.Descriptor instead. func (*DefaultEarlyDataPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_early_data_v3_default_early_data_policy_proto protoreflect.FileDescriptor var file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x1b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescOnce sync.Once file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescData = file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDesc ) func file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescGZIP() []byte { file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescOnce.Do(func() { file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescData) }) return file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDescData } var file_envoy_extensions_early_data_v3_default_early_data_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_early_data_v3_default_early_data_policy_proto_goTypes = []interface{}{ (*DefaultEarlyDataPolicy)(nil), // 0: envoy.extensions.early_data.v3.DefaultEarlyDataPolicy } var file_envoy_extensions_early_data_v3_default_early_data_policy_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_early_data_v3_default_early_data_policy_proto_init() } func file_envoy_extensions_early_data_v3_default_early_data_policy_proto_init() { if File_envoy_extensions_early_data_v3_default_early_data_policy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_early_data_v3_default_early_data_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DefaultEarlyDataPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_early_data_v3_default_early_data_policy_proto_goTypes, DependencyIndexes: file_envoy_extensions_early_data_v3_default_early_data_policy_proto_depIdxs, MessageInfos: file_envoy_extensions_early_data_v3_default_early_data_policy_proto_msgTypes, }.Build() File_envoy_extensions_early_data_v3_default_early_data_policy_proto = out.File file_envoy_extensions_early_data_v3_default_early_data_policy_proto_rawDesc = nil file_envoy_extensions_early_data_v3_default_early_data_policy_proto_goTypes = nil file_envoy_extensions_early_data_v3_default_early_data_policy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/early_data/v3/default_early_data_policy.pb.validate.go000077500000000000000000000067261454502223200326720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/early_data/v3/default_early_data_policy.proto package early_datav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DefaultEarlyDataPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DefaultEarlyDataPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DefaultEarlyDataPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DefaultEarlyDataPolicyMultiError, or nil if none found. func (m *DefaultEarlyDataPolicy) ValidateAll() error { return m.validate(true) } func (m *DefaultEarlyDataPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DefaultEarlyDataPolicyMultiError(errors) } return nil } // DefaultEarlyDataPolicyMultiError is an error wrapping multiple validation // errors returned by DefaultEarlyDataPolicy.ValidateAll() if the designated // constraints aren't met. type DefaultEarlyDataPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DefaultEarlyDataPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DefaultEarlyDataPolicyMultiError) AllErrors() []error { return m } // DefaultEarlyDataPolicyValidationError is the validation error returned by // DefaultEarlyDataPolicy.Validate if the designated constraints aren't met. type DefaultEarlyDataPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DefaultEarlyDataPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DefaultEarlyDataPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DefaultEarlyDataPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DefaultEarlyDataPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DefaultEarlyDataPolicyValidationError) ErrorName() string { return "DefaultEarlyDataPolicyValidationError" } // Error satisfies the builtin error interface func (e DefaultEarlyDataPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDefaultEarlyDataPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DefaultEarlyDataPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DefaultEarlyDataPolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/000077500000000000000000000000001454502223200217605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/000077500000000000000000000000001454502223200232505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/dependency/000077500000000000000000000000001454502223200253665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/dependency/v3/000077500000000000000000000000001454502223200257165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/dependency/v3/dependency.pb.go000077500000000000000000000551771454502223200310050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/common/dependency/v3/dependency.proto package dependencyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Dependency_DependencyType int32 const ( Dependency_HEADER Dependency_DependencyType = 0 Dependency_FILTER_STATE_KEY Dependency_DependencyType = 1 Dependency_DYNAMIC_METADATA Dependency_DependencyType = 2 ) // Enum value maps for Dependency_DependencyType. var ( Dependency_DependencyType_name = map[int32]string{ 0: "HEADER", 1: "FILTER_STATE_KEY", 2: "DYNAMIC_METADATA", } Dependency_DependencyType_value = map[string]int32{ "HEADER": 0, "FILTER_STATE_KEY": 1, "DYNAMIC_METADATA": 2, } ) func (x Dependency_DependencyType) Enum() *Dependency_DependencyType { p := new(Dependency_DependencyType) *p = x return p } func (x Dependency_DependencyType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Dependency_DependencyType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_enumTypes[0].Descriptor() } func (Dependency_DependencyType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_enumTypes[0] } func (x Dependency_DependencyType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Dependency_DependencyType.Descriptor instead. func (Dependency_DependencyType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP(), []int{0, 0} } // Dependency specification and string identifier. type Dependency struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The kind of dependency. Type Dependency_DependencyType `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.extensions.filters.common.dependency.v3.Dependency_DependencyType" json:"type,omitempty"` // The string identifier for the dependency. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *Dependency) Reset() { *x = Dependency{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dependency) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dependency) ProtoMessage() {} func (x *Dependency) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dependency.ProtoReflect.Descriptor instead. func (*Dependency) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP(), []int{0} } func (x *Dependency) GetType() Dependency_DependencyType { if x != nil { return x.Type } return Dependency_HEADER } func (x *Dependency) GetName() string { if x != nil { return x.Name } return "" } // Dependency specification for a filter. For a filter chain to be valid, any // dependency that is required must be provided by an earlier filter. type FilterDependencies struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A list of dependencies required on the decode path. DecodeRequired []*Dependency `protobuf:"bytes,1,rep,name=decode_required,json=decodeRequired,proto3" json:"decode_required,omitempty"` // A list of dependencies provided on the encode path. DecodeProvided []*Dependency `protobuf:"bytes,2,rep,name=decode_provided,json=decodeProvided,proto3" json:"decode_provided,omitempty"` // A list of dependencies required on the decode path. EncodeRequired []*Dependency `protobuf:"bytes,3,rep,name=encode_required,json=encodeRequired,proto3" json:"encode_required,omitempty"` // A list of dependencies provided on the encode path. EncodeProvided []*Dependency `protobuf:"bytes,4,rep,name=encode_provided,json=encodeProvided,proto3" json:"encode_provided,omitempty"` } func (x *FilterDependencies) Reset() { *x = FilterDependencies{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterDependencies) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterDependencies) ProtoMessage() {} func (x *FilterDependencies) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterDependencies.ProtoReflect.Descriptor instead. func (*FilterDependencies) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP(), []int{1} } func (x *FilterDependencies) GetDecodeRequired() []*Dependency { if x != nil { return x.DecodeRequired } return nil } func (x *FilterDependencies) GetDecodeProvided() []*Dependency { if x != nil { return x.DecodeProvided } return nil } func (x *FilterDependencies) GetEncodeRequired() []*Dependency { if x != nil { return x.EncodeRequired } return nil } func (x *FilterDependencies) GetEncodeProvided() []*Dependency { if x != nil { return x.EncodeProvided } return nil } // Matching requirements for a filter. For a match tree to be used with a filter, the match // requirements must be satisfied. // // This protobuf is provided by the filter implementation as a way to communicate the matching // requirements to the filter factories, allowing for config rejection if the requirements are // not satisfied. type MatchingRequirements struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DataInputAllowList *MatchingRequirements_DataInputAllowList `protobuf:"bytes,1,opt,name=data_input_allow_list,json=dataInputAllowList,proto3" json:"data_input_allow_list,omitempty"` } func (x *MatchingRequirements) Reset() { *x = MatchingRequirements{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchingRequirements) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchingRequirements) ProtoMessage() {} func (x *MatchingRequirements) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchingRequirements.ProtoReflect.Descriptor instead. func (*MatchingRequirements) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP(), []int{2} } func (x *MatchingRequirements) GetDataInputAllowList() *MatchingRequirements_DataInputAllowList { if x != nil { return x.DataInputAllowList } return nil } type MatchingRequirements_DataInputAllowList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An explicit list of data inputs that are allowed to be used with this filter. TypeUrl []string `protobuf:"bytes,1,rep,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` } func (x *MatchingRequirements_DataInputAllowList) Reset() { *x = MatchingRequirements_DataInputAllowList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchingRequirements_DataInputAllowList) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchingRequirements_DataInputAllowList) ProtoMessage() {} func (x *MatchingRequirements_DataInputAllowList) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchingRequirements_DataInputAllowList.ProtoReflect.Descriptor instead. func (*MatchingRequirements_DataInputAllowList) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP(), []int{2, 0} } func (x *MatchingRequirements_DataInputAllowList) GetTypeUrl() []string { if x != nil { return x.TypeUrl } return nil } var File_envoy_extensions_filters_common_dependency_v3_dependency_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x5c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x22, 0xa4, 0x03, 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x0f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x2f, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x42, 0xbb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescOnce sync.Once file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescData = file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDesc ) func file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescData) }) return file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDescData } var file_envoy_extensions_filters_common_dependency_v3_dependency_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_common_dependency_v3_dependency_proto_goTypes = []interface{}{ (Dependency_DependencyType)(0), // 0: envoy.extensions.filters.common.dependency.v3.Dependency.DependencyType (*Dependency)(nil), // 1: envoy.extensions.filters.common.dependency.v3.Dependency (*FilterDependencies)(nil), // 2: envoy.extensions.filters.common.dependency.v3.FilterDependencies (*MatchingRequirements)(nil), // 3: envoy.extensions.filters.common.dependency.v3.MatchingRequirements (*MatchingRequirements_DataInputAllowList)(nil), // 4: envoy.extensions.filters.common.dependency.v3.MatchingRequirements.DataInputAllowList } var file_envoy_extensions_filters_common_dependency_v3_dependency_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.common.dependency.v3.Dependency.type:type_name -> envoy.extensions.filters.common.dependency.v3.Dependency.DependencyType 1, // 1: envoy.extensions.filters.common.dependency.v3.FilterDependencies.decode_required:type_name -> envoy.extensions.filters.common.dependency.v3.Dependency 1, // 2: envoy.extensions.filters.common.dependency.v3.FilterDependencies.decode_provided:type_name -> envoy.extensions.filters.common.dependency.v3.Dependency 1, // 3: envoy.extensions.filters.common.dependency.v3.FilterDependencies.encode_required:type_name -> envoy.extensions.filters.common.dependency.v3.Dependency 1, // 4: envoy.extensions.filters.common.dependency.v3.FilterDependencies.encode_provided:type_name -> envoy.extensions.filters.common.dependency.v3.Dependency 4, // 5: envoy.extensions.filters.common.dependency.v3.MatchingRequirements.data_input_allow_list:type_name -> envoy.extensions.filters.common.dependency.v3.MatchingRequirements.DataInputAllowList 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_common_dependency_v3_dependency_proto_init() } func file_envoy_extensions_filters_common_dependency_v3_dependency_proto_init() { if File_envoy_extensions_filters_common_dependency_v3_dependency_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dependency); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterDependencies); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchingRequirements); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchingRequirements_DataInputAllowList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_common_dependency_v3_dependency_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_common_dependency_v3_dependency_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_common_dependency_v3_dependency_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_common_dependency_v3_dependency_proto_msgTypes, }.Build() File_envoy_extensions_filters_common_dependency_v3_dependency_proto = out.File file_envoy_extensions_filters_common_dependency_v3_dependency_proto_rawDesc = nil file_envoy_extensions_filters_common_dependency_v3_dependency_proto_goTypes = nil file_envoy_extensions_filters_common_dependency_v3_dependency_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/common/dependency/v3/dependency.pb.validate.go000077500000000000000000000421351454502223200325630ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/common/dependency/v3/dependency.proto package dependencyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Dependency with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Dependency) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Dependency with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DependencyMultiError, or // nil if none found. func (m *Dependency) ValidateAll() error { return m.validate(true) } func (m *Dependency) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Type if utf8.RuneCountInString(m.GetName()) < 1 { err := DependencyValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DependencyMultiError(errors) } return nil } // DependencyMultiError is an error wrapping multiple validation errors // returned by Dependency.ValidateAll() if the designated constraints aren't met. type DependencyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DependencyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DependencyMultiError) AllErrors() []error { return m } // DependencyValidationError is the validation error returned by // Dependency.Validate if the designated constraints aren't met. type DependencyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DependencyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DependencyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DependencyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DependencyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DependencyValidationError) ErrorName() string { return "DependencyValidationError" } // Error satisfies the builtin error interface func (e DependencyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDependency.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DependencyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DependencyValidationError{} // Validate checks the field values on FilterDependencies with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FilterDependencies) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterDependencies with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterDependenciesMultiError, or nil if none found. func (m *FilterDependencies) ValidateAll() error { return m.validate(true) } func (m *FilterDependencies) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetDecodeRequired() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDecodeProvided() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterDependenciesValidationError{ field: fmt.Sprintf("DecodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetEncodeRequired() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeRequired[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetEncodeProvided() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterDependenciesValidationError{ field: fmt.Sprintf("EncodeProvided[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return FilterDependenciesMultiError(errors) } return nil } // FilterDependenciesMultiError is an error wrapping multiple validation errors // returned by FilterDependencies.ValidateAll() if the designated constraints // aren't met. type FilterDependenciesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterDependenciesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterDependenciesMultiError) AllErrors() []error { return m } // FilterDependenciesValidationError is the validation error returned by // FilterDependencies.Validate if the designated constraints aren't met. type FilterDependenciesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterDependenciesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterDependenciesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterDependenciesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterDependenciesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterDependenciesValidationError) ErrorName() string { return "FilterDependenciesValidationError" } // Error satisfies the builtin error interface func (e FilterDependenciesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterDependencies.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterDependenciesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterDependenciesValidationError{} // Validate checks the field values on MatchingRequirements with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MatchingRequirements) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchingRequirements with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MatchingRequirementsMultiError, or nil if none found. func (m *MatchingRequirements) ValidateAll() error { return m.validate(true) } func (m *MatchingRequirements) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDataInputAllowList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchingRequirementsValidationError{ field: "DataInputAllowList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchingRequirementsValidationError{ field: "DataInputAllowList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDataInputAllowList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchingRequirementsValidationError{ field: "DataInputAllowList", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MatchingRequirementsMultiError(errors) } return nil } // MatchingRequirementsMultiError is an error wrapping multiple validation // errors returned by MatchingRequirements.ValidateAll() if the designated // constraints aren't met. type MatchingRequirementsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchingRequirementsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchingRequirementsMultiError) AllErrors() []error { return m } // MatchingRequirementsValidationError is the validation error returned by // MatchingRequirements.Validate if the designated constraints aren't met. type MatchingRequirementsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchingRequirementsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchingRequirementsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchingRequirementsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchingRequirementsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchingRequirementsValidationError) ErrorName() string { return "MatchingRequirementsValidationError" } // Error satisfies the builtin error interface func (e MatchingRequirementsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchingRequirements.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchingRequirementsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchingRequirementsValidationError{} // Validate checks the field values on MatchingRequirements_DataInputAllowList // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *MatchingRequirements_DataInputAllowList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // MatchingRequirements_DataInputAllowList with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // MatchingRequirements_DataInputAllowListMultiError, or nil if none found. func (m *MatchingRequirements_DataInputAllowList) ValidateAll() error { return m.validate(true) } func (m *MatchingRequirements_DataInputAllowList) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MatchingRequirements_DataInputAllowListMultiError(errors) } return nil } // MatchingRequirements_DataInputAllowListMultiError is an error wrapping // multiple validation errors returned by // MatchingRequirements_DataInputAllowList.ValidateAll() if the designated // constraints aren't met. type MatchingRequirements_DataInputAllowListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchingRequirements_DataInputAllowListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchingRequirements_DataInputAllowListMultiError) AllErrors() []error { return m } // MatchingRequirements_DataInputAllowListValidationError is the validation // error returned by MatchingRequirements_DataInputAllowList.Validate if the // designated constraints aren't met. type MatchingRequirements_DataInputAllowListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchingRequirements_DataInputAllowListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchingRequirements_DataInputAllowListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchingRequirements_DataInputAllowListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchingRequirements_DataInputAllowListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchingRequirements_DataInputAllowListValidationError) ErrorName() string { return "MatchingRequirements_DataInputAllowListValidationError" } // Error satisfies the builtin error interface func (e MatchingRequirements_DataInputAllowListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchingRequirements_DataInputAllowList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchingRequirements_DataInputAllowListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchingRequirements_DataInputAllowListValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/common/fault/000077500000000000000000000000001454502223200243635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/fault/v3/000077500000000000000000000000001454502223200247135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/fault/v3/fault.pb.go000077500000000000000000000646221454502223200267720ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/common/fault/v3/fault.proto package faultv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FaultDelay_FaultDelayType int32 const ( // Unused and deprecated. FaultDelay_FIXED FaultDelay_FaultDelayType = 0 ) // Enum value maps for FaultDelay_FaultDelayType. var ( FaultDelay_FaultDelayType_name = map[int32]string{ 0: "FIXED", } FaultDelay_FaultDelayType_value = map[string]int32{ "FIXED": 0, } ) func (x FaultDelay_FaultDelayType) Enum() *FaultDelay_FaultDelayType { p := new(FaultDelay_FaultDelayType) *p = x return p } func (x FaultDelay_FaultDelayType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FaultDelay_FaultDelayType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_common_fault_v3_fault_proto_enumTypes[0].Descriptor() } func (FaultDelay_FaultDelayType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_common_fault_v3_fault_proto_enumTypes[0] } func (x FaultDelay_FaultDelayType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FaultDelay_FaultDelayType.Descriptor instead. func (FaultDelay_FaultDelayType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{0, 0} } // Delay specification is used to inject latency into the // HTTP/Mongo operation. // [#next-free-field: 6] type FaultDelay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to FaultDelaySecifier: // // *FaultDelay_FixedDelay // *FaultDelay_HeaderDelay_ FaultDelaySecifier isFaultDelay_FaultDelaySecifier `protobuf_oneof:"fault_delay_secifier"` // The percentage of operations/connections/requests on which the delay will be injected. Percentage *v3.FractionalPercent `protobuf:"bytes,4,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultDelay) Reset() { *x = FaultDelay{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultDelay) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultDelay) ProtoMessage() {} func (x *FaultDelay) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultDelay.ProtoReflect.Descriptor instead. func (*FaultDelay) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{0} } func (m *FaultDelay) GetFaultDelaySecifier() isFaultDelay_FaultDelaySecifier { if m != nil { return m.FaultDelaySecifier } return nil } func (x *FaultDelay) GetFixedDelay() *duration.Duration { if x, ok := x.GetFaultDelaySecifier().(*FaultDelay_FixedDelay); ok { return x.FixedDelay } return nil } func (x *FaultDelay) GetHeaderDelay() *FaultDelay_HeaderDelay { if x, ok := x.GetFaultDelaySecifier().(*FaultDelay_HeaderDelay_); ok { return x.HeaderDelay } return nil } func (x *FaultDelay) GetPercentage() *v3.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultDelay_FaultDelaySecifier interface { isFaultDelay_FaultDelaySecifier() } type FaultDelay_FixedDelay struct { // Add a fixed delay before forwarding the operation upstream. See // https://developers.google.com/protocol-buffers/docs/proto3#json for // the JSON/YAML Duration mapping. For HTTP/Mongo, the specified // delay will be injected before a new request/operation. // This is required if type is FIXED. FixedDelay *duration.Duration `protobuf:"bytes,3,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"` } type FaultDelay_HeaderDelay_ struct { // Fault delays are controlled via an HTTP header (if applicable). HeaderDelay *FaultDelay_HeaderDelay `protobuf:"bytes,5,opt,name=header_delay,json=headerDelay,proto3,oneof"` } func (*FaultDelay_FixedDelay) isFaultDelay_FaultDelaySecifier() {} func (*FaultDelay_HeaderDelay_) isFaultDelay_FaultDelaySecifier() {} // Describes a rate limit to be applied. type FaultRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to LimitType: // // *FaultRateLimit_FixedLimit_ // *FaultRateLimit_HeaderLimit_ LimitType isFaultRateLimit_LimitType `protobuf_oneof:"limit_type"` // The percentage of operations/connections/requests on which the rate limit will be injected. Percentage *v3.FractionalPercent `protobuf:"bytes,2,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultRateLimit) Reset() { *x = FaultRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit) ProtoMessage() {} func (x *FaultRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{1} } func (m *FaultRateLimit) GetLimitType() isFaultRateLimit_LimitType { if m != nil { return m.LimitType } return nil } func (x *FaultRateLimit) GetFixedLimit() *FaultRateLimit_FixedLimit { if x, ok := x.GetLimitType().(*FaultRateLimit_FixedLimit_); ok { return x.FixedLimit } return nil } func (x *FaultRateLimit) GetHeaderLimit() *FaultRateLimit_HeaderLimit { if x, ok := x.GetLimitType().(*FaultRateLimit_HeaderLimit_); ok { return x.HeaderLimit } return nil } func (x *FaultRateLimit) GetPercentage() *v3.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultRateLimit_LimitType interface { isFaultRateLimit_LimitType() } type FaultRateLimit_FixedLimit_ struct { // A fixed rate limit. FixedLimit *FaultRateLimit_FixedLimit `protobuf:"bytes,1,opt,name=fixed_limit,json=fixedLimit,proto3,oneof"` } type FaultRateLimit_HeaderLimit_ struct { // Rate limits are controlled via an HTTP header (if applicable). HeaderLimit *FaultRateLimit_HeaderLimit `protobuf:"bytes,3,opt,name=header_limit,json=headerLimit,proto3,oneof"` } func (*FaultRateLimit_FixedLimit_) isFaultRateLimit_LimitType() {} func (*FaultRateLimit_HeaderLimit_) isFaultRateLimit_LimitType() {} // Fault delays are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultDelay_HeaderDelay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultDelay_HeaderDelay) Reset() { *x = FaultDelay_HeaderDelay{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultDelay_HeaderDelay) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultDelay_HeaderDelay) ProtoMessage() {} func (x *FaultDelay_HeaderDelay) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultDelay_HeaderDelay.ProtoReflect.Descriptor instead. func (*FaultDelay_HeaderDelay) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{0, 0} } // Describes a fixed/constant rate limit. type FaultRateLimit_FixedLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The limit supplied in KiB/s. LimitKbps uint64 `protobuf:"varint,1,opt,name=limit_kbps,json=limitKbps,proto3" json:"limit_kbps,omitempty"` } func (x *FaultRateLimit_FixedLimit) Reset() { *x = FaultRateLimit_FixedLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit_FixedLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit_FixedLimit) ProtoMessage() {} func (x *FaultRateLimit_FixedLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit_FixedLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit_FixedLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{1, 0} } func (x *FaultRateLimit_FixedLimit) GetLimitKbps() uint64 { if x != nil { return x.LimitKbps } return 0 } // Rate limits are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultRateLimit_HeaderLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultRateLimit_HeaderLimit) Reset() { *x = FaultRateLimit_HeaderLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultRateLimit_HeaderLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultRateLimit_HeaderLimit) ProtoMessage() {} func (x *FaultRateLimit_HeaderLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultRateLimit_HeaderLimit.ProtoReflect.Descriptor instead. func (*FaultRateLimit_HeaderLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP(), []int{1, 1} } var File_envoy_extensions_filters_common_fault_v3_fault_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x03, 0x0a, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x65, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x49, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x1b, 0x0a, 0x0e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x58, 0x45, 0x44, 0x10, 0x00, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x1b, 0x0a, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x04, 0x0a, 0x0e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x66, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x69, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x73, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6b, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4b, 0x62, 0x70, 0x73, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x4d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x11, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xa7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescOnce sync.Once file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescData = file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDesc ) func file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescData) }) return file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDescData } var file_envoy_extensions_filters_common_fault_v3_fault_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_extensions_filters_common_fault_v3_fault_proto_goTypes = []interface{}{ (FaultDelay_FaultDelayType)(0), // 0: envoy.extensions.filters.common.fault.v3.FaultDelay.FaultDelayType (*FaultDelay)(nil), // 1: envoy.extensions.filters.common.fault.v3.FaultDelay (*FaultRateLimit)(nil), // 2: envoy.extensions.filters.common.fault.v3.FaultRateLimit (*FaultDelay_HeaderDelay)(nil), // 3: envoy.extensions.filters.common.fault.v3.FaultDelay.HeaderDelay (*FaultRateLimit_FixedLimit)(nil), // 4: envoy.extensions.filters.common.fault.v3.FaultRateLimit.FixedLimit (*FaultRateLimit_HeaderLimit)(nil), // 5: envoy.extensions.filters.common.fault.v3.FaultRateLimit.HeaderLimit (*duration.Duration)(nil), // 6: google.protobuf.Duration (*v3.FractionalPercent)(nil), // 7: envoy.type.v3.FractionalPercent } var file_envoy_extensions_filters_common_fault_v3_fault_proto_depIdxs = []int32{ 6, // 0: envoy.extensions.filters.common.fault.v3.FaultDelay.fixed_delay:type_name -> google.protobuf.Duration 3, // 1: envoy.extensions.filters.common.fault.v3.FaultDelay.header_delay:type_name -> envoy.extensions.filters.common.fault.v3.FaultDelay.HeaderDelay 7, // 2: envoy.extensions.filters.common.fault.v3.FaultDelay.percentage:type_name -> envoy.type.v3.FractionalPercent 4, // 3: envoy.extensions.filters.common.fault.v3.FaultRateLimit.fixed_limit:type_name -> envoy.extensions.filters.common.fault.v3.FaultRateLimit.FixedLimit 5, // 4: envoy.extensions.filters.common.fault.v3.FaultRateLimit.header_limit:type_name -> envoy.extensions.filters.common.fault.v3.FaultRateLimit.HeaderLimit 7, // 5: envoy.extensions.filters.common.fault.v3.FaultRateLimit.percentage:type_name -> envoy.type.v3.FractionalPercent 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_common_fault_v3_fault_proto_init() } func file_envoy_extensions_filters_common_fault_v3_fault_proto_init() { if File_envoy_extensions_filters_common_fault_v3_fault_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultDelay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultDelay_HeaderDelay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit_FixedLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultRateLimit_HeaderLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FaultDelay_FixedDelay)(nil), (*FaultDelay_HeaderDelay_)(nil), } file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes[1].OneofWrappers = []interface{}{ (*FaultRateLimit_FixedLimit_)(nil), (*FaultRateLimit_HeaderLimit_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDesc, NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_common_fault_v3_fault_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_common_fault_v3_fault_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_common_fault_v3_fault_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_common_fault_v3_fault_proto_msgTypes, }.Build() File_envoy_extensions_filters_common_fault_v3_fault_proto = out.File file_envoy_extensions_filters_common_fault_v3_fault_proto_rawDesc = nil file_envoy_extensions_filters_common_fault_v3_fault_proto_goTypes = nil file_envoy_extensions_filters_common_fault_v3_fault_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/common/fault/v3/fault.pb.validate.go000077500000000000000000000524401454502223200305550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/common/fault/v3/fault.proto package faultv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FaultDelay with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultDelay) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultDelay with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultDelayMultiError, or // nil if none found. func (m *FaultDelay) ValidateAll() error { return m.validate(true) } func (m *FaultDelay) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultDelayValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofFaultDelaySecifierPresent := false switch v := m.FaultDelaySecifier.(type) { case *FaultDelay_FixedDelay: if v == nil { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFaultDelaySecifierPresent = true if d := m.GetFixedDelay(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = FaultDelayValidationError{ field: "FixedDelay", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := FaultDelayValidationError{ field: "FixedDelay", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } case *FaultDelay_HeaderDelay_: if v == nil { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFaultDelaySecifierPresent = true if all { switch v := interface{}(m.GetHeaderDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultDelayValidationError{ field: "HeaderDelay", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFaultDelaySecifierPresent { err := FaultDelayValidationError{ field: "FaultDelaySecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultDelayMultiError(errors) } return nil } // FaultDelayMultiError is an error wrapping multiple validation errors // returned by FaultDelay.ValidateAll() if the designated constraints aren't met. type FaultDelayMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultDelayMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultDelayMultiError) AllErrors() []error { return m } // FaultDelayValidationError is the validation error returned by // FaultDelay.Validate if the designated constraints aren't met. type FaultDelayValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultDelayValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultDelayValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultDelayValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultDelayValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultDelayValidationError) ErrorName() string { return "FaultDelayValidationError" } // Error satisfies the builtin error interface func (e FaultDelayValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultDelay.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultDelayValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultDelayValidationError{} // Validate checks the field values on FaultRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultRateLimitMultiError, // or nil if none found. func (m *FaultRateLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofLimitTypePresent := false switch v := m.LimitType.(type) { case *FaultRateLimit_FixedLimit_: if v == nil { err := FaultRateLimitValidationError{ field: "LimitType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLimitTypePresent = true if all { switch v := interface{}(m.GetFixedLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFixedLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "FixedLimit", reason: "embedded message failed validation", cause: err, } } } case *FaultRateLimit_HeaderLimit_: if v == nil { err := FaultRateLimitValidationError{ field: "LimitType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLimitTypePresent = true if all { switch v := interface{}(m.GetHeaderLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultRateLimitValidationError{ field: "HeaderLimit", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLimitTypePresent { err := FaultRateLimitValidationError{ field: "LimitType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultRateLimitMultiError(errors) } return nil } // FaultRateLimitMultiError is an error wrapping multiple validation errors // returned by FaultRateLimit.ValidateAll() if the designated constraints // aren't met. type FaultRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimitMultiError) AllErrors() []error { return m } // FaultRateLimitValidationError is the validation error returned by // FaultRateLimit.Validate if the designated constraints aren't met. type FaultRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimitValidationError) ErrorName() string { return "FaultRateLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimitValidationError{} // Validate checks the field values on FaultDelay_HeaderDelay with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultDelay_HeaderDelay) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultDelay_HeaderDelay with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultDelay_HeaderDelayMultiError, or nil if none found. func (m *FaultDelay_HeaderDelay) ValidateAll() error { return m.validate(true) } func (m *FaultDelay_HeaderDelay) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultDelay_HeaderDelayMultiError(errors) } return nil } // FaultDelay_HeaderDelayMultiError is an error wrapping multiple validation // errors returned by FaultDelay_HeaderDelay.ValidateAll() if the designated // constraints aren't met. type FaultDelay_HeaderDelayMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultDelay_HeaderDelayMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultDelay_HeaderDelayMultiError) AllErrors() []error { return m } // FaultDelay_HeaderDelayValidationError is the validation error returned by // FaultDelay_HeaderDelay.Validate if the designated constraints aren't met. type FaultDelay_HeaderDelayValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultDelay_HeaderDelayValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultDelay_HeaderDelayValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultDelay_HeaderDelayValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultDelay_HeaderDelayValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultDelay_HeaderDelayValidationError) ErrorName() string { return "FaultDelay_HeaderDelayValidationError" } // Error satisfies the builtin error interface func (e FaultDelay_HeaderDelayValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultDelay_HeaderDelay.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultDelay_HeaderDelayValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultDelay_HeaderDelayValidationError{} // Validate checks the field values on FaultRateLimit_FixedLimit with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit_FixedLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit_FixedLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultRateLimit_FixedLimitMultiError, or nil if none found. func (m *FaultRateLimit_FixedLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit_FixedLimit) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetLimitKbps() < 1 { err := FaultRateLimit_FixedLimitValidationError{ field: "LimitKbps", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultRateLimit_FixedLimitMultiError(errors) } return nil } // FaultRateLimit_FixedLimitMultiError is an error wrapping multiple validation // errors returned by FaultRateLimit_FixedLimit.ValidateAll() if the // designated constraints aren't met. type FaultRateLimit_FixedLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimit_FixedLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimit_FixedLimitMultiError) AllErrors() []error { return m } // FaultRateLimit_FixedLimitValidationError is the validation error returned by // FaultRateLimit_FixedLimit.Validate if the designated constraints aren't met. type FaultRateLimit_FixedLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimit_FixedLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimit_FixedLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimit_FixedLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimit_FixedLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimit_FixedLimitValidationError) ErrorName() string { return "FaultRateLimit_FixedLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimit_FixedLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit_FixedLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimit_FixedLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimit_FixedLimitValidationError{} // Validate checks the field values on FaultRateLimit_HeaderLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultRateLimit_HeaderLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultRateLimit_HeaderLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultRateLimit_HeaderLimitMultiError, or nil if none found. func (m *FaultRateLimit_HeaderLimit) ValidateAll() error { return m.validate(true) } func (m *FaultRateLimit_HeaderLimit) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultRateLimit_HeaderLimitMultiError(errors) } return nil } // FaultRateLimit_HeaderLimitMultiError is an error wrapping multiple // validation errors returned by FaultRateLimit_HeaderLimit.ValidateAll() if // the designated constraints aren't met. type FaultRateLimit_HeaderLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultRateLimit_HeaderLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultRateLimit_HeaderLimitMultiError) AllErrors() []error { return m } // FaultRateLimit_HeaderLimitValidationError is the validation error returned // by FaultRateLimit_HeaderLimit.Validate if the designated constraints aren't met. type FaultRateLimit_HeaderLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultRateLimit_HeaderLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultRateLimit_HeaderLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultRateLimit_HeaderLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultRateLimit_HeaderLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultRateLimit_HeaderLimitValidationError) ErrorName() string { return "FaultRateLimit_HeaderLimitValidationError" } // Error satisfies the builtin error interface func (e FaultRateLimit_HeaderLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultRateLimit_HeaderLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultRateLimit_HeaderLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultRateLimit_HeaderLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/common/matcher/000077500000000000000000000000001454502223200246735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/matcher/action/000077500000000000000000000000001454502223200261505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/matcher/action/v3/000077500000000000000000000000001454502223200265005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/matcher/action/v3/skip_action.pb.go000077500000000000000000000173761454502223200317530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/common/matcher/action/v3/skip_action.proto package actionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the SkipFilter match action. When matching results in this action, the // associated filter will be ignored for all filter callbacks (e.g. “encodeHeaders“, “encodeData“, // etc. for HTTP filters) after the matcher arrives at the match, including the callback that // caused the match result. For example, when used with a HTTP filter and the match result was // resolved after receiving the HTTP response headers, the HTTP filter will *not* receive the // response header callback. // // As a result, if this match action is resolved before the first filter callback (e.g. HTTP request // headers), the filter will be completely skipped. type SkipFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SkipFilter) Reset() { *x = SkipFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SkipFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*SkipFilter) ProtoMessage() {} func (x *SkipFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SkipFilter.ProtoReflect.Descriptor instead. func (*SkipFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x53, 0x6b, 0x69, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescOnce sync.Once file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescData = file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDesc ) func file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescData) }) return file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDescData } var file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_goTypes = []interface{}{ (*SkipFilter)(nil), // 0: envoy.extensions.filters.common.matcher.action.v3.SkipFilter } var file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_init() } func file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_init() { if File_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SkipFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_msgTypes, }.Build() File_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto = out.File file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_rawDesc = nil file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_goTypes = nil file_envoy_extensions_filters_common_matcher_action_v3_skip_action_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/common/matcher/action/v3/skip_action.pb.validate.go000077500000000000000000000062471454502223200335360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/common/matcher/action/v3/skip_action.proto package actionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SkipFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SkipFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SkipFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SkipFilterMultiError, or // nil if none found. func (m *SkipFilter) ValidateAll() error { return m.validate(true) } func (m *SkipFilter) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SkipFilterMultiError(errors) } return nil } // SkipFilterMultiError is an error wrapping multiple validation errors // returned by SkipFilter.ValidateAll() if the designated constraints aren't met. type SkipFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SkipFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SkipFilterMultiError) AllErrors() []error { return m } // SkipFilterValidationError is the validation error returned by // SkipFilter.Validate if the designated constraints aren't met. type SkipFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SkipFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SkipFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SkipFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SkipFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SkipFilterValidationError) ErrorName() string { return "SkipFilterValidationError" } // Error satisfies the builtin error interface func (e SkipFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSkipFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SkipFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SkipFilterValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/common/set_filter_state/000077500000000000000000000000001454502223200266105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/set_filter_state/v3/000077500000000000000000000000001454502223200271405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/common/set_filter_state/v3/value.pb.go000077500000000000000000000400711454502223200312100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/common/set_filter_state/v3/value.proto package set_filter_statev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FilterStateValue_SharedWithUpstream int32 const ( // Object is not shared with the upstream internal connections. FilterStateValue_NONE FilterStateValue_SharedWithUpstream = 0 // Object is shared with the upstream internal connection. FilterStateValue_ONCE FilterStateValue_SharedWithUpstream = 1 // Object is shared with the upstream internal connection and any internal connection upstream from it. FilterStateValue_TRANSITIVE FilterStateValue_SharedWithUpstream = 2 ) // Enum value maps for FilterStateValue_SharedWithUpstream. var ( FilterStateValue_SharedWithUpstream_name = map[int32]string{ 0: "NONE", 1: "ONCE", 2: "TRANSITIVE", } FilterStateValue_SharedWithUpstream_value = map[string]int32{ "NONE": 0, "ONCE": 1, "TRANSITIVE": 2, } ) func (x FilterStateValue_SharedWithUpstream) Enum() *FilterStateValue_SharedWithUpstream { p := new(FilterStateValue_SharedWithUpstream) *p = x return p } func (x FilterStateValue_SharedWithUpstream) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FilterStateValue_SharedWithUpstream) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_enumTypes[0].Descriptor() } func (FilterStateValue_SharedWithUpstream) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_enumTypes[0] } func (x FilterStateValue_SharedWithUpstream) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FilterStateValue_SharedWithUpstream.Descriptor instead. func (FilterStateValue_SharedWithUpstream) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescGZIP(), []int{0, 0} } // A filter state key and value pair. // [#next-free-field: 6] type FilterStateValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Key: // // *FilterStateValue_ObjectKey Key isFilterStateValue_Key `protobuf_oneof:"key"` // Types that are assignable to Value: // // *FilterStateValue_FormatString Value isFilterStateValue_Value `protobuf_oneof:"value"` // If marked as read-only, the filter state key value is locked, and cannot // be overridden by any filter, including this filter. ReadOnly bool `protobuf:"varint,3,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` // Configures the object to be shared with the upstream internal connections. See :ref:`internal upstream // transport ` for more details on the filter state sharing with // the internal connections. SharedWithUpstream FilterStateValue_SharedWithUpstream `protobuf:"varint,4,opt,name=shared_with_upstream,json=sharedWithUpstream,proto3,enum=envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue_SharedWithUpstream" json:"shared_with_upstream,omitempty"` // Skip the update if the value evaluates to an empty string. // This option can be used to supply multiple alternatives for the same filter state object key. SkipIfEmpty bool `protobuf:"varint,5,opt,name=skip_if_empty,json=skipIfEmpty,proto3" json:"skip_if_empty,omitempty"` } func (x *FilterStateValue) Reset() { *x = FilterStateValue{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterStateValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterStateValue) ProtoMessage() {} func (x *FilterStateValue) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterStateValue.ProtoReflect.Descriptor instead. func (*FilterStateValue) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescGZIP(), []int{0} } func (m *FilterStateValue) GetKey() isFilterStateValue_Key { if m != nil { return m.Key } return nil } func (x *FilterStateValue) GetObjectKey() string { if x, ok := x.GetKey().(*FilterStateValue_ObjectKey); ok { return x.ObjectKey } return "" } func (m *FilterStateValue) GetValue() isFilterStateValue_Value { if m != nil { return m.Value } return nil } func (x *FilterStateValue) GetFormatString() *v3.SubstitutionFormatString { if x, ok := x.GetValue().(*FilterStateValue_FormatString); ok { return x.FormatString } return nil } func (x *FilterStateValue) GetReadOnly() bool { if x != nil { return x.ReadOnly } return false } func (x *FilterStateValue) GetSharedWithUpstream() FilterStateValue_SharedWithUpstream { if x != nil { return x.SharedWithUpstream } return FilterStateValue_NONE } func (x *FilterStateValue) GetSkipIfEmpty() bool { if x != nil { return x.SkipIfEmpty } return false } type isFilterStateValue_Key interface { isFilterStateValue_Key() } type FilterStateValue_ObjectKey struct { // Filter state object key. The key is expected to be registered via an object factory, see // :ref:`the well-known filter state keys `. ObjectKey string `protobuf:"bytes,1,opt,name=object_key,json=objectKey,proto3,oneof"` } func (*FilterStateValue_ObjectKey) isFilterStateValue_Key() {} type isFilterStateValue_Value interface { isFilterStateValue_Value() } type FilterStateValue_FormatString struct { // Uses the :ref:`format string ` to // instantiate the filter state object value. FormatString *v3.SubstitutionFormatString `protobuf:"bytes,2,opt,name=format_string,json=formatString,proto3,oneof"` } func (*FilterStateValue_FormatString) isFilterStateValue_Value() {} var File_envoy_extensions_filters_common_set_filter_state_v3_value_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x03, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x55, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x8a, 0x01, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x0a, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x0c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescOnce sync.Once file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescData = file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDesc ) func file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescData) }) return file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDescData } var file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_goTypes = []interface{}{ (FilterStateValue_SharedWithUpstream)(0), // 0: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue.SharedWithUpstream (*FilterStateValue)(nil), // 1: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue (*v3.SubstitutionFormatString)(nil), // 2: envoy.config.core.v3.SubstitutionFormatString } var file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue.format_string:type_name -> envoy.config.core.v3.SubstitutionFormatString 0, // 1: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue.shared_with_upstream:type_name -> envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue.SharedWithUpstream 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_init() } func file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_init() { if File_envoy_extensions_filters_common_set_filter_state_v3_value_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterStateValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterStateValue_ObjectKey)(nil), (*FilterStateValue_FormatString)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_msgTypes, }.Build() File_envoy_extensions_filters_common_set_filter_state_v3_value_proto = out.File file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_rawDesc = nil file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_goTypes = nil file_envoy_extensions_filters_common_set_filter_state_v3_value_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/common/set_filter_state/v3/value.pb.validate.go000077500000000000000000000131721454502223200330020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/common/set_filter_state/v3/value.proto package set_filter_statev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterStateValue with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterStateValue) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterStateValue with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterStateValueMultiError, or nil if none found. func (m *FilterStateValue) ValidateAll() error { return m.validate(true) } func (m *FilterStateValue) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ReadOnly // no validation rules for SharedWithUpstream // no validation rules for SkipIfEmpty oneofKeyPresent := false switch v := m.Key.(type) { case *FilterStateValue_ObjectKey: if v == nil { err := FilterStateValueValidationError{ field: "Key", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKeyPresent = true if utf8.RuneCountInString(m.GetObjectKey()) < 1 { err := FilterStateValueValidationError{ field: "ObjectKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofKeyPresent { err := FilterStateValueValidationError{ field: "Key", reason: "value is required", } if !all { return err } errors = append(errors, err) } oneofValuePresent := false switch v := m.Value.(type) { case *FilterStateValue_FormatString: if v == nil { err := FilterStateValueValidationError{ field: "Value", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValuePresent = true if all { switch v := interface{}(m.GetFormatString()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterStateValueValidationError{ field: "FormatString", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterStateValueValidationError{ field: "FormatString", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFormatString()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterStateValueValidationError{ field: "FormatString", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofValuePresent { err := FilterStateValueValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilterStateValueMultiError(errors) } return nil } // FilterStateValueMultiError is an error wrapping multiple validation errors // returned by FilterStateValue.ValidateAll() if the designated constraints // aren't met. type FilterStateValueMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterStateValueMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterStateValueMultiError) AllErrors() []error { return m } // FilterStateValueValidationError is the validation error returned by // FilterStateValue.Validate if the designated constraints aren't met. type FilterStateValueValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterStateValueValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterStateValueValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterStateValueValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterStateValueValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterStateValueValidationError) ErrorName() string { return "FilterStateValueValidationError" } // Error satisfies the builtin error interface func (e FilterStateValueValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterStateValue.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterStateValueValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterStateValueValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/000077500000000000000000000000001454502223200227375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/adaptive_concurrency/000077500000000000000000000000001454502223200271465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/adaptive_concurrency/v3/000077500000000000000000000000001454502223200274765ustar00rootroot00000000000000adaptive_concurrency.pb.go000077500000000000000000001073101454502223200345620ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/adaptive_concurrency/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto package adaptive_concurrencyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration parameters for the gradient controller. type GradientControllerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The percentile to use when summarizing aggregated samples. Defaults to p50. SampleAggregatePercentile *v3.Percent `protobuf:"bytes,1,opt,name=sample_aggregate_percentile,json=sampleAggregatePercentile,proto3" json:"sample_aggregate_percentile,omitempty"` ConcurrencyLimitParams *GradientControllerConfig_ConcurrencyLimitCalculationParams `protobuf:"bytes,2,opt,name=concurrency_limit_params,json=concurrencyLimitParams,proto3" json:"concurrency_limit_params,omitempty"` MinRttCalcParams *GradientControllerConfig_MinimumRTTCalculationParams `protobuf:"bytes,3,opt,name=min_rtt_calc_params,json=minRttCalcParams,proto3" json:"min_rtt_calc_params,omitempty"` } func (x *GradientControllerConfig) Reset() { *x = GradientControllerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig) ProtoMessage() {} func (x *GradientControllerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig.ProtoReflect.Descriptor instead. func (*GradientControllerConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescGZIP(), []int{0} } func (x *GradientControllerConfig) GetSampleAggregatePercentile() *v3.Percent { if x != nil { return x.SampleAggregatePercentile } return nil } func (x *GradientControllerConfig) GetConcurrencyLimitParams() *GradientControllerConfig_ConcurrencyLimitCalculationParams { if x != nil { return x.ConcurrencyLimitParams } return nil } func (x *GradientControllerConfig) GetMinRttCalcParams() *GradientControllerConfig_MinimumRTTCalculationParams { if x != nil { return x.MinRttCalcParams } return nil } type AdaptiveConcurrency struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConcurrencyControllerConfig: // // *AdaptiveConcurrency_GradientControllerConfig ConcurrencyControllerConfig isAdaptiveConcurrency_ConcurrencyControllerConfig `protobuf_oneof:"concurrency_controller_config"` // If set to false, the adaptive concurrency filter will operate as a pass-through filter. If the // message is unspecified, the filter will be enabled. Enabled *v31.RuntimeFeatureFlag `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"` // This field allows for a custom HTTP response status code to the downstream client when // the concurrency limit has been exceeded. // Defaults to 503 (Service Unavailable). // // .. note:: // // If this is set to < 400, 503 will be used instead. ConcurrencyLimitExceededStatus *v3.HttpStatus `protobuf:"bytes,3,opt,name=concurrency_limit_exceeded_status,json=concurrencyLimitExceededStatus,proto3" json:"concurrency_limit_exceeded_status,omitempty"` } func (x *AdaptiveConcurrency) Reset() { *x = AdaptiveConcurrency{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdaptiveConcurrency) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdaptiveConcurrency) ProtoMessage() {} func (x *AdaptiveConcurrency) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdaptiveConcurrency.ProtoReflect.Descriptor instead. func (*AdaptiveConcurrency) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescGZIP(), []int{1} } func (m *AdaptiveConcurrency) GetConcurrencyControllerConfig() isAdaptiveConcurrency_ConcurrencyControllerConfig { if m != nil { return m.ConcurrencyControllerConfig } return nil } func (x *AdaptiveConcurrency) GetGradientControllerConfig() *GradientControllerConfig { if x, ok := x.GetConcurrencyControllerConfig().(*AdaptiveConcurrency_GradientControllerConfig); ok { return x.GradientControllerConfig } return nil } func (x *AdaptiveConcurrency) GetEnabled() *v31.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } func (x *AdaptiveConcurrency) GetConcurrencyLimitExceededStatus() *v3.HttpStatus { if x != nil { return x.ConcurrencyLimitExceededStatus } return nil } type isAdaptiveConcurrency_ConcurrencyControllerConfig interface { isAdaptiveConcurrency_ConcurrencyControllerConfig() } type AdaptiveConcurrency_GradientControllerConfig struct { // Gradient concurrency control will be used. GradientControllerConfig *GradientControllerConfig `protobuf:"bytes,1,opt,name=gradient_controller_config,json=gradientControllerConfig,proto3,oneof"` } func (*AdaptiveConcurrency_GradientControllerConfig) isAdaptiveConcurrency_ConcurrencyControllerConfig() { } // Parameters controlling the periodic recalculation of the concurrency limit from sampled request // latencies. type GradientControllerConfig_ConcurrencyLimitCalculationParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The allowed upper-bound on the calculated concurrency limit. Defaults to 1000. MaxConcurrencyLimit *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrency_limit,json=maxConcurrencyLimit,proto3" json:"max_concurrency_limit,omitempty"` // The period of time samples are taken to recalculate the concurrency limit. ConcurrencyUpdateInterval *duration.Duration `protobuf:"bytes,3,opt,name=concurrency_update_interval,json=concurrencyUpdateInterval,proto3" json:"concurrency_update_interval,omitempty"` } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) Reset() { *x = GradientControllerConfig_ConcurrencyLimitCalculationParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig_ConcurrencyLimitCalculationParams) ProtoMessage() {} func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig_ConcurrencyLimitCalculationParams.ProtoReflect.Descriptor instead. func (*GradientControllerConfig_ConcurrencyLimitCalculationParams) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescGZIP(), []int{0, 0} } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) GetMaxConcurrencyLimit() *wrappers.UInt32Value { if x != nil { return x.MaxConcurrencyLimit } return nil } func (x *GradientControllerConfig_ConcurrencyLimitCalculationParams) GetConcurrencyUpdateInterval() *duration.Duration { if x != nil { return x.ConcurrencyUpdateInterval } return nil } // Parameters controlling the periodic minRTT recalculation. // [#next-free-field: 6] type GradientControllerConfig_MinimumRTTCalculationParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The time interval between recalculating the minimum request round-trip time. Has to be // positive. Interval *duration.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // The number of requests to aggregate/sample during the minRTT recalculation window before // updating. Defaults to 50. RequestCount *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=request_count,json=requestCount,proto3" json:"request_count,omitempty"` // Randomized time delta that will be introduced to the start of the minRTT calculation window. // This is represented as a percentage of the interval duration. Defaults to 15%. // // Example: If the interval is 10s and the jitter is 15%, the next window will begin // somewhere in the range (10s - 11.5s). Jitter *v3.Percent `protobuf:"bytes,3,opt,name=jitter,proto3" json:"jitter,omitempty"` // The concurrency limit set while measuring the minRTT. Defaults to 3. MinConcurrency *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=min_concurrency,json=minConcurrency,proto3" json:"min_concurrency,omitempty"` // Amount added to the measured minRTT to add stability to the concurrency limit during natural // variability in latency. This is expressed as a percentage of the measured value and can be // adjusted to allow more or less tolerance to the sampled latency values. // // Defaults to 25%. Buffer *v3.Percent `protobuf:"bytes,5,opt,name=buffer,proto3" json:"buffer,omitempty"` } func (x *GradientControllerConfig_MinimumRTTCalculationParams) Reset() { *x = GradientControllerConfig_MinimumRTTCalculationParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GradientControllerConfig_MinimumRTTCalculationParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*GradientControllerConfig_MinimumRTTCalculationParams) ProtoMessage() {} func (x *GradientControllerConfig_MinimumRTTCalculationParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GradientControllerConfig_MinimumRTTCalculationParams.ProtoReflect.Descriptor instead. func (*GradientControllerConfig_MinimumRTTCalculationParams) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescGZIP(), []int{0, 1} } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetRequestCount() *wrappers.UInt32Value { if x != nil { return x.RequestCount } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetJitter() *v3.Percent { if x != nil { return x.Jitter } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetMinConcurrency() *wrappers.UInt32Value { if x != nil { return x.MinConcurrency } return nil } func (x *GradientControllerConfig_MinimumRTTCalculationParams) GetBuffer() *v3.Percent { if x != nil { return x.Buffer } return nil } var File_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDesc = []byte{ 0x0a, 0x50, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x0a, 0x0a, 0x18, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x71, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x54, 0x54, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x52, 0x74, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xde, 0x02, 0x0a, 0x21, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x59, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x65, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x77, 0x9a, 0xc5, 0x88, 0x1e, 0x72, 0x0a, 0x70, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xd3, 0x03, 0x0a, 0x1b, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x54, 0x54, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3a, 0x71, 0x9a, 0xc5, 0x88, 0x1e, 0x6c, 0x0a, 0x6a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x54, 0x54, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x55, 0x9a, 0xc5, 0x88, 0x1e, 0x50, 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xd3, 0x03, 0x0a, 0x13, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x99, 0x01, 0x0a, 0x1a, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x18, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x21, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x1e, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x50, 0x9a, 0xc5, 0x88, 0x1e, 0x4b, 0x0a, 0x49, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x24, 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xde, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x73, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescData = file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDesc ) func file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescData) }) return file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDescData } var file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_goTypes = []interface{}{ (*GradientControllerConfig)(nil), // 0: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig (*AdaptiveConcurrency)(nil), // 1: envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency (*GradientControllerConfig_ConcurrencyLimitCalculationParams)(nil), // 2: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.ConcurrencyLimitCalculationParams (*GradientControllerConfig_MinimumRTTCalculationParams)(nil), // 3: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams (*v3.Percent)(nil), // 4: envoy.type.v3.Percent (*v31.RuntimeFeatureFlag)(nil), // 5: envoy.config.core.v3.RuntimeFeatureFlag (*v3.HttpStatus)(nil), // 6: envoy.type.v3.HttpStatus (*wrappers.UInt32Value)(nil), // 7: google.protobuf.UInt32Value (*duration.Duration)(nil), // 8: google.protobuf.Duration } var file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.sample_aggregate_percentile:type_name -> envoy.type.v3.Percent 2, // 1: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.concurrency_limit_params:type_name -> envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.ConcurrencyLimitCalculationParams 3, // 2: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.min_rtt_calc_params:type_name -> envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams 0, // 3: envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency.gradient_controller_config:type_name -> envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig 5, // 4: envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency.enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 6, // 5: envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency.concurrency_limit_exceeded_status:type_name -> envoy.type.v3.HttpStatus 7, // 6: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.ConcurrencyLimitCalculationParams.max_concurrency_limit:type_name -> google.protobuf.UInt32Value 8, // 7: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.ConcurrencyLimitCalculationParams.concurrency_update_interval:type_name -> google.protobuf.Duration 8, // 8: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams.interval:type_name -> google.protobuf.Duration 7, // 9: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams.request_count:type_name -> google.protobuf.UInt32Value 4, // 10: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams.jitter:type_name -> envoy.type.v3.Percent 7, // 11: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams.min_concurrency:type_name -> google.protobuf.UInt32Value 4, // 12: envoy.extensions.filters.http.adaptive_concurrency.v3.GradientControllerConfig.MinimumRTTCalculationParams.buffer:type_name -> envoy.type.v3.Percent 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_init() } func file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_init() { if File_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdaptiveConcurrency); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig_ConcurrencyLimitCalculationParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GradientControllerConfig_MinimumRTTCalculationParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes[1].OneofWrappers = []interface{}{ (*AdaptiveConcurrency_GradientControllerConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto = out.File file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_rawDesc = nil file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_goTypes = nil file_envoy_extensions_filters_http_adaptive_concurrency_v3_adaptive_concurrency_proto_depIdxs = nil } adaptive_concurrency.pb.validate.go000077500000000000000000000621611454502223200363560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/adaptive_concurrency/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto package adaptive_concurrencyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GradientControllerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GradientControllerConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GradientControllerConfigMultiError, or nil if none found. func (m *GradientControllerConfig) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSampleAggregatePercentile()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSampleAggregatePercentile()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "SampleAggregatePercentile", reason: "embedded message failed validation", cause: err, } } } if m.GetConcurrencyLimitParams() == nil { err := GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConcurrencyLimitParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConcurrencyLimitParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "ConcurrencyLimitParams", reason: "embedded message failed validation", cause: err, } } } if m.GetMinRttCalcParams() == nil { err := GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMinRttCalcParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinRttCalcParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfigValidationError{ field: "MinRttCalcParams", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GradientControllerConfigMultiError(errors) } return nil } // GradientControllerConfigMultiError is an error wrapping multiple validation // errors returned by GradientControllerConfig.ValidateAll() if the designated // constraints aren't met. type GradientControllerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfigMultiError) AllErrors() []error { return m } // GradientControllerConfigValidationError is the validation error returned by // GradientControllerConfig.Validate if the designated constraints aren't met. type GradientControllerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfigValidationError) ErrorName() string { return "GradientControllerConfigValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfigValidationError{} // Validate checks the field values on AdaptiveConcurrency with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AdaptiveConcurrency) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdaptiveConcurrency with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AdaptiveConcurrencyMultiError, or nil if none found. func (m *AdaptiveConcurrency) ValidateAll() error { return m.validate(true) } func (m *AdaptiveConcurrency) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdaptiveConcurrencyValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConcurrencyLimitExceededStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "ConcurrencyLimitExceededStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "ConcurrencyLimitExceededStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConcurrencyLimitExceededStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdaptiveConcurrencyValidationError{ field: "ConcurrencyLimitExceededStatus", reason: "embedded message failed validation", cause: err, } } } oneofConcurrencyControllerConfigPresent := false switch v := m.ConcurrencyControllerConfig.(type) { case *AdaptiveConcurrency_GradientControllerConfig: if v == nil { err := AdaptiveConcurrencyValidationError{ field: "ConcurrencyControllerConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConcurrencyControllerConfigPresent = true if m.GetGradientControllerConfig() == nil { err := AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGradientControllerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGradientControllerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdaptiveConcurrencyValidationError{ field: "GradientControllerConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConcurrencyControllerConfigPresent { err := AdaptiveConcurrencyValidationError{ field: "ConcurrencyControllerConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdaptiveConcurrencyMultiError(errors) } return nil } // AdaptiveConcurrencyMultiError is an error wrapping multiple validation // errors returned by AdaptiveConcurrency.ValidateAll() if the designated // constraints aren't met. type AdaptiveConcurrencyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdaptiveConcurrencyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdaptiveConcurrencyMultiError) AllErrors() []error { return m } // AdaptiveConcurrencyValidationError is the validation error returned by // AdaptiveConcurrency.Validate if the designated constraints aren't met. type AdaptiveConcurrencyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdaptiveConcurrencyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdaptiveConcurrencyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdaptiveConcurrencyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdaptiveConcurrencyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdaptiveConcurrencyValidationError) ErrorName() string { return "AdaptiveConcurrencyValidationError" } // Error satisfies the builtin error interface func (e AdaptiveConcurrencyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdaptiveConcurrency.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdaptiveConcurrencyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdaptiveConcurrencyValidationError{} // Validate checks the field values on // GradientControllerConfig_ConcurrencyLimitCalculationParams with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GradientControllerConfig_ConcurrencyLimitCalculationParams with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError, or // nil if none found. func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig_ConcurrencyLimitCalculationParams) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxConcurrencyLimit(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "MaxConcurrencyLimit", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if m.GetConcurrencyUpdateInterval() == nil { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetConcurrencyUpdateInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{ field: "ConcurrencyUpdateInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError(errors) } return nil } // GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError is an // error wrapping multiple validation errors returned by // GradientControllerConfig_ConcurrencyLimitCalculationParams.ValidateAll() if // the designated constraints aren't met. type GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfig_ConcurrencyLimitCalculationParamsMultiError) AllErrors() []error { return m } // GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError is // the validation error returned by // GradientControllerConfig_ConcurrencyLimitCalculationParams.Validate if the // designated constraints aren't met. type GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) ErrorName() string { return "GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig_ConcurrencyLimitCalculationParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfig_ConcurrencyLimitCalculationParamsValidationError{} // Validate checks the field values on // GradientControllerConfig_MinimumRTTCalculationParams with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *GradientControllerConfig_MinimumRTTCalculationParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GradientControllerConfig_MinimumRTTCalculationParams with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // GradientControllerConfig_MinimumRTTCalculationParamsMultiError, or nil if // none found. func (m *GradientControllerConfig_MinimumRTTCalculationParams) ValidateAll() error { return m.validate(true) } func (m *GradientControllerConfig_MinimumRTTCalculationParams) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetInterval() == nil { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Interval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if wrapper := m.GetRequestCount(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "RequestCount", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetJitter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJitter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Jitter", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMinConcurrency(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "MinConcurrency", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetBuffer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBuffer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GradientControllerConfig_MinimumRTTCalculationParamsValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GradientControllerConfig_MinimumRTTCalculationParamsMultiError(errors) } return nil } // GradientControllerConfig_MinimumRTTCalculationParamsMultiError is an error // wrapping multiple validation errors returned by // GradientControllerConfig_MinimumRTTCalculationParams.ValidateAll() if the // designated constraints aren't met. type GradientControllerConfig_MinimumRTTCalculationParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GradientControllerConfig_MinimumRTTCalculationParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GradientControllerConfig_MinimumRTTCalculationParamsMultiError) AllErrors() []error { return m } // GradientControllerConfig_MinimumRTTCalculationParamsValidationError is the // validation error returned by // GradientControllerConfig_MinimumRTTCalculationParams.Validate if the // designated constraints aren't met. type GradientControllerConfig_MinimumRTTCalculationParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) ErrorName() string { return "GradientControllerConfig_MinimumRTTCalculationParamsValidationError" } // Error satisfies the builtin error interface func (e GradientControllerConfig_MinimumRTTCalculationParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGradientControllerConfig_MinimumRTTCalculationParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GradientControllerConfig_MinimumRTTCalculationParamsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/admission_control/000077500000000000000000000000001454502223200264655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/admission_control/v3/000077500000000000000000000000001454502223200270155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/admission_control/v3/admission_control.pb.go000077500000000000000000000724621454502223200335100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/admission_control/v3/admission_control.proto package admission_controlv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 8] type AdmissionControl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to false, the admission control filter will operate as a pass-through filter. If the // message is unspecified, the filter will be enabled. Enabled *v3.RuntimeFeatureFlag `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Defines how a request is considered a success/failure. // // Types that are assignable to EvaluationCriteria: // // *AdmissionControl_SuccessCriteria_ EvaluationCriteria isAdmissionControl_EvaluationCriteria `protobuf_oneof:"evaluation_criteria"` // The sliding time window over which the success rate is calculated. The window is rounded to the // nearest second. Defaults to 30s. SamplingWindow *duration.Duration `protobuf:"bytes,3,opt,name=sampling_window,json=samplingWindow,proto3" json:"sampling_window,omitempty"` // Rejection probability is defined by the formula:: // // max(0, (rq_count - rq_success_count / sr_threshold) / (rq_count + 1)) ^ (1 / aggression) // // The aggression dictates how heavily the admission controller will throttle requests upon SR // dropping at or below the threshold. A value of 1 will result in a linear increase in // rejection probability as SR drops. Any values less than 1.0, will be set to 1.0. If the // message is unspecified, the aggression is 1.0. See `the admission control documentation // `_ // for a diagram illustrating this. Aggression *v3.RuntimeDouble `protobuf:"bytes,4,opt,name=aggression,proto3" json:"aggression,omitempty"` // Dictates the success rate at which the rejection probability is non-zero. As success rate drops // below this threshold, rejection probability will increase. Any success rate above the threshold // results in a rejection probability of 0. Defaults to 95%. SrThreshold *v3.RuntimePercent `protobuf:"bytes,5,opt,name=sr_threshold,json=srThreshold,proto3" json:"sr_threshold,omitempty"` // If the average RPS of the sampling window is below this threshold, the request // will not be rejected, even if the success rate is lower than sr_threshold. // Defaults to 0. RpsThreshold *v3.RuntimeUInt32 `protobuf:"bytes,6,opt,name=rps_threshold,json=rpsThreshold,proto3" json:"rps_threshold,omitempty"` // The probability of rejection will never exceed this value, even if the failure rate is rising. // Defaults to 80%. MaxRejectionProbability *v3.RuntimePercent `protobuf:"bytes,7,opt,name=max_rejection_probability,json=maxRejectionProbability,proto3" json:"max_rejection_probability,omitempty"` } func (x *AdmissionControl) Reset() { *x = AdmissionControl{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdmissionControl) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdmissionControl) ProtoMessage() {} func (x *AdmissionControl) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdmissionControl.ProtoReflect.Descriptor instead. func (*AdmissionControl) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescGZIP(), []int{0} } func (x *AdmissionControl) GetEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } func (m *AdmissionControl) GetEvaluationCriteria() isAdmissionControl_EvaluationCriteria { if m != nil { return m.EvaluationCriteria } return nil } func (x *AdmissionControl) GetSuccessCriteria() *AdmissionControl_SuccessCriteria { if x, ok := x.GetEvaluationCriteria().(*AdmissionControl_SuccessCriteria_); ok { return x.SuccessCriteria } return nil } func (x *AdmissionControl) GetSamplingWindow() *duration.Duration { if x != nil { return x.SamplingWindow } return nil } func (x *AdmissionControl) GetAggression() *v3.RuntimeDouble { if x != nil { return x.Aggression } return nil } func (x *AdmissionControl) GetSrThreshold() *v3.RuntimePercent { if x != nil { return x.SrThreshold } return nil } func (x *AdmissionControl) GetRpsThreshold() *v3.RuntimeUInt32 { if x != nil { return x.RpsThreshold } return nil } func (x *AdmissionControl) GetMaxRejectionProbability() *v3.RuntimePercent { if x != nil { return x.MaxRejectionProbability } return nil } type isAdmissionControl_EvaluationCriteria interface { isAdmissionControl_EvaluationCriteria() } type AdmissionControl_SuccessCriteria_ struct { SuccessCriteria *AdmissionControl_SuccessCriteria `protobuf:"bytes,2,opt,name=success_criteria,json=successCriteria,proto3,oneof"` } func (*AdmissionControl_SuccessCriteria_) isAdmissionControl_EvaluationCriteria() {} // Default method of specifying what constitutes a successful request. All status codes that // indicate a successful request must be explicitly specified if not relying on the default // values. type AdmissionControl_SuccessCriteria struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If HTTP criteria are unspecified, all HTTP status codes below 500 are treated as successful // responses. // // .. note:: // // The default HTTP codes considered successful by the admission controller are done so due // to the unlikelihood that sending fewer requests would change their behavior (for example: // redirects, unauthorized access, or bad requests won't be alleviated by sending less // traffic). HttpCriteria *AdmissionControl_SuccessCriteria_HttpCriteria `protobuf:"bytes,1,opt,name=http_criteria,json=httpCriteria,proto3" json:"http_criteria,omitempty"` // GRPC status codes to consider as request successes. If unspecified, defaults to: Ok, // Cancelled, Unknown, InvalidArgument, NotFound, AlreadyExists, Unauthenticated, // FailedPrecondition, OutOfRange, PermissionDenied, and Unimplemented. // // .. note:: // // The default gRPC codes that are considered successful by the admission controller are // chosen because of the unlikelihood that sending fewer requests will change the behavior. GrpcCriteria *AdmissionControl_SuccessCriteria_GrpcCriteria `protobuf:"bytes,2,opt,name=grpc_criteria,json=grpcCriteria,proto3" json:"grpc_criteria,omitempty"` } func (x *AdmissionControl_SuccessCriteria) Reset() { *x = AdmissionControl_SuccessCriteria{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdmissionControl_SuccessCriteria) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdmissionControl_SuccessCriteria) ProtoMessage() {} func (x *AdmissionControl_SuccessCriteria) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdmissionControl_SuccessCriteria.ProtoReflect.Descriptor instead. func (*AdmissionControl_SuccessCriteria) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescGZIP(), []int{0, 0} } func (x *AdmissionControl_SuccessCriteria) GetHttpCriteria() *AdmissionControl_SuccessCriteria_HttpCriteria { if x != nil { return x.HttpCriteria } return nil } func (x *AdmissionControl_SuccessCriteria) GetGrpcCriteria() *AdmissionControl_SuccessCriteria_GrpcCriteria { if x != nil { return x.GrpcCriteria } return nil } type AdmissionControl_SuccessCriteria_HttpCriteria struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Status code ranges that constitute a successful request. Configurable codes are in the // range [100, 600). HttpSuccessStatus []*v31.Int32Range `protobuf:"bytes,1,rep,name=http_success_status,json=httpSuccessStatus,proto3" json:"http_success_status,omitempty"` } func (x *AdmissionControl_SuccessCriteria_HttpCriteria) Reset() { *x = AdmissionControl_SuccessCriteria_HttpCriteria{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdmissionControl_SuccessCriteria_HttpCriteria) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdmissionControl_SuccessCriteria_HttpCriteria) ProtoMessage() {} func (x *AdmissionControl_SuccessCriteria_HttpCriteria) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdmissionControl_SuccessCriteria_HttpCriteria.ProtoReflect.Descriptor instead. func (*AdmissionControl_SuccessCriteria_HttpCriteria) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *AdmissionControl_SuccessCriteria_HttpCriteria) GetHttpSuccessStatus() []*v31.Int32Range { if x != nil { return x.HttpSuccessStatus } return nil } type AdmissionControl_SuccessCriteria_GrpcCriteria struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Status codes that constitute a successful request. // Mappings can be found at: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md. GrpcSuccessStatus []uint32 `protobuf:"varint,1,rep,packed,name=grpc_success_status,json=grpcSuccessStatus,proto3" json:"grpc_success_status,omitempty"` } func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) Reset() { *x = AdmissionControl_SuccessCriteria_GrpcCriteria{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoMessage() {} func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdmissionControl_SuccessCriteria_GrpcCriteria.ProtoReflect.Descriptor instead. func (*AdmissionControl_SuccessCriteria_GrpcCriteria) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescGZIP(), []int{0, 0, 1} } func (x *AdmissionControl_SuccessCriteria_GrpcCriteria) GetGrpcSuccessStatus() []uint32 { if x != nil { return x.GrpcSuccessStatus } return nil } var File_envoy_extensions_filters_http_admission_control_v3_admission_control_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x08, 0x0a, 0x10, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x73, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x48, 0x0a, 0x0d, 0x72, 0x70, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x0c, 0x72, 0x70, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x60, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0xd2, 0x03, 0x0a, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x1a, 0x63, 0x0a, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x53, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x48, 0x0a, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x38, 0x0a, 0x13, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x11, 0x67, 0x72, 0x70, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x1a, 0x0a, 0x13, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xd2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescData = file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDesc ) func file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescData) }) return file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDescData } var file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_goTypes = []interface{}{ (*AdmissionControl)(nil), // 0: envoy.extensions.filters.http.admission_control.v3.AdmissionControl (*AdmissionControl_SuccessCriteria)(nil), // 1: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria (*AdmissionControl_SuccessCriteria_HttpCriteria)(nil), // 2: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.HttpCriteria (*AdmissionControl_SuccessCriteria_GrpcCriteria)(nil), // 3: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.GrpcCriteria (*v3.RuntimeFeatureFlag)(nil), // 4: envoy.config.core.v3.RuntimeFeatureFlag (*duration.Duration)(nil), // 5: google.protobuf.Duration (*v3.RuntimeDouble)(nil), // 6: envoy.config.core.v3.RuntimeDouble (*v3.RuntimePercent)(nil), // 7: envoy.config.core.v3.RuntimePercent (*v3.RuntimeUInt32)(nil), // 8: envoy.config.core.v3.RuntimeUInt32 (*v31.Int32Range)(nil), // 9: envoy.type.v3.Int32Range } var file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 1, // 1: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.success_criteria:type_name -> envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria 5, // 2: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.sampling_window:type_name -> google.protobuf.Duration 6, // 3: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.aggression:type_name -> envoy.config.core.v3.RuntimeDouble 7, // 4: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.sr_threshold:type_name -> envoy.config.core.v3.RuntimePercent 8, // 5: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.rps_threshold:type_name -> envoy.config.core.v3.RuntimeUInt32 7, // 6: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.max_rejection_probability:type_name -> envoy.config.core.v3.RuntimePercent 2, // 7: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.http_criteria:type_name -> envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.HttpCriteria 3, // 8: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.grpc_criteria:type_name -> envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.GrpcCriteria 9, // 9: envoy.extensions.filters.http.admission_control.v3.AdmissionControl.SuccessCriteria.HttpCriteria.http_success_status:type_name -> envoy.type.v3.Int32Range 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_init() } func file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_init() { if File_envoy_extensions_filters_http_admission_control_v3_admission_control_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdmissionControl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdmissionControl_SuccessCriteria); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdmissionControl_SuccessCriteria_HttpCriteria); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdmissionControl_SuccessCriteria_GrpcCriteria); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes[0].OneofWrappers = []interface{}{ (*AdmissionControl_SuccessCriteria_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_admission_control_v3_admission_control_proto = out.File file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_rawDesc = nil file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_goTypes = nil file_envoy_extensions_filters_http_admission_control_v3_admission_control_proto_depIdxs = nil } admission_control.pb.validate.go000077500000000000000000000563501454502223200352170ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/admission_control/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/admission_control/v3/admission_control.proto package admission_controlv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AdmissionControl with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AdmissionControl) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdmissionControl with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AdmissionControlMultiError, or nil if none found. func (m *AdmissionControl) ValidateAll() error { return m.validate(true) } func (m *AdmissionControl) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSamplingWindow()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SamplingWindow", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SamplingWindow", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSamplingWindow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "SamplingWindow", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAggression()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAggression()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSrThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SrThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SrThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSrThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "SrThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRpsThreshold()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "RpsThreshold", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "RpsThreshold", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRpsThreshold()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "RpsThreshold", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxRejectionProbability()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "MaxRejectionProbability", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "MaxRejectionProbability", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRejectionProbability()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "MaxRejectionProbability", reason: "embedded message failed validation", cause: err, } } } oneofEvaluationCriteriaPresent := false switch v := m.EvaluationCriteria.(type) { case *AdmissionControl_SuccessCriteria_: if v == nil { err := AdmissionControlValidationError{ field: "EvaluationCriteria", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEvaluationCriteriaPresent = true if all { switch v := interface{}(m.GetSuccessCriteria()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SuccessCriteria", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControlValidationError{ field: "SuccessCriteria", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSuccessCriteria()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControlValidationError{ field: "SuccessCriteria", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEvaluationCriteriaPresent { err := AdmissionControlValidationError{ field: "EvaluationCriteria", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdmissionControlMultiError(errors) } return nil } // AdmissionControlMultiError is an error wrapping multiple validation errors // returned by AdmissionControl.ValidateAll() if the designated constraints // aren't met. type AdmissionControlMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdmissionControlMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdmissionControlMultiError) AllErrors() []error { return m } // AdmissionControlValidationError is the validation error returned by // AdmissionControl.Validate if the designated constraints aren't met. type AdmissionControlValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdmissionControlValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdmissionControlValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdmissionControlValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdmissionControlValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdmissionControlValidationError) ErrorName() string { return "AdmissionControlValidationError" } // Error satisfies the builtin error interface func (e AdmissionControlValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmissionControl.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdmissionControlValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdmissionControlValidationError{} // Validate checks the field values on AdmissionControl_SuccessCriteria with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *AdmissionControl_SuccessCriteria) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdmissionControl_SuccessCriteria with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // AdmissionControl_SuccessCriteriaMultiError, or nil if none found. func (m *AdmissionControl_SuccessCriteria) ValidateAll() error { return m.validate(true) } func (m *AdmissionControl_SuccessCriteria) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpCriteria()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteriaValidationError{ field: "HttpCriteria", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteriaValidationError{ field: "HttpCriteria", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpCriteria()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControl_SuccessCriteriaValidationError{ field: "HttpCriteria", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcCriteria()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteriaValidationError{ field: "GrpcCriteria", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteriaValidationError{ field: "GrpcCriteria", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcCriteria()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControl_SuccessCriteriaValidationError{ field: "GrpcCriteria", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AdmissionControl_SuccessCriteriaMultiError(errors) } return nil } // AdmissionControl_SuccessCriteriaMultiError is an error wrapping multiple // validation errors returned by // AdmissionControl_SuccessCriteria.ValidateAll() if the designated // constraints aren't met. type AdmissionControl_SuccessCriteriaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdmissionControl_SuccessCriteriaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdmissionControl_SuccessCriteriaMultiError) AllErrors() []error { return m } // AdmissionControl_SuccessCriteriaValidationError is the validation error // returned by AdmissionControl_SuccessCriteria.Validate if the designated // constraints aren't met. type AdmissionControl_SuccessCriteriaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdmissionControl_SuccessCriteriaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdmissionControl_SuccessCriteriaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdmissionControl_SuccessCriteriaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdmissionControl_SuccessCriteriaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdmissionControl_SuccessCriteriaValidationError) ErrorName() string { return "AdmissionControl_SuccessCriteriaValidationError" } // Error satisfies the builtin error interface func (e AdmissionControl_SuccessCriteriaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmissionControl_SuccessCriteria.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdmissionControl_SuccessCriteriaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdmissionControl_SuccessCriteriaValidationError{} // Validate checks the field values on // AdmissionControl_SuccessCriteria_HttpCriteria with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdmissionControl_SuccessCriteria_HttpCriteria) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // AdmissionControl_SuccessCriteria_HttpCriteria with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // AdmissionControl_SuccessCriteria_HttpCriteriaMultiError, or nil if none found. func (m *AdmissionControl_SuccessCriteria_HttpCriteria) ValidateAll() error { return m.validate(true) } func (m *AdmissionControl_SuccessCriteria_HttpCriteria) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetHttpSuccessStatus()) < 1 { err := AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{ field: "HttpSuccessStatus", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHttpSuccessStatus() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{ field: fmt.Sprintf("HttpSuccessStatus[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{ field: fmt.Sprintf("HttpSuccessStatus[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{ field: fmt.Sprintf("HttpSuccessStatus[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AdmissionControl_SuccessCriteria_HttpCriteriaMultiError(errors) } return nil } // AdmissionControl_SuccessCriteria_HttpCriteriaMultiError is an error wrapping // multiple validation errors returned by // AdmissionControl_SuccessCriteria_HttpCriteria.ValidateAll() if the // designated constraints aren't met. type AdmissionControl_SuccessCriteria_HttpCriteriaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdmissionControl_SuccessCriteria_HttpCriteriaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdmissionControl_SuccessCriteria_HttpCriteriaMultiError) AllErrors() []error { return m } // AdmissionControl_SuccessCriteria_HttpCriteriaValidationError is the // validation error returned by // AdmissionControl_SuccessCriteria_HttpCriteria.Validate if the designated // constraints aren't met. type AdmissionControl_SuccessCriteria_HttpCriteriaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) ErrorName() string { return "AdmissionControl_SuccessCriteria_HttpCriteriaValidationError" } // Error satisfies the builtin error interface func (e AdmissionControl_SuccessCriteria_HttpCriteriaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmissionControl_SuccessCriteria_HttpCriteria.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdmissionControl_SuccessCriteria_HttpCriteriaValidationError{} // Validate checks the field values on // AdmissionControl_SuccessCriteria_GrpcCriteria with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdmissionControl_SuccessCriteria_GrpcCriteria) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // AdmissionControl_SuccessCriteria_GrpcCriteria with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError, or nil if none found. func (m *AdmissionControl_SuccessCriteria_GrpcCriteria) ValidateAll() error { return m.validate(true) } func (m *AdmissionControl_SuccessCriteria_GrpcCriteria) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetGrpcSuccessStatus()) < 1 { err := AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError{ field: "GrpcSuccessStatus", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError(errors) } return nil } // AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError is an error wrapping // multiple validation errors returned by // AdmissionControl_SuccessCriteria_GrpcCriteria.ValidateAll() if the // designated constraints aren't met. type AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdmissionControl_SuccessCriteria_GrpcCriteriaMultiError) AllErrors() []error { return m } // AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError is the // validation error returned by // AdmissionControl_SuccessCriteria_GrpcCriteria.Validate if the designated // constraints aren't met. type AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) ErrorName() string { return "AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError" } // Error satisfies the builtin error interface func (e AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdmissionControl_SuccessCriteria_GrpcCriteria.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdmissionControl_SuccessCriteria_GrpcCriteriaValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/alternate_protocols_cache/000077500000000000000000000000001454502223200301455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/alternate_protocols_cache/v3/000077500000000000000000000000001454502223200304755ustar00rootroot00000000000000alternate_protocols_cache.pb.go000077500000000000000000000247241454502223200365670ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/alternate_protocols_cache/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/alternate_protocols_cache/v3/alternate_protocols_cache.proto package alternate_protocols_cachev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the alternate protocols cache HTTP filter. // [#extension: envoy.filters.http.alternate_protocols_cache] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, causes the use of the alternate protocols cache, which is responsible for // parsing and caching HTTP Alt-Svc headers. This enables the use of HTTP/3 for upstream // servers that advertise supporting it. // TODO(RyanTheOptimist): Make this field required when HTTP/3 is enabled via auto_http. AlternateProtocolsCacheOptions *v3.AlternateProtocolsCacheOptions `protobuf:"bytes,1,opt,name=alternate_protocols_cache_options,json=alternateProtocolsCacheOptions,proto3" json:"alternate_protocols_cache_options,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetAlternateProtocolsCacheOptions() *v3.AlternateProtocolsCacheOptions { if x != nil { return x.AlternateProtocolsCacheOptions } return nil } var File_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDesc = []byte{ 0x0a, 0x5a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7f, 0x0a, 0x21, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xf1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x48, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescData = file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDesc ) func file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescData) }) return file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDescData } var file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig (*v3.AlternateProtocolsCacheOptions)(nil), // 1: envoy.config.core.v3.AlternateProtocolsCacheOptions } var file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig.alternate_protocols_cache_options:type_name -> envoy.config.core.v3.AlternateProtocolsCacheOptions 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_init() } func file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_init() { if File_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto = out.File file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_rawDesc = nil file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_goTypes = nil file_envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache_proto_depIdxs = nil } alternate_protocols_cache.pb.validate.go000077500000000000000000000102501454502223200403440ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/alternate_protocols_cache/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/alternate_protocols_cache/v3/alternate_protocols_cache.proto package alternate_protocols_cachev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAlternateProtocolsCacheOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAlternateProtocolsCacheOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/aws_lambda/000077500000000000000000000000001454502223200250315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/aws_lambda/v3/000077500000000000000000000000001454502223200253615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/aws_lambda/v3/aws_lambda.pb.go000077500000000000000000000364621454502223200304200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/aws_lambda/v3/aws_lambda.proto package aws_lambdav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config_InvocationMode int32 const ( // This is the more common mode of invocation, in which Lambda responds after it has completed the function. In // this mode the output of the Lambda function becomes the response of the HTTP request. Config_SYNCHRONOUS Config_InvocationMode = 0 // In this mode Lambda responds immediately but continues to process the function asynchronously. This mode can be // used to signal events for example. In this mode, Lambda responds with an acknowledgment that it received the // call which is translated to an HTTP 200 OK by the filter. Config_ASYNCHRONOUS Config_InvocationMode = 1 ) // Enum value maps for Config_InvocationMode. var ( Config_InvocationMode_name = map[int32]string{ 0: "SYNCHRONOUS", 1: "ASYNCHRONOUS", } Config_InvocationMode_value = map[string]int32{ "SYNCHRONOUS": 0, "ASYNCHRONOUS": 1, } ) func (x Config_InvocationMode) Enum() *Config_InvocationMode { p := new(Config_InvocationMode) *p = x return p } func (x Config_InvocationMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_InvocationMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_enumTypes[0].Descriptor() } func (Config_InvocationMode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_enumTypes[0] } func (x Config_InvocationMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_InvocationMode.Descriptor instead. func (Config_InvocationMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescGZIP(), []int{0, 0} } // AWS Lambda filter config type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ARN of the AWS Lambda to invoke when the filter is engaged // Must be in the following format: // arn::lambda:::function: Arn string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"` // Whether to transform the request (headers and body) to a JSON payload or pass it as is. PayloadPassthrough bool `protobuf:"varint,2,opt,name=payload_passthrough,json=payloadPassthrough,proto3" json:"payload_passthrough,omitempty"` // Determines the way to invoke the Lambda function. InvocationMode Config_InvocationMode `protobuf:"varint,3,opt,name=invocation_mode,json=invocationMode,proto3,enum=envoy.extensions.filters.http.aws_lambda.v3.Config_InvocationMode" json:"invocation_mode,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescGZIP(), []int{0} } func (x *Config) GetArn() string { if x != nil { return x.Arn } return "" } func (x *Config) GetPayloadPassthrough() bool { if x != nil { return x.PayloadPassthrough } return false } func (x *Config) GetInvocationMode() Config_InvocationMode { if x != nil { return x.InvocationMode } return Config_SYNCHRONOUS } // Per-route configuration for AWS Lambda. This can be useful when invoking a different Lambda function or a different // version of the same Lambda depending on the route. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InvokeConfig *Config `protobuf:"bytes,1,opt,name=invoke_config,json=invokeConfig,proto3" json:"invoke_config,omitempty"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescGZIP(), []int{1} } func (x *PerRouteConfig) GetInvokeConfig() *Config { if x != nil { return x.InvokeConfig } return nil } var File_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x03, 0x61, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x61, 0x72, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x75, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x33, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x10, 0x01, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x41, 0x77, 0x73, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescData = file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDesc ) func file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescData) }) return file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDescData } var file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_goTypes = []interface{}{ (Config_InvocationMode)(0), // 0: envoy.extensions.filters.http.aws_lambda.v3.Config.InvocationMode (*Config)(nil), // 1: envoy.extensions.filters.http.aws_lambda.v3.Config (*PerRouteConfig)(nil), // 2: envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig } var file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.http.aws_lambda.v3.Config.invocation_mode:type_name -> envoy.extensions.filters.http.aws_lambda.v3.Config.InvocationMode 1, // 1: envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig.invoke_config:type_name -> envoy.extensions.filters.http.aws_lambda.v3.Config 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_init() } func file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_init() { if File_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto = out.File file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_rawDesc = nil file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_goTypes = nil file_envoy_extensions_filters_http_aws_lambda_v3_aws_lambda_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/aws_lambda/v3/aws_lambda.pb.validate.go000077500000000000000000000161201454502223200321750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/aws_lambda/v3/aws_lambda.proto package aws_lambdav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetArn()) < 1 { err := ConfigValidationError{ field: "Arn", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for PayloadPassthrough if _, ok := Config_InvocationMode_name[int32(m.GetInvocationMode())]; !ok { err := ConfigValidationError{ field: "InvocationMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetInvokeConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInvokeConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerRouteConfigValidationError{ field: "InvokeConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/aws_request_signing/000077500000000000000000000000001454502223200270175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/aws_request_signing/v3/000077500000000000000000000000001454502223200273475ustar00rootroot00000000000000aws_request_signing.pb.go000077500000000000000000000424301454502223200343050ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/aws_request_signing/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/aws_request_signing/v3/aws_request_signing.proto package aws_request_signingv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Top level configuration for the AWS request signing filter. // [#next-free-field: 6] type AwsRequestSigning struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The `service namespace // `_ // of the HTTP endpoint. // // Example: s3 ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The `region `_ hosting the HTTP // endpoint. // // Example: us-west-2 Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` // Indicates that before signing headers, the host header will be swapped with // this value. If not set or empty, the original host header value // will be used and no rewrite will happen. // // Note: this rewrite affects both signing and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite ` given that the // value set here would be used for signing whereas the value set in the HCM would be used // for host header forwarding which is not the desired outcome. HostRewrite string `protobuf:"bytes,3,opt,name=host_rewrite,json=hostRewrite,proto3" json:"host_rewrite,omitempty"` // Instead of buffering the request to calculate the payload hash, use the literal string “UNSIGNED-PAYLOAD“ // to calculate the payload hash. Not all services support this option. See the `S3 // `_ policy for details. UseUnsignedPayload bool `protobuf:"varint,4,opt,name=use_unsigned_payload,json=useUnsignedPayload,proto3" json:"use_unsigned_payload,omitempty"` // A list of request header string matchers that will be excluded from signing. The excluded header can be matched by // any patterns defined in the StringMatcher proto (e.g. exact string, prefix, regex, etc). // // Example: // match_excluded_headers: // - prefix: x-envoy // - exact: foo // - exact: bar // When applied, all headers that start with "x-envoy" and headers "foo" and "bar" will not be signed. MatchExcludedHeaders []*v3.StringMatcher `protobuf:"bytes,5,rep,name=match_excluded_headers,json=matchExcludedHeaders,proto3" json:"match_excluded_headers,omitempty"` } func (x *AwsRequestSigning) Reset() { *x = AwsRequestSigning{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AwsRequestSigning) String() string { return protoimpl.X.MessageStringOf(x) } func (*AwsRequestSigning) ProtoMessage() {} func (x *AwsRequestSigning) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AwsRequestSigning.ProtoReflect.Descriptor instead. func (*AwsRequestSigning) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescGZIP(), []int{0} } func (x *AwsRequestSigning) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *AwsRequestSigning) GetRegion() string { if x != nil { return x.Region } return "" } func (x *AwsRequestSigning) GetHostRewrite() string { if x != nil { return x.HostRewrite } return "" } func (x *AwsRequestSigning) GetUseUnsignedPayload() bool { if x != nil { return x.UseUnsignedPayload } return false } func (x *AwsRequestSigning) GetMatchExcludedHeaders() []*v3.StringMatcher { if x != nil { return x.MatchExcludedHeaders } return nil } type AwsRequestSigningPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Override the global configuration of the filter with this new config. // This overrides the entire message of AwsRequestSigning and not at field level. AwsRequestSigning *AwsRequestSigning `protobuf:"bytes,1,opt,name=aws_request_signing,json=awsRequestSigning,proto3" json:"aws_request_signing,omitempty"` // The human readable prefix to use when emitting stats. StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` } func (x *AwsRequestSigningPerRoute) Reset() { *x = AwsRequestSigningPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AwsRequestSigningPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*AwsRequestSigningPerRoute) ProtoMessage() {} func (x *AwsRequestSigningPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AwsRequestSigningPerRoute.ProtoReflect.Descriptor instead. func (*AwsRequestSigningPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescGZIP(), []int{1} } func (x *AwsRequestSigningPerRoute) GetAwsRequestSigning() *AwsRequestSigning { if x != nil { return x.AwsRequestSigning } return nil } func (x *AwsRequestSigningPerRoute) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } var File_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x02, 0x0a, 0x11, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x5f, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x73, 0x65, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xbe, 0x01, 0x0a, 0x19, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x13, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x61, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0xd9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x41, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x77, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescData = file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDesc ) func file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescData) }) return file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDescData } var file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_goTypes = []interface{}{ (*AwsRequestSigning)(nil), // 0: envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning (*AwsRequestSigningPerRoute)(nil), // 1: envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigningPerRoute (*v3.StringMatcher)(nil), // 2: envoy.type.matcher.v3.StringMatcher } var file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning.match_excluded_headers:type_name -> envoy.type.matcher.v3.StringMatcher 0, // 1: envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigningPerRoute.aws_request_signing:type_name -> envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_init() } func file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_init() { if File_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AwsRequestSigning); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AwsRequestSigningPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto = out.File file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_rawDesc = nil file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_goTypes = nil file_envoy_extensions_filters_http_aws_request_signing_v3_aws_request_signing_proto_depIdxs = nil } aws_request_signing.pb.validate.go000077500000000000000000000217571454502223200361060ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/aws_request_signing/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/aws_request_signing/v3/aws_request_signing.proto package aws_request_signingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AwsRequestSigning with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AwsRequestSigning) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AwsRequestSigning with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AwsRequestSigningMultiError, or nil if none found. func (m *AwsRequestSigning) ValidateAll() error { return m.validate(true) } func (m *AwsRequestSigning) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetServiceName()) < 1 { err := AwsRequestSigningValidationError{ field: "ServiceName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetRegion()) < 1 { err := AwsRequestSigningValidationError{ field: "Region", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for HostRewrite // no validation rules for UseUnsignedPayload for idx, item := range m.GetMatchExcludedHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AwsRequestSigningValidationError{ field: fmt.Sprintf("MatchExcludedHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AwsRequestSigningValidationError{ field: fmt.Sprintf("MatchExcludedHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AwsRequestSigningValidationError{ field: fmt.Sprintf("MatchExcludedHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AwsRequestSigningMultiError(errors) } return nil } // AwsRequestSigningMultiError is an error wrapping multiple validation errors // returned by AwsRequestSigning.ValidateAll() if the designated constraints // aren't met. type AwsRequestSigningMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AwsRequestSigningMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AwsRequestSigningMultiError) AllErrors() []error { return m } // AwsRequestSigningValidationError is the validation error returned by // AwsRequestSigning.Validate if the designated constraints aren't met. type AwsRequestSigningValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AwsRequestSigningValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AwsRequestSigningValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AwsRequestSigningValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AwsRequestSigningValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AwsRequestSigningValidationError) ErrorName() string { return "AwsRequestSigningValidationError" } // Error satisfies the builtin error interface func (e AwsRequestSigningValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAwsRequestSigning.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AwsRequestSigningValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AwsRequestSigningValidationError{} // Validate checks the field values on AwsRequestSigningPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AwsRequestSigningPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AwsRequestSigningPerRoute with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AwsRequestSigningPerRouteMultiError, or nil if none found. func (m *AwsRequestSigningPerRoute) ValidateAll() error { return m.validate(true) } func (m *AwsRequestSigningPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAwsRequestSigning()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AwsRequestSigningPerRouteValidationError{ field: "AwsRequestSigning", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AwsRequestSigningPerRouteValidationError{ field: "AwsRequestSigning", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAwsRequestSigning()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AwsRequestSigningPerRouteValidationError{ field: "AwsRequestSigning", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := AwsRequestSigningPerRouteValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AwsRequestSigningPerRouteMultiError(errors) } return nil } // AwsRequestSigningPerRouteMultiError is an error wrapping multiple validation // errors returned by AwsRequestSigningPerRoute.ValidateAll() if the // designated constraints aren't met. type AwsRequestSigningPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AwsRequestSigningPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AwsRequestSigningPerRouteMultiError) AllErrors() []error { return m } // AwsRequestSigningPerRouteValidationError is the validation error returned by // AwsRequestSigningPerRoute.Validate if the designated constraints aren't met. type AwsRequestSigningPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AwsRequestSigningPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AwsRequestSigningPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AwsRequestSigningPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AwsRequestSigningPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AwsRequestSigningPerRouteValidationError) ErrorName() string { return "AwsRequestSigningPerRouteValidationError" } // Error satisfies the builtin error interface func (e AwsRequestSigningPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAwsRequestSigningPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AwsRequestSigningPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AwsRequestSigningPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/bandwidth_limit/000077500000000000000000000000001454502223200261015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/bandwidth_limit/v3/000077500000000000000000000000001454502223200264315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/bandwidth_limit/v3/bandwidth_limit.pb.go000077500000000000000000000447711454502223200325420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/bandwidth_limit/v3/bandwidth_limit.proto package bandwidth_limitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Defines the mode for the bandwidth limit filter. // Values represent bitmask. type BandwidthLimit_EnableMode int32 const ( // Filter is disabled. BandwidthLimit_DISABLED BandwidthLimit_EnableMode = 0 // Filter enabled only for incoming traffic. BandwidthLimit_REQUEST BandwidthLimit_EnableMode = 1 // Filter enabled only for outgoing traffic. BandwidthLimit_RESPONSE BandwidthLimit_EnableMode = 2 // Filter enabled for both incoming and outgoing traffic. BandwidthLimit_REQUEST_AND_RESPONSE BandwidthLimit_EnableMode = 3 ) // Enum value maps for BandwidthLimit_EnableMode. var ( BandwidthLimit_EnableMode_name = map[int32]string{ 0: "DISABLED", 1: "REQUEST", 2: "RESPONSE", 3: "REQUEST_AND_RESPONSE", } BandwidthLimit_EnableMode_value = map[string]int32{ "DISABLED": 0, "REQUEST": 1, "RESPONSE": 2, "REQUEST_AND_RESPONSE": 3, } ) func (x BandwidthLimit_EnableMode) Enum() *BandwidthLimit_EnableMode { p := new(BandwidthLimit_EnableMode) *p = x return p } func (x BandwidthLimit_EnableMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (BandwidthLimit_EnableMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_enumTypes[0].Descriptor() } func (BandwidthLimit_EnableMode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_enumTypes[0] } func (x BandwidthLimit_EnableMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use BandwidthLimit_EnableMode.Descriptor instead. func (BandwidthLimit_EnableMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 8] type BandwidthLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting stats. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The enable mode for the bandwidth limit filter. // Default is Disabled. EnableMode BandwidthLimit_EnableMode `protobuf:"varint,2,opt,name=enable_mode,json=enableMode,proto3,enum=envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit_EnableMode" json:"enable_mode,omitempty"` // The limit supplied in KiB/s. // // .. note:: // // It's fine for the limit to be unset for the global configuration since the bandwidth limit // can be applied at a the virtual host or route level. Thus, the limit must be set for the // per route configuration otherwise the config will be rejected. // // .. note:: // // When using per route configuration, the limit becomes unique to that route. LimitKbps *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=limit_kbps,json=limitKbps,proto3" json:"limit_kbps,omitempty"` // Optional Fill interval in milliseconds for the token refills. Defaults to 50ms. // It must be at least 20ms to avoid too aggressive refills. FillInterval *duration.Duration `protobuf:"bytes,4,opt,name=fill_interval,json=fillInterval,proto3" json:"fill_interval,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If not specified, defaults // to enabled. RuntimeEnabled *v3.RuntimeFeatureFlag `protobuf:"bytes,5,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` // Enable response trailers. // // .. note:: // // If set true, the following 4 trailers will be added, prefixed by ``response_trailer_prefix``: // * bandwidth-request-delay-ms: delay time in milliseconds it took for the request stream transfer including request body transfer time and the time added by the filter. // * bandwidth-response-delay-ms: delay time in milliseconds it took for the response stream transfer including response body transfer time and the time added by the filter. // * bandwidth-request-filter-delay-ms: delay time in milliseconds in request stream transfer added by the filter. // * bandwidth-response-filter-delay-ms: delay time in milliseconds that added by the filter. // If :ref:`enable_mode ` is ``DISABLED`` or ``REQUEST``, the trailers will not be set. // If both the request and response delay time is 0, the trailers will not be set. EnableResponseTrailers bool `protobuf:"varint,6,opt,name=enable_response_trailers,json=enableResponseTrailers,proto3" json:"enable_response_trailers,omitempty"` // Optional The prefix for the response trailers. ResponseTrailerPrefix string `protobuf:"bytes,7,opt,name=response_trailer_prefix,json=responseTrailerPrefix,proto3" json:"response_trailer_prefix,omitempty"` } func (x *BandwidthLimit) Reset() { *x = BandwidthLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BandwidthLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*BandwidthLimit) ProtoMessage() {} func (x *BandwidthLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BandwidthLimit.ProtoReflect.Descriptor instead. func (*BandwidthLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescGZIP(), []int{0} } func (x *BandwidthLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *BandwidthLimit) GetEnableMode() BandwidthLimit_EnableMode { if x != nil { return x.EnableMode } return BandwidthLimit_DISABLED } func (x *BandwidthLimit) GetLimitKbps() *wrappers.UInt64Value { if x != nil { return x.LimitKbps } return nil } func (x *BandwidthLimit) GetFillInterval() *duration.Duration { if x != nil { return x.FillInterval } return nil } func (x *BandwidthLimit) GetRuntimeEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } func (x *BandwidthLimit) GetEnableResponseTrailers() bool { if x != nil { return x.EnableResponseTrailers } return false } func (x *BandwidthLimit) GetResponseTrailerPrefix() string { if x != nil { return x.ResponseTrailerPrefix } return "" } var File_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x04, 0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x76, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6b, 0x62, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4b, 0x62, 0x70, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0xaa, 0x01, 0x0b, 0x22, 0x02, 0x08, 0x01, 0x32, 0x05, 0x10, 0x80, 0xda, 0xc4, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x4f, 0x0a, 0x0a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x03, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescData = file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDesc ) func file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescData) }) return file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDescData } var file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_goTypes = []interface{}{ (BandwidthLimit_EnableMode)(0), // 0: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.EnableMode (*BandwidthLimit)(nil), // 1: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit (*wrappers.UInt64Value)(nil), // 2: google.protobuf.UInt64Value (*duration.Duration)(nil), // 3: google.protobuf.Duration (*v3.RuntimeFeatureFlag)(nil), // 4: envoy.config.core.v3.RuntimeFeatureFlag } var file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.enable_mode:type_name -> envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.EnableMode 2, // 1: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.limit_kbps:type_name -> google.protobuf.UInt64Value 3, // 2: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.fill_interval:type_name -> google.protobuf.Duration 4, // 3: envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit.runtime_enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_init() } func file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_init() { if File_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BandwidthLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto = out.File file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_rawDesc = nil file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_goTypes = nil file_envoy_extensions_filters_http_bandwidth_limit_v3_bandwidth_limit_proto_depIdxs = nil } bandwidth_limit.pb.validate.go000077500000000000000000000137771454502223200342550ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/bandwidth_limit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/bandwidth_limit/v3/bandwidth_limit.proto package bandwidth_limitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on BandwidthLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BandwidthLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BandwidthLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BandwidthLimitMultiError, // or nil if none found. func (m *BandwidthLimit) ValidateAll() error { return m.validate(true) } func (m *BandwidthLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := BandwidthLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := BandwidthLimit_EnableMode_name[int32(m.GetEnableMode())]; !ok { err := BandwidthLimitValidationError{ field: "EnableMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetLimitKbps(); wrapper != nil { if wrapper.GetValue() < 1 { err := BandwidthLimitValidationError{ field: "LimitKbps", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if d := m.GetFillInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = BandwidthLimitValidationError{ field: "FillInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lte := time.Duration(1*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 20000000*time.Nanosecond) if dur < gte || dur > lte { err := BandwidthLimitValidationError{ field: "FillInterval", reason: "value must be inside range [20ms, 1s]", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BandwidthLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BandwidthLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BandwidthLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableResponseTrailers if !_BandwidthLimit_ResponseTrailerPrefix_Pattern.MatchString(m.GetResponseTrailerPrefix()) { err := BandwidthLimitValidationError{ field: "ResponseTrailerPrefix", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BandwidthLimitMultiError(errors) } return nil } // BandwidthLimitMultiError is an error wrapping multiple validation errors // returned by BandwidthLimit.ValidateAll() if the designated constraints // aren't met. type BandwidthLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BandwidthLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BandwidthLimitMultiError) AllErrors() []error { return m } // BandwidthLimitValidationError is the validation error returned by // BandwidthLimit.Validate if the designated constraints aren't met. type BandwidthLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BandwidthLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BandwidthLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BandwidthLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BandwidthLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BandwidthLimitValidationError) ErrorName() string { return "BandwidthLimitValidationError" } // Error satisfies the builtin error interface func (e BandwidthLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBandwidthLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BandwidthLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BandwidthLimitValidationError{} var _BandwidthLimit_ResponseTrailerPrefix_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/extensions/filters/http/basic_auth/000077500000000000000000000000001454502223200250415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/basic_auth/v3/000077500000000000000000000000001454502223200253715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/basic_auth/v3/basic_auth.pb.go000077500000000000000000000205341454502223200304310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/basic_auth/v3/basic_auth.proto package basic_authv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Basic HTTP authentication. // // Example: // // .. code-block:: yaml // // users: // inline_string: |- // user1:{SHA}hashed_user1_password // user2:{SHA}hashed_user2_password type BasicAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Username-password pairs used to verify user credentials in the "Authorization" header. // The value needs to be the htpasswd format. // Reference to https://httpd.apache.org/docs/2.4/programs/htpasswd.html Users *v3.DataSource `protobuf:"bytes,1,opt,name=users,proto3" json:"users,omitempty"` } func (x *BasicAuth) Reset() { *x = BasicAuth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BasicAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*BasicAuth) ProtoMessage() {} func (x *BasicAuth) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BasicAuth.ProtoReflect.Descriptor instead. func (*BasicAuth) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescGZIP(), []int{0} } func (x *BasicAuth) GetUsers() *v3.DataSource { if x != nil { return x.Users } return nil } var File_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0xb6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescData = file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDesc ) func file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescData) }) return file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDescData } var file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_goTypes = []interface{}{ (*BasicAuth)(nil), // 0: envoy.extensions.filters.http.basic_auth.v3.BasicAuth (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource } var file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.basic_auth.v3.BasicAuth.users:type_name -> envoy.config.core.v3.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_init() } func file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_init() { if File_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BasicAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto = out.File file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_rawDesc = nil file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_goTypes = nil file_envoy_extensions_filters_http_basic_auth_v3_basic_auth_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/basic_auth/v3/basic_auth.pb.validate.go000077500000000000000000000076521454502223200322270ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/basic_auth/v3/basic_auth.proto package basic_authv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on BasicAuth with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BasicAuth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BasicAuth with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BasicAuthMultiError, or nil // if none found. func (m *BasicAuth) ValidateAll() error { return m.validate(true) } func (m *BasicAuth) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetUsers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BasicAuthValidationError{ field: "Users", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BasicAuthValidationError{ field: "Users", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUsers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BasicAuthValidationError{ field: "Users", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BasicAuthMultiError(errors) } return nil } // BasicAuthMultiError is an error wrapping multiple validation errors returned // by BasicAuth.ValidateAll() if the designated constraints aren't met. type BasicAuthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BasicAuthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BasicAuthMultiError) AllErrors() []error { return m } // BasicAuthValidationError is the validation error returned by // BasicAuth.Validate if the designated constraints aren't met. type BasicAuthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BasicAuthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BasicAuthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BasicAuthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BasicAuthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BasicAuthValidationError) ErrorName() string { return "BasicAuthValidationError" } // Error satisfies the builtin error interface func (e BasicAuthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBasicAuth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BasicAuthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BasicAuthValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/buffer/000077500000000000000000000000001454502223200242105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/buffer/v3/000077500000000000000000000000001454502223200245405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/buffer/v3/buffer.pb.go000077500000000000000000000310721454502223200267460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/buffer/v3/buffer.proto package bufferv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Buffer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum request size that the filter will buffer before the connection // manager will stop buffering and return a 413 response. MaxRequestBytes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` } func (x *Buffer) Reset() { *x = Buffer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Buffer) String() string { return protoimpl.X.MessageStringOf(x) } func (*Buffer) ProtoMessage() {} func (x *Buffer) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Buffer.ProtoReflect.Descriptor instead. func (*Buffer) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescGZIP(), []int{0} } func (x *Buffer) GetMaxRequestBytes() *wrappers.UInt32Value { if x != nil { return x.MaxRequestBytes } return nil } type BufferPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *BufferPerRoute_Disabled // *BufferPerRoute_Buffer Override isBufferPerRoute_Override `protobuf_oneof:"override"` } func (x *BufferPerRoute) Reset() { *x = BufferPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferPerRoute) ProtoMessage() {} func (x *BufferPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferPerRoute.ProtoReflect.Descriptor instead. func (*BufferPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescGZIP(), []int{1} } func (m *BufferPerRoute) GetOverride() isBufferPerRoute_Override { if m != nil { return m.Override } return nil } func (x *BufferPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*BufferPerRoute_Disabled); ok { return x.Disabled } return false } func (x *BufferPerRoute) GetBuffer() *Buffer { if x, ok := x.GetOverride().(*BufferPerRoute_Buffer); ok { return x.Buffer } return nil } type isBufferPerRoute_Override interface { isBufferPerRoute_Override() } type BufferPerRoute_Disabled struct { // Disable the buffer filter for this particular vhost or route. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type BufferPerRoute_Buffer struct { // Override the global configuration of the filter with this new config. Buffer *Buffer `protobuf:"bytes,2,opt,name=buffer,proto3,oneof"` } func (*BufferPerRoute_Disabled) isBufferPerRoute_Override() {} func (*BufferPerRoute_Buffer) isBufferPerRoute_Override() {} var File_envoy_extensions_filters_http_buffer_v3_buffer_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xa7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescData = file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDesc ) func file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescData) }) return file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDescData } var file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_buffer_v3_buffer_proto_goTypes = []interface{}{ (*Buffer)(nil), // 0: envoy.extensions.filters.http.buffer.v3.Buffer (*BufferPerRoute)(nil), // 1: envoy.extensions.filters.http.buffer.v3.BufferPerRoute (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_filters_http_buffer_v3_buffer_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.buffer.v3.Buffer.max_request_bytes:type_name -> google.protobuf.UInt32Value 0, // 1: envoy.extensions.filters.http.buffer.v3.BufferPerRoute.buffer:type_name -> envoy.extensions.filters.http.buffer.v3.Buffer 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_buffer_v3_buffer_proto_init() } func file_envoy_extensions_filters_http_buffer_v3_buffer_proto_init() { if File_envoy_extensions_filters_http_buffer_v3_buffer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Buffer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes[1].OneofWrappers = []interface{}{ (*BufferPerRoute_Disabled)(nil), (*BufferPerRoute_Buffer)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_buffer_v3_buffer_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_buffer_v3_buffer_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_buffer_v3_buffer_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_buffer_v3_buffer_proto = out.File file_envoy_extensions_filters_http_buffer_v3_buffer_proto_rawDesc = nil file_envoy_extensions_filters_http_buffer_v3_buffer_proto_goTypes = nil file_envoy_extensions_filters_http_buffer_v3_buffer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/buffer/v3/buffer.pb.validate.go000077500000000000000000000203261454502223200305360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/buffer/v3/buffer.proto package bufferv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Buffer with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Buffer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Buffer with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in BufferMultiError, or nil if none found. func (m *Buffer) ValidateAll() error { return m.validate(true) } func (m *Buffer) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMaxRequestBytes(); wrapper != nil { if wrapper.GetValue() <= 0 { err := BufferValidationError{ field: "MaxRequestBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } else { err := BufferValidationError{ field: "MaxRequestBytes", reason: "value is required and must not be nil.", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferMultiError(errors) } return nil } // BufferMultiError is an error wrapping multiple validation errors returned by // Buffer.ValidateAll() if the designated constraints aren't met. type BufferMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferMultiError) AllErrors() []error { return m } // BufferValidationError is the validation error returned by Buffer.Validate if // the designated constraints aren't met. type BufferValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferValidationError) ErrorName() string { return "BufferValidationError" } // Error satisfies the builtin error interface func (e BufferValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBuffer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferValidationError{} // Validate checks the field values on BufferPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BufferPerRouteMultiError, // or nil if none found. func (m *BufferPerRoute) ValidateAll() error { return m.validate(true) } func (m *BufferPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *BufferPerRoute_Disabled: if v == nil { err := BufferPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := BufferPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *BufferPerRoute_Buffer: if v == nil { err := BufferPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetBuffer() == nil { err := BufferPerRouteValidationError{ field: "Buffer", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBuffer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBuffer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferPerRouteValidationError{ field: "Buffer", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := BufferPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferPerRouteMultiError(errors) } return nil } // BufferPerRouteMultiError is an error wrapping multiple validation errors // returned by BufferPerRoute.ValidateAll() if the designated constraints // aren't met. type BufferPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferPerRouteMultiError) AllErrors() []error { return m } // BufferPerRouteValidationError is the validation error returned by // BufferPerRoute.Validate if the designated constraints aren't met. type BufferPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferPerRouteValidationError) ErrorName() string { return "BufferPerRouteValidationError" } // Error satisfies the builtin error interface func (e BufferPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/cache/000077500000000000000000000000001454502223200240025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cache/v3/000077500000000000000000000000001454502223200243325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cache/v3/cache.pb.go000077500000000000000000000474321454502223200263410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/cache/v3/cache.proto package cachev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.filters.http.cache] // [#next-free-field: 6] type CacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Config specific to the cache storage implementation. Required unless “disabled“ // is true. // [#extension-category: envoy.http.cache] TypedConfig *any1.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` // When true, the cache filter is a no-op filter. // // Possible use-cases for this include: // - Turning a filter on and off with :ref:`ECDS `. // [#comment: once route-specific overrides are implemented, they are the more likely use-case.] Disabled *wrappers.BoolValue `protobuf:"bytes,5,opt,name=disabled,proto3" json:"disabled,omitempty"` // List of matching rules that defines allowed “Vary“ headers. // // The “vary“ response header holds a list of header names that affect the // contents of a response, as described by // https://httpwg.org/specs/rfc7234.html#caching.negotiated.responses. // // During insertion, “allowed_vary_headers“ acts as a allowlist: if a // response's “vary“ header mentions any header names that aren't matched by any rules in // “allowed_vary_headers“, that response will not be cached. // // During lookup, “allowed_vary_headers“ controls what request headers will be // sent to the cache storage implementation. AllowedVaryHeaders []*v3.StringMatcher `protobuf:"bytes,2,rep,name=allowed_vary_headers,json=allowedVaryHeaders,proto3" json:"allowed_vary_headers,omitempty"` // [#not-implemented-hide:] // // // Modifies cache key creation by restricting which parts of the URL are included. KeyCreatorParams *CacheConfig_KeyCreatorParams `protobuf:"bytes,3,opt,name=key_creator_params,json=keyCreatorParams,proto3" json:"key_creator_params,omitempty"` // [#not-implemented-hide:] // // // Max body size the cache filter will insert into a cache. 0 means unlimited (though the cache // storage implementation may have its own limit beyond which it will reject insertions). MaxBodyBytes uint32 `protobuf:"varint,4,opt,name=max_body_bytes,json=maxBodyBytes,proto3" json:"max_body_bytes,omitempty"` } func (x *CacheConfig) Reset() { *x = CacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheConfig) ProtoMessage() {} func (x *CacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CacheConfig.ProtoReflect.Descriptor instead. func (*CacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescGZIP(), []int{0} } func (x *CacheConfig) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } func (x *CacheConfig) GetDisabled() *wrappers.BoolValue { if x != nil { return x.Disabled } return nil } func (x *CacheConfig) GetAllowedVaryHeaders() []*v3.StringMatcher { if x != nil { return x.AllowedVaryHeaders } return nil } func (x *CacheConfig) GetKeyCreatorParams() *CacheConfig_KeyCreatorParams { if x != nil { return x.KeyCreatorParams } return nil } func (x *CacheConfig) GetMaxBodyBytes() uint32 { if x != nil { return x.MaxBodyBytes } return 0 } // [#not-implemented-hide:] // Modifies cache key creation by restricting which parts of the URL are included. type CacheConfig_KeyCreatorParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, exclude the URL scheme from the cache key. Set to true if your origins always // produce the same response for http and https requests. ExcludeScheme bool `protobuf:"varint,1,opt,name=exclude_scheme,json=excludeScheme,proto3" json:"exclude_scheme,omitempty"` // If true, exclude the host from the cache key. Set to true if your origins' responses don't // ever depend on host. ExcludeHost bool `protobuf:"varint,2,opt,name=exclude_host,json=excludeHost,proto3" json:"exclude_host,omitempty"` // If “query_parameters_included“ is nonempty, only query parameters matched // by one or more of its matchers are included in the cache key. Any other // query params will not affect cache lookup. QueryParametersIncluded []*v31.QueryParameterMatcher `protobuf:"bytes,3,rep,name=query_parameters_included,json=queryParametersIncluded,proto3" json:"query_parameters_included,omitempty"` // If “query_parameters_excluded“ is nonempty, query parameters matched by one // or more of its matchers are excluded from the cache key (even if also // matched by “query_parameters_included“), and will not affect cache lookup. QueryParametersExcluded []*v31.QueryParameterMatcher `protobuf:"bytes,4,rep,name=query_parameters_excluded,json=queryParametersExcluded,proto3" json:"query_parameters_excluded,omitempty"` } func (x *CacheConfig_KeyCreatorParams) Reset() { *x = CacheConfig_KeyCreatorParams{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CacheConfig_KeyCreatorParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheConfig_KeyCreatorParams) ProtoMessage() {} func (x *CacheConfig_KeyCreatorParams) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CacheConfig_KeyCreatorParams.ProtoReflect.Descriptor instead. func (*CacheConfig_KeyCreatorParams) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescGZIP(), []int{0, 0} } func (x *CacheConfig_KeyCreatorParams) GetExcludeScheme() bool { if x != nil { return x.ExcludeScheme } return false } func (x *CacheConfig_KeyCreatorParams) GetExcludeHost() bool { if x != nil { return x.ExcludeHost } return false } func (x *CacheConfig_KeyCreatorParams) GetQueryParametersIncluded() []*v31.QueryParameterMatcher { if x != nil { return x.QueryParametersIncluded } return nil } func (x *CacheConfig_KeyCreatorParams) GetQueryParametersExcluded() []*v31.QueryParameterMatcher { if x != nil { return x.QueryParametersExcluded } return nil } var File_envoy_extensions_filters_http_cache_v3_cache_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x06, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x56, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xfc, 0x02, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x19, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x19, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescData = file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDesc ) func file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescData) }) return file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDescData } var file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_cache_v3_cache_proto_goTypes = []interface{}{ (*CacheConfig)(nil), // 0: envoy.extensions.filters.http.cache.v3.CacheConfig (*CacheConfig_KeyCreatorParams)(nil), // 1: envoy.extensions.filters.http.cache.v3.CacheConfig.KeyCreatorParams (*any1.Any)(nil), // 2: google.protobuf.Any (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue (*v3.StringMatcher)(nil), // 4: envoy.type.matcher.v3.StringMatcher (*v31.QueryParameterMatcher)(nil), // 5: envoy.config.route.v3.QueryParameterMatcher } var file_envoy_extensions_filters_http_cache_v3_cache_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.cache.v3.CacheConfig.typed_config:type_name -> google.protobuf.Any 3, // 1: envoy.extensions.filters.http.cache.v3.CacheConfig.disabled:type_name -> google.protobuf.BoolValue 4, // 2: envoy.extensions.filters.http.cache.v3.CacheConfig.allowed_vary_headers:type_name -> envoy.type.matcher.v3.StringMatcher 1, // 3: envoy.extensions.filters.http.cache.v3.CacheConfig.key_creator_params:type_name -> envoy.extensions.filters.http.cache.v3.CacheConfig.KeyCreatorParams 5, // 4: envoy.extensions.filters.http.cache.v3.CacheConfig.KeyCreatorParams.query_parameters_included:type_name -> envoy.config.route.v3.QueryParameterMatcher 5, // 5: envoy.extensions.filters.http.cache.v3.CacheConfig.KeyCreatorParams.query_parameters_excluded:type_name -> envoy.config.route.v3.QueryParameterMatcher 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_cache_v3_cache_proto_init() } func file_envoy_extensions_filters_http_cache_v3_cache_proto_init() { if File_envoy_extensions_filters_http_cache_v3_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CacheConfig_KeyCreatorParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_cache_v3_cache_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_cache_v3_cache_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_cache_v3_cache_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_cache_v3_cache_proto = out.File file_envoy_extensions_filters_http_cache_v3_cache_proto_rawDesc = nil file_envoy_extensions_filters_http_cache_v3_cache_proto_goTypes = nil file_envoy_extensions_filters_http_cache_v3_cache_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/cache/v3/cache.pb.validate.go000077500000000000000000000275211454502223200301260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/cache/v3/cache.proto package cachev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CacheConfigMultiError, or // nil if none found. func (m *CacheConfig) ValidateAll() error { return m.validate(true) } func (m *CacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "Disabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "Disabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: "Disabled", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAllowedVaryHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: fmt.Sprintf("AllowedVaryHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetKeyCreatorParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyCreatorParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfigValidationError{ field: "KeyCreatorParams", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MaxBodyBytes if len(errors) > 0 { return CacheConfigMultiError(errors) } return nil } // CacheConfigMultiError is an error wrapping multiple validation errors // returned by CacheConfig.ValidateAll() if the designated constraints aren't met. type CacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CacheConfigMultiError) AllErrors() []error { return m } // CacheConfigValidationError is the validation error returned by // CacheConfig.Validate if the designated constraints aren't met. type CacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CacheConfigValidationError) ErrorName() string { return "CacheConfigValidationError" } // Error satisfies the builtin error interface func (e CacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CacheConfigValidationError{} // Validate checks the field values on CacheConfig_KeyCreatorParams with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CacheConfig_KeyCreatorParams) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CacheConfig_KeyCreatorParams with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CacheConfig_KeyCreatorParamsMultiError, or nil if none found. func (m *CacheConfig_KeyCreatorParams) ValidateAll() error { return m.validate(true) } func (m *CacheConfig_KeyCreatorParams) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ExcludeScheme // no validation rules for ExcludeHost for idx, item := range m.GetQueryParametersIncluded() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersIncluded[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetQueryParametersExcluded() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CacheConfig_KeyCreatorParamsValidationError{ field: fmt.Sprintf("QueryParametersExcluded[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CacheConfig_KeyCreatorParamsMultiError(errors) } return nil } // CacheConfig_KeyCreatorParamsMultiError is an error wrapping multiple // validation errors returned by CacheConfig_KeyCreatorParams.ValidateAll() if // the designated constraints aren't met. type CacheConfig_KeyCreatorParamsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CacheConfig_KeyCreatorParamsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CacheConfig_KeyCreatorParamsMultiError) AllErrors() []error { return m } // CacheConfig_KeyCreatorParamsValidationError is the validation error returned // by CacheConfig_KeyCreatorParams.Validate if the designated constraints // aren't met. type CacheConfig_KeyCreatorParamsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CacheConfig_KeyCreatorParamsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CacheConfig_KeyCreatorParamsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CacheConfig_KeyCreatorParamsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CacheConfig_KeyCreatorParamsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CacheConfig_KeyCreatorParamsValidationError) ErrorName() string { return "CacheConfig_KeyCreatorParamsValidationError" } // Error satisfies the builtin error interface func (e CacheConfig_KeyCreatorParamsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCacheConfig_KeyCreatorParams.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CacheConfig_KeyCreatorParamsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CacheConfig_KeyCreatorParamsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/cdn_loop/000077500000000000000000000000001454502223200245345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cdn_loop/v3/000077500000000000000000000000001454502223200250645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cdn_loop/v3/cdn_loop.pb.go000077500000000000000000000206411454502223200276160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/cdn_loop/v3/cdn_loop.proto package cdn_loopv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // CDN-Loop Header filter config. See the :ref:`configuration overview // ` for more information. type CdnLoopConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The CDN identifier to use for loop checks and to append to the // CDN-Loop header. // // RFC 8586 calls this the cdn-id. The cdn-id can either be a // pseudonym or hostname the CDN is in control of. // // cdn_id must not be empty. CdnId string `protobuf:"bytes,1,opt,name=cdn_id,json=cdnId,proto3" json:"cdn_id,omitempty"` // The maximum allowed count of cdn_id in the downstream CDN-Loop // request header. // // The default of 0 means a request can transit the CdnLoopFilter // once. A value of 1 means that a request can transit the // CdnLoopFilter twice and so on. MaxAllowedOccurrences uint32 `protobuf:"varint,2,opt,name=max_allowed_occurrences,json=maxAllowedOccurrences,proto3" json:"max_allowed_occurrences,omitempty"` } func (x *CdnLoopConfig) Reset() { *x = CdnLoopConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CdnLoopConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CdnLoopConfig) ProtoMessage() {} func (x *CdnLoopConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CdnLoopConfig.ProtoReflect.Descriptor instead. func (*CdnLoopConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescGZIP(), []int{0} } func (x *CdnLoopConfig) GetCdnId() string { if x != nil { return x.CdnId } return "" } func (x *CdnLoopConfig) GetMaxAllowedOccurrences() uint32 { if x != nil { return x.MaxAllowedOccurrences } return 0 } var File_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x0d, 0x43, 0x64, 0x6e, 0x4c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x06, 0x63, 0x64, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x63, 0x64, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0xae, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x64, 0x6e, 0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x64, 0x6e, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescData = file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDesc ) func file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescData) }) return file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDescData } var file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_goTypes = []interface{}{ (*CdnLoopConfig)(nil), // 0: envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig } var file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_init() } func file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_init() { if File_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CdnLoopConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto = out.File file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_rawDesc = nil file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_goTypes = nil file_envoy_extensions_filters_http_cdn_loop_v3_cdn_loop_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/cdn_loop/v3/cdn_loop.pb.validate.go000077500000000000000000000070021454502223200314020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/cdn_loop/v3/cdn_loop.proto package cdn_loopv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CdnLoopConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CdnLoopConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CdnLoopConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CdnLoopConfigMultiError, or // nil if none found. func (m *CdnLoopConfig) ValidateAll() error { return m.validate(true) } func (m *CdnLoopConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCdnId()) < 1 { err := CdnLoopConfigValidationError{ field: "CdnId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for MaxAllowedOccurrences if len(errors) > 0 { return CdnLoopConfigMultiError(errors) } return nil } // CdnLoopConfigMultiError is an error wrapping multiple validation errors // returned by CdnLoopConfig.ValidateAll() if the designated constraints // aren't met. type CdnLoopConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CdnLoopConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CdnLoopConfigMultiError) AllErrors() []error { return m } // CdnLoopConfigValidationError is the validation error returned by // CdnLoopConfig.Validate if the designated constraints aren't met. type CdnLoopConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CdnLoopConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CdnLoopConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CdnLoopConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CdnLoopConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CdnLoopConfigValidationError) ErrorName() string { return "CdnLoopConfigValidationError" } // Error satisfies the builtin error interface func (e CdnLoopConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCdnLoopConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CdnLoopConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CdnLoopConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/composite/000077500000000000000000000000001454502223200247415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/composite/v3/000077500000000000000000000000001454502223200252715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/composite/v3/composite.pb.go000077500000000000000000000400651454502223200302320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/composite/v3/composite.proto package compositev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // :ref:`Composite filter ` config. The composite filter config // allows delegating filter handling to another filter as determined by matching on the request // headers. This makes it possible to use different filters or filter configurations based on the // incoming request. // // This is intended to be used with // :ref:`ExtensionWithMatcher ` // where a match tree is specified that indicates (via // :ref:`ExecuteFilterAction `) // which filter configuration to create and delegate to. type Composite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Composite) Reset() { *x = Composite{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Composite) String() string { return protoimpl.X.MessageStringOf(x) } func (*Composite) ProtoMessage() {} func (x *Composite) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Composite.ProtoReflect.Descriptor instead. func (*Composite) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescGZIP(), []int{0} } // Configuration for an extension configuration discovery service with name. type DynamicConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the extension configuration. It also serves as a resource name in ExtensionConfigDS. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Configuration source specifier for an extension configuration discovery // service. In case of a failure and without the default configuration, // 500(Internal Server Error) will be returned. ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,2,opt,name=config_discovery,json=configDiscovery,proto3" json:"config_discovery,omitempty"` } func (x *DynamicConfig) Reset() { *x = DynamicConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicConfig) ProtoMessage() {} func (x *DynamicConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicConfig.ProtoReflect.Descriptor instead. func (*DynamicConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescGZIP(), []int{1} } func (x *DynamicConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *DynamicConfig) GetConfigDiscovery() *v3.ExtensionConfigSource { if x != nil { return x.ConfigDiscovery } return nil } // Composite match action (see :ref:`matching docs ` for more info on match actions). // This specifies the filter configuration of the filter that the composite filter should delegate filter interactions to. type ExecuteFilterAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. // Only one of “typed_config“ or “dynamic_config“ can be set. // [#extension-category: envoy.filters.http] TypedConfig *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` // Dynamic configuration of filter obtained via extension configuration discovery // service. // Only one of “typed_config“ or “dynamic_config“ can be set. DynamicConfig *DynamicConfig `protobuf:"bytes,2,opt,name=dynamic_config,json=dynamicConfig,proto3" json:"dynamic_config,omitempty"` } func (x *ExecuteFilterAction) Reset() { *x = ExecuteFilterAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecuteFilterAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecuteFilterAction) ProtoMessage() {} func (x *ExecuteFilterAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExecuteFilterAction.ProtoReflect.Descriptor instead. func (*ExecuteFilterAction) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescGZIP(), []int{2} } func (x *ExecuteFilterAction) GetTypedConfig() *v3.TypedExtensionConfig { if x != nil { return x.TypedConfig } return nil } func (x *ExecuteFilterAction) GetDynamicConfig() *DynamicConfig { if x != nil { return x.DynamicConfig } return nil } var File_envoy_extensions_filters_http_composite_v3_composite_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x22, 0xf0, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d, 0x12, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x0e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0d, 0x12, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescData = file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDesc ) func file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescData) }) return file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDescData } var file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_composite_v3_composite_proto_goTypes = []interface{}{ (*Composite)(nil), // 0: envoy.extensions.filters.http.composite.v3.Composite (*DynamicConfig)(nil), // 1: envoy.extensions.filters.http.composite.v3.DynamicConfig (*ExecuteFilterAction)(nil), // 2: envoy.extensions.filters.http.composite.v3.ExecuteFilterAction (*v3.ExtensionConfigSource)(nil), // 3: envoy.config.core.v3.ExtensionConfigSource (*v3.TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_http_composite_v3_composite_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.http.composite.v3.DynamicConfig.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 4, // 1: envoy.extensions.filters.http.composite.v3.ExecuteFilterAction.typed_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 1, // 2: envoy.extensions.filters.http.composite.v3.ExecuteFilterAction.dynamic_config:type_name -> envoy.extensions.filters.http.composite.v3.DynamicConfig 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_composite_v3_composite_proto_init() } func file_envoy_extensions_filters_http_composite_v3_composite_proto_init() { if File_envoy_extensions_filters_http_composite_v3_composite_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Composite); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteFilterAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_composite_v3_composite_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_composite_v3_composite_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_composite_v3_composite_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_composite_v3_composite_proto = out.File file_envoy_extensions_filters_http_composite_v3_composite_proto_rawDesc = nil file_envoy_extensions_filters_http_composite_v3_composite_proto_goTypes = nil file_envoy_extensions_filters_http_composite_v3_composite_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/composite/v3/composite.pb.validate.go000077500000000000000000000265131454502223200320240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/composite/v3/composite.proto package compositev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Composite with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Composite) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Composite with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CompositeMultiError, or nil // if none found. func (m *Composite) ValidateAll() error { return m.validate(true) } func (m *Composite) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CompositeMultiError(errors) } return nil } // CompositeMultiError is an error wrapping multiple validation errors returned // by Composite.ValidateAll() if the designated constraints aren't met. type CompositeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CompositeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CompositeMultiError) AllErrors() []error { return m } // CompositeValidationError is the validation error returned by // Composite.Validate if the designated constraints aren't met. type CompositeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CompositeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CompositeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CompositeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CompositeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CompositeValidationError) ErrorName() string { return "CompositeValidationError" } // Error satisfies the builtin error interface func (e CompositeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sComposite.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CompositeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CompositeValidationError{} // Validate checks the field values on DynamicConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DynamicConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DynamicConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DynamicConfigMultiError, or // nil if none found. func (m *DynamicConfig) ValidateAll() error { return m.validate(true) } func (m *DynamicConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := DynamicConfigValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigDiscovery()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicConfigValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicConfigValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigDiscovery()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicConfigValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DynamicConfigMultiError(errors) } return nil } // DynamicConfigMultiError is an error wrapping multiple validation errors // returned by DynamicConfig.ValidateAll() if the designated constraints // aren't met. type DynamicConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicConfigMultiError) AllErrors() []error { return m } // DynamicConfigValidationError is the validation error returned by // DynamicConfig.Validate if the designated constraints aren't met. type DynamicConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicConfigValidationError) ErrorName() string { return "DynamicConfigValidationError" } // Error satisfies the builtin error interface func (e DynamicConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicConfigValidationError{} // Validate checks the field values on ExecuteFilterAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ExecuteFilterAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExecuteFilterAction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExecuteFilterActionMultiError, or nil if none found. func (m *ExecuteFilterAction) ValidateAll() error { return m.validate(true) } func (m *ExecuteFilterAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExecuteFilterActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExecuteFilterActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExecuteFilterActionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDynamicConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExecuteFilterActionValidationError{ field: "DynamicConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExecuteFilterActionValidationError{ field: "DynamicConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExecuteFilterActionValidationError{ field: "DynamicConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ExecuteFilterActionMultiError(errors) } return nil } // ExecuteFilterActionMultiError is an error wrapping multiple validation // errors returned by ExecuteFilterAction.ValidateAll() if the designated // constraints aren't met. type ExecuteFilterActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExecuteFilterActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExecuteFilterActionMultiError) AllErrors() []error { return m } // ExecuteFilterActionValidationError is the validation error returned by // ExecuteFilterAction.Validate if the designated constraints aren't met. type ExecuteFilterActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExecuteFilterActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExecuteFilterActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExecuteFilterActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExecuteFilterActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExecuteFilterActionValidationError) ErrorName() string { return "ExecuteFilterActionValidationError" } // Error satisfies the builtin error interface func (e ExecuteFilterActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExecuteFilterAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExecuteFilterActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExecuteFilterActionValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/compressor/000077500000000000000000000000001454502223200251335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/compressor/v3/000077500000000000000000000000001454502223200254635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/compressor/v3/compressor.pb.go000077500000000000000000001276111454502223200306210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/compressor/v3/compressor.proto package compressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 10] type Compressor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum response length, in bytes, which will trigger compression. The default value is 30. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. ContentLength *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // Set of strings that allows specifying which mime-types yield compression; e.g., // application/json, text/html, etc. When this field is not defined, compression will be applied // to the following mime-types: "application/javascript", "application/json", // "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml" // and their synonyms. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. ContentType []string `protobuf:"bytes,2,rep,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // If true, disables compression when the response contains an etag header. When it is false, the // filter will preserve weak etags and remove the ones that require strong validation. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. DisableOnEtagHeader bool `protobuf:"varint,3,opt,name=disable_on_etag_header,json=disableOnEtagHeader,proto3" json:"disable_on_etag_header,omitempty"` // If true, removes accept-encoding from the request headers before dispatching it to the upstream // so that responses do not get compressed before reaching the filter. // // .. attention:: // // To avoid interfering with other compression filters in the same chain use this option in // the filter closest to the upstream. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. RemoveAcceptEncodingHeader bool `protobuf:"varint,4,opt,name=remove_accept_encoding_header,json=removeAcceptEncodingHeader,proto3" json:"remove_accept_encoding_header,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If set to false, the // filter will operate as a pass-through filter, unless overridden by // CompressorPerRoute. If not specified, defaults to enabled. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. RuntimeEnabled *v3.RuntimeFeatureFlag `protobuf:"bytes,5,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` // A compressor library to use for compression. Currently only // :ref:`envoy.compression.gzip.compressor` // is included in Envoy. // [#extension-category: envoy.compression.compressor] CompressorLibrary *v3.TypedExtensionConfig `protobuf:"bytes,6,opt,name=compressor_library,json=compressorLibrary,proto3" json:"compressor_library,omitempty"` // Configuration for request compression. Compression is disabled by default if left empty. RequestDirectionConfig *Compressor_RequestDirectionConfig `protobuf:"bytes,7,opt,name=request_direction_config,json=requestDirectionConfig,proto3" json:"request_direction_config,omitempty"` // Configuration for response compression. Compression is enabled by default if left empty. // // .. attention:: // // If the field is not empty then the duplicate deprecated fields of the ``Compressor`` message, // such as ``content_length``, ``content_type``, ``disable_on_etag_header``, // ``remove_accept_encoding_header`` and ``runtime_enabled``, are ignored. // // Also all the statistics related to response compression will be rooted in // ``.compressor...response.*`` // instead of // ``.compressor...*``. ResponseDirectionConfig *Compressor_ResponseDirectionConfig `protobuf:"bytes,8,opt,name=response_direction_config,json=responseDirectionConfig,proto3" json:"response_direction_config,omitempty"` // If true, chooses this compressor first to do compression when the q-values in “Accept-Encoding“ are same. // The last compressor which enables choose_first will be chosen if multiple compressor filters in the chain have choose_first as true. ChooseFirst bool `protobuf:"varint,9,opt,name=choose_first,json=chooseFirst,proto3" json:"choose_first,omitempty"` } func (x *Compressor) Reset() { *x = Compressor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Compressor) String() string { return protoimpl.X.MessageStringOf(x) } func (*Compressor) ProtoMessage() {} func (x *Compressor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Compressor.ProtoReflect.Descriptor instead. func (*Compressor) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. func (x *Compressor) GetContentLength() *wrappers.UInt32Value { if x != nil { return x.ContentLength } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. func (x *Compressor) GetContentType() []string { if x != nil { return x.ContentType } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. func (x *Compressor) GetDisableOnEtagHeader() bool { if x != nil { return x.DisableOnEtagHeader } return false } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. func (x *Compressor) GetRemoveAcceptEncodingHeader() bool { if x != nil { return x.RemoveAcceptEncodingHeader } return false } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/compressor/v3/compressor.proto. func (x *Compressor) GetRuntimeEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } func (x *Compressor) GetCompressorLibrary() *v3.TypedExtensionConfig { if x != nil { return x.CompressorLibrary } return nil } func (x *Compressor) GetRequestDirectionConfig() *Compressor_RequestDirectionConfig { if x != nil { return x.RequestDirectionConfig } return nil } func (x *Compressor) GetResponseDirectionConfig() *Compressor_ResponseDirectionConfig { if x != nil { return x.ResponseDirectionConfig } return nil } func (x *Compressor) GetChooseFirst() bool { if x != nil { return x.ChooseFirst } return false } // Per-route overrides of “ResponseDirectionConfig“. Anything added here should be optional, // to allow overriding arbitrary subsets of configuration. Omitted fields must have no effect. type ResponseDirectionOverrides struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, overrides the filter-level // :ref:`remove_accept_encoding_header`. RemoveAcceptEncodingHeader *wrappers.BoolValue `protobuf:"bytes,1,opt,name=remove_accept_encoding_header,json=removeAcceptEncodingHeader,proto3" json:"remove_accept_encoding_header,omitempty"` } func (x *ResponseDirectionOverrides) Reset() { *x = ResponseDirectionOverrides{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseDirectionOverrides) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseDirectionOverrides) ProtoMessage() {} func (x *ResponseDirectionOverrides) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseDirectionOverrides.ProtoReflect.Descriptor instead. func (*ResponseDirectionOverrides) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{1} } func (x *ResponseDirectionOverrides) GetRemoveAcceptEncodingHeader() *wrappers.BoolValue { if x != nil { return x.RemoveAcceptEncodingHeader } return nil } // Per-route overrides. As per-route overrides are needed, they should be // added here, mirroring the structure of “Compressor“. All fields should be // optional, to allow overriding arbitrary subsets of configuration. type CompressorOverrides struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If present, response compression is enabled. ResponseDirectionConfig *ResponseDirectionOverrides `protobuf:"bytes,1,opt,name=response_direction_config,json=responseDirectionConfig,proto3" json:"response_direction_config,omitempty"` } func (x *CompressorOverrides) Reset() { *x = CompressorOverrides{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CompressorOverrides) String() string { return protoimpl.X.MessageStringOf(x) } func (*CompressorOverrides) ProtoMessage() {} func (x *CompressorOverrides) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CompressorOverrides.ProtoReflect.Descriptor instead. func (*CompressorOverrides) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{2} } func (x *CompressorOverrides) GetResponseDirectionConfig() *ResponseDirectionOverrides { if x != nil { return x.ResponseDirectionConfig } return nil } type CompressorPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *CompressorPerRoute_Disabled // *CompressorPerRoute_Overrides Override isCompressorPerRoute_Override `protobuf_oneof:"override"` } func (x *CompressorPerRoute) Reset() { *x = CompressorPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CompressorPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*CompressorPerRoute) ProtoMessage() {} func (x *CompressorPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CompressorPerRoute.ProtoReflect.Descriptor instead. func (*CompressorPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{3} } func (m *CompressorPerRoute) GetOverride() isCompressorPerRoute_Override { if m != nil { return m.Override } return nil } func (x *CompressorPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*CompressorPerRoute_Disabled); ok { return x.Disabled } return false } func (x *CompressorPerRoute) GetOverrides() *CompressorOverrides { if x, ok := x.GetOverride().(*CompressorPerRoute_Overrides); ok { return x.Overrides } return nil } type isCompressorPerRoute_Override interface { isCompressorPerRoute_Override() } type CompressorPerRoute_Disabled struct { // If set, the filter will operate as a pass-through filter. // Overrides Compressor.runtime_enabled and CommonDirectionConfig.enabled. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type CompressorPerRoute_Overrides struct { // Per-route overrides. Fields set here will override corresponding fields in “Compressor“. Overrides *CompressorOverrides `protobuf:"bytes,2,opt,name=overrides,proto3,oneof"` } func (*CompressorPerRoute_Disabled) isCompressorPerRoute_Override() {} func (*CompressorPerRoute_Overrides) isCompressorPerRoute_Override() {} type Compressor_CommonDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime flag that controls whether compression is enabled or not for the direction this // common config is put in. If set to false, the filter will operate as a pass-through filter // in the chosen direction, unless overridden by CompressorPerRoute. // If the field is omitted, the filter will be enabled. Enabled *v3.RuntimeFeatureFlag `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Minimum value of Content-Length header of request or response messages (depending on the direction // this common config is put in), in bytes, which will trigger compression. The default value is 30. MinContentLength *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=min_content_length,json=minContentLength,proto3" json:"min_content_length,omitempty"` // Set of strings that allows specifying which mime-types yield compression; e.g., // application/json, text/html, etc. When this field is not defined, compression will be applied // to the following mime-types: "application/javascript", "application/json", // "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml" // and their synonyms. ContentType []string `protobuf:"bytes,3,rep,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` } func (x *Compressor_CommonDirectionConfig) Reset() { *x = Compressor_CommonDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Compressor_CommonDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Compressor_CommonDirectionConfig) ProtoMessage() {} func (x *Compressor_CommonDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Compressor_CommonDirectionConfig.ProtoReflect.Descriptor instead. func (*Compressor_CommonDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{0, 0} } func (x *Compressor_CommonDirectionConfig) GetEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } func (x *Compressor_CommonDirectionConfig) GetMinContentLength() *wrappers.UInt32Value { if x != nil { return x.MinContentLength } return nil } func (x *Compressor_CommonDirectionConfig) GetContentType() []string { if x != nil { return x.ContentType } return nil } // Configuration for filter behavior on the request direction. type Compressor_RequestDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *Compressor_CommonDirectionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` } func (x *Compressor_RequestDirectionConfig) Reset() { *x = Compressor_RequestDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Compressor_RequestDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Compressor_RequestDirectionConfig) ProtoMessage() {} func (x *Compressor_RequestDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Compressor_RequestDirectionConfig.ProtoReflect.Descriptor instead. func (*Compressor_RequestDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{0, 1} } func (x *Compressor_RequestDirectionConfig) GetCommonConfig() *Compressor_CommonDirectionConfig { if x != nil { return x.CommonConfig } return nil } // Configuration for filter behavior on the response direction. type Compressor_ResponseDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *Compressor_CommonDirectionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // If true, disables compression when the response contains an etag header. When it is false, the // filter will preserve weak etags and remove the ones that require strong validation. DisableOnEtagHeader bool `protobuf:"varint,2,opt,name=disable_on_etag_header,json=disableOnEtagHeader,proto3" json:"disable_on_etag_header,omitempty"` // If true, removes accept-encoding from the request headers before dispatching it to the upstream // so that responses do not get compressed before reaching the filter. // // .. attention:: // // To avoid interfering with other compression filters in the same chain use this option in // the filter closest to the upstream. RemoveAcceptEncodingHeader bool `protobuf:"varint,3,opt,name=remove_accept_encoding_header,json=removeAcceptEncodingHeader,proto3" json:"remove_accept_encoding_header,omitempty"` } func (x *Compressor_ResponseDirectionConfig) Reset() { *x = Compressor_ResponseDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Compressor_ResponseDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Compressor_ResponseDirectionConfig) ProtoMessage() {} func (x *Compressor_ResponseDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Compressor_ResponseDirectionConfig.ProtoReflect.Descriptor instead. func (*Compressor_ResponseDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP(), []int{0, 2} } func (x *Compressor_ResponseDirectionConfig) GetCommonConfig() *Compressor_CommonDirectionConfig { if x != nil { return x.CommonConfig } return nil } func (x *Compressor_ResponseDirectionConfig) GetDisableOnEtagHeader() bool { if x != nil { return x.DisableOnEtagHeader } return false } func (x *Compressor_ResponseDirectionConfig) GetRemoveAcceptEncodingHeader() bool { if x != nil { return x.RemoveAcceptEncodingHeader } return false } var File_envoy_extensions_filters_http_compressor_v3_compressor_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x0b, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x45, 0x74, 0x61, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x88, 0x01, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x1a, 0xca, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x8c, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x85, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x45, 0x74, 0x61, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x22, 0x7b, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xb7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescData = file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDesc ) func file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescData) }) return file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDescData } var file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_extensions_filters_http_compressor_v3_compressor_proto_goTypes = []interface{}{ (*Compressor)(nil), // 0: envoy.extensions.filters.http.compressor.v3.Compressor (*ResponseDirectionOverrides)(nil), // 1: envoy.extensions.filters.http.compressor.v3.ResponseDirectionOverrides (*CompressorOverrides)(nil), // 2: envoy.extensions.filters.http.compressor.v3.CompressorOverrides (*CompressorPerRoute)(nil), // 3: envoy.extensions.filters.http.compressor.v3.CompressorPerRoute (*Compressor_CommonDirectionConfig)(nil), // 4: envoy.extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig (*Compressor_RequestDirectionConfig)(nil), // 5: envoy.extensions.filters.http.compressor.v3.Compressor.RequestDirectionConfig (*Compressor_ResponseDirectionConfig)(nil), // 6: envoy.extensions.filters.http.compressor.v3.Compressor.ResponseDirectionConfig (*wrappers.UInt32Value)(nil), // 7: google.protobuf.UInt32Value (*v3.RuntimeFeatureFlag)(nil), // 8: envoy.config.core.v3.RuntimeFeatureFlag (*v3.TypedExtensionConfig)(nil), // 9: envoy.config.core.v3.TypedExtensionConfig (*wrappers.BoolValue)(nil), // 10: google.protobuf.BoolValue } var file_envoy_extensions_filters_http_compressor_v3_compressor_proto_depIdxs = []int32{ 7, // 0: envoy.extensions.filters.http.compressor.v3.Compressor.content_length:type_name -> google.protobuf.UInt32Value 8, // 1: envoy.extensions.filters.http.compressor.v3.Compressor.runtime_enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 9, // 2: envoy.extensions.filters.http.compressor.v3.Compressor.compressor_library:type_name -> envoy.config.core.v3.TypedExtensionConfig 5, // 3: envoy.extensions.filters.http.compressor.v3.Compressor.request_direction_config:type_name -> envoy.extensions.filters.http.compressor.v3.Compressor.RequestDirectionConfig 6, // 4: envoy.extensions.filters.http.compressor.v3.Compressor.response_direction_config:type_name -> envoy.extensions.filters.http.compressor.v3.Compressor.ResponseDirectionConfig 10, // 5: envoy.extensions.filters.http.compressor.v3.ResponseDirectionOverrides.remove_accept_encoding_header:type_name -> google.protobuf.BoolValue 1, // 6: envoy.extensions.filters.http.compressor.v3.CompressorOverrides.response_direction_config:type_name -> envoy.extensions.filters.http.compressor.v3.ResponseDirectionOverrides 2, // 7: envoy.extensions.filters.http.compressor.v3.CompressorPerRoute.overrides:type_name -> envoy.extensions.filters.http.compressor.v3.CompressorOverrides 8, // 8: envoy.extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig.enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 7, // 9: envoy.extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig.min_content_length:type_name -> google.protobuf.UInt32Value 4, // 10: envoy.extensions.filters.http.compressor.v3.Compressor.RequestDirectionConfig.common_config:type_name -> envoy.extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig 4, // 11: envoy.extensions.filters.http.compressor.v3.Compressor.ResponseDirectionConfig.common_config:type_name -> envoy.extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_compressor_v3_compressor_proto_init() } func file_envoy_extensions_filters_http_compressor_v3_compressor_proto_init() { if File_envoy_extensions_filters_http_compressor_v3_compressor_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Compressor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseDirectionOverrides); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompressorOverrides); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompressorPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Compressor_CommonDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Compressor_RequestDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Compressor_ResponseDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CompressorPerRoute_Disabled)(nil), (*CompressorPerRoute_Overrides)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_compressor_v3_compressor_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_compressor_v3_compressor_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_compressor_v3_compressor_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_compressor_v3_compressor_proto = out.File file_envoy_extensions_filters_http_compressor_v3_compressor_proto_rawDesc = nil file_envoy_extensions_filters_http_compressor_v3_compressor_proto_goTypes = nil file_envoy_extensions_filters_http_compressor_v3_compressor_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/compressor/v3/compressor.pb.validate.go000077500000000000000000001020741454502223200324050ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/compressor/v3/compressor.proto package compressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Compressor with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Compressor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Compressor with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CompressorMultiError, or // nil if none found. func (m *Compressor) ValidateAll() error { return m.validate(true) } func (m *Compressor) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetContentLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetContentLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "ContentLength", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableOnEtagHeader // no validation rules for RemoveAcceptEncodingHeader if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } if m.GetCompressorLibrary() == nil { err := CompressorValidationError{ field: "CompressorLibrary", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCompressorLibrary()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "CompressorLibrary", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "CompressorLibrary", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCompressorLibrary()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "CompressorLibrary", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestDirectionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestDirectionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponseDirectionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseDirectionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ChooseFirst if len(errors) > 0 { return CompressorMultiError(errors) } return nil } // CompressorMultiError is an error wrapping multiple validation errors // returned by Compressor.ValidateAll() if the designated constraints aren't met. type CompressorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CompressorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CompressorMultiError) AllErrors() []error { return m } // CompressorValidationError is the validation error returned by // Compressor.Validate if the designated constraints aren't met. type CompressorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CompressorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CompressorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CompressorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CompressorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CompressorValidationError) ErrorName() string { return "CompressorValidationError" } // Error satisfies the builtin error interface func (e CompressorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CompressorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CompressorValidationError{} // Validate checks the field values on ResponseDirectionOverrides with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ResponseDirectionOverrides) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseDirectionOverrides with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResponseDirectionOverridesMultiError, or nil if none found. func (m *ResponseDirectionOverrides) ValidateAll() error { return m.validate(true) } func (m *ResponseDirectionOverrides) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRemoveAcceptEncodingHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseDirectionOverridesValidationError{ field: "RemoveAcceptEncodingHeader", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseDirectionOverridesValidationError{ field: "RemoveAcceptEncodingHeader", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoveAcceptEncodingHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseDirectionOverridesValidationError{ field: "RemoveAcceptEncodingHeader", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ResponseDirectionOverridesMultiError(errors) } return nil } // ResponseDirectionOverridesMultiError is an error wrapping multiple // validation errors returned by ResponseDirectionOverrides.ValidateAll() if // the designated constraints aren't met. type ResponseDirectionOverridesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseDirectionOverridesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseDirectionOverridesMultiError) AllErrors() []error { return m } // ResponseDirectionOverridesValidationError is the validation error returned // by ResponseDirectionOverrides.Validate if the designated constraints aren't met. type ResponseDirectionOverridesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseDirectionOverridesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseDirectionOverridesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseDirectionOverridesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseDirectionOverridesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseDirectionOverridesValidationError) ErrorName() string { return "ResponseDirectionOverridesValidationError" } // Error satisfies the builtin error interface func (e ResponseDirectionOverridesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseDirectionOverrides.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseDirectionOverridesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseDirectionOverridesValidationError{} // Validate checks the field values on CompressorOverrides with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CompressorOverrides) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CompressorOverrides with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CompressorOverridesMultiError, or nil if none found. func (m *CompressorOverrides) ValidateAll() error { return m.validate(true) } func (m *CompressorOverrides) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponseDirectionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorOverridesValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorOverridesValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseDirectionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorOverridesValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CompressorOverridesMultiError(errors) } return nil } // CompressorOverridesMultiError is an error wrapping multiple validation // errors returned by CompressorOverrides.ValidateAll() if the designated // constraints aren't met. type CompressorOverridesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CompressorOverridesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CompressorOverridesMultiError) AllErrors() []error { return m } // CompressorOverridesValidationError is the validation error returned by // CompressorOverrides.Validate if the designated constraints aren't met. type CompressorOverridesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CompressorOverridesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CompressorOverridesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CompressorOverridesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CompressorOverridesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CompressorOverridesValidationError) ErrorName() string { return "CompressorOverridesValidationError" } // Error satisfies the builtin error interface func (e CompressorOverridesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressorOverrides.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CompressorOverridesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CompressorOverridesValidationError{} // Validate checks the field values on CompressorPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CompressorPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CompressorPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CompressorPerRouteMultiError, or nil if none found. func (m *CompressorPerRoute) ValidateAll() error { return m.validate(true) } func (m *CompressorPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *CompressorPerRoute_Disabled: if v == nil { err := CompressorPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := CompressorPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *CompressorPerRoute_Overrides: if v == nil { err := CompressorPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if all { switch v := interface{}(m.GetOverrides()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CompressorPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CompressorPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrides()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CompressorPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := CompressorPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CompressorPerRouteMultiError(errors) } return nil } // CompressorPerRouteMultiError is an error wrapping multiple validation errors // returned by CompressorPerRoute.ValidateAll() if the designated constraints // aren't met. type CompressorPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CompressorPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CompressorPerRouteMultiError) AllErrors() []error { return m } // CompressorPerRouteValidationError is the validation error returned by // CompressorPerRoute.Validate if the designated constraints aren't met. type CompressorPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CompressorPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CompressorPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CompressorPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CompressorPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CompressorPerRouteValidationError) ErrorName() string { return "CompressorPerRouteValidationError" } // Error satisfies the builtin error interface func (e CompressorPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressorPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CompressorPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CompressorPerRouteValidationError{} // Validate checks the field values on Compressor_CommonDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Compressor_CommonDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Compressor_CommonDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Compressor_CommonDirectionConfigMultiError, or nil if none found. func (m *Compressor_CommonDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Compressor_CommonDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Compressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Compressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Compressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinContentLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Compressor_CommonDirectionConfigValidationError{ field: "MinContentLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Compressor_CommonDirectionConfigValidationError{ field: "MinContentLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinContentLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Compressor_CommonDirectionConfigValidationError{ field: "MinContentLength", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Compressor_CommonDirectionConfigMultiError(errors) } return nil } // Compressor_CommonDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Compressor_CommonDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Compressor_CommonDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Compressor_CommonDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Compressor_CommonDirectionConfigMultiError) AllErrors() []error { return m } // Compressor_CommonDirectionConfigValidationError is the validation error // returned by Compressor_CommonDirectionConfig.Validate if the designated // constraints aren't met. type Compressor_CommonDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Compressor_CommonDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Compressor_CommonDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Compressor_CommonDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Compressor_CommonDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Compressor_CommonDirectionConfigValidationError) ErrorName() string { return "Compressor_CommonDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Compressor_CommonDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressor_CommonDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Compressor_CommonDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Compressor_CommonDirectionConfigValidationError{} // Validate checks the field values on Compressor_RequestDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Compressor_RequestDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Compressor_RequestDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Compressor_RequestDirectionConfigMultiError, or nil if none found. func (m *Compressor_RequestDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Compressor_RequestDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Compressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Compressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Compressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Compressor_RequestDirectionConfigMultiError(errors) } return nil } // Compressor_RequestDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Compressor_RequestDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Compressor_RequestDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Compressor_RequestDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Compressor_RequestDirectionConfigMultiError) AllErrors() []error { return m } // Compressor_RequestDirectionConfigValidationError is the validation error // returned by Compressor_RequestDirectionConfig.Validate if the designated // constraints aren't met. type Compressor_RequestDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Compressor_RequestDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Compressor_RequestDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Compressor_RequestDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Compressor_RequestDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Compressor_RequestDirectionConfigValidationError) ErrorName() string { return "Compressor_RequestDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Compressor_RequestDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressor_RequestDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Compressor_RequestDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Compressor_RequestDirectionConfigValidationError{} // Validate checks the field values on Compressor_ResponseDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Compressor_ResponseDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Compressor_ResponseDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Compressor_ResponseDirectionConfigMultiError, or nil if none found. func (m *Compressor_ResponseDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Compressor_ResponseDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Compressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Compressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Compressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableOnEtagHeader // no validation rules for RemoveAcceptEncodingHeader if len(errors) > 0 { return Compressor_ResponseDirectionConfigMultiError(errors) } return nil } // Compressor_ResponseDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Compressor_ResponseDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Compressor_ResponseDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Compressor_ResponseDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Compressor_ResponseDirectionConfigMultiError) AllErrors() []error { return m } // Compressor_ResponseDirectionConfigValidationError is the validation error // returned by Compressor_ResponseDirectionConfig.Validate if the designated // constraints aren't met. type Compressor_ResponseDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Compressor_ResponseDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Compressor_ResponseDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Compressor_ResponseDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Compressor_ResponseDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Compressor_ResponseDirectionConfigValidationError) ErrorName() string { return "Compressor_ResponseDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Compressor_ResponseDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCompressor_ResponseDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Compressor_ResponseDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Compressor_ResponseDirectionConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/connect_grpc_bridge/000077500000000000000000000000001454502223200267175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/connect_grpc_bridge/v3/000077500000000000000000000000001454502223200272475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/connect_grpc_bridge/v3/config.pb.go000077500000000000000000000170271454502223200314550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/connect_grpc_bridge/v3/config.proto package connect_grpc_bridgev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Connect RPC to gRPC bridge filter configuration type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig } var file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_init() } func file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_init() { if File_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto = out.File file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_connect_grpc_bridge_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/connect_grpc_bridge/v3/config.pb.validate.go000077500000000000000000000063441454502223200332450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/connect_grpc_bridge/v3/config.proto package connect_grpc_bridgev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/cors/000077500000000000000000000000001454502223200237055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cors/v3/000077500000000000000000000000001454502223200242355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/cors/v3/cors.pb.go000077500000000000000000000433751454502223200261510ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/cors/v3/cors.proto package corsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Cors filter config. Set this in // ref:`http_filters ` // to enable the CORS filter. // // Please note that the :ref:`CorsPolicy ` // must be configured in the “RouteConfiguration“ as “typed_per_filter_config“ at some level to make the filter work. type Cors struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Cors) Reset() { *x = Cors{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cors) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cors) ProtoMessage() {} func (x *Cors) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cors.ProtoReflect.Descriptor instead. func (*Cors) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescGZIP(), []int{0} } // Per route configuration for the CORS filter. This configuration should be configured in the “RouteConfiguration“ as “typed_per_filter_config“ at some level to // make the filter work. // [#next-free-field: 10] type CorsPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies string patterns that match allowed origins. An origin is allowed if any of the // string matchers match. AllowOriginStringMatch []*v3.StringMatcher `protobuf:"bytes,1,rep,name=allow_origin_string_match,json=allowOriginStringMatch,proto3" json:"allow_origin_string_match,omitempty"` // Specifies the content for the “access-control-allow-methods“ header. AllowMethods string `protobuf:"bytes,2,opt,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` // Specifies the content for the “access-control-allow-headers“ header. AllowHeaders string `protobuf:"bytes,3,opt,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` // Specifies the content for the “access-control-expose-headers“ header. ExposeHeaders string `protobuf:"bytes,4,opt,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` // Specifies the content for the “access-control-max-age“ header. MaxAge string `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` // Specifies whether the resource allows credentials. AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` // Specifies the % of requests for which the CORS filter is enabled. // // If neither “filter_enabled“, nor “shadow_enabled“ are specified, the CORS // filter will be enabled for 100% of the requests. // // If :ref:`runtime_key ` is // specified, Envoy will lookup the runtime key to get the percentage of requests to filter. FilterEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,7,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not // enforced. // // This field is intended to be used when “filter_enabled“ is off. That field have to explicitly disable // the filter in order for this setting to take effect. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate // and track the request's “Origin“ to determine if it's valid but will not enforce any policies. ShadowEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,8,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` // Specify whether allow requests whose target server's IP address is more private than that from // which the request initiator was fetched. // // More details refer to https://developer.chrome.com/blog/private-network-access-preflight. AllowPrivateNetworkAccess *wrappers.BoolValue `protobuf:"bytes,9,opt,name=allow_private_network_access,json=allowPrivateNetworkAccess,proto3" json:"allow_private_network_access,omitempty"` } func (x *CorsPolicy) Reset() { *x = CorsPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CorsPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CorsPolicy) ProtoMessage() {} func (x *CorsPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead. func (*CorsPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescGZIP(), []int{1} } func (x *CorsPolicy) GetAllowOriginStringMatch() []*v3.StringMatcher { if x != nil { return x.AllowOriginStringMatch } return nil } func (x *CorsPolicy) GetAllowMethods() string { if x != nil { return x.AllowMethods } return "" } func (x *CorsPolicy) GetAllowHeaders() string { if x != nil { return x.AllowHeaders } return "" } func (x *CorsPolicy) GetExposeHeaders() string { if x != nil { return x.ExposeHeaders } return "" } func (x *CorsPolicy) GetMaxAge() string { if x != nil { return x.MaxAge } return "" } func (x *CorsPolicy) GetAllowCredentials() *wrappers.BoolValue { if x != nil { return x.AllowCredentials } return nil } func (x *CorsPolicy) GetFilterEnabled() *v31.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *CorsPolicy) GetShadowEnabled() *v31.RuntimeFractionalPercent { if x != nil { return x.ShadowEnabled } return nil } func (x *CorsPolicy) GetAllowPrivateNetworkAccess() *wrappers.BoolValue { if x != nil { return x.AllowPrivateNetworkAccess } return nil } var File_envoy_extensions_filters_http_cors_v3_cors_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x22, 0xcb, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5f, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x72, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescData = file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDesc ) func file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescData) }) return file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDescData } var file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_cors_v3_cors_proto_goTypes = []interface{}{ (*Cors)(nil), // 0: envoy.extensions.filters.http.cors.v3.Cors (*CorsPolicy)(nil), // 1: envoy.extensions.filters.http.cors.v3.CorsPolicy (*v3.StringMatcher)(nil), // 2: envoy.type.matcher.v3.StringMatcher (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue (*v31.RuntimeFractionalPercent)(nil), // 4: envoy.config.core.v3.RuntimeFractionalPercent } var file_envoy_extensions_filters_http_cors_v3_cors_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.cors.v3.CorsPolicy.allow_origin_string_match:type_name -> envoy.type.matcher.v3.StringMatcher 3, // 1: envoy.extensions.filters.http.cors.v3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue 4, // 2: envoy.extensions.filters.http.cors.v3.CorsPolicy.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 4, // 3: envoy.extensions.filters.http.cors.v3.CorsPolicy.shadow_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 3, // 4: envoy.extensions.filters.http.cors.v3.CorsPolicy.allow_private_network_access:type_name -> google.protobuf.BoolValue 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_cors_v3_cors_proto_init() } func file_envoy_extensions_filters_http_cors_v3_cors_proto_init() { if File_envoy_extensions_filters_http_cors_v3_cors_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cors); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CorsPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_cors_v3_cors_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_cors_v3_cors_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_cors_v3_cors_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_cors_v3_cors_proto = out.File file_envoy_extensions_filters_http_cors_v3_cors_proto_rawDesc = nil file_envoy_extensions_filters_http_cors_v3_cors_proto_goTypes = nil file_envoy_extensions_filters_http_cors_v3_cors_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/cors/v3/cors.pb.validate.go000077500000000000000000000241131454502223200277260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/cors/v3/cors.proto package corsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Cors with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Cors) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cors with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in CorsMultiError, or nil if none found. func (m *Cors) ValidateAll() error { return m.validate(true) } func (m *Cors) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CorsMultiError(errors) } return nil } // CorsMultiError is an error wrapping multiple validation errors returned by // Cors.ValidateAll() if the designated constraints aren't met. type CorsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CorsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CorsMultiError) AllErrors() []error { return m } // CorsValidationError is the validation error returned by Cors.Validate if the // designated constraints aren't met. type CorsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CorsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CorsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CorsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CorsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CorsValidationError) ErrorName() string { return "CorsValidationError" } // Error satisfies the builtin error interface func (e CorsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCors.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CorsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CorsValidationError{} // Validate checks the field values on CorsPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CorsPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CorsPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CorsPolicyMultiError, or // nil if none found. func (m *CorsPolicy) ValidateAll() error { return m.validate(true) } func (m *CorsPolicy) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAllowOriginStringMatch() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: fmt.Sprintf("AllowOriginStringMatch[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowMethods // no validation rules for AllowHeaders // no validation rules for ExposeHeaders // no validation rules for MaxAge if all { switch v := interface{}(m.GetAllowCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "AllowCredentials", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowPrivateNetworkAccess()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowPrivateNetworkAccess()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CorsPolicyValidationError{ field: "AllowPrivateNetworkAccess", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CorsPolicyMultiError(errors) } return nil } // CorsPolicyMultiError is an error wrapping multiple validation errors // returned by CorsPolicy.ValidateAll() if the designated constraints aren't met. type CorsPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CorsPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CorsPolicyMultiError) AllErrors() []error { return m } // CorsPolicyValidationError is the validation error returned by // CorsPolicy.Validate if the designated constraints aren't met. type CorsPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CorsPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CorsPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CorsPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CorsPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CorsPolicyValidationError) ErrorName() string { return "CorsPolicyValidationError" } // Error satisfies the builtin error interface func (e CorsPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCorsPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CorsPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CorsPolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/credential_injector/000077500000000000000000000000001454502223200267465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/credential_injector/v3/000077500000000000000000000000001454502223200272765ustar00rootroot00000000000000credential_injector.pb.go000077500000000000000000000316311454502223200341640ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/credential_injector/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/credential_injector/v3/credential_injector.proto package credential_injectorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Credential Injector injects credentials into outgoing HTTP requests. The filter configuration is used to retrieve the credentials, or // they can be requested through the OAuth2 client credential grant. The credentials obtained are then injected into the Authorization header // of the proxied HTTP requests, utilizing either the Basic or Bearer scheme. // // If the credential is not present, the request will fail with 401 Unauthorized if fail_if_not_present is set to true. // // Notice: This filter is intended to be used for workload authentication, which means that the identity associated with the inserted credential // is considered as the identity of the workload behind the envoy proxy(in this case, envoy is typically deployed as a sidecar alongside that // workload). Please note that this filter does not handle end user authentication. Its purpose is solely to authenticate the workload itself. // // Here is an example of CredentialInjector configuration with Generic credential, which injects an HTTP Basic Auth credential into the proxied requests. // // .. code-block:: yaml // // overwrite: true // fail_if_not_present: true // credential: // name: generic_credential // typed_config: // "@type": type.googleapis.com/envoy.extensions.injected_credentials.generic.v3.Generic // credential: // name: credential // sds_config: // path_config_source: // path: credential.yaml // header: Authorization // // credential.yaml for Basic Auth: // // .. code-block:: yaml // // resources: // - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret" // name: credential // generic_secret: // secret: // inline_string: "Basic base64EncodedUsernamePassword" // // It can also be configured to inject a Bearer token into the proxied requests. // credential.yaml for Bearer Token: // // .. code-block:: yaml // // resources: // - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret" // name: credential // generic_secret: // secret: // inline_string: "Bearer myToken" type CredentialInjector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to overwrite the value or not if the injected headers already exist. // Value defaults to false. Overwrite bool `protobuf:"varint,1,opt,name=overwrite,proto3" json:"overwrite,omitempty"` // Whether to fail the request if the credential is not present. // Value defaults to false. // If set to true, the request will fail with 401 Unauthorized if the credential is not present. FailIfNotPresent bool `protobuf:"varint,2,opt,name=fail_if_not_present,json=failIfNotPresent,proto3" json:"fail_if_not_present,omitempty"` // The credential to inject into the proxied requests // TODO add extension-category Credential *v3.TypedExtensionConfig `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"` } func (x *CredentialInjector) Reset() { *x = CredentialInjector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CredentialInjector) String() string { return protoimpl.X.MessageStringOf(x) } func (*CredentialInjector) ProtoMessage() {} func (x *CredentialInjector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CredentialInjector.ProtoReflect.Descriptor instead. func (*CredentialInjector) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescGZIP(), []int{0} } func (x *CredentialInjector) GetOverwrite() bool { if x != nil { return x.Overwrite } return false } func (x *CredentialInjector) GetFailIfNotPresent() bool { if x != nil { return x.FailIfNotPresent } return false } func (x *CredentialInjector) GetCredential() *v3.TypedExtensionConfig { if x != nil { return x.Credential } return nil } var File_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0xe2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescData = file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDesc ) func file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescData) }) return file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDescData } var file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_goTypes = []interface{}{ (*CredentialInjector)(nil), // 0: envoy.extensions.filters.http.credential_injector.v3.CredentialInjector (*v3.TypedExtensionConfig)(nil), // 1: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.credential_injector.v3.CredentialInjector.credential:type_name -> envoy.config.core.v3.TypedExtensionConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_init() } func file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_init() { if File_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CredentialInjector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto = out.File file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_rawDesc = nil file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_goTypes = nil file_envoy_extensions_filters_http_credential_injector_v3_credential_injector_proto_depIdxs = nil } credential_injector.pb.validate.go000077500000000000000000000107741454502223200357610ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/credential_injector/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/credential_injector/v3/credential_injector.proto package credential_injectorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CredentialInjector with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CredentialInjector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CredentialInjector with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CredentialInjectorMultiError, or nil if none found. func (m *CredentialInjector) ValidateAll() error { return m.validate(true) } func (m *CredentialInjector) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Overwrite // no validation rules for FailIfNotPresent if m.GetCredential() == nil { err := CredentialInjectorValidationError{ field: "Credential", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCredential()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CredentialInjectorValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CredentialInjectorValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCredential()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CredentialInjectorValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CredentialInjectorMultiError(errors) } return nil } // CredentialInjectorMultiError is an error wrapping multiple validation errors // returned by CredentialInjector.ValidateAll() if the designated constraints // aren't met. type CredentialInjectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CredentialInjectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CredentialInjectorMultiError) AllErrors() []error { return m } // CredentialInjectorValidationError is the validation error returned by // CredentialInjector.Validate if the designated constraints aren't met. type CredentialInjectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CredentialInjectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CredentialInjectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CredentialInjectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CredentialInjectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CredentialInjectorValidationError) ErrorName() string { return "CredentialInjectorValidationError" } // Error satisfies the builtin error interface func (e CredentialInjectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCredentialInjector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CredentialInjectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CredentialInjectorValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/csrf/000077500000000000000000000000001454502223200236745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/csrf/v3/000077500000000000000000000000001454502223200242245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/csrf/v3/csrf.pb.go000077500000000000000000000271001454502223200261130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/csrf/v3/csrf.proto package csrfv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // CSRF filter config. type CsrfPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the % of requests for which the CSRF filter is enabled. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests to filter. // // .. note:: // // This field defaults to 100/:ref:`HUNDRED // `. FilterEnabled *v3.RuntimeFractionalPercent `protobuf:"bytes,1,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // Specifies that CSRF policies will be evaluated and tracked, but not enforced. // // This is intended to be used when “filter_enabled“ is off and will be ignored otherwise. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate // and track the request's “Origin“ and “Destination“ to determine if it's valid, but will not // enforce any policies. ShadowEnabled *v3.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` // Specifies additional source origins that will be allowed in addition to // the destination origin. // // More information on how this can be configured via runtime can be found // :ref:`here `. AdditionalOrigins []*v31.StringMatcher `protobuf:"bytes,3,rep,name=additional_origins,json=additionalOrigins,proto3" json:"additional_origins,omitempty"` } func (x *CsrfPolicy) Reset() { *x = CsrfPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_csrf_v3_csrf_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CsrfPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CsrfPolicy) ProtoMessage() {} func (x *CsrfPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_csrf_v3_csrf_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CsrfPolicy.ProtoReflect.Descriptor instead. func (*CsrfPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescGZIP(), []int{0} } func (x *CsrfPolicy) GetFilterEnabled() *v3.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *CsrfPolicy) GetShadowEnabled() *v3.RuntimeFractionalPercent { if x != nil { return x.ShadowEnabled } return nil } func (x *CsrfPolicy) GetAdditionalOrigins() []*v31.StringMatcher { if x != nil { return x.AdditionalOrigins } return nil } var File_envoy_extensions_filters_http_csrf_v3_csrf_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x02, 0x0a, 0x0a, 0x43, 0x73, 0x72, 0x66, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5f, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x72, 0x66, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x73, 0x72, 0x66, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x43, 0x73, 0x72, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x73, 0x72, 0x66, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x73, 0x72, 0x66, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescData = file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDesc ) func file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescData) }) return file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDescData } var file_envoy_extensions_filters_http_csrf_v3_csrf_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_csrf_v3_csrf_proto_goTypes = []interface{}{ (*CsrfPolicy)(nil), // 0: envoy.extensions.filters.http.csrf.v3.CsrfPolicy (*v3.RuntimeFractionalPercent)(nil), // 1: envoy.config.core.v3.RuntimeFractionalPercent (*v31.StringMatcher)(nil), // 2: envoy.type.matcher.v3.StringMatcher } var file_envoy_extensions_filters_http_csrf_v3_csrf_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.csrf.v3.CsrfPolicy.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 1, // 1: envoy.extensions.filters.http.csrf.v3.CsrfPolicy.shadow_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 2, // 2: envoy.extensions.filters.http.csrf.v3.CsrfPolicy.additional_origins:type_name -> envoy.type.matcher.v3.StringMatcher 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_csrf_v3_csrf_proto_init() } func file_envoy_extensions_filters_http_csrf_v3_csrf_proto_init() { if File_envoy_extensions_filters_http_csrf_v3_csrf_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_csrf_v3_csrf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CsrfPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_csrf_v3_csrf_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_csrf_v3_csrf_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_csrf_v3_csrf_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_csrf_v3_csrf_proto = out.File file_envoy_extensions_filters_http_csrf_v3_csrf_proto_rawDesc = nil file_envoy_extensions_filters_http_csrf_v3_csrf_proto_goTypes = nil file_envoy_extensions_filters_http_csrf_v3_csrf_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/csrf/v3/csrf.pb.validate.go000077500000000000000000000137141454502223200277110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/csrf/v3/csrf.proto package csrfv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CsrfPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CsrfPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CsrfPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CsrfPolicyMultiError, or // nil if none found. func (m *CsrfPolicy) ValidateAll() error { return m.validate(true) } func (m *CsrfPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetFilterEnabled() == nil { err := CsrfPolicyValidationError{ field: "FilterEnabled", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: "ShadowEnabled", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAdditionalOrigins() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CsrfPolicyValidationError{ field: fmt.Sprintf("AdditionalOrigins[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return CsrfPolicyMultiError(errors) } return nil } // CsrfPolicyMultiError is an error wrapping multiple validation errors // returned by CsrfPolicy.ValidateAll() if the designated constraints aren't met. type CsrfPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CsrfPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CsrfPolicyMultiError) AllErrors() []error { return m } // CsrfPolicyValidationError is the validation error returned by // CsrfPolicy.Validate if the designated constraints aren't met. type CsrfPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CsrfPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CsrfPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CsrfPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CsrfPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CsrfPolicyValidationError) ErrorName() string { return "CsrfPolicyValidationError" } // Error satisfies the builtin error interface func (e CsrfPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCsrfPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CsrfPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CsrfPolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/custom_response/000077500000000000000000000000001454502223200261675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/custom_response/v3/000077500000000000000000000000001454502223200265175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/custom_response/v3/custom_response.pb.go000077500000000000000000000303461454502223200327070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/custom_response/v3/custom_response.proto package custom_responsev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/cncf/xds/go/xds/type/matcher/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The filter configuration is a collection of custom response // policies in a matcher tree. The configuration can be defined at the filter, // virtual host or route level. The response will be matched against the most // specific to the least specific config, till a match is found. type CustomResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Matcher to match against the original response to select a // :ref:`Custom Response Policy ` // that will override the original response. The matching is done by matching // against :ref:`response header values` // Example: // // .. validated-code-block:: yaml // // :type-name: xds.type.matcher.v3.Matcher // // matcher_list: // matchers: // # Apply a locally stored custom response to any 4xx response. // - predicate: // single_predicate: // input: // name: 4xx_response // typed_config: // "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput // value_match: // exact: "4xx" // on_match: // action: // name: action // typed_config: // "@type": type.googleapis.com/envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy // status_code: 499 // body: // inline_string: "not allowed" // body_format: // json_format: // status: "%RESPONSE_CODE%" // message: "%LOCAL_REPLY_BODY%" // response_headers_to_add: // - header: // key: "foo" // value: "x-bar" // # Redirect to different upstream if the status code is one of 502, 503 or 504. // - predicate: // or_matcher: // predicate: // - single_predicate: // input: // name: "502_response" // typed_config: // "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput // value_match: // exact: "502" // - single_predicate: // input: // name: "503_response" // typed_config: // "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput // value_match: // exact: "503" // - single_predicate: // input: // name: "504_response" // typed_config: // "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput // value_match: // exact: "504" // on_match: // action: // name: action // typed_config: // "@type": type.googleapis.com/envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy // status_code: 299 // uri: "https://foo.example/gateway_error" // response_headers_to_add: // - header: // key: "foo2" // value: "x-bar2" // // -- attention:: // // The first matched policy wins. Once the response is matched, matcher // evaluations end. // // Refer to :ref:`Unified Matcher API ` // documentation for more information on the matcher trees. // [#extension-category: envoy.http.custom_response] CustomResponseMatcher *v3.Matcher `protobuf:"bytes,1,opt,name=custom_response_matcher,json=customResponseMatcher,proto3" json:"custom_response_matcher,omitempty"` } func (x *CustomResponse) Reset() { *x = CustomResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomResponse) ProtoMessage() {} func (x *CustomResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomResponse.ProtoReflect.Descriptor instead. func (*CustomResponse) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescGZIP(), []int{0} } func (x *CustomResponse) GetCustomResponseMatcher() *v3.Matcher { if x != nil { return x.CustomResponseMatcher } return nil } var File_envoy_extensions_filters_http_custom_response_v3_custom_response_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0xd2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescData = file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDesc ) func file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescData) }) return file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDescData } var file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_goTypes = []interface{}{ (*CustomResponse)(nil), // 0: envoy.extensions.filters.http.custom_response.v3.CustomResponse (*v3.Matcher)(nil), // 1: xds.type.matcher.v3.Matcher } var file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.custom_response.v3.CustomResponse.custom_response_matcher:type_name -> xds.type.matcher.v3.Matcher 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_init() } func file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_init() { if File_envoy_extensions_filters_http_custom_response_v3_custom_response_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_custom_response_v3_custom_response_proto = out.File file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_rawDesc = nil file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_goTypes = nil file_envoy_extensions_filters_http_custom_response_v3_custom_response_proto_depIdxs = nil } custom_response.pb.validate.go000077500000000000000000000102301454502223200344060ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/custom_response/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/custom_response/v3/custom_response.proto package custom_responsev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CustomResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CustomResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CustomResponseMultiError, // or nil if none found. func (m *CustomResponse) ValidateAll() error { return m.validate(true) } func (m *CustomResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCustomResponseMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomResponseValidationError{ field: "CustomResponseMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomResponseValidationError{ field: "CustomResponseMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomResponseMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomResponseValidationError{ field: "CustomResponseMatcher", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CustomResponseMultiError(errors) } return nil } // CustomResponseMultiError is an error wrapping multiple validation errors // returned by CustomResponse.ValidateAll() if the designated constraints // aren't met. type CustomResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomResponseMultiError) AllErrors() []error { return m } // CustomResponseValidationError is the validation error returned by // CustomResponse.Validate if the designated constraints aren't met. type CustomResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomResponseValidationError) ErrorName() string { return "CustomResponseValidationError" } // Error satisfies the builtin error interface func (e CustomResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomResponseValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/decompressor/000077500000000000000000000000001454502223200254445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/decompressor/v3/000077500000000000000000000000001454502223200257745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/decompressor/v3/decompressor.pb.go000077500000000000000000000574461454502223200314530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/decompressor/v3/decompressor.proto package decompressorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Decompressor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A decompressor library to use for both request and response decompression. Currently only // :ref:`envoy.compression.gzip.compressor` // is included in Envoy. // [#extension-category: envoy.compression.decompressor] DecompressorLibrary *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=decompressor_library,json=decompressorLibrary,proto3" json:"decompressor_library,omitempty"` // Configuration for request decompression. Decompression is enabled by default if left empty. RequestDirectionConfig *Decompressor_RequestDirectionConfig `protobuf:"bytes,2,opt,name=request_direction_config,json=requestDirectionConfig,proto3" json:"request_direction_config,omitempty"` // Configuration for response decompression. Decompression is enabled by default if left empty. ResponseDirectionConfig *Decompressor_ResponseDirectionConfig `protobuf:"bytes,3,opt,name=response_direction_config,json=responseDirectionConfig,proto3" json:"response_direction_config,omitempty"` } func (x *Decompressor) Reset() { *x = Decompressor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decompressor) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decompressor) ProtoMessage() {} func (x *Decompressor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decompressor.ProtoReflect.Descriptor instead. func (*Decompressor) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescGZIP(), []int{0} } func (x *Decompressor) GetDecompressorLibrary() *v3.TypedExtensionConfig { if x != nil { return x.DecompressorLibrary } return nil } func (x *Decompressor) GetRequestDirectionConfig() *Decompressor_RequestDirectionConfig { if x != nil { return x.RequestDirectionConfig } return nil } func (x *Decompressor) GetResponseDirectionConfig() *Decompressor_ResponseDirectionConfig { if x != nil { return x.ResponseDirectionConfig } return nil } // Common configuration for filter behavior on both the request and response direction. type Decompressor_CommonDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime flag that controls whether the filter is enabled for decompression or not. If set to false, the // filter will operate as a pass-through filter. If the message is unspecified, the filter will be enabled. Enabled *v3.RuntimeFeatureFlag `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // If set to true, will decompress response even if a “no-transform“ cache control header is set. IgnoreNoTransformHeader bool `protobuf:"varint,2,opt,name=ignore_no_transform_header,json=ignoreNoTransformHeader,proto3" json:"ignore_no_transform_header,omitempty"` } func (x *Decompressor_CommonDirectionConfig) Reset() { *x = Decompressor_CommonDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decompressor_CommonDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decompressor_CommonDirectionConfig) ProtoMessage() {} func (x *Decompressor_CommonDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decompressor_CommonDirectionConfig.ProtoReflect.Descriptor instead. func (*Decompressor_CommonDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescGZIP(), []int{0, 0} } func (x *Decompressor_CommonDirectionConfig) GetEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.Enabled } return nil } func (x *Decompressor_CommonDirectionConfig) GetIgnoreNoTransformHeader() bool { if x != nil { return x.IgnoreNoTransformHeader } return false } // Configuration for filter behavior on the request direction. type Decompressor_RequestDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *Decompressor_CommonDirectionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // If set to true, and response decompression is enabled, the filter modifies the Accept-Encoding // request header by appending the decompressor_library's encoding. Defaults to true. AdvertiseAcceptEncoding *wrappers.BoolValue `protobuf:"bytes,2,opt,name=advertise_accept_encoding,json=advertiseAcceptEncoding,proto3" json:"advertise_accept_encoding,omitempty"` } func (x *Decompressor_RequestDirectionConfig) Reset() { *x = Decompressor_RequestDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decompressor_RequestDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decompressor_RequestDirectionConfig) ProtoMessage() {} func (x *Decompressor_RequestDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decompressor_RequestDirectionConfig.ProtoReflect.Descriptor instead. func (*Decompressor_RequestDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescGZIP(), []int{0, 1} } func (x *Decompressor_RequestDirectionConfig) GetCommonConfig() *Decompressor_CommonDirectionConfig { if x != nil { return x.CommonConfig } return nil } func (x *Decompressor_RequestDirectionConfig) GetAdvertiseAcceptEncoding() *wrappers.BoolValue { if x != nil { return x.AdvertiseAcceptEncoding } return nil } // Configuration for filter behavior on the response direction. type Decompressor_ResponseDirectionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommonConfig *Decompressor_CommonDirectionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` } func (x *Decompressor_ResponseDirectionConfig) Reset() { *x = Decompressor_ResponseDirectionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decompressor_ResponseDirectionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decompressor_ResponseDirectionConfig) ProtoMessage() {} func (x *Decompressor_ResponseDirectionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Decompressor_ResponseDirectionConfig.ProtoReflect.Descriptor instead. func (*Decompressor_ResponseDirectionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescGZIP(), []int{0, 2} } func (x *Decompressor_ResponseDirectionConfig) GetCommonConfig() *Decompressor_CommonDirectionConfig { if x != nil { return x.CommonConfig } return nil } var File_envoy_extensions_filters_http_decompressor_v3_decompressor_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x07, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x67, 0x0a, 0x14, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x98, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xe8, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x76, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x1a, 0x91, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x76, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescData = file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDesc ) func file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescData) }) return file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDescData } var file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_goTypes = []interface{}{ (*Decompressor)(nil), // 0: envoy.extensions.filters.http.decompressor.v3.Decompressor (*Decompressor_CommonDirectionConfig)(nil), // 1: envoy.extensions.filters.http.decompressor.v3.Decompressor.CommonDirectionConfig (*Decompressor_RequestDirectionConfig)(nil), // 2: envoy.extensions.filters.http.decompressor.v3.Decompressor.RequestDirectionConfig (*Decompressor_ResponseDirectionConfig)(nil), // 3: envoy.extensions.filters.http.decompressor.v3.Decompressor.ResponseDirectionConfig (*v3.TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig (*v3.RuntimeFeatureFlag)(nil), // 5: envoy.config.core.v3.RuntimeFeatureFlag (*wrappers.BoolValue)(nil), // 6: google.protobuf.BoolValue } var file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.decompressor.v3.Decompressor.decompressor_library:type_name -> envoy.config.core.v3.TypedExtensionConfig 2, // 1: envoy.extensions.filters.http.decompressor.v3.Decompressor.request_direction_config:type_name -> envoy.extensions.filters.http.decompressor.v3.Decompressor.RequestDirectionConfig 3, // 2: envoy.extensions.filters.http.decompressor.v3.Decompressor.response_direction_config:type_name -> envoy.extensions.filters.http.decompressor.v3.Decompressor.ResponseDirectionConfig 5, // 3: envoy.extensions.filters.http.decompressor.v3.Decompressor.CommonDirectionConfig.enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 1, // 4: envoy.extensions.filters.http.decompressor.v3.Decompressor.RequestDirectionConfig.common_config:type_name -> envoy.extensions.filters.http.decompressor.v3.Decompressor.CommonDirectionConfig 6, // 5: envoy.extensions.filters.http.decompressor.v3.Decompressor.RequestDirectionConfig.advertise_accept_encoding:type_name -> google.protobuf.BoolValue 1, // 6: envoy.extensions.filters.http.decompressor.v3.Decompressor.ResponseDirectionConfig.common_config:type_name -> envoy.extensions.filters.http.decompressor.v3.Decompressor.CommonDirectionConfig 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_init() } func file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_init() { if File_envoy_extensions_filters_http_decompressor_v3_decompressor_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decompressor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decompressor_CommonDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decompressor_RequestDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decompressor_ResponseDirectionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_decompressor_v3_decompressor_proto = out.File file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_rawDesc = nil file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_goTypes = nil file_envoy_extensions_filters_http_decompressor_v3_decompressor_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/decompressor/v3/decompressor.pb.validate.go000077500000000000000000000464061454502223200332350ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/decompressor/v3/decompressor.proto package decompressorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Decompressor with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Decompressor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decompressor with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DecompressorMultiError, or // nil if none found. func (m *Decompressor) ValidateAll() error { return m.validate(true) } func (m *Decompressor) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDecompressorLibrary() == nil { err := DecompressorValidationError{ field: "DecompressorLibrary", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDecompressorLibrary()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DecompressorValidationError{ field: "DecompressorLibrary", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DecompressorValidationError{ field: "DecompressorLibrary", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDecompressorLibrary()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DecompressorValidationError{ field: "DecompressorLibrary", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestDirectionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DecompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DecompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestDirectionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DecompressorValidationError{ field: "RequestDirectionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponseDirectionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DecompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DecompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseDirectionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DecompressorValidationError{ field: "ResponseDirectionConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DecompressorMultiError(errors) } return nil } // DecompressorMultiError is an error wrapping multiple validation errors // returned by Decompressor.ValidateAll() if the designated constraints aren't met. type DecompressorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DecompressorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DecompressorMultiError) AllErrors() []error { return m } // DecompressorValidationError is the validation error returned by // Decompressor.Validate if the designated constraints aren't met. type DecompressorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DecompressorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DecompressorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DecompressorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DecompressorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DecompressorValidationError) ErrorName() string { return "DecompressorValidationError" } // Error satisfies the builtin error interface func (e DecompressorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecompressor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DecompressorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DecompressorValidationError{} // Validate checks the field values on Decompressor_CommonDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Decompressor_CommonDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decompressor_CommonDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Decompressor_CommonDirectionConfigMultiError, or nil if none found. func (m *Decompressor_CommonDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Decompressor_CommonDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Decompressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Decompressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Decompressor_CommonDirectionConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IgnoreNoTransformHeader if len(errors) > 0 { return Decompressor_CommonDirectionConfigMultiError(errors) } return nil } // Decompressor_CommonDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Decompressor_CommonDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Decompressor_CommonDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Decompressor_CommonDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Decompressor_CommonDirectionConfigMultiError) AllErrors() []error { return m } // Decompressor_CommonDirectionConfigValidationError is the validation error // returned by Decompressor_CommonDirectionConfig.Validate if the designated // constraints aren't met. type Decompressor_CommonDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Decompressor_CommonDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Decompressor_CommonDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Decompressor_CommonDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Decompressor_CommonDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Decompressor_CommonDirectionConfigValidationError) ErrorName() string { return "Decompressor_CommonDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Decompressor_CommonDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecompressor_CommonDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Decompressor_CommonDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Decompressor_CommonDirectionConfigValidationError{} // Validate checks the field values on Decompressor_RequestDirectionConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *Decompressor_RequestDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decompressor_RequestDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Decompressor_RequestDirectionConfigMultiError, or nil if none found. func (m *Decompressor_RequestDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Decompressor_RequestDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Decompressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Decompressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Decompressor_RequestDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAdvertiseAcceptEncoding()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Decompressor_RequestDirectionConfigValidationError{ field: "AdvertiseAcceptEncoding", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Decompressor_RequestDirectionConfigValidationError{ field: "AdvertiseAcceptEncoding", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAdvertiseAcceptEncoding()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Decompressor_RequestDirectionConfigValidationError{ field: "AdvertiseAcceptEncoding", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Decompressor_RequestDirectionConfigMultiError(errors) } return nil } // Decompressor_RequestDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Decompressor_RequestDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Decompressor_RequestDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Decompressor_RequestDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Decompressor_RequestDirectionConfigMultiError) AllErrors() []error { return m } // Decompressor_RequestDirectionConfigValidationError is the validation error // returned by Decompressor_RequestDirectionConfig.Validate if the designated // constraints aren't met. type Decompressor_RequestDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Decompressor_RequestDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Decompressor_RequestDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Decompressor_RequestDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Decompressor_RequestDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Decompressor_RequestDirectionConfigValidationError) ErrorName() string { return "Decompressor_RequestDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Decompressor_RequestDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecompressor_RequestDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Decompressor_RequestDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Decompressor_RequestDirectionConfigValidationError{} // Validate checks the field values on Decompressor_ResponseDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *Decompressor_ResponseDirectionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Decompressor_ResponseDirectionConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // Decompressor_ResponseDirectionConfigMultiError, or nil if none found. func (m *Decompressor_ResponseDirectionConfig) ValidateAll() error { return m.validate(true) } func (m *Decompressor_ResponseDirectionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Decompressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Decompressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Decompressor_ResponseDirectionConfigValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Decompressor_ResponseDirectionConfigMultiError(errors) } return nil } // Decompressor_ResponseDirectionConfigMultiError is an error wrapping multiple // validation errors returned by // Decompressor_ResponseDirectionConfig.ValidateAll() if the designated // constraints aren't met. type Decompressor_ResponseDirectionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Decompressor_ResponseDirectionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Decompressor_ResponseDirectionConfigMultiError) AllErrors() []error { return m } // Decompressor_ResponseDirectionConfigValidationError is the validation error // returned by Decompressor_ResponseDirectionConfig.Validate if the designated // constraints aren't met. type Decompressor_ResponseDirectionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Decompressor_ResponseDirectionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Decompressor_ResponseDirectionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Decompressor_ResponseDirectionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Decompressor_ResponseDirectionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Decompressor_ResponseDirectionConfigValidationError) ErrorName() string { return "Decompressor_ResponseDirectionConfigValidationError" } // Error satisfies the builtin error interface func (e Decompressor_ResponseDirectionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDecompressor_ResponseDirectionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Decompressor_ResponseDirectionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Decompressor_ResponseDirectionConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/dynamic_forward_proxy/000077500000000000000000000000001454502223200273505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/dynamic_forward_proxy/v3/000077500000000000000000000000001454502223200277005ustar00rootroot00000000000000dynamic_forward_proxy.pb.go000077500000000000000000000560571454502223200352010ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/dynamic_forward_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto package dynamic_forward_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/dynamic_forward_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the dynamic forward proxy HTTP filter. See the :ref:`architecture overview // ` for more information. // [#extension: envoy.filters.http.dynamic_forward_proxy] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ImplementationSpecifier: // // *FilterConfig_DnsCacheConfig // *FilterConfig_SubClusterConfig ImplementationSpecifier isFilterConfig_ImplementationSpecifier `protobuf_oneof:"implementation_specifier"` // When this flag is set, the filter will add the resolved upstream address in the filter // state. The state should be saved with key // “envoy.stream.upstream_address“ (See // :repo:`upstream_address.h`). SaveUpstreamAddress bool `protobuf:"varint,2,opt,name=save_upstream_address,json=saveUpstreamAddress,proto3" json:"save_upstream_address,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP(), []int{0} } func (m *FilterConfig) GetImplementationSpecifier() isFilterConfig_ImplementationSpecifier { if m != nil { return m.ImplementationSpecifier } return nil } func (x *FilterConfig) GetDnsCacheConfig() *v3.DnsCacheConfig { if x, ok := x.GetImplementationSpecifier().(*FilterConfig_DnsCacheConfig); ok { return x.DnsCacheConfig } return nil } func (x *FilterConfig) GetSubClusterConfig() *SubClusterConfig { if x, ok := x.GetImplementationSpecifier().(*FilterConfig_SubClusterConfig); ok { return x.SubClusterConfig } return nil } func (x *FilterConfig) GetSaveUpstreamAddress() bool { if x != nil { return x.SaveUpstreamAddress } return false } type isFilterConfig_ImplementationSpecifier interface { isFilterConfig_ImplementationSpecifier() } type FilterConfig_DnsCacheConfig struct { // The DNS cache configuration that the filter will attach to. Note this configuration must // match that of associated :ref:`dynamic forward proxy cluster configuration // `. DnsCacheConfig *v3.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3,oneof"` } type FilterConfig_SubClusterConfig struct { // The configuration that the filter will use, when the related dynamic forward proxy cluster enabled // sub clusters. SubClusterConfig *SubClusterConfig `protobuf:"bytes,3,opt,name=sub_cluster_config,json=subClusterConfig,proto3,oneof"` } func (*FilterConfig_DnsCacheConfig) isFilterConfig_ImplementationSpecifier() {} func (*FilterConfig_SubClusterConfig) isFilterConfig_ImplementationSpecifier() {} // Per route Configuration for the dynamic forward proxy HTTP filter. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to HostRewriteSpecifier: // // *PerRouteConfig_HostRewriteLiteral // *PerRouteConfig_HostRewriteHeader HostRewriteSpecifier isPerRouteConfig_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP(), []int{1} } func (m *PerRouteConfig) GetHostRewriteSpecifier() isPerRouteConfig_HostRewriteSpecifier { if m != nil { return m.HostRewriteSpecifier } return nil } func (x *PerRouteConfig) GetHostRewriteLiteral() string { if x, ok := x.GetHostRewriteSpecifier().(*PerRouteConfig_HostRewriteLiteral); ok { return x.HostRewriteLiteral } return "" } func (x *PerRouteConfig) GetHostRewriteHeader() string { if x, ok := x.GetHostRewriteSpecifier().(*PerRouteConfig_HostRewriteHeader); ok { return x.HostRewriteHeader } return "" } type isPerRouteConfig_HostRewriteSpecifier interface { isPerRouteConfig_HostRewriteSpecifier() } type PerRouteConfig_HostRewriteLiteral struct { // Indicates that before DNS lookup, the host header will be swapped with // this value. If not set or empty, the original host header value // will be used and no rewrite will happen. // // Note: this rewrite affects both DNS lookup and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite ` given that the // value set here would be used for DNS lookups whereas the value set in the HCM would be used // for host header forwarding which is not the desired outcome. HostRewriteLiteral string `protobuf:"bytes,1,opt,name=host_rewrite_literal,json=hostRewriteLiteral,proto3,oneof"` } type PerRouteConfig_HostRewriteHeader struct { // Indicates that before DNS lookup, the host header will be swapped with // the value of this header. If not set or empty, the original host header // value will be used and no rewrite will happen. // // Note: this rewrite affects both DNS lookup and host header forwarding. However, this // option shouldn't be used with // :ref:`HCM host rewrite header ` // given that the value set here would be used for DNS lookups whereas the value set in the HCM // would be used for host header forwarding which is not the desired outcome. // // .. note:: // // If the header appears multiple times only the first value is used. HostRewriteHeader string `protobuf:"bytes,2,opt,name=host_rewrite_header,json=hostRewriteHeader,proto3,oneof"` } func (*PerRouteConfig_HostRewriteLiteral) isPerRouteConfig_HostRewriteSpecifier() {} func (*PerRouteConfig_HostRewriteHeader) isPerRouteConfig_HostRewriteSpecifier() {} type SubClusterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The timeout used for sub cluster initialization. Defaults to 5s if not set. ClusterInitTimeout *duration.Duration `protobuf:"bytes,3,opt,name=cluster_init_timeout,json=clusterInitTimeout,proto3" json:"cluster_init_timeout,omitempty"` } func (x *SubClusterConfig) Reset() { *x = SubClusterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubClusterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubClusterConfig) ProtoMessage() {} func (x *SubClusterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubClusterConfig.ProtoReflect.Descriptor instead. func (*SubClusterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP(), []int{2} } func (x *SubClusterConfig) GetClusterInitTimeout() *duration.Duration { if x != nil { return x.ClusterInitTimeout } return nil } var File_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x73, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x61, 0x76, 0x65, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x4c, 0x9a, 0xc5, 0x88, 0x1e, 0x47, 0x0a, 0x45, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0xe1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData = file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc ) func file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData } var file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig (*PerRouteConfig)(nil), // 1: envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig (*SubClusterConfig)(nil), // 2: envoy.extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig (*v3.DnsCacheConfig)(nil), // 3: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig (*duration.Duration)(nil), // 4: google.protobuf.Duration } var file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig 2, // 1: envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.sub_cluster_config:type_name -> envoy.extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig 4, // 2: envoy.extensions.filters.http.dynamic_forward_proxy.v3.SubClusterConfig.cluster_init_timeout:type_name -> google.protobuf.Duration 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_init() } func file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_init() { if File_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubClusterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterConfig_DnsCacheConfig)(nil), (*FilterConfig_SubClusterConfig)(nil), } file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PerRouteConfig_HostRewriteLiteral)(nil), (*PerRouteConfig_HostRewriteHeader)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto = out.File file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc = nil file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes = nil file_envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs = nil } dynamic_forward_proxy.pb.validate.go000077500000000000000000000304461454502223200367630ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/dynamic_forward_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto package dynamic_forward_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SaveUpstreamAddress switch v := m.ImplementationSpecifier.(type) { case *FilterConfig_DnsCacheConfig: if v == nil { err := FilterConfigValidationError{ field: "ImplementationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } case *FilterConfig_SubClusterConfig: if v == nil { err := FilterConfigValidationError{ field: "ImplementationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSubClusterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "SubClusterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "SubClusterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubClusterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "SubClusterConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.HostRewriteSpecifier.(type) { case *PerRouteConfig_HostRewriteLiteral: if v == nil { err := PerRouteConfigValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for HostRewriteLiteral case *PerRouteConfig_HostRewriteHeader: if v == nil { err := PerRouteConfigValidationError{ field: "HostRewriteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for HostRewriteHeader default: _ = v // ensures v is used } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} // Validate checks the field values on SubClusterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SubClusterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubClusterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubClusterConfigMultiError, or nil if none found. func (m *SubClusterConfig) ValidateAll() error { return m.validate(true) } func (m *SubClusterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetClusterInitTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = SubClusterConfigValidationError{ field: "ClusterInitTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := SubClusterConfigValidationError{ field: "ClusterInitTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return SubClusterConfigMultiError(errors) } return nil } // SubClusterConfigMultiError is an error wrapping multiple validation errors // returned by SubClusterConfig.ValidateAll() if the designated constraints // aren't met. type SubClusterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubClusterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubClusterConfigMultiError) AllErrors() []error { return m } // SubClusterConfigValidationError is the validation error returned by // SubClusterConfig.Validate if the designated constraints aren't met. type SubClusterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubClusterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubClusterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubClusterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubClusterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubClusterConfigValidationError) ErrorName() string { return "SubClusterConfigValidationError" } // Error satisfies the builtin error interface func (e SubClusterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubClusterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubClusterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubClusterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/ext_authz/000077500000000000000000000000001454502223200247525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ext_authz/v3/000077500000000000000000000000001454502223200253025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ext_authz/v3/ext_authz.pb.go000077500000000000000000002271201454502223200302530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/ext_authz/v3/ext_authz.proto package ext_authzv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 23] type ExtAuthz struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // External authorization service configuration. // // Types that are assignable to Services: // // *ExtAuthz_GrpcService // *ExtAuthz_HttpService Services isExtAuthz_Services `protobuf_oneof:"services"` // API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and // version of messages used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,12,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` // Changes filter's behaviour on errors: // // 1. When set to true, the filter will ``accept`` client request even if the communication with // the authorization service has failed, or if the authorization service has returned a HTTP 5xx // error. // // 2. When set to false, ext-authz will ``reject`` client requests and return a ``Forbidden`` // response if the communication with the authorization service has failed, or if the // authorization service has returned a HTTP 5xx error. // // Note that errors can be “always“ tracked in the :ref:`stats // `. FailureModeAllow bool `protobuf:"varint,2,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` // When “failure_mode_allow“ and “failure_mode_allow_header_add“ are both set to true, // “x-envoy-auth-failure-mode-allowed: true“ will be added to request headers if the communication // with the authorization service has failed, or if the authorization service has returned a // HTTP 5xx error. FailureModeAllowHeaderAdd bool `protobuf:"varint,19,opt,name=failure_mode_allow_header_add,json=failureModeAllowHeaderAdd,proto3" json:"failure_mode_allow_header_add,omitempty"` // Enables filter to buffer the client request body and send it within the authorization request. // A “x-envoy-auth-partial-body: false|true“ metadata header will be added to the authorization // request message indicating if the body data is partial. WithRequestBody *BufferSettings `protobuf:"bytes,5,opt,name=with_request_body,json=withRequestBody,proto3" json:"with_request_body,omitempty"` // Clears route cache in order to allow the external authorization service to correctly affect // routing decisions. Filter clears all cached routes when: // // 1. The field is set to “true“. // // 2. The status returned from the authorization service is a HTTP 200 or gRPC 0. // // 3. At least one “authorization response header“ is added to the client request, or is used for // altering another client request header. ClearRouteCache bool `protobuf:"varint,6,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` // Sets the HTTP status that is returned to the client when the authorization server returns an error // or cannot be reached. The default status is HTTP 403 Forbidden. StatusOnError *v31.HttpStatus `protobuf:"bytes,7,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"` // Specifies a list of metadata namespaces whose values, if present, will be passed to the // ext_authz service. The :ref:`filter_metadata ` // is passed as an opaque “protobuf::Struct“. // // Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service. // // For example, if the “jwt_authn“ filter is used and :ref:`payload_in_metadata // ` is set, // then the following will pass the jwt payload to the authorization server. // // .. code-block:: yaml // // metadata_context_namespaces: // - envoy.filters.http.jwt_authn MetadataContextNamespaces []string `protobuf:"bytes,8,rep,name=metadata_context_namespaces,json=metadataContextNamespaces,proto3" json:"metadata_context_namespaces,omitempty"` // Specifies a list of metadata namespaces whose values, if present, will be passed to the // ext_authz service. :ref:`typed_filter_metadata ` // is passed as a “protobuf::Any“. // // Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service. // // It works in a way similar to “metadata_context_namespaces“ but allows Envoy and ext_authz server to share // the protobuf message definition in order to do a safe parsing. TypedMetadataContextNamespaces []string `protobuf:"bytes,16,rep,name=typed_metadata_context_namespaces,json=typedMetadataContextNamespaces,proto3" json:"typed_metadata_context_namespaces,omitempty"` // Specifies a list of route metadata namespaces whose values, if present, will be passed to the // ext_authz service at :ref:`route_metadata_context ` in // :ref:`CheckRequest `. // :ref:`filter_metadata ` is passed as an opaque “protobuf::Struct“. RouteMetadataContextNamespaces []string `protobuf:"bytes,21,rep,name=route_metadata_context_namespaces,json=routeMetadataContextNamespaces,proto3" json:"route_metadata_context_namespaces,omitempty"` // Specifies a list of route metadata namespaces whose values, if present, will be passed to the // ext_authz service at :ref:`route_metadata_context ` in // :ref:`CheckRequest `. // :ref:`typed_filter_metadata ` is passed as an “protobuf::Any“. RouteTypedMetadataContextNamespaces []string `protobuf:"bytes,22,rep,name=route_typed_metadata_context_namespaces,json=routeTypedMetadataContextNamespaces,proto3" json:"route_typed_metadata_context_namespaces,omitempty"` // Specifies if the filter is enabled. // // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to get the percentage of requests to filter. // // If this field is not specified, the filter will be enabled for all requests. FilterEnabled *v3.RuntimeFractionalPercent `protobuf:"bytes,9,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // Specifies if the filter is enabled with metadata matcher. // If this field is not specified, the filter will be enabled for all requests. FilterEnabledMetadata *v32.MetadataMatcher `protobuf:"bytes,14,opt,name=filter_enabled_metadata,json=filterEnabledMetadata,proto3" json:"filter_enabled_metadata,omitempty"` // Specifies whether to deny the requests, when the filter is disabled. // If :ref:`runtime_key ` is specified, // Envoy will lookup the runtime key to determine whether to deny request for // filter protected path at filter disabling. If filter is disabled in // typed_per_filter_config for the path, requests will not be denied. // // If this field is not specified, all requests will be allowed when disabled. // // If a request is denied due to this setting, the response code in :ref:`status_on_error // ` will // be returned. DenyAtDisable *v3.RuntimeFeatureFlag `protobuf:"bytes,11,opt,name=deny_at_disable,json=denyAtDisable,proto3" json:"deny_at_disable,omitempty"` // Specifies if the peer certificate is sent to the external service. // // When this field is true, Envoy will include the peer X.509 certificate, if available, in the // :ref:`certificate`. IncludePeerCertificate bool `protobuf:"varint,10,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"` // Optional additional prefix to use when emitting statistics. This allows to distinguish // emitted statistics between configured “ext_authz“ filters in an HTTP filter chain. For example: // // .. code-block:: yaml // // http_filters: // - name: envoy.filters.http.ext_authz // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz // stat_prefix: waf # This emits ext_authz.waf.ok, ext_authz.waf.denied, etc. // - name: envoy.filters.http.ext_authz // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz // stat_prefix: blocker # This emits ext_authz.blocker.ok, ext_authz.blocker.denied, etc. StatPrefix string `protobuf:"bytes,13,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Optional labels that will be passed to :ref:`labels` in // :ref:`destination`. // The labels will be read from :ref:`metadata` with the specified key. BootstrapMetadataLabelsKey string `protobuf:"bytes,15,opt,name=bootstrap_metadata_labels_key,json=bootstrapMetadataLabelsKey,proto3" json:"bootstrap_metadata_labels_key,omitempty"` // Check request to authorization server will include the client request headers that have a correspondent match // in the :ref:`list `. If this option isn't specified, then // all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers // (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server. // This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior. // // .. note:: // // 1. For requests to an HTTP authorization server: in addition to the the user's supplied matchers, “Host“, “Method“, “Path“, // “Content-Length“, and “Authorization“ are **additionally included** in the list. // // .. note:: // // 2. For requests to an HTTP authorization server: *Content-Length* will be set to 0 and the request to the // authorization server will not have a message body. However, the check request can include the buffered // client request body (controlled by :ref:`with_request_body // ` setting), // consequently the value of *Content-Length* of the authorization request reflects the size of // its payload size. AllowedHeaders *v32.ListStringMatcher `protobuf:"bytes,17,opt,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` // Specifies if the TLS session level details like SNI are sent to the external service. // // When this field is true, Envoy will include the SNI name used for TLSClientHello, if available, in the // :ref:`tls_session`. IncludeTlsSession bool `protobuf:"varint,18,opt,name=include_tls_session,json=includeTlsSession,proto3" json:"include_tls_session,omitempty"` // Whether to increment cluster statistics (e.g. cluster..upstream_rq_*) on authorization failure. // Defaults to true. ChargeClusterResponseStats *wrappers.BoolValue `protobuf:"bytes,20,opt,name=charge_cluster_response_stats,json=chargeClusterResponseStats,proto3" json:"charge_cluster_response_stats,omitempty"` } func (x *ExtAuthz) Reset() { *x = ExtAuthz{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthz) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthz) ProtoMessage() {} func (x *ExtAuthz) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthz.ProtoReflect.Descriptor instead. func (*ExtAuthz) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{0} } func (m *ExtAuthz) GetServices() isExtAuthz_Services { if m != nil { return m.Services } return nil } func (x *ExtAuthz) GetGrpcService() *v3.GrpcService { if x, ok := x.GetServices().(*ExtAuthz_GrpcService); ok { return x.GrpcService } return nil } func (x *ExtAuthz) GetHttpService() *HttpService { if x, ok := x.GetServices().(*ExtAuthz_HttpService); ok { return x.HttpService } return nil } func (x *ExtAuthz) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } func (x *ExtAuthz) GetFailureModeAllow() bool { if x != nil { return x.FailureModeAllow } return false } func (x *ExtAuthz) GetFailureModeAllowHeaderAdd() bool { if x != nil { return x.FailureModeAllowHeaderAdd } return false } func (x *ExtAuthz) GetWithRequestBody() *BufferSettings { if x != nil { return x.WithRequestBody } return nil } func (x *ExtAuthz) GetClearRouteCache() bool { if x != nil { return x.ClearRouteCache } return false } func (x *ExtAuthz) GetStatusOnError() *v31.HttpStatus { if x != nil { return x.StatusOnError } return nil } func (x *ExtAuthz) GetMetadataContextNamespaces() []string { if x != nil { return x.MetadataContextNamespaces } return nil } func (x *ExtAuthz) GetTypedMetadataContextNamespaces() []string { if x != nil { return x.TypedMetadataContextNamespaces } return nil } func (x *ExtAuthz) GetRouteMetadataContextNamespaces() []string { if x != nil { return x.RouteMetadataContextNamespaces } return nil } func (x *ExtAuthz) GetRouteTypedMetadataContextNamespaces() []string { if x != nil { return x.RouteTypedMetadataContextNamespaces } return nil } func (x *ExtAuthz) GetFilterEnabled() *v3.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *ExtAuthz) GetFilterEnabledMetadata() *v32.MetadataMatcher { if x != nil { return x.FilterEnabledMetadata } return nil } func (x *ExtAuthz) GetDenyAtDisable() *v3.RuntimeFeatureFlag { if x != nil { return x.DenyAtDisable } return nil } func (x *ExtAuthz) GetIncludePeerCertificate() bool { if x != nil { return x.IncludePeerCertificate } return false } func (x *ExtAuthz) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ExtAuthz) GetBootstrapMetadataLabelsKey() string { if x != nil { return x.BootstrapMetadataLabelsKey } return "" } func (x *ExtAuthz) GetAllowedHeaders() *v32.ListStringMatcher { if x != nil { return x.AllowedHeaders } return nil } func (x *ExtAuthz) GetIncludeTlsSession() bool { if x != nil { return x.IncludeTlsSession } return false } func (x *ExtAuthz) GetChargeClusterResponseStats() *wrappers.BoolValue { if x != nil { return x.ChargeClusterResponseStats } return nil } type isExtAuthz_Services interface { isExtAuthz_Services() } type ExtAuthz_GrpcService struct { // gRPC service configuration (default timeout: 200ms). GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"` } type ExtAuthz_HttpService struct { // HTTP service configuration (default timeout: 200ms). HttpService *HttpService `protobuf:"bytes,3,opt,name=http_service,json=httpService,proto3,oneof"` } func (*ExtAuthz_GrpcService) isExtAuthz_Services() {} func (*ExtAuthz_HttpService) isExtAuthz_Services() {} // Configuration for buffering the request data. type BufferSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the maximum size of a message body that the filter will hold in memory. Envoy will return // “HTTP 413“ and will *not* initiate the authorization process when buffer reaches the number // set in this field. Note that this setting will have precedence over :ref:`failure_mode_allow // `. MaxRequestBytes uint32 `protobuf:"varint,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` // When this field is true, Envoy will buffer the message until “max_request_bytes“ is reached. // The authorization request will be dispatched and no 413 HTTP error will be returned by the // filter. AllowPartialMessage bool `protobuf:"varint,2,opt,name=allow_partial_message,json=allowPartialMessage,proto3" json:"allow_partial_message,omitempty"` // If true, the body sent to the external authorization service is set with raw bytes, it sets // the :ref:`raw_body` // field of HTTP request attribute context. Otherwise, :ref:`body // ` will be filled // with UTF-8 string request body. // // This field only affects configurations using a :ref:`grpc_service // `. In configurations that use // an :ref:`http_service `, this // has no effect. PackAsBytes bool `protobuf:"varint,3,opt,name=pack_as_bytes,json=packAsBytes,proto3" json:"pack_as_bytes,omitempty"` } func (x *BufferSettings) Reset() { *x = BufferSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferSettings) ProtoMessage() {} func (x *BufferSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferSettings.ProtoReflect.Descriptor instead. func (*BufferSettings) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{1} } func (x *BufferSettings) GetMaxRequestBytes() uint32 { if x != nil { return x.MaxRequestBytes } return 0 } func (x *BufferSettings) GetAllowPartialMessage() bool { if x != nil { return x.AllowPartialMessage } return false } func (x *BufferSettings) GetPackAsBytes() bool { if x != nil { return x.PackAsBytes } return false } // HttpService is used for raw HTTP communication between the filter and the authorization service. // When configured, the filter will parse the client request and use these attributes to call the // authorization server. Depending on the response, the filter may reject or accept the client // request. Note that in any of these events, metadata can be added, removed or overridden by the // filter: // // *On authorization request*, a list of allowed request headers may be supplied. See // :ref:`allowed_headers // ` // for details. Additional headers metadata may be added to the authorization request. See // :ref:`headers_to_add // ` for // details. // // On authorization response status HTTP 200 OK, the filter will allow traffic to the upstream and // additional headers metadata may be added to the original client request. See // :ref:`allowed_upstream_headers // ` // for details. Additionally, the filter may add additional headers to the client's response. See // :ref:`allowed_client_headers_on_success // ` // for details. // // On other authorization response statuses, the filter will not allow traffic. Additional headers // metadata as well as body may be added to the client's response. See :ref:`allowed_client_headers // ` // for details. // [#next-free-field: 9] type HttpService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the HTTP server URI which the authorization requests must be sent to. ServerUri *v3.HttpUri `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` // Sets a prefix to the value of authorization request header “Path“. PathPrefix string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` // Settings used for controlling authorization request metadata. AuthorizationRequest *AuthorizationRequest `protobuf:"bytes,7,opt,name=authorization_request,json=authorizationRequest,proto3" json:"authorization_request,omitempty"` // Settings used for controlling authorization response metadata. AuthorizationResponse *AuthorizationResponse `protobuf:"bytes,8,opt,name=authorization_response,json=authorizationResponse,proto3" json:"authorization_response,omitempty"` } func (x *HttpService) Reset() { *x = HttpService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpService) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpService) ProtoMessage() {} func (x *HttpService) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpService.ProtoReflect.Descriptor instead. func (*HttpService) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{2} } func (x *HttpService) GetServerUri() *v3.HttpUri { if x != nil { return x.ServerUri } return nil } func (x *HttpService) GetPathPrefix() string { if x != nil { return x.PathPrefix } return "" } func (x *HttpService) GetAuthorizationRequest() *AuthorizationRequest { if x != nil { return x.AuthorizationRequest } return nil } func (x *HttpService) GetAuthorizationResponse() *AuthorizationResponse { if x != nil { return x.AuthorizationResponse } return nil } type AuthorizationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Authorization request includes the client request headers that have a correspondent match // in the :ref:`list `. // This field has been deprecated in favor of :ref:`allowed_headers // `. // // .. note:: // // In addition to the the user's supplied matchers, ``Host``, ``Method``, ``Path``, // ``Content-Length``, and ``Authorization`` are **automatically included** to the list. // // .. note:: // // By default, ``Content-Length`` header is set to ``0`` and the request to the authorization // service has no message body. However, the authorization request *may* include the buffered // client request body (controlled by :ref:`with_request_body // ` // setting) hence the value of its ``Content-Length`` reflects the size of its payload size. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/ext_authz/v3/ext_authz.proto. AllowedHeaders *v32.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` // Sets a list of headers that will be included to the request to authorization service. Note that // client request of the same key will be overridden. HeadersToAdd []*v3.HeaderValue `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` } func (x *AuthorizationRequest) Reset() { *x = AuthorizationRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthorizationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthorizationRequest) ProtoMessage() {} func (x *AuthorizationRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AuthorizationRequest.ProtoReflect.Descriptor instead. func (*AuthorizationRequest) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{3} } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/ext_authz/v3/ext_authz.proto. func (x *AuthorizationRequest) GetAllowedHeaders() *v32.ListStringMatcher { if x != nil { return x.AllowedHeaders } return nil } func (x *AuthorizationRequest) GetHeadersToAdd() []*v3.HeaderValue { if x != nil { return x.HeadersToAdd } return nil } // [#next-free-field: 6] type AuthorizationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the original client request. // Note that coexistent headers will be overridden. AllowedUpstreamHeaders *v32.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"` // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the original client request. // Note that coexistent headers will be appended. AllowedUpstreamHeadersToAppend *v32.ListStringMatcher `protobuf:"bytes,3,opt,name=allowed_upstream_headers_to_append,json=allowedUpstreamHeadersToAppend,proto3" json:"allowed_upstream_headers_to_append,omitempty"` // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the client's response. Note // that when this list is *not* set, all the authorization response headers, except “Authority // (Host)“ will be in the response to the client. When a header is included in this list, “Path“, // “Status“, “Content-Length“, “WWWAuthenticate“ and “Location“ are automatically added. AllowedClientHeaders *v32.ListStringMatcher `protobuf:"bytes,2,opt,name=allowed_client_headers,json=allowedClientHeaders,proto3" json:"allowed_client_headers,omitempty"` // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be added to the client's response when // the authorization response itself is successful, i.e. not failed or denied. When this list is // *not* set, no additional headers will be added to the client's response on success. AllowedClientHeadersOnSuccess *v32.ListStringMatcher `protobuf:"bytes,4,opt,name=allowed_client_headers_on_success,json=allowedClientHeadersOnSuccess,proto3" json:"allowed_client_headers_on_success,omitempty"` // When this :ref:`list ` is set, authorization // response headers that have a correspondent match will be emitted as dynamic metadata to be consumed // by the next filter. This metadata lives in a namespace specified by the canonical name of extension filter // that requires it: // // - :ref:`envoy.filters.http.ext_authz ` for HTTP filter. // - :ref:`envoy.filters.network.ext_authz ` for network filter. DynamicMetadataFromHeaders *v32.ListStringMatcher `protobuf:"bytes,5,opt,name=dynamic_metadata_from_headers,json=dynamicMetadataFromHeaders,proto3" json:"dynamic_metadata_from_headers,omitempty"` } func (x *AuthorizationResponse) Reset() { *x = AuthorizationResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthorizationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthorizationResponse) ProtoMessage() {} func (x *AuthorizationResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AuthorizationResponse.ProtoReflect.Descriptor instead. func (*AuthorizationResponse) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{4} } func (x *AuthorizationResponse) GetAllowedUpstreamHeaders() *v32.ListStringMatcher { if x != nil { return x.AllowedUpstreamHeaders } return nil } func (x *AuthorizationResponse) GetAllowedUpstreamHeadersToAppend() *v32.ListStringMatcher { if x != nil { return x.AllowedUpstreamHeadersToAppend } return nil } func (x *AuthorizationResponse) GetAllowedClientHeaders() *v32.ListStringMatcher { if x != nil { return x.AllowedClientHeaders } return nil } func (x *AuthorizationResponse) GetAllowedClientHeadersOnSuccess() *v32.ListStringMatcher { if x != nil { return x.AllowedClientHeadersOnSuccess } return nil } func (x *AuthorizationResponse) GetDynamicMetadataFromHeaders() *v32.ListStringMatcher { if x != nil { return x.DynamicMetadataFromHeaders } return nil } // Extra settings on a per virtualhost/route/weighted-cluster level. type ExtAuthzPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *ExtAuthzPerRoute_Disabled // *ExtAuthzPerRoute_CheckSettings Override isExtAuthzPerRoute_Override `protobuf_oneof:"override"` } func (x *ExtAuthzPerRoute) Reset() { *x = ExtAuthzPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthzPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthzPerRoute) ProtoMessage() {} func (x *ExtAuthzPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthzPerRoute.ProtoReflect.Descriptor instead. func (*ExtAuthzPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{5} } func (m *ExtAuthzPerRoute) GetOverride() isExtAuthzPerRoute_Override { if m != nil { return m.Override } return nil } func (x *ExtAuthzPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*ExtAuthzPerRoute_Disabled); ok { return x.Disabled } return false } func (x *ExtAuthzPerRoute) GetCheckSettings() *CheckSettings { if x, ok := x.GetOverride().(*ExtAuthzPerRoute_CheckSettings); ok { return x.CheckSettings } return nil } type isExtAuthzPerRoute_Override interface { isExtAuthzPerRoute_Override() } type ExtAuthzPerRoute_Disabled struct { // Disable the ext auth filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type ExtAuthzPerRoute_CheckSettings struct { // Check request settings for this route. CheckSettings *CheckSettings `protobuf:"bytes,2,opt,name=check_settings,json=checkSettings,proto3,oneof"` } func (*ExtAuthzPerRoute_Disabled) isExtAuthzPerRoute_Override() {} func (*ExtAuthzPerRoute_CheckSettings) isExtAuthzPerRoute_Override() {} // Extra settings for the check request. type CheckSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Context extensions to set on the CheckRequest's // :ref:`AttributeContext.context_extensions` // // You can use this to provide extra context for the external authorization server on specific // virtual hosts/routes. For example, adding a context extension on the virtual host level can // give the ext-authz server information on what virtual host is used without needing to parse the // host header. If CheckSettings is specified in multiple per-filter-configs, they will be merged // in order, and the result will be used. // // Merge semantics for this field are such that keys from more specific configs override. // // .. note:: // // These settings are only applied to a filter configured with a // :ref:`grpc_service`. ContextExtensions map[string]string `protobuf:"bytes,1,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When set to true, disable the configured :ref:`with_request_body // ` for a specific route. // // Please note that only one of *disable_request_body_buffering* or // :ref:`with_request_body ` // may be specified. DisableRequestBodyBuffering bool `protobuf:"varint,2,opt,name=disable_request_body_buffering,json=disableRequestBodyBuffering,proto3" json:"disable_request_body_buffering,omitempty"` // Enable or override request body buffering, which is configured using the // :ref:`with_request_body ` // option for a specific route. // // Please note that only only one of *with_request_body* or // :ref:`disable_request_body_buffering ` // may be specified. WithRequestBody *BufferSettings `protobuf:"bytes,3,opt,name=with_request_body,json=withRequestBody,proto3" json:"with_request_body,omitempty"` } func (x *CheckSettings) Reset() { *x = CheckSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckSettings) ProtoMessage() {} func (x *CheckSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckSettings.ProtoReflect.Descriptor instead. func (*CheckSettings) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{6} } func (x *CheckSettings) GetContextExtensions() map[string]string { if x != nil { return x.ContextExtensions } return nil } func (x *CheckSettings) GetDisableRequestBodyBuffering() bool { if x != nil { return x.DisableRequestBodyBuffering } return false } func (x *CheckSettings) GetWithRequestBody() *BufferSettings { if x != nil { return x.WithRequestBody } return nil } var File_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x0c, 0x0a, 0x08, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x46, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x40, 0x0a, 0x1d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x66, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x19, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x21, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x21, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x27, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x23, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x61, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x64, 0x65, 0x6e, 0x79, 0x41, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x41, 0x0a, 0x1d, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x1d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x41, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x75, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x78, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x82, 0x02, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf6, 0x04, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x74, 0x0a, 0x22, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x1e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x5e, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x21, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x1d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x1a, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescData = file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDesc ) func file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescData) }) return file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDescData } var file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_goTypes = []interface{}{ (*ExtAuthz)(nil), // 0: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz (*BufferSettings)(nil), // 1: envoy.extensions.filters.http.ext_authz.v3.BufferSettings (*HttpService)(nil), // 2: envoy.extensions.filters.http.ext_authz.v3.HttpService (*AuthorizationRequest)(nil), // 3: envoy.extensions.filters.http.ext_authz.v3.AuthorizationRequest (*AuthorizationResponse)(nil), // 4: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse (*ExtAuthzPerRoute)(nil), // 5: envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute (*CheckSettings)(nil), // 6: envoy.extensions.filters.http.ext_authz.v3.CheckSettings nil, // 7: envoy.extensions.filters.http.ext_authz.v3.CheckSettings.ContextExtensionsEntry (*v3.GrpcService)(nil), // 8: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 9: envoy.config.core.v3.ApiVersion (*v31.HttpStatus)(nil), // 10: envoy.type.v3.HttpStatus (*v3.RuntimeFractionalPercent)(nil), // 11: envoy.config.core.v3.RuntimeFractionalPercent (*v32.MetadataMatcher)(nil), // 12: envoy.type.matcher.v3.MetadataMatcher (*v3.RuntimeFeatureFlag)(nil), // 13: envoy.config.core.v3.RuntimeFeatureFlag (*v32.ListStringMatcher)(nil), // 14: envoy.type.matcher.v3.ListStringMatcher (*wrappers.BoolValue)(nil), // 15: google.protobuf.BoolValue (*v3.HttpUri)(nil), // 16: envoy.config.core.v3.HttpUri (*v3.HeaderValue)(nil), // 17: envoy.config.core.v3.HeaderValue } var file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_depIdxs = []int32{ 8, // 0: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 1: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.http_service:type_name -> envoy.extensions.filters.http.ext_authz.v3.HttpService 9, // 2: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 1, // 3: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body:type_name -> envoy.extensions.filters.http.ext_authz.v3.BufferSettings 10, // 4: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error:type_name -> envoy.type.v3.HttpStatus 11, // 5: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 12, // 6: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.filter_enabled_metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher 13, // 7: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.deny_at_disable:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 14, // 8: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.allowed_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 15, // 9: envoy.extensions.filters.http.ext_authz.v3.ExtAuthz.charge_cluster_response_stats:type_name -> google.protobuf.BoolValue 16, // 10: envoy.extensions.filters.http.ext_authz.v3.HttpService.server_uri:type_name -> envoy.config.core.v3.HttpUri 3, // 11: envoy.extensions.filters.http.ext_authz.v3.HttpService.authorization_request:type_name -> envoy.extensions.filters.http.ext_authz.v3.AuthorizationRequest 4, // 12: envoy.extensions.filters.http.ext_authz.v3.HttpService.authorization_response:type_name -> envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse 14, // 13: envoy.extensions.filters.http.ext_authz.v3.AuthorizationRequest.allowed_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 17, // 14: envoy.extensions.filters.http.ext_authz.v3.AuthorizationRequest.headers_to_add:type_name -> envoy.config.core.v3.HeaderValue 14, // 15: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse.allowed_upstream_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 14, // 16: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse.allowed_upstream_headers_to_append:type_name -> envoy.type.matcher.v3.ListStringMatcher 14, // 17: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse.allowed_client_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 14, // 18: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse.allowed_client_headers_on_success:type_name -> envoy.type.matcher.v3.ListStringMatcher 14, // 19: envoy.extensions.filters.http.ext_authz.v3.AuthorizationResponse.dynamic_metadata_from_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 6, // 20: envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute.check_settings:type_name -> envoy.extensions.filters.http.ext_authz.v3.CheckSettings 7, // 21: envoy.extensions.filters.http.ext_authz.v3.CheckSettings.context_extensions:type_name -> envoy.extensions.filters.http.ext_authz.v3.CheckSettings.ContextExtensionsEntry 1, // 22: envoy.extensions.filters.http.ext_authz.v3.CheckSettings.with_request_body:type_name -> envoy.extensions.filters.http.ext_authz.v3.BufferSettings 23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension extendee 0, // [0:23] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_init() } func file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_init() { if File_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthz); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthorizationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthorizationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthzPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ExtAuthz_GrpcService)(nil), (*ExtAuthz_HttpService)(nil), } file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes[5].OneofWrappers = []interface{}{ (*ExtAuthzPerRoute_Disabled)(nil), (*ExtAuthzPerRoute_CheckSettings)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto = out.File file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_rawDesc = nil file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_goTypes = nil file_envoy_extensions_filters_http_ext_authz_v3_ext_authz_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/ext_authz/v3/ext_authz.pb.validate.go000077500000000000000000001207021454502223200320410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/ext_authz/v3/ext_authz.proto package ext_authzv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on ExtAuthz with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ExtAuthz) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthz with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtAuthzMultiError, or nil // if none found. func (m *ExtAuthz) ValidateAll() error { return m.validate(true) } func (m *ExtAuthz) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := ExtAuthzValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for FailureModeAllow // no validation rules for FailureModeAllowHeaderAdd if all { switch v := interface{}(m.GetWithRequestBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWithRequestBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClearRouteCache if all { switch v := interface{}(m.GetStatusOnError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatusOnError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabledMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabledMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDenyAtDisable()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDenyAtDisable()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "DenyAtDisable", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IncludePeerCertificate // no validation rules for StatPrefix // no validation rules for BootstrapMetadataLabelsKey if all { switch v := interface{}(m.GetAllowedHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IncludeTlsSession if all { switch v := interface{}(m.GetChargeClusterResponseStats()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "ChargeClusterResponseStats", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "ChargeClusterResponseStats", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetChargeClusterResponseStats()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "ChargeClusterResponseStats", reason: "embedded message failed validation", cause: err, } } } switch v := m.Services.(type) { case *ExtAuthz_GrpcService: if v == nil { err := ExtAuthzValidationError{ field: "Services", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } case *ExtAuthz_HttpService: if v == nil { err := ExtAuthzValidationError{ field: "Services", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHttpService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "HttpService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ExtAuthzMultiError(errors) } return nil } // ExtAuthzMultiError is an error wrapping multiple validation errors returned // by ExtAuthz.ValidateAll() if the designated constraints aren't met. type ExtAuthzMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzMultiError) AllErrors() []error { return m } // ExtAuthzValidationError is the validation error returned by // ExtAuthz.Validate if the designated constraints aren't met. type ExtAuthzValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzValidationError) ErrorName() string { return "ExtAuthzValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthz.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzValidationError{} // Validate checks the field values on BufferSettings with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BufferSettingsMultiError, // or nil if none found. func (m *BufferSettings) ValidateAll() error { return m.validate(true) } func (m *BufferSettings) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxRequestBytes() <= 0 { err := BufferSettingsValidationError{ field: "MaxRequestBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowPartialMessage // no validation rules for PackAsBytes if len(errors) > 0 { return BufferSettingsMultiError(errors) } return nil } // BufferSettingsMultiError is an error wrapping multiple validation errors // returned by BufferSettings.ValidateAll() if the designated constraints // aren't met. type BufferSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferSettingsMultiError) AllErrors() []error { return m } // BufferSettingsValidationError is the validation error returned by // BufferSettings.Validate if the designated constraints aren't met. type BufferSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferSettingsValidationError) ErrorName() string { return "BufferSettingsValidationError" } // Error satisfies the builtin error interface func (e BufferSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferSettingsValidationError{} // Validate checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpServiceMultiError, or // nil if none found. func (m *HttpService) ValidateAll() error { return m.validate(true) } func (m *HttpService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetServerUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServerUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "ServerUri", reason: "embedded message failed validation", cause: err, } } } // no validation rules for PathPrefix if all { switch v := interface{}(m.GetAuthorizationRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthorizationRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "AuthorizationRequest", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAuthorizationResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthorizationResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpServiceValidationError{ field: "AuthorizationResponse", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpServiceMultiError(errors) } return nil } // HttpServiceMultiError is an error wrapping multiple validation errors // returned by HttpService.ValidateAll() if the designated constraints aren't met. type HttpServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpServiceMultiError) AllErrors() []error { return m } // HttpServiceValidationError is the validation error returned by // HttpService.Validate if the designated constraints aren't met. type HttpServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpServiceValidationError) ErrorName() string { return "HttpServiceValidationError" } // Error satisfies the builtin error interface func (e HttpServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpServiceValidationError{} // Validate checks the field values on AuthorizationRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AuthorizationRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AuthorizationRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AuthorizationRequestMultiError, or nil if none found. func (m *AuthorizationRequest) ValidateAll() error { return m.validate(true) } func (m *AuthorizationRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowedHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationRequestValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationRequestValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return AuthorizationRequestMultiError(errors) } return nil } // AuthorizationRequestMultiError is an error wrapping multiple validation // errors returned by AuthorizationRequest.ValidateAll() if the designated // constraints aren't met. type AuthorizationRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AuthorizationRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AuthorizationRequestMultiError) AllErrors() []error { return m } // AuthorizationRequestValidationError is the validation error returned by // AuthorizationRequest.Validate if the designated constraints aren't met. type AuthorizationRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AuthorizationRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AuthorizationRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AuthorizationRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AuthorizationRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AuthorizationRequestValidationError) ErrorName() string { return "AuthorizationRequestValidationError" } // Error satisfies the builtin error interface func (e AuthorizationRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAuthorizationRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AuthorizationRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AuthorizationRequestValidationError{} // Validate checks the field values on AuthorizationResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AuthorizationResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AuthorizationResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AuthorizationResponseMultiError, or nil if none found. func (m *AuthorizationResponse) ValidateAll() error { return m.validate(true) } func (m *AuthorizationResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowedUpstreamHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedUpstreamHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedUpstreamHeaders", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowedUpstreamHeadersToAppend()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeadersToAppend", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedUpstreamHeadersToAppend", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedUpstreamHeadersToAppend()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedUpstreamHeadersToAppend", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowedClientHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedClientHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedClientHeaders", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAllowedClientHeadersOnSuccess()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeadersOnSuccess", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "AllowedClientHeadersOnSuccess", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedClientHeadersOnSuccess()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "AllowedClientHeadersOnSuccess", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDynamicMetadataFromHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "DynamicMetadataFromHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AuthorizationResponseValidationError{ field: "DynamicMetadataFromHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadataFromHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AuthorizationResponseValidationError{ field: "DynamicMetadataFromHeaders", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AuthorizationResponseMultiError(errors) } return nil } // AuthorizationResponseMultiError is an error wrapping multiple validation // errors returned by AuthorizationResponse.ValidateAll() if the designated // constraints aren't met. type AuthorizationResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AuthorizationResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AuthorizationResponseMultiError) AllErrors() []error { return m } // AuthorizationResponseValidationError is the validation error returned by // AuthorizationResponse.Validate if the designated constraints aren't met. type AuthorizationResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AuthorizationResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AuthorizationResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AuthorizationResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AuthorizationResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AuthorizationResponseValidationError) ErrorName() string { return "AuthorizationResponseValidationError" } // Error satisfies the builtin error interface func (e AuthorizationResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAuthorizationResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AuthorizationResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AuthorizationResponseValidationError{} // Validate checks the field values on ExtAuthzPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtAuthzPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthzPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtAuthzPerRouteMultiError, or nil if none found. func (m *ExtAuthzPerRoute) ValidateAll() error { return m.validate(true) } func (m *ExtAuthzPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *ExtAuthzPerRoute_Disabled: if v == nil { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := ExtAuthzPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *ExtAuthzPerRoute_CheckSettings: if v == nil { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetCheckSettings() == nil { err := ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCheckSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCheckSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzPerRouteValidationError{ field: "CheckSettings", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := ExtAuthzPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ExtAuthzPerRouteMultiError(errors) } return nil } // ExtAuthzPerRouteMultiError is an error wrapping multiple validation errors // returned by ExtAuthzPerRoute.ValidateAll() if the designated constraints // aren't met. type ExtAuthzPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzPerRouteMultiError) AllErrors() []error { return m } // ExtAuthzPerRouteValidationError is the validation error returned by // ExtAuthzPerRoute.Validate if the designated constraints aren't met. type ExtAuthzPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzPerRouteValidationError) ErrorName() string { return "ExtAuthzPerRouteValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthzPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzPerRouteValidationError{} // Validate checks the field values on CheckSettings with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckSettings with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckSettingsMultiError, or // nil if none found. func (m *CheckSettings) ValidateAll() error { return m.validate(true) } func (m *CheckSettings) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ContextExtensions // no validation rules for DisableRequestBodyBuffering if all { switch v := interface{}(m.GetWithRequestBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckSettingsValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckSettingsValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWithRequestBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckSettingsValidationError{ field: "WithRequestBody", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CheckSettingsMultiError(errors) } return nil } // CheckSettingsMultiError is an error wrapping multiple validation errors // returned by CheckSettings.ValidateAll() if the designated constraints // aren't met. type CheckSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckSettingsMultiError) AllErrors() []error { return m } // CheckSettingsValidationError is the validation error returned by // CheckSettings.Validate if the designated constraints aren't met. type CheckSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckSettingsValidationError) ErrorName() string { return "CheckSettingsValidationError" } // Error satisfies the builtin error interface func (e CheckSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckSettingsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/000077500000000000000000000000001454502223200245625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/v3/000077500000000000000000000000001454502223200251125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.go000077500000000000000000001262341454502223200276770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto package ext_procv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The filter communicates with an external gRPC service called an "external processor" // that can do a variety of things with the request and response: // // * Access and modify the HTTP headers on the request, response, or both // * Access and modify the HTTP request and response bodies // * Access and modify the dynamic stream metadata // * Immediately send an HTTP response downstream and terminate other processing // // The filter communicates with the server using a gRPC bidirectional stream. After the initial // request, the external server is in control over what additional data is sent to it // and how it should be processed. // // By implementing the protocol specified by the stream, the external server can choose: // // - Whether it receives the response message at all // - Whether it receives the message body at all, in separate chunks, or as a single buffer // - Whether subsequent HTTP requests are transmitted synchronously or whether they are // sent asynchronously. // - To modify request or response trailers if they already exist // // The filter supports up to six different processing steps. Each is represented by // a gRPC stream message that is sent to the external processor. For each message, the // processor must send a matching response. // // - Request headers: Contains the headers from the original HTTP request. // - Request body: Delivered if they are present and sent in a single message if // the BUFFERED or BUFFERED_PARTIAL mode is chosen, in multiple messages if the // STREAMED mode is chosen, and not at all otherwise. // - Request trailers: Delivered if they are present and if the trailer mode is set // to SEND. // - Response headers: Contains the headers from the HTTP response. Keep in mind // that if the upstream system sends them before processing the request body that // this message may arrive before the complete body. // - Response body: Sent according to the processing mode like the request body. // - Response trailers: Delivered according to the processing mode like the // request trailers. // // By default, the processor sends only the request and response headers messages. // This may be changed to include any of the six steps by changing the processing_mode // setting of the filter configuration, or by setting the mode_override of any response // from the external processor. The latter is only enabled if allow_mode_override is // set to true. This way, a processor may, for example, use information // in the request header to determine whether the message body must be examined, or whether // the proxy should simply stream it straight through. // // All of this together allows a server to process the filter traffic in fairly // sophisticated ways. For example: // // - A server may choose to examine all or part of the HTTP message bodies depending // on the content of the headers. // - A server may choose to immediately reject some messages based on their HTTP // headers (or other dynamic metadata) and more carefully examine others. // - A server may asynchronously monitor traffic coming through the filter by inspecting // headers, bodies, or both, and then decide to switch to a synchronous processing // mode, either permanently or temporarily. // // The protocol itself is based on a bidirectional gRPC stream. Envoy will send the // server // :ref:`ProcessingRequest ` // messages, and the server must reply with // :ref:`ProcessingResponse `. // // Stats about each gRPC call are recorded in a :ref:`dynamic filter state // ` object in a namespace matching the filter // name. // // [#next-free-field: 16] type ExternalProcessor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for the gRPC service that the filter will communicate with. // The filter supports both the "Envoy" and "Google" gRPC clients. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // By default, if the gRPC stream cannot be established, or if it is closed // prematurely with an error, the filter will fail. Specifically, if the // response headers have not yet been delivered, then it will return a 500 // error downstream. If they have been delivered, then instead the HTTP stream to the // downstream client will be reset. // With this parameter set to true, however, then if the gRPC stream is prematurely closed // or could not be opened, processing continues without error. FailureModeAllow bool `protobuf:"varint,2,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` // Specifies default options for how HTTP headers, trailers, and bodies are // sent. See ProcessingMode for details. ProcessingMode *ProcessingMode `protobuf:"bytes,3,opt,name=processing_mode,json=processingMode,proto3" json:"processing_mode,omitempty"` // [#not-implemented-hide:] // If true, send each part of the HTTP request or response specified by ProcessingMode // asynchronously -- in other words, send the message on the gRPC stream and then continue // filter processing. If false, which is the default, suspend filter execution after // each message is sent to the remote service and wait up to "message_timeout" // for a reply. AsyncMode bool `protobuf:"varint,4,opt,name=async_mode,json=asyncMode,proto3" json:"async_mode,omitempty"` // [#not-implemented-hide:] // Envoy provides a number of :ref:`attributes ` // for expressive policies. Each attribute name provided in this field will be // matched against that list and populated in the request_headers message. // See the :ref:`attribute documentation ` // for the list of supported attributes and their types. RequestAttributes []string `protobuf:"bytes,5,rep,name=request_attributes,json=requestAttributes,proto3" json:"request_attributes,omitempty"` // [#not-implemented-hide:] // Envoy provides a number of :ref:`attributes ` // for expressive policies. Each attribute name provided in this field will be // matched against that list and populated in the response_headers message. // See the :ref:`attribute documentation ` // for the list of supported attributes and their types. ResponseAttributes []string `protobuf:"bytes,6,rep,name=response_attributes,json=responseAttributes,proto3" json:"response_attributes,omitempty"` // Specifies the timeout for each individual message sent on the stream and // when the filter is running in synchronous mode. Whenever the proxy sends // a message on the stream that requires a response, it will reset this timer, // and will stop processing and return an error (subject to the processing mode) // if the timer expires before a matching response is received. There is no // timeout when the filter is running in asynchronous mode. Zero is a valid // config which means the timer will be triggered immediately. If not // configured, default is 200 milliseconds. MessageTimeout *duration.Duration `protobuf:"bytes,7,opt,name=message_timeout,json=messageTimeout,proto3" json:"message_timeout,omitempty"` // Optional additional prefix to use when emitting statistics. This allows to distinguish // emitted statistics between configured *ext_proc* filters in an HTTP filter chain. StatPrefix string `protobuf:"bytes,8,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Rules that determine what modifications an external processing server may // make to message headers. If not set, all headers may be modified except // for "host", ":authority", ":scheme", ":method", and headers that start // with the header prefix set via // :ref:`header_prefix ` // (which is usually "x-envoy"). // Note that changing headers such as "host" or ":authority" may not in itself // change Envoy's routing decision, as routes can be cached. To also force the // route to be recomputed, set the // :ref:`clear_route_cache ` // field to true in the same response. MutationRules *v31.HeaderMutationRules `protobuf:"bytes,9,opt,name=mutation_rules,json=mutationRules,proto3" json:"mutation_rules,omitempty"` // Specify the upper bound of // :ref:`override_message_timeout ` // If not specified, by default it is 0, which will effectively disable the “override_message_timeout“ API. MaxMessageTimeout *duration.Duration `protobuf:"bytes,10,opt,name=max_message_timeout,json=maxMessageTimeout,proto3" json:"max_message_timeout,omitempty"` // Prevents clearing the route-cache when the // :ref:`clear_route_cache ` // field is set in an external processor response. DisableClearRouteCache bool `protobuf:"varint,11,opt,name=disable_clear_route_cache,json=disableClearRouteCache,proto3" json:"disable_clear_route_cache,omitempty"` // Allow headers matching the “forward_rules“ to be forwarded to the external processing server. // If not set, all headers are forwarded to the external processing server. ForwardRules *HeaderForwardingRules `protobuf:"bytes,12,opt,name=forward_rules,json=forwardRules,proto3" json:"forward_rules,omitempty"` // Additional metadata to be added to the filter state for logging purposes. The metadata // will be added to StreamInfo's filter state under the namespace corresponding to the // ext_proc filter name. FilterMetadata *_struct.Struct `protobuf:"bytes,13,opt,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty"` // If “allow_mode_override“ is set to true, the filter config :ref:`processing_mode // ` // can be overridden by the response message from the external processing server // :ref:`mode_override `. // If not set, “mode_override“ API in the response message will be ignored. AllowModeOverride bool `protobuf:"varint,14,opt,name=allow_mode_override,json=allowModeOverride,proto3" json:"allow_mode_override,omitempty"` // If set to true, ignore the // :ref:`immediate_response ` // message in an external processor response. In such case, no local reply will be sent. // Instead, the stream to the external processor will be closed. There will be no // more external processing for this stream from now on. DisableImmediateResponse bool `protobuf:"varint,15,opt,name=disable_immediate_response,json=disableImmediateResponse,proto3" json:"disable_immediate_response,omitempty"` } func (x *ExternalProcessor) Reset() { *x = ExternalProcessor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExternalProcessor) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExternalProcessor) ProtoMessage() {} func (x *ExternalProcessor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExternalProcessor.ProtoReflect.Descriptor instead. func (*ExternalProcessor) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescGZIP(), []int{0} } func (x *ExternalProcessor) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *ExternalProcessor) GetFailureModeAllow() bool { if x != nil { return x.FailureModeAllow } return false } func (x *ExternalProcessor) GetProcessingMode() *ProcessingMode { if x != nil { return x.ProcessingMode } return nil } func (x *ExternalProcessor) GetAsyncMode() bool { if x != nil { return x.AsyncMode } return false } func (x *ExternalProcessor) GetRequestAttributes() []string { if x != nil { return x.RequestAttributes } return nil } func (x *ExternalProcessor) GetResponseAttributes() []string { if x != nil { return x.ResponseAttributes } return nil } func (x *ExternalProcessor) GetMessageTimeout() *duration.Duration { if x != nil { return x.MessageTimeout } return nil } func (x *ExternalProcessor) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ExternalProcessor) GetMutationRules() *v31.HeaderMutationRules { if x != nil { return x.MutationRules } return nil } func (x *ExternalProcessor) GetMaxMessageTimeout() *duration.Duration { if x != nil { return x.MaxMessageTimeout } return nil } func (x *ExternalProcessor) GetDisableClearRouteCache() bool { if x != nil { return x.DisableClearRouteCache } return false } func (x *ExternalProcessor) GetForwardRules() *HeaderForwardingRules { if x != nil { return x.ForwardRules } return nil } func (x *ExternalProcessor) GetFilterMetadata() *_struct.Struct { if x != nil { return x.FilterMetadata } return nil } func (x *ExternalProcessor) GetAllowModeOverride() bool { if x != nil { return x.AllowModeOverride } return false } func (x *ExternalProcessor) GetDisableImmediateResponse() bool { if x != nil { return x.DisableImmediateResponse } return false } // The HeaderForwardingRules structure specifies what headers are // allowed to be forwarded to the external processing server. // // This works as below: // // 1. If neither “allowed_headers“ nor “disallowed_headers“ is set, all headers are forwarded. // 2. If both “allowed_headers“ and “disallowed_headers“ are set, only headers in the // “allowed_headers“ but not in the “disallowed_headers“ are forwarded. // 3. If “allowed_headers“ is set, and “disallowed_headers“ is not set, only headers in // the “allowed_headers“ are forwarded. // 4. If “disallowed_headers“ is set, and “allowed_headers“ is not set, all headers except // headers in the “disallowed_headers“ are forwarded. type HeaderForwardingRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, specifically allow any header in this list to be forwarded to the external // processing server. This can be overridden by the below “disallowed_headers“. AllowedHeaders *v32.ListStringMatcher `protobuf:"bytes,1,opt,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` // If set, specifically disallow any header in this list to be forwarded to the external // processing server. This overrides the above “allowed_headers“ if a header matches both. DisallowedHeaders *v32.ListStringMatcher `protobuf:"bytes,2,opt,name=disallowed_headers,json=disallowedHeaders,proto3" json:"disallowed_headers,omitempty"` } func (x *HeaderForwardingRules) Reset() { *x = HeaderForwardingRules{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderForwardingRules) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderForwardingRules) ProtoMessage() {} func (x *HeaderForwardingRules) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderForwardingRules.ProtoReflect.Descriptor instead. func (*HeaderForwardingRules) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescGZIP(), []int{1} } func (x *HeaderForwardingRules) GetAllowedHeaders() *v32.ListStringMatcher { if x != nil { return x.AllowedHeaders } return nil } func (x *HeaderForwardingRules) GetDisallowedHeaders() *v32.ListStringMatcher { if x != nil { return x.DisallowedHeaders } return nil } // Extra settings that may be added to per-route configuration for a // virtual host or cluster. type ExtProcPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *ExtProcPerRoute_Disabled // *ExtProcPerRoute_Overrides Override isExtProcPerRoute_Override `protobuf_oneof:"override"` } func (x *ExtProcPerRoute) Reset() { *x = ExtProcPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtProcPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtProcPerRoute) ProtoMessage() {} func (x *ExtProcPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtProcPerRoute.ProtoReflect.Descriptor instead. func (*ExtProcPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescGZIP(), []int{2} } func (m *ExtProcPerRoute) GetOverride() isExtProcPerRoute_Override { if m != nil { return m.Override } return nil } func (x *ExtProcPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*ExtProcPerRoute_Disabled); ok { return x.Disabled } return false } func (x *ExtProcPerRoute) GetOverrides() *ExtProcOverrides { if x, ok := x.GetOverride().(*ExtProcPerRoute_Overrides); ok { return x.Overrides } return nil } type isExtProcPerRoute_Override interface { isExtProcPerRoute_Override() } type ExtProcPerRoute_Disabled struct { // Disable the filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type ExtProcPerRoute_Overrides struct { // Override aspects of the configuration for this route. A set of // overrides in a more specific configuration will override a "disabled" // flag set in a less-specific one. Overrides *ExtProcOverrides `protobuf:"bytes,2,opt,name=overrides,proto3,oneof"` } func (*ExtProcPerRoute_Disabled) isExtProcPerRoute_Override() {} func (*ExtProcPerRoute_Overrides) isExtProcPerRoute_Override() {} // Overrides that may be set on a per-route basis // [#next-free-field: 6] type ExtProcOverrides struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Set a different processing mode for this route than the default. ProcessingMode *ProcessingMode `protobuf:"bytes,1,opt,name=processing_mode,json=processingMode,proto3" json:"processing_mode,omitempty"` // [#not-implemented-hide:] // Set a different asynchronous processing option than the default. AsyncMode bool `protobuf:"varint,2,opt,name=async_mode,json=asyncMode,proto3" json:"async_mode,omitempty"` // [#not-implemented-hide:] // Set different optional attributes than the default setting of the // “request_attributes“ field. RequestAttributes []string `protobuf:"bytes,3,rep,name=request_attributes,json=requestAttributes,proto3" json:"request_attributes,omitempty"` // [#not-implemented-hide:] // Set different optional properties than the default setting of the // “response_attributes“ field. ResponseAttributes []string `protobuf:"bytes,4,rep,name=response_attributes,json=responseAttributes,proto3" json:"response_attributes,omitempty"` // Set a different gRPC service for this route than the default. GrpcService *v3.GrpcService `protobuf:"bytes,5,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *ExtProcOverrides) Reset() { *x = ExtProcOverrides{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtProcOverrides) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtProcOverrides) ProtoMessage() {} func (x *ExtProcOverrides) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtProcOverrides.ProtoReflect.Descriptor instead. func (*ExtProcOverrides) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescGZIP(), []int{3} } func (x *ExtProcOverrides) GetProcessingMode() *ProcessingMode { if x != nil { return x.ProcessingMode } return nil } func (x *ExtProcOverrides) GetAsyncMode() bool { if x != nil { return x.AsyncMode } return false } func (x *ExtProcOverrides) GetRequestAttributes() []string { if x != nil { return x.RequestAttributes } return nil } func (x *ExtProcOverrides) GetResponseAttributes() []string { if x != nil { return x.ResponseAttributes } return nil } func (x *ExtProcOverrides) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } var File_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x07, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x62, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0xaa, 0x01, 0x07, 0x22, 0x03, 0x08, 0x90, 0x1c, 0x32, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0d, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0xaa, 0x01, 0x07, 0x22, 0x03, 0x08, 0x90, 0x1c, 0x32, 0x00, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x15, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0xae, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x45, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescData = file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDesc ) func file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescData) }) return file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDescData } var file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_goTypes = []interface{}{ (*ExternalProcessor)(nil), // 0: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor (*HeaderForwardingRules)(nil), // 1: envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules (*ExtProcPerRoute)(nil), // 2: envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute (*ExtProcOverrides)(nil), // 3: envoy.extensions.filters.http.ext_proc.v3.ExtProcOverrides (*v3.GrpcService)(nil), // 4: envoy.config.core.v3.GrpcService (*ProcessingMode)(nil), // 5: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode (*duration.Duration)(nil), // 6: google.protobuf.Duration (*v31.HeaderMutationRules)(nil), // 7: envoy.config.common.mutation_rules.v3.HeaderMutationRules (*_struct.Struct)(nil), // 8: google.protobuf.Struct (*v32.ListStringMatcher)(nil), // 9: envoy.type.matcher.v3.ListStringMatcher } var file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.grpc_service:type_name -> envoy.config.core.v3.GrpcService 5, // 1: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode 6, // 2: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.message_timeout:type_name -> google.protobuf.Duration 7, // 3: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.mutation_rules:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutationRules 6, // 4: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.max_message_timeout:type_name -> google.protobuf.Duration 1, // 5: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.forward_rules:type_name -> envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules 8, // 6: envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor.filter_metadata:type_name -> google.protobuf.Struct 9, // 7: envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules.allowed_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 9, // 8: envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules.disallowed_headers:type_name -> envoy.type.matcher.v3.ListStringMatcher 3, // 9: envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute.overrides:type_name -> envoy.extensions.filters.http.ext_proc.v3.ExtProcOverrides 5, // 10: envoy.extensions.filters.http.ext_proc.v3.ExtProcOverrides.processing_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode 4, // 11: envoy.extensions.filters.http.ext_proc.v3.ExtProcOverrides.grpc_service:type_name -> envoy.config.core.v3.GrpcService 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_init() } func file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_init() { if File_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto != nil { return } file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExternalProcessor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderForwardingRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtProcPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtProcOverrides); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ExtProcPerRoute_Disabled)(nil), (*ExtProcPerRoute_Overrides)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto = out.File file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_rawDesc = nil file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_goTypes = nil file_envoy_extensions_filters_http_ext_proc_v3_ext_proc_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/v3/ext_proc.pb.validate.go000077500000000000000000000557161454502223200314750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto package ext_procv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ExternalProcessor with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExternalProcessor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExternalProcessor with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExternalProcessorMultiError, or nil if none found. func (m *ExternalProcessor) ValidateAll() error { return m.validate(true) } func (m *ExternalProcessor) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGrpcService() == nil { err := ExternalProcessorValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExternalProcessorValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeAllow if all { switch v := interface{}(m.GetProcessingMode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProcessingMode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExternalProcessorValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AsyncMode if d := m.GetMessageTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ExternalProcessorValidationError{ field: "MessageTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lte := time.Duration(3600*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte || dur > lte { err := ExternalProcessorValidationError{ field: "MessageTimeout", reason: "value must be inside range [0s, 1h0m0s]", } if !all { return err } errors = append(errors, err) } } } // no validation rules for StatPrefix if all { switch v := interface{}(m.GetMutationRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "MutationRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "MutationRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMutationRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExternalProcessorValidationError{ field: "MutationRules", reason: "embedded message failed validation", cause: err, } } } if d := m.GetMaxMessageTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ExternalProcessorValidationError{ field: "MaxMessageTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lte := time.Duration(3600*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte || dur > lte { err := ExternalProcessorValidationError{ field: "MaxMessageTimeout", reason: "value must be inside range [0s, 1h0m0s]", } if !all { return err } errors = append(errors, err) } } } // no validation rules for DisableClearRouteCache if all { switch v := interface{}(m.GetForwardRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "ForwardRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "ForwardRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetForwardRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExternalProcessorValidationError{ field: "ForwardRules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExternalProcessorValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExternalProcessorValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowModeOverride // no validation rules for DisableImmediateResponse if len(errors) > 0 { return ExternalProcessorMultiError(errors) } return nil } // ExternalProcessorMultiError is an error wrapping multiple validation errors // returned by ExternalProcessor.ValidateAll() if the designated constraints // aren't met. type ExternalProcessorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExternalProcessorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExternalProcessorMultiError) AllErrors() []error { return m } // ExternalProcessorValidationError is the validation error returned by // ExternalProcessor.Validate if the designated constraints aren't met. type ExternalProcessorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExternalProcessorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExternalProcessorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExternalProcessorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExternalProcessorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExternalProcessorValidationError) ErrorName() string { return "ExternalProcessorValidationError" } // Error satisfies the builtin error interface func (e ExternalProcessorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExternalProcessor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExternalProcessorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExternalProcessorValidationError{} // Validate checks the field values on HeaderForwardingRules with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderForwardingRules) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderForwardingRules with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderForwardingRulesMultiError, or nil if none found. func (m *HeaderForwardingRules) ValidateAll() error { return m.validate(true) } func (m *HeaderForwardingRules) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAllowedHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderForwardingRulesValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderForwardingRulesValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowedHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderForwardingRulesValidationError{ field: "AllowedHeaders", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDisallowedHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderForwardingRulesValidationError{ field: "DisallowedHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderForwardingRulesValidationError{ field: "DisallowedHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDisallowedHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderForwardingRulesValidationError{ field: "DisallowedHeaders", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderForwardingRulesMultiError(errors) } return nil } // HeaderForwardingRulesMultiError is an error wrapping multiple validation // errors returned by HeaderForwardingRules.ValidateAll() if the designated // constraints aren't met. type HeaderForwardingRulesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderForwardingRulesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderForwardingRulesMultiError) AllErrors() []error { return m } // HeaderForwardingRulesValidationError is the validation error returned by // HeaderForwardingRules.Validate if the designated constraints aren't met. type HeaderForwardingRulesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderForwardingRulesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderForwardingRulesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderForwardingRulesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderForwardingRulesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderForwardingRulesValidationError) ErrorName() string { return "HeaderForwardingRulesValidationError" } // Error satisfies the builtin error interface func (e HeaderForwardingRulesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderForwardingRules.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderForwardingRulesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderForwardingRulesValidationError{} // Validate checks the field values on ExtProcPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtProcPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtProcPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtProcPerRouteMultiError, or nil if none found. func (m *ExtProcPerRoute) ValidateAll() error { return m.validate(true) } func (m *ExtProcPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *ExtProcPerRoute_Disabled: if v == nil { err := ExtProcPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := ExtProcPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *ExtProcPerRoute_Overrides: if v == nil { err := ExtProcPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if all { switch v := interface{}(m.GetOverrides()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtProcPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtProcPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrides()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtProcPerRouteValidationError{ field: "Overrides", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := ExtProcPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ExtProcPerRouteMultiError(errors) } return nil } // ExtProcPerRouteMultiError is an error wrapping multiple validation errors // returned by ExtProcPerRoute.ValidateAll() if the designated constraints // aren't met. type ExtProcPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtProcPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtProcPerRouteMultiError) AllErrors() []error { return m } // ExtProcPerRouteValidationError is the validation error returned by // ExtProcPerRoute.Validate if the designated constraints aren't met. type ExtProcPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtProcPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtProcPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtProcPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtProcPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtProcPerRouteValidationError) ErrorName() string { return "ExtProcPerRouteValidationError" } // Error satisfies the builtin error interface func (e ExtProcPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtProcPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtProcPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtProcPerRouteValidationError{} // Validate checks the field values on ExtProcOverrides with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ExtProcOverrides) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtProcOverrides with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ExtProcOverridesMultiError, or nil if none found. func (m *ExtProcOverrides) ValidateAll() error { return m.validate(true) } func (m *ExtProcOverrides) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetProcessingMode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtProcOverridesValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtProcOverridesValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProcessingMode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtProcOverridesValidationError{ field: "ProcessingMode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AsyncMode if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtProcOverridesValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtProcOverridesValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtProcOverridesValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ExtProcOverridesMultiError(errors) } return nil } // ExtProcOverridesMultiError is an error wrapping multiple validation errors // returned by ExtProcOverrides.ValidateAll() if the designated constraints // aren't met. type ExtProcOverridesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtProcOverridesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtProcOverridesMultiError) AllErrors() []error { return m } // ExtProcOverridesValidationError is the validation error returned by // ExtProcOverrides.Validate if the designated constraints aren't met. type ExtProcOverridesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtProcOverridesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtProcOverridesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtProcOverridesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtProcOverridesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtProcOverridesValidationError) ErrorName() string { return "ExtProcOverridesValidationError" } // Error satisfies the builtin error interface func (e ExtProcOverridesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtProcOverrides.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtProcOverridesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtProcOverridesValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/v3/processing_mode.pb.go000077500000000000000000000533511454502223200312330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto package ext_procv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Control how headers and trailers are handled type ProcessingMode_HeaderSendMode int32 const ( // The default HeaderSendMode depends on which part of the message is being // processed. By default, request and response headers are sent, // while trailers are skipped. ProcessingMode_DEFAULT ProcessingMode_HeaderSendMode = 0 // Send the header or trailer. ProcessingMode_SEND ProcessingMode_HeaderSendMode = 1 // Do not send the header or trailer. ProcessingMode_SKIP ProcessingMode_HeaderSendMode = 2 ) // Enum value maps for ProcessingMode_HeaderSendMode. var ( ProcessingMode_HeaderSendMode_name = map[int32]string{ 0: "DEFAULT", 1: "SEND", 2: "SKIP", } ProcessingMode_HeaderSendMode_value = map[string]int32{ "DEFAULT": 0, "SEND": 1, "SKIP": 2, } ) func (x ProcessingMode_HeaderSendMode) Enum() *ProcessingMode_HeaderSendMode { p := new(ProcessingMode_HeaderSendMode) *p = x return p } func (x ProcessingMode_HeaderSendMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProcessingMode_HeaderSendMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes[0].Descriptor() } func (ProcessingMode_HeaderSendMode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes[0] } func (x ProcessingMode_HeaderSendMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProcessingMode_HeaderSendMode.Descriptor instead. func (ProcessingMode_HeaderSendMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescGZIP(), []int{0, 0} } // Control how the request and response bodies are handled // When body mutation by external processor is enabled, ext_proc filter will always remove // the content length header in three cases below because content length can not be guaranteed // to be set correctly: // 1) STREAMED BodySendMode: header processing completes before body mutation comes back. // 2) BUFFERED_PARTIAL BodySendMode: body is buffered and could be injected in different phases. // 3) BUFFERED BodySendMode + SKIP HeaderSendMode: header processing (e.g., update content-length) is skipped. // // In Envoy's http1 codec implementation, removing content length will enable chunked transfer // encoding whenever feasible. The recipient (either client or server) must be able // to parse and decode the chunked transfer coding. // (see `details in RFC9112 `_). // // In BUFFERED BodySendMode + SEND HeaderSendMode, content length header is allowed but it is // external processor's responsibility to set the content length correctly matched to the length // of mutated body. If they don't match, the corresponding body mutation will be rejected and // local reply will be sent with an error message. type ProcessingMode_BodySendMode int32 const ( // Do not send the body at all. This is the default. ProcessingMode_NONE ProcessingMode_BodySendMode = 0 // Stream the body to the server in pieces as they arrive at the // proxy. ProcessingMode_STREAMED ProcessingMode_BodySendMode = 1 // Buffer the message body in memory and send the entire body at once. // If the body exceeds the configured buffer limit, then the // downstream system will receive an error. ProcessingMode_BUFFERED ProcessingMode_BodySendMode = 2 // Buffer the message body in memory and send the entire body in one // chunk. If the body exceeds the configured buffer limit, then the body contents // up to the buffer limit will be sent. ProcessingMode_BUFFERED_PARTIAL ProcessingMode_BodySendMode = 3 ) // Enum value maps for ProcessingMode_BodySendMode. var ( ProcessingMode_BodySendMode_name = map[int32]string{ 0: "NONE", 1: "STREAMED", 2: "BUFFERED", 3: "BUFFERED_PARTIAL", } ProcessingMode_BodySendMode_value = map[string]int32{ "NONE": 0, "STREAMED": 1, "BUFFERED": 2, "BUFFERED_PARTIAL": 3, } ) func (x ProcessingMode_BodySendMode) Enum() *ProcessingMode_BodySendMode { p := new(ProcessingMode_BodySendMode) *p = x return p } func (x ProcessingMode_BodySendMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProcessingMode_BodySendMode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes[1].Descriptor() } func (ProcessingMode_BodySendMode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes[1] } func (x ProcessingMode_BodySendMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProcessingMode_BodySendMode.Descriptor instead. func (ProcessingMode_BodySendMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescGZIP(), []int{0, 1} } // [#next-free-field: 7] type ProcessingMode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How to handle the request header. Default is "SEND". RequestHeaderMode ProcessingMode_HeaderSendMode `protobuf:"varint,1,opt,name=request_header_mode,json=requestHeaderMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_HeaderSendMode" json:"request_header_mode,omitempty"` // How to handle the response header. Default is "SEND". ResponseHeaderMode ProcessingMode_HeaderSendMode `protobuf:"varint,2,opt,name=response_header_mode,json=responseHeaderMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_HeaderSendMode" json:"response_header_mode,omitempty"` // How to handle the request body. Default is "NONE". RequestBodyMode ProcessingMode_BodySendMode `protobuf:"varint,3,opt,name=request_body_mode,json=requestBodyMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_BodySendMode" json:"request_body_mode,omitempty"` // How do handle the response body. Default is "NONE". ResponseBodyMode ProcessingMode_BodySendMode `protobuf:"varint,4,opt,name=response_body_mode,json=responseBodyMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_BodySendMode" json:"response_body_mode,omitempty"` // How to handle the request trailers. Default is "SKIP". RequestTrailerMode ProcessingMode_HeaderSendMode `protobuf:"varint,5,opt,name=request_trailer_mode,json=requestTrailerMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_HeaderSendMode" json:"request_trailer_mode,omitempty"` // How to handle the response trailers. Default is "SKIP". ResponseTrailerMode ProcessingMode_HeaderSendMode `protobuf:"varint,6,opt,name=response_trailer_mode,json=responseTrailerMode,proto3,enum=envoy.extensions.filters.http.ext_proc.v3.ProcessingMode_HeaderSendMode" json:"response_trailer_mode,omitempty"` } func (x *ProcessingMode) Reset() { *x = ProcessingMode{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProcessingMode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProcessingMode) ProtoMessage() {} func (x *ProcessingMode) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProcessingMode.ProtoReflect.Descriptor instead. func (*ProcessingMode) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescGZIP(), []int{0} } func (x *ProcessingMode) GetRequestHeaderMode() ProcessingMode_HeaderSendMode { if x != nil { return x.RequestHeaderMode } return ProcessingMode_DEFAULT } func (x *ProcessingMode) GetResponseHeaderMode() ProcessingMode_HeaderSendMode { if x != nil { return x.ResponseHeaderMode } return ProcessingMode_DEFAULT } func (x *ProcessingMode) GetRequestBodyMode() ProcessingMode_BodySendMode { if x != nil { return x.RequestBodyMode } return ProcessingMode_NONE } func (x *ProcessingMode) GetResponseBodyMode() ProcessingMode_BodySendMode { if x != nil { return x.ResponseBodyMode } return ProcessingMode_NONE } func (x *ProcessingMode) GetRequestTrailerMode() ProcessingMode_HeaderSendMode { if x != nil { return x.RequestTrailerMode } return ProcessingMode_DEFAULT } func (x *ProcessingMode) GetResponseTrailerMode() ProcessingMode_HeaderSendMode { if x != nil { return x.ResponseTrailerMode } return ProcessingMode_DEFAULT } var File_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x07, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x7e, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, 0x22, 0x4a, 0x0a, 0x0c, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x42, 0xb5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescData = file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDesc ) func file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescData) }) return file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDescData } var file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_goTypes = []interface{}{ (ProcessingMode_HeaderSendMode)(0), // 0: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode (ProcessingMode_BodySendMode)(0), // 1: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode (*ProcessingMode)(nil), // 2: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode } var file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.request_header_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode 0, // 1: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.response_header_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode 1, // 2: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.request_body_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode 1, // 3: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.response_body_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode 0, // 4: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.request_trailer_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode 0, // 5: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.response_trailer_mode:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_init() } func file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_init() { if File_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProcessingMode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDesc, NumEnums: 2, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto = out.File file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_rawDesc = nil file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_goTypes = nil file_envoy_extensions_filters_http_ext_proc_v3_processing_mode_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/ext_proc/v3/processing_mode.pb.validate.go000077500000000000000000000117121454502223200330160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto package ext_procv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProcessingMode with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ProcessingMode) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProcessingMode with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ProcessingModeMultiError, // or nil if none found. func (m *ProcessingMode) ValidateAll() error { return m.validate(true) } func (m *ProcessingMode) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := ProcessingMode_HeaderSendMode_name[int32(m.GetRequestHeaderMode())]; !ok { err := ProcessingModeValidationError{ field: "RequestHeaderMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProcessingMode_HeaderSendMode_name[int32(m.GetResponseHeaderMode())]; !ok { err := ProcessingModeValidationError{ field: "ResponseHeaderMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProcessingMode_BodySendMode_name[int32(m.GetRequestBodyMode())]; !ok { err := ProcessingModeValidationError{ field: "RequestBodyMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProcessingMode_BodySendMode_name[int32(m.GetResponseBodyMode())]; !ok { err := ProcessingModeValidationError{ field: "ResponseBodyMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProcessingMode_HeaderSendMode_name[int32(m.GetRequestTrailerMode())]; !ok { err := ProcessingModeValidationError{ field: "RequestTrailerMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProcessingMode_HeaderSendMode_name[int32(m.GetResponseTrailerMode())]; !ok { err := ProcessingModeValidationError{ field: "ResponseTrailerMode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ProcessingModeMultiError(errors) } return nil } // ProcessingModeMultiError is an error wrapping multiple validation errors // returned by ProcessingMode.ValidateAll() if the designated constraints // aren't met. type ProcessingModeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProcessingModeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProcessingModeMultiError) AllErrors() []error { return m } // ProcessingModeValidationError is the validation error returned by // ProcessingMode.Validate if the designated constraints aren't met. type ProcessingModeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProcessingModeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProcessingModeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProcessingModeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProcessingModeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProcessingModeValidationError) ErrorName() string { return "ProcessingModeValidationError" } // Error satisfies the builtin error interface func (e ProcessingModeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProcessingMode.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProcessingModeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProcessingModeValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/fault/000077500000000000000000000000001454502223200240525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/fault/v3/000077500000000000000000000000001454502223200244025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/fault/v3/fault.pb.go000077500000000000000000001005301454502223200264460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/fault/v3/fault.proto package faultv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/common/fault/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type FaultAbort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ErrorType: // // *FaultAbort_HttpStatus // *FaultAbort_GrpcStatus // *FaultAbort_HeaderAbort_ ErrorType isFaultAbort_ErrorType `protobuf_oneof:"error_type"` // The percentage of requests/operations/connections that will be aborted with the error code // provided. Percentage *v3.FractionalPercent `protobuf:"bytes,3,opt,name=percentage,proto3" json:"percentage,omitempty"` } func (x *FaultAbort) Reset() { *x = FaultAbort{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultAbort) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultAbort) ProtoMessage() {} func (x *FaultAbort) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultAbort.ProtoReflect.Descriptor instead. func (*FaultAbort) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{0} } func (m *FaultAbort) GetErrorType() isFaultAbort_ErrorType { if m != nil { return m.ErrorType } return nil } func (x *FaultAbort) GetHttpStatus() uint32 { if x, ok := x.GetErrorType().(*FaultAbort_HttpStatus); ok { return x.HttpStatus } return 0 } func (x *FaultAbort) GetGrpcStatus() uint32 { if x, ok := x.GetErrorType().(*FaultAbort_GrpcStatus); ok { return x.GrpcStatus } return 0 } func (x *FaultAbort) GetHeaderAbort() *FaultAbort_HeaderAbort { if x, ok := x.GetErrorType().(*FaultAbort_HeaderAbort_); ok { return x.HeaderAbort } return nil } func (x *FaultAbort) GetPercentage() *v3.FractionalPercent { if x != nil { return x.Percentage } return nil } type isFaultAbort_ErrorType interface { isFaultAbort_ErrorType() } type FaultAbort_HttpStatus struct { // HTTP status code to use to abort the HTTP request. HttpStatus uint32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"` } type FaultAbort_GrpcStatus struct { // gRPC status code to use to abort the gRPC request. GrpcStatus uint32 `protobuf:"varint,5,opt,name=grpc_status,json=grpcStatus,proto3,oneof"` } type FaultAbort_HeaderAbort_ struct { // Fault aborts are controlled via an HTTP header (if applicable). HeaderAbort *FaultAbort_HeaderAbort `protobuf:"bytes,4,opt,name=header_abort,json=headerAbort,proto3,oneof"` } func (*FaultAbort_HttpStatus) isFaultAbort_ErrorType() {} func (*FaultAbort_GrpcStatus) isFaultAbort_ErrorType() {} func (*FaultAbort_HeaderAbort_) isFaultAbort_ErrorType() {} // [#next-free-field: 17] type HTTPFault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If specified, the filter will inject delays based on the values in the // object. Delay *v31.FaultDelay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` // If specified, the filter will abort requests based on the values in // the object. At least “abort“ or “delay“ must be specified. Abort *FaultAbort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` // Specifies the name of the (destination) upstream cluster that the // filter should match on. Fault injection will be restricted to requests // bound to the specific upstream cluster. UpstreamCluster string `protobuf:"bytes,3,opt,name=upstream_cluster,json=upstreamCluster,proto3" json:"upstream_cluster,omitempty"` // Specifies a set of headers that the filter should match on. The fault // injection filter can be applied selectively to requests that match a set of // headers specified in the fault filter config. The chances of actual fault // injection further depend on the value of the :ref:`percentage // ` field. // The filter will check the request's headers against all the specified // headers in the filter config. A match will happen if all the headers in the // config are present in the request with the same values (or based on // presence if the “value“ field is not in the config). Headers []*v32.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` // Faults are injected for the specified list of downstream hosts. If this // setting is not set, faults are injected for all downstream nodes. // Downstream node name is taken from :ref:`the HTTP // x-envoy-downstream-service-node // ` header and compared // against downstream_nodes list. DownstreamNodes []string `protobuf:"bytes,5,rep,name=downstream_nodes,json=downstreamNodes,proto3" json:"downstream_nodes,omitempty"` // The maximum number of faults that can be active at a single time via the configured fault // filter. Note that because this setting can be overridden at the route level, it's possible // for the number of active faults to be greater than this value (if injected via a different // route). If not specified, defaults to unlimited. This setting can be overridden via // “runtime “ and any faults that are not injected // due to overflow will be indicated via the “faults_overflow // “ stat. // // .. attention:: // // Like other :ref:`circuit breakers ` in Envoy, this is a fuzzy // limit. It's possible for the number of active faults to rise slightly above the configured // amount due to the implementation details. MaxActiveFaults *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=max_active_faults,json=maxActiveFaults,proto3" json:"max_active_faults,omitempty"` // The response rate limit to be applied to the response body of the stream. When configured, // the percentage can be overridden by the :ref:`fault.http.rate_limit.response_percent // ` runtime key. // // .. attention:: // // This is a per-stream limit versus a connection level limit. This means that concurrent streams // will each get an independent limit. ResponseRateLimit *v31.FaultRateLimit `protobuf:"bytes,7,opt,name=response_rate_limit,json=responseRateLimit,proto3" json:"response_rate_limit,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.delay.fixed_delay_percent DelayPercentRuntime string `protobuf:"bytes,8,opt,name=delay_percent_runtime,json=delayPercentRuntime,proto3" json:"delay_percent_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.abort.abort_percent AbortPercentRuntime string `protobuf:"bytes,9,opt,name=abort_percent_runtime,json=abortPercentRuntime,proto3" json:"abort_percent_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.delay.fixed_duration_ms DelayDurationRuntime string `protobuf:"bytes,10,opt,name=delay_duration_runtime,json=delayDurationRuntime,proto3" json:"delay_duration_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.abort.http_status AbortHttpStatusRuntime string `protobuf:"bytes,11,opt,name=abort_http_status_runtime,json=abortHttpStatusRuntime,proto3" json:"abort_http_status_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.max_active_faults MaxActiveFaultsRuntime string `protobuf:"bytes,12,opt,name=max_active_faults_runtime,json=maxActiveFaultsRuntime,proto3" json:"max_active_faults_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.rate_limit.response_percent ResponseRateLimitPercentRuntime string `protobuf:"bytes,13,opt,name=response_rate_limit_percent_runtime,json=responseRateLimitPercentRuntime,proto3" json:"response_rate_limit_percent_runtime,omitempty"` // The runtime key to override the :ref:`default ` // runtime. The default is: fault.http.abort.grpc_status AbortGrpcStatusRuntime string `protobuf:"bytes,14,opt,name=abort_grpc_status_runtime,json=abortGrpcStatusRuntime,proto3" json:"abort_grpc_status_runtime,omitempty"` // To control whether stats storage is allocated dynamically for each downstream server. // If set to true, "x-envoy-downstream-service-cluster" field of header will be ignored by this filter. // If set to false, dynamic stats storage will be allocated for the downstream cluster name. // Default value is false. DisableDownstreamClusterStats bool `protobuf:"varint,15,opt,name=disable_downstream_cluster_stats,json=disableDownstreamClusterStats,proto3" json:"disable_downstream_cluster_stats,omitempty"` // When an abort or delay fault is executed, the metadata struct provided here will be added to the // request's dynamic metadata under the namespace corresponding to the name of the fault filter. // This data can be logged as part of Access Logs using the :ref:`command operator // ` %DYNAMIC_METADATA(NAMESPACE)%, where NAMESPACE is the name of // the fault filter. FilterMetadata *_struct.Struct `protobuf:"bytes,16,opt,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty"` } func (x *HTTPFault) Reset() { *x = HTTPFault{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPFault) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPFault) ProtoMessage() {} func (x *HTTPFault) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPFault.ProtoReflect.Descriptor instead. func (*HTTPFault) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{1} } func (x *HTTPFault) GetDelay() *v31.FaultDelay { if x != nil { return x.Delay } return nil } func (x *HTTPFault) GetAbort() *FaultAbort { if x != nil { return x.Abort } return nil } func (x *HTTPFault) GetUpstreamCluster() string { if x != nil { return x.UpstreamCluster } return "" } func (x *HTTPFault) GetHeaders() []*v32.HeaderMatcher { if x != nil { return x.Headers } return nil } func (x *HTTPFault) GetDownstreamNodes() []string { if x != nil { return x.DownstreamNodes } return nil } func (x *HTTPFault) GetMaxActiveFaults() *wrappers.UInt32Value { if x != nil { return x.MaxActiveFaults } return nil } func (x *HTTPFault) GetResponseRateLimit() *v31.FaultRateLimit { if x != nil { return x.ResponseRateLimit } return nil } func (x *HTTPFault) GetDelayPercentRuntime() string { if x != nil { return x.DelayPercentRuntime } return "" } func (x *HTTPFault) GetAbortPercentRuntime() string { if x != nil { return x.AbortPercentRuntime } return "" } func (x *HTTPFault) GetDelayDurationRuntime() string { if x != nil { return x.DelayDurationRuntime } return "" } func (x *HTTPFault) GetAbortHttpStatusRuntime() string { if x != nil { return x.AbortHttpStatusRuntime } return "" } func (x *HTTPFault) GetMaxActiveFaultsRuntime() string { if x != nil { return x.MaxActiveFaultsRuntime } return "" } func (x *HTTPFault) GetResponseRateLimitPercentRuntime() string { if x != nil { return x.ResponseRateLimitPercentRuntime } return "" } func (x *HTTPFault) GetAbortGrpcStatusRuntime() string { if x != nil { return x.AbortGrpcStatusRuntime } return "" } func (x *HTTPFault) GetDisableDownstreamClusterStats() bool { if x != nil { return x.DisableDownstreamClusterStats } return false } func (x *HTTPFault) GetFilterMetadata() *_struct.Struct { if x != nil { return x.FilterMetadata } return nil } // Fault aborts are controlled via an HTTP header (if applicable). See the // :ref:`HTTP fault filter ` documentation for // more information. type FaultAbort_HeaderAbort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FaultAbort_HeaderAbort) Reset() { *x = FaultAbort_HeaderAbort{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FaultAbort_HeaderAbort) String() string { return protoimpl.X.MessageStringOf(x) } func (*FaultAbort_HeaderAbort) ProtoMessage() {} func (x *FaultAbort_HeaderAbort) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FaultAbort_HeaderAbort.ProtoReflect.Descriptor instead. func (*FaultAbort_HeaderAbort) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_extensions_filters_http_fault_v3_fault_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x03, 0x0a, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 0x28, 0xc8, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x63, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x4e, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x42, 0x11, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xc7, 0x08, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x42, 0xa3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData = file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc ) func file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData) }) return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData } var file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes = []interface{}{ (*FaultAbort)(nil), // 0: envoy.extensions.filters.http.fault.v3.FaultAbort (*HTTPFault)(nil), // 1: envoy.extensions.filters.http.fault.v3.HTTPFault (*FaultAbort_HeaderAbort)(nil), // 2: envoy.extensions.filters.http.fault.v3.FaultAbort.HeaderAbort (*v3.FractionalPercent)(nil), // 3: envoy.type.v3.FractionalPercent (*v31.FaultDelay)(nil), // 4: envoy.extensions.filters.common.fault.v3.FaultDelay (*v32.HeaderMatcher)(nil), // 5: envoy.config.route.v3.HeaderMatcher (*wrappers.UInt32Value)(nil), // 6: google.protobuf.UInt32Value (*v31.FaultRateLimit)(nil), // 7: envoy.extensions.filters.common.fault.v3.FaultRateLimit (*_struct.Struct)(nil), // 8: google.protobuf.Struct } var file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.fault.v3.FaultAbort.header_abort:type_name -> envoy.extensions.filters.http.fault.v3.FaultAbort.HeaderAbort 3, // 1: envoy.extensions.filters.http.fault.v3.FaultAbort.percentage:type_name -> envoy.type.v3.FractionalPercent 4, // 2: envoy.extensions.filters.http.fault.v3.HTTPFault.delay:type_name -> envoy.extensions.filters.common.fault.v3.FaultDelay 0, // 3: envoy.extensions.filters.http.fault.v3.HTTPFault.abort:type_name -> envoy.extensions.filters.http.fault.v3.FaultAbort 5, // 4: envoy.extensions.filters.http.fault.v3.HTTPFault.headers:type_name -> envoy.config.route.v3.HeaderMatcher 6, // 5: envoy.extensions.filters.http.fault.v3.HTTPFault.max_active_faults:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.extensions.filters.http.fault.v3.HTTPFault.response_rate_limit:type_name -> envoy.extensions.filters.common.fault.v3.FaultRateLimit 8, // 7: envoy.extensions.filters.http.fault.v3.HTTPFault.filter_metadata:type_name -> google.protobuf.Struct 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_fault_v3_fault_proto_init() } func file_envoy_extensions_filters_http_fault_v3_fault_proto_init() { if File_envoy_extensions_filters_http_fault_v3_fault_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultAbort); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPFault); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FaultAbort_HeaderAbort); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FaultAbort_HttpStatus)(nil), (*FaultAbort_GrpcStatus)(nil), (*FaultAbort_HeaderAbort_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_fault_v3_fault_proto = out.File file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc = nil file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes = nil file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/fault/v3/fault.pb.validate.go000077500000000000000000000417641454502223200302530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/fault/v3/fault.proto package faultv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FaultAbort with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FaultAbort) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultAbort with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FaultAbortMultiError, or // nil if none found. func (m *FaultAbort) ValidateAll() error { return m.validate(true) } func (m *FaultAbort) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPercentage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPercentage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultAbortValidationError{ field: "Percentage", reason: "embedded message failed validation", cause: err, } } } oneofErrorTypePresent := false switch v := m.ErrorType.(type) { case *FaultAbort_HttpStatus: if v == nil { err := FaultAbortValidationError{ field: "ErrorType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofErrorTypePresent = true if val := m.GetHttpStatus(); val < 200 || val >= 600 { err := FaultAbortValidationError{ field: "HttpStatus", reason: "value must be inside range [200, 600)", } if !all { return err } errors = append(errors, err) } case *FaultAbort_GrpcStatus: if v == nil { err := FaultAbortValidationError{ field: "ErrorType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofErrorTypePresent = true // no validation rules for GrpcStatus case *FaultAbort_HeaderAbort_: if v == nil { err := FaultAbortValidationError{ field: "ErrorType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofErrorTypePresent = true if all { switch v := interface{}(m.GetHeaderAbort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderAbort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FaultAbortValidationError{ field: "HeaderAbort", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofErrorTypePresent { err := FaultAbortValidationError{ field: "ErrorType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FaultAbortMultiError(errors) } return nil } // FaultAbortMultiError is an error wrapping multiple validation errors // returned by FaultAbort.ValidateAll() if the designated constraints aren't met. type FaultAbortMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultAbortMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultAbortMultiError) AllErrors() []error { return m } // FaultAbortValidationError is the validation error returned by // FaultAbort.Validate if the designated constraints aren't met. type FaultAbortValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultAbortValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultAbortValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultAbortValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultAbortValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultAbortValidationError) ErrorName() string { return "FaultAbortValidationError" } // Error satisfies the builtin error interface func (e FaultAbortValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultAbort.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultAbortValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultAbortValidationError{} // Validate checks the field values on HTTPFault with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HTTPFault) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HTTPFault with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HTTPFaultMultiError, or nil // if none found. func (m *HTTPFault) ValidateAll() error { return m.validate(true) } func (m *HTTPFault) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAbort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAbort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "Abort", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UpstreamCluster for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxActiveFaults()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxActiveFaults()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "MaxActiveFaults", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponseRateLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseRateLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "ResponseRateLimit", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DelayPercentRuntime // no validation rules for AbortPercentRuntime // no validation rules for DelayDurationRuntime // no validation rules for AbortHttpStatusRuntime // no validation rules for MaxActiveFaultsRuntime // no validation rules for ResponseRateLimitPercentRuntime // no validation rules for AbortGrpcStatusRuntime // no validation rules for DisableDownstreamClusterStats if all { switch v := interface{}(m.GetFilterMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HTTPFaultValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HTTPFaultValidationError{ field: "FilterMetadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HTTPFaultMultiError(errors) } return nil } // HTTPFaultMultiError is an error wrapping multiple validation errors returned // by HTTPFault.ValidateAll() if the designated constraints aren't met. type HTTPFaultMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HTTPFaultMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HTTPFaultMultiError) AllErrors() []error { return m } // HTTPFaultValidationError is the validation error returned by // HTTPFault.Validate if the designated constraints aren't met. type HTTPFaultValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HTTPFaultValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HTTPFaultValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HTTPFaultValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HTTPFaultValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HTTPFaultValidationError) ErrorName() string { return "HTTPFaultValidationError" } // Error satisfies the builtin error interface func (e HTTPFaultValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHTTPFault.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HTTPFaultValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HTTPFaultValidationError{} // Validate checks the field values on FaultAbort_HeaderAbort with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FaultAbort_HeaderAbort) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FaultAbort_HeaderAbort with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FaultAbort_HeaderAbortMultiError, or nil if none found. func (m *FaultAbort_HeaderAbort) ValidateAll() error { return m.validate(true) } func (m *FaultAbort_HeaderAbort) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FaultAbort_HeaderAbortMultiError(errors) } return nil } // FaultAbort_HeaderAbortMultiError is an error wrapping multiple validation // errors returned by FaultAbort_HeaderAbort.ValidateAll() if the designated // constraints aren't met. type FaultAbort_HeaderAbortMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FaultAbort_HeaderAbortMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FaultAbort_HeaderAbortMultiError) AllErrors() []error { return m } // FaultAbort_HeaderAbortValidationError is the validation error returned by // FaultAbort_HeaderAbort.Validate if the designated constraints aren't met. type FaultAbort_HeaderAbortValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FaultAbort_HeaderAbortValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FaultAbort_HeaderAbortValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FaultAbort_HeaderAbortValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FaultAbort_HeaderAbortValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FaultAbort_HeaderAbortValidationError) ErrorName() string { return "FaultAbort_HeaderAbortValidationError" } // Error satisfies the builtin error interface func (e FaultAbort_HeaderAbortValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFaultAbort_HeaderAbort.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FaultAbort_HeaderAbortValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FaultAbort_HeaderAbortValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/file_system_buffer/000077500000000000000000000000001454502223200266135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/file_system_buffer/v3/000077500000000000000000000000001454502223200271435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/file_system_buffer/v3/file_system_buffer.pb.go000077500000000000000000001261161454502223200337600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/file_system_buffer/v3/file_system_buffer.proto package file_system_bufferv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/async_files/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The behavior of the filter for a stream. // [#next-free-field: 6] type BufferBehavior struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Behavior: // // *BufferBehavior_StreamWhenPossible_ // *BufferBehavior_Bypass_ // *BufferBehavior_InjectContentLengthIfNecessary_ // *BufferBehavior_FullyBufferAndAlwaysInjectContentLength_ // *BufferBehavior_FullyBuffer_ Behavior isBufferBehavior_Behavior `protobuf_oneof:"behavior"` } func (x *BufferBehavior) Reset() { *x = BufferBehavior{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior) ProtoMessage() {} func (x *BufferBehavior) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior.ProtoReflect.Descriptor instead. func (*BufferBehavior) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0} } func (m *BufferBehavior) GetBehavior() isBufferBehavior_Behavior { if m != nil { return m.Behavior } return nil } func (x *BufferBehavior) GetStreamWhenPossible() *BufferBehavior_StreamWhenPossible { if x, ok := x.GetBehavior().(*BufferBehavior_StreamWhenPossible_); ok { return x.StreamWhenPossible } return nil } func (x *BufferBehavior) GetBypass() *BufferBehavior_Bypass { if x, ok := x.GetBehavior().(*BufferBehavior_Bypass_); ok { return x.Bypass } return nil } func (x *BufferBehavior) GetInjectContentLengthIfNecessary() *BufferBehavior_InjectContentLengthIfNecessary { if x, ok := x.GetBehavior().(*BufferBehavior_InjectContentLengthIfNecessary_); ok { return x.InjectContentLengthIfNecessary } return nil } func (x *BufferBehavior) GetFullyBufferAndAlwaysInjectContentLength() *BufferBehavior_FullyBufferAndAlwaysInjectContentLength { if x, ok := x.GetBehavior().(*BufferBehavior_FullyBufferAndAlwaysInjectContentLength_); ok { return x.FullyBufferAndAlwaysInjectContentLength } return nil } func (x *BufferBehavior) GetFullyBuffer() *BufferBehavior_FullyBuffer { if x, ok := x.GetBehavior().(*BufferBehavior_FullyBuffer_); ok { return x.FullyBuffer } return nil } type isBufferBehavior_Behavior interface { isBufferBehavior_Behavior() } type BufferBehavior_StreamWhenPossible_ struct { // Don't inject “content-length“ header. // Output immediately, buffer only if output is slower than input. StreamWhenPossible *BufferBehavior_StreamWhenPossible `protobuf:"bytes,1,opt,name=stream_when_possible,json=streamWhenPossible,proto3,oneof"` } type BufferBehavior_Bypass_ struct { // Never buffer, do nothing. Bypass *BufferBehavior_Bypass `protobuf:"bytes,2,opt,name=bypass,proto3,oneof"` } type BufferBehavior_InjectContentLengthIfNecessary_ struct { // If “content-length“ is not present, buffer the entire input, // inject “content-length“ header, then output. // If “content-length“ is already present, act like “stream_when_possible“. InjectContentLengthIfNecessary *BufferBehavior_InjectContentLengthIfNecessary `protobuf:"bytes,3,opt,name=inject_content_length_if_necessary,json=injectContentLengthIfNecessary,proto3,oneof"` } type BufferBehavior_FullyBufferAndAlwaysInjectContentLength_ struct { // Always buffer the entire input, and inject “content-length“, // overwriting any provided content-length header. FullyBufferAndAlwaysInjectContentLength *BufferBehavior_FullyBufferAndAlwaysInjectContentLength `protobuf:"bytes,4,opt,name=fully_buffer_and_always_inject_content_length,json=fullyBufferAndAlwaysInjectContentLength,proto3,oneof"` } type BufferBehavior_FullyBuffer_ struct { // Always buffer the entire input, do not modify “content-length“. FullyBuffer *BufferBehavior_FullyBuffer `protobuf:"bytes,5,opt,name=fully_buffer,json=fullyBuffer,proto3,oneof"` } func (*BufferBehavior_StreamWhenPossible_) isBufferBehavior_Behavior() {} func (*BufferBehavior_Bypass_) isBufferBehavior_Behavior() {} func (*BufferBehavior_InjectContentLengthIfNecessary_) isBufferBehavior_Behavior() {} func (*BufferBehavior_FullyBufferAndAlwaysInjectContentLength_) isBufferBehavior_Behavior() {} func (*BufferBehavior_FullyBuffer_) isBufferBehavior_Behavior() {} // The configuration for one direction of the filter behavior. type StreamConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to bypass / stream / fully buffer / etc. // If unset in route, vhost and listener config, the default is “stream_when_possible“. Behavior *BufferBehavior `protobuf:"bytes,1,opt,name=behavior,proto3" json:"behavior,omitempty"` // The amount stored in the memory buffer before buffering to disk. // If unset in route, vhost and listener config, defaults to a hardcoded value of 1MiB MemoryBufferBytesLimit *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=memory_buffer_bytes_limit,json=memoryBufferBytesLimit,proto3" json:"memory_buffer_bytes_limit,omitempty"` // The maximum storage (excluding memory) to be buffered in this filter. // If unset in route, vhost and listener config, defaults to a hardcoded value of 32MiB StorageBufferBytesLimit *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=storage_buffer_bytes_limit,json=storageBufferBytesLimit,proto3" json:"storage_buffer_bytes_limit,omitempty"` // The maximum amount that can be queued for writing to storage, above which the // source is requested to pause. If unset, defaults to the same value as // “memory_buffer_bytes_limit“. // // For example, assuming the recipient is not consuming data at all, if // “memory_buffer_bytes_limit“ was 32MiB, and “storage_buffer_queue_high_watermark_bytes“ // was 64MiB, and the filesystem is backed up so writes are not occurring promptly, // then: // // - Any request less than 32MiB will eventually pass through without ever attempting // to write to disk. // - Any request with over 32MiB buffered will start trying to write to disk. // If it reaches (32+64)MiB buffered in memory (write to disk isn't keeping up), a high // watermark signal is sent to the source. // - Any stream whose total size exceeds // “memory_buffer_bytes_limit + storage_buffer_bytes_limit“ will provoke an error. // (Note, if the recipient *is* consuming data then it is possible for such an // oversized request to pass through the buffer filter, provided the recipient // isn't consuming data too slowly.) // // The low watermark signal is sent when the memory buffer is at size // “memory_buffer_bytes_limit + (storage_buffer_queue_high_watermark_bytes / 2)“. StorageBufferQueueHighWatermarkBytes *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=storage_buffer_queue_high_watermark_bytes,json=storageBufferQueueHighWatermarkBytes,proto3" json:"storage_buffer_queue_high_watermark_bytes,omitempty"` } func (x *StreamConfig) Reset() { *x = StreamConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamConfig) ProtoMessage() {} func (x *StreamConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamConfig.ProtoReflect.Descriptor instead. func (*StreamConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{1} } func (x *StreamConfig) GetBehavior() *BufferBehavior { if x != nil { return x.Behavior } return nil } func (x *StreamConfig) GetMemoryBufferBytesLimit() *wrappers.UInt64Value { if x != nil { return x.MemoryBufferBytesLimit } return nil } func (x *StreamConfig) GetStorageBufferBytesLimit() *wrappers.UInt64Value { if x != nil { return x.StorageBufferBytesLimit } return nil } func (x *StreamConfig) GetStorageBufferQueueHighWatermarkBytes() *wrappers.UInt64Value { if x != nil { return x.StorageBufferQueueHighWatermarkBytes } return nil } // A :ref:`file system buffer ` filter configuration. // // Route-specific configs override only the fields they explicitly include; unset // fields inherit from the vhost or listener-level config, or, if never set, // and not required, use a default value. type FileSystemBufferFilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A configuration for an AsyncFileManager. // // If unset in route, vhost and listener, and the behavior is not “bypass“ // in both directions, an Internal Server Error response will be sent. ManagerConfig *v3.AsyncFileManagerConfig `protobuf:"bytes,1,opt,name=manager_config,json=managerConfig,proto3" json:"manager_config,omitempty"` // An optional path to which the unlinked files should be written - this may // determine which physical storage device will be used. // // If unset in route, vhost and listener, will use the environment variable // “TMPDIR“, or, if that's also unset, will use “/tmp“. StorageBufferPath *wrappers.StringValue `protobuf:"bytes,2,opt,name=storage_buffer_path,json=storageBufferPath,proto3" json:"storage_buffer_path,omitempty"` // Optional configuration for how to buffer (or not) requests. // If unset in route, vhost and listener, “StreamConfig“ default values will be used // (with behavior “stream_when_possible“) Request *StreamConfig `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` // Optional configuration for how to buffer (or not) responses. // If unset in route, vhost and listener, “StreamConfig“ default values will be used // (with behavior “stream_when_possible“) Response *StreamConfig `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` } func (x *FileSystemBufferFilterConfig) Reset() { *x = FileSystemBufferFilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileSystemBufferFilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileSystemBufferFilterConfig) ProtoMessage() {} func (x *FileSystemBufferFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileSystemBufferFilterConfig.ProtoReflect.Descriptor instead. func (*FileSystemBufferFilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{2} } func (x *FileSystemBufferFilterConfig) GetManagerConfig() *v3.AsyncFileManagerConfig { if x != nil { return x.ManagerConfig } return nil } func (x *FileSystemBufferFilterConfig) GetStorageBufferPath() *wrappers.StringValue { if x != nil { return x.StorageBufferPath } return nil } func (x *FileSystemBufferFilterConfig) GetRequest() *StreamConfig { if x != nil { return x.Request } return nil } func (x *FileSystemBufferFilterConfig) GetResponse() *StreamConfig { if x != nil { return x.Response } return nil } type BufferBehavior_StreamWhenPossible struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BufferBehavior_StreamWhenPossible) Reset() { *x = BufferBehavior_StreamWhenPossible{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior_StreamWhenPossible) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior_StreamWhenPossible) ProtoMessage() {} func (x *BufferBehavior_StreamWhenPossible) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior_StreamWhenPossible.ProtoReflect.Descriptor instead. func (*BufferBehavior_StreamWhenPossible) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0, 0} } type BufferBehavior_Bypass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BufferBehavior_Bypass) Reset() { *x = BufferBehavior_Bypass{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior_Bypass) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior_Bypass) ProtoMessage() {} func (x *BufferBehavior_Bypass) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior_Bypass.ProtoReflect.Descriptor instead. func (*BufferBehavior_Bypass) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0, 1} } type BufferBehavior_InjectContentLengthIfNecessary struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BufferBehavior_InjectContentLengthIfNecessary) Reset() { *x = BufferBehavior_InjectContentLengthIfNecessary{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior_InjectContentLengthIfNecessary) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior_InjectContentLengthIfNecessary) ProtoMessage() {} func (x *BufferBehavior_InjectContentLengthIfNecessary) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior_InjectContentLengthIfNecessary.ProtoReflect.Descriptor instead. func (*BufferBehavior_InjectContentLengthIfNecessary) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0, 2} } type BufferBehavior_FullyBufferAndAlwaysInjectContentLength struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) Reset() { *x = BufferBehavior_FullyBufferAndAlwaysInjectContentLength{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior_FullyBufferAndAlwaysInjectContentLength) ProtoMessage() {} func (x *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior_FullyBufferAndAlwaysInjectContentLength.ProtoReflect.Descriptor instead. func (*BufferBehavior_FullyBufferAndAlwaysInjectContentLength) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0, 3} } type BufferBehavior_FullyBuffer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BufferBehavior_FullyBuffer) Reset() { *x = BufferBehavior_FullyBuffer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BufferBehavior_FullyBuffer) String() string { return protoimpl.X.MessageStringOf(x) } func (*BufferBehavior_FullyBuffer) ProtoMessage() {} func (x *BufferBehavior_FullyBuffer) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BufferBehavior_FullyBuffer.ProtoReflect.Descriptor instead. func (*BufferBehavior_FullyBuffer) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP(), []int{0, 4} } var File_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDesc = []byte{ 0x0a, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x07, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x8a, 0x01, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x06, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x48, 0x00, 0x52, 0x06, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x22, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x49, 0x66, 0x4e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x49, 0x66, 0x4e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0xcd, 0x01, 0x0a, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x48, 0x00, 0x52, 0x27, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x74, 0x0a, 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x1a, 0x14, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x1a, 0x08, 0x0a, 0x06, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x1a, 0x20, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x49, 0x66, 0x4e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x1a, 0x29, 0x0a, 0x27, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x0d, 0x0a, 0x0b, 0x46, 0x75, 0x6c, 0x6c, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa3, 0x03, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x60, 0x0a, 0x19, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x16, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x59, 0x0a, 0x1a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x75, 0x0a, 0x29, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x24, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x48, 0x69, 0x67, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x1c, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x13, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x5b, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xdd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescData = file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDesc ) func file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescData) }) return file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDescData } var file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_goTypes = []interface{}{ (*BufferBehavior)(nil), // 0: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior (*StreamConfig)(nil), // 1: envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig (*FileSystemBufferFilterConfig)(nil), // 2: envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig (*BufferBehavior_StreamWhenPossible)(nil), // 3: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.StreamWhenPossible (*BufferBehavior_Bypass)(nil), // 4: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.Bypass (*BufferBehavior_InjectContentLengthIfNecessary)(nil), // 5: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.InjectContentLengthIfNecessary (*BufferBehavior_FullyBufferAndAlwaysInjectContentLength)(nil), // 6: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.FullyBufferAndAlwaysInjectContentLength (*BufferBehavior_FullyBuffer)(nil), // 7: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.FullyBuffer (*wrappers.UInt64Value)(nil), // 8: google.protobuf.UInt64Value (*v3.AsyncFileManagerConfig)(nil), // 9: envoy.extensions.common.async_files.v3.AsyncFileManagerConfig (*wrappers.StringValue)(nil), // 10: google.protobuf.StringValue } var file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.stream_when_possible:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.StreamWhenPossible 4, // 1: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.bypass:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.Bypass 5, // 2: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.inject_content_length_if_necessary:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.InjectContentLengthIfNecessary 6, // 3: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.fully_buffer_and_always_inject_content_length:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.FullyBufferAndAlwaysInjectContentLength 7, // 4: envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.fully_buffer:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior.FullyBuffer 0, // 5: envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig.behavior:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.BufferBehavior 8, // 6: envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig.memory_buffer_bytes_limit:type_name -> google.protobuf.UInt64Value 8, // 7: envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig.storage_buffer_bytes_limit:type_name -> google.protobuf.UInt64Value 8, // 8: envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig.storage_buffer_queue_high_watermark_bytes:type_name -> google.protobuf.UInt64Value 9, // 9: envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig.manager_config:type_name -> envoy.extensions.common.async_files.v3.AsyncFileManagerConfig 10, // 10: envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig.storage_buffer_path:type_name -> google.protobuf.StringValue 1, // 11: envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig.request:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig 1, // 12: envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig.response:type_name -> envoy.extensions.filters.http.file_system_buffer.v3.StreamConfig 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_init() } func file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_init() { if File_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileSystemBufferFilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior_StreamWhenPossible); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior_Bypass); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior_InjectContentLengthIfNecessary); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior_FullyBufferAndAlwaysInjectContentLength); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BufferBehavior_FullyBuffer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes[0].OneofWrappers = []interface{}{ (*BufferBehavior_StreamWhenPossible_)(nil), (*BufferBehavior_Bypass_)(nil), (*BufferBehavior_InjectContentLengthIfNecessary_)(nil), (*BufferBehavior_FullyBufferAndAlwaysInjectContentLength_)(nil), (*BufferBehavior_FullyBuffer_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto = out.File file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_rawDesc = nil file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_goTypes = nil file_envoy_extensions_filters_http_file_system_buffer_v3_file_system_buffer_proto_depIdxs = nil } file_system_buffer.pb.validate.go000077500000000000000000001130351454502223200354650ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/file_system_buffer/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/file_system_buffer/v3/file_system_buffer.proto package file_system_bufferv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on BufferBehavior with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferBehavior) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferBehavior with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BufferBehaviorMultiError, // or nil if none found. func (m *BufferBehavior) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior) validate(all bool) error { if m == nil { return nil } var errors []error oneofBehaviorPresent := false switch v := m.Behavior.(type) { case *BufferBehavior_StreamWhenPossible_: if v == nil { err := BufferBehaviorValidationError{ field: "Behavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBehaviorPresent = true if all { switch v := interface{}(m.GetStreamWhenPossible()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "StreamWhenPossible", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "StreamWhenPossible", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamWhenPossible()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferBehaviorValidationError{ field: "StreamWhenPossible", reason: "embedded message failed validation", cause: err, } } } case *BufferBehavior_Bypass_: if v == nil { err := BufferBehaviorValidationError{ field: "Behavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBehaviorPresent = true if all { switch v := interface{}(m.GetBypass()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "Bypass", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "Bypass", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBypass()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferBehaviorValidationError{ field: "Bypass", reason: "embedded message failed validation", cause: err, } } } case *BufferBehavior_InjectContentLengthIfNecessary_: if v == nil { err := BufferBehaviorValidationError{ field: "Behavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBehaviorPresent = true if all { switch v := interface{}(m.GetInjectContentLengthIfNecessary()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "InjectContentLengthIfNecessary", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "InjectContentLengthIfNecessary", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInjectContentLengthIfNecessary()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferBehaviorValidationError{ field: "InjectContentLengthIfNecessary", reason: "embedded message failed validation", cause: err, } } } case *BufferBehavior_FullyBufferAndAlwaysInjectContentLength_: if v == nil { err := BufferBehaviorValidationError{ field: "Behavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBehaviorPresent = true if all { switch v := interface{}(m.GetFullyBufferAndAlwaysInjectContentLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "FullyBufferAndAlwaysInjectContentLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "FullyBufferAndAlwaysInjectContentLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFullyBufferAndAlwaysInjectContentLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferBehaviorValidationError{ field: "FullyBufferAndAlwaysInjectContentLength", reason: "embedded message failed validation", cause: err, } } } case *BufferBehavior_FullyBuffer_: if v == nil { err := BufferBehaviorValidationError{ field: "Behavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBehaviorPresent = true if all { switch v := interface{}(m.GetFullyBuffer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "FullyBuffer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BufferBehaviorValidationError{ field: "FullyBuffer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFullyBuffer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BufferBehaviorValidationError{ field: "FullyBuffer", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofBehaviorPresent { err := BufferBehaviorValidationError{ field: "Behavior", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return BufferBehaviorMultiError(errors) } return nil } // BufferBehaviorMultiError is an error wrapping multiple validation errors // returned by BufferBehavior.ValidateAll() if the designated constraints // aren't met. type BufferBehaviorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehaviorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehaviorMultiError) AllErrors() []error { return m } // BufferBehaviorValidationError is the validation error returned by // BufferBehavior.Validate if the designated constraints aren't met. type BufferBehaviorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehaviorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehaviorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehaviorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehaviorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehaviorValidationError) ErrorName() string { return "BufferBehaviorValidationError" } // Error satisfies the builtin error interface func (e BufferBehaviorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehaviorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehaviorValidationError{} // Validate checks the field values on StreamConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StreamConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StreamConfigMultiError, or // nil if none found. func (m *StreamConfig) ValidateAll() error { return m.validate(true) } func (m *StreamConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBehavior()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "Behavior", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "Behavior", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBehavior()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamConfigValidationError{ field: "Behavior", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMemoryBufferBytesLimit(); wrapper != nil { if wrapper.GetValue() <= 0 { err := StreamConfigValidationError{ field: "MemoryBufferBytesLimit", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetStorageBufferBytesLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "StorageBufferBytesLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "StorageBufferBytesLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStorageBufferBytesLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamConfigValidationError{ field: "StorageBufferBytesLimit", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStorageBufferQueueHighWatermarkBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "StorageBufferQueueHighWatermarkBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamConfigValidationError{ field: "StorageBufferQueueHighWatermarkBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStorageBufferQueueHighWatermarkBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamConfigValidationError{ field: "StorageBufferQueueHighWatermarkBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamConfigMultiError(errors) } return nil } // StreamConfigMultiError is an error wrapping multiple validation errors // returned by StreamConfig.ValidateAll() if the designated constraints aren't met. type StreamConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamConfigMultiError) AllErrors() []error { return m } // StreamConfigValidationError is the validation error returned by // StreamConfig.Validate if the designated constraints aren't met. type StreamConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamConfigValidationError) ErrorName() string { return "StreamConfigValidationError" } // Error satisfies the builtin error interface func (e StreamConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamConfigValidationError{} // Validate checks the field values on FileSystemBufferFilterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FileSystemBufferFilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileSystemBufferFilterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FileSystemBufferFilterConfigMultiError, or nil if none found. func (m *FileSystemBufferFilterConfig) ValidateAll() error { return m.validate(true) } func (m *FileSystemBufferFilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetManagerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetManagerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemBufferFilterConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetStorageBufferPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "StorageBufferPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "StorageBufferPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStorageBufferPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemBufferFilterConfigValidationError{ field: "StorageBufferPath", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemBufferFilterConfigValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemBufferFilterConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemBufferFilterConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FileSystemBufferFilterConfigMultiError(errors) } return nil } // FileSystemBufferFilterConfigMultiError is an error wrapping multiple // validation errors returned by FileSystemBufferFilterConfig.ValidateAll() if // the designated constraints aren't met. type FileSystemBufferFilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileSystemBufferFilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileSystemBufferFilterConfigMultiError) AllErrors() []error { return m } // FileSystemBufferFilterConfigValidationError is the validation error returned // by FileSystemBufferFilterConfig.Validate if the designated constraints // aren't met. type FileSystemBufferFilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileSystemBufferFilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileSystemBufferFilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileSystemBufferFilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileSystemBufferFilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileSystemBufferFilterConfigValidationError) ErrorName() string { return "FileSystemBufferFilterConfigValidationError" } // Error satisfies the builtin error interface func (e FileSystemBufferFilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileSystemBufferFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileSystemBufferFilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileSystemBufferFilterConfigValidationError{} // Validate checks the field values on BufferBehavior_StreamWhenPossible with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *BufferBehavior_StreamWhenPossible) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferBehavior_StreamWhenPossible // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // BufferBehavior_StreamWhenPossibleMultiError, or nil if none found. func (m *BufferBehavior_StreamWhenPossible) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior_StreamWhenPossible) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return BufferBehavior_StreamWhenPossibleMultiError(errors) } return nil } // BufferBehavior_StreamWhenPossibleMultiError is an error wrapping multiple // validation errors returned by // BufferBehavior_StreamWhenPossible.ValidateAll() if the designated // constraints aren't met. type BufferBehavior_StreamWhenPossibleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehavior_StreamWhenPossibleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehavior_StreamWhenPossibleMultiError) AllErrors() []error { return m } // BufferBehavior_StreamWhenPossibleValidationError is the validation error // returned by BufferBehavior_StreamWhenPossible.Validate if the designated // constraints aren't met. type BufferBehavior_StreamWhenPossibleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehavior_StreamWhenPossibleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehavior_StreamWhenPossibleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehavior_StreamWhenPossibleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehavior_StreamWhenPossibleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehavior_StreamWhenPossibleValidationError) ErrorName() string { return "BufferBehavior_StreamWhenPossibleValidationError" } // Error satisfies the builtin error interface func (e BufferBehavior_StreamWhenPossibleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior_StreamWhenPossible.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehavior_StreamWhenPossibleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehavior_StreamWhenPossibleValidationError{} // Validate checks the field values on BufferBehavior_Bypass with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BufferBehavior_Bypass) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferBehavior_Bypass with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BufferBehavior_BypassMultiError, or nil if none found. func (m *BufferBehavior_Bypass) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior_Bypass) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return BufferBehavior_BypassMultiError(errors) } return nil } // BufferBehavior_BypassMultiError is an error wrapping multiple validation // errors returned by BufferBehavior_Bypass.ValidateAll() if the designated // constraints aren't met. type BufferBehavior_BypassMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehavior_BypassMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehavior_BypassMultiError) AllErrors() []error { return m } // BufferBehavior_BypassValidationError is the validation error returned by // BufferBehavior_Bypass.Validate if the designated constraints aren't met. type BufferBehavior_BypassValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehavior_BypassValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehavior_BypassValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehavior_BypassValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehavior_BypassValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehavior_BypassValidationError) ErrorName() string { return "BufferBehavior_BypassValidationError" } // Error satisfies the builtin error interface func (e BufferBehavior_BypassValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior_Bypass.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehavior_BypassValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehavior_BypassValidationError{} // Validate checks the field values on // BufferBehavior_InjectContentLengthIfNecessary with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BufferBehavior_InjectContentLengthIfNecessary) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // BufferBehavior_InjectContentLengthIfNecessary with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // BufferBehavior_InjectContentLengthIfNecessaryMultiError, or nil if none found. func (m *BufferBehavior_InjectContentLengthIfNecessary) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior_InjectContentLengthIfNecessary) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return BufferBehavior_InjectContentLengthIfNecessaryMultiError(errors) } return nil } // BufferBehavior_InjectContentLengthIfNecessaryMultiError is an error wrapping // multiple validation errors returned by // BufferBehavior_InjectContentLengthIfNecessary.ValidateAll() if the // designated constraints aren't met. type BufferBehavior_InjectContentLengthIfNecessaryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehavior_InjectContentLengthIfNecessaryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehavior_InjectContentLengthIfNecessaryMultiError) AllErrors() []error { return m } // BufferBehavior_InjectContentLengthIfNecessaryValidationError is the // validation error returned by // BufferBehavior_InjectContentLengthIfNecessary.Validate if the designated // constraints aren't met. type BufferBehavior_InjectContentLengthIfNecessaryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) ErrorName() string { return "BufferBehavior_InjectContentLengthIfNecessaryValidationError" } // Error satisfies the builtin error interface func (e BufferBehavior_InjectContentLengthIfNecessaryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior_InjectContentLengthIfNecessary.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehavior_InjectContentLengthIfNecessaryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehavior_InjectContentLengthIfNecessaryValidationError{} // Validate checks the field values on // BufferBehavior_FullyBufferAndAlwaysInjectContentLength with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // BufferBehavior_FullyBufferAndAlwaysInjectContentLength with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError, or nil if // none found. func (m *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior_FullyBufferAndAlwaysInjectContentLength) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError(errors) } return nil } // BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError is an error // wrapping multiple validation errors returned by // BufferBehavior_FullyBufferAndAlwaysInjectContentLength.ValidateAll() if the // designated constraints aren't met. type BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehavior_FullyBufferAndAlwaysInjectContentLengthMultiError) AllErrors() []error { return m } // BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError is the // validation error returned by // BufferBehavior_FullyBufferAndAlwaysInjectContentLength.Validate if the // designated constraints aren't met. type BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) ErrorName() string { return "BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError" } // Error satisfies the builtin error interface func (e BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior_FullyBufferAndAlwaysInjectContentLength.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehavior_FullyBufferAndAlwaysInjectContentLengthValidationError{} // Validate checks the field values on BufferBehavior_FullyBuffer with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *BufferBehavior_FullyBuffer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BufferBehavior_FullyBuffer with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // BufferBehavior_FullyBufferMultiError, or nil if none found. func (m *BufferBehavior_FullyBuffer) ValidateAll() error { return m.validate(true) } func (m *BufferBehavior_FullyBuffer) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return BufferBehavior_FullyBufferMultiError(errors) } return nil } // BufferBehavior_FullyBufferMultiError is an error wrapping multiple // validation errors returned by BufferBehavior_FullyBuffer.ValidateAll() if // the designated constraints aren't met. type BufferBehavior_FullyBufferMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BufferBehavior_FullyBufferMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BufferBehavior_FullyBufferMultiError) AllErrors() []error { return m } // BufferBehavior_FullyBufferValidationError is the validation error returned // by BufferBehavior_FullyBuffer.Validate if the designated constraints aren't met. type BufferBehavior_FullyBufferValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BufferBehavior_FullyBufferValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BufferBehavior_FullyBufferValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BufferBehavior_FullyBufferValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BufferBehavior_FullyBufferValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BufferBehavior_FullyBufferValidationError) ErrorName() string { return "BufferBehavior_FullyBufferValidationError" } // Error satisfies the builtin error interface func (e BufferBehavior_FullyBufferValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBufferBehavior_FullyBuffer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BufferBehavior_FullyBufferValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BufferBehavior_FullyBufferValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/gcp_authn/000077500000000000000000000000001454502223200247075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/gcp_authn/v3/000077500000000000000000000000001454502223200252375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.pb.go000077500000000000000000000464031454502223200301500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.proto package gcp_authnv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Filter configuration. type GcpAuthnFilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP URI to fetch tokens from GCE Metadata Server(https://cloud.google.com/compute/docs/metadata/overview). // The URL format is "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=[AUDIENCE]" HttpUri *v3.HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Retry policy for fetching tokens. This field is optional. RetryPolicy *v3.RetryPolicy `protobuf:"bytes,2,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` // Token cache configuration. This field is optional. CacheConfig *TokenCacheConfig `protobuf:"bytes,3,opt,name=cache_config,json=cacheConfig,proto3" json:"cache_config,omitempty"` // Request header location to extract the token. By default (i.e. if this field is not specified), the token // is extracted to the Authorization HTTP header, in the format "Authorization: Bearer ". TokenHeader *TokenHeader `protobuf:"bytes,4,opt,name=token_header,json=tokenHeader,proto3" json:"token_header,omitempty"` } func (x *GcpAuthnFilterConfig) Reset() { *x = GcpAuthnFilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GcpAuthnFilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*GcpAuthnFilterConfig) ProtoMessage() {} func (x *GcpAuthnFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GcpAuthnFilterConfig.ProtoReflect.Descriptor instead. func (*GcpAuthnFilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescGZIP(), []int{0} } func (x *GcpAuthnFilterConfig) GetHttpUri() *v3.HttpUri { if x != nil { return x.HttpUri } return nil } func (x *GcpAuthnFilterConfig) GetRetryPolicy() *v3.RetryPolicy { if x != nil { return x.RetryPolicy } return nil } func (x *GcpAuthnFilterConfig) GetCacheConfig() *TokenCacheConfig { if x != nil { return x.CacheConfig } return nil } func (x *GcpAuthnFilterConfig) GetTokenHeader() *TokenHeader { if x != nil { return x.TokenHeader } return nil } // Audience is the URL of the receiving service that performs token authentication. // It will be provided to the filter through cluster's typed_filter_metadata. type Audience struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` } func (x *Audience) Reset() { *x = Audience{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Audience) String() string { return protoimpl.X.MessageStringOf(x) } func (*Audience) ProtoMessage() {} func (x *Audience) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Audience.ProtoReflect.Descriptor instead. func (*Audience) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescGZIP(), []int{1} } func (x *Audience) GetUrl() string { if x != nil { return x.Url } return "" } // Token Cache configuration. type TokenCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of cache entries. The maximum number of entries is INT64_MAX as it is constrained by underlying cache implementation. // Default value 0 (i.e., proto3 defaults) disables the cache by default. Other default values will enable the cache. CacheSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=cache_size,json=cacheSize,proto3" json:"cache_size,omitempty"` } func (x *TokenCacheConfig) Reset() { *x = TokenCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenCacheConfig) ProtoMessage() {} func (x *TokenCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenCacheConfig.ProtoReflect.Descriptor instead. func (*TokenCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescGZIP(), []int{2} } func (x *TokenCacheConfig) GetCacheSize() *wrappers.UInt64Value { if x != nil { return x.CacheSize } return nil } type TokenHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP header's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The header's prefix. The format is "value_prefix" // For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the // end. ValuePrefix string `protobuf:"bytes,2,opt,name=value_prefix,json=valuePrefix,proto3" json:"value_prefix,omitempty"` } func (x *TokenHeader) Reset() { *x = TokenHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenHeader) ProtoMessage() {} func (x *TokenHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenHeader.ProtoReflect.Descriptor instead. func (*TokenHeader) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescGZIP(), []int{3} } func (x *TokenHeader) GetName() string { if x != nil { return x.Name } return "" } func (x *TokenHeader) GetValuePrefix() string { if x != nil { return x.ValuePrefix } return "" } var File_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x14, 0x47, 0x63, 0x70, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5f, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x60, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x32, 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x60, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x47, 0x63, 0x70, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x63, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescData = file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDesc ) func file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescData) }) return file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDescData } var file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_goTypes = []interface{}{ (*GcpAuthnFilterConfig)(nil), // 0: envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig (*Audience)(nil), // 1: envoy.extensions.filters.http.gcp_authn.v3.Audience (*TokenCacheConfig)(nil), // 2: envoy.extensions.filters.http.gcp_authn.v3.TokenCacheConfig (*TokenHeader)(nil), // 3: envoy.extensions.filters.http.gcp_authn.v3.TokenHeader (*v3.HttpUri)(nil), // 4: envoy.config.core.v3.HttpUri (*v3.RetryPolicy)(nil), // 5: envoy.config.core.v3.RetryPolicy (*wrappers.UInt64Value)(nil), // 6: google.protobuf.UInt64Value } var file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig.http_uri:type_name -> envoy.config.core.v3.HttpUri 5, // 1: envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy 2, // 2: envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig.cache_config:type_name -> envoy.extensions.filters.http.gcp_authn.v3.TokenCacheConfig 3, // 3: envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig.token_header:type_name -> envoy.extensions.filters.http.gcp_authn.v3.TokenHeader 6, // 4: envoy.extensions.filters.http.gcp_authn.v3.TokenCacheConfig.cache_size:type_name -> google.protobuf.UInt64Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_init() } func file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_init() { if File_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GcpAuthnFilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Audience); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto = out.File file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_rawDesc = nil file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_goTypes = nil file_envoy_extensions_filters_http_gcp_authn_v3_gcp_authn_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.pb.validate.go000077500000000000000000000402751454502223200317410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.proto package gcp_authnv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GcpAuthnFilterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GcpAuthnFilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GcpAuthnFilterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GcpAuthnFilterConfigMultiError, or nil if none found. func (m *GcpAuthnFilterConfig) ValidateAll() error { return m.validate(true) } func (m *GcpAuthnFilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetHttpUri() == nil { err := GcpAuthnFilterConfigValidationError{ field: "HttpUri", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GcpAuthnFilterConfigValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GcpAuthnFilterConfigValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "CacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "CacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GcpAuthnFilterConfigValidationError{ field: "CacheConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTokenHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "TokenHeader", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GcpAuthnFilterConfigValidationError{ field: "TokenHeader", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GcpAuthnFilterConfigValidationError{ field: "TokenHeader", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GcpAuthnFilterConfigMultiError(errors) } return nil } // GcpAuthnFilterConfigMultiError is an error wrapping multiple validation // errors returned by GcpAuthnFilterConfig.ValidateAll() if the designated // constraints aren't met. type GcpAuthnFilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GcpAuthnFilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GcpAuthnFilterConfigMultiError) AllErrors() []error { return m } // GcpAuthnFilterConfigValidationError is the validation error returned by // GcpAuthnFilterConfig.Validate if the designated constraints aren't met. type GcpAuthnFilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GcpAuthnFilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GcpAuthnFilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GcpAuthnFilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GcpAuthnFilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GcpAuthnFilterConfigValidationError) ErrorName() string { return "GcpAuthnFilterConfigValidationError" } // Error satisfies the builtin error interface func (e GcpAuthnFilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGcpAuthnFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GcpAuthnFilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GcpAuthnFilterConfigValidationError{} // Validate checks the field values on Audience with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Audience) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Audience with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AudienceMultiError, or nil // if none found. func (m *Audience) ValidateAll() error { return m.validate(true) } func (m *Audience) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetUrl()) < 1 { err := AudienceValidationError{ field: "Url", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AudienceMultiError(errors) } return nil } // AudienceMultiError is an error wrapping multiple validation errors returned // by Audience.ValidateAll() if the designated constraints aren't met. type AudienceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AudienceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AudienceMultiError) AllErrors() []error { return m } // AudienceValidationError is the validation error returned by // Audience.Validate if the designated constraints aren't met. type AudienceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AudienceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AudienceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AudienceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AudienceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AudienceValidationError) ErrorName() string { return "AudienceValidationError" } // Error satisfies the builtin error interface func (e AudienceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAudience.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AudienceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AudienceValidationError{} // Validate checks the field values on TokenCacheConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TokenCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TokenCacheConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TokenCacheConfigMultiError, or nil if none found. func (m *TokenCacheConfig) ValidateAll() error { return m.validate(true) } func (m *TokenCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetCacheSize(); wrapper != nil { if wrapper.GetValue() > 9223372036854775807 { err := TokenCacheConfigValidationError{ field: "CacheSize", reason: "value must be less than or equal to 9223372036854775807", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return TokenCacheConfigMultiError(errors) } return nil } // TokenCacheConfigMultiError is an error wrapping multiple validation errors // returned by TokenCacheConfig.ValidateAll() if the designated constraints // aren't met. type TokenCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TokenCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TokenCacheConfigMultiError) AllErrors() []error { return m } // TokenCacheConfigValidationError is the validation error returned by // TokenCacheConfig.Validate if the designated constraints aren't met. type TokenCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TokenCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TokenCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TokenCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TokenCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TokenCacheConfigValidationError) ErrorName() string { return "TokenCacheConfigValidationError" } // Error satisfies the builtin error interface func (e TokenCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTokenCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TokenCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TokenCacheConfigValidationError{} // Validate checks the field values on TokenHeader with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TokenHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TokenHeader with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TokenHeaderMultiError, or // nil if none found. func (m *TokenHeader) ValidateAll() error { return m.validate(true) } func (m *TokenHeader) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := TokenHeaderValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_TokenHeader_Name_Pattern.MatchString(m.GetName()) { err := TokenHeaderValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if !_TokenHeader_ValuePrefix_Pattern.MatchString(m.GetValuePrefix()) { err := TokenHeaderValidationError{ field: "ValuePrefix", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TokenHeaderMultiError(errors) } return nil } // TokenHeaderMultiError is an error wrapping multiple validation errors // returned by TokenHeader.ValidateAll() if the designated constraints aren't met. type TokenHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TokenHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TokenHeaderMultiError) AllErrors() []error { return m } // TokenHeaderValidationError is the validation error returned by // TokenHeader.Validate if the designated constraints aren't met. type TokenHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TokenHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TokenHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TokenHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TokenHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TokenHeaderValidationError) ErrorName() string { return "TokenHeaderValidationError" } // Error satisfies the builtin error interface func (e TokenHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTokenHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TokenHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TokenHeaderValidationError{} var _TokenHeader_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _TokenHeader_ValuePrefix_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/extensions/filters/http/geoip/000077500000000000000000000000001454502223200240425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/geoip/v3/000077500000000000000000000000001454502223200243725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/geoip/v3/geoip.pb.go000077500000000000000000000274621454502223200264420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/geoip/v3/geoip.proto package geoipv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Geoip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, the :ref:`xff_num_trusted_hops ` field will be used to determine // trusted client address from “x-forwarded-for“ header. // Otherwise, the immediate downstream connection source address will be used. // [#next-free-field: 2] XffConfig *Geoip_XffConfig `protobuf:"bytes,1,opt,name=xff_config,json=xffConfig,proto3" json:"xff_config,omitempty"` // Geoip driver specific configuration which depends on the driver being instantiated. // See the geoip drivers for examples: // // - :ref:`MaxMindConfig ` // [#extension-category: envoy.geoip_providers] Provider *v3.TypedExtensionConfig `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` } func (x *Geoip) Reset() { *x = Geoip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Geoip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Geoip) ProtoMessage() {} func (x *Geoip) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Geoip.ProtoReflect.Descriptor instead. func (*Geoip) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescGZIP(), []int{0} } func (x *Geoip) GetXffConfig() *Geoip_XffConfig { if x != nil { return x.XffConfig } return nil } func (x *Geoip) GetProvider() *v3.TypedExtensionConfig { if x != nil { return x.Provider } return nil } type Geoip_XffConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of additional ingress proxy hops from the right side of the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when // determining the origin client's IP address. The default is zero if this option // is not specified. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. XffNumTrustedHops uint32 `protobuf:"varint,1,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"` } func (x *Geoip_XffConfig) Reset() { *x = Geoip_XffConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Geoip_XffConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*Geoip_XffConfig) ProtoMessage() {} func (x *Geoip_XffConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Geoip_XffConfig.ProtoReflect.Descriptor instead. func (*Geoip_XffConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescGZIP(), []int{0, 0} } func (x *Geoip_XffConfig) GetXffNumTrustedHops() uint32 { if x != nil { return x.XffNumTrustedHops } return 0 } var File_envoy_extensions_filters_http_geoip_v3_geoip_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x05, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x56, 0x0a, 0x0a, 0x78, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x2e, 0x58, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x78, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x3c, 0x0a, 0x09, 0x58, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x78, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x70, 0x73, 0x42, 0xab, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescData = file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDesc ) func file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescData) }) return file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDescData } var file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_geoip_v3_geoip_proto_goTypes = []interface{}{ (*Geoip)(nil), // 0: envoy.extensions.filters.http.geoip.v3.Geoip (*Geoip_XffConfig)(nil), // 1: envoy.extensions.filters.http.geoip.v3.Geoip.XffConfig (*v3.TypedExtensionConfig)(nil), // 2: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_http_geoip_v3_geoip_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.geoip.v3.Geoip.xff_config:type_name -> envoy.extensions.filters.http.geoip.v3.Geoip.XffConfig 2, // 1: envoy.extensions.filters.http.geoip.v3.Geoip.provider:type_name -> envoy.config.core.v3.TypedExtensionConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_geoip_v3_geoip_proto_init() } func file_envoy_extensions_filters_http_geoip_v3_geoip_proto_init() { if File_envoy_extensions_filters_http_geoip_v3_geoip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Geoip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Geoip_XffConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_geoip_v3_geoip_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_geoip_v3_geoip_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_geoip_v3_geoip_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_geoip_v3_geoip_proto = out.File file_envoy_extensions_filters_http_geoip_v3_geoip_proto_rawDesc = nil file_envoy_extensions_filters_http_geoip_v3_geoip_proto_goTypes = nil file_envoy_extensions_filters_http_geoip_v3_geoip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/geoip/v3/geoip.pb.validate.go000077500000000000000000000170161454502223200302240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/geoip/v3/geoip.proto package geoipv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Geoip with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Geoip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Geoip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GeoipMultiError, or nil if none found. func (m *Geoip) ValidateAll() error { return m.validate(true) } func (m *Geoip) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetXffConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GeoipValidationError{ field: "XffConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GeoipValidationError{ field: "XffConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXffConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GeoipValidationError{ field: "XffConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetProvider() == nil { err := GeoipValidationError{ field: "Provider", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GeoipValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GeoipValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GeoipValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GeoipMultiError(errors) } return nil } // GeoipMultiError is an error wrapping multiple validation errors returned by // Geoip.ValidateAll() if the designated constraints aren't met. type GeoipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GeoipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GeoipMultiError) AllErrors() []error { return m } // GeoipValidationError is the validation error returned by Geoip.Validate if // the designated constraints aren't met. type GeoipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GeoipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GeoipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GeoipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GeoipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GeoipValidationError) ErrorName() string { return "GeoipValidationError" } // Error satisfies the builtin error interface func (e GeoipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGeoip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GeoipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GeoipValidationError{} // Validate checks the field values on Geoip_XffConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *Geoip_XffConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Geoip_XffConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Geoip_XffConfigMultiError, or nil if none found. func (m *Geoip_XffConfig) ValidateAll() error { return m.validate(true) } func (m *Geoip_XffConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for XffNumTrustedHops if len(errors) > 0 { return Geoip_XffConfigMultiError(errors) } return nil } // Geoip_XffConfigMultiError is an error wrapping multiple validation errors // returned by Geoip_XffConfig.ValidateAll() if the designated constraints // aren't met. type Geoip_XffConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Geoip_XffConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Geoip_XffConfigMultiError) AllErrors() []error { return m } // Geoip_XffConfigValidationError is the validation error returned by // Geoip_XffConfig.Validate if the designated constraints aren't met. type Geoip_XffConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Geoip_XffConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Geoip_XffConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Geoip_XffConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Geoip_XffConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Geoip_XffConfigValidationError) ErrorName() string { return "Geoip_XffConfigValidationError" } // Error satisfies the builtin error interface func (e Geoip_XffConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGeoip_XffConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Geoip_XffConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Geoip_XffConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_field_extraction/000077500000000000000000000000001454502223200272755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_field_extraction/v3/000077500000000000000000000000001454502223200276255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_field_extraction/v3/config.pb.go000077500000000000000000000514721454502223200320350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_field_extraction/v3/config.proto package grpc_field_extractionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GrpcFieldExtractionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The proto descriptor set binary for the gRPC services. // // It could be passed by a local file through “Datasource.filename“ or embedded in the // “Datasource.inline_bytes“. DescriptorSet *v3.DataSource `protobuf:"bytes,1,opt,name=descriptor_set,json=descriptorSet,proto3" json:"descriptor_set,omitempty"` // Specify the extraction info. // The key is the fully qualified gRPC method name. // “${package}.${Service}.${Method}“, like // “endpoints.examples.bookstore.BookStore.GetShelf“ // // The value is the field extractions for individual gRPC method. ExtractionsByMethod map[string]*FieldExtractions `protobuf:"bytes,2,rep,name=extractions_by_method,json=extractionsByMethod,proto3" json:"extractions_by_method,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *GrpcFieldExtractionConfig) Reset() { *x = GrpcFieldExtractionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcFieldExtractionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcFieldExtractionConfig) ProtoMessage() {} func (x *GrpcFieldExtractionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcFieldExtractionConfig.ProtoReflect.Descriptor instead. func (*GrpcFieldExtractionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescGZIP(), []int{0} } func (x *GrpcFieldExtractionConfig) GetDescriptorSet() *v3.DataSource { if x != nil { return x.DescriptorSet } return nil } func (x *GrpcFieldExtractionConfig) GetExtractionsByMethod() map[string]*FieldExtractions { if x != nil { return x.ExtractionsByMethod } return nil } // This message can be used to support per route config approach later even // though the Istio doesn't support that so far. type FieldExtractions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The field extractions for requests. // The key is the field path within the grpc request. // For example, we can define “foo.bar.name“ if we want to extract // “Request.foo.bar.name“. // // .. code-block:: proto // // message Request { // Foo foo = 1; // } // // message Foo { // Bar bar = 1; // } // // message Bar { // string name = 1; // } RequestFieldExtractions map[string]*RequestFieldValueDisposition `protobuf:"bytes,1,rep,name=request_field_extractions,json=requestFieldExtractions,proto3" json:"request_field_extractions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FieldExtractions) Reset() { *x = FieldExtractions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FieldExtractions) String() string { return protoimpl.X.MessageStringOf(x) } func (*FieldExtractions) ProtoMessage() {} func (x *FieldExtractions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FieldExtractions.ProtoReflect.Descriptor instead. func (*FieldExtractions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescGZIP(), []int{1} } func (x *FieldExtractions) GetRequestFieldExtractions() map[string]*RequestFieldValueDisposition { if x != nil { return x.RequestFieldExtractions } return nil } type RequestFieldValueDisposition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Disposition: // // *RequestFieldValueDisposition_DynamicMetadata Disposition isRequestFieldValueDisposition_Disposition `protobuf_oneof:"disposition"` } func (x *RequestFieldValueDisposition) Reset() { *x = RequestFieldValueDisposition{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestFieldValueDisposition) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestFieldValueDisposition) ProtoMessage() {} func (x *RequestFieldValueDisposition) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequestFieldValueDisposition.ProtoReflect.Descriptor instead. func (*RequestFieldValueDisposition) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescGZIP(), []int{2} } func (m *RequestFieldValueDisposition) GetDisposition() isRequestFieldValueDisposition_Disposition { if m != nil { return m.Disposition } return nil } func (x *RequestFieldValueDisposition) GetDynamicMetadata() string { if x, ok := x.GetDisposition().(*RequestFieldValueDisposition_DynamicMetadata); ok { return x.DynamicMetadata } return "" } type isRequestFieldValueDisposition_Disposition interface { isRequestFieldValueDisposition_Disposition() } type RequestFieldValueDisposition_DynamicMetadata struct { // The dynamic metadata namespace. If empty, "envoy.filters.http.grpc_field_extraction" will be used by default. // // Unimplemented. Uses "envoy.filters.http.grpc_field_extraction" for now. DynamicMetadata string `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` } func (*RequestFieldValueDisposition_DynamicMetadata) isRequestFieldValueDisposition_Disposition() {} var File_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x03, 0x0a, 0x19, 0x47, 0x72, 0x70, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x9e, 0x01, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0x90, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa0, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5a, 0x0a, 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xd4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_goTypes = []interface{}{ (*GrpcFieldExtractionConfig)(nil), // 0: envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig (*FieldExtractions)(nil), // 1: envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions (*RequestFieldValueDisposition)(nil), // 2: envoy.extensions.filters.http.grpc_field_extraction.v3.RequestFieldValueDisposition nil, // 3: envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig.ExtractionsByMethodEntry nil, // 4: envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions.RequestFieldExtractionsEntry (*v3.DataSource)(nil), // 5: envoy.config.core.v3.DataSource } var file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_depIdxs = []int32{ 5, // 0: envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig.descriptor_set:type_name -> envoy.config.core.v3.DataSource 3, // 1: envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig.extractions_by_method:type_name -> envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig.ExtractionsByMethodEntry 4, // 2: envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions.request_field_extractions:type_name -> envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions.RequestFieldExtractionsEntry 1, // 3: envoy.extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig.ExtractionsByMethodEntry.value:type_name -> envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions 2, // 4: envoy.extensions.filters.http.grpc_field_extraction.v3.FieldExtractions.RequestFieldExtractionsEntry.value:type_name -> envoy.extensions.filters.http.grpc_field_extraction.v3.RequestFieldValueDisposition 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_init() } func file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_init() { if File_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcFieldExtractionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FieldExtractions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestFieldValueDisposition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RequestFieldValueDisposition_DynamicMetadata)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto = out.File file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_field_extraction_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_field_extraction/v3/config.pb.validate.go000077500000000000000000000327531454502223200336260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_field_extraction/v3/config.proto package grpc_field_extractionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcFieldExtractionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcFieldExtractionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcFieldExtractionConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcFieldExtractionConfigMultiError, or nil if none found. func (m *GrpcFieldExtractionConfig) ValidateAll() error { return m.validate(true) } func (m *GrpcFieldExtractionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDescriptorSet() == nil { err := GrpcFieldExtractionConfigValidationError{ field: "DescriptorSet", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDescriptorSet()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcFieldExtractionConfigValidationError{ field: "DescriptorSet", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcFieldExtractionConfigValidationError{ field: "DescriptorSet", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDescriptorSet()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcFieldExtractionConfigValidationError{ field: "DescriptorSet", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetExtractionsByMethod())) i := 0 for key := range m.GetExtractionsByMethod() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetExtractionsByMethod()[key] _ = val // no validation rules for ExtractionsByMethod[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcFieldExtractionConfigValidationError{ field: fmt.Sprintf("ExtractionsByMethod[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcFieldExtractionConfigValidationError{ field: fmt.Sprintf("ExtractionsByMethod[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcFieldExtractionConfigValidationError{ field: fmt.Sprintf("ExtractionsByMethod[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return GrpcFieldExtractionConfigMultiError(errors) } return nil } // GrpcFieldExtractionConfigMultiError is an error wrapping multiple validation // errors returned by GrpcFieldExtractionConfig.ValidateAll() if the // designated constraints aren't met. type GrpcFieldExtractionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcFieldExtractionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcFieldExtractionConfigMultiError) AllErrors() []error { return m } // GrpcFieldExtractionConfigValidationError is the validation error returned by // GrpcFieldExtractionConfig.Validate if the designated constraints aren't met. type GrpcFieldExtractionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcFieldExtractionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcFieldExtractionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcFieldExtractionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcFieldExtractionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcFieldExtractionConfigValidationError) ErrorName() string { return "GrpcFieldExtractionConfigValidationError" } // Error satisfies the builtin error interface func (e GrpcFieldExtractionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcFieldExtractionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcFieldExtractionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcFieldExtractionConfigValidationError{} // Validate checks the field values on FieldExtractions with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FieldExtractions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FieldExtractions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FieldExtractionsMultiError, or nil if none found. func (m *FieldExtractions) ValidateAll() error { return m.validate(true) } func (m *FieldExtractions) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetRequestFieldExtractions())) i := 0 for key := range m.GetRequestFieldExtractions() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetRequestFieldExtractions()[key] _ = val // no validation rules for RequestFieldExtractions[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FieldExtractionsValidationError{ field: fmt.Sprintf("RequestFieldExtractions[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FieldExtractionsValidationError{ field: fmt.Sprintf("RequestFieldExtractions[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FieldExtractionsValidationError{ field: fmt.Sprintf("RequestFieldExtractions[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return FieldExtractionsMultiError(errors) } return nil } // FieldExtractionsMultiError is an error wrapping multiple validation errors // returned by FieldExtractions.ValidateAll() if the designated constraints // aren't met. type FieldExtractionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FieldExtractionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FieldExtractionsMultiError) AllErrors() []error { return m } // FieldExtractionsValidationError is the validation error returned by // FieldExtractions.Validate if the designated constraints aren't met. type FieldExtractionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FieldExtractionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FieldExtractionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FieldExtractionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FieldExtractionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FieldExtractionsValidationError) ErrorName() string { return "FieldExtractionsValidationError" } // Error satisfies the builtin error interface func (e FieldExtractionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFieldExtractions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FieldExtractionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FieldExtractionsValidationError{} // Validate checks the field values on RequestFieldValueDisposition with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RequestFieldValueDisposition) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequestFieldValueDisposition with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequestFieldValueDispositionMultiError, or nil if none found. func (m *RequestFieldValueDisposition) ValidateAll() error { return m.validate(true) } func (m *RequestFieldValueDisposition) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Disposition.(type) { case *RequestFieldValueDisposition_DynamicMetadata: if v == nil { err := RequestFieldValueDispositionValidationError{ field: "Disposition", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for DynamicMetadata default: _ = v // ensures v is used } if len(errors) > 0 { return RequestFieldValueDispositionMultiError(errors) } return nil } // RequestFieldValueDispositionMultiError is an error wrapping multiple // validation errors returned by RequestFieldValueDisposition.ValidateAll() if // the designated constraints aren't met. type RequestFieldValueDispositionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequestFieldValueDispositionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequestFieldValueDispositionMultiError) AllErrors() []error { return m } // RequestFieldValueDispositionValidationError is the validation error returned // by RequestFieldValueDisposition.Validate if the designated constraints // aren't met. type RequestFieldValueDispositionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequestFieldValueDispositionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequestFieldValueDispositionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequestFieldValueDispositionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequestFieldValueDispositionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequestFieldValueDispositionValidationError) ErrorName() string { return "RequestFieldValueDispositionValidationError" } // Error satisfies the builtin error interface func (e RequestFieldValueDispositionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequestFieldValueDisposition.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequestFieldValueDispositionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequestFieldValueDispositionValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_bridge/000077500000000000000000000000001454502223200263265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_bridge/v3/000077500000000000000000000000001454502223200266565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_bridge/v3/config.pb.go000077500000000000000000000224561454502223200310660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_http1_bridge/v3/config.proto package grpc_http1_bridgev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC HTTP/1.1 Bridge filter config. type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true then requests with content type set to “application/x-protobuf“ will be automatically converted to gRPC. // This works by prepending the payload data with the gRPC header frame, as defined by the wiring format, and // Content-Type will be updated accordingly before sending the request. // For the requests that went through this upgrade the filter will also strip the frame before forwarding the // response to the client. UpgradeProtobufToGrpc bool `protobuf:"varint,1,opt,name=upgrade_protobuf_to_grpc,json=upgradeProtobufToGrpc,proto3" json:"upgrade_protobuf_to_grpc,omitempty"` // If true then query parameters in request's URL path will be removed. IgnoreQueryParameters bool `protobuf:"varint,2,opt,name=ignore_query_parameters,json=ignoreQueryParameters,proto3" json:"ignore_query_parameters,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescGZIP(), []int{0} } func (x *Config) GetUpgradeProtobufToGrpc() bool { if x != nil { return x.UpgradeProtobufToGrpc } return false } func (x *Config) GetIgnoreQueryParameters() bool { if x != nil { return x.IgnoreQueryParameters } return false } var File_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x54, 0x6f, 0x47, 0x72, 0x70, 0x63, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.filters.http.grpc_http1_bridge.v3.Config } var file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_init() } func file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_init() { if File_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto = out.File file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_http1_bridge_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_bridge/v3/config.pb.validate.go000077500000000000000000000062551454502223200326550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_http1_bridge/v3/config.proto package grpc_http1_bridgev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UpgradeProtobufToGrpc // no validation rules for IgnoreQueryParameters if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_reverse_bridge/000077500000000000000000000000001454502223200300615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3/000077500000000000000000000000001454502223200304115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3/config.pb.go000077500000000000000000000353071454502223200326200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3/config.proto package grpc_http1_reverse_bridgev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC reverse bridge filter configuration type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The content-type to pass to the upstream when the gRPC bridge filter is applied. // The filter will also validate that the upstream responds with the same content type. ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // If true, Envoy will assume that the upstream doesn't understand gRPC frames and // strip the gRPC frame from the request, and add it back in to the response. This will // hide the gRPC semantics from the upstream, allowing it to receive and respond with a // simple binary encoded protobuf. In order to calculate the “Content-Length“ header value, Envoy // will buffer the upstream response unless :ref:`response_size_header // ` // is set, in which case Envoy will use the value of an upstream header to calculate the content // length. WithholdGrpcFrames bool `protobuf:"varint,2,opt,name=withhold_grpc_frames,json=withholdGrpcFrames,proto3" json:"withhold_grpc_frames,omitempty"` // When :ref:`withhold_grpc_frames // ` // is true, this option controls how Envoy calculates the “Content-Length“. When // “response_size_header“ is empty, Envoy will buffer the upstream response to calculate its // size. When “response_size_header“ is set to a non-empty string, Envoy will stream the response // to the downstream and it will use the value of the response header with this name to set the // “Content-Length“ header and gRPC frame size. If the header with this name is repeated, only // the first value will be used. // // Envoy will treat the upstream response as an error if this option is specified and the header // is missing or if the value does not match the actual response body size. ResponseSizeHeader string `protobuf:"bytes,3,opt,name=response_size_header,json=responseSizeHeader,proto3" json:"response_size_header,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetContentType() string { if x != nil { return x.ContentType } return "" } func (x *FilterConfig) GetWithholdGrpcFrames() bool { if x != nil { return x.WithholdGrpcFrames } return false } func (x *FilterConfig) GetResponseSizeHeader() string { if x != nil { return x.ResponseSizeHeader } return "" } // gRPC reverse bridge filter configuration per virtualhost/route/weighted-cluster level. type FilterConfigPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, disables gRPC reverse bridge filter for this particular vhost or route. // If disabled is specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` } func (x *FilterConfigPerRoute) Reset() { *x = FilterConfigPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfigPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfigPerRoute) ProtoMessage() {} func (x *FilterConfigPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfigPerRoute.ProtoReflect.Descriptor instead. func (*FilterConfigPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescGZIP(), []int{1} } func (x *FilterConfigPerRoute) GetDisabled() bool { if x != nil { return x.Disabled } return false } var File_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x69, 0x74, 0x68, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x77, 0x69, 0x74, 0x68, 0x68, 0x6f, 0x6c, 0x64, 0x47, 0x72, 0x70, 0x63, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x4f, 0x9a, 0xc5, 0x88, 0x1e, 0x4a, 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x57, 0x9a, 0xc5, 0x88, 0x1e, 0x52, 0x0a, 0x50, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0xe0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x48, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig (*FilterConfigPerRoute)(nil), // 1: envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute } var file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_init() } func file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_init() { if File_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfigPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto = out.File file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_http1_reverse_bridge_v3_config_proto_depIdxs = nil } config.pb.validate.go000077500000000000000000000153721454502223200343310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3/config.proto package grpc_http1_reverse_bridgev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetContentType()) < 1 { err := FilterConfigValidationError{ field: "ContentType", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for WithholdGrpcFrames if !_FilterConfig_ResponseSizeHeader_Pattern.MatchString(m.GetResponseSizeHeader()) { err := FilterConfigValidationError{ field: "ResponseSizeHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} var _FilterConfig_ResponseSizeHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on FilterConfigPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FilterConfigPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfigPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterConfigPerRouteMultiError, or nil if none found. func (m *FilterConfigPerRoute) ValidateAll() error { return m.validate(true) } func (m *FilterConfigPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Disabled if len(errors) > 0 { return FilterConfigPerRouteMultiError(errors) } return nil } // FilterConfigPerRouteMultiError is an error wrapping multiple validation // errors returned by FilterConfigPerRoute.ValidateAll() if the designated // constraints aren't met. type FilterConfigPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigPerRouteMultiError) AllErrors() []error { return m } // FilterConfigPerRouteValidationError is the validation error returned by // FilterConfigPerRoute.Validate if the designated constraints aren't met. type FilterConfigPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigPerRouteValidationError) ErrorName() string { return "FilterConfigPerRouteValidationError" } // Error satisfies the builtin error interface func (e FilterConfigPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfigPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_json_transcoder/000077500000000000000000000000001454502223200271475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_json_transcoder/v3/000077500000000000000000000000001454502223200274775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_json_transcoder/v3/transcoder.pb.go000077500000000000000000001331641454502223200326050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto package grpc_json_transcoderv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GrpcJsonTranscoder_UrlUnescapeSpec int32 const ( // URL path parameters will not decode RFC 6570 reserved characters. // For example, segment “%2f%23/%20%2523“ is unescaped to “%2f%23/ %23“. GrpcJsonTranscoder_ALL_CHARACTERS_EXCEPT_RESERVED GrpcJsonTranscoder_UrlUnescapeSpec = 0 // URL path parameters will be fully URI-decoded except in // cases of single segment matches in reserved expansion, where “%2F“ will be // left encoded. // For example, segment “%2f%23/%20%2523“ is unescaped to “%2f#/ %23“. GrpcJsonTranscoder_ALL_CHARACTERS_EXCEPT_SLASH GrpcJsonTranscoder_UrlUnescapeSpec = 1 // URL path parameters will be fully URI-decoded. // For example, segment “%2f%23/%20%2523“ is unescaped to “/#/ %23“. GrpcJsonTranscoder_ALL_CHARACTERS GrpcJsonTranscoder_UrlUnescapeSpec = 2 ) // Enum value maps for GrpcJsonTranscoder_UrlUnescapeSpec. var ( GrpcJsonTranscoder_UrlUnescapeSpec_name = map[int32]string{ 0: "ALL_CHARACTERS_EXCEPT_RESERVED", 1: "ALL_CHARACTERS_EXCEPT_SLASH", 2: "ALL_CHARACTERS", } GrpcJsonTranscoder_UrlUnescapeSpec_value = map[string]int32{ "ALL_CHARACTERS_EXCEPT_RESERVED": 0, "ALL_CHARACTERS_EXCEPT_SLASH": 1, "ALL_CHARACTERS": 2, } ) func (x GrpcJsonTranscoder_UrlUnescapeSpec) Enum() *GrpcJsonTranscoder_UrlUnescapeSpec { p := new(GrpcJsonTranscoder_UrlUnescapeSpec) *p = x return p } func (x GrpcJsonTranscoder_UrlUnescapeSpec) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GrpcJsonTranscoder_UrlUnescapeSpec) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_enumTypes[0].Descriptor() } func (GrpcJsonTranscoder_UrlUnescapeSpec) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_enumTypes[0] } func (x GrpcJsonTranscoder_UrlUnescapeSpec) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GrpcJsonTranscoder_UrlUnescapeSpec.Descriptor instead. func (GrpcJsonTranscoder_UrlUnescapeSpec) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescGZIP(), []int{0, 0} } // [#next-free-field: 17] // GrpcJsonTranscoder filter configuration. // The filter itself can be used per route / per virtual host or on the general level. The most // specific one is being used for a given route. If the list of services is empty - filter // is considered to be disabled. // Note that if specifying the filter per route, first the route is matched, and then transcoding // filter is applied. It matters when specifying the route configuration and paths to match the // request - for per-route grpc transcoder configs, the original path should be matched, while // in other cases, the grpc-like path is expected (the one AFTER the filter is applied). type GrpcJsonTranscoder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to DescriptorSet: // // *GrpcJsonTranscoder_ProtoDescriptor // *GrpcJsonTranscoder_ProtoDescriptorBin DescriptorSet isGrpcJsonTranscoder_DescriptorSet `protobuf_oneof:"descriptor_set"` // A list of strings that // supplies the fully qualified service names (i.e. "package_name.service_name") that // the transcoder will translate. If the service name doesn't exist in “proto_descriptor“, // Envoy will fail at startup. The “proto_descriptor“ may contain more services than // the service names specified here, but they won't be translated. // // By default, the filter will pass through requests that do not map to any specified services. // If the list of services is empty, filter is considered disabled. // However, this behavior changes if // :ref:`reject_unknown_method ` // is enabled. Services []string `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"` // Control options for response JSON. These options are passed directly to // `JsonPrintOptions `_. PrintOptions *GrpcJsonTranscoder_PrintOptions `protobuf:"bytes,3,opt,name=print_options,json=printOptions,proto3" json:"print_options,omitempty"` // Whether to keep the incoming request route after the outgoing headers have been transformed to // the match the upstream gRPC service. Note: This means that routes for gRPC services that are // not transcoded cannot be used in combination with “match_incoming_request_route“. MatchIncomingRequestRoute bool `protobuf:"varint,5,opt,name=match_incoming_request_route,json=matchIncomingRequestRoute,proto3" json:"match_incoming_request_route,omitempty"` // A list of query parameters to be ignored for transcoding method mapping. // By default, the transcoder filter will not transcode a request if there are any // unknown/invalid query parameters. // // Example : // // .. code-block:: proto // // service Bookstore { // rpc GetShelf(GetShelfRequest) returns (Shelf) { // option (google.api.http) = { // get: "/shelves/{shelf}" // }; // } // } // // message GetShelfRequest { // int64 shelf = 1; // } // // message Shelf {} // // The request “/shelves/100?foo=bar“ will not be mapped to “GetShelf``` because variable // binding for “foo“ is not defined. Adding “foo“ to “ignored_query_parameters“ will allow // the same request to be mapped to “GetShelf“. IgnoredQueryParameters []string `protobuf:"bytes,6,rep,name=ignored_query_parameters,json=ignoredQueryParameters,proto3" json:"ignored_query_parameters,omitempty"` // Whether to route methods without the “google.api.http“ option. // // Example : // // .. code-block:: proto // // package bookstore; // // service Bookstore { // rpc GetShelf(GetShelfRequest) returns (Shelf) {} // } // // message GetShelfRequest { // int64 shelf = 1; // } // // message Shelf {} // // The client could “post“ a json body “{"shelf": 1234}“ with the path of // “/bookstore.Bookstore/GetShelfRequest“ to call “GetShelfRequest“. AutoMapping bool `protobuf:"varint,7,opt,name=auto_mapping,json=autoMapping,proto3" json:"auto_mapping,omitempty"` // Whether to ignore query parameters that cannot be mapped to a corresponding // protobuf field. Use this if you cannot control the query parameters and do // not know them beforehand. Otherwise use “ignored_query_parameters“. // Defaults to false. IgnoreUnknownQueryParameters bool `protobuf:"varint,8,opt,name=ignore_unknown_query_parameters,json=ignoreUnknownQueryParameters,proto3" json:"ignore_unknown_query_parameters,omitempty"` // Whether to convert gRPC status headers to JSON. // When trailer indicates a gRPC error and there was no HTTP body, take “google.rpc.Status“ // from the “grpc-status-details-bin“ header and use it as JSON body. // If there was no such header, make “google.rpc.Status“ out of the “grpc-status“ and // “grpc-message“ headers. // The error details types must be present in the “proto_descriptor“. // // For example, if an upstream server replies with headers: // // .. code-block:: none // // grpc-status: 5 // grpc-status-details-bin: // CAUaMwoqdHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucnBjLlJlcXVlc3RJbmZvEgUKA3ItMQ // // The “grpc-status-details-bin“ header contains a base64-encoded protobuf message // “google.rpc.Status“. It will be transcoded into: // // .. code-block:: none // // HTTP/1.1 404 Not Found // content-type: application/json // // {"code":5,"details":[{"@type":"type.googleapis.com/google.rpc.RequestInfo","requestId":"r-1"}]} // // In order to transcode the message, the “google.rpc.RequestInfo“ type from // the “google/rpc/error_details.proto“ should be included in the configured // :ref:`proto descriptor set `. ConvertGrpcStatus bool `protobuf:"varint,9,opt,name=convert_grpc_status,json=convertGrpcStatus,proto3" json:"convert_grpc_status,omitempty"` // URL unescaping policy. // This spec is only applied when extracting variable with multiple segments in the URL path. // For example, in case of “/foo/{x=*}/bar/{y=prefix/*}/{z=**}“ “x“ variable is single segment and “y“ and “z“ are multiple segments. // For a path with “/foo/first/bar/prefix/second/third/fourth“, “x=first“, “y=prefix/second“, “z=third/fourth“. // If this setting is not specified, the value defaults to :ref:`ALL_CHARACTERS_EXCEPT_RESERVED`. UrlUnescapeSpec GrpcJsonTranscoder_UrlUnescapeSpec `protobuf:"varint,10,opt,name=url_unescape_spec,json=urlUnescapeSpec,proto3,enum=envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder_UrlUnescapeSpec" json:"url_unescape_spec,omitempty"` // If true, unescape '+' to space when extracting variables in query parameters. // This is to support `HTML 2.0 `_ QueryParamUnescapePlus bool `protobuf:"varint,12,opt,name=query_param_unescape_plus,json=queryParamUnescapePlus,proto3" json:"query_param_unescape_plus,omitempty"` // If true, try to match the custom verb even if it is unregistered. By // default, only match when it is registered. // // According to the http template `syntax `_, // the custom verb is **":" LITERAL** at the end of http template. // // For a request with “/foo/bar:baz“ and “:baz“ is not registered in any url_template, here is the behavior change // - if the field is not set, “:baz“ will not be treated as custom verb, so it will match “/foo/{x=*}“. // - if the field is set, “:baz“ is treated as custom verb, so it will NOT match “/foo/{x=*}“ since the template doesn't use any custom verb. MatchUnregisteredCustomVerb bool `protobuf:"varint,13,opt,name=match_unregistered_custom_verb,json=matchUnregisteredCustomVerb,proto3" json:"match_unregistered_custom_verb,omitempty"` // Configure the behavior when handling requests that cannot be transcoded. // // By default, the transcoder will silently pass through HTTP requests that are malformed. // This includes requests with unknown query parameters, unregister paths, etc. // // Set these options to enable strict HTTP request validation, resulting in the transcoder rejecting // such requests with a “HTTP 4xx“. See each individual option for more details on the validation. // gRPC requests will still silently pass through without transcoding. // // The benefit is a proper error message to the downstream. // If the upstream is a gRPC server, it cannot handle the passed-through HTTP requests and will reset // the TCP connection. The downstream will then // receive a “HTTP 503 Service Unavailable“ due to the upstream connection reset. // This incorrect error message may conflict with other Envoy components, such as retry policies. RequestValidationOptions *GrpcJsonTranscoder_RequestValidationOptions `protobuf:"bytes,11,opt,name=request_validation_options,json=requestValidationOptions,proto3" json:"request_validation_options,omitempty"` // Proto enum values are supposed to be in upper cases when used in JSON. // Set this to true if your JSON request uses non uppercase enum values. CaseInsensitiveEnumParsing bool `protobuf:"varint,14,opt,name=case_insensitive_enum_parsing,json=caseInsensitiveEnumParsing,proto3" json:"case_insensitive_enum_parsing,omitempty"` // The maximum size of a request body to be transcoded, in bytes. A body exceeding this size will // provoke a “HTTP 413 Request Entity Too Large“ response. // // Large values may cause envoy to use a lot of memory if there are many concurrent requests. // // If unset, the current stream buffer size is used. MaxRequestBodySize *wrappers.UInt32Value `protobuf:"bytes,15,opt,name=max_request_body_size,json=maxRequestBodySize,proto3" json:"max_request_body_size,omitempty"` // The maximum size of a response body to be transcoded, in bytes. A body exceeding this size will // provoke a “HTTP 500 Internal Server Error“ response. // // Large values may cause envoy to use a lot of memory if there are many concurrent requests. // // If unset, the current stream buffer size is used. MaxResponseBodySize *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=max_response_body_size,json=maxResponseBodySize,proto3" json:"max_response_body_size,omitempty"` } func (x *GrpcJsonTranscoder) Reset() { *x = GrpcJsonTranscoder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcJsonTranscoder) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcJsonTranscoder) ProtoMessage() {} func (x *GrpcJsonTranscoder) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcJsonTranscoder.ProtoReflect.Descriptor instead. func (*GrpcJsonTranscoder) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescGZIP(), []int{0} } func (m *GrpcJsonTranscoder) GetDescriptorSet() isGrpcJsonTranscoder_DescriptorSet { if m != nil { return m.DescriptorSet } return nil } func (x *GrpcJsonTranscoder) GetProtoDescriptor() string { if x, ok := x.GetDescriptorSet().(*GrpcJsonTranscoder_ProtoDescriptor); ok { return x.ProtoDescriptor } return "" } func (x *GrpcJsonTranscoder) GetProtoDescriptorBin() []byte { if x, ok := x.GetDescriptorSet().(*GrpcJsonTranscoder_ProtoDescriptorBin); ok { return x.ProtoDescriptorBin } return nil } func (x *GrpcJsonTranscoder) GetServices() []string { if x != nil { return x.Services } return nil } func (x *GrpcJsonTranscoder) GetPrintOptions() *GrpcJsonTranscoder_PrintOptions { if x != nil { return x.PrintOptions } return nil } func (x *GrpcJsonTranscoder) GetMatchIncomingRequestRoute() bool { if x != nil { return x.MatchIncomingRequestRoute } return false } func (x *GrpcJsonTranscoder) GetIgnoredQueryParameters() []string { if x != nil { return x.IgnoredQueryParameters } return nil } func (x *GrpcJsonTranscoder) GetAutoMapping() bool { if x != nil { return x.AutoMapping } return false } func (x *GrpcJsonTranscoder) GetIgnoreUnknownQueryParameters() bool { if x != nil { return x.IgnoreUnknownQueryParameters } return false } func (x *GrpcJsonTranscoder) GetConvertGrpcStatus() bool { if x != nil { return x.ConvertGrpcStatus } return false } func (x *GrpcJsonTranscoder) GetUrlUnescapeSpec() GrpcJsonTranscoder_UrlUnescapeSpec { if x != nil { return x.UrlUnescapeSpec } return GrpcJsonTranscoder_ALL_CHARACTERS_EXCEPT_RESERVED } func (x *GrpcJsonTranscoder) GetQueryParamUnescapePlus() bool { if x != nil { return x.QueryParamUnescapePlus } return false } func (x *GrpcJsonTranscoder) GetMatchUnregisteredCustomVerb() bool { if x != nil { return x.MatchUnregisteredCustomVerb } return false } func (x *GrpcJsonTranscoder) GetRequestValidationOptions() *GrpcJsonTranscoder_RequestValidationOptions { if x != nil { return x.RequestValidationOptions } return nil } func (x *GrpcJsonTranscoder) GetCaseInsensitiveEnumParsing() bool { if x != nil { return x.CaseInsensitiveEnumParsing } return false } func (x *GrpcJsonTranscoder) GetMaxRequestBodySize() *wrappers.UInt32Value { if x != nil { return x.MaxRequestBodySize } return nil } func (x *GrpcJsonTranscoder) GetMaxResponseBodySize() *wrappers.UInt32Value { if x != nil { return x.MaxResponseBodySize } return nil } type isGrpcJsonTranscoder_DescriptorSet interface { isGrpcJsonTranscoder_DescriptorSet() } type GrpcJsonTranscoder_ProtoDescriptor struct { // Supplies the filename of // :ref:`the proto descriptor set ` for the gRPC // services. ProtoDescriptor string `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3,oneof"` } type GrpcJsonTranscoder_ProtoDescriptorBin struct { // Supplies the binary content of // :ref:`the proto descriptor set ` for the gRPC // services. ProtoDescriptorBin []byte `protobuf:"bytes,4,opt,name=proto_descriptor_bin,json=protoDescriptorBin,proto3,oneof"` } func (*GrpcJsonTranscoder_ProtoDescriptor) isGrpcJsonTranscoder_DescriptorSet() {} func (*GrpcJsonTranscoder_ProtoDescriptorBin) isGrpcJsonTranscoder_DescriptorSet() {} // [#next-free-field: 6] type GrpcJsonTranscoder_PrintOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to add spaces, line breaks and indentation to make the JSON // output easy to read. Defaults to false. AddWhitespace bool `protobuf:"varint,1,opt,name=add_whitespace,json=addWhitespace,proto3" json:"add_whitespace,omitempty"` // Whether to always print primitive fields. By default primitive // fields with default values will be omitted in JSON output. For // example, an int32 field set to 0 will be omitted. Setting this flag to // true will override the default behavior and print primitive fields // regardless of their values. Defaults to false. AlwaysPrintPrimitiveFields bool `protobuf:"varint,2,opt,name=always_print_primitive_fields,json=alwaysPrintPrimitiveFields,proto3" json:"always_print_primitive_fields,omitempty"` // Whether to always print enums as ints. By default they are rendered // as strings. Defaults to false. AlwaysPrintEnumsAsInts bool `protobuf:"varint,3,opt,name=always_print_enums_as_ints,json=alwaysPrintEnumsAsInts,proto3" json:"always_print_enums_as_ints,omitempty"` // Whether to preserve proto field names. By default protobuf will // generate JSON field names using the “json_name“ option, or lower camel case, // in that order. Setting this flag will preserve the original field names. Defaults to false. PreserveProtoFieldNames bool `protobuf:"varint,4,opt,name=preserve_proto_field_names,json=preserveProtoFieldNames,proto3" json:"preserve_proto_field_names,omitempty"` // If true, return all streams as newline-delimited JSON messages instead of as a comma-separated array StreamNewlineDelimited bool `protobuf:"varint,5,opt,name=stream_newline_delimited,json=streamNewlineDelimited,proto3" json:"stream_newline_delimited,omitempty"` } func (x *GrpcJsonTranscoder_PrintOptions) Reset() { *x = GrpcJsonTranscoder_PrintOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcJsonTranscoder_PrintOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcJsonTranscoder_PrintOptions) ProtoMessage() {} func (x *GrpcJsonTranscoder_PrintOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcJsonTranscoder_PrintOptions.ProtoReflect.Descriptor instead. func (*GrpcJsonTranscoder_PrintOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescGZIP(), []int{0, 0} } func (x *GrpcJsonTranscoder_PrintOptions) GetAddWhitespace() bool { if x != nil { return x.AddWhitespace } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintPrimitiveFields() bool { if x != nil { return x.AlwaysPrintPrimitiveFields } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetAlwaysPrintEnumsAsInts() bool { if x != nil { return x.AlwaysPrintEnumsAsInts } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetPreserveProtoFieldNames() bool { if x != nil { return x.PreserveProtoFieldNames } return false } func (x *GrpcJsonTranscoder_PrintOptions) GetStreamNewlineDelimited() bool { if x != nil { return x.StreamNewlineDelimited } return false } type GrpcJsonTranscoder_RequestValidationOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // By default, a request that cannot be mapped to any specified gRPC // :ref:`services ` // will pass-through this filter. // When set to true, the request will be rejected with a “HTTP 404 Not Found“. RejectUnknownMethod bool `protobuf:"varint,1,opt,name=reject_unknown_method,json=rejectUnknownMethod,proto3" json:"reject_unknown_method,omitempty"` // By default, a request with query parameters that cannot be mapped to the gRPC request message // will pass-through this filter. // When set to true, the request will be rejected with a “HTTP 400 Bad Request“. // // The fields // :ref:`ignore_unknown_query_parameters ` // and // :ref:`ignored_query_parameters ` // have priority over this strict validation behavior. RejectUnknownQueryParameters bool `protobuf:"varint,2,opt,name=reject_unknown_query_parameters,json=rejectUnknownQueryParameters,proto3" json:"reject_unknown_query_parameters,omitempty"` // "id: 456" in the body will override "id=123" in the binding. // // If this field is set to true, the request will be rejected if the binding // value is different from the body value. RejectBindingBodyFieldCollisions bool `protobuf:"varint,3,opt,name=reject_binding_body_field_collisions,json=rejectBindingBodyFieldCollisions,proto3" json:"reject_binding_body_field_collisions,omitempty"` } func (x *GrpcJsonTranscoder_RequestValidationOptions) Reset() { *x = GrpcJsonTranscoder_RequestValidationOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcJsonTranscoder_RequestValidationOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcJsonTranscoder_RequestValidationOptions) ProtoMessage() {} func (x *GrpcJsonTranscoder_RequestValidationOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcJsonTranscoder_RequestValidationOptions.ProtoReflect.Descriptor instead. func (*GrpcJsonTranscoder_RequestValidationOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescGZIP(), []int{0, 1} } func (x *GrpcJsonTranscoder_RequestValidationOptions) GetRejectUnknownMethod() bool { if x != nil { return x.RejectUnknownMethod } return false } func (x *GrpcJsonTranscoder_RequestValidationOptions) GetRejectUnknownQueryParameters() bool { if x != nil { return x.RejectUnknownQueryParameters } return false } func (x *GrpcJsonTranscoder_RequestValidationOptions) GetRejectBindingBodyFieldCollisions() bool { if x != nil { return x.RejectBindingBodyFieldCollisions } return false } var File_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x0f, 0x0a, 0x12, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x7b, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x1f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x75, 0x72, 0x6c, 0x5f, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x55, 0x72, 0x6c, 0x55, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x75, 0x72, 0x6c, 0x55, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x19, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x55, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x65, 0x72, 0x62, 0x12, 0xa0, 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x58, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xfa, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x41, 0x73, 0x49, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x77, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe5, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x72, 0x6c, 0x55, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x53, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x53, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x53, 0x10, 0x02, 0x3a, 0x40, 0x9a, 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xd5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x73, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescData = file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_goTypes = []interface{}{ (GrpcJsonTranscoder_UrlUnescapeSpec)(0), // 0: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec (*GrpcJsonTranscoder)(nil), // 1: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder (*GrpcJsonTranscoder_PrintOptions)(nil), // 2: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptions (*GrpcJsonTranscoder_RequestValidationOptions)(nil), // 3: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value } var file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.print_options:type_name -> envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.PrintOptions 0, // 1: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.url_unescape_spec:type_name -> envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.UrlUnescapeSpec 3, // 2: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.request_validation_options:type_name -> envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.RequestValidationOptions 4, // 3: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.max_request_body_size:type_name -> google.protobuf.UInt32Value 4, // 4: envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder.max_response_body_size:type_name -> google.protobuf.UInt32Value 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_init() } func file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_init() { if File_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcJsonTranscoder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcJsonTranscoder_PrintOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcJsonTranscoder_RequestValidationOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GrpcJsonTranscoder_ProtoDescriptor)(nil), (*GrpcJsonTranscoder_ProtoDescriptorBin)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDesc, NumEnums: 1, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto = out.File file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_json_transcoder_v3_transcoder_proto_depIdxs = nil } transcoder.pb.validate.go000077500000000000000000000343311454502223200343120ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_json_transcoder/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto package grpc_json_transcoderv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcJsonTranscoder with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcJsonTranscoder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcJsonTranscoder with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GrpcJsonTranscoderMultiError, or nil if none found. func (m *GrpcJsonTranscoder) ValidateAll() error { return m.validate(true) } func (m *GrpcJsonTranscoder) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPrintOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrintOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcJsonTranscoderValidationError{ field: "PrintOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MatchIncomingRequestRoute // no validation rules for AutoMapping // no validation rules for IgnoreUnknownQueryParameters // no validation rules for ConvertGrpcStatus if _, ok := GrpcJsonTranscoder_UrlUnescapeSpec_name[int32(m.GetUrlUnescapeSpec())]; !ok { err := GrpcJsonTranscoderValidationError{ field: "UrlUnescapeSpec", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for QueryParamUnescapePlus // no validation rules for MatchUnregisteredCustomVerb if all { switch v := interface{}(m.GetRequestValidationOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "RequestValidationOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GrpcJsonTranscoderValidationError{ field: "RequestValidationOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestValidationOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GrpcJsonTranscoderValidationError{ field: "RequestValidationOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CaseInsensitiveEnumParsing if wrapper := m.GetMaxRequestBodySize(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GrpcJsonTranscoderValidationError{ field: "MaxRequestBodySize", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetMaxResponseBodySize(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GrpcJsonTranscoderValidationError{ field: "MaxResponseBodySize", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } oneofDescriptorSetPresent := false switch v := m.DescriptorSet.(type) { case *GrpcJsonTranscoder_ProtoDescriptor: if v == nil { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDescriptorSetPresent = true // no validation rules for ProtoDescriptor case *GrpcJsonTranscoder_ProtoDescriptorBin: if v == nil { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofDescriptorSetPresent = true // no validation rules for ProtoDescriptorBin default: _ = v // ensures v is used } if !oneofDescriptorSetPresent { err := GrpcJsonTranscoderValidationError{ field: "DescriptorSet", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GrpcJsonTranscoderMultiError(errors) } return nil } // GrpcJsonTranscoderMultiError is an error wrapping multiple validation errors // returned by GrpcJsonTranscoder.ValidateAll() if the designated constraints // aren't met. type GrpcJsonTranscoderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcJsonTranscoderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcJsonTranscoderMultiError) AllErrors() []error { return m } // GrpcJsonTranscoderValidationError is the validation error returned by // GrpcJsonTranscoder.Validate if the designated constraints aren't met. type GrpcJsonTranscoderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcJsonTranscoderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcJsonTranscoderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcJsonTranscoderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcJsonTranscoderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcJsonTranscoderValidationError) ErrorName() string { return "GrpcJsonTranscoderValidationError" } // Error satisfies the builtin error interface func (e GrpcJsonTranscoderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcJsonTranscoder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcJsonTranscoderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcJsonTranscoderValidationError{} // Validate checks the field values on GrpcJsonTranscoder_PrintOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GrpcJsonTranscoder_PrintOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcJsonTranscoder_PrintOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // GrpcJsonTranscoder_PrintOptionsMultiError, or nil if none found. func (m *GrpcJsonTranscoder_PrintOptions) ValidateAll() error { return m.validate(true) } func (m *GrpcJsonTranscoder_PrintOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AddWhitespace // no validation rules for AlwaysPrintPrimitiveFields // no validation rules for AlwaysPrintEnumsAsInts // no validation rules for PreserveProtoFieldNames // no validation rules for StreamNewlineDelimited if len(errors) > 0 { return GrpcJsonTranscoder_PrintOptionsMultiError(errors) } return nil } // GrpcJsonTranscoder_PrintOptionsMultiError is an error wrapping multiple // validation errors returned by GrpcJsonTranscoder_PrintOptions.ValidateAll() // if the designated constraints aren't met. type GrpcJsonTranscoder_PrintOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcJsonTranscoder_PrintOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcJsonTranscoder_PrintOptionsMultiError) AllErrors() []error { return m } // GrpcJsonTranscoder_PrintOptionsValidationError is the validation error // returned by GrpcJsonTranscoder_PrintOptions.Validate if the designated // constraints aren't met. type GrpcJsonTranscoder_PrintOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcJsonTranscoder_PrintOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcJsonTranscoder_PrintOptionsValidationError) ErrorName() string { return "GrpcJsonTranscoder_PrintOptionsValidationError" } // Error satisfies the builtin error interface func (e GrpcJsonTranscoder_PrintOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcJsonTranscoder_PrintOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcJsonTranscoder_PrintOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcJsonTranscoder_PrintOptionsValidationError{} // Validate checks the field values on // GrpcJsonTranscoder_RequestValidationOptions with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcJsonTranscoder_RequestValidationOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // GrpcJsonTranscoder_RequestValidationOptions with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // GrpcJsonTranscoder_RequestValidationOptionsMultiError, or nil if none found. func (m *GrpcJsonTranscoder_RequestValidationOptions) ValidateAll() error { return m.validate(true) } func (m *GrpcJsonTranscoder_RequestValidationOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RejectUnknownMethod // no validation rules for RejectUnknownQueryParameters // no validation rules for RejectBindingBodyFieldCollisions if len(errors) > 0 { return GrpcJsonTranscoder_RequestValidationOptionsMultiError(errors) } return nil } // GrpcJsonTranscoder_RequestValidationOptionsMultiError is an error wrapping // multiple validation errors returned by // GrpcJsonTranscoder_RequestValidationOptions.ValidateAll() if the designated // constraints aren't met. type GrpcJsonTranscoder_RequestValidationOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcJsonTranscoder_RequestValidationOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcJsonTranscoder_RequestValidationOptionsMultiError) AllErrors() []error { return m } // GrpcJsonTranscoder_RequestValidationOptionsValidationError is the validation // error returned by GrpcJsonTranscoder_RequestValidationOptions.Validate if // the designated constraints aren't met. type GrpcJsonTranscoder_RequestValidationOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) ErrorName() string { return "GrpcJsonTranscoder_RequestValidationOptionsValidationError" } // Error satisfies the builtin error interface func (e GrpcJsonTranscoder_RequestValidationOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcJsonTranscoder_RequestValidationOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcJsonTranscoder_RequestValidationOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcJsonTranscoder_RequestValidationOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_stats/000077500000000000000000000000001454502223200251105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_stats/v3/000077500000000000000000000000001454502223200254405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_stats/v3/config.pb.go000077500000000000000000000451601454502223200276450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_stats/v3/config.proto package grpc_statsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC statistics filter configuration // [#next-free-field: 6] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, the filter maintains a filter state object with the request and response message // counts. EmitFilterState bool `protobuf:"varint,1,opt,name=emit_filter_state,json=emitFilterState,proto3" json:"emit_filter_state,omitempty"` // Types that are assignable to PerMethodStatSpecifier: // // *FilterConfig_IndividualMethodStatsAllowlist // *FilterConfig_StatsForAllMethods PerMethodStatSpecifier isFilterConfig_PerMethodStatSpecifier `protobuf_oneof:"per_method_stat_specifier"` // If true, the filter will gather a histogram for the request time of the upstream. // It works with :ref:`stats_for_all_methods // ` // and :ref:`individual_method_stats_allowlist // ` the same way // request_message_count and response_message_count works. EnableUpstreamStats bool `protobuf:"varint,4,opt,name=enable_upstream_stats,json=enableUpstreamStats,proto3" json:"enable_upstream_stats,omitempty"` // If true, the filter will replace dots in the grpc_service_name with underscores before emitting // the metrics. Only works when :ref:`stats_for_all_methods // ` // is set to true. It could cause metrics to be merged if the edited service name conflicts with // an existing service. For example there are both service "foo.bar" & "foo_bar" running. // This config can fix incorrect gRPC metrics with dots because the existing stats tag extractor // assumes no dots in the gRPC service name. By default this is set as false. ReplaceDotsInGrpcServiceName bool `protobuf:"varint,5,opt,name=replace_dots_in_grpc_service_name,json=replaceDotsInGrpcServiceName,proto3" json:"replace_dots_in_grpc_service_name,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetEmitFilterState() bool { if x != nil { return x.EmitFilterState } return false } func (m *FilterConfig) GetPerMethodStatSpecifier() isFilterConfig_PerMethodStatSpecifier { if m != nil { return m.PerMethodStatSpecifier } return nil } func (x *FilterConfig) GetIndividualMethodStatsAllowlist() *v3.GrpcMethodList { if x, ok := x.GetPerMethodStatSpecifier().(*FilterConfig_IndividualMethodStatsAllowlist); ok { return x.IndividualMethodStatsAllowlist } return nil } func (x *FilterConfig) GetStatsForAllMethods() *wrappers.BoolValue { if x, ok := x.GetPerMethodStatSpecifier().(*FilterConfig_StatsForAllMethods); ok { return x.StatsForAllMethods } return nil } func (x *FilterConfig) GetEnableUpstreamStats() bool { if x != nil { return x.EnableUpstreamStats } return false } func (x *FilterConfig) GetReplaceDotsInGrpcServiceName() bool { if x != nil { return x.ReplaceDotsInGrpcServiceName } return false } type isFilterConfig_PerMethodStatSpecifier interface { isFilterConfig_PerMethodStatSpecifier() } type FilterConfig_IndividualMethodStatsAllowlist struct { // If set, specifies an allowlist of service/methods that will have individual stats // emitted for them. Any call that does not match the allowlist will be counted // in a stat with no method specifier: “cluster..grpc.*“. IndividualMethodStatsAllowlist *v3.GrpcMethodList `protobuf:"bytes,2,opt,name=individual_method_stats_allowlist,json=individualMethodStatsAllowlist,proto3,oneof"` } type FilterConfig_StatsForAllMethods struct { // If set to true, emit stats for all service/method names. // // If set to false, emit stats for all service/message types to the same stats without including // the service/method in the name, with prefix “cluster..grpc“. This can be useful if // service/method granularity is not needed, or if each cluster only receives a single method. // // .. attention:: // // This option is only safe if all clients are trusted. If this option is enabled // with untrusted clients, the clients could cause unbounded growth in the number of stats in // Envoy, using unbounded memory and potentially slowing down stats pipelines. // // .. attention:: // // If neither ``individual_method_stats_allowlist`` nor ``stats_for_all_methods`` is set, the // behavior will default to ``stats_for_all_methods=false``. StatsForAllMethods *wrappers.BoolValue `protobuf:"bytes,3,opt,name=stats_for_all_methods,json=statsForAllMethods,proto3,oneof"` } func (*FilterConfig_IndividualMethodStatsAllowlist) isFilterConfig_PerMethodStatSpecifier() {} func (*FilterConfig_StatsForAllMethods) isFilterConfig_PerMethodStatSpecifier() {} // gRPC statistics filter state object in protobuf form. type FilterObject struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Count of request messages in the request stream. RequestMessageCount uint64 `protobuf:"varint,1,opt,name=request_message_count,json=requestMessageCount,proto3" json:"request_message_count,omitempty"` // Count of response messages in the response stream. ResponseMessageCount uint64 `protobuf:"varint,2,opt,name=response_message_count,json=responseMessageCount,proto3" json:"response_message_count,omitempty"` } func (x *FilterObject) Reset() { *x = FilterObject{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterObject) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterObject) ProtoMessage() {} func (x *FilterObject) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterObject.ProtoReflect.Descriptor instead. func (*FilterObject) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescGZIP(), []int{1} } func (x *FilterObject) GetRequestMessageCount() uint64 { if x != nil { return x.RequestMessageCount } return 0 } func (x *FilterObject) GetResponseMessageCount() uint64 { if x != nil { return x.ResponseMessageCount } return 0 } var File_envoy_extensions_filters_http_grpc_stats_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x21, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x21, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x6f, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x6f, 0x74, 0x73, 0x49, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xb9, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.http.grpc_stats.v3.FilterConfig (*FilterObject)(nil), // 1: envoy.extensions.filters.http.grpc_stats.v3.FilterObject (*v3.GrpcMethodList)(nil), // 2: envoy.config.core.v3.GrpcMethodList (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue } var file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.grpc_stats.v3.FilterConfig.individual_method_stats_allowlist:type_name -> envoy.config.core.v3.GrpcMethodList 3, // 1: envoy.extensions.filters.http.grpc_stats.v3.FilterConfig.stats_for_all_methods:type_name -> google.protobuf.BoolValue 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_init() } func file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_init() { if File_envoy_extensions_filters_http_grpc_stats_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterObject); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterConfig_IndividualMethodStatsAllowlist)(nil), (*FilterConfig_StatsForAllMethods)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_stats_v3_config_proto = out.File file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_stats_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_stats/v3/config.pb.validate.go000077500000000000000000000207661454502223200314420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_stats/v3/config.proto package grpc_statsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for EmitFilterState // no validation rules for EnableUpstreamStats // no validation rules for ReplaceDotsInGrpcServiceName switch v := m.PerMethodStatSpecifier.(type) { case *FilterConfig_IndividualMethodStatsAllowlist: if v == nil { err := FilterConfigValidationError{ field: "PerMethodStatSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIndividualMethodStatsAllowlist()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIndividualMethodStatsAllowlist()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "IndividualMethodStatsAllowlist", reason: "embedded message failed validation", cause: err, } } } case *FilterConfig_StatsForAllMethods: if v == nil { err := FilterConfigValidationError{ field: "PerMethodStatSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStatsForAllMethods()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatsForAllMethods()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "StatsForAllMethods", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on FilterObject with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterObject) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterObject with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterObjectMultiError, or // nil if none found. func (m *FilterObject) ValidateAll() error { return m.validate(true) } func (m *FilterObject) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RequestMessageCount // no validation rules for ResponseMessageCount if len(errors) > 0 { return FilterObjectMultiError(errors) } return nil } // FilterObjectMultiError is an error wrapping multiple validation errors // returned by FilterObject.ValidateAll() if the designated constraints aren't met. type FilterObjectMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterObjectMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterObjectMultiError) AllErrors() []error { return m } // FilterObjectValidationError is the validation error returned by // FilterObject.Validate if the designated constraints aren't met. type FilterObjectValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterObjectValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterObjectValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterObjectValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterObjectValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterObjectValidationError) ErrorName() string { return "FilterObjectValidationError" } // Error satisfies the builtin error interface func (e FilterObjectValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterObject.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterObjectValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterObjectValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_web/000077500000000000000000000000001454502223200245275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_web/v3/000077500000000000000000000000001454502223200250575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_web/v3/grpc_web.pb.go000077500000000000000000000161011454502223200276000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/grpc_web/v3/grpc_web.proto package grpc_webv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // gRPC Web filter config. type GrpcWeb struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GrpcWeb) Reset() { *x = GrpcWeb{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcWeb) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcWeb) ProtoMessage() {} func (x *GrpcWeb) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcWeb.ProtoReflect.Descriptor instead. func (*GrpcWeb) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x07, 0x47, 0x72, 0x70, 0x63, 0x57, 0x65, 0x62, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x57, 0x65, 0x62, 0x42, 0xae, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x47, 0x72, 0x70, 0x63, 0x57, 0x65, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x65, 0x62, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescData = file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDesc ) func file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescData) }) return file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDescData } var file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_goTypes = []interface{}{ (*GrpcWeb)(nil), // 0: envoy.extensions.filters.http.grpc_web.v3.GrpcWeb } var file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_init() } func file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_init() { if File_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcWeb); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto = out.File file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_rawDesc = nil file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_goTypes = nil file_envoy_extensions_filters_http_grpc_web_v3_grpc_web_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/grpc_web/v3/grpc_web.pb.validate.go000077500000000000000000000061201454502223200313700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/grpc_web/v3/grpc_web.proto package grpc_webv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GrpcWeb with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcWeb) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcWeb with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GrpcWebMultiError, or nil if none found. func (m *GrpcWeb) ValidateAll() error { return m.validate(true) } func (m *GrpcWeb) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GrpcWebMultiError(errors) } return nil } // GrpcWebMultiError is an error wrapping multiple validation errors returned // by GrpcWeb.ValidateAll() if the designated constraints aren't met. type GrpcWebMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcWebMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcWebMultiError) AllErrors() []error { return m } // GrpcWebValidationError is the validation error returned by GrpcWeb.Validate // if the designated constraints aren't met. type GrpcWebValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcWebValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcWebValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcWebValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcWebValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcWebValidationError) ErrorName() string { return "GrpcWebValidationError" } // Error satisfies the builtin error interface func (e GrpcWebValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcWeb.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcWebValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcWebValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/gzip/000077500000000000000000000000001454502223200237105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/gzip/v3/000077500000000000000000000000001454502223200242405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/gzip/v3/gzip.pb.go000077500000000000000000000532111454502223200261450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/gzip/v3/gzip.proto package gzipv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/compressor/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Gzip_CompressionStrategy int32 const ( Gzip_DEFAULT Gzip_CompressionStrategy = 0 Gzip_FILTERED Gzip_CompressionStrategy = 1 Gzip_HUFFMAN Gzip_CompressionStrategy = 2 Gzip_RLE Gzip_CompressionStrategy = 3 ) // Enum value maps for Gzip_CompressionStrategy. var ( Gzip_CompressionStrategy_name = map[int32]string{ 0: "DEFAULT", 1: "FILTERED", 2: "HUFFMAN", 3: "RLE", } Gzip_CompressionStrategy_value = map[string]int32{ "DEFAULT": 0, "FILTERED": 1, "HUFFMAN": 2, "RLE": 3, } ) func (x Gzip_CompressionStrategy) Enum() *Gzip_CompressionStrategy { p := new(Gzip_CompressionStrategy) *p = x return p } func (x Gzip_CompressionStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionStrategy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes[0].Descriptor() } func (Gzip_CompressionStrategy) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes[0] } func (x Gzip_CompressionStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionStrategy.Descriptor instead. func (Gzip_CompressionStrategy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescGZIP(), []int{0, 0} } type Gzip_CompressionLevel_Enum int32 const ( Gzip_CompressionLevel_DEFAULT Gzip_CompressionLevel_Enum = 0 Gzip_CompressionLevel_BEST Gzip_CompressionLevel_Enum = 1 Gzip_CompressionLevel_SPEED Gzip_CompressionLevel_Enum = 2 ) // Enum value maps for Gzip_CompressionLevel_Enum. var ( Gzip_CompressionLevel_Enum_name = map[int32]string{ 0: "DEFAULT", 1: "BEST", 2: "SPEED", } Gzip_CompressionLevel_Enum_value = map[string]int32{ "DEFAULT": 0, "BEST": 1, "SPEED": 2, } ) func (x Gzip_CompressionLevel_Enum) Enum() *Gzip_CompressionLevel_Enum { p := new(Gzip_CompressionLevel_Enum) *p = x return p } func (x Gzip_CompressionLevel_Enum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gzip_CompressionLevel_Enum) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes[1].Descriptor() } func (Gzip_CompressionLevel_Enum) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes[1] } func (x Gzip_CompressionLevel_Enum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gzip_CompressionLevel_Enum.Descriptor instead. func (Gzip_CompressionLevel_Enum) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescGZIP(), []int{0, 0, 0} } // [#next-free-field: 12] type Gzip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values // use more memory, but are faster and produce better compression results. The default value is 5. MemoryLevel *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=memory_level,json=memoryLevel,proto3" json:"memory_level,omitempty"` // A value used for selecting the zlib compression level. This setting will affect speed and // amount of compression applied to the content. "BEST" provides higher compression at the cost of // higher latency, "SPEED" provides lower compression with minimum impact on response time. // "DEFAULT" provides an optimal result between speed and compression. This field will be set to // "DEFAULT" if not specified. CompressionLevel Gzip_CompressionLevel_Enum `protobuf:"varint,3,opt,name=compression_level,json=compressionLevel,proto3,enum=envoy.extensions.filters.http.gzip.v3.Gzip_CompressionLevel_Enum" json:"compression_level,omitempty"` // A value used for selecting the zlib compression strategy which is directly related to the // characteristics of the content. Most of the time "DEFAULT" will be the best choice, though // there are situations which changing this parameter might produce better results. For example, // run-length encoding (RLE) is typically used when the content is known for having sequences // which same data occurs many consecutive times. For more information about each strategy, please // refer to zlib manual. CompressionStrategy Gzip_CompressionStrategy `protobuf:"varint,4,opt,name=compression_strategy,json=compressionStrategy,proto3,enum=envoy.extensions.filters.http.gzip.v3.Gzip_CompressionStrategy" json:"compression_strategy,omitempty"` // Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. // Larger window results in better compression at the expense of memory usage. The default is 12 // which will produce a 4096 bytes window. For more details about this parameter, please refer to // zlib manual > deflateInit2. WindowBits *wrappers.UInt32Value `protobuf:"bytes,9,opt,name=window_bits,json=windowBits,proto3" json:"window_bits,omitempty"` // Set of configuration parameters common for all compression filters. You can define // “content_length“, “content_type“ and other parameters in this field. Compressor *v3.Compressor `protobuf:"bytes,10,opt,name=compressor,proto3" json:"compressor,omitempty"` // Value for Zlib's next output buffer. If not set, defaults to 4096. // See https://www.zlib.net/manual.html for more details. Also see // https://github.com/envoyproxy/envoy/issues/8448 for context on this filter's performance. ChunkSize *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` } func (x *Gzip) Reset() { *x = Gzip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip) ProtoMessage() {} func (x *Gzip) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip.ProtoReflect.Descriptor instead. func (*Gzip) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescGZIP(), []int{0} } func (x *Gzip) GetMemoryLevel() *wrappers.UInt32Value { if x != nil { return x.MemoryLevel } return nil } func (x *Gzip) GetCompressionLevel() Gzip_CompressionLevel_Enum { if x != nil { return x.CompressionLevel } return Gzip_CompressionLevel_DEFAULT } func (x *Gzip) GetCompressionStrategy() Gzip_CompressionStrategy { if x != nil { return x.CompressionStrategy } return Gzip_DEFAULT } func (x *Gzip) GetWindowBits() *wrappers.UInt32Value { if x != nil { return x.WindowBits } return nil } func (x *Gzip) GetCompressor() *v3.Compressor { if x != nil { return x.Compressor } return nil } func (x *Gzip) GetChunkSize() *wrappers.UInt32Value { if x != nil { return x.ChunkSize } return nil } type Gzip_CompressionLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Gzip_CompressionLevel) Reset() { *x = Gzip_CompressionLevel{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Gzip_CompressionLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Gzip_CompressionLevel) ProtoMessage() {} func (x *Gzip_CompressionLevel) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Gzip_CompressionLevel.ProtoReflect.Descriptor instead. func (*Gzip_CompressionLevel) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_extensions_filters_http_gzip_v3_gzip_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x07, 0x0a, 0x04, 0x47, 0x7a, 0x69, 0x70, 0x12, 0x4a, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x09, 0x28, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x78, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x7c, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x18, 0x0f, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x69, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0x80, 0x80, 0x04, 0x28, 0x80, 0x20, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x7b, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x28, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x02, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x46, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x55, 0x46, 0x46, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4c, 0x45, 0x10, 0x03, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x7a, 0x69, 0x70, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x7a, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x47, 0x7a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x7a, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x7a, 0x69, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescData = file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDesc ) func file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescData) }) return file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDescData } var file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_gzip_v3_gzip_proto_goTypes = []interface{}{ (Gzip_CompressionStrategy)(0), // 0: envoy.extensions.filters.http.gzip.v3.Gzip.CompressionStrategy (Gzip_CompressionLevel_Enum)(0), // 1: envoy.extensions.filters.http.gzip.v3.Gzip.CompressionLevel.Enum (*Gzip)(nil), // 2: envoy.extensions.filters.http.gzip.v3.Gzip (*Gzip_CompressionLevel)(nil), // 3: envoy.extensions.filters.http.gzip.v3.Gzip.CompressionLevel (*wrappers.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*v3.Compressor)(nil), // 5: envoy.extensions.filters.http.compressor.v3.Compressor } var file_envoy_extensions_filters_http_gzip_v3_gzip_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.gzip.v3.Gzip.memory_level:type_name -> google.protobuf.UInt32Value 1, // 1: envoy.extensions.filters.http.gzip.v3.Gzip.compression_level:type_name -> envoy.extensions.filters.http.gzip.v3.Gzip.CompressionLevel.Enum 0, // 2: envoy.extensions.filters.http.gzip.v3.Gzip.compression_strategy:type_name -> envoy.extensions.filters.http.gzip.v3.Gzip.CompressionStrategy 4, // 3: envoy.extensions.filters.http.gzip.v3.Gzip.window_bits:type_name -> google.protobuf.UInt32Value 5, // 4: envoy.extensions.filters.http.gzip.v3.Gzip.compressor:type_name -> envoy.extensions.filters.http.compressor.v3.Compressor 4, // 5: envoy.extensions.filters.http.gzip.v3.Gzip.chunk_size:type_name -> google.protobuf.UInt32Value 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_gzip_v3_gzip_proto_init() } func file_envoy_extensions_filters_http_gzip_v3_gzip_proto_init() { if File_envoy_extensions_filters_http_gzip_v3_gzip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gzip_CompressionLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDesc, NumEnums: 2, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_gzip_v3_gzip_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_gzip_v3_gzip_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_gzip_v3_gzip_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_gzip_v3_gzip_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_gzip_v3_gzip_proto = out.File file_envoy_extensions_filters_http_gzip_v3_gzip_proto_rawDesc = nil file_envoy_extensions_filters_http_gzip_v3_gzip_proto_goTypes = nil file_envoy_extensions_filters_http_gzip_v3_gzip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/gzip/v3/gzip.pb.validate.go000077500000000000000000000200361454502223200277340ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/gzip/v3/gzip.proto package gzipv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Gzip with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Gzip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GzipMultiError, or nil if none found. func (m *Gzip) ValidateAll() error { return m.validate(true) } func (m *Gzip) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetMemoryLevel(); wrapper != nil { if val := wrapper.GetValue(); val < 1 || val > 9 { err := GzipValidationError{ field: "MemoryLevel", reason: "value must be inside range [1, 9]", } if !all { return err } errors = append(errors, err) } } if _, ok := Gzip_CompressionLevel_Enum_name[int32(m.GetCompressionLevel())]; !ok { err := GzipValidationError{ field: "CompressionLevel", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := Gzip_CompressionStrategy_name[int32(m.GetCompressionStrategy())]; !ok { err := GzipValidationError{ field: "CompressionStrategy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetWindowBits(); wrapper != nil { if val := wrapper.GetValue(); val < 9 || val > 15 { err := GzipValidationError{ field: "WindowBits", reason: "value must be inside range [9, 15]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetCompressor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCompressor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GzipValidationError{ field: "Compressor", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetChunkSize(); wrapper != nil { if val := wrapper.GetValue(); val < 4096 || val > 65536 { err := GzipValidationError{ field: "ChunkSize", reason: "value must be inside range [4096, 65536]", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return GzipMultiError(errors) } return nil } // GzipMultiError is an error wrapping multiple validation errors returned by // Gzip.ValidateAll() if the designated constraints aren't met. type GzipMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GzipMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GzipMultiError) AllErrors() []error { return m } // GzipValidationError is the validation error returned by Gzip.Validate if the // designated constraints aren't met. type GzipValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GzipValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GzipValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GzipValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GzipValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GzipValidationError) ErrorName() string { return "GzipValidationError" } // Error satisfies the builtin error interface func (e GzipValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GzipValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GzipValidationError{} // Validate checks the field values on Gzip_CompressionLevel with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Gzip_CompressionLevel) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Gzip_CompressionLevel with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Gzip_CompressionLevelMultiError, or nil if none found. func (m *Gzip_CompressionLevel) ValidateAll() error { return m.validate(true) } func (m *Gzip_CompressionLevel) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return Gzip_CompressionLevelMultiError(errors) } return nil } // Gzip_CompressionLevelMultiError is an error wrapping multiple validation // errors returned by Gzip_CompressionLevel.ValidateAll() if the designated // constraints aren't met. type Gzip_CompressionLevelMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Gzip_CompressionLevelMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Gzip_CompressionLevelMultiError) AllErrors() []error { return m } // Gzip_CompressionLevelValidationError is the validation error returned by // Gzip_CompressionLevel.Validate if the designated constraints aren't met. type Gzip_CompressionLevelValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Gzip_CompressionLevelValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Gzip_CompressionLevelValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Gzip_CompressionLevelValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Gzip_CompressionLevelValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Gzip_CompressionLevelValidationError) ErrorName() string { return "Gzip_CompressionLevelValidationError" } // Error satisfies the builtin error interface func (e Gzip_CompressionLevelValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGzip_CompressionLevel.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Gzip_CompressionLevelValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Gzip_CompressionLevelValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/header_mutation/000077500000000000000000000000001454502223200261075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_mutation/v3/000077500000000000000000000000001454502223200264375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_mutation/v3/header_mutation.pb.go000077500000000000000000000371531454502223200325520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/header_mutation/v3/header_mutation.proto package header_mutationv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Mutations struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request mutations are applied before the request is forwarded to the upstream cluster. RequestMutations []*v3.HeaderMutation `protobuf:"bytes,1,rep,name=request_mutations,json=requestMutations,proto3" json:"request_mutations,omitempty"` // The response mutations are applied before the response is sent to the downstream client. ResponseMutations []*v3.HeaderMutation `protobuf:"bytes,2,rep,name=response_mutations,json=responseMutations,proto3" json:"response_mutations,omitempty"` } func (x *Mutations) Reset() { *x = Mutations{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Mutations) String() string { return protoimpl.X.MessageStringOf(x) } func (*Mutations) ProtoMessage() {} func (x *Mutations) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Mutations.ProtoReflect.Descriptor instead. func (*Mutations) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescGZIP(), []int{0} } func (x *Mutations) GetRequestMutations() []*v3.HeaderMutation { if x != nil { return x.RequestMutations } return nil } func (x *Mutations) GetResponseMutations() []*v3.HeaderMutation { if x != nil { return x.ResponseMutations } return nil } // Per route configuration for the header mutation filter. If this is configured at multiple levels // (route level, virtual host level, and route table level), only the most specific one will be used. type HeaderMutationPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mutations *Mutations `protobuf:"bytes,1,opt,name=mutations,proto3" json:"mutations,omitempty"` } func (x *HeaderMutationPerRoute) Reset() { *x = HeaderMutationPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutationPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutationPerRoute) ProtoMessage() {} func (x *HeaderMutationPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutationPerRoute.ProtoReflect.Descriptor instead. func (*HeaderMutationPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescGZIP(), []int{1} } func (x *HeaderMutationPerRoute) GetMutations() *Mutations { if x != nil { return x.Mutations } return nil } // Configuration for the header mutation filter. The mutation rules in the filter configuration will // always be applied first and then the per-route mutation rules, if both are specified. type HeaderMutation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mutations *Mutations `protobuf:"bytes,1,opt,name=mutations,proto3" json:"mutations,omitempty"` } func (x *HeaderMutation) Reset() { *x = HeaderMutation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutation) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutation) ProtoMessage() {} func (x *HeaderMutation) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead. func (*HeaderMutation) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescGZIP(), []int{2} } func (x *HeaderMutation) GetMutations() *Mutations { if x != nil { return x.Mutations } return nil } var File_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x09, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x64, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x73, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6b, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescData = file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDesc ) func file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescData) }) return file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDescData } var file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_goTypes = []interface{}{ (*Mutations)(nil), // 0: envoy.extensions.filters.http.header_mutation.v3.Mutations (*HeaderMutationPerRoute)(nil), // 1: envoy.extensions.filters.http.header_mutation.v3.HeaderMutationPerRoute (*HeaderMutation)(nil), // 2: envoy.extensions.filters.http.header_mutation.v3.HeaderMutation (*v3.HeaderMutation)(nil), // 3: envoy.config.common.mutation_rules.v3.HeaderMutation } var file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.http.header_mutation.v3.Mutations.request_mutations:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutation 3, // 1: envoy.extensions.filters.http.header_mutation.v3.Mutations.response_mutations:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutation 0, // 2: envoy.extensions.filters.http.header_mutation.v3.HeaderMutationPerRoute.mutations:type_name -> envoy.extensions.filters.http.header_mutation.v3.Mutations 0, // 3: envoy.extensions.filters.http.header_mutation.v3.HeaderMutation.mutations:type_name -> envoy.extensions.filters.http.header_mutation.v3.Mutations 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_init() } func file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_init() { if File_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Mutations); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutationPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto = out.File file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_rawDesc = nil file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_goTypes = nil file_envoy_extensions_filters_http_header_mutation_v3_header_mutation_proto_depIdxs = nil } header_mutation.pb.validate.go000077500000000000000000000304231454502223200342540ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_mutation/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/header_mutation/v3/header_mutation.proto package header_mutationv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Mutations with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Mutations) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Mutations with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MutationsMultiError, or nil // if none found. func (m *Mutations) ValidateAll() error { return m.validate(true) } func (m *Mutations) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRequestMutations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MutationsValidationError{ field: fmt.Sprintf("RequestMutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MutationsValidationError{ field: fmt.Sprintf("RequestMutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MutationsValidationError{ field: fmt.Sprintf("RequestMutations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseMutations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MutationsValidationError{ field: fmt.Sprintf("ResponseMutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MutationsValidationError{ field: fmt.Sprintf("ResponseMutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MutationsValidationError{ field: fmt.Sprintf("ResponseMutations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MutationsMultiError(errors) } return nil } // MutationsMultiError is an error wrapping multiple validation errors returned // by Mutations.ValidateAll() if the designated constraints aren't met. type MutationsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MutationsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MutationsMultiError) AllErrors() []error { return m } // MutationsValidationError is the validation error returned by // Mutations.Validate if the designated constraints aren't met. type MutationsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MutationsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MutationsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MutationsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MutationsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MutationsValidationError) ErrorName() string { return "MutationsValidationError" } // Error satisfies the builtin error interface func (e MutationsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMutations.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MutationsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MutationsValidationError{} // Validate checks the field values on HeaderMutationPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderMutationPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutationPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderMutationPerRouteMultiError, or nil if none found. func (m *HeaderMutationPerRoute) ValidateAll() error { return m.validate(true) } func (m *HeaderMutationPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMutations()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationPerRouteValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationPerRouteValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMutations()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationPerRouteValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderMutationPerRouteMultiError(errors) } return nil } // HeaderMutationPerRouteMultiError is an error wrapping multiple validation // errors returned by HeaderMutationPerRoute.ValidateAll() if the designated // constraints aren't met. type HeaderMutationPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationPerRouteMultiError) AllErrors() []error { return m } // HeaderMutationPerRouteValidationError is the validation error returned by // HeaderMutationPerRoute.Validate if the designated constraints aren't met. type HeaderMutationPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationPerRouteValidationError) ErrorName() string { return "HeaderMutationPerRouteValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutationPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationPerRouteValidationError{} // Validate checks the field values on HeaderMutation with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMutation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutation with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMutationMultiError, // or nil if none found. func (m *HeaderMutation) ValidateAll() error { return m.validate(true) } func (m *HeaderMutation) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMutations()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMutations()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationValidationError{ field: "Mutations", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeaderMutationMultiError(errors) } return nil } // HeaderMutationMultiError is an error wrapping multiple validation errors // returned by HeaderMutation.ValidateAll() if the designated constraints // aren't met. type HeaderMutationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationMultiError) AllErrors() []error { return m } // HeaderMutationValidationError is the validation error returned by // HeaderMutation.Validate if the designated constraints aren't met. type HeaderMutationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationValidationError) ErrorName() string { return "HeaderMutationValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/header_to_metadata/000077500000000000000000000000001454502223200265315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_to_metadata/v3/000077500000000000000000000000001454502223200270615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.pb.go000077500000000000000000000730261454502223200336150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.proto package header_to_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config_ValueType int32 const ( Config_STRING Config_ValueType = 0 Config_NUMBER Config_ValueType = 1 // The value is a serialized `protobuf.Value // `_. Config_PROTOBUF_VALUE Config_ValueType = 2 ) // Enum value maps for Config_ValueType. var ( Config_ValueType_name = map[int32]string{ 0: "STRING", 1: "NUMBER", 2: "PROTOBUF_VALUE", } Config_ValueType_value = map[string]int32{ "STRING": 0, "NUMBER": 1, "PROTOBUF_VALUE": 2, } ) func (x Config_ValueType) Enum() *Config_ValueType { p := new(Config_ValueType) *p = x return p } func (x Config_ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_ValueType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes[0].Descriptor() } func (Config_ValueType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes[0] } func (x Config_ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_ValueType.Descriptor instead. func (Config_ValueType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } // ValueEncode defines the encoding algorithm. type Config_ValueEncode int32 const ( // The value is not encoded. Config_NONE Config_ValueEncode = 0 // The value is encoded in `Base64 `_. // Note: this is mostly used for STRING and PROTOBUF_VALUE to escape the // non-ASCII characters in the header. Config_BASE64 Config_ValueEncode = 1 ) // Enum value maps for Config_ValueEncode. var ( Config_ValueEncode_name = map[int32]string{ 0: "NONE", 1: "BASE64", } Config_ValueEncode_value = map[string]int32{ "NONE": 0, "BASE64": 1, } ) func (x Config_ValueEncode) Enum() *Config_ValueEncode { p := new(Config_ValueEncode) *p = x return p } func (x Config_ValueEncode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Config_ValueEncode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes[1].Descriptor() } func (Config_ValueEncode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes[1] } func (x Config_ValueEncode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Config_ValueEncode.Descriptor instead. func (Config_ValueEncode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply to requests. RequestRules []*Config_Rule `protobuf:"bytes,1,rep,name=request_rules,json=requestRules,proto3" json:"request_rules,omitempty"` // The list of rules to apply to responses. ResponseRules []*Config_Rule `protobuf:"bytes,2,rep,name=response_rules,json=responseRules,proto3" json:"response_rules,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0} } func (x *Config) GetRequestRules() []*Config_Rule { if x != nil { return x.RequestRules } return nil } func (x *Config) GetResponseRules() []*Config_Rule { if x != nil { return x.ResponseRules } return nil } // [#next-free-field: 7] type Config_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // The value to pair with the given key. // // When used for a // :ref:`on_header_present ` // case, if value is non-empty it'll be used instead of the header value. If both are empty, no metadata is added. // // When used for a :ref:`on_header_missing ` // case, a non-empty value must be provided otherwise no metadata is added. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // If present, the header's value will be matched and substituted with this. If there is no match or substitution, the header value // is used as-is. // // This is only used for :ref:`on_header_present `. // // Note: if the “value“ field is non-empty this field should be empty. RegexValueRewrite *v3.RegexMatchAndSubstitute `protobuf:"bytes,6,opt,name=regex_value_rewrite,json=regexValueRewrite,proto3" json:"regex_value_rewrite,omitempty"` // The value's type — defaults to string. Type Config_ValueType `protobuf:"varint,4,opt,name=type,proto3,enum=envoy.extensions.filters.http.header_to_metadata.v3.Config_ValueType" json:"type,omitempty"` // How is the value encoded, default is NONE (not encoded). // The value will be decoded accordingly before storing to metadata. Encode Config_ValueEncode `protobuf:"varint,5,opt,name=encode,proto3,enum=envoy.extensions.filters.http.header_to_metadata.v3.Config_ValueEncode" json:"encode,omitempty"` } func (x *Config_KeyValuePair) Reset() { *x = Config_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_KeyValuePair) ProtoMessage() {} func (x *Config_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config_KeyValuePair.ProtoReflect.Descriptor instead. func (*Config_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } func (x *Config_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *Config_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } func (x *Config_KeyValuePair) GetValue() string { if x != nil { return x.Value } return "" } func (x *Config_KeyValuePair) GetRegexValueRewrite() *v3.RegexMatchAndSubstitute { if x != nil { return x.RegexValueRewrite } return nil } func (x *Config_KeyValuePair) GetType() Config_ValueType { if x != nil { return x.Type } return Config_STRING } func (x *Config_KeyValuePair) GetEncode() Config_ValueEncode { if x != nil { return x.Encode } return Config_NONE } // A Rule defines what metadata to apply when a header is present or missing. // [#next-free-field: 6] type Config_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies that a match will be performed on the value of a header or a cookie. // // The header to be extracted. Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // The cookie to be extracted. Cookie string `protobuf:"bytes,5,opt,name=cookie,proto3" json:"cookie,omitempty"` // If the header or cookie is present, apply this metadata KeyValuePair. // // If the value in the KeyValuePair is non-empty, it'll be used instead // of the header or cookie value. OnHeaderPresent *Config_KeyValuePair `protobuf:"bytes,2,opt,name=on_header_present,json=onHeaderPresent,proto3" json:"on_header_present,omitempty"` // If the header or cookie is not present, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set, since it'll be used in lieu // of the missing header or cookie value. OnHeaderMissing *Config_KeyValuePair `protobuf:"bytes,3,opt,name=on_header_missing,json=onHeaderMissing,proto3" json:"on_header_missing,omitempty"` // Whether or not to remove the header after a rule is applied. // // This prevents headers from leaking. // This field is not supported in case of a cookie. Remove bool `protobuf:"varint,4,opt,name=remove,proto3" json:"remove,omitempty"` } func (x *Config_Rule) Reset() { *x = Config_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_Rule) ProtoMessage() {} func (x *Config_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config_Rule.ProtoReflect.Descriptor instead. func (*Config_Rule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } func (x *Config_Rule) GetHeader() string { if x != nil { return x.Header } return "" } func (x *Config_Rule) GetCookie() string { if x != nil { return x.Cookie } return "" } func (x *Config_Rule) GetOnHeaderPresent() *Config_KeyValuePair { if x != nil { return x.OnHeaderPresent } return nil } func (x *Config_Rule) GetOnHeaderMissing() *Config_KeyValuePair { if x != nil { return x.OnHeaderMissing } return nil } func (x *Config_Rule) GetRemove() bool { if x != nil { return x.Remove } return false } var File_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDesc = []byte{ 0x0a, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x0b, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x87, 0x04, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x12, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x72, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x42, 0x12, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x12, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x11, 0x72, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5f, 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x49, 0x9a, 0xc5, 0x88, 0x1e, 0x44, 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x1a, 0xff, 0x03, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x42, 0x12, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x42, 0x12, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x36, 0x34, 0x10, 0x01, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescData = file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDesc ) func file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescData) }) return file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDescData } var file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_goTypes = []interface{}{ (Config_ValueType)(0), // 0: envoy.extensions.filters.http.header_to_metadata.v3.Config.ValueType (Config_ValueEncode)(0), // 1: envoy.extensions.filters.http.header_to_metadata.v3.Config.ValueEncode (*Config)(nil), // 2: envoy.extensions.filters.http.header_to_metadata.v3.Config (*Config_KeyValuePair)(nil), // 3: envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair (*Config_Rule)(nil), // 4: envoy.extensions.filters.http.header_to_metadata.v3.Config.Rule (*v3.RegexMatchAndSubstitute)(nil), // 5: envoy.type.matcher.v3.RegexMatchAndSubstitute } var file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.http.header_to_metadata.v3.Config.request_rules:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.Rule 4, // 1: envoy.extensions.filters.http.header_to_metadata.v3.Config.response_rules:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.Rule 5, // 2: envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair.regex_value_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 0, // 3: envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair.type:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.ValueType 1, // 4: envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair.encode:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.ValueEncode 3, // 5: envoy.extensions.filters.http.header_to_metadata.v3.Config.Rule.on_header_present:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair 3, // 6: envoy.extensions.filters.http.header_to_metadata.v3.Config.Rule.on_header_missing:type_name -> envoy.extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_init() } func file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_init() { if File_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto = out.File file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_rawDesc = nil file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_goTypes = nil file_envoy_extensions_filters_http_header_to_metadata_v3_header_to_metadata_proto_depIdxs = nil } header_to_metadata.pb.validate.go000077500000000000000000000342431454502223200353240ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/header_to_metadata/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.proto package header_to_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRequestRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("ResponseRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} // Validate checks the field values on Config_KeyValuePair with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Config_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config_KeyValuePair with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Config_KeyValuePairMultiError, or nil if none found. func (m *Config_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *Config_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if utf8.RuneCountInString(m.GetKey()) < 1 { err := Config_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Value if all { switch v := interface{}(m.GetRegexValueRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Config_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Config_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexValueRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Config_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, } } } if _, ok := Config_ValueType_name[int32(m.GetType())]; !ok { err := Config_KeyValuePairValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for Encode if len(errors) > 0 { return Config_KeyValuePairMultiError(errors) } return nil } // Config_KeyValuePairMultiError is an error wrapping multiple validation // errors returned by Config_KeyValuePair.ValidateAll() if the designated // constraints aren't met. type Config_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Config_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Config_KeyValuePairMultiError) AllErrors() []error { return m } // Config_KeyValuePairValidationError is the validation error returned by // Config_KeyValuePair.Validate if the designated constraints aren't met. type Config_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Config_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Config_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Config_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Config_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Config_KeyValuePairValidationError) ErrorName() string { return "Config_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e Config_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Config_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Config_KeyValuePairValidationError{} // Validate checks the field values on Config_Rule with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config_Rule with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Config_RuleMultiError, or // nil if none found. func (m *Config_Rule) ValidateAll() error { return m.validate(true) } func (m *Config_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if !_Config_Rule_Header_Pattern.MatchString(m.GetHeader()) { err := Config_RuleValidationError{ field: "Header", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if !_Config_Rule_Cookie_Pattern.MatchString(m.GetCookie()) { err := Config_RuleValidationError{ field: "Cookie", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnHeaderPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnHeaderPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Config_RuleValidationError{ field: "OnHeaderPresent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnHeaderMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnHeaderMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Config_RuleValidationError{ field: "OnHeaderMissing", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Remove if len(errors) > 0 { return Config_RuleMultiError(errors) } return nil } // Config_RuleMultiError is an error wrapping multiple validation errors // returned by Config_Rule.ValidateAll() if the designated constraints aren't met. type Config_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Config_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Config_RuleMultiError) AllErrors() []error { return m } // Config_RuleValidationError is the validation error returned by // Config_Rule.Validate if the designated constraints aren't met. type Config_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Config_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Config_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Config_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Config_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Config_RuleValidationError) ErrorName() string { return "Config_RuleValidationError" } // Error satisfies the builtin error interface func (e Config_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Config_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Config_RuleValidationError{} var _Config_Rule_Header_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _Config_Rule_Cookie_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/extensions/filters/http/health_check/000077500000000000000000000000001454502223200253415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/health_check/v3/000077500000000000000000000000001454502223200256715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/health_check/v3/health_check.pb.go000077500000000000000000000352751454502223200312410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/health_check/v3/health_check.proto package health_checkv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type HealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies whether the filter operates in pass through mode or not. PassThroughMode *wrappers.BoolValue `protobuf:"bytes,1,opt,name=pass_through_mode,json=passThroughMode,proto3" json:"pass_through_mode,omitempty"` // If operating in pass through mode, the amount of time in milliseconds // that the filter should cache the upstream response. CacheTime *duration.Duration `protobuf:"bytes,3,opt,name=cache_time,json=cacheTime,proto3" json:"cache_time,omitempty"` // If operating in non-pass-through mode, specifies a set of upstream cluster // names and the minimum percentage of servers in each of those clusters that // must be healthy or degraded in order for the filter to return a 200. // // .. note:: // // This value is interpreted as an integer by truncating, so 12.50% will be calculated // as if it were 12%. ClusterMinHealthyPercentages map[string]*v3.Percent `protobuf:"bytes,4,rep,name=cluster_min_healthy_percentages,json=clusterMinHealthyPercentages,proto3" json:"cluster_min_healthy_percentages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies a set of health check request headers to match on. The health check filter will // check a request’s headers against all the specified headers. To specify the health check // endpoint, set the “:path“ header to match on. Headers []*v31.HeaderMatcher `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HealthCheck) Reset() { *x = HealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_health_check_v3_health_check_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheck) ProtoMessage() {} func (x *HealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_health_check_v3_health_check_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescGZIP(), []int{0} } func (x *HealthCheck) GetPassThroughMode() *wrappers.BoolValue { if x != nil { return x.PassThroughMode } return nil } func (x *HealthCheck) GetCacheTime() *duration.Duration { if x != nil { return x.CacheTime } return nil } func (x *HealthCheck) GetClusterMinHealthyPercentages() map[string]*v3.Percent { if x != nil { return x.ClusterMinHealthyPercentages } return nil } func (x *HealthCheck) GetHeaders() []*v31.HeaderMatcher { if x != nil { return x.Headers } return nil } var File_envoy_extensions_filters_http_health_check_v3_health_check_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x33, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x04, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0xa3, 0x01, 0x0a, 0x1f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x67, 0x0a, 0x21, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescData = file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDesc ) func file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescData) }) return file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDescData } var file_envoy_extensions_filters_http_health_check_v3_health_check_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_health_check_v3_health_check_proto_goTypes = []interface{}{ (*HealthCheck)(nil), // 0: envoy.extensions.filters.http.health_check.v3.HealthCheck nil, // 1: envoy.extensions.filters.http.health_check.v3.HealthCheck.ClusterMinHealthyPercentagesEntry (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue (*duration.Duration)(nil), // 3: google.protobuf.Duration (*v31.HeaderMatcher)(nil), // 4: envoy.config.route.v3.HeaderMatcher (*v3.Percent)(nil), // 5: envoy.type.v3.Percent } var file_envoy_extensions_filters_http_health_check_v3_health_check_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.health_check.v3.HealthCheck.pass_through_mode:type_name -> google.protobuf.BoolValue 3, // 1: envoy.extensions.filters.http.health_check.v3.HealthCheck.cache_time:type_name -> google.protobuf.Duration 1, // 2: envoy.extensions.filters.http.health_check.v3.HealthCheck.cluster_min_healthy_percentages:type_name -> envoy.extensions.filters.http.health_check.v3.HealthCheck.ClusterMinHealthyPercentagesEntry 4, // 3: envoy.extensions.filters.http.health_check.v3.HealthCheck.headers:type_name -> envoy.config.route.v3.HeaderMatcher 5, // 4: envoy.extensions.filters.http.health_check.v3.HealthCheck.ClusterMinHealthyPercentagesEntry.value:type_name -> envoy.type.v3.Percent 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_health_check_v3_health_check_proto_init() } func file_envoy_extensions_filters_http_health_check_v3_health_check_proto_init() { if File_envoy_extensions_filters_http_health_check_v3_health_check_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_health_check_v3_health_check_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_health_check_v3_health_check_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_health_check_v3_health_check_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_health_check_v3_health_check_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_health_check_v3_health_check_proto = out.File file_envoy_extensions_filters_http_health_check_v3_health_check_proto_rawDesc = nil file_envoy_extensions_filters_http_health_check_v3_health_check_proto_goTypes = nil file_envoy_extensions_filters_http_health_check_v3_health_check_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/health_check/v3/health_check.pb.validate.go000077500000000000000000000165431454502223200330260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/health_check/v3/health_check.proto package health_checkv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheck with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HealthCheckMultiError, or // nil if none found. func (m *HealthCheck) ValidateAll() error { return m.validate(true) } func (m *HealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPassThroughMode() == nil { err := HealthCheckValidationError{ field: "PassThroughMode", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPassThroughMode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassThroughMode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "PassThroughMode", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCacheTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCacheTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: "CacheTime", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetClusterMinHealthyPercentages())) i := 0 for key := range m.GetClusterMinHealthyPercentages() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetClusterMinHealthyPercentages()[key] _ = val // no validation rules for ClusterMinHealthyPercentages[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: fmt.Sprintf("ClusterMinHealthyPercentages[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HealthCheckMultiError(errors) } return nil } // HealthCheckMultiError is an error wrapping multiple validation errors // returned by HealthCheck.ValidateAll() if the designated constraints aren't met. type HealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckMultiError) AllErrors() []error { return m } // HealthCheckValidationError is the validation error returned by // HealthCheck.Validate if the designated constraints aren't met. type HealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckValidationError) ErrorName() string { return "HealthCheckValidationError" } // Error satisfies the builtin error interface func (e HealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/ip_tagging/000077500000000000000000000000001454502223200250475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ip_tagging/v3/000077500000000000000000000000001454502223200253775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.pb.go000077500000000000000000000376011454502223200304500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.proto package ip_taggingv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The type of requests the filter should apply to. The supported types // are internal, external or both. The // :ref:`x-forwarded-for` header is // used to determine if a request is internal and will result in // :ref:`x-envoy-internal` // being set. The filter defaults to both, and it will apply to all request types. type IPTagging_RequestType int32 const ( // Both external and internal requests will be tagged. This is the default value. IPTagging_BOTH IPTagging_RequestType = 0 // Only internal requests will be tagged. IPTagging_INTERNAL IPTagging_RequestType = 1 // Only external requests will be tagged. IPTagging_EXTERNAL IPTagging_RequestType = 2 ) // Enum value maps for IPTagging_RequestType. var ( IPTagging_RequestType_name = map[int32]string{ 0: "BOTH", 1: "INTERNAL", 2: "EXTERNAL", } IPTagging_RequestType_value = map[string]int32{ "BOTH": 0, "INTERNAL": 1, "EXTERNAL": 2, } ) func (x IPTagging_RequestType) Enum() *IPTagging_RequestType { p := new(IPTagging_RequestType) *p = x return p } func (x IPTagging_RequestType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (IPTagging_RequestType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_enumTypes[0].Descriptor() } func (IPTagging_RequestType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_enumTypes[0] } func (x IPTagging_RequestType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use IPTagging_RequestType.Descriptor instead. func (IPTagging_RequestType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescGZIP(), []int{0, 0} } type IPTagging struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type of request the filter should apply to. RequestType IPTagging_RequestType `protobuf:"varint,1,opt,name=request_type,json=requestType,proto3,enum=envoy.extensions.filters.http.ip_tagging.v3.IPTagging_RequestType" json:"request_type,omitempty"` // [#comment:TODO(ccaraman): Extend functionality to load IP tags from file system. // Tracked by issue https://github.com/envoyproxy/envoy/issues/2695] // The set of IP tags for the filter. IpTags []*IPTagging_IPTag `protobuf:"bytes,4,rep,name=ip_tags,json=ipTags,proto3" json:"ip_tags,omitempty"` } func (x *IPTagging) Reset() { *x = IPTagging{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IPTagging) String() string { return protoimpl.X.MessageStringOf(x) } func (*IPTagging) ProtoMessage() {} func (x *IPTagging) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IPTagging.ProtoReflect.Descriptor instead. func (*IPTagging) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescGZIP(), []int{0} } func (x *IPTagging) GetRequestType() IPTagging_RequestType { if x != nil { return x.RequestType } return IPTagging_BOTH } func (x *IPTagging) GetIpTags() []*IPTagging_IPTag { if x != nil { return x.IpTags } return nil } // Supplies the IP tag name and the IP address subnets. type IPTagging_IPTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the IP tag name to apply. IpTagName string `protobuf:"bytes,1,opt,name=ip_tag_name,json=ipTagName,proto3" json:"ip_tag_name,omitempty"` // A list of IP address subnets that will be tagged with // ip_tag_name. Both IPv4 and IPv6 are supported. IpList []*v3.CidrRange `protobuf:"bytes,2,rep,name=ip_list,json=ipList,proto3" json:"ip_list,omitempty"` } func (x *IPTagging_IPTag) Reset() { *x = IPTagging_IPTag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IPTagging_IPTag) String() string { return protoimpl.X.MessageStringOf(x) } func (*IPTagging_IPTag) ProtoMessage() {} func (x *IPTagging_IPTag) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IPTagging_IPTag.ProtoReflect.Descriptor instead. func (*IPTagging_IPTag) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescGZIP(), []int{0, 0} } func (x *IPTagging_IPTag) GetIpTagName() string { if x != nil { return x.IpTagName } return "" } func (x *IPTagging_IPTag) GetIpList() []*v3.CidrRange { if x != nil { return x.IpList } return nil } var File_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x03, 0x0a, 0x09, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x6f, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5f, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x69, 0x70, 0x54, 0x61, 0x67, 0x73, 0x1a, 0xa0, 0x01, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x50, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0xb6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x49, 0x70, 0x54, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescData = file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDesc ) func file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescData) }) return file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDescData } var file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_goTypes = []interface{}{ (IPTagging_RequestType)(0), // 0: envoy.extensions.filters.http.ip_tagging.v3.IPTagging.RequestType (*IPTagging)(nil), // 1: envoy.extensions.filters.http.ip_tagging.v3.IPTagging (*IPTagging_IPTag)(nil), // 2: envoy.extensions.filters.http.ip_tagging.v3.IPTagging.IPTag (*v3.CidrRange)(nil), // 3: envoy.config.core.v3.CidrRange } var file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.http.ip_tagging.v3.IPTagging.request_type:type_name -> envoy.extensions.filters.http.ip_tagging.v3.IPTagging.RequestType 2, // 1: envoy.extensions.filters.http.ip_tagging.v3.IPTagging.ip_tags:type_name -> envoy.extensions.filters.http.ip_tagging.v3.IPTagging.IPTag 3, // 2: envoy.extensions.filters.http.ip_tagging.v3.IPTagging.IPTag.ip_list:type_name -> envoy.config.core.v3.CidrRange 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_init() } func file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_init() { if File_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IPTagging); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IPTagging_IPTag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto = out.File file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_rawDesc = nil file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_goTypes = nil file_envoy_extensions_filters_http_ip_tagging_v3_ip_tagging_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.pb.validate.go000077500000000000000000000203021454502223200322260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.proto package ip_taggingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on IPTagging with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *IPTagging) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IPTagging with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in IPTaggingMultiError, or nil // if none found. func (m *IPTagging) ValidateAll() error { return m.validate(true) } func (m *IPTagging) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := IPTagging_RequestType_name[int32(m.GetRequestType())]; !ok { err := IPTaggingValidationError{ field: "RequestType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(m.GetIpTags()) < 1 { err := IPTaggingValidationError{ field: "IpTags", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetIpTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IPTaggingValidationError{ field: fmt.Sprintf("IpTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IPTaggingMultiError(errors) } return nil } // IPTaggingMultiError is an error wrapping multiple validation errors returned // by IPTagging.ValidateAll() if the designated constraints aren't met. type IPTaggingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IPTaggingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IPTaggingMultiError) AllErrors() []error { return m } // IPTaggingValidationError is the validation error returned by // IPTagging.Validate if the designated constraints aren't met. type IPTaggingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IPTaggingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IPTaggingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IPTaggingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IPTaggingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IPTaggingValidationError) ErrorName() string { return "IPTaggingValidationError" } // Error satisfies the builtin error interface func (e IPTaggingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIPTagging.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IPTaggingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IPTaggingValidationError{} // Validate checks the field values on IPTagging_IPTag with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *IPTagging_IPTag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on IPTagging_IPTag with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // IPTagging_IPTagMultiError, or nil if none found. func (m *IPTagging_IPTag) ValidateAll() error { return m.validate(true) } func (m *IPTagging_IPTag) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IpTagName for idx, item := range m.GetIpList() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IPTagging_IPTagValidationError{ field: fmt.Sprintf("IpList[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return IPTagging_IPTagMultiError(errors) } return nil } // IPTagging_IPTagMultiError is an error wrapping multiple validation errors // returned by IPTagging_IPTag.ValidateAll() if the designated constraints // aren't met. type IPTagging_IPTagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IPTagging_IPTagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IPTagging_IPTagMultiError) AllErrors() []error { return m } // IPTagging_IPTagValidationError is the validation error returned by // IPTagging_IPTag.Validate if the designated constraints aren't met. type IPTagging_IPTagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IPTagging_IPTagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IPTagging_IPTagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IPTagging_IPTagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IPTagging_IPTagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IPTagging_IPTagValidationError) ErrorName() string { return "IPTagging_IPTagValidationError" } // Error satisfies the builtin error interface func (e IPTagging_IPTagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIPTagging_IPTag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IPTagging_IPTagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IPTagging_IPTagValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/json_to_metadata/000077500000000000000000000000001454502223200262525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/json_to_metadata/v3/000077500000000000000000000000001454502223200266025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/json_to_metadata/v3/json_to_metadata.pb.go000077500000000000000000001020111454502223200330420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/json_to_metadata/v3/json_to_metadata.proto package json_to_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type JsonToMetadata_ValueType int32 const ( // The value is a serialized `protobuf.Value // `_. JsonToMetadata_PROTOBUF_VALUE JsonToMetadata_ValueType = 0 JsonToMetadata_STRING JsonToMetadata_ValueType = 1 JsonToMetadata_NUMBER JsonToMetadata_ValueType = 2 ) // Enum value maps for JsonToMetadata_ValueType. var ( JsonToMetadata_ValueType_name = map[int32]string{ 0: "PROTOBUF_VALUE", 1: "STRING", 2: "NUMBER", } JsonToMetadata_ValueType_value = map[string]int32{ "PROTOBUF_VALUE": 0, "STRING": 1, "NUMBER": 2, } ) func (x JsonToMetadata_ValueType) Enum() *JsonToMetadata_ValueType { p := new(JsonToMetadata_ValueType) *p = x return p } func (x JsonToMetadata_ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (JsonToMetadata_ValueType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_enumTypes[0].Descriptor() } func (JsonToMetadata_ValueType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_enumTypes[0] } func (x JsonToMetadata_ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use JsonToMetadata_ValueType.Descriptor instead. func (JsonToMetadata_ValueType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0, 0} } type JsonToMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // At least one of request_rules and response_rules must be provided. // Rules to match json body of requests. RequestRules *JsonToMetadata_MatchRules `protobuf:"bytes,1,opt,name=request_rules,json=requestRules,proto3" json:"request_rules,omitempty"` // Rules to match json body of responses. ResponseRules *JsonToMetadata_MatchRules `protobuf:"bytes,2,opt,name=response_rules,json=responseRules,proto3" json:"response_rules,omitempty"` } func (x *JsonToMetadata) Reset() { *x = JsonToMetadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonToMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonToMetadata) ProtoMessage() {} func (x *JsonToMetadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonToMetadata.ProtoReflect.Descriptor instead. func (*JsonToMetadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0} } func (x *JsonToMetadata) GetRequestRules() *JsonToMetadata_MatchRules { if x != nil { return x.RequestRules } return nil } func (x *JsonToMetadata) GetResponseRules() *JsonToMetadata_MatchRules { if x != nil { return x.ResponseRules } return nil } // [#next-free-field: 6] type JsonToMetadata_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Types that are assignable to ValueType: // // *JsonToMetadata_KeyValuePair_Value ValueType isJsonToMetadata_KeyValuePair_ValueType `protobuf_oneof:"value_type"` // The value's type — defaults to protobuf.Value. Type JsonToMetadata_ValueType `protobuf:"varint,4,opt,name=type,proto3,enum=envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata_ValueType" json:"type,omitempty"` // False if we want to overwrite the existing metadata value. Default to false. PreserveExistingMetadataValue bool `protobuf:"varint,5,opt,name=preserve_existing_metadata_value,json=preserveExistingMetadataValue,proto3" json:"preserve_existing_metadata_value,omitempty"` } func (x *JsonToMetadata_KeyValuePair) Reset() { *x = JsonToMetadata_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonToMetadata_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonToMetadata_KeyValuePair) ProtoMessage() {} func (x *JsonToMetadata_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonToMetadata_KeyValuePair.ProtoReflect.Descriptor instead. func (*JsonToMetadata_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0, 0} } func (x *JsonToMetadata_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *JsonToMetadata_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } func (m *JsonToMetadata_KeyValuePair) GetValueType() isJsonToMetadata_KeyValuePair_ValueType { if m != nil { return m.ValueType } return nil } func (x *JsonToMetadata_KeyValuePair) GetValue() *_struct.Value { if x, ok := x.GetValueType().(*JsonToMetadata_KeyValuePair_Value); ok { return x.Value } return nil } func (x *JsonToMetadata_KeyValuePair) GetType() JsonToMetadata_ValueType { if x != nil { return x.Type } return JsonToMetadata_PROTOBUF_VALUE } func (x *JsonToMetadata_KeyValuePair) GetPreserveExistingMetadataValue() bool { if x != nil { return x.PreserveExistingMetadataValue } return false } type isJsonToMetadata_KeyValuePair_ValueType interface { isJsonToMetadata_KeyValuePair_ValueType() } type JsonToMetadata_KeyValuePair_Value struct { // The value to pair with the given key. // // When used for on_present case, if value is non-empty it'll be used instead // of the the value of the JSON key. If both are empty, the the value of the // JSON key is used as-is. // // When used for on_missing/on_error case, a non-empty value // must be provided. // // It ignores ValueType, i.e., not type casting. Value *_struct.Value `protobuf:"bytes,3,opt,name=value,proto3,oneof"` } func (*JsonToMetadata_KeyValuePair_Value) isJsonToMetadata_KeyValuePair_ValueType() {} type JsonToMetadata_Selector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Selector: // // *JsonToMetadata_Selector_Key Selector isJsonToMetadata_Selector_Selector `protobuf_oneof:"selector"` } func (x *JsonToMetadata_Selector) Reset() { *x = JsonToMetadata_Selector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonToMetadata_Selector) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonToMetadata_Selector) ProtoMessage() {} func (x *JsonToMetadata_Selector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonToMetadata_Selector.ProtoReflect.Descriptor instead. func (*JsonToMetadata_Selector) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0, 1} } func (m *JsonToMetadata_Selector) GetSelector() isJsonToMetadata_Selector_Selector { if m != nil { return m.Selector } return nil } func (x *JsonToMetadata_Selector) GetKey() string { if x, ok := x.GetSelector().(*JsonToMetadata_Selector_Key); ok { return x.Key } return "" } type isJsonToMetadata_Selector_Selector interface { isJsonToMetadata_Selector_Selector() } type JsonToMetadata_Selector_Key struct { // key to match Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*JsonToMetadata_Selector_Key) isJsonToMetadata_Selector_Selector() {} // A Rule defines what metadata to apply when a key-value is present, missing in the json // or fail to parse the payload. type JsonToMetadata_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies that a match will be performed on the value of a property. // Here's an example to match on 1 in {"foo": {"bar": 1}, "bar": 2} // // selectors: // - key: foo // - key: bar Selectors []*JsonToMetadata_Selector `protobuf:"bytes,1,rep,name=selectors,proto3" json:"selectors,omitempty"` // If the attribute is present, apply this metadata KeyValuePair. OnPresent *JsonToMetadata_KeyValuePair `protobuf:"bytes,2,opt,name=on_present,json=onPresent,proto3" json:"on_present,omitempty"` // If the attribute is missing, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set. OnMissing *JsonToMetadata_KeyValuePair `protobuf:"bytes,3,opt,name=on_missing,json=onMissing,proto3" json:"on_missing,omitempty"` // If the body is too large or fail to parse, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set. OnError *JsonToMetadata_KeyValuePair `protobuf:"bytes,4,opt,name=on_error,json=onError,proto3" json:"on_error,omitempty"` } func (x *JsonToMetadata_Rule) Reset() { *x = JsonToMetadata_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonToMetadata_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonToMetadata_Rule) ProtoMessage() {} func (x *JsonToMetadata_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonToMetadata_Rule.ProtoReflect.Descriptor instead. func (*JsonToMetadata_Rule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0, 2} } func (x *JsonToMetadata_Rule) GetSelectors() []*JsonToMetadata_Selector { if x != nil { return x.Selectors } return nil } func (x *JsonToMetadata_Rule) GetOnPresent() *JsonToMetadata_KeyValuePair { if x != nil { return x.OnPresent } return nil } func (x *JsonToMetadata_Rule) GetOnMissing() *JsonToMetadata_KeyValuePair { if x != nil { return x.OnMissing } return nil } func (x *JsonToMetadata_Rule) GetOnError() *JsonToMetadata_KeyValuePair { if x != nil { return x.OnError } return nil } type JsonToMetadata_MatchRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply. Rules []*JsonToMetadata_Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // Allowed content-type for json to metadata transformation. // Default to “{"application/json"}“. // // Set “allow_empty_content_type“ if empty/missing content-type header // is allowed. AllowContentTypes []string `protobuf:"bytes,2,rep,name=allow_content_types,json=allowContentTypes,proto3" json:"allow_content_types,omitempty"` // Allowed empty content-type for json to metadata transformation. // Default to false. AllowEmptyContentType bool `protobuf:"varint,3,opt,name=allow_empty_content_type,json=allowEmptyContentType,proto3" json:"allow_empty_content_type,omitempty"` } func (x *JsonToMetadata_MatchRules) Reset() { *x = JsonToMetadata_MatchRules{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonToMetadata_MatchRules) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonToMetadata_MatchRules) ProtoMessage() {} func (x *JsonToMetadata_MatchRules) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JsonToMetadata_MatchRules.ProtoReflect.Descriptor instead. func (*JsonToMetadata_MatchRules) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP(), []int{0, 3} } func (x *JsonToMetadata_MatchRules) GetRules() []*JsonToMetadata_Rule { if x != nil { return x.Rules } return nil } func (x *JsonToMetadata_MatchRules) GetAllowContentTypes() []string { if x != nil { return x.AllowContentTypes } return nil } func (x *JsonToMetadata_MatchRules) GetAllowEmptyContentType() bool { if x != nil { return x.AllowEmptyContentType } return false } var File_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x0a, 0x0a, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x71, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xca, 0x02, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x69, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x33, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xc3, 0x03, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x72, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x6d, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x69, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x07, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xeb, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x42, 0xcd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescData = file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDesc ) func file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescData) }) return file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDescData } var file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_goTypes = []interface{}{ (JsonToMetadata_ValueType)(0), // 0: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.ValueType (*JsonToMetadata)(nil), // 1: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata (*JsonToMetadata_KeyValuePair)(nil), // 2: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair (*JsonToMetadata_Selector)(nil), // 3: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Selector (*JsonToMetadata_Rule)(nil), // 4: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule (*JsonToMetadata_MatchRules)(nil), // 5: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.MatchRules (*_struct.Value)(nil), // 6: google.protobuf.Value } var file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_depIdxs = []int32{ 5, // 0: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.request_rules:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.MatchRules 5, // 1: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.response_rules:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.MatchRules 6, // 2: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair.value:type_name -> google.protobuf.Value 0, // 3: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair.type:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.ValueType 3, // 4: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule.selectors:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Selector 2, // 5: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule.on_present:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair 2, // 6: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule.on_missing:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair 2, // 7: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule.on_error:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.KeyValuePair 4, // 8: envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.MatchRules.rules:type_name -> envoy.extensions.filters.http.json_to_metadata.v3.JsonToMetadata.Rule 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_init() } func file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_init() { if File_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonToMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonToMetadata_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonToMetadata_Selector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonToMetadata_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonToMetadata_MatchRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*JsonToMetadata_KeyValuePair_Value)(nil), } file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ (*JsonToMetadata_Selector_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDesc, NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto = out.File file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_rawDesc = nil file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_goTypes = nil file_envoy_extensions_filters_http_json_to_metadata_v3_json_to_metadata_proto_depIdxs = nil } json_to_metadata.pb.validate.go000077500000000000000000000602141454502223200345630ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/json_to_metadata/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/json_to_metadata/v3/json_to_metadata.proto package json_to_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on JsonToMetadata with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JsonToMetadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonToMetadata with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JsonToMetadataMultiError, // or nil if none found. func (m *JsonToMetadata) ValidateAll() error { return m.validate(true) } func (m *JsonToMetadata) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRequestRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadataValidationError{ field: "RequestRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadataValidationError{ field: "RequestRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadataValidationError{ field: "RequestRules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetResponseRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadataValidationError{ field: "ResponseRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadataValidationError{ field: "ResponseRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadataValidationError{ field: "ResponseRules", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return JsonToMetadataMultiError(errors) } return nil } // JsonToMetadataMultiError is an error wrapping multiple validation errors // returned by JsonToMetadata.ValidateAll() if the designated constraints // aren't met. type JsonToMetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonToMetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonToMetadataMultiError) AllErrors() []error { return m } // JsonToMetadataValidationError is the validation error returned by // JsonToMetadata.Validate if the designated constraints aren't met. type JsonToMetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonToMetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonToMetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonToMetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonToMetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonToMetadataValidationError) ErrorName() string { return "JsonToMetadataValidationError" } // Error satisfies the builtin error interface func (e JsonToMetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonToMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonToMetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonToMetadataValidationError{} // Validate checks the field values on JsonToMetadata_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JsonToMetadata_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonToMetadata_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JsonToMetadata_KeyValuePairMultiError, or nil if none found. func (m *JsonToMetadata_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *JsonToMetadata_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if utf8.RuneCountInString(m.GetKey()) < 1 { err := JsonToMetadata_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := JsonToMetadata_ValueType_name[int32(m.GetType())]; !ok { err := JsonToMetadata_KeyValuePairValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for PreserveExistingMetadataValue switch v := m.ValueType.(type) { case *JsonToMetadata_KeyValuePair_Value: if v == nil { err := JsonToMetadata_KeyValuePairValidationError{ field: "ValueType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_KeyValuePairValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_KeyValuePairValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_KeyValuePairValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return JsonToMetadata_KeyValuePairMultiError(errors) } return nil } // JsonToMetadata_KeyValuePairMultiError is an error wrapping multiple // validation errors returned by JsonToMetadata_KeyValuePair.ValidateAll() if // the designated constraints aren't met. type JsonToMetadata_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonToMetadata_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonToMetadata_KeyValuePairMultiError) AllErrors() []error { return m } // JsonToMetadata_KeyValuePairValidationError is the validation error returned // by JsonToMetadata_KeyValuePair.Validate if the designated constraints // aren't met. type JsonToMetadata_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonToMetadata_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonToMetadata_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonToMetadata_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonToMetadata_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonToMetadata_KeyValuePairValidationError) ErrorName() string { return "JsonToMetadata_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e JsonToMetadata_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonToMetadata_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonToMetadata_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonToMetadata_KeyValuePairValidationError{} // Validate checks the field values on JsonToMetadata_Selector with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JsonToMetadata_Selector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonToMetadata_Selector with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JsonToMetadata_SelectorMultiError, or nil if none found. func (m *JsonToMetadata_Selector) ValidateAll() error { return m.validate(true) } func (m *JsonToMetadata_Selector) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Selector.(type) { case *JsonToMetadata_Selector_Key: if v == nil { err := JsonToMetadata_SelectorValidationError{ field: "Selector", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetKey()) < 1 { err := JsonToMetadata_SelectorValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return JsonToMetadata_SelectorMultiError(errors) } return nil } // JsonToMetadata_SelectorMultiError is an error wrapping multiple validation // errors returned by JsonToMetadata_Selector.ValidateAll() if the designated // constraints aren't met. type JsonToMetadata_SelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonToMetadata_SelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonToMetadata_SelectorMultiError) AllErrors() []error { return m } // JsonToMetadata_SelectorValidationError is the validation error returned by // JsonToMetadata_Selector.Validate if the designated constraints aren't met. type JsonToMetadata_SelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonToMetadata_SelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonToMetadata_SelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonToMetadata_SelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonToMetadata_SelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonToMetadata_SelectorValidationError) ErrorName() string { return "JsonToMetadata_SelectorValidationError" } // Error satisfies the builtin error interface func (e JsonToMetadata_SelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonToMetadata_Selector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonToMetadata_SelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonToMetadata_SelectorValidationError{} // Validate checks the field values on JsonToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JsonToMetadata_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JsonToMetadata_RuleMultiError, or nil if none found. func (m *JsonToMetadata_Rule) ValidateAll() error { return m.validate(true) } func (m *JsonToMetadata_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetSelectors()) < 1 { err := JsonToMetadata_RuleValidationError{ field: "Selectors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetSelectors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: fmt.Sprintf("Selectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: fmt.Sprintf("Selectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_RuleValidationError{ field: fmt.Sprintf("Selectors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetOnPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_RuleValidationError{ field: "OnError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_RuleValidationError{ field: "OnError", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return JsonToMetadata_RuleMultiError(errors) } return nil } // JsonToMetadata_RuleMultiError is an error wrapping multiple validation // errors returned by JsonToMetadata_Rule.ValidateAll() if the designated // constraints aren't met. type JsonToMetadata_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonToMetadata_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonToMetadata_RuleMultiError) AllErrors() []error { return m } // JsonToMetadata_RuleValidationError is the validation error returned by // JsonToMetadata_Rule.Validate if the designated constraints aren't met. type JsonToMetadata_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonToMetadata_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonToMetadata_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonToMetadata_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonToMetadata_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonToMetadata_RuleValidationError) ErrorName() string { return "JsonToMetadata_RuleValidationError" } // Error satisfies the builtin error interface func (e JsonToMetadata_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonToMetadata_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonToMetadata_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonToMetadata_RuleValidationError{} // Validate checks the field values on JsonToMetadata_MatchRules with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JsonToMetadata_MatchRules) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JsonToMetadata_MatchRules with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JsonToMetadata_MatchRulesMultiError, or nil if none found. func (m *JsonToMetadata_MatchRules) ValidateAll() error { return m.validate(true) } func (m *JsonToMetadata_MatchRules) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 1 { err := JsonToMetadata_MatchRulesValidationError{ field: "Rules", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JsonToMetadata_MatchRulesValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JsonToMetadata_MatchRulesValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JsonToMetadata_MatchRulesValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetAllowContentTypes() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := JsonToMetadata_MatchRulesValidationError{ field: fmt.Sprintf("AllowContentTypes[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } } // no validation rules for AllowEmptyContentType if len(errors) > 0 { return JsonToMetadata_MatchRulesMultiError(errors) } return nil } // JsonToMetadata_MatchRulesMultiError is an error wrapping multiple validation // errors returned by JsonToMetadata_MatchRules.ValidateAll() if the // designated constraints aren't met. type JsonToMetadata_MatchRulesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JsonToMetadata_MatchRulesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JsonToMetadata_MatchRulesMultiError) AllErrors() []error { return m } // JsonToMetadata_MatchRulesValidationError is the validation error returned by // JsonToMetadata_MatchRules.Validate if the designated constraints aren't met. type JsonToMetadata_MatchRulesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JsonToMetadata_MatchRulesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JsonToMetadata_MatchRulesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JsonToMetadata_MatchRulesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JsonToMetadata_MatchRulesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JsonToMetadata_MatchRulesValidationError) ErrorName() string { return "JsonToMetadata_MatchRulesValidationError" } // Error satisfies the builtin error interface func (e JsonToMetadata_MatchRulesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJsonToMetadata_MatchRules.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JsonToMetadata_MatchRulesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JsonToMetadata_MatchRulesValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/jwt_authn/000077500000000000000000000000001454502223200247425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/jwt_authn/v3/000077500000000000000000000000001454502223200252725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/jwt_authn/v3/config.pb.go000077500000000000000000003145201454502223200274760ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/jwt_authn/v3/config.proto package jwt_authnv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Please see following for JWT authentication flow: // // * `JSON Web Token (JWT) `_ // * `The OAuth 2.0 Authorization Framework `_ // * `OpenID Connect `_ // // A JwtProvider message specifies how a JSON Web Token (JWT) can be verified. It specifies: // // * issuer: the principal that issues the JWT. If specified, it has to match the “iss“ field in JWT. // * allowed audiences: the ones in the token have to be listed here. // * how to fetch public key JWKS to verify the token signature. // * how to extract JWT token in the request. // * how to pass successfully verified token payload. // // Example: // // .. code-block:: yaml // // issuer: https://example.com // audiences: // - bookstore_android.apps.googleusercontent.com // - bookstore_web.apps.googleusercontent.com // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // timeout: 1s // cache_duration: // seconds: 300 // // [#next-free-field: 19] type JwtProvider struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the `principal `_ that issued // the JWT, usually a URL or an email address. // // It is optional. If specified, it has to match the “iss“ field in JWT, // otherwise the JWT “iss“ field is not checked. // // Note: “JwtRequirement“ :ref:`allow_missing ` // and :ref:`allow_missing_or_failed ` // are implemented differently than other “JwtRequirements“. Hence the usage of this field // is different as follows if “allow_missing“ or “allow_missing_or_failed“ is used: // // * If a JWT has “iss“ field, it needs to be specified by this field in one of “JwtProviders“. // * If a JWT doesn't have “iss“ field, one of “JwtProviders“ should fill this field empty. // * Multiple “JwtProviders“ should not have same value in this field. // // Example: https://securetoken.google.com // Example: 1234567-compute@developer.gserviceaccount.com Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // The list of JWT `audiences `_ are // allowed to access. A JWT containing any of these audiences will be accepted. If not specified, // will not check audiences in the token. // // Example: // // .. code-block:: yaml // // audiences: // - bookstore_android.apps.googleusercontent.com // - bookstore_web.apps.googleusercontent.com Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` // `JSON Web Key Set (JWKS) `_ is needed to // validate signature of a JWT. This field specifies where to fetch JWKS. // // Types that are assignable to JwksSourceSpecifier: // // *JwtProvider_RemoteJwks // *JwtProvider_LocalJwks JwksSourceSpecifier isJwtProvider_JwksSourceSpecifier `protobuf_oneof:"jwks_source_specifier"` // If false, the JWT is removed in the request after a success verification. If true, the JWT is // not removed in the request. Default value is false. // caveat: only works for from_header & has no effect for JWTs extracted through from_params & from_cookies. Forward bool `protobuf:"varint,5,opt,name=forward,proto3" json:"forward,omitempty"` // Two fields below define where to extract the JWT from an HTTP request. // // If no explicit location is specified, the following default locations are tried in order: // // 1. The Authorization header using the `Bearer schema // `_. Example:: // // Authorization: Bearer . // // 2. `access_token `_ query parameter. // // Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations // its provider specified or from the default locations. // // Specify the HTTP headers to extract JWT token. For examples, following config: // // .. code-block:: yaml // // from_headers: // - name: x-goog-iap-jwt-assertion // // can be used to extract token from header:: // // ``x-goog-iap-jwt-assertion: ``. FromHeaders []*JwtHeader `protobuf:"bytes,6,rep,name=from_headers,json=fromHeaders,proto3" json:"from_headers,omitempty"` // JWT is sent in a query parameter. “jwt_params“ represents the query parameter names. // // For example, if config is: // // .. code-block:: yaml // // from_params: // - jwt_token // // The JWT format in query parameter is:: // // /path?jwt_token= FromParams []string `protobuf:"bytes,7,rep,name=from_params,json=fromParams,proto3" json:"from_params,omitempty"` // JWT is sent in a cookie. “from_cookies“ represents the cookie names to extract from. // // For example, if config is: // // .. code-block:: yaml // // from_cookies: // - auth-token // // Then JWT will be extracted from “auth-token“ cookie in the request. FromCookies []string `protobuf:"bytes,13,rep,name=from_cookies,json=fromCookies,proto3" json:"from_cookies,omitempty"` // This field specifies the header name to forward a successfully verified JWT payload to the // backend. The forwarded data is:: // // base64url_encoded(jwt_payload_in_JSON) // // If it is not specified, the payload will not be forwarded. ForwardPayloadHeader string `protobuf:"bytes,8,opt,name=forward_payload_header,json=forwardPayloadHeader,proto3" json:"forward_payload_header,omitempty"` // When :ref:`forward_payload_header ` // is specified, the base64 encoded payload will be added to the headers. // Normally JWT based64 encode doesn't add padding. If this field is true, // the header will be padded. // // This field is only relevant if :ref:`forward_payload_header ` // is specified. PadForwardPayloadHeader bool `protobuf:"varint,11,opt,name=pad_forward_payload_header,json=padForwardPayloadHeader,proto3" json:"pad_forward_payload_header,omitempty"` // If non empty, successfully verified JWT payloads will be written to StreamInfo DynamicMetadata // in the format as: “namespace“ is the jwt_authn filter name as ````envoy.filters.http.jwt_authn```` // The value is the “protobuf::Struct“. The value of this field will be the key for its “fields“ // and the value is the “protobuf::Struct“ converted from JWT JSON payload. // // For example, if payload_in_metadata is “my_payload“: // // .. code-block:: yaml // // envoy.filters.http.jwt_authn: // my_payload: // iss: https://example.com // sub: test@example.com // aud: https://example.com // exp: 1501281058 PayloadInMetadata string `protobuf:"bytes,9,opt,name=payload_in_metadata,json=payloadInMetadata,proto3" json:"payload_in_metadata,omitempty"` // Normalizes the payload representation in the request metadata. NormalizePayloadInMetadata *JwtProvider_NormalizePayload `protobuf:"bytes,18,opt,name=normalize_payload_in_metadata,json=normalizePayloadInMetadata,proto3" json:"normalize_payload_in_metadata,omitempty"` // If not empty, similar to :ref:`payload_in_metadata `, // a successfully verified JWT header will be written to :ref:`Dynamic State ` // as an entry (“protobuf::Struct“) in “envoy.filters.http.jwt_authn“ “namespace“ with the // value of this field as the key. // // For example, if “header_in_metadata“ is “my_header“: // // .. code-block:: yaml // // envoy.filters.http.jwt_authn: // my_header: // alg: JWT // kid: EF71iSaosbC5C4tC6Syq1Gm647M // alg: PS256 // // When the metadata has “envoy.filters.http.jwt_authn“ entry already (for example if // :ref:`payload_in_metadata ` // is not empty), it will be inserted as a new entry in the same “namespace“ as shown below: // // .. code-block:: yaml // // envoy.filters.http.jwt_authn: // my_payload: // iss: https://example.com // sub: test@example.com // aud: https://example.com // exp: 1501281058 // my_header: // alg: JWT // kid: EF71iSaosbC5C4tC6Syq1Gm647M // alg: PS256 // // .. warning:: // // Using the same key name for :ref:`header_in_metadata ` // and :ref:`payload_in_metadata ` // is not suggested due to potential override of existing entry, while it is not enforced during // config validation. HeaderInMetadata string `protobuf:"bytes,14,opt,name=header_in_metadata,json=headerInMetadata,proto3" json:"header_in_metadata,omitempty"` // If non empty, the failure status “::google::jwt_verify::Status“ for a non verified JWT will be written to StreamInfo DynamicMetadata // in the format as: “namespace“ is the jwt_authn filter name as “envoy.filters.http.jwt_authn“ // The value is the “protobuf::Struct“. The values of this field will be “code“ and “message“ // and they will contain the JWT authentication failure status code and a message describing the failure. // // For example, if failed_status_in_metadata is “my_auth_failure_status“: // // .. code-block:: yaml // // envoy.filters.http.jwt_authn: // my_auth_failure_status: // code: 3 // message: Jwt expired FailedStatusInMetadata string `protobuf:"bytes,16,opt,name=failed_status_in_metadata,json=failedStatusInMetadata,proto3" json:"failed_status_in_metadata,omitempty"` // Specify the clock skew in seconds when verifying JWT time constraint, // such as “exp“, and “nbf“. If not specified, default is 60 seconds. ClockSkewSeconds uint32 `protobuf:"varint,10,opt,name=clock_skew_seconds,json=clockSkewSeconds,proto3" json:"clock_skew_seconds,omitempty"` // Enables JWT cache, its size is specified by “jwt_cache_size“. // Only valid JWT tokens are cached. JwtCacheConfig *JwtCacheConfig `protobuf:"bytes,12,opt,name=jwt_cache_config,json=jwtCacheConfig,proto3" json:"jwt_cache_config,omitempty"` // Add JWT claim to HTTP Header // Specify the claim name you want to copy in which HTTP header. For examples, following config: // The claim must be of type; string, int, double, bool. Array type claims are not supported // .. code-block:: yaml // // claim_to_headers: // - name: x-jwt-claim-nested-claim // claim: claim.nested.key // // This header is only reserved for jwt claim; any other value will be overwritten. ClaimToHeaders []*JwtClaimToHeader `protobuf:"bytes,15,rep,name=claim_to_headers,json=claimToHeaders,proto3" json:"claim_to_headers,omitempty"` // Clears route cache in order to allow JWT token to correctly affect // routing decisions. Filter clears all cached routes when: // // 1. The field is set to “true“. // // 2. At least one “claim_to_headers“ header is added to the request OR // if “payload_in_metadata“ is set. ClearRouteCache bool `protobuf:"varint,17,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` } func (x *JwtProvider) Reset() { *x = JwtProvider{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtProvider) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtProvider) ProtoMessage() {} func (x *JwtProvider) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtProvider.ProtoReflect.Descriptor instead. func (*JwtProvider) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{0} } func (x *JwtProvider) GetIssuer() string { if x != nil { return x.Issuer } return "" } func (x *JwtProvider) GetAudiences() []string { if x != nil { return x.Audiences } return nil } func (m *JwtProvider) GetJwksSourceSpecifier() isJwtProvider_JwksSourceSpecifier { if m != nil { return m.JwksSourceSpecifier } return nil } func (x *JwtProvider) GetRemoteJwks() *RemoteJwks { if x, ok := x.GetJwksSourceSpecifier().(*JwtProvider_RemoteJwks); ok { return x.RemoteJwks } return nil } func (x *JwtProvider) GetLocalJwks() *v3.DataSource { if x, ok := x.GetJwksSourceSpecifier().(*JwtProvider_LocalJwks); ok { return x.LocalJwks } return nil } func (x *JwtProvider) GetForward() bool { if x != nil { return x.Forward } return false } func (x *JwtProvider) GetFromHeaders() []*JwtHeader { if x != nil { return x.FromHeaders } return nil } func (x *JwtProvider) GetFromParams() []string { if x != nil { return x.FromParams } return nil } func (x *JwtProvider) GetFromCookies() []string { if x != nil { return x.FromCookies } return nil } func (x *JwtProvider) GetForwardPayloadHeader() string { if x != nil { return x.ForwardPayloadHeader } return "" } func (x *JwtProvider) GetPadForwardPayloadHeader() bool { if x != nil { return x.PadForwardPayloadHeader } return false } func (x *JwtProvider) GetPayloadInMetadata() string { if x != nil { return x.PayloadInMetadata } return "" } func (x *JwtProvider) GetNormalizePayloadInMetadata() *JwtProvider_NormalizePayload { if x != nil { return x.NormalizePayloadInMetadata } return nil } func (x *JwtProvider) GetHeaderInMetadata() string { if x != nil { return x.HeaderInMetadata } return "" } func (x *JwtProvider) GetFailedStatusInMetadata() string { if x != nil { return x.FailedStatusInMetadata } return "" } func (x *JwtProvider) GetClockSkewSeconds() uint32 { if x != nil { return x.ClockSkewSeconds } return 0 } func (x *JwtProvider) GetJwtCacheConfig() *JwtCacheConfig { if x != nil { return x.JwtCacheConfig } return nil } func (x *JwtProvider) GetClaimToHeaders() []*JwtClaimToHeader { if x != nil { return x.ClaimToHeaders } return nil } func (x *JwtProvider) GetClearRouteCache() bool { if x != nil { return x.ClearRouteCache } return false } type isJwtProvider_JwksSourceSpecifier interface { isJwtProvider_JwksSourceSpecifier() } type JwtProvider_RemoteJwks struct { // JWKS can be fetched from remote server via HTTP/HTTPS. This field specifies the remote HTTP // URI and how the fetched JWKS should be cached. // // Example: // // .. code-block:: yaml // // remote_jwks: // http_uri: // uri: https://www.googleapis.com/oauth2/v1/certs // cluster: jwt.www.googleapis.com|443 // timeout: 1s // cache_duration: // seconds: 300 RemoteJwks *RemoteJwks `protobuf:"bytes,3,opt,name=remote_jwks,json=remoteJwks,proto3,oneof"` } type JwtProvider_LocalJwks struct { // JWKS is in local data source. It could be either in a local file or embedded in the // inline_string. // // Example: local file // // .. code-block:: yaml // // local_jwks: // filename: /etc/envoy/jwks/jwks1.txt // // Example: inline_string // // .. code-block:: yaml // // local_jwks: // inline_string: ACADADADADA LocalJwks *v3.DataSource `protobuf:"bytes,4,opt,name=local_jwks,json=localJwks,proto3,oneof"` } func (*JwtProvider_RemoteJwks) isJwtProvider_JwksSourceSpecifier() {} func (*JwtProvider_LocalJwks) isJwtProvider_JwksSourceSpecifier() {} // This message specifies JWT Cache configuration. type JwtCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The unit is number of JWT tokens, default to 100. JwtCacheSize uint32 `protobuf:"varint,1,opt,name=jwt_cache_size,json=jwtCacheSize,proto3" json:"jwt_cache_size,omitempty"` } func (x *JwtCacheConfig) Reset() { *x = JwtCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtCacheConfig) ProtoMessage() {} func (x *JwtCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtCacheConfig.ProtoReflect.Descriptor instead. func (*JwtCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{1} } func (x *JwtCacheConfig) GetJwtCacheSize() uint32 { if x != nil { return x.JwtCacheSize } return 0 } // This message specifies how to fetch JWKS from remote and how to cache it. type RemoteJwks struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP URI to fetch the JWKS. For example: // // .. code-block:: yaml // // http_uri: // uri: https://www.googleapis.com/oauth2/v1/certs // cluster: jwt.www.googleapis.com|443 // timeout: 1s HttpUri *v3.HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Duration after which the cached JWKS should be expired. If not specified, default cache // duration is 10 minutes. CacheDuration *duration.Duration `protobuf:"bytes,2,opt,name=cache_duration,json=cacheDuration,proto3" json:"cache_duration,omitempty"` // Fetch Jwks asynchronously in the main thread before the listener is activated. // Fetched Jwks can be used by all worker threads. // // If this feature is not enabled: // // - The Jwks is fetched on-demand when the requests come. During the fetching, first // few requests are paused until the Jwks is fetched. // - Each worker thread fetches its own Jwks since Jwks cache is per worker thread. // // If this feature is enabled: // // - Fetched Jwks is done in the main thread before the listener is activated. Its fetched // Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. // - Jwks is ready when the requests come, not need to wait for the Jwks fetching. AsyncFetch *JwksAsyncFetch `protobuf:"bytes,3,opt,name=async_fetch,json=asyncFetch,proto3" json:"async_fetch,omitempty"` // Retry policy for fetching Jwks. optional. turned off by default. // // For example: // // .. code-block:: yaml // // retry_policy: // retry_back_off: // base_interval: 0.01s // max_interval: 20s // num_retries: 10 // // will yield a randomized truncated exponential backoff policy with an initial delay of 10ms // 10 maximum attempts spaced at most 20s seconds. // // .. code-block:: yaml // // retry_policy: // num_retries:1 // // uses the default :ref:`retry backoff strategy `. // with the default base interval is 1000 milliseconds. and the default maximum interval of 10 times the base interval. // // if num_retries is omitted, the default is to allow only one retry. // // If enabled, the retry policy will apply to all Jwks fetching approaches, e.g. on demand or asynchronously in background. RetryPolicy *v3.RetryPolicy `protobuf:"bytes,4,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` } func (x *RemoteJwks) Reset() { *x = RemoteJwks{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoteJwks) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoteJwks) ProtoMessage() {} func (x *RemoteJwks) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemoteJwks.ProtoReflect.Descriptor instead. func (*RemoteJwks) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{2} } func (x *RemoteJwks) GetHttpUri() *v3.HttpUri { if x != nil { return x.HttpUri } return nil } func (x *RemoteJwks) GetCacheDuration() *duration.Duration { if x != nil { return x.CacheDuration } return nil } func (x *RemoteJwks) GetAsyncFetch() *JwksAsyncFetch { if x != nil { return x.AsyncFetch } return nil } func (x *RemoteJwks) GetRetryPolicy() *v3.RetryPolicy { if x != nil { return x.RetryPolicy } return nil } // Fetch Jwks asynchronously in the main thread when the filter config is parsed. // The listener is activated only after the Jwks is fetched. // When the Jwks is expired in the cache, it is fetched again in the main thread. // The fetched Jwks from the main thread can be used by all worker threads. type JwksAsyncFetch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If false, the listener is activated after the initial fetch is completed. // The initial fetch result can be either successful or failed. // If true, it is activated without waiting for the initial fetch to complete. // Default is false. FastListener bool `protobuf:"varint,1,opt,name=fast_listener,json=fastListener,proto3" json:"fast_listener,omitempty"` // The duration to refetch after a failed fetch. If not specified, default is 1 second. FailedRefetchDuration *duration.Duration `protobuf:"bytes,2,opt,name=failed_refetch_duration,json=failedRefetchDuration,proto3" json:"failed_refetch_duration,omitempty"` } func (x *JwksAsyncFetch) Reset() { *x = JwksAsyncFetch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwksAsyncFetch) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwksAsyncFetch) ProtoMessage() {} func (x *JwksAsyncFetch) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwksAsyncFetch.ProtoReflect.Descriptor instead. func (*JwksAsyncFetch) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{3} } func (x *JwksAsyncFetch) GetFastListener() bool { if x != nil { return x.FastListener } return false } func (x *JwksAsyncFetch) GetFailedRefetchDuration() *duration.Duration { if x != nil { return x.FailedRefetchDuration } return nil } // This message specifies a header location to extract JWT token. type JwtHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP header name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The value prefix. The value format is "value_prefix" // For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the // end. ValuePrefix string `protobuf:"bytes,2,opt,name=value_prefix,json=valuePrefix,proto3" json:"value_prefix,omitempty"` } func (x *JwtHeader) Reset() { *x = JwtHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtHeader) ProtoMessage() {} func (x *JwtHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtHeader.ProtoReflect.Descriptor instead. func (*JwtHeader) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{4} } func (x *JwtHeader) GetName() string { if x != nil { return x.Name } return "" } func (x *JwtHeader) GetValuePrefix() string { if x != nil { return x.ValuePrefix } return "" } // Specify a required provider with audiences. type ProviderWithAudiences struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a required provider name. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"` // This field overrides the one specified in the JwtProvider. Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` } func (x *ProviderWithAudiences) Reset() { *x = ProviderWithAudiences{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProviderWithAudiences) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProviderWithAudiences) ProtoMessage() {} func (x *ProviderWithAudiences) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProviderWithAudiences.ProtoReflect.Descriptor instead. func (*ProviderWithAudiences) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{5} } func (x *ProviderWithAudiences) GetProviderName() string { if x != nil { return x.ProviderName } return "" } func (x *ProviderWithAudiences) GetAudiences() []string { if x != nil { return x.Audiences } return nil } // This message specifies a Jwt requirement. An empty message means JWT verification is not // required. Here are some config examples: // // .. code-block:: yaml // // # Example 1: not required with an empty message // // # Example 2: require A // provider_name: provider-A // // # Example 3: require A or B // requires_any: // requirements: // - provider_name: provider-A // - provider_name: provider-B // // # Example 4: require A and B // requires_all: // requirements: // - provider_name: provider-A // - provider_name: provider-B // // # Example 5: require A and (B or C) // requires_all: // requirements: // - provider_name: provider-A // - requires_any: // requirements: // - provider_name: provider-B // - provider_name: provider-C // // # Example 6: require A or (B and C) // requires_any: // requirements: // - provider_name: provider-A // - requires_all: // requirements: // - provider_name: provider-B // - provider_name: provider-C // // # Example 7: A is optional (if token from A is provided, it must be valid, but also allows // missing token.) // requires_any: // requirements: // - provider_name: provider-A // - allow_missing: {} // // # Example 8: A is optional and B is required. // requires_all: // requirements: // - requires_any: // requirements: // - provider_name: provider-A // - allow_missing: {} // - provider_name: provider-B // // [#next-free-field: 7] type JwtRequirement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RequiresType: // // *JwtRequirement_ProviderName // *JwtRequirement_ProviderAndAudiences // *JwtRequirement_RequiresAny // *JwtRequirement_RequiresAll // *JwtRequirement_AllowMissingOrFailed // *JwtRequirement_AllowMissing RequiresType isJwtRequirement_RequiresType `protobuf_oneof:"requires_type"` } func (x *JwtRequirement) Reset() { *x = JwtRequirement{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirement) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirement) ProtoMessage() {} func (x *JwtRequirement) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirement.ProtoReflect.Descriptor instead. func (*JwtRequirement) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{6} } func (m *JwtRequirement) GetRequiresType() isJwtRequirement_RequiresType { if m != nil { return m.RequiresType } return nil } func (x *JwtRequirement) GetProviderName() string { if x, ok := x.GetRequiresType().(*JwtRequirement_ProviderName); ok { return x.ProviderName } return "" } func (x *JwtRequirement) GetProviderAndAudiences() *ProviderWithAudiences { if x, ok := x.GetRequiresType().(*JwtRequirement_ProviderAndAudiences); ok { return x.ProviderAndAudiences } return nil } func (x *JwtRequirement) GetRequiresAny() *JwtRequirementOrList { if x, ok := x.GetRequiresType().(*JwtRequirement_RequiresAny); ok { return x.RequiresAny } return nil } func (x *JwtRequirement) GetRequiresAll() *JwtRequirementAndList { if x, ok := x.GetRequiresType().(*JwtRequirement_RequiresAll); ok { return x.RequiresAll } return nil } func (x *JwtRequirement) GetAllowMissingOrFailed() *emptypb.Empty { if x, ok := x.GetRequiresType().(*JwtRequirement_AllowMissingOrFailed); ok { return x.AllowMissingOrFailed } return nil } func (x *JwtRequirement) GetAllowMissing() *emptypb.Empty { if x, ok := x.GetRequiresType().(*JwtRequirement_AllowMissing); ok { return x.AllowMissing } return nil } type isJwtRequirement_RequiresType interface { isJwtRequirement_RequiresType() } type JwtRequirement_ProviderName struct { // Specify a required provider name. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3,oneof"` } type JwtRequirement_ProviderAndAudiences struct { // Specify a required provider with audiences. ProviderAndAudiences *ProviderWithAudiences `protobuf:"bytes,2,opt,name=provider_and_audiences,json=providerAndAudiences,proto3,oneof"` } type JwtRequirement_RequiresAny struct { // Specify list of JwtRequirement. Their results are OR-ed. // If any one of them passes, the result is passed. RequiresAny *JwtRequirementOrList `protobuf:"bytes,3,opt,name=requires_any,json=requiresAny,proto3,oneof"` } type JwtRequirement_RequiresAll struct { // Specify list of JwtRequirement. Their results are AND-ed. // All of them must pass, if one of them fails or missing, it fails. RequiresAll *JwtRequirementAndList `protobuf:"bytes,4,opt,name=requires_all,json=requiresAll,proto3,oneof"` } type JwtRequirement_AllowMissingOrFailed struct { // The requirement is always satisfied even if JWT is missing or the JWT // verification fails. A typical usage is: this filter is used to only verify // JWTs and pass the verified JWT payloads to another filter, the other filter // will make decision. In this mode, all JWT tokens will be verified. AllowMissingOrFailed *emptypb.Empty `protobuf:"bytes,5,opt,name=allow_missing_or_failed,json=allowMissingOrFailed,proto3,oneof"` } type JwtRequirement_AllowMissing struct { // The requirement is satisfied if JWT is missing, but failed if JWT is // presented but invalid. Similar to allow_missing_or_failed, this is used // to only verify JWTs and pass the verified payload to another filter. The // different is this mode will reject requests with invalid tokens. AllowMissing *emptypb.Empty `protobuf:"bytes,6,opt,name=allow_missing,json=allowMissing,proto3,oneof"` } func (*JwtRequirement_ProviderName) isJwtRequirement_RequiresType() {} func (*JwtRequirement_ProviderAndAudiences) isJwtRequirement_RequiresType() {} func (*JwtRequirement_RequiresAny) isJwtRequirement_RequiresType() {} func (*JwtRequirement_RequiresAll) isJwtRequirement_RequiresType() {} func (*JwtRequirement_AllowMissingOrFailed) isJwtRequirement_RequiresType() {} func (*JwtRequirement_AllowMissing) isJwtRequirement_RequiresType() {} // This message specifies a list of RequiredProvider. // Their results are OR-ed; if any one of them passes, the result is passed type JwtRequirementOrList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a list of JwtRequirement. Requirements []*JwtRequirement `protobuf:"bytes,1,rep,name=requirements,proto3" json:"requirements,omitempty"` } func (x *JwtRequirementOrList) Reset() { *x = JwtRequirementOrList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirementOrList) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirementOrList) ProtoMessage() {} func (x *JwtRequirementOrList) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirementOrList.ProtoReflect.Descriptor instead. func (*JwtRequirementOrList) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{7} } func (x *JwtRequirementOrList) GetRequirements() []*JwtRequirement { if x != nil { return x.Requirements } return nil } // This message specifies a list of RequiredProvider. // Their results are AND-ed; all of them must pass, if one of them fails or missing, it fails. type JwtRequirementAndList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify a list of JwtRequirement. Requirements []*JwtRequirement `protobuf:"bytes,1,rep,name=requirements,proto3" json:"requirements,omitempty"` } func (x *JwtRequirementAndList) Reset() { *x = JwtRequirementAndList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtRequirementAndList) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtRequirementAndList) ProtoMessage() {} func (x *JwtRequirementAndList) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtRequirementAndList.ProtoReflect.Descriptor instead. func (*JwtRequirementAndList) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{8} } func (x *JwtRequirementAndList) GetRequirements() []*JwtRequirement { if x != nil { return x.Requirements } return nil } // This message specifies a Jwt requirement for a specific Route condition. // Example 1: // // .. code-block:: yaml // // - match: // prefix: /healthz // // In above example, "requires" field is empty for /healthz prefix match, // it means that requests matching the path prefix don't require JWT authentication. // // Example 2: // // .. code-block:: yaml // // - match: // prefix: / // requires: { provider_name: provider-A } // // In above example, all requests matched the path prefix require jwt authentication // from "provider-A". type RequirementRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The route matching parameter. Only when the match is satisfied, the "requires" field will // apply. // // For example: following match will match all requests. // // .. code-block:: yaml // // match: // prefix: / Match *v31.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Specify a Jwt requirement. // If not specified, Jwt verification is disabled. // // Types that are assignable to RequirementType: // // *RequirementRule_Requires // *RequirementRule_RequirementName RequirementType isRequirementRule_RequirementType `protobuf_oneof:"requirement_type"` } func (x *RequirementRule) Reset() { *x = RequirementRule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequirementRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequirementRule) ProtoMessage() {} func (x *RequirementRule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequirementRule.ProtoReflect.Descriptor instead. func (*RequirementRule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{9} } func (x *RequirementRule) GetMatch() *v31.RouteMatch { if x != nil { return x.Match } return nil } func (m *RequirementRule) GetRequirementType() isRequirementRule_RequirementType { if m != nil { return m.RequirementType } return nil } func (x *RequirementRule) GetRequires() *JwtRequirement { if x, ok := x.GetRequirementType().(*RequirementRule_Requires); ok { return x.Requires } return nil } func (x *RequirementRule) GetRequirementName() string { if x, ok := x.GetRequirementType().(*RequirementRule_RequirementName); ok { return x.RequirementName } return "" } type isRequirementRule_RequirementType interface { isRequirementRule_RequirementType() } type RequirementRule_Requires struct { // Specify a Jwt requirement. Please see detail comment in message JwtRequirement. Requires *JwtRequirement `protobuf:"bytes,2,opt,name=requires,proto3,oneof"` } type RequirementRule_RequirementName struct { // Use requirement_name to specify a Jwt requirement. // This requirement_name MUST be specified at the // :ref:`requirement_map ` // in “JwtAuthentication“. RequirementName string `protobuf:"bytes,3,opt,name=requirement_name,json=requirementName,proto3,oneof"` } func (*RequirementRule_Requires) isRequirementRule_RequirementType() {} func (*RequirementRule_RequirementName) isRequirementRule_RequirementType() {} // This message specifies Jwt requirements based on stream_info.filterState. // This FilterState should use “Router::StringAccessor“ object to set a string value. // Other HTTP filters can use it to specify Jwt requirements dynamically. // // Example: // // .. code-block:: yaml // // name: jwt_selector // requires: // issuer_1: // provider_name: issuer1 // issuer_2: // provider_name: issuer2 // // If a filter set "jwt_selector" with "issuer_1" to FilterState for a request, // jwt_authn filter will use JwtRequirement{"provider_name": "issuer1"} to verify. type FilterStateRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter state name to retrieve the “Router::StringAccessor“ object. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A map of string keys to requirements. The string key is the string value // in the FilterState with the name specified in the “name“ field above. Requires map[string]*JwtRequirement `protobuf:"bytes,3,rep,name=requires,proto3" json:"requires,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FilterStateRule) Reset() { *x = FilterStateRule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterStateRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterStateRule) ProtoMessage() {} func (x *FilterStateRule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterStateRule.ProtoReflect.Descriptor instead. func (*FilterStateRule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{10} } func (x *FilterStateRule) GetName() string { if x != nil { return x.Name } return "" } func (x *FilterStateRule) GetRequires() map[string]*JwtRequirement { if x != nil { return x.Requires } return nil } // This is the Envoy HTTP filter config for JWT authentication. // // For example: // // .. code-block:: yaml // // providers: // provider1: // issuer: issuer1 // audiences: // - audience1 // - audience2 // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // timeout: 1s // provider2: // issuer: issuer2 // local_jwks: // inline_string: jwks_string // // rules: // # Not jwt verification is required for /health path // - match: // prefix: /health // // # Jwt verification for provider1 is required for path prefixed with "prefix" // - match: // prefix: /prefix // requires: // provider_name: provider1 // // # Jwt verification for either provider1 or provider2 is required for all other requests. // - match: // prefix: / // requires: // requires_any: // requirements: // - provider_name: provider1 // - provider_name: provider2 // // [#next-free-field: 6] type JwtAuthentication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Map of provider names to JwtProviders. // // .. code-block:: yaml // // providers: // provider1: // issuer: issuer1 // audiences: // - audience1 // - audience2 // remote_jwks: // http_uri: // uri: https://example.com/.well-known/jwks.json // cluster: example_jwks_cluster // timeout: 1s // provider2: // issuer: provider2 // local_jwks: // inline_string: jwks_string Providers map[string]*JwtProvider `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Specifies requirements based on the route matches. The first matched requirement will be // applied. If there are overlapped match conditions, please put the most specific match first. // // # Examples // // .. code-block:: yaml // // rules: // - match: // prefix: /healthz // - match: // prefix: /baz // requires: // provider_name: provider1 // - match: // prefix: /foo // requires: // requires_any: // requirements: // - provider_name: provider1 // - provider_name: provider2 // - match: // prefix: /bar // requires: // requires_all: // requirements: // - provider_name: provider1 // - provider_name: provider2 Rules []*RequirementRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` // This message specifies Jwt requirements based on stream_info.filterState. // Other HTTP filters can use it to specify Jwt requirements dynamically. // The “rules“ field above is checked first, if it could not find any matches, // check this one. FilterStateRules *FilterStateRule `protobuf:"bytes,3,opt,name=filter_state_rules,json=filterStateRules,proto3" json:"filter_state_rules,omitempty"` // When set to true, bypass the `CORS preflight request // `_ regardless of JWT // requirements specified in the rules. BypassCorsPreflight bool `protobuf:"varint,4,opt,name=bypass_cors_preflight,json=bypassCorsPreflight,proto3" json:"bypass_cors_preflight,omitempty"` // A map of unique requirement_names to JwtRequirements. // :ref:`requirement_name ` // in “PerRouteConfig“ uses this map to specify a JwtRequirement. RequirementMap map[string]*JwtRequirement `protobuf:"bytes,5,rep,name=requirement_map,json=requirementMap,proto3" json:"requirement_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *JwtAuthentication) Reset() { *x = JwtAuthentication{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtAuthentication) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtAuthentication) ProtoMessage() {} func (x *JwtAuthentication) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtAuthentication.ProtoReflect.Descriptor instead. func (*JwtAuthentication) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{11} } func (x *JwtAuthentication) GetProviders() map[string]*JwtProvider { if x != nil { return x.Providers } return nil } func (x *JwtAuthentication) GetRules() []*RequirementRule { if x != nil { return x.Rules } return nil } func (x *JwtAuthentication) GetFilterStateRules() *FilterStateRule { if x != nil { return x.FilterStateRules } return nil } func (x *JwtAuthentication) GetBypassCorsPreflight() bool { if x != nil { return x.BypassCorsPreflight } return false } func (x *JwtAuthentication) GetRequirementMap() map[string]*JwtRequirement { if x != nil { return x.RequirementMap } return nil } // Specify per-route config. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RequirementSpecifier: // // *PerRouteConfig_Disabled // *PerRouteConfig_RequirementName RequirementSpecifier isPerRouteConfig_RequirementSpecifier `protobuf_oneof:"requirement_specifier"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{12} } func (m *PerRouteConfig) GetRequirementSpecifier() isPerRouteConfig_RequirementSpecifier { if m != nil { return m.RequirementSpecifier } return nil } func (x *PerRouteConfig) GetDisabled() bool { if x, ok := x.GetRequirementSpecifier().(*PerRouteConfig_Disabled); ok { return x.Disabled } return false } func (x *PerRouteConfig) GetRequirementName() string { if x, ok := x.GetRequirementSpecifier().(*PerRouteConfig_RequirementName); ok { return x.RequirementName } return "" } type isPerRouteConfig_RequirementSpecifier interface { isPerRouteConfig_RequirementSpecifier() } type PerRouteConfig_Disabled struct { // Disable Jwt Authentication for this route. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type PerRouteConfig_RequirementName struct { // Use requirement_name to specify a JwtRequirement. // This requirement_name MUST be specified at the // :ref:`requirement_map ` // in “JwtAuthentication“. If no, the requests using this route will be rejected with 403. RequirementName string `protobuf:"bytes,2,opt,name=requirement_name,json=requirementName,proto3,oneof"` } func (*PerRouteConfig_Disabled) isPerRouteConfig_RequirementSpecifier() {} func (*PerRouteConfig_RequirementName) isPerRouteConfig_RequirementSpecifier() {} // This message specifies a combination of header name and claim name. type JwtClaimToHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP header name to copy the claim to. // The header name will be sanitized and replaced. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // The field name for the JWT Claim : it can be a nested claim of type (eg. "claim.nested.key", "sub") // String separated with "." in case of nested claims. The nested claim name must use dot "." to separate // the JSON name path. ClaimName string `protobuf:"bytes,2,opt,name=claim_name,json=claimName,proto3" json:"claim_name,omitempty"` } func (x *JwtClaimToHeader) Reset() { *x = JwtClaimToHeader{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtClaimToHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtClaimToHeader) ProtoMessage() {} func (x *JwtClaimToHeader) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtClaimToHeader.ProtoReflect.Descriptor instead. func (*JwtClaimToHeader) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{13} } func (x *JwtClaimToHeader) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *JwtClaimToHeader) GetClaimName() string { if x != nil { return x.ClaimName } return "" } // Alters the payload representation in the request dynamic metadata to facilitate its use in matching. type JwtProvider_NormalizePayload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Each claim in this list will be interpreted as a space-delimited string // and converted to a list of strings based on the delimited values. // Example: a token with a claim “scopes: "email profile"“ is translated // to dynamic metadata “scopes: ["email", "profile"]“ if this field is // set value “["scopes"]“. This special handling of “scopes“ is // recommended by `RFC8693 // `_. SpaceDelimitedClaims []string `protobuf:"bytes,1,rep,name=space_delimited_claims,json=spaceDelimitedClaims,proto3" json:"space_delimited_claims,omitempty"` } func (x *JwtProvider_NormalizePayload) Reset() { *x = JwtProvider_NormalizePayload{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JwtProvider_NormalizePayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*JwtProvider_NormalizePayload) ProtoMessage() {} func (x *JwtProvider_NormalizePayload) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JwtProvider_NormalizePayload.ProtoReflect.Descriptor instead. func (*JwtProvider_NormalizePayload) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP(), []int{0, 0} } func (x *JwtProvider_NormalizePayload) GetSpaceDelimitedClaims() []string { if x != nil { return x.SpaceDelimitedClaims } return nil } var File_envoy_extensions_filters_http_jwt_authn_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x0a, 0x0a, 0x0b, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x58, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x8b, 0x01, 0x0a, 0x1d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x1a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x6b, 0x65, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x6a, 0x77, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6a, 0x77, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0x48, 0x0a, 0x10, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x1c, 0x0a, 0x15, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x36, 0x0a, 0x0e, 0x4a, 0x77, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x77, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6a, 0x77, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xff, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x56, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0xfa, 0x42, 0x11, 0xaa, 0x01, 0x0e, 0x1a, 0x06, 0x08, 0x80, 0xb4, 0xc4, 0xc3, 0x21, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0b, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x6b, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x4a, 0x77, 0x6b, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x61, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x4a, 0x77, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x3b, 0x9a, 0xc5, 0x88, 0x1e, 0x36, 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xe4, 0x04, 0x0a, 0x0e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x41, 0x6e, 0x79, 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x3a, 0x40, 0x9a, 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x15, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xbb, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x58, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x1a, 0x77, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xa8, 0x06, 0x0a, 0x11, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x7a, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x75, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7d, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x1c, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x6a, 0x0a, 0x10, 0x4a, 0x77, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xb0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescData = file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDescData } var file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_goTypes = []interface{}{ (*JwtProvider)(nil), // 0: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider (*JwtCacheConfig)(nil), // 1: envoy.extensions.filters.http.jwt_authn.v3.JwtCacheConfig (*RemoteJwks)(nil), // 2: envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks (*JwksAsyncFetch)(nil), // 3: envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch (*JwtHeader)(nil), // 4: envoy.extensions.filters.http.jwt_authn.v3.JwtHeader (*ProviderWithAudiences)(nil), // 5: envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences (*JwtRequirement)(nil), // 6: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement (*JwtRequirementOrList)(nil), // 7: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList (*JwtRequirementAndList)(nil), // 8: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList (*RequirementRule)(nil), // 9: envoy.extensions.filters.http.jwt_authn.v3.RequirementRule (*FilterStateRule)(nil), // 10: envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule (*JwtAuthentication)(nil), // 11: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication (*PerRouteConfig)(nil), // 12: envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig (*JwtClaimToHeader)(nil), // 13: envoy.extensions.filters.http.jwt_authn.v3.JwtClaimToHeader (*JwtProvider_NormalizePayload)(nil), // 14: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.NormalizePayload nil, // 15: envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule.RequiresEntry nil, // 16: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.ProvidersEntry nil, // 17: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.RequirementMapEntry (*v3.DataSource)(nil), // 18: envoy.config.core.v3.DataSource (*v3.HttpUri)(nil), // 19: envoy.config.core.v3.HttpUri (*duration.Duration)(nil), // 20: google.protobuf.Duration (*v3.RetryPolicy)(nil), // 21: envoy.config.core.v3.RetryPolicy (*emptypb.Empty)(nil), // 22: google.protobuf.Empty (*v31.RouteMatch)(nil), // 23: envoy.config.route.v3.RouteMatch } var file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.remote_jwks:type_name -> envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks 18, // 1: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.local_jwks:type_name -> envoy.config.core.v3.DataSource 4, // 2: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.from_headers:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtHeader 14, // 3: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.normalize_payload_in_metadata:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.NormalizePayload 1, // 4: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.jwt_cache_config:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtCacheConfig 13, // 5: envoy.extensions.filters.http.jwt_authn.v3.JwtProvider.claim_to_headers:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtClaimToHeader 19, // 6: envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks.http_uri:type_name -> envoy.config.core.v3.HttpUri 20, // 7: envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks.cache_duration:type_name -> google.protobuf.Duration 3, // 8: envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks.async_fetch:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch 21, // 9: envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy 20, // 10: envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch.failed_refetch_duration:type_name -> google.protobuf.Duration 5, // 11: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement.provider_and_audiences:type_name -> envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences 7, // 12: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement.requires_any:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList 8, // 13: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement.requires_all:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList 22, // 14: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement.allow_missing_or_failed:type_name -> google.protobuf.Empty 22, // 15: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement.allow_missing:type_name -> google.protobuf.Empty 6, // 16: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList.requirements:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement 6, // 17: envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList.requirements:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement 23, // 18: envoy.extensions.filters.http.jwt_authn.v3.RequirementRule.match:type_name -> envoy.config.route.v3.RouteMatch 6, // 19: envoy.extensions.filters.http.jwt_authn.v3.RequirementRule.requires:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement 15, // 20: envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule.requires:type_name -> envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule.RequiresEntry 16, // 21: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.providers:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.ProvidersEntry 9, // 22: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.rules:type_name -> envoy.extensions.filters.http.jwt_authn.v3.RequirementRule 10, // 23: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.filter_state_rules:type_name -> envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule 17, // 24: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.requirement_map:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.RequirementMapEntry 6, // 25: envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule.RequiresEntry.value:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement 0, // 26: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.ProvidersEntry.value:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtProvider 6, // 27: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication.RequirementMapEntry.value:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement 28, // [28:28] is the sub-list for method output_type 28, // [28:28] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_init() } func file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_init() { if File_envoy_extensions_filters_http_jwt_authn_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtProvider); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteJwks); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwksAsyncFetch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProviderWithAudiences); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirementOrList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtRequirementAndList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequirementRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterStateRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtAuthentication); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtClaimToHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JwtProvider_NormalizePayload); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*JwtProvider_RemoteJwks)(nil), (*JwtProvider_LocalJwks)(nil), } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[6].OneofWrappers = []interface{}{ (*JwtRequirement_ProviderName)(nil), (*JwtRequirement_ProviderAndAudiences)(nil), (*JwtRequirement_RequiresAny)(nil), (*JwtRequirement_RequiresAll)(nil), (*JwtRequirement_AllowMissingOrFailed)(nil), (*JwtRequirement_AllowMissing)(nil), } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[9].OneofWrappers = []interface{}{ (*RequirementRule_Requires)(nil), (*RequirementRule_RequirementName)(nil), } file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes[12].OneofWrappers = []interface{}{ (*PerRouteConfig_Disabled)(nil), (*PerRouteConfig_RequirementName)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 18, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_jwt_authn_v3_config_proto = out.File file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_goTypes = nil file_envoy_extensions_filters_http_jwt_authn_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/jwt_authn/v3/config.pb.validate.go000077500000000000000000002204651454502223200312720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/jwt_authn/v3/config.proto package jwt_authnv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on JwtProvider with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtProvider) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtProvider with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtProviderMultiError, or // nil if none found. func (m *JwtProvider) ValidateAll() error { return m.validate(true) } func (m *JwtProvider) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Issuer // no validation rules for Forward for idx, item := range m.GetFromHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: fmt.Sprintf("FromHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if !_JwtProvider_ForwardPayloadHeader_Pattern.MatchString(m.GetForwardPayloadHeader()) { err := JwtProviderValidationError{ field: "ForwardPayloadHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for PadForwardPayloadHeader // no validation rules for PayloadInMetadata if all { switch v := interface{}(m.GetNormalizePayloadInMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "NormalizePayloadInMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "NormalizePayloadInMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNormalizePayloadInMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "NormalizePayloadInMetadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HeaderInMetadata // no validation rules for FailedStatusInMetadata // no validation rules for ClockSkewSeconds if all { switch v := interface{}(m.GetJwtCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "JwtCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "JwtCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetJwtCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "JwtCacheConfig", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetClaimToHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("ClaimToHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: fmt.Sprintf("ClaimToHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: fmt.Sprintf("ClaimToHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for ClearRouteCache oneofJwksSourceSpecifierPresent := false switch v := m.JwksSourceSpecifier.(type) { case *JwtProvider_RemoteJwks: if v == nil { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofJwksSourceSpecifierPresent = true if all { switch v := interface{}(m.GetRemoteJwks()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteJwks()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "RemoteJwks", reason: "embedded message failed validation", cause: err, } } } case *JwtProvider_LocalJwks: if v == nil { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofJwksSourceSpecifierPresent = true if all { switch v := interface{}(m.GetLocalJwks()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalJwks()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtProviderValidationError{ field: "LocalJwks", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofJwksSourceSpecifierPresent { err := JwtProviderValidationError{ field: "JwksSourceSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return JwtProviderMultiError(errors) } return nil } // JwtProviderMultiError is an error wrapping multiple validation errors // returned by JwtProvider.ValidateAll() if the designated constraints aren't met. type JwtProviderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtProviderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtProviderMultiError) AllErrors() []error { return m } // JwtProviderValidationError is the validation error returned by // JwtProvider.Validate if the designated constraints aren't met. type JwtProviderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtProviderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtProviderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtProviderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtProviderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtProviderValidationError) ErrorName() string { return "JwtProviderValidationError" } // Error satisfies the builtin error interface func (e JwtProviderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtProvider.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtProviderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtProviderValidationError{} var _JwtProvider_ForwardPayloadHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on JwtCacheConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtCacheConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtCacheConfigMultiError, // or nil if none found. func (m *JwtCacheConfig) ValidateAll() error { return m.validate(true) } func (m *JwtCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for JwtCacheSize if len(errors) > 0 { return JwtCacheConfigMultiError(errors) } return nil } // JwtCacheConfigMultiError is an error wrapping multiple validation errors // returned by JwtCacheConfig.ValidateAll() if the designated constraints // aren't met. type JwtCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtCacheConfigMultiError) AllErrors() []error { return m } // JwtCacheConfigValidationError is the validation error returned by // JwtCacheConfig.Validate if the designated constraints aren't met. type JwtCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtCacheConfigValidationError) ErrorName() string { return "JwtCacheConfigValidationError" } // Error satisfies the builtin error interface func (e JwtCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtCacheConfigValidationError{} // Validate checks the field values on RemoteJwks with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RemoteJwks) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RemoteJwks with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RemoteJwksMultiError, or // nil if none found. func (m *RemoteJwks) ValidateAll() error { return m.validate(true) } func (m *RemoteJwks) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpUri()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpUri()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteJwksValidationError{ field: "HttpUri", reason: "embedded message failed validation", cause: err, } } } if d := m.GetCacheDuration(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RemoteJwksValidationError{ field: "CacheDuration", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(9000000000*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte || dur >= lt { err := RemoteJwksValidationError{ field: "CacheDuration", reason: "value must be inside range [1ms, 2500000h0m0s)", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetAsyncFetch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "AsyncFetch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "AsyncFetch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAsyncFetch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteJwksValidationError{ field: "AsyncFetch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRetryPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RemoteJwksValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RemoteJwksValidationError{ field: "RetryPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RemoteJwksMultiError(errors) } return nil } // RemoteJwksMultiError is an error wrapping multiple validation errors // returned by RemoteJwks.ValidateAll() if the designated constraints aren't met. type RemoteJwksMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RemoteJwksMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RemoteJwksMultiError) AllErrors() []error { return m } // RemoteJwksValidationError is the validation error returned by // RemoteJwks.Validate if the designated constraints aren't met. type RemoteJwksValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RemoteJwksValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RemoteJwksValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RemoteJwksValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RemoteJwksValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RemoteJwksValidationError) ErrorName() string { return "RemoteJwksValidationError" } // Error satisfies the builtin error interface func (e RemoteJwksValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRemoteJwks.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RemoteJwksValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RemoteJwksValidationError{} // Validate checks the field values on JwksAsyncFetch with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwksAsyncFetch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwksAsyncFetch with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwksAsyncFetchMultiError, // or nil if none found. func (m *JwksAsyncFetch) ValidateAll() error { return m.validate(true) } func (m *JwksAsyncFetch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FastListener if all { switch v := interface{}(m.GetFailedRefetchDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwksAsyncFetchValidationError{ field: "FailedRefetchDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwksAsyncFetchValidationError{ field: "FailedRefetchDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFailedRefetchDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwksAsyncFetchValidationError{ field: "FailedRefetchDuration", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return JwksAsyncFetchMultiError(errors) } return nil } // JwksAsyncFetchMultiError is an error wrapping multiple validation errors // returned by JwksAsyncFetch.ValidateAll() if the designated constraints // aren't met. type JwksAsyncFetchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwksAsyncFetchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwksAsyncFetchMultiError) AllErrors() []error { return m } // JwksAsyncFetchValidationError is the validation error returned by // JwksAsyncFetch.Validate if the designated constraints aren't met. type JwksAsyncFetchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwksAsyncFetchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwksAsyncFetchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwksAsyncFetchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwksAsyncFetchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwksAsyncFetchValidationError) ErrorName() string { return "JwksAsyncFetchValidationError" } // Error satisfies the builtin error interface func (e JwksAsyncFetchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwksAsyncFetch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwksAsyncFetchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwksAsyncFetchValidationError{} // Validate checks the field values on JwtHeader with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtHeader with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtHeaderMultiError, or nil // if none found. func (m *JwtHeader) ValidateAll() error { return m.validate(true) } func (m *JwtHeader) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := JwtHeaderValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_JwtHeader_Name_Pattern.MatchString(m.GetName()) { err := JwtHeaderValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if !_JwtHeader_ValuePrefix_Pattern.MatchString(m.GetValuePrefix()) { err := JwtHeaderValidationError{ field: "ValuePrefix", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return JwtHeaderMultiError(errors) } return nil } // JwtHeaderMultiError is an error wrapping multiple validation errors returned // by JwtHeader.ValidateAll() if the designated constraints aren't met. type JwtHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtHeaderMultiError) AllErrors() []error { return m } // JwtHeaderValidationError is the validation error returned by // JwtHeader.Validate if the designated constraints aren't met. type JwtHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtHeaderValidationError) ErrorName() string { return "JwtHeaderValidationError" } // Error satisfies the builtin error interface func (e JwtHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtHeaderValidationError{} var _JwtHeader_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _JwtHeader_ValuePrefix_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on ProviderWithAudiences with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProviderWithAudiences) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProviderWithAudiences with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProviderWithAudiencesMultiError, or nil if none found. func (m *ProviderWithAudiences) ValidateAll() error { return m.validate(true) } func (m *ProviderWithAudiences) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ProviderName if len(errors) > 0 { return ProviderWithAudiencesMultiError(errors) } return nil } // ProviderWithAudiencesMultiError is an error wrapping multiple validation // errors returned by ProviderWithAudiences.ValidateAll() if the designated // constraints aren't met. type ProviderWithAudiencesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProviderWithAudiencesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProviderWithAudiencesMultiError) AllErrors() []error { return m } // ProviderWithAudiencesValidationError is the validation error returned by // ProviderWithAudiences.Validate if the designated constraints aren't met. type ProviderWithAudiencesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProviderWithAudiencesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProviderWithAudiencesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProviderWithAudiencesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProviderWithAudiencesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProviderWithAudiencesValidationError) ErrorName() string { return "ProviderWithAudiencesValidationError" } // Error satisfies the builtin error interface func (e ProviderWithAudiencesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProviderWithAudiences.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProviderWithAudiencesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProviderWithAudiencesValidationError{} // Validate checks the field values on JwtRequirement with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *JwtRequirement) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirement with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in JwtRequirementMultiError, // or nil if none found. func (m *JwtRequirement) ValidateAll() error { return m.validate(true) } func (m *JwtRequirement) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.RequiresType.(type) { case *JwtRequirement_ProviderName: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ProviderName case *JwtRequirement_ProviderAndAudiences: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProviderAndAudiences()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProviderAndAudiences()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "ProviderAndAudiences", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_RequiresAny: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequiresAny()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequiresAny()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "RequiresAny", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_RequiresAll: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequiresAll()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequiresAll()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "RequiresAll", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_AllowMissingOrFailed: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAllowMissingOrFailed()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowMissingOrFailed()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "AllowMissingOrFailed", reason: "embedded message failed validation", cause: err, } } } case *JwtRequirement_AllowMissing: if v == nil { err := JwtRequirementValidationError{ field: "RequiresType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAllowMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAllowMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementValidationError{ field: "AllowMissing", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return JwtRequirementMultiError(errors) } return nil } // JwtRequirementMultiError is an error wrapping multiple validation errors // returned by JwtRequirement.ValidateAll() if the designated constraints // aren't met. type JwtRequirementMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementMultiError) AllErrors() []error { return m } // JwtRequirementValidationError is the validation error returned by // JwtRequirement.Validate if the designated constraints aren't met. type JwtRequirementValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementValidationError) ErrorName() string { return "JwtRequirementValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirement.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementValidationError{} // Validate checks the field values on JwtRequirementOrList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JwtRequirementOrList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirementOrList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtRequirementOrListMultiError, or nil if none found. func (m *JwtRequirementOrList) ValidateAll() error { return m.validate(true) } func (m *JwtRequirementOrList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequirements()) < 2 { err := JwtRequirementOrListValidationError{ field: "Requirements", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequirements() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementOrListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return JwtRequirementOrListMultiError(errors) } return nil } // JwtRequirementOrListMultiError is an error wrapping multiple validation // errors returned by JwtRequirementOrList.ValidateAll() if the designated // constraints aren't met. type JwtRequirementOrListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementOrListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementOrListMultiError) AllErrors() []error { return m } // JwtRequirementOrListValidationError is the validation error returned by // JwtRequirementOrList.Validate if the designated constraints aren't met. type JwtRequirementOrListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementOrListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementOrListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementOrListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementOrListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementOrListValidationError) ErrorName() string { return "JwtRequirementOrListValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementOrListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirementOrList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementOrListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementOrListValidationError{} // Validate checks the field values on JwtRequirementAndList with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JwtRequirementAndList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtRequirementAndList with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtRequirementAndListMultiError, or nil if none found. func (m *JwtRequirementAndList) ValidateAll() error { return m.validate(true) } func (m *JwtRequirementAndList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequirements()) < 2 { err := JwtRequirementAndListValidationError{ field: "Requirements", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequirements() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtRequirementAndListValidationError{ field: fmt.Sprintf("Requirements[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return JwtRequirementAndListMultiError(errors) } return nil } // JwtRequirementAndListMultiError is an error wrapping multiple validation // errors returned by JwtRequirementAndList.ValidateAll() if the designated // constraints aren't met. type JwtRequirementAndListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtRequirementAndListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtRequirementAndListMultiError) AllErrors() []error { return m } // JwtRequirementAndListValidationError is the validation error returned by // JwtRequirementAndList.Validate if the designated constraints aren't met. type JwtRequirementAndListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtRequirementAndListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtRequirementAndListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtRequirementAndListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtRequirementAndListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtRequirementAndListValidationError) ErrorName() string { return "JwtRequirementAndListValidationError" } // Error satisfies the builtin error interface func (e JwtRequirementAndListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtRequirementAndList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtRequirementAndListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtRequirementAndListValidationError{} // Validate checks the field values on RequirementRule with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RequirementRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequirementRule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequirementRuleMultiError, or nil if none found. func (m *RequirementRule) ValidateAll() error { return m.validate(true) } func (m *RequirementRule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RequirementRuleValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequirementRuleValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } switch v := m.RequirementType.(type) { case *RequirementRule_Requires: if v == nil { err := RequirementRuleValidationError{ field: "RequirementType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRequires()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequires()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequirementRuleValidationError{ field: "Requires", reason: "embedded message failed validation", cause: err, } } } case *RequirementRule_RequirementName: if v == nil { err := RequirementRuleValidationError{ field: "RequirementType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetRequirementName()) < 1 { err := RequirementRuleValidationError{ field: "RequirementName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return RequirementRuleMultiError(errors) } return nil } // RequirementRuleMultiError is an error wrapping multiple validation errors // returned by RequirementRule.ValidateAll() if the designated constraints // aren't met. type RequirementRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequirementRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequirementRuleMultiError) AllErrors() []error { return m } // RequirementRuleValidationError is the validation error returned by // RequirementRule.Validate if the designated constraints aren't met. type RequirementRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequirementRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequirementRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequirementRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequirementRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequirementRuleValidationError) ErrorName() string { return "RequirementRuleValidationError" } // Error satisfies the builtin error interface func (e RequirementRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequirementRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequirementRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequirementRuleValidationError{} // Validate checks the field values on FilterStateRule with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterStateRule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterStateRule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterStateRuleMultiError, or nil if none found. func (m *FilterStateRule) ValidateAll() error { return m.validate(true) } func (m *FilterStateRule) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := FilterStateRuleValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetRequires())) i := 0 for key := range m.GetRequires() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetRequires()[key] _ = val // no validation rules for Requires[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterStateRuleValidationError{ field: fmt.Sprintf("Requires[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return FilterStateRuleMultiError(errors) } return nil } // FilterStateRuleMultiError is an error wrapping multiple validation errors // returned by FilterStateRule.ValidateAll() if the designated constraints // aren't met. type FilterStateRuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterStateRuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterStateRuleMultiError) AllErrors() []error { return m } // FilterStateRuleValidationError is the validation error returned by // FilterStateRule.Validate if the designated constraints aren't met. type FilterStateRuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterStateRuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterStateRuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterStateRuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterStateRuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterStateRuleValidationError) ErrorName() string { return "FilterStateRuleValidationError" } // Error satisfies the builtin error interface func (e FilterStateRuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterStateRule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterStateRuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterStateRuleValidationError{} // Validate checks the field values on JwtAuthentication with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *JwtAuthentication) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtAuthentication with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtAuthenticationMultiError, or nil if none found. func (m *JwtAuthentication) ValidateAll() error { return m.validate(true) } func (m *JwtAuthentication) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetProviders())) i := 0 for key := range m.GetProviders() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetProviders()[key] _ = val // no validation rules for Providers[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: fmt.Sprintf("Providers[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetFilterStateRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterStateRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: "FilterStateRules", reason: "embedded message failed validation", cause: err, } } } // no validation rules for BypassCorsPreflight { sorted_keys := make([]string, len(m.GetRequirementMap())) i := 0 for key := range m.GetRequirementMap() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetRequirementMap()[key] _ = val // no validation rules for RequirementMap[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("RequirementMap[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, JwtAuthenticationValidationError{ field: fmt.Sprintf("RequirementMap[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return JwtAuthenticationValidationError{ field: fmt.Sprintf("RequirementMap[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return JwtAuthenticationMultiError(errors) } return nil } // JwtAuthenticationMultiError is an error wrapping multiple validation errors // returned by JwtAuthentication.ValidateAll() if the designated constraints // aren't met. type JwtAuthenticationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtAuthenticationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtAuthenticationMultiError) AllErrors() []error { return m } // JwtAuthenticationValidationError is the validation error returned by // JwtAuthentication.Validate if the designated constraints aren't met. type JwtAuthenticationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtAuthenticationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtAuthenticationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtAuthenticationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtAuthenticationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtAuthenticationValidationError) ErrorName() string { return "JwtAuthenticationValidationError" } // Error satisfies the builtin error interface func (e JwtAuthenticationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtAuthentication.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtAuthenticationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtAuthenticationValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofRequirementSpecifierPresent := false switch v := m.RequirementSpecifier.(type) { case *PerRouteConfig_Disabled: if v == nil { err := PerRouteConfigValidationError{ field: "RequirementSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequirementSpecifierPresent = true if m.GetDisabled() != true { err := PerRouteConfigValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *PerRouteConfig_RequirementName: if v == nil { err := PerRouteConfigValidationError{ field: "RequirementSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequirementSpecifierPresent = true if utf8.RuneCountInString(m.GetRequirementName()) < 1 { err := PerRouteConfigValidationError{ field: "RequirementName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofRequirementSpecifierPresent { err := PerRouteConfigValidationError{ field: "RequirementSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} // Validate checks the field values on JwtClaimToHeader with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *JwtClaimToHeader) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtClaimToHeader with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtClaimToHeaderMultiError, or nil if none found. func (m *JwtClaimToHeader) ValidateAll() error { return m.validate(true) } func (m *JwtClaimToHeader) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeaderName()) < 1 { err := JwtClaimToHeaderValidationError{ field: "HeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_JwtClaimToHeader_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := JwtClaimToHeaderValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetClaimName()) < 1 { err := JwtClaimToHeaderValidationError{ field: "ClaimName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return JwtClaimToHeaderMultiError(errors) } return nil } // JwtClaimToHeaderMultiError is an error wrapping multiple validation errors // returned by JwtClaimToHeader.ValidateAll() if the designated constraints // aren't met. type JwtClaimToHeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtClaimToHeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtClaimToHeaderMultiError) AllErrors() []error { return m } // JwtClaimToHeaderValidationError is the validation error returned by // JwtClaimToHeader.Validate if the designated constraints aren't met. type JwtClaimToHeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtClaimToHeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtClaimToHeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtClaimToHeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtClaimToHeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtClaimToHeaderValidationError) ErrorName() string { return "JwtClaimToHeaderValidationError" } // Error satisfies the builtin error interface func (e JwtClaimToHeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtClaimToHeader.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtClaimToHeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtClaimToHeaderValidationError{} var _JwtClaimToHeader_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on JwtProvider_NormalizePayload with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *JwtProvider_NormalizePayload) Validate() error { return m.validate(false) } // ValidateAll checks the field values on JwtProvider_NormalizePayload with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // JwtProvider_NormalizePayloadMultiError, or nil if none found. func (m *JwtProvider_NormalizePayload) ValidateAll() error { return m.validate(true) } func (m *JwtProvider_NormalizePayload) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return JwtProvider_NormalizePayloadMultiError(errors) } return nil } // JwtProvider_NormalizePayloadMultiError is an error wrapping multiple // validation errors returned by JwtProvider_NormalizePayload.ValidateAll() if // the designated constraints aren't met. type JwtProvider_NormalizePayloadMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m JwtProvider_NormalizePayloadMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m JwtProvider_NormalizePayloadMultiError) AllErrors() []error { return m } // JwtProvider_NormalizePayloadValidationError is the validation error returned // by JwtProvider_NormalizePayload.Validate if the designated constraints // aren't met. type JwtProvider_NormalizePayloadValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e JwtProvider_NormalizePayloadValidationError) Field() string { return e.field } // Reason function returns reason value. func (e JwtProvider_NormalizePayloadValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e JwtProvider_NormalizePayloadValidationError) Cause() error { return e.cause } // Key function returns key value. func (e JwtProvider_NormalizePayloadValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e JwtProvider_NormalizePayloadValidationError) ErrorName() string { return "JwtProvider_NormalizePayloadValidationError" } // Error satisfies the builtin error interface func (e JwtProvider_NormalizePayloadValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sJwtProvider_NormalizePayload.%s: %s%s", key, e.field, e.reason, cause) } var _ error = JwtProvider_NormalizePayloadValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = JwtProvider_NormalizePayloadValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/kill_request/000077500000000000000000000000001454502223200254425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/kill_request/v3/000077500000000000000000000000001454502223200257725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/kill_request/v3/kill_request.pb.go000077500000000000000000000303531454502223200314330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/kill_request/v3/kill_request.proto package kill_requestv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // On which direction should the filter check for the “kill_request_header“. // Default to “REQUEST“ if unspecified. type KillRequest_Direction int32 const ( KillRequest_REQUEST KillRequest_Direction = 0 KillRequest_RESPONSE KillRequest_Direction = 1 ) // Enum value maps for KillRequest_Direction. var ( KillRequest_Direction_name = map[int32]string{ 0: "REQUEST", 1: "RESPONSE", } KillRequest_Direction_value = map[string]int32{ "REQUEST": 0, "RESPONSE": 1, } ) func (x KillRequest_Direction) Enum() *KillRequest_Direction { p := new(KillRequest_Direction) *p = x return p } func (x KillRequest_Direction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (KillRequest_Direction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_enumTypes[0].Descriptor() } func (KillRequest_Direction) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_enumTypes[0] } func (x KillRequest_Direction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use KillRequest_Direction.Descriptor instead. func (KillRequest_Direction) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescGZIP(), []int{0, 0} } // Configuration for KillRequest filter. type KillRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The probability that a Kill request will be triggered. Probability *v3.FractionalPercent `protobuf:"bytes,1,opt,name=probability,proto3" json:"probability,omitempty"` // The name of the kill request header. If this field is not empty, it will override the :ref:`default header ` name. Otherwise the default header name will be used. KillRequestHeader string `protobuf:"bytes,2,opt,name=kill_request_header,json=killRequestHeader,proto3" json:"kill_request_header,omitempty"` Direction KillRequest_Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=envoy.extensions.filters.http.kill_request.v3.KillRequest_Direction" json:"direction,omitempty"` } func (x *KillRequest) Reset() { *x = KillRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KillRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KillRequest) ProtoMessage() {} func (x *KillRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KillRequest.ProtoReflect.Descriptor instead. func (*KillRequest) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescGZIP(), []int{0} } func (x *KillRequest) GetProbability() *v3.FractionalPercent { if x != nil { return x.Probability } return nil } func (x *KillRequest) GetKillRequestHeader() string { if x != nil { return x.KillRequestHeader } return "" } func (x *KillRequest) GetDirection() KillRequest_Direction { if x != nil { return x.Direction } return KillRequest_REQUEST } var File_envoy_extensions_filters_http_kill_request_v3_kill_request_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x13, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x11, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x01, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescData = file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDesc ) func file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescData) }) return file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDescData } var file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_goTypes = []interface{}{ (KillRequest_Direction)(0), // 0: envoy.extensions.filters.http.kill_request.v3.KillRequest.Direction (*KillRequest)(nil), // 1: envoy.extensions.filters.http.kill_request.v3.KillRequest (*v3.FractionalPercent)(nil), // 2: envoy.type.v3.FractionalPercent } var file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.kill_request.v3.KillRequest.probability:type_name -> envoy.type.v3.FractionalPercent 0, // 1: envoy.extensions.filters.http.kill_request.v3.KillRequest.direction:type_name -> envoy.extensions.filters.http.kill_request.v3.KillRequest.Direction 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_init() } func file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_init() { if File_envoy_extensions_filters_http_kill_request_v3_kill_request_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KillRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_kill_request_v3_kill_request_proto = out.File file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_rawDesc = nil file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_goTypes = nil file_envoy_extensions_filters_http_kill_request_v3_kill_request_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/kill_request/v3/kill_request.pb.validate.go000077500000000000000000000112031454502223200332140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/kill_request/v3/kill_request.proto package kill_requestv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on KillRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *KillRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on KillRequest with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in KillRequestMultiError, or // nil if none found. func (m *KillRequest) ValidateAll() error { return m.validate(true) } func (m *KillRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetProbability()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, KillRequestValidationError{ field: "Probability", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, KillRequestValidationError{ field: "Probability", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProbability()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return KillRequestValidationError{ field: "Probability", reason: "embedded message failed validation", cause: err, } } } if !_KillRequest_KillRequestHeader_Pattern.MatchString(m.GetKillRequestHeader()) { err := KillRequestValidationError{ field: "KillRequestHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if _, ok := KillRequest_Direction_name[int32(m.GetDirection())]; !ok { err := KillRequestValidationError{ field: "Direction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return KillRequestMultiError(errors) } return nil } // KillRequestMultiError is an error wrapping multiple validation errors // returned by KillRequest.ValidateAll() if the designated constraints aren't met. type KillRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m KillRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m KillRequestMultiError) AllErrors() []error { return m } // KillRequestValidationError is the validation error returned by // KillRequest.Validate if the designated constraints aren't met. type KillRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e KillRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e KillRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e KillRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e KillRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e KillRequestValidationError) ErrorName() string { return "KillRequestValidationError" } // Error satisfies the builtin error interface func (e KillRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sKillRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = KillRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = KillRequestValidationError{} var _KillRequest_KillRequestHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/extensions/filters/http/local_ratelimit/000077500000000000000000000000001454502223200261035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/local_ratelimit/v3/000077500000000000000000000000001454502223200264335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/local_ratelimit/v3/local_rate_limit.pb.go000077500000000000000000000651261454502223200327020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/local_ratelimit/v3/local_rate_limit.proto package local_ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/ratelimit/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 16] type LocalRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting stats. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // This field allows for a custom HTTP response status code to the downstream client when // the request has been rate limited. // Defaults to 429 (TooManyRequests). // // .. note:: // // If this is set to < 400, 429 will be used instead. Status *v3.HttpStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // The token bucket configuration to use for rate limiting requests that are processed by this // filter. Each request processed by the filter consumes a single token. If the token is available, // the request will be allowed. If no tokens are available, the request will receive the configured // rate limit status. // // .. note:: // // It's fine for the token bucket to be unset for the global configuration since the rate limit // can be applied at a the virtual host or route level. Thus, the token bucket must be set // for the per route configuration otherwise the config will be rejected. // // .. note:: // // When using per route configuration, the bucket becomes unique to that route. // // .. note:: // // In the current implementation the token bucket's :ref:`fill_interval // ` must be >= 50ms to avoid too aggressive // refills. TokenBucket *v3.TokenBucket `protobuf:"bytes,3,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"` // If set, this will enable -- but not necessarily enforce -- the rate limit for the given // fraction of requests. // Defaults to 0% of requests for safety. FilterEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,4,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // If set, this will enforce the rate limit decisions for the given fraction of requests. // // Note: this only applies to the fraction of enabled requests. // // Defaults to 0% of requests for safety. FilterEnforced *v31.RuntimeFractionalPercent `protobuf:"bytes,5,opt,name=filter_enforced,json=filterEnforced,proto3" json:"filter_enforced,omitempty"` // Specifies a list of HTTP headers that should be added to each request that // has been rate limited and is also forwarded upstream. This can only occur when the // filter is enabled but not enforced. RequestHeadersToAddWhenNotEnforced []*v31.HeaderValueOption `protobuf:"bytes,10,rep,name=request_headers_to_add_when_not_enforced,json=requestHeadersToAddWhenNotEnforced,proto3" json:"request_headers_to_add_when_not_enforced,omitempty"` // Specifies a list of HTTP headers that should be added to each response for requests that // have been rate limited. This occurs when the filter is enabled and fully enforced. ResponseHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,6,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // The rate limit descriptor list to use in the local rate limit to override // on. The rate limit descriptor is selected by the first full match from the // request descriptors. // // Example on how to use :ref:`this `. // // .. note:: // // In the current implementation the descriptor's token bucket :ref:`fill_interval // ` must be a multiple // global :ref:`token bucket's` fill interval. // // The descriptors must match verbatim for rate limiting to apply. There is no partial // match by a subset of descriptor entries in the current implementation. Descriptors []*v32.LocalRateLimitDescriptor `protobuf:"bytes,8,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // Specifies the rate limit configurations to be applied with the same // stage number. If not set, the default stage number is 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,9,opt,name=stage,proto3" json:"stage,omitempty"` // Specifies the scope of the rate limiter's token bucket. // If set to false, the token bucket is shared across all worker threads, // thus the rate limits are applied per Envoy process. // If set to true, a token bucket is allocated for each connection. // Thus the rate limits are applied per connection thereby allowing // one to rate limit requests on a per connection basis. // If unspecified, the default value is false. LocalRateLimitPerDownstreamConnection bool `protobuf:"varint,11,opt,name=local_rate_limit_per_downstream_connection,json=localRateLimitPerDownstreamConnection,proto3" json:"local_rate_limit_per_downstream_connection,omitempty"` // Defines the standard version to use for X-RateLimit headers emitted by the filter. // // Disabled by default. EnableXRatelimitHeaders v32.XRateLimitHeadersRFCVersion `protobuf:"varint,12,opt,name=enable_x_ratelimit_headers,json=enableXRatelimitHeaders,proto3,enum=envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion" json:"enable_x_ratelimit_headers,omitempty"` // Specifies if the local rate limit filter should include the virtual host rate limits. VhRateLimits v32.VhRateLimitsOptions `protobuf:"varint,13,opt,name=vh_rate_limits,json=vhRateLimits,proto3,enum=envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions" json:"vh_rate_limits,omitempty"` // Specifies if default token bucket should be always consumed. // If set to false, default token bucket will only be consumed when there is // no matching descriptor. If set to true, default token bucket will always // be consumed. Default is true. AlwaysConsumeDefaultTokenBucket *wrappers.BoolValue `protobuf:"bytes,14,opt,name=always_consume_default_token_bucket,json=alwaysConsumeDefaultTokenBucket,proto3" json:"always_consume_default_token_bucket,omitempty"` // Specifies whether a “RESOURCE_EXHAUSTED“ gRPC code must be returned instead // of the default “UNAVAILABLE“ gRPC code for a rate limited gRPC call. The // HTTP code will be 200 for a gRPC response. RateLimitedAsResourceExhausted bool `protobuf:"varint,15,opt,name=rate_limited_as_resource_exhausted,json=rateLimitedAsResourceExhausted,proto3" json:"rate_limited_as_resource_exhausted,omitempty"` } func (x *LocalRateLimit) Reset() { *x = LocalRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalRateLimit) ProtoMessage() {} func (x *LocalRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalRateLimit.ProtoReflect.Descriptor instead. func (*LocalRateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *LocalRateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *LocalRateLimit) GetStatus() *v3.HttpStatus { if x != nil { return x.Status } return nil } func (x *LocalRateLimit) GetTokenBucket() *v3.TokenBucket { if x != nil { return x.TokenBucket } return nil } func (x *LocalRateLimit) GetFilterEnabled() *v31.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *LocalRateLimit) GetFilterEnforced() *v31.RuntimeFractionalPercent { if x != nil { return x.FilterEnforced } return nil } func (x *LocalRateLimit) GetRequestHeadersToAddWhenNotEnforced() []*v31.HeaderValueOption { if x != nil { return x.RequestHeadersToAddWhenNotEnforced } return nil } func (x *LocalRateLimit) GetResponseHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *LocalRateLimit) GetDescriptors() []*v32.LocalRateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *LocalRateLimit) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *LocalRateLimit) GetLocalRateLimitPerDownstreamConnection() bool { if x != nil { return x.LocalRateLimitPerDownstreamConnection } return false } func (x *LocalRateLimit) GetEnableXRatelimitHeaders() v32.XRateLimitHeadersRFCVersion { if x != nil { return x.EnableXRatelimitHeaders } return v32.XRateLimitHeadersRFCVersion(0) } func (x *LocalRateLimit) GetVhRateLimits() v32.VhRateLimitsOptions { if x != nil { return x.VhRateLimits } return v32.VhRateLimitsOptions(0) } func (x *LocalRateLimit) GetAlwaysConsumeDefaultTokenBucket() *wrappers.BoolValue { if x != nil { return x.AlwaysConsumeDefaultTokenBucket } return nil } func (x *LocalRateLimit) GetRateLimitedAsResourceExhausted() bool { if x != nil { return x.RateLimitedAsResourceExhausted } return false } var File_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x09, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x55, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x87, 0x01, 0x0a, 0x28, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x0a, 0x52, 0x22, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x57, 0x68, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x0a, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x60, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x2a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x88, 0x01, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x58, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x46, 0x43, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x0e, 0x76, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x76, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x23, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x22, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x41, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescData = file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDesc ) func file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescData) }) return file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDescData } var file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_goTypes = []interface{}{ (*LocalRateLimit)(nil), // 0: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit (*v3.HttpStatus)(nil), // 1: envoy.type.v3.HttpStatus (*v3.TokenBucket)(nil), // 2: envoy.type.v3.TokenBucket (*v31.RuntimeFractionalPercent)(nil), // 3: envoy.config.core.v3.RuntimeFractionalPercent (*v31.HeaderValueOption)(nil), // 4: envoy.config.core.v3.HeaderValueOption (*v32.LocalRateLimitDescriptor)(nil), // 5: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor (v32.XRateLimitHeadersRFCVersion)(0), // 6: envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion (v32.VhRateLimitsOptions)(0), // 7: envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions (*wrappers.BoolValue)(nil), // 8: google.protobuf.BoolValue } var file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.status:type_name -> envoy.type.v3.HttpStatus 2, // 1: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket:type_name -> envoy.type.v3.TokenBucket 3, // 2: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 3, // 3: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.filter_enforced:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 4, // 4: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.request_headers_to_add_when_not_enforced:type_name -> envoy.config.core.v3.HeaderValueOption 4, // 5: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 5, // 6: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors:type_name -> envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor 6, // 7: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.enable_x_ratelimit_headers:type_name -> envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion 7, // 8: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.vh_rate_limits:type_name -> envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions 8, // 9: envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.always_consume_default_token_bucket:type_name -> google.protobuf.BoolValue 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_init() } func file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_init() { if File_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto = out.File file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_rawDesc = nil file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_goTypes = nil file_envoy_extensions_filters_http_local_ratelimit_v3_local_rate_limit_proto_depIdxs = nil } local_rate_limit.pb.validate.go000077500000000000000000000303541454502223200344060ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/local_ratelimit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/local_ratelimit/v3/local_rate_limit.proto package local_ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/ratelimit/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.XRateLimitHeadersRFCVersion(0) ) // Validate checks the field values on LocalRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalRateLimitMultiError, // or nil if none found. func (m *LocalRateLimit) ValidateAll() error { return m.validate(true) } func (m *LocalRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := LocalRateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnforced()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnforced()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRequestHeadersToAddWhenNotEnforced()) > 10 { err := LocalRateLimitValidationError{ field: "RequestHeadersToAddWhenNotEnforced", reason: "value must contain no more than 10 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAddWhenNotEnforced() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetResponseHeadersToAdd()) > 10 { err := LocalRateLimitValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 10 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDescriptors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetStage() > 10 { err := LocalRateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } // no validation rules for LocalRateLimitPerDownstreamConnection if _, ok := v3.XRateLimitHeadersRFCVersion_name[int32(m.GetEnableXRatelimitHeaders())]; !ok { err := LocalRateLimitValidationError{ field: "EnableXRatelimitHeaders", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := v3.VhRateLimitsOptions_name[int32(m.GetVhRateLimits())]; !ok { err := LocalRateLimitValidationError{ field: "VhRateLimits", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAlwaysConsumeDefaultTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "AlwaysConsumeDefaultTokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "AlwaysConsumeDefaultTokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAlwaysConsumeDefaultTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "AlwaysConsumeDefaultTokenBucket", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RateLimitedAsResourceExhausted if len(errors) > 0 { return LocalRateLimitMultiError(errors) } return nil } // LocalRateLimitMultiError is an error wrapping multiple validation errors // returned by LocalRateLimit.ValidateAll() if the designated constraints // aren't met. type LocalRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalRateLimitMultiError) AllErrors() []error { return m } // LocalRateLimitValidationError is the validation error returned by // LocalRateLimit.Validate if the designated constraints aren't met. type LocalRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalRateLimitValidationError) ErrorName() string { return "LocalRateLimitValidationError" } // Error satisfies the builtin error interface func (e LocalRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalRateLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/lua/000077500000000000000000000000001454502223200235205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/lua/v3/000077500000000000000000000000001454502223200240505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/lua/v3/lua.pb.go000077500000000000000000000427011454502223200255670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/lua/v3/lua.proto package luav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Lua struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The Lua code that Envoy will execute. This can be a very small script that // further loads code from disk if desired. Note that if JSON configuration is used, the code must // be properly escaped. YAML configuration may be easier to read since YAML supports multi-line // strings so complex scripts can be easily expressed inline in the configuration. // // This field is deprecated. Please use // :ref:`default_source_code `. // Only one of :ref:`inline_code ` // or :ref:`default_source_code ` // can be set for the Lua filter. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/lua/v3/lua.proto. InlineCode string `protobuf:"bytes,1,opt,name=inline_code,json=inlineCode,proto3" json:"inline_code,omitempty"` // Map of named Lua source codes that can be referenced in :ref:`LuaPerRoute // `. The Lua source codes can be // loaded from inline string or local files. // // Example: // // .. code-block:: yaml // // source_codes: // hello.lua: // inline_string: | // function envoy_on_response(response_handle) // -- Do something. // end // world.lua: // filename: /etc/lua/world.lua SourceCodes map[string]*v3.DataSource `protobuf:"bytes,2,rep,name=source_codes,json=sourceCodes,proto3" json:"source_codes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The default Lua code that Envoy will execute. If no per route config is provided // for the request, this Lua code will be applied. DefaultSourceCode *v3.DataSource `protobuf:"bytes,3,opt,name=default_source_code,json=defaultSourceCode,proto3" json:"default_source_code,omitempty"` // Optional additional prefix to use when emitting statistics. By default // metrics are emitted in *.lua.* namespace. If multiple lua filters are // configured in a filter chain, the stats from each filter instance can // be emitted using custom stat prefix to distinguish emitted // statistics. For example: // // .. code-block:: yaml // // http_filters: // - name: envoy.filters.http.lua // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua // stat_prefix: foo_script # This emits lua.foo_script.errors etc. // - name: envoy.filters.http.lua // typed_config: // "@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua // stat_prefix: bar_script # This emits lua.bar_script.errors etc. StatPrefix string `protobuf:"bytes,4,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` } func (x *Lua) Reset() { *x = Lua{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Lua) String() string { return protoimpl.X.MessageStringOf(x) } func (*Lua) ProtoMessage() {} func (x *Lua) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Lua.ProtoReflect.Descriptor instead. func (*Lua) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescGZIP(), []int{0} } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/lua/v3/lua.proto. func (x *Lua) GetInlineCode() string { if x != nil { return x.InlineCode } return "" } func (x *Lua) GetSourceCodes() map[string]*v3.DataSource { if x != nil { return x.SourceCodes } return nil } func (x *Lua) GetDefaultSourceCode() *v3.DataSource { if x != nil { return x.DefaultSourceCode } return nil } func (x *Lua) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } type LuaPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *LuaPerRoute_Disabled // *LuaPerRoute_Name // *LuaPerRoute_SourceCode Override isLuaPerRoute_Override `protobuf_oneof:"override"` } func (x *LuaPerRoute) Reset() { *x = LuaPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LuaPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*LuaPerRoute) ProtoMessage() {} func (x *LuaPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LuaPerRoute.ProtoReflect.Descriptor instead. func (*LuaPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescGZIP(), []int{1} } func (m *LuaPerRoute) GetOverride() isLuaPerRoute_Override { if m != nil { return m.Override } return nil } func (x *LuaPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*LuaPerRoute_Disabled); ok { return x.Disabled } return false } func (x *LuaPerRoute) GetName() string { if x, ok := x.GetOverride().(*LuaPerRoute_Name); ok { return x.Name } return "" } func (x *LuaPerRoute) GetSourceCode() *v3.DataSource { if x, ok := x.GetOverride().(*LuaPerRoute_SourceCode); ok { return x.SourceCode } return nil } type isLuaPerRoute_Override interface { isLuaPerRoute_Override() } type LuaPerRoute_Disabled struct { // Disable the Lua filter for this particular vhost or route. If disabled is specified in // multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type LuaPerRoute_Name struct { // A name of a Lua source code stored in // :ref:`Lua.source_codes `. Name string `protobuf:"bytes,2,opt,name=name,proto3,oneof"` } type LuaPerRoute_SourceCode struct { // A configured per-route Lua source code that can be served by RDS or provided inline. SourceCode *v3.DataSource `protobuf:"bytes,3,opt,name=source_code,json=sourceCode,proto3,oneof"` } func (*LuaPerRoute_Disabled) isLuaPerRoute_Override() {} func (*LuaPerRoute_Name) isLuaPerRoute_Override() {} func (*LuaPerRoute_SourceCode) isLuaPerRoute_Override() {} var File_envoy_extensions_filters_http_lua_v3_lua_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x75, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x03, 0x0a, 0x03, 0x4c, 0x75, 0x61, 0x12, 0x2c, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x75, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x60, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x75, 0x61, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x4c, 0x75, 0x61, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x9b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x4c, 0x75, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x75, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescData = file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDesc ) func file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescData) }) return file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDescData } var file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_lua_v3_lua_proto_goTypes = []interface{}{ (*Lua)(nil), // 0: envoy.extensions.filters.http.lua.v3.Lua (*LuaPerRoute)(nil), // 1: envoy.extensions.filters.http.lua.v3.LuaPerRoute nil, // 2: envoy.extensions.filters.http.lua.v3.Lua.SourceCodesEntry (*v3.DataSource)(nil), // 3: envoy.config.core.v3.DataSource } var file_envoy_extensions_filters_http_lua_v3_lua_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.lua.v3.Lua.source_codes:type_name -> envoy.extensions.filters.http.lua.v3.Lua.SourceCodesEntry 3, // 1: envoy.extensions.filters.http.lua.v3.Lua.default_source_code:type_name -> envoy.config.core.v3.DataSource 3, // 2: envoy.extensions.filters.http.lua.v3.LuaPerRoute.source_code:type_name -> envoy.config.core.v3.DataSource 3, // 3: envoy.extensions.filters.http.lua.v3.Lua.SourceCodesEntry.value:type_name -> envoy.config.core.v3.DataSource 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_lua_v3_lua_proto_init() } func file_envoy_extensions_filters_http_lua_v3_lua_proto_init() { if File_envoy_extensions_filters_http_lua_v3_lua_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Lua); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LuaPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes[1].OneofWrappers = []interface{}{ (*LuaPerRoute_Disabled)(nil), (*LuaPerRoute_Name)(nil), (*LuaPerRoute_SourceCode)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_lua_v3_lua_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_lua_v3_lua_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_lua_v3_lua_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_lua_v3_lua_proto = out.File file_envoy_extensions_filters_http_lua_v3_lua_proto_rawDesc = nil file_envoy_extensions_filters_http_lua_v3_lua_proto_goTypes = nil file_envoy_extensions_filters_http_lua_v3_lua_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/lua/v3/lua.pb.validate.go000077500000000000000000000240271454502223200273600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/lua/v3/lua.proto package luav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Lua with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Lua) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Lua with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in LuaMultiError, or nil if none found. func (m *Lua) ValidateAll() error { return m.validate(true) } func (m *Lua) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for InlineCode { sorted_keys := make([]string, len(m.GetSourceCodes())) i := 0 for key := range m.GetSourceCodes() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetSourceCodes()[key] _ = val // no validation rules for SourceCodes[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LuaValidationError{ field: fmt.Sprintf("SourceCodes[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LuaValidationError{ field: fmt.Sprintf("SourceCodes[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LuaValidationError{ field: fmt.Sprintf("SourceCodes[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if all { switch v := interface{}(m.GetDefaultSourceCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LuaValidationError{ field: "DefaultSourceCode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LuaValidationError{ field: "DefaultSourceCode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultSourceCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LuaValidationError{ field: "DefaultSourceCode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StatPrefix if len(errors) > 0 { return LuaMultiError(errors) } return nil } // LuaMultiError is an error wrapping multiple validation errors returned by // Lua.ValidateAll() if the designated constraints aren't met. type LuaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LuaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LuaMultiError) AllErrors() []error { return m } // LuaValidationError is the validation error returned by Lua.Validate if the // designated constraints aren't met. type LuaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LuaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LuaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LuaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LuaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LuaValidationError) ErrorName() string { return "LuaValidationError" } // Error satisfies the builtin error interface func (e LuaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLua.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LuaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LuaValidationError{} // Validate checks the field values on LuaPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LuaPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LuaPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LuaPerRouteMultiError, or // nil if none found. func (m *LuaPerRoute) ValidateAll() error { return m.validate(true) } func (m *LuaPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *LuaPerRoute_Disabled: if v == nil { err := LuaPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := LuaPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *LuaPerRoute_Name: if v == nil { err := LuaPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if utf8.RuneCountInString(m.GetName()) < 1 { err := LuaPerRouteValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *LuaPerRoute_SourceCode: if v == nil { err := LuaPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if all { switch v := interface{}(m.GetSourceCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LuaPerRouteValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LuaPerRouteValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LuaPerRouteValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := LuaPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return LuaPerRouteMultiError(errors) } return nil } // LuaPerRouteMultiError is an error wrapping multiple validation errors // returned by LuaPerRoute.ValidateAll() if the designated constraints aren't met. type LuaPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LuaPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LuaPerRouteMultiError) AllErrors() []error { return m } // LuaPerRouteValidationError is the validation error returned by // LuaPerRoute.Validate if the designated constraints aren't met. type LuaPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LuaPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LuaPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LuaPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LuaPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LuaPerRouteValidationError) ErrorName() string { return "LuaPerRouteValidationError" } // Error satisfies the builtin error interface func (e LuaPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLuaPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LuaPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LuaPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/oauth2/000077500000000000000000000000001454502223200241415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/oauth2/v3/000077500000000000000000000000001454502223200244715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/oauth2/v3/oauth.pb.go000077500000000000000000001055501454502223200265510ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/oauth2/v3/oauth.proto package oauth2v3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OAuth2Config_AuthType int32 const ( // The “client_id“ and “client_secret“ will be sent in the URL encoded request body. // This type should only be used when Auth server does not support Basic authentication. OAuth2Config_URL_ENCODED_BODY OAuth2Config_AuthType = 0 // The “client_id“ and “client_secret“ will be sent using HTTP Basic authentication scheme. OAuth2Config_BASIC_AUTH OAuth2Config_AuthType = 1 ) // Enum value maps for OAuth2Config_AuthType. var ( OAuth2Config_AuthType_name = map[int32]string{ 0: "URL_ENCODED_BODY", 1: "BASIC_AUTH", } OAuth2Config_AuthType_value = map[string]int32{ "URL_ENCODED_BODY": 0, "BASIC_AUTH": 1, } ) func (x OAuth2Config_AuthType) Enum() *OAuth2Config_AuthType { p := new(OAuth2Config_AuthType) *p = x return p } func (x OAuth2Config_AuthType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OAuth2Config_AuthType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_enumTypes[0].Descriptor() } func (OAuth2Config_AuthType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_enumTypes[0] } func (x OAuth2Config_AuthType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OAuth2Config_AuthType.Descriptor instead. func (OAuth2Config_AuthType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP(), []int{1, 0} } type OAuth2Credentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The client_id to be used in the authorize calls. This value will be URL encoded when sent to the OAuth server. ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // The secret used to retrieve the access token. This value will be URL encoded when sent to the OAuth server. TokenSecret *v3.SdsSecretConfig `protobuf:"bytes,2,opt,name=token_secret,json=tokenSecret,proto3" json:"token_secret,omitempty"` // Configures how the secret token should be created. // // Types that are assignable to TokenFormation: // // *OAuth2Credentials_HmacSecret TokenFormation isOAuth2Credentials_TokenFormation `protobuf_oneof:"token_formation"` // The cookie names used in OAuth filters flow. CookieNames *OAuth2Credentials_CookieNames `protobuf:"bytes,4,opt,name=cookie_names,json=cookieNames,proto3" json:"cookie_names,omitempty"` } func (x *OAuth2Credentials) Reset() { *x = OAuth2Credentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2Credentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2Credentials) ProtoMessage() {} func (x *OAuth2Credentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2Credentials.ProtoReflect.Descriptor instead. func (*OAuth2Credentials) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP(), []int{0} } func (x *OAuth2Credentials) GetClientId() string { if x != nil { return x.ClientId } return "" } func (x *OAuth2Credentials) GetTokenSecret() *v3.SdsSecretConfig { if x != nil { return x.TokenSecret } return nil } func (m *OAuth2Credentials) GetTokenFormation() isOAuth2Credentials_TokenFormation { if m != nil { return m.TokenFormation } return nil } func (x *OAuth2Credentials) GetHmacSecret() *v3.SdsSecretConfig { if x, ok := x.GetTokenFormation().(*OAuth2Credentials_HmacSecret); ok { return x.HmacSecret } return nil } func (x *OAuth2Credentials) GetCookieNames() *OAuth2Credentials_CookieNames { if x != nil { return x.CookieNames } return nil } type isOAuth2Credentials_TokenFormation interface { isOAuth2Credentials_TokenFormation() } type OAuth2Credentials_HmacSecret struct { // If present, the secret token will be a HMAC using the provided secret. HmacSecret *v3.SdsSecretConfig `protobuf:"bytes,3,opt,name=hmac_secret,json=hmacSecret,proto3,oneof"` } func (*OAuth2Credentials_HmacSecret) isOAuth2Credentials_TokenFormation() {} // OAuth config // // [#next-free-field: 13] type OAuth2Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Endpoint on the authorization server to retrieve the access token from. TokenEndpoint *v31.HttpUri `protobuf:"bytes,1,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` // The endpoint redirect to for authorization in response to unauthorized requests. AuthorizationEndpoint string `protobuf:"bytes,2,opt,name=authorization_endpoint,json=authorizationEndpoint,proto3" json:"authorization_endpoint,omitempty"` // Credentials used for OAuth. Credentials *OAuth2Credentials `protobuf:"bytes,3,opt,name=credentials,proto3" json:"credentials,omitempty"` // The redirect URI passed to the authorization endpoint. Supports header formatting // tokens. For more information, including details on header value syntax, see the // documentation on :ref:`custom request headers `. // // This URI should not contain any query parameters. RedirectUri string `protobuf:"bytes,4,opt,name=redirect_uri,json=redirectUri,proto3" json:"redirect_uri,omitempty"` // Matching criteria used to determine whether a path appears to be the result of a redirect from the authorization server. RedirectPathMatcher *v32.PathMatcher `protobuf:"bytes,5,opt,name=redirect_path_matcher,json=redirectPathMatcher,proto3" json:"redirect_path_matcher,omitempty"` // The path to sign a user out, clearing their credential cookies. SignoutPath *v32.PathMatcher `protobuf:"bytes,6,opt,name=signout_path,json=signoutPath,proto3" json:"signout_path,omitempty"` // Forward the OAuth token as a Bearer to upstream web service. ForwardBearerToken bool `protobuf:"varint,7,opt,name=forward_bearer_token,json=forwardBearerToken,proto3" json:"forward_bearer_token,omitempty"` // Any request that matches any of the provided matchers will be passed through without OAuth validation. PassThroughMatcher []*v33.HeaderMatcher `protobuf:"bytes,8,rep,name=pass_through_matcher,json=passThroughMatcher,proto3" json:"pass_through_matcher,omitempty"` // Optional list of OAuth scopes to be claimed in the authorization request. If not specified, // defaults to "user" scope. // OAuth RFC https://tools.ietf.org/html/rfc6749#section-3.3 AuthScopes []string `protobuf:"bytes,9,rep,name=auth_scopes,json=authScopes,proto3" json:"auth_scopes,omitempty"` // Optional resource parameter for authorization request // RFC: https://tools.ietf.org/html/rfc8707 Resources []string `protobuf:"bytes,10,rep,name=resources,proto3" json:"resources,omitempty"` // Defines how “client_id“ and “client_secret“ are sent in OAuth client to OAuth server requests. // RFC https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1 AuthType OAuth2Config_AuthType `protobuf:"varint,11,opt,name=auth_type,json=authType,proto3,enum=envoy.extensions.filters.http.oauth2.v3.OAuth2Config_AuthType" json:"auth_type,omitempty"` // If set to true, allows automatic access token refresh using the associated refresh token (see // `RFC 6749 section 6 `_), provided that the OAuth server supports that. // Default value is false. UseRefreshToken *wrappers.BoolValue `protobuf:"bytes,12,opt,name=use_refresh_token,json=useRefreshToken,proto3" json:"use_refresh_token,omitempty"` } func (x *OAuth2Config) Reset() { *x = OAuth2Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2Config) ProtoMessage() {} func (x *OAuth2Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2Config.ProtoReflect.Descriptor instead. func (*OAuth2Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP(), []int{1} } func (x *OAuth2Config) GetTokenEndpoint() *v31.HttpUri { if x != nil { return x.TokenEndpoint } return nil } func (x *OAuth2Config) GetAuthorizationEndpoint() string { if x != nil { return x.AuthorizationEndpoint } return "" } func (x *OAuth2Config) GetCredentials() *OAuth2Credentials { if x != nil { return x.Credentials } return nil } func (x *OAuth2Config) GetRedirectUri() string { if x != nil { return x.RedirectUri } return "" } func (x *OAuth2Config) GetRedirectPathMatcher() *v32.PathMatcher { if x != nil { return x.RedirectPathMatcher } return nil } func (x *OAuth2Config) GetSignoutPath() *v32.PathMatcher { if x != nil { return x.SignoutPath } return nil } func (x *OAuth2Config) GetForwardBearerToken() bool { if x != nil { return x.ForwardBearerToken } return false } func (x *OAuth2Config) GetPassThroughMatcher() []*v33.HeaderMatcher { if x != nil { return x.PassThroughMatcher } return nil } func (x *OAuth2Config) GetAuthScopes() []string { if x != nil { return x.AuthScopes } return nil } func (x *OAuth2Config) GetResources() []string { if x != nil { return x.Resources } return nil } func (x *OAuth2Config) GetAuthType() OAuth2Config_AuthType { if x != nil { return x.AuthType } return OAuth2Config_URL_ENCODED_BODY } func (x *OAuth2Config) GetUseRefreshToken() *wrappers.BoolValue { if x != nil { return x.UseRefreshToken } return nil } // Filter config. type OAuth2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Leave this empty to disable OAuth2 for a specific route, using per filter config. Config *OAuth2Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *OAuth2) Reset() { *x = OAuth2{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2) ProtoMessage() {} func (x *OAuth2) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2.ProtoReflect.Descriptor instead. func (*OAuth2) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP(), []int{2} } func (x *OAuth2) GetConfig() *OAuth2Config { if x != nil { return x.Config } return nil } // [#next-free-field: 6] type OAuth2Credentials_CookieNames struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Cookie name to hold OAuth bearer token value. When the authentication server validates the // client and returns an authorization token back to the OAuth filter, no matter what format // that token is, if :ref:`forward_bearer_token ` // is set to true the filter will send over the bearer token as a cookie with this name to the // upstream. Defaults to “BearerToken“. BearerToken string `protobuf:"bytes,1,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"` // Cookie name to hold OAuth HMAC value. Defaults to “OauthHMAC“. OauthHmac string `protobuf:"bytes,2,opt,name=oauth_hmac,json=oauthHmac,proto3" json:"oauth_hmac,omitempty"` // Cookie name to hold OAuth expiry value. Defaults to “OauthExpires“. OauthExpires string `protobuf:"bytes,3,opt,name=oauth_expires,json=oauthExpires,proto3" json:"oauth_expires,omitempty"` // Cookie name to hold the id token. Defaults to “IdToken“. IdToken string `protobuf:"bytes,4,opt,name=id_token,json=idToken,proto3" json:"id_token,omitempty"` // Cookie name to hold the refresh token. Defaults to “RefreshToken“. RefreshToken string `protobuf:"bytes,5,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` } func (x *OAuth2Credentials_CookieNames) Reset() { *x = OAuth2Credentials_CookieNames{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2Credentials_CookieNames) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2Credentials_CookieNames) ProtoMessage() {} func (x *OAuth2Credentials_CookieNames) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2Credentials_CookieNames.ProtoReflect.Descriptor instead. func (*OAuth2Credentials_CookieNames) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP(), []int{0, 0} } func (x *OAuth2Credentials_CookieNames) GetBearerToken() string { if x != nil { return x.BearerToken } return "" } func (x *OAuth2Credentials_CookieNames) GetOauthHmac() string { if x != nil { return x.OauthHmac } return "" } func (x *OAuth2Credentials_CookieNames) GetOauthExpires() string { if x != nil { return x.OauthExpires } return "" } func (x *OAuth2Credentials_CookieNames) GetIdToken() string { if x != nil { return x.IdToken } return "" } func (x *OAuth2Credentials_CookieNames) GetRefreshToken() string { if x != nil { return x.RefreshToken } return "" } var File_envoy_extensions_filters_http_oauth2_v3_oauth_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x05, 0x0a, 0x11, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x67, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6d, 0x61, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x69, 0x0a, 0x0c, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0xf5, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x68, 0x6d, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x09, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x48, 0x6d, 0x61, 0x63, 0x12, 0x30, 0x0a, 0x0d, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x07, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x16, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x85, 0x07, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x60, 0x0a, 0x15, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x56, 0x0a, 0x14, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x12, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x30, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x52, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x44, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x01, 0x22, 0x57, 0x0a, 0x06, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescData = file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDesc ) func file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescData) }) return file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDescData } var file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_goTypes = []interface{}{ (OAuth2Config_AuthType)(0), // 0: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.AuthType (*OAuth2Credentials)(nil), // 1: envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials (*OAuth2Config)(nil), // 2: envoy.extensions.filters.http.oauth2.v3.OAuth2Config (*OAuth2)(nil), // 3: envoy.extensions.filters.http.oauth2.v3.OAuth2 (*OAuth2Credentials_CookieNames)(nil), // 4: envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials.CookieNames (*v3.SdsSecretConfig)(nil), // 5: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig (*v31.HttpUri)(nil), // 6: envoy.config.core.v3.HttpUri (*v32.PathMatcher)(nil), // 7: envoy.type.matcher.v3.PathMatcher (*v33.HeaderMatcher)(nil), // 8: envoy.config.route.v3.HeaderMatcher (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue } var file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_depIdxs = []int32{ 5, // 0: envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials.token_secret:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 5, // 1: envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials.hmac_secret:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 4, // 2: envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials.cookie_names:type_name -> envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials.CookieNames 6, // 3: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.token_endpoint:type_name -> envoy.config.core.v3.HttpUri 1, // 4: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.credentials:type_name -> envoy.extensions.filters.http.oauth2.v3.OAuth2Credentials 7, // 5: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.redirect_path_matcher:type_name -> envoy.type.matcher.v3.PathMatcher 7, // 6: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.signout_path:type_name -> envoy.type.matcher.v3.PathMatcher 8, // 7: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.pass_through_matcher:type_name -> envoy.config.route.v3.HeaderMatcher 0, // 8: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.auth_type:type_name -> envoy.extensions.filters.http.oauth2.v3.OAuth2Config.AuthType 9, // 9: envoy.extensions.filters.http.oauth2.v3.OAuth2Config.use_refresh_token:type_name -> google.protobuf.BoolValue 2, // 10: envoy.extensions.filters.http.oauth2.v3.OAuth2.config:type_name -> envoy.extensions.filters.http.oauth2.v3.OAuth2Config 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_init() } func file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_init() { if File_envoy_extensions_filters_http_oauth2_v3_oauth_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2Credentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2Credentials_CookieNames); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes[0].OneofWrappers = []interface{}{ (*OAuth2Credentials_HmacSecret)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_oauth2_v3_oauth_proto = out.File file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_rawDesc = nil file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_goTypes = nil file_envoy_extensions_filters_http_oauth2_v3_oauth_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/oauth2/v3/oauth.pb.validate.go000077500000000000000000000615331454502223200303430ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/oauth2/v3/oauth.proto package oauth2v3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OAuth2Credentials with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *OAuth2Credentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2Credentials with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OAuth2CredentialsMultiError, or nil if none found. func (m *OAuth2Credentials) ValidateAll() error { return m.validate(true) } func (m *OAuth2Credentials) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClientId()) < 1 { err := OAuth2CredentialsValidationError{ field: "ClientId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTokenSecret() == nil { err := OAuth2CredentialsValidationError{ field: "TokenSecret", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "TokenSecret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "TokenSecret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2CredentialsValidationError{ field: "TokenSecret", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCookieNames()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "CookieNames", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "CookieNames", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCookieNames()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2CredentialsValidationError{ field: "CookieNames", reason: "embedded message failed validation", cause: err, } } } oneofTokenFormationPresent := false switch v := m.TokenFormation.(type) { case *OAuth2Credentials_HmacSecret: if v == nil { err := OAuth2CredentialsValidationError{ field: "TokenFormation", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTokenFormationPresent = true if m.GetHmacSecret() == nil { err := OAuth2CredentialsValidationError{ field: "HmacSecret", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHmacSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "HmacSecret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2CredentialsValidationError{ field: "HmacSecret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHmacSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2CredentialsValidationError{ field: "HmacSecret", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTokenFormationPresent { err := OAuth2CredentialsValidationError{ field: "TokenFormation", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OAuth2CredentialsMultiError(errors) } return nil } // OAuth2CredentialsMultiError is an error wrapping multiple validation errors // returned by OAuth2Credentials.ValidateAll() if the designated constraints // aren't met. type OAuth2CredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2CredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2CredentialsMultiError) AllErrors() []error { return m } // OAuth2CredentialsValidationError is the validation error returned by // OAuth2Credentials.Validate if the designated constraints aren't met. type OAuth2CredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2CredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2CredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2CredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2CredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2CredentialsValidationError) ErrorName() string { return "OAuth2CredentialsValidationError" } // Error satisfies the builtin error interface func (e OAuth2CredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2Credentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2CredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2CredentialsValidationError{} // Validate checks the field values on OAuth2Config with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OAuth2Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2Config with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OAuth2ConfigMultiError, or // nil if none found. func (m *OAuth2Config) ValidateAll() error { return m.validate(true) } func (m *OAuth2Config) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTokenEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetAuthorizationEndpoint()) < 1 { err := OAuth2ConfigValidationError{ field: "AuthorizationEndpoint", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetCredentials() == nil { err := OAuth2ConfigValidationError{ field: "Credentials", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "Credentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "Credentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: "Credentials", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetRedirectUri()) < 1 { err := OAuth2ConfigValidationError{ field: "RedirectUri", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetRedirectPathMatcher() == nil { err := OAuth2ConfigValidationError{ field: "RedirectPathMatcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRedirectPathMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "RedirectPathMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "RedirectPathMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectPathMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: "RedirectPathMatcher", reason: "embedded message failed validation", cause: err, } } } if m.GetSignoutPath() == nil { err := OAuth2ConfigValidationError{ field: "SignoutPath", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSignoutPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "SignoutPath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "SignoutPath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSignoutPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: "SignoutPath", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ForwardBearerToken for idx, item := range m.GetPassThroughMatcher() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: fmt.Sprintf("PassThroughMatcher[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: fmt.Sprintf("PassThroughMatcher[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: fmt.Sprintf("PassThroughMatcher[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if _, ok := OAuth2Config_AuthType_name[int32(m.GetAuthType())]; !ok { err := OAuth2ConfigValidationError{ field: "AuthType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUseRefreshToken()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "UseRefreshToken", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ConfigValidationError{ field: "UseRefreshToken", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseRefreshToken()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ConfigValidationError{ field: "UseRefreshToken", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OAuth2ConfigMultiError(errors) } return nil } // OAuth2ConfigMultiError is an error wrapping multiple validation errors // returned by OAuth2Config.ValidateAll() if the designated constraints aren't met. type OAuth2ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2ConfigMultiError) AllErrors() []error { return m } // OAuth2ConfigValidationError is the validation error returned by // OAuth2Config.Validate if the designated constraints aren't met. type OAuth2ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2ConfigValidationError) ErrorName() string { return "OAuth2ConfigValidationError" } // Error satisfies the builtin error interface func (e OAuth2ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2Config.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2ConfigValidationError{} // Validate checks the field values on OAuth2 with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OAuth2) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2 with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in OAuth2MultiError, or nil if none found. func (m *OAuth2) ValidateAll() error { return m.validate(true) } func (m *OAuth2) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OAuth2MultiError(errors) } return nil } // OAuth2MultiError is an error wrapping multiple validation errors returned by // OAuth2.ValidateAll() if the designated constraints aren't met. type OAuth2MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2MultiError) AllErrors() []error { return m } // OAuth2ValidationError is the validation error returned by OAuth2.Validate if // the designated constraints aren't met. type OAuth2ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2ValidationError) ErrorName() string { return "OAuth2ValidationError" } // Error satisfies the builtin error interface func (e OAuth2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2ValidationError{} // Validate checks the field values on OAuth2Credentials_CookieNames with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OAuth2Credentials_CookieNames) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2Credentials_CookieNames with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // OAuth2Credentials_CookieNamesMultiError, or nil if none found. func (m *OAuth2Credentials_CookieNames) ValidateAll() error { return m.validate(true) } func (m *OAuth2Credentials_CookieNames) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBearerToken() != "" { if !_OAuth2Credentials_CookieNames_BearerToken_Pattern.MatchString(m.GetBearerToken()) { err := OAuth2Credentials_CookieNamesValidationError{ field: "BearerToken", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetOauthHmac() != "" { if !_OAuth2Credentials_CookieNames_OauthHmac_Pattern.MatchString(m.GetOauthHmac()) { err := OAuth2Credentials_CookieNamesValidationError{ field: "OauthHmac", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetOauthExpires() != "" { if !_OAuth2Credentials_CookieNames_OauthExpires_Pattern.MatchString(m.GetOauthExpires()) { err := OAuth2Credentials_CookieNamesValidationError{ field: "OauthExpires", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetIdToken() != "" { if !_OAuth2Credentials_CookieNames_IdToken_Pattern.MatchString(m.GetIdToken()) { err := OAuth2Credentials_CookieNamesValidationError{ field: "IdToken", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetRefreshToken() != "" { if !_OAuth2Credentials_CookieNames_RefreshToken_Pattern.MatchString(m.GetRefreshToken()) { err := OAuth2Credentials_CookieNamesValidationError{ field: "RefreshToken", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return OAuth2Credentials_CookieNamesMultiError(errors) } return nil } // OAuth2Credentials_CookieNamesMultiError is an error wrapping multiple // validation errors returned by OAuth2Credentials_CookieNames.ValidateAll() // if the designated constraints aren't met. type OAuth2Credentials_CookieNamesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2Credentials_CookieNamesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2Credentials_CookieNamesMultiError) AllErrors() []error { return m } // OAuth2Credentials_CookieNamesValidationError is the validation error // returned by OAuth2Credentials_CookieNames.Validate if the designated // constraints aren't met. type OAuth2Credentials_CookieNamesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2Credentials_CookieNamesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2Credentials_CookieNamesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2Credentials_CookieNamesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2Credentials_CookieNamesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2Credentials_CookieNamesValidationError) ErrorName() string { return "OAuth2Credentials_CookieNamesValidationError" } // Error satisfies the builtin error interface func (e OAuth2Credentials_CookieNamesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2Credentials_CookieNames.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2Credentials_CookieNamesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2Credentials_CookieNamesValidationError{} var _OAuth2Credentials_CookieNames_BearerToken_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _OAuth2Credentials_CookieNames_OauthHmac_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _OAuth2Credentials_CookieNames_OauthExpires_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _OAuth2Credentials_CookieNames_IdToken_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _OAuth2Credentials_CookieNames_RefreshToken_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/extensions/filters/http/on_demand/000077500000000000000000000000001454502223200246635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/on_demand/v3/000077500000000000000000000000001454502223200252135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/on_demand/v3/on_demand.pb.go000077500000000000000000000373461454502223200301060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/on_demand/v3/on_demand.proto package on_demandv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration of on-demand CDS. type OnDemandCds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A configuration source for the service that will be used for // on-demand cluster discovery. Source *v3.ConfigSource `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // xdstp:// resource locator for on-demand cluster collection. ResourcesLocator string `protobuf:"bytes,2,opt,name=resources_locator,json=resourcesLocator,proto3" json:"resources_locator,omitempty"` // The timeout for on demand cluster lookup. If not set, defaults to 5 seconds. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *OnDemandCds) Reset() { *x = OnDemandCds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnDemandCds) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnDemandCds) ProtoMessage() {} func (x *OnDemandCds) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OnDemandCds.ProtoReflect.Descriptor instead. func (*OnDemandCds) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescGZIP(), []int{0} } func (x *OnDemandCds) GetSource() *v3.ConfigSource { if x != nil { return x.Source } return nil } func (x *OnDemandCds) GetResourcesLocator() string { if x != nil { return x.ResourcesLocator } return "" } func (x *OnDemandCds) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } // On Demand Discovery filter config. type OnDemand struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional configuration for on-demand cluster discovery // service. If not specified, the on-demand cluster discovery will // be disabled. When it's specified, the filter will pause the // request to an unknown cluster and will begin a cluster discovery // process. When the discovery is finished (successfully or not), the // request will be resumed for further processing. Odcds *OnDemandCds `protobuf:"bytes,1,opt,name=odcds,proto3" json:"odcds,omitempty"` } func (x *OnDemand) Reset() { *x = OnDemand{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OnDemand) String() string { return protoimpl.X.MessageStringOf(x) } func (*OnDemand) ProtoMessage() {} func (x *OnDemand) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OnDemand.ProtoReflect.Descriptor instead. func (*OnDemand) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescGZIP(), []int{1} } func (x *OnDemand) GetOdcds() *OnDemandCds { if x != nil { return x.Odcds } return nil } // Per-route configuration for On Demand Discovery. type PerRouteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional configuration for on-demand cluster discovery // service. If not specified, the on-demand cluster discovery will // be disabled. When it's specified, the filter will pause the // request to an unknown cluster and will begin a cluster discovery // process. When the discovery is finished (successfully or not), the // request will be resumed for further processing. Odcds *OnDemandCds `protobuf:"bytes,1,opt,name=odcds,proto3" json:"odcds,omitempty"` } func (x *PerRouteConfig) Reset() { *x = PerRouteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerRouteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerRouteConfig) ProtoMessage() {} func (x *PerRouteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead. func (*PerRouteConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescGZIP(), []int{2} } func (x *PerRouteConfig) GetOdcds() *OnDemandCds { if x != nil { return x.Odcds } return nil } var File_envoy_extensions_filters_http_on_demand_v3_on_demand_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x08, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x64, 0x73, 0x52, 0x05, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x5f, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x64, 0x73, 0x52, 0x05, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescData = file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDesc ) func file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescData) }) return file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDescData } var file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_goTypes = []interface{}{ (*OnDemandCds)(nil), // 0: envoy.extensions.filters.http.on_demand.v3.OnDemandCds (*OnDemand)(nil), // 1: envoy.extensions.filters.http.on_demand.v3.OnDemand (*PerRouteConfig)(nil), // 2: envoy.extensions.filters.http.on_demand.v3.PerRouteConfig (*v3.ConfigSource)(nil), // 3: envoy.config.core.v3.ConfigSource (*duration.Duration)(nil), // 4: google.protobuf.Duration } var file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.http.on_demand.v3.OnDemandCds.source:type_name -> envoy.config.core.v3.ConfigSource 4, // 1: envoy.extensions.filters.http.on_demand.v3.OnDemandCds.timeout:type_name -> google.protobuf.Duration 0, // 2: envoy.extensions.filters.http.on_demand.v3.OnDemand.odcds:type_name -> envoy.extensions.filters.http.on_demand.v3.OnDemandCds 0, // 3: envoy.extensions.filters.http.on_demand.v3.PerRouteConfig.odcds:type_name -> envoy.extensions.filters.http.on_demand.v3.OnDemandCds 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_init() } func file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_init() { if File_envoy_extensions_filters_http_on_demand_v3_on_demand_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnDemandCds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnDemand); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerRouteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_on_demand_v3_on_demand_proto = out.File file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_rawDesc = nil file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_goTypes = nil file_envoy_extensions_filters_http_on_demand_v3_on_demand_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/on_demand/v3/on_demand.pb.validate.go000077500000000000000000000274141454502223200316710ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/on_demand/v3/on_demand.proto package on_demandv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OnDemandCds with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OnDemandCds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OnDemandCds with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OnDemandCdsMultiError, or // nil if none found. func (m *OnDemandCds) ValidateAll() error { return m.validate(true) } func (m *OnDemandCds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetSource() == nil { err := OnDemandCdsValidationError{ field: "Source", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OnDemandCdsValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OnDemandCdsValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OnDemandCdsValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ResourcesLocator if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OnDemandCdsValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OnDemandCdsValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OnDemandCdsValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OnDemandCdsMultiError(errors) } return nil } // OnDemandCdsMultiError is an error wrapping multiple validation errors // returned by OnDemandCds.ValidateAll() if the designated constraints aren't met. type OnDemandCdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OnDemandCdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OnDemandCdsMultiError) AllErrors() []error { return m } // OnDemandCdsValidationError is the validation error returned by // OnDemandCds.Validate if the designated constraints aren't met. type OnDemandCdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OnDemandCdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OnDemandCdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OnDemandCdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OnDemandCdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OnDemandCdsValidationError) ErrorName() string { return "OnDemandCdsValidationError" } // Error satisfies the builtin error interface func (e OnDemandCdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOnDemandCds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OnDemandCdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OnDemandCdsValidationError{} // Validate checks the field values on OnDemand with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OnDemand) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OnDemand with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OnDemandMultiError, or nil // if none found. func (m *OnDemand) ValidateAll() error { return m.validate(true) } func (m *OnDemand) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetOdcds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OnDemandValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OnDemandValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOdcds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OnDemandValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OnDemandMultiError(errors) } return nil } // OnDemandMultiError is an error wrapping multiple validation errors returned // by OnDemand.ValidateAll() if the designated constraints aren't met. type OnDemandMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OnDemandMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OnDemandMultiError) AllErrors() []error { return m } // OnDemandValidationError is the validation error returned by // OnDemand.Validate if the designated constraints aren't met. type OnDemandValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OnDemandValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OnDemandValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OnDemandValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OnDemandValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OnDemandValidationError) ErrorName() string { return "OnDemandValidationError" } // Error satisfies the builtin error interface func (e OnDemandValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOnDemand.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OnDemandValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OnDemandValidationError{} // Validate checks the field values on PerRouteConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerRouteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerRouteConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerRouteConfigMultiError, // or nil if none found. func (m *PerRouteConfig) ValidateAll() error { return m.validate(true) } func (m *PerRouteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetOdcds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerRouteConfigValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOdcds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerRouteConfigValidationError{ field: "Odcds", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PerRouteConfigMultiError(errors) } return nil } // PerRouteConfigMultiError is an error wrapping multiple validation errors // returned by PerRouteConfig.ValidateAll() if the designated constraints // aren't met. type PerRouteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerRouteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerRouteConfigMultiError) AllErrors() []error { return m } // PerRouteConfigValidationError is the validation error returned by // PerRouteConfig.Validate if the designated constraints aren't met. type PerRouteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerRouteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerRouteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerRouteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerRouteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerRouteConfigValidationError) ErrorName() string { return "PerRouteConfigValidationError" } // Error satisfies the builtin error interface func (e PerRouteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerRouteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerRouteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerRouteConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/original_src/000077500000000000000000000000001454502223200254125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/original_src/v3/000077500000000000000000000000001454502223200257425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/original_src/v3/original_src.pb.go000077500000000000000000000206331454502223200313530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/original_src/v3/original_src.proto package original_srcv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The Original Src filter binds upstream connections to the original source address determined // for the request. This address could come from something like the Proxy Protocol filter, or it // could come from trusted http headers. // [#extension: envoy.filters.http.original_src] type OriginalSrc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to // ensure that non-local addresses may be routed back through envoy when binding to the original // source address. The option will not be applied if the mark is 0. Mark uint32 `protobuf:"varint,1,opt,name=mark,proto3" json:"mark,omitempty"` } func (x *OriginalSrc) Reset() { *x = OriginalSrc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_original_src_v3_original_src_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalSrc) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalSrc) ProtoMessage() {} func (x *OriginalSrc) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_original_src_v3_original_src_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalSrc.ProtoReflect.Descriptor instead. func (*OriginalSrc) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescGZIP(), []int{0} } func (x *OriginalSrc) GetMark() uint32 { if x != nil { return x.Mark } return 0 } var File_envoy_extensions_filters_http_original_src_v3_original_src_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescData = file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDesc ) func file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescData) }) return file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDescData } var file_envoy_extensions_filters_http_original_src_v3_original_src_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_original_src_v3_original_src_proto_goTypes = []interface{}{ (*OriginalSrc)(nil), // 0: envoy.extensions.filters.http.original_src.v3.OriginalSrc } var file_envoy_extensions_filters_http_original_src_v3_original_src_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_original_src_v3_original_src_proto_init() } func file_envoy_extensions_filters_http_original_src_v3_original_src_proto_init() { if File_envoy_extensions_filters_http_original_src_v3_original_src_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_original_src_v3_original_src_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalSrc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_original_src_v3_original_src_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_original_src_v3_original_src_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_original_src_v3_original_src_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_original_src_v3_original_src_proto = out.File file_envoy_extensions_filters_http_original_src_v3_original_src_proto_rawDesc = nil file_envoy_extensions_filters_http_original_src_v3_original_src_proto_goTypes = nil file_envoy_extensions_filters_http_original_src_v3_original_src_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/original_src/v3/original_src.pb.validate.go000077500000000000000000000063451454502223200331470ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/original_src/v3/original_src.proto package original_srcv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalSrc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalSrcMultiError, or // nil if none found. func (m *OriginalSrc) ValidateAll() error { return m.validate(true) } func (m *OriginalSrc) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Mark if len(errors) > 0 { return OriginalSrcMultiError(errors) } return nil } // OriginalSrcMultiError is an error wrapping multiple validation errors // returned by OriginalSrc.ValidateAll() if the designated constraints aren't met. type OriginalSrcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalSrcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalSrcMultiError) AllErrors() []error { return m } // OriginalSrcValidationError is the validation error returned by // OriginalSrc.Validate if the designated constraints aren't met. type OriginalSrcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalSrcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalSrcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalSrcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalSrcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalSrcValidationError) ErrorName() string { return "OriginalSrcValidationError" } // Error satisfies the builtin error interface func (e OriginalSrcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalSrc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalSrcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalSrcValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/rate_limit_quota/000077500000000000000000000000001454502223200263015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/rate_limit_quota/v3/000077500000000000000000000000001454502223200266315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/rate_limit_quota/v3/rate_limit_quota.pb.go000077500000000000000000002253201454502223200331310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/rate_limit_quota/v3/rate_limit_quota.proto package rate_limit_quotav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v31 "github.com/cncf/xds/go/xds/type/matcher/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configures the Rate Limit Quota filter. // // Can be overridden in the per-route and per-host configurations. // The more specific definition completely overrides the less specific definition. // [#next-free-field: 7] type RateLimitQuotaFilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures the gRPC Rate Limit Quota Service (RLQS) RateLimitQuotaService. RlqsServer *v3.GrpcService `protobuf:"bytes,1,opt,name=rlqs_server,json=rlqsServer,proto3" json:"rlqs_server,omitempty"` // The application domain to use when calling the service. This enables sharing the quota // server between different applications without fear of overlap. // E.g., "envoy". Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // The match tree to use for grouping incoming requests into buckets. // // Example: // // .. validated-code-block:: yaml // // :type-name: xds.type.matcher.v3.Matcher // // matcher_list: // matchers: // # Assign requests with header['env'] set to 'staging' to the bucket { name: 'staging' } // - predicate: // single_predicate: // input: // typed_config: // '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput // header_name: env // value_match: // exact: staging // on_match: // action: // typed_config: // '@type': type.googleapis.com/envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings // bucket_id_builder: // bucket_id_builder: // name: // string_value: staging // // # Assign requests with header['user_group'] set to 'admin' to the bucket { acl: 'admin_users' } // - predicate: // single_predicate: // input: // typed_config: // '@type': type.googleapis.com/xds.type.matcher.v3.HttpAttributesCelMatchInput // custom_match: // typed_config: // '@type': type.googleapis.com/xds.type.matcher.v3.CelMatcher // expr_match: // # Shortened for illustration purposes. Here should be parsed CEL expression: // # request.headers['user_group'] == 'admin' // parsed_expr: {} // on_match: // action: // typed_config: // '@type': type.googleapis.com/envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings // bucket_id_builder: // bucket_id_builder: // acl: // string_value: admin_users // // # Catch-all clause for the requests not matched by any of the matchers. // # In this example, deny all requests. // on_no_match: // action: // typed_config: // '@type': type.googleapis.com/envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings // no_assignment_behavior: // fallback_rate_limit: // blanket_rule: DENY_ALL // // .. attention:: // // The first matched group wins. Once the request is matched into a bucket, matcher // evaluation ends. // // Use “on_no_match“ field to assign the catch-all bucket. If a request is not matched // into any bucket, and there's no “on_no_match“ field configured, the request will be // ALLOWED by default. It will NOT be reported to the RLQS server. // // Refer to :ref:`Unified Matcher API ` // documentation for more information on the matcher trees. BucketMatchers *v31.Matcher `protobuf:"bytes,3,opt,name=bucket_matchers,json=bucketMatchers,proto3" json:"bucket_matchers,omitempty"` // If set, this will enable -- but not necessarily enforce -- the rate limit for the given // fraction of requests. // // Defaults to 100% of requests. FilterEnabled *v3.RuntimeFractionalPercent `protobuf:"bytes,4,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` // If set, this will enforce the rate limit decisions for the given fraction of requests. // For requests that are not enforced the filter will still obtain the quota and include it // in the load computation, however the request will always be allowed regardless of the outcome // of quota application. This allows validation or testing of the rate limiting service // infrastructure without disrupting existing traffic. // // Note: this only applies to the fraction of enabled requests. // // Defaults to 100% of requests. FilterEnforced *v3.RuntimeFractionalPercent `protobuf:"bytes,5,opt,name=filter_enforced,json=filterEnforced,proto3" json:"filter_enforced,omitempty"` // Specifies a list of HTTP headers that should be added to each request that // has been rate limited and is also forwarded upstream. This can only occur when the // filter is enabled but not enforced. RequestHeadersToAddWhenNotEnforced []*v3.HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add_when_not_enforced,json=requestHeadersToAddWhenNotEnforced,proto3" json:"request_headers_to_add_when_not_enforced,omitempty"` } func (x *RateLimitQuotaFilterConfig) Reset() { *x = RateLimitQuotaFilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaFilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaFilterConfig) ProtoMessage() {} func (x *RateLimitQuotaFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaFilterConfig.ProtoReflect.Descriptor instead. func (*RateLimitQuotaFilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{0} } func (x *RateLimitQuotaFilterConfig) GetRlqsServer() *v3.GrpcService { if x != nil { return x.RlqsServer } return nil } func (x *RateLimitQuotaFilterConfig) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitQuotaFilterConfig) GetBucketMatchers() *v31.Matcher { if x != nil { return x.BucketMatchers } return nil } func (x *RateLimitQuotaFilterConfig) GetFilterEnabled() *v3.RuntimeFractionalPercent { if x != nil { return x.FilterEnabled } return nil } func (x *RateLimitQuotaFilterConfig) GetFilterEnforced() *v3.RuntimeFractionalPercent { if x != nil { return x.FilterEnforced } return nil } func (x *RateLimitQuotaFilterConfig) GetRequestHeadersToAddWhenNotEnforced() []*v3.HeaderValueOption { if x != nil { return x.RequestHeadersToAddWhenNotEnforced } return nil } // Per-route and per-host configuration overrides. The more specific definition completely // overrides the less specific definition. type RateLimitQuotaOverride struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The application domain to use when calling the service. This enables sharing the quota // server between different applications without fear of overlap. // E.g., "envoy". // // If empty, inherits the value from the less specific definition. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // The match tree to use for grouping incoming requests into buckets. // // If set, fully overrides the bucket matchers provided on the less specific definition. // If not set, inherits the value from the less specific definition. // // See usage example: :ref:`RateLimitQuotaFilterConfig.bucket_matchers // `. BucketMatchers *v31.Matcher `protobuf:"bytes,2,opt,name=bucket_matchers,json=bucketMatchers,proto3" json:"bucket_matchers,omitempty"` } func (x *RateLimitQuotaOverride) Reset() { *x = RateLimitQuotaOverride{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaOverride) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaOverride) ProtoMessage() {} func (x *RateLimitQuotaOverride) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaOverride.ProtoReflect.Descriptor instead. func (*RateLimitQuotaOverride) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{1} } func (x *RateLimitQuotaOverride) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitQuotaOverride) GetBucketMatchers() *v31.Matcher { if x != nil { return x.BucketMatchers } return nil } // Rate Limit Quota Bucket Settings to apply on the successful “bucket_matchers“ match. // // Specify this message in the :ref:`Matcher.OnMatch.action // ` field of the // “bucket_matchers“ matcher tree to assign the matched requests to the Quota Bucket. // Usage example: :ref:`RateLimitQuotaFilterConfig.bucket_matchers // `. // [#next-free-field: 6] type RateLimitQuotaBucketSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // “BucketId“ builder. // // :ref:`BucketId ` is a map from // the string key to the string value which serves as bucket identifier common for on // the control plane and the data plane. // // While “BucketId“ is always static, “BucketIdBuilder“ allows to populate map values // with the dynamic properties associated with the each individual request. // // Example 1: static fields only // // “BucketIdBuilder“: // // .. validated-code-block:: yaml // // :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder // // bucket_id_builder: // name: // string_value: my_bucket // hello: // string_value: world // // Produces the following “BucketId“ for all requests: // // .. validated-code-block:: yaml // // :type-name: envoy.service.rate_limit_quota.v3.BucketId // // bucket: // name: my_bucket // hello: world // // Example 2: static and dynamic fields // // .. validated-code-block:: yaml // // :type-name: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder // // bucket_id_builder: // name: // string_value: my_bucket // env: // custom_value: // typed_config: // '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput // header_name: environment // // In this example, the value of “BucketId“ key “env“ is substituted from the “environment“ // request header. // // This is equivalent to the following “pseudo-code“: // // .. code-block:: yaml // // name: 'my_bucket' // env: $header['environment'] // // For example, the request with the HTTP header “env“ set to “staging“ will produce // the following “BucketId“: // // .. validated-code-block:: yaml // // :type-name: envoy.service.rate_limit_quota.v3.BucketId // // bucket: // name: my_bucket // env: staging // // For the request with the HTTP header “environment“ set to “prod“, will produce: // // .. validated-code-block:: yaml // // :type-name: envoy.service.rate_limit_quota.v3.BucketId // // bucket: // name: my_bucket // env: prod // // .. note:: // // The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and // ``{ b: 'B', a: 'A' }`` are identical. // // If not set, requests will NOT be reported to the server, and will always limited // according to :ref:`no_assignment_behavior // ` // configuration. BucketIdBuilder *RateLimitQuotaBucketSettings_BucketIdBuilder `protobuf:"bytes,1,opt,name=bucket_id_builder,json=bucketIdBuilder,proto3" json:"bucket_id_builder,omitempty"` // The interval at which the data plane (RLQS client) is to report quota usage for this bucket. // // When the first request is matched to a bucket with no assignment, the data plane is to report // the request immediately in the :ref:`RateLimitQuotaUsageReports // ` message. // For the RLQS server, this signals that the data plane is now subscribed to // the quota assignments in this bucket, and will start sending the assignment as described in // the :ref:`RLQS documentation `. // // After sending the initial report, the data plane is to continue reporting the bucket usage with // the internal specified in this field. // // If for any reason RLQS client doesn't receive the initial assignment for the reported bucket, // the data plane will eventually consider the bucket abandoned and stop sending the usage // reports. This is explained in more details at :ref:`Rate Limit Quota Service (RLQS) // `. // // [#comment: 100000000 nanoseconds = 0.1 seconds] ReportingInterval *duration.Duration `protobuf:"bytes,2,opt,name=reporting_interval,json=reportingInterval,proto3" json:"reporting_interval,omitempty"` // Customize the deny response to the requests over the rate limit. // If not set, the filter will be configured as if an empty message is set, // and will behave according to the defaults specified in :ref:`DenyResponseSettings // `. DenyResponseSettings *RateLimitQuotaBucketSettings_DenyResponseSettings `protobuf:"bytes,3,opt,name=deny_response_settings,json=denyResponseSettings,proto3" json:"deny_response_settings,omitempty"` // Configures the behavior in the "no assignment" state: after the first request has been // matched to the bucket, and before the the RLQS server returns the first quota assignment. // // If not set, the default behavior is to allow all requests. NoAssignmentBehavior *RateLimitQuotaBucketSettings_NoAssignmentBehavior `protobuf:"bytes,4,opt,name=no_assignment_behavior,json=noAssignmentBehavior,proto3" json:"no_assignment_behavior,omitempty"` // Configures the behavior in the "expired assignment" state: the bucket's assignment has expired, // and cannot be refreshed. // // If not set, the bucket is abandoned when its “active“ assignment expires. // The process of abandoning the bucket, and restarting the subscription is described in the // :ref:`AbandonAction ` // message. ExpiredAssignmentBehavior *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior `protobuf:"bytes,5,opt,name=expired_assignment_behavior,json=expiredAssignmentBehavior,proto3" json:"expired_assignment_behavior,omitempty"` } func (x *RateLimitQuotaBucketSettings) Reset() { *x = RateLimitQuotaBucketSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2} } func (x *RateLimitQuotaBucketSettings) GetBucketIdBuilder() *RateLimitQuotaBucketSettings_BucketIdBuilder { if x != nil { return x.BucketIdBuilder } return nil } func (x *RateLimitQuotaBucketSettings) GetReportingInterval() *duration.Duration { if x != nil { return x.ReportingInterval } return nil } func (x *RateLimitQuotaBucketSettings) GetDenyResponseSettings() *RateLimitQuotaBucketSettings_DenyResponseSettings { if x != nil { return x.DenyResponseSettings } return nil } func (x *RateLimitQuotaBucketSettings) GetNoAssignmentBehavior() *RateLimitQuotaBucketSettings_NoAssignmentBehavior { if x != nil { return x.NoAssignmentBehavior } return nil } func (x *RateLimitQuotaBucketSettings) GetExpiredAssignmentBehavior() *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior { if x != nil { return x.ExpiredAssignmentBehavior } return nil } // Configures the behavior after the first request has been matched to the bucket, and before the // the RLQS server returns the first quota assignment. type RateLimitQuotaBucketSettings_NoAssignmentBehavior struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to NoAssignmentBehavior: // // *RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit NoAssignmentBehavior isRateLimitQuotaBucketSettings_NoAssignmentBehavior_NoAssignmentBehavior `protobuf_oneof:"no_assignment_behavior"` } func (x *RateLimitQuotaBucketSettings_NoAssignmentBehavior) Reset() { *x = RateLimitQuotaBucketSettings_NoAssignmentBehavior{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_NoAssignmentBehavior) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_NoAssignmentBehavior) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_NoAssignmentBehavior) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_NoAssignmentBehavior.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_NoAssignmentBehavior) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 0} } func (m *RateLimitQuotaBucketSettings_NoAssignmentBehavior) GetNoAssignmentBehavior() isRateLimitQuotaBucketSettings_NoAssignmentBehavior_NoAssignmentBehavior { if m != nil { return m.NoAssignmentBehavior } return nil } func (x *RateLimitQuotaBucketSettings_NoAssignmentBehavior) GetFallbackRateLimit() *v32.RateLimitStrategy { if x, ok := x.GetNoAssignmentBehavior().(*RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit); ok { return x.FallbackRateLimit } return nil } type isRateLimitQuotaBucketSettings_NoAssignmentBehavior_NoAssignmentBehavior interface { isRateLimitQuotaBucketSettings_NoAssignmentBehavior_NoAssignmentBehavior() } type RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit struct { // Apply pre-configured rate limiting strategy until the server sends the first assignment. FallbackRateLimit *v32.RateLimitStrategy `protobuf:"bytes,1,opt,name=fallback_rate_limit,json=fallbackRateLimit,proto3,oneof"` } func (*RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit) isRateLimitQuotaBucketSettings_NoAssignmentBehavior_NoAssignmentBehavior() { } // Specifies the behavior when the bucket's assignment has expired, and cannot be refreshed for // any reason. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Limit the time :ref:`ExpiredAssignmentBehavior // ` // is applied. If the server doesn't respond within this duration: // // 1. Selected “ExpiredAssignmentBehavior“ is no longer applied. // 2. The bucket is abandoned. The process of abandoning the bucket is described in the // :ref:`AbandonAction ` // message. // 3. If a new request is matched into the bucket that has become abandoned, // the data plane restarts the subscription to the bucket. The process of restarting the // subscription is described in the :ref:`AbandonAction // ` // message. // // If not set, defaults to zero, and the bucket is abandoned immediately. ExpiredAssignmentBehaviorTimeout *duration.Duration `protobuf:"bytes,1,opt,name=expired_assignment_behavior_timeout,json=expiredAssignmentBehaviorTimeout,proto3" json:"expired_assignment_behavior_timeout,omitempty"` // Types that are assignable to ExpiredAssignmentBehavior: // // *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit // *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_ ExpiredAssignmentBehavior isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior `protobuf_oneof:"expired_assignment_behavior"` } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) Reset() { *x = RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 1} } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) GetExpiredAssignmentBehaviorTimeout() *duration.Duration { if x != nil { return x.ExpiredAssignmentBehaviorTimeout } return nil } func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) GetExpiredAssignmentBehavior() isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior { if m != nil { return m.ExpiredAssignmentBehavior } return nil } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) GetFallbackRateLimit() *v32.RateLimitStrategy { if x, ok := x.GetExpiredAssignmentBehavior().(*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit); ok { return x.FallbackRateLimit } return nil } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) GetReuseLastAssignment() *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment { if x, ok := x.GetExpiredAssignmentBehavior().(*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_); ok { return x.ReuseLastAssignment } return nil } type isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior interface { isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior() } type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit struct { // Apply the rate limiting strategy to all requests matched into the bucket until the RLQS // server sends a new assignment, or the :ref:`expired_assignment_behavior_timeout // ` // runs out. FallbackRateLimit *v32.RateLimitStrategy `protobuf:"bytes,2,opt,name=fallback_rate_limit,json=fallbackRateLimit,proto3,oneof"` } type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_ struct { // Reuse the last “active“ assignment until the RLQS server sends a new assignment, or the // :ref:`expired_assignment_behavior_timeout // ` // runs out. ReuseLastAssignment *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment `protobuf:"bytes,3,opt,name=reuse_last_assignment,json=reuseLastAssignment,proto3,oneof"` } func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit) isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior() { } func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_) isRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ExpiredAssignmentBehavior() { } // Customize the deny response to the requests over the rate limit. type RateLimitQuotaBucketSettings_DenyResponseSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP response code to deny for HTTP requests (gRPC excluded). // Defaults to 429 (:ref:`StatusCode.TooManyRequests`). HttpStatus *v32.HttpStatus `protobuf:"bytes,1,opt,name=http_status,json=httpStatus,proto3" json:"http_status,omitempty"` // HTTP response body used to deny for HTTP requests (gRPC excluded). // If not set, an empty body is returned. HttpBody *wrappers.BytesValue `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"` // Configure the deny response for gRPC requests over the rate limit. // Allows to specify the `RPC status code // `_, // and the error message. // Defaults to the Status with the RPC Code “UNAVAILABLE“ and empty message. // // To identify gRPC requests, Envoy checks that the “Content-Type“ header is // “application/grpc“, or one of the various “application/grpc+“ values. // // .. note:: // // The HTTP code for a gRPC response is always 200. GrpcStatus *status.Status `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3" json:"grpc_status,omitempty"` // Specifies a list of HTTP headers that should be added to each response for requests that // have been rate limited. Applies both to plain HTTP, and gRPC requests. // The headers are added even when the rate limit quota was not enforced. ResponseHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) Reset() { *x = RateLimitQuotaBucketSettings_DenyResponseSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_DenyResponseSettings) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_DenyResponseSettings.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_DenyResponseSettings) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 2} } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) GetHttpStatus() *v32.HttpStatus { if x != nil { return x.HttpStatus } return nil } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) GetHttpBody() *wrappers.BytesValue { if x != nil { return x.HttpBody } return nil } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) GetGrpcStatus() *status.Status { if x != nil { return x.GrpcStatus } return nil } func (x *RateLimitQuotaBucketSettings_DenyResponseSettings) GetResponseHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } // “BucketIdBuilder“ makes it possible to build :ref:`BucketId // ` with values substituted // from the dynamic properties associated with each individual request. See usage examples in // the docs to :ref:`bucket_id_builder // ` // field. type RateLimitQuotaBucketSettings_BucketIdBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The map translated into the “BucketId“ map. // // The “string key“ of this map and becomes the key of “BucketId“ map as is. // // The “ValueBuilder value“ for the key can be: // // - static “StringValue string_value“ — becomes the value in the “BucketId“ map as is. // - dynamic “TypedExtensionConfig custom_value“ — evaluated for each request. Must produce // a string output, which becomes the value in the the “BucketId“ map. // // See usage examples in the docs to :ref:`bucket_id_builder // ` // field. BucketIdBuilder map[string]*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder `protobuf:"bytes,1,rep,name=bucket_id_builder,json=bucketIdBuilder,proto3" json:"bucket_id_builder,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder) Reset() { *x = RateLimitQuotaBucketSettings_BucketIdBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_BucketIdBuilder) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_BucketIdBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_BucketIdBuilder.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_BucketIdBuilder) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 3} } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder) GetBucketIdBuilder() map[string]*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder { if x != nil { return x.BucketIdBuilder } return nil } // Reuse the last known quota assignment, effectively extending it for the duration // specified in the :ref:`expired_assignment_behavior_timeout // ` // field. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) Reset() { *x = RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 1, 0} } // Produces the value of the :ref:`BucketId // ` map. type RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ValueSpecifier: // // *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue // *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue ValueSpecifier isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier `protobuf_oneof:"value_specifier"` } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) Reset() { *x = RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) ProtoMessage() {} func (x *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder.ProtoReflect.Descriptor instead. func (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP(), []int{2, 3, 0} } func (m *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) GetValueSpecifier() isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier { if m != nil { return m.ValueSpecifier } return nil } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) GetStringValue() string { if x, ok := x.GetValueSpecifier().(*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue); ok { return x.StringValue } return "" } func (x *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) GetCustomValue() *v3.TypedExtensionConfig { if x, ok := x.GetValueSpecifier().(*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue); ok { return x.CustomValue } return nil } type isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier interface { isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier() } type RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue struct { // Static string value — becomes the value in the :ref:`BucketId // ` map as is. StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"` } type RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue struct { // Dynamic value — evaluated for each request. Must produce a string output, which becomes // the value in the :ref:`BucketId ` // map. For example, extensions with the “envoy.matching.http.input“ category can be used. CustomValue *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=custom_value,json=customValue,proto3,oneof"` } func (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue) isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier() { } func (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue) isRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_ValueSpecifier() { } var File_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x04, 0x0a, 0x1a, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0b, 0x72, 0x6c, 0x71, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x6c, 0x71, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x4f, 0x0a, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x87, 0x01, 0x0a, 0x28, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x0a, 0x52, 0x22, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x57, 0x68, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x22, 0x77, 0x0a, 0x16, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x45, 0x0a, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x22, 0x92, 0x11, 0x0a, 0x1c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0xaa, 0x01, 0x09, 0x08, 0x01, 0x2a, 0x05, 0x10, 0x80, 0xc2, 0xd7, 0x2f, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x9a, 0x01, 0x0a, 0x16, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x14, 0x64, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x16, 0x6e, 0x6f, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4e, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x14, 0x6e, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0xa9, 0x01, 0x0a, 0x1b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x69, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x19, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x1a, 0x89, 0x01, 0x0a, 0x14, 0x4e, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x00, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x1d, 0x0a, 0x16, 0x6e, 0x6f, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xd4, 0x03, 0x0a, 0x19, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x72, 0x0a, 0x23, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x00, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0xb3, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x75, 0x73, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x75, 0x73, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x22, 0x0a, 0x1b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xab, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x33, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x68, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x0a, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x1a, 0x91, 0x04, 0x0a, 0x0f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0xaa, 0x01, 0x0a, 0x11, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x9a, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x1a, 0x9c, 0x01, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x16, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xb1, 0x01, 0x0a, 0x14, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xd5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescData = file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDesc ) func file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescData) }) return file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDescData } var file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_goTypes = []interface{}{ (*RateLimitQuotaFilterConfig)(nil), // 0: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig (*RateLimitQuotaOverride)(nil), // 1: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride (*RateLimitQuotaBucketSettings)(nil), // 2: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings (*RateLimitQuotaBucketSettings_NoAssignmentBehavior)(nil), // 3: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior)(nil), // 4: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior (*RateLimitQuotaBucketSettings_DenyResponseSettings)(nil), // 5: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings (*RateLimitQuotaBucketSettings_BucketIdBuilder)(nil), // 6: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment)(nil), // 7: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.ReuseLastAssignment (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder)(nil), // 8: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.ValueBuilder nil, // 9: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.BucketIdBuilderEntry (*v3.GrpcService)(nil), // 10: envoy.config.core.v3.GrpcService (*v31.Matcher)(nil), // 11: xds.type.matcher.v3.Matcher (*v3.RuntimeFractionalPercent)(nil), // 12: envoy.config.core.v3.RuntimeFractionalPercent (*v3.HeaderValueOption)(nil), // 13: envoy.config.core.v3.HeaderValueOption (*duration.Duration)(nil), // 14: google.protobuf.Duration (*v32.RateLimitStrategy)(nil), // 15: envoy.type.v3.RateLimitStrategy (*v32.HttpStatus)(nil), // 16: envoy.type.v3.HttpStatus (*wrappers.BytesValue)(nil), // 17: google.protobuf.BytesValue (*status.Status)(nil), // 18: google.rpc.Status (*v3.TypedExtensionConfig)(nil), // 19: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_depIdxs = []int32{ 10, // 0: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.rlqs_server:type_name -> envoy.config.core.v3.GrpcService 11, // 1: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.bucket_matchers:type_name -> xds.type.matcher.v3.Matcher 12, // 2: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 12, // 3: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.filter_enforced:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 13, // 4: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig.request_headers_to_add_when_not_enforced:type_name -> envoy.config.core.v3.HeaderValueOption 11, // 5: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride.bucket_matchers:type_name -> xds.type.matcher.v3.Matcher 6, // 6: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.bucket_id_builder:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder 14, // 7: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.reporting_interval:type_name -> google.protobuf.Duration 5, // 8: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.deny_response_settings:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings 3, // 9: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior 4, // 10: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.expired_assignment_behavior:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior 15, // 11: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior.fallback_rate_limit:type_name -> envoy.type.v3.RateLimitStrategy 14, // 12: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout:type_name -> google.protobuf.Duration 15, // 13: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.fallback_rate_limit:type_name -> envoy.type.v3.RateLimitStrategy 7, // 14: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.reuse_last_assignment:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.ReuseLastAssignment 16, // 15: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings.http_status:type_name -> envoy.type.v3.HttpStatus 17, // 16: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings.http_body:type_name -> google.protobuf.BytesValue 18, // 17: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings.grpc_status:type_name -> google.rpc.Status 13, // 18: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 9, // 19: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.bucket_id_builder:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.BucketIdBuilderEntry 19, // 20: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.ValueBuilder.custom_value:type_name -> envoy.config.core.v3.TypedExtensionConfig 8, // 21: envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.BucketIdBuilderEntry.value:type_name -> envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.ValueBuilder 22, // [22:22] is the sub-list for method output_type 22, // [22:22] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name 22, // [22:22] is the sub-list for extension extendee 0, // [0:22] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_init() } func file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_init() { if File_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaFilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaOverride); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_NoAssignmentBehavior); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_DenyResponseSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_BucketIdBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit)(nil), } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[4].OneofWrappers = []interface{}{ (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit)(nil), (*RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_)(nil), } file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes[8].OneofWrappers = []interface{}{ (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue)(nil), (*RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDesc, NumEnums: 0, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto = out.File file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_rawDesc = nil file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_goTypes = nil file_envoy_extensions_filters_http_rate_limit_quota_v3_rate_limit_quota_proto_depIdxs = nil } rate_limit_quota.pb.validate.go000077500000000000000000001576161454502223200346560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/rate_limit_quota/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/rate_limit_quota/v3/rate_limit_quota.proto package rate_limit_quotav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitQuotaFilterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaFilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaFilterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaFilterConfigMultiError, or nil if none found. func (m *RateLimitQuotaFilterConfig) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaFilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetRlqsServer() == nil { err := RateLimitQuotaFilterConfigValidationError{ field: "RlqsServer", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRlqsServer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "RlqsServer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "RlqsServer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRlqsServer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaFilterConfigValidationError{ field: "RlqsServer", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetDomain()) < 1 { err := RateLimitQuotaFilterConfigValidationError{ field: "Domain", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetBucketMatchers() == nil { err := RateLimitQuotaFilterConfigValidationError{ field: "BucketMatchers", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBucketMatchers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBucketMatchers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaFilterConfigValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaFilterConfigValidationError{ field: "FilterEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetFilterEnforced()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnforced()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaFilterConfigValidationError{ field: "FilterEnforced", reason: "embedded message failed validation", cause: err, } } } if len(m.GetRequestHeadersToAddWhenNotEnforced()) > 10 { err := RateLimitQuotaFilterConfigValidationError{ field: "RequestHeadersToAddWhenNotEnforced", reason: "value must contain no more than 10 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAddWhenNotEnforced() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaFilterConfigValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaFilterConfigValidationError{ field: fmt.Sprintf("RequestHeadersToAddWhenNotEnforced[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitQuotaFilterConfigMultiError(errors) } return nil } // RateLimitQuotaFilterConfigMultiError is an error wrapping multiple // validation errors returned by RateLimitQuotaFilterConfig.ValidateAll() if // the designated constraints aren't met. type RateLimitQuotaFilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaFilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaFilterConfigMultiError) AllErrors() []error { return m } // RateLimitQuotaFilterConfigValidationError is the validation error returned // by RateLimitQuotaFilterConfig.Validate if the designated constraints aren't met. type RateLimitQuotaFilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaFilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaFilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaFilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaFilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaFilterConfigValidationError) ErrorName() string { return "RateLimitQuotaFilterConfigValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaFilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaFilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaFilterConfigValidationError{} // Validate checks the field values on RateLimitQuotaOverride with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaOverride) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaOverride with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaOverrideMultiError, or nil if none found. func (m *RateLimitQuotaOverride) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaOverride) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Domain if all { switch v := interface{}(m.GetBucketMatchers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaOverrideValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaOverrideValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBucketMatchers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaOverrideValidationError{ field: "BucketMatchers", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitQuotaOverrideMultiError(errors) } return nil } // RateLimitQuotaOverrideMultiError is an error wrapping multiple validation // errors returned by RateLimitQuotaOverride.ValidateAll() if the designated // constraints aren't met. type RateLimitQuotaOverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaOverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaOverrideMultiError) AllErrors() []error { return m } // RateLimitQuotaOverrideValidationError is the validation error returned by // RateLimitQuotaOverride.Validate if the designated constraints aren't met. type RateLimitQuotaOverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaOverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaOverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaOverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaOverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaOverrideValidationError) ErrorName() string { return "RateLimitQuotaOverrideValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaOverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaOverride.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaOverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaOverrideValidationError{} // Validate checks the field values on RateLimitQuotaBucketSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaBucketSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaBucketSettingsMultiError, or nil if none found. func (m *RateLimitQuotaBucketSettings) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBucketIdBuilder()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "BucketIdBuilder", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "BucketIdBuilder", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBucketIdBuilder()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettingsValidationError{ field: "BucketIdBuilder", reason: "embedded message failed validation", cause: err, } } } if m.GetReportingInterval() == nil { err := RateLimitQuotaBucketSettingsValidationError{ field: "ReportingInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetReportingInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RateLimitQuotaBucketSettingsValidationError{ field: "ReportingInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 100000000*time.Nanosecond) if dur <= gt { err := RateLimitQuotaBucketSettingsValidationError{ field: "ReportingInterval", reason: "value must be greater than 100ms", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetDenyResponseSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "DenyResponseSettings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "DenyResponseSettings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDenyResponseSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettingsValidationError{ field: "DenyResponseSettings", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetNoAssignmentBehavior()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "NoAssignmentBehavior", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "NoAssignmentBehavior", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNoAssignmentBehavior()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettingsValidationError{ field: "NoAssignmentBehavior", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetExpiredAssignmentBehavior()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "ExpiredAssignmentBehavior", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettingsValidationError{ field: "ExpiredAssignmentBehavior", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExpiredAssignmentBehavior()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettingsValidationError{ field: "ExpiredAssignmentBehavior", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitQuotaBucketSettingsMultiError(errors) } return nil } // RateLimitQuotaBucketSettingsMultiError is an error wrapping multiple // validation errors returned by RateLimitQuotaBucketSettings.ValidateAll() if // the designated constraints aren't met. type RateLimitQuotaBucketSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettingsMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettingsValidationError is the validation error returned // by RateLimitQuotaBucketSettings.Validate if the designated constraints // aren't met. type RateLimitQuotaBucketSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettingsValidationError) ErrorName() string { return "RateLimitQuotaBucketSettingsValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettingsValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_NoAssignmentBehavior with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings_NoAssignmentBehavior) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_NoAssignmentBehavior with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError, or nil if none found. func (m *RateLimitQuotaBucketSettings_NoAssignmentBehavior) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_NoAssignmentBehavior) validate(all bool) error { if m == nil { return nil } var errors []error oneofNoAssignmentBehaviorPresent := false switch v := m.NoAssignmentBehavior.(type) { case *RateLimitQuotaBucketSettings_NoAssignmentBehavior_FallbackRateLimit: if v == nil { err := RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{ field: "NoAssignmentBehavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofNoAssignmentBehaviorPresent = true if all { switch v := interface{}(m.GetFallbackRateLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFallbackRateLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofNoAssignmentBehaviorPresent { err := RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{ field: "NoAssignmentBehavior", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError is an error // wrapping multiple validation errors returned by // RateLimitQuotaBucketSettings_NoAssignmentBehavior.ValidateAll() if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_NoAssignmentBehaviorMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError is the // validation error returned by // RateLimitQuotaBucketSettings_NoAssignmentBehavior.Validate if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_NoAssignmentBehavior.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_NoAssignmentBehaviorValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError, or nil if // none found. func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetExpiredAssignmentBehaviorTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ExpiredAssignmentBehaviorTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ExpiredAssignmentBehaviorTimeout", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } oneofExpiredAssignmentBehaviorPresent := false switch v := m.ExpiredAssignmentBehavior.(type) { case *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_FallbackRateLimit: if v == nil { err := RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ExpiredAssignmentBehavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofExpiredAssignmentBehaviorPresent = true if all { switch v := interface{}(m.GetFallbackRateLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFallbackRateLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "FallbackRateLimit", reason: "embedded message failed validation", cause: err, } } } case *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment_: if v == nil { err := RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ExpiredAssignmentBehavior", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofExpiredAssignmentBehaviorPresent = true if all { switch v := interface{}(m.GetReuseLastAssignment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ReuseLastAssignment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ReuseLastAssignment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReuseLastAssignment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ReuseLastAssignment", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofExpiredAssignmentBehaviorPresent { err := RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{ field: "ExpiredAssignmentBehavior", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError is an error // wrapping multiple validation errors returned by // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior.ValidateAll() if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError is the // validation error returned by // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior.Validate if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_ExpiredAssignmentBehaviorValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_DenyResponseSettings with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings_DenyResponseSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_DenyResponseSettings with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError, or nil if none found. func (m *RateLimitQuotaBucketSettings_DenyResponseSettings) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_DenyResponseSettings) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpStatus", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "HttpBody", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetGrpcStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, } } } if len(m.GetResponseHeadersToAdd()) > 10 { err := RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 10 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError is an error // wrapping multiple validation errors returned by // RateLimitQuotaBucketSettings_DenyResponseSettings.ValidateAll() if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_DenyResponseSettingsMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError is the // validation error returned by // RateLimitQuotaBucketSettings_DenyResponseSettings.Validate if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_DenyResponseSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_DenyResponseSettingsValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_BucketIdBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings_BucketIdBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_BucketIdBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RateLimitQuotaBucketSettings_BucketIdBuilderMultiError, or nil if none found. func (m *RateLimitQuotaBucketSettings_BucketIdBuilder) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_BucketIdBuilder) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetBucketIdBuilder()) < 1 { err := RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{ field: "BucketIdBuilder", reason: "value must contain at least 1 pair(s)", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetBucketIdBuilder())) i := 0 for key := range m.GetBucketIdBuilder() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetBucketIdBuilder()[key] _ = val // no validation rules for BucketIdBuilder[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{ field: fmt.Sprintf("BucketIdBuilder[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{ field: fmt.Sprintf("BucketIdBuilder[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{ field: fmt.Sprintf("BucketIdBuilder[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return RateLimitQuotaBucketSettings_BucketIdBuilderMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_BucketIdBuilderMultiError is an error wrapping // multiple validation errors returned by // RateLimitQuotaBucketSettings_BucketIdBuilder.ValidateAll() if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_BucketIdBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_BucketIdBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_BucketIdBuilderMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_BucketIdBuilderValidationError is the // validation error returned by // RateLimitQuotaBucketSettings_BucketIdBuilder.Validate if the designated // constraints aren't met. type RateLimitQuotaBucketSettings_BucketIdBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_BucketIdBuilderValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_BucketIdBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_BucketIdBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_BucketIdBuilderValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError, // or nil if none found. func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError // is an error wrapping multiple validation errors returned by // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment.ValidateAll() // if the designated constraints aren't met. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError // is the validation error returned by // RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment.Validate // if the designated constraints aren't met. type RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_ExpiredAssignmentBehavior_ReuseLastAssignmentValidationError{} // Validate checks the field values on // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError, or nil // if none found. func (m *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder) validate(all bool) error { if m == nil { return nil } var errors []error oneofValueSpecifierPresent := false switch v := m.ValueSpecifier.(type) { case *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_StringValue: if v == nil { err := RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "ValueSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValueSpecifierPresent = true // no validation rules for StringValue case *RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder_CustomValue: if v == nil { err := RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "ValueSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofValueSpecifierPresent = true if all { switch v := interface{}(m.GetCustomValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "CustomValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "CustomValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "CustomValue", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofValueSpecifierPresent { err := RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{ field: "ValueSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError(errors) } return nil } // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError is an // error wrapping multiple validation errors returned by // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder.ValidateAll() if // the designated constraints aren't met. type RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderMultiError) AllErrors() []error { return m } // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError is // the validation error returned by // RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder.Validate if the // designated constraints aren't met. type RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) ErrorName() string { return "RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaBucketSettings_BucketIdBuilder_ValueBuilderValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/ratelimit/000077500000000000000000000000001454502223200247315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ratelimit/v3/000077500000000000000000000000001454502223200252615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/ratelimit/v3/rate_limit.pb.go000077500000000000000000002672411454502223200303600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v34 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Defines the version of the standard to use for X-RateLimit headers. // // [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.] type RateLimit_XRateLimitHeadersRFCVersion int32 const ( // X-RateLimit headers disabled. RateLimit_OFF RateLimit_XRateLimitHeadersRFCVersion = 0 // Use `draft RFC Version 03 `_. RateLimit_DRAFT_VERSION_03 RateLimit_XRateLimitHeadersRFCVersion = 1 ) // Enum value maps for RateLimit_XRateLimitHeadersRFCVersion. var ( RateLimit_XRateLimitHeadersRFCVersion_name = map[int32]string{ 0: "OFF", 1: "DRAFT_VERSION_03", } RateLimit_XRateLimitHeadersRFCVersion_value = map[string]int32{ "OFF": 0, "DRAFT_VERSION_03": 1, } ) func (x RateLimit_XRateLimitHeadersRFCVersion) Enum() *RateLimit_XRateLimitHeadersRFCVersion { p := new(RateLimit_XRateLimitHeadersRFCVersion) *p = x return p } func (x RateLimit_XRateLimitHeadersRFCVersion) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimit_XRateLimitHeadersRFCVersion) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[0].Descriptor() } func (RateLimit_XRateLimitHeadersRFCVersion) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[0] } func (x RateLimit_XRateLimitHeadersRFCVersion) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimit_XRateLimitHeadersRFCVersion.Descriptor instead. func (RateLimit_XRateLimitHeadersRFCVersion) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{0, 0} } type RateLimitConfig_Action_MetaData_Source int32 const ( // Query :ref:`dynamic metadata ` RateLimitConfig_Action_MetaData_DYNAMIC RateLimitConfig_Action_MetaData_Source = 0 // Query :ref:`route entry metadata ` RateLimitConfig_Action_MetaData_ROUTE_ENTRY RateLimitConfig_Action_MetaData_Source = 1 ) // Enum value maps for RateLimitConfig_Action_MetaData_Source. var ( RateLimitConfig_Action_MetaData_Source_name = map[int32]string{ 0: "DYNAMIC", 1: "ROUTE_ENTRY", } RateLimitConfig_Action_MetaData_Source_value = map[string]int32{ "DYNAMIC": 0, "ROUTE_ENTRY": 1, } ) func (x RateLimitConfig_Action_MetaData_Source) Enum() *RateLimitConfig_Action_MetaData_Source { p := new(RateLimitConfig_Action_MetaData_Source) *p = x return p } func (x RateLimitConfig_Action_MetaData_Source) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitConfig_Action_MetaData_Source) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[1].Descriptor() } func (RateLimitConfig_Action_MetaData_Source) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[1] } func (x RateLimitConfig_Action_MetaData_Source) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitConfig_Action_MetaData_Source.Descriptor instead. func (RateLimitConfig_Action_MetaData_Source) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 6, 0} } // [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.VhRateLimitsOptions instead.] type RateLimitPerRoute_VhRateLimitsOptions int32 const ( // Use the virtual host rate limits unless the route has a rate limit policy. RateLimitPerRoute_OVERRIDE RateLimitPerRoute_VhRateLimitsOptions = 0 // Use the virtual host rate limits even if the route has a rate limit policy. RateLimitPerRoute_INCLUDE RateLimitPerRoute_VhRateLimitsOptions = 1 // Ignore the virtual host rate limits even if the route does not have a rate limit policy. RateLimitPerRoute_IGNORE RateLimitPerRoute_VhRateLimitsOptions = 2 ) // Enum value maps for RateLimitPerRoute_VhRateLimitsOptions. var ( RateLimitPerRoute_VhRateLimitsOptions_name = map[int32]string{ 0: "OVERRIDE", 1: "INCLUDE", 2: "IGNORE", } RateLimitPerRoute_VhRateLimitsOptions_value = map[string]int32{ "OVERRIDE": 0, "INCLUDE": 1, "IGNORE": 2, } ) func (x RateLimitPerRoute_VhRateLimitsOptions) Enum() *RateLimitPerRoute_VhRateLimitsOptions { p := new(RateLimitPerRoute_VhRateLimitsOptions) *p = x return p } func (x RateLimitPerRoute_VhRateLimitsOptions) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitPerRoute_VhRateLimitsOptions) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[2].Descriptor() } func (RateLimitPerRoute_VhRateLimitsOptions) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[2] } func (x RateLimitPerRoute_VhRateLimitsOptions) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitPerRoute_VhRateLimitsOptions.Descriptor instead. func (RateLimitPerRoute_VhRateLimitsOptions) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{2, 0} } // The override option determines how the filter handles the cases where there is an override config at a more specific level than this one (from least to most specific: virtual host, route, cluster weight). // [#not-implemented-hide:] type RateLimitPerRoute_OverrideOptions int32 const ( // Client-defined default, typically OVERRIDE_POLICY. If VhRateLimitsOptions is set, that will be used instead. RateLimitPerRoute_DEFAULT RateLimitPerRoute_OverrideOptions = 0 // If there is an override config at a more specific level, use that instead of this one. RateLimitPerRoute_OVERRIDE_POLICY RateLimitPerRoute_OverrideOptions = 1 // If there is an override config at a more specific level, use data from both. RateLimitPerRoute_INCLUDE_POLICY RateLimitPerRoute_OverrideOptions = 2 // If there is an override config at a more specific level, ignore it and use only this one. RateLimitPerRoute_IGNORE_POLICY RateLimitPerRoute_OverrideOptions = 3 ) // Enum value maps for RateLimitPerRoute_OverrideOptions. var ( RateLimitPerRoute_OverrideOptions_name = map[int32]string{ 0: "DEFAULT", 1: "OVERRIDE_POLICY", 2: "INCLUDE_POLICY", 3: "IGNORE_POLICY", } RateLimitPerRoute_OverrideOptions_value = map[string]int32{ "DEFAULT": 0, "OVERRIDE_POLICY": 1, "INCLUDE_POLICY": 2, "IGNORE_POLICY": 3, } ) func (x RateLimitPerRoute_OverrideOptions) Enum() *RateLimitPerRoute_OverrideOptions { p := new(RateLimitPerRoute_OverrideOptions) *p = x return p } func (x RateLimitPerRoute_OverrideOptions) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitPerRoute_OverrideOptions) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[3].Descriptor() } func (RateLimitPerRoute_OverrideOptions) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes[3] } func (x RateLimitPerRoute_OverrideOptions) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitPerRoute_OverrideOptions.Descriptor instead. func (RateLimitPerRoute_OverrideOptions) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{2, 1} } // [#next-free-field: 14] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The rate limit domain to use when calling the rate limit service. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // Specifies the rate limit configurations to be applied with the same // stage number. If not set, the default stage number is 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` // The type of requests the filter should apply to. The supported // types are “internal“, “external“ or “both“. A request is considered internal if // :ref:`x-envoy-internal` is set to true. If // :ref:`x-envoy-internal` is not set or false, a // request is considered external. The filter defaults to “both“, and it will apply to all request // types. RequestType string `protobuf:"bytes,3,opt,name=request_type,json=requestType,proto3" json:"request_type,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Specifies whether a “RESOURCE_EXHAUSTED“ gRPC code must be returned instead // of the default “UNAVAILABLE“ gRPC code for a rate limited gRPC call. The // HTTP code will be 200 for a gRPC response. RateLimitedAsResourceExhausted bool `protobuf:"varint,6,opt,name=rate_limited_as_resource_exhausted,json=rateLimitedAsResourceExhausted,proto3" json:"rate_limited_as_resource_exhausted,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v3.RateLimitServiceConfig `protobuf:"bytes,7,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` // Defines the standard version to use for X-RateLimit headers emitted by the filter: // // - “X-RateLimit-Limit“ - indicates the request-quota associated to the // client in the current time-window followed by the description of the // quota policy. The values are returned by the rate limiting service in // :ref:`current_limit` // field. Example: “10, 10;w=1;name="per-ip", 1000;w=3600“. // - “X-RateLimit-Remaining“ - indicates the remaining requests in the // current time-window. The values are returned by the rate limiting service // in :ref:`limit_remaining` // field. // - “X-RateLimit-Reset“ - indicates the number of seconds until reset of // the current time-window. The values are returned by the rate limiting service // in :ref:`duration_until_reset` // field. // // In case rate limiting policy specifies more then one time window, the values // above represent the window that is closest to reaching its limit. // // For more information about the headers specification see selected version of // the `draft RFC `_. // // Disabled by default. // // [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.] EnableXRatelimitHeaders RateLimit_XRateLimitHeadersRFCVersion `protobuf:"varint,8,opt,name=enable_x_ratelimit_headers,json=enableXRatelimitHeaders,proto3,enum=envoy.extensions.filters.http.ratelimit.v3.RateLimit_XRateLimitHeadersRFCVersion" json:"enable_x_ratelimit_headers,omitempty"` // Disables emitting the :ref:`x-envoy-ratelimited` header // in case of rate limiting (i.e. 429 responses). // Having this header not present potentially makes the request retriable. DisableXEnvoyRatelimitedHeader bool `protobuf:"varint,9,opt,name=disable_x_envoy_ratelimited_header,json=disableXEnvoyRatelimitedHeader,proto3" json:"disable_x_envoy_ratelimited_header,omitempty"` // This field allows for a custom HTTP response status code to the downstream client when // the request has been rate limited. // Defaults to 429 (TooManyRequests). // // .. note:: // // If this is set to < 400, 429 will be used instead. RateLimitedStatus *v31.HttpStatus `protobuf:"bytes,10,opt,name=rate_limited_status,json=rateLimitedStatus,proto3" json:"rate_limited_status,omitempty"` // Specifies a list of HTTP headers that should be added to each response for requests that // have been rate limited. ResponseHeadersToAdd []*v32.HeaderValueOption `protobuf:"bytes,11,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // Sets the HTTP status that is returned to the client when the ratelimit server returns an error // or cannot be reached. The default status is 500. StatusOnError *v31.HttpStatus `protobuf:"bytes,12,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"` // Optional additional prefix to use when emitting statistics. This allows to distinguish // emitted statistics between configured “ratelimit“ filters in an HTTP filter chain. StatPrefix string `protobuf:"bytes,13,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *RateLimit) GetRequestType() string { if x != nil { return x.RequestType } return "" } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitedAsResourceExhausted() bool { if x != nil { return x.RateLimitedAsResourceExhausted } return false } func (x *RateLimit) GetRateLimitService() *v3.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } func (x *RateLimit) GetEnableXRatelimitHeaders() RateLimit_XRateLimitHeadersRFCVersion { if x != nil { return x.EnableXRatelimitHeaders } return RateLimit_OFF } func (x *RateLimit) GetDisableXEnvoyRatelimitedHeader() bool { if x != nil { return x.DisableXEnvoyRatelimitedHeader } return false } func (x *RateLimit) GetRateLimitedStatus() *v31.HttpStatus { if x != nil { return x.RateLimitedStatus } return nil } func (x *RateLimit) GetResponseHeadersToAdd() []*v32.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *RateLimit) GetStatusOnError() *v31.HttpStatus { if x != nil { return x.StatusOnError } return nil } func (x *RateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } // Global rate limiting :ref:`architecture overview `. // Also applies to Local rate limiting :ref:`using descriptors `. // [#not-implemented-hide:] type RateLimitConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Refers to the stage set in the filter. The rate limit configuration only // applies to filters with the same stage number. The default stage number is // 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,1,opt,name=stage,proto3" json:"stage,omitempty"` // The key to be set in runtime to disable this rate limit configuration. DisableKey string `protobuf:"bytes,2,opt,name=disable_key,json=disableKey,proto3" json:"disable_key,omitempty"` // A list of actions that are to be applied for this rate limit configuration. // Order matters as the actions are processed sequentially and the descriptor // is composed by appending descriptor entries in that sequence. If an action // cannot append a descriptor entry, no descriptor is generated for the // configuration. See :ref:`composing actions // ` for additional documentation. Actions []*RateLimitConfig_Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` // An optional limit override to be appended to the descriptor produced by this // rate limit configuration. If the override value is invalid or cannot be resolved // from metadata, no override is provided. See :ref:`rate limit override // ` for more information. Limit *RateLimitConfig_Override `protobuf:"bytes,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *RateLimitConfig) Reset() { *x = RateLimitConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig) ProtoMessage() {} func (x *RateLimitConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig.ProtoReflect.Descriptor instead. func (*RateLimitConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1} } func (x *RateLimitConfig) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *RateLimitConfig) GetDisableKey() string { if x != nil { return x.DisableKey } return "" } func (x *RateLimitConfig) GetActions() []*RateLimitConfig_Action { if x != nil { return x.Actions } return nil } func (x *RateLimitConfig) GetLimit() *RateLimitConfig_Override { if x != nil { return x.Limit } return nil } type RateLimitPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies if the rate limit filter should include the virtual host rate limits. // [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.VhRateLimitsOptions instead.] VhRateLimits RateLimitPerRoute_VhRateLimitsOptions `protobuf:"varint,1,opt,name=vh_rate_limits,json=vhRateLimits,proto3,enum=envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute_VhRateLimitsOptions" json:"vh_rate_limits,omitempty"` // Specifies if the rate limit filter should include the lower levels (route level, virtual host level or cluster weight level) rate limits override options. // [#not-implemented-hide:] OverrideOption RateLimitPerRoute_OverrideOptions `protobuf:"varint,2,opt,name=override_option,json=overrideOption,proto3,enum=envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute_OverrideOptions" json:"override_option,omitempty"` // Rate limit configuration. If not set, uses the // :ref:`VirtualHost.rate_limits` or // :ref:`RouteAction.rate_limits` fields instead. // [#not-implemented-hide:] RateLimits []*RateLimitConfig `protobuf:"bytes,3,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Overrides the domain. If not set, uses the filter-level domain instead. Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *RateLimitPerRoute) Reset() { *x = RateLimitPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitPerRoute) ProtoMessage() {} func (x *RateLimitPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitPerRoute.ProtoReflect.Descriptor instead. func (*RateLimitPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{2} } func (x *RateLimitPerRoute) GetVhRateLimits() RateLimitPerRoute_VhRateLimitsOptions { if x != nil { return x.VhRateLimits } return RateLimitPerRoute_OVERRIDE } func (x *RateLimitPerRoute) GetOverrideOption() RateLimitPerRoute_OverrideOptions { if x != nil { return x.OverrideOption } return RateLimitPerRoute_DEFAULT } func (x *RateLimitPerRoute) GetRateLimits() []*RateLimitConfig { if x != nil { return x.RateLimits } return nil } func (x *RateLimitPerRoute) GetDomain() string { if x != nil { return x.Domain } return "" } // [#next-free-field: 10] type RateLimitConfig_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ActionSpecifier: // // *RateLimitConfig_Action_SourceCluster_ // *RateLimitConfig_Action_DestinationCluster_ // *RateLimitConfig_Action_RequestHeaders_ // *RateLimitConfig_Action_RemoteAddress_ // *RateLimitConfig_Action_GenericKey_ // *RateLimitConfig_Action_HeaderValueMatch_ // *RateLimitConfig_Action_Metadata // *RateLimitConfig_Action_Extension ActionSpecifier isRateLimitConfig_Action_ActionSpecifier `protobuf_oneof:"action_specifier"` } func (x *RateLimitConfig_Action) Reset() { *x = RateLimitConfig_Action{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action) ProtoMessage() {} func (x *RateLimitConfig_Action) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0} } func (m *RateLimitConfig_Action) GetActionSpecifier() isRateLimitConfig_Action_ActionSpecifier { if m != nil { return m.ActionSpecifier } return nil } func (x *RateLimitConfig_Action) GetSourceCluster() *RateLimitConfig_Action_SourceCluster { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_SourceCluster_); ok { return x.SourceCluster } return nil } func (x *RateLimitConfig_Action) GetDestinationCluster() *RateLimitConfig_Action_DestinationCluster { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_DestinationCluster_); ok { return x.DestinationCluster } return nil } func (x *RateLimitConfig_Action) GetRequestHeaders() *RateLimitConfig_Action_RequestHeaders { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_RequestHeaders_); ok { return x.RequestHeaders } return nil } func (x *RateLimitConfig_Action) GetRemoteAddress() *RateLimitConfig_Action_RemoteAddress { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_RemoteAddress_); ok { return x.RemoteAddress } return nil } func (x *RateLimitConfig_Action) GetGenericKey() *RateLimitConfig_Action_GenericKey { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_GenericKey_); ok { return x.GenericKey } return nil } func (x *RateLimitConfig_Action) GetHeaderValueMatch() *RateLimitConfig_Action_HeaderValueMatch { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_HeaderValueMatch_); ok { return x.HeaderValueMatch } return nil } func (x *RateLimitConfig_Action) GetMetadata() *RateLimitConfig_Action_MetaData { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_Metadata); ok { return x.Metadata } return nil } func (x *RateLimitConfig_Action) GetExtension() *v32.TypedExtensionConfig { if x, ok := x.GetActionSpecifier().(*RateLimitConfig_Action_Extension); ok { return x.Extension } return nil } type isRateLimitConfig_Action_ActionSpecifier interface { isRateLimitConfig_Action_ActionSpecifier() } type RateLimitConfig_Action_SourceCluster_ struct { // Rate limit on source cluster. SourceCluster *RateLimitConfig_Action_SourceCluster `protobuf:"bytes,1,opt,name=source_cluster,json=sourceCluster,proto3,oneof"` } type RateLimitConfig_Action_DestinationCluster_ struct { // Rate limit on destination cluster. DestinationCluster *RateLimitConfig_Action_DestinationCluster `protobuf:"bytes,2,opt,name=destination_cluster,json=destinationCluster,proto3,oneof"` } type RateLimitConfig_Action_RequestHeaders_ struct { // Rate limit on request headers. RequestHeaders *RateLimitConfig_Action_RequestHeaders `protobuf:"bytes,3,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type RateLimitConfig_Action_RemoteAddress_ struct { // Rate limit on remote address. RemoteAddress *RateLimitConfig_Action_RemoteAddress `protobuf:"bytes,4,opt,name=remote_address,json=remoteAddress,proto3,oneof"` } type RateLimitConfig_Action_GenericKey_ struct { // Rate limit on a generic key. GenericKey *RateLimitConfig_Action_GenericKey `protobuf:"bytes,5,opt,name=generic_key,json=genericKey,proto3,oneof"` } type RateLimitConfig_Action_HeaderValueMatch_ struct { // Rate limit on the existence of request headers. HeaderValueMatch *RateLimitConfig_Action_HeaderValueMatch `protobuf:"bytes,6,opt,name=header_value_match,json=headerValueMatch,proto3,oneof"` } type RateLimitConfig_Action_Metadata struct { // Rate limit on metadata. Metadata *RateLimitConfig_Action_MetaData `protobuf:"bytes,8,opt,name=metadata,proto3,oneof"` } type RateLimitConfig_Action_Extension struct { // Rate limit descriptor extension. See the rate limit descriptor extensions documentation. // [#extension-category: envoy.rate_limit_descriptors] Extension *v32.TypedExtensionConfig `protobuf:"bytes,9,opt,name=extension,proto3,oneof"` } func (*RateLimitConfig_Action_SourceCluster_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_DestinationCluster_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_RequestHeaders_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_RemoteAddress_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_GenericKey_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_HeaderValueMatch_) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_Metadata) isRateLimitConfig_Action_ActionSpecifier() {} func (*RateLimitConfig_Action_Extension) isRateLimitConfig_Action_ActionSpecifier() {} type RateLimitConfig_Override struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to OverrideSpecifier: // // *RateLimitConfig_Override_DynamicMetadata_ OverrideSpecifier isRateLimitConfig_Override_OverrideSpecifier `protobuf_oneof:"override_specifier"` } func (x *RateLimitConfig_Override) Reset() { *x = RateLimitConfig_Override{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Override) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Override) ProtoMessage() {} func (x *RateLimitConfig_Override) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Override.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Override) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 1} } func (m *RateLimitConfig_Override) GetOverrideSpecifier() isRateLimitConfig_Override_OverrideSpecifier { if m != nil { return m.OverrideSpecifier } return nil } func (x *RateLimitConfig_Override) GetDynamicMetadata() *RateLimitConfig_Override_DynamicMetadata { if x, ok := x.GetOverrideSpecifier().(*RateLimitConfig_Override_DynamicMetadata_); ok { return x.DynamicMetadata } return nil } type isRateLimitConfig_Override_OverrideSpecifier interface { isRateLimitConfig_Override_OverrideSpecifier() } type RateLimitConfig_Override_DynamicMetadata_ struct { // Limit override from dynamic metadata. DynamicMetadata *RateLimitConfig_Override_DynamicMetadata `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` } func (*RateLimitConfig_Override_DynamicMetadata_) isRateLimitConfig_Override_OverrideSpecifier() {} // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("source_cluster", "") // // is derived from the :option:`--service-cluster` option. type RateLimitConfig_Action_SourceCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimitConfig_Action_SourceCluster) Reset() { *x = RateLimitConfig_Action_SourceCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_SourceCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_SourceCluster) ProtoMessage() {} func (x *RateLimitConfig_Action_SourceCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_SourceCluster.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_SourceCluster) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 0} } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("destination_cluster", "") // // Once a request matches against a route table rule, a routed cluster is determined by one of // the following :ref:`route table configuration ` // settings: // // - :ref:`cluster ` indicates the upstream cluster // to route to. // - :ref:`weighted_clusters ` // chooses a cluster randomly from a set of clusters with attributed weight. // - :ref:`cluster_header ` indicates which // header in the request contains the target cluster. type RateLimitConfig_Action_DestinationCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimitConfig_Action_DestinationCluster) Reset() { *x = RateLimitConfig_Action_DestinationCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_DestinationCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_DestinationCluster) ProtoMessage() {} func (x *RateLimitConfig_Action_DestinationCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_DestinationCluster.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_DestinationCluster) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 1} } // The following descriptor entry is appended when a header contains a key that matches the // “header_name“: // // .. code-block:: cpp // // ("", "") type RateLimitConfig_Action_RequestHeaders struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header name to be queried from the request headers. The header’s // value is used to populate the value of the descriptor entry for the // descriptor_key. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // If set to true, Envoy skips the descriptor while calling rate limiting service // when header is not present in the request. By default it skips calling the // rate limiting service if this header is not present in the request. SkipIfAbsent bool `protobuf:"varint,3,opt,name=skip_if_absent,json=skipIfAbsent,proto3" json:"skip_if_absent,omitempty"` } func (x *RateLimitConfig_Action_RequestHeaders) Reset() { *x = RateLimitConfig_Action_RequestHeaders{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_RequestHeaders) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_RequestHeaders) ProtoMessage() {} func (x *RateLimitConfig_Action_RequestHeaders) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_RequestHeaders.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_RequestHeaders) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 2} } func (x *RateLimitConfig_Action_RequestHeaders) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *RateLimitConfig_Action_RequestHeaders) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimitConfig_Action_RequestHeaders) GetSkipIfAbsent() bool { if x != nil { return x.SkipIfAbsent } return false } // The following descriptor entry is appended to the descriptor and is populated using the // trusted address from :ref:`x-forwarded-for `: // // .. code-block:: cpp // // ("remote_address", "") type RateLimitConfig_Action_RemoteAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimitConfig_Action_RemoteAddress) Reset() { *x = RateLimitConfig_Action_RemoteAddress{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_RemoteAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_RemoteAddress) ProtoMessage() {} func (x *RateLimitConfig_Action_RemoteAddress) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_RemoteAddress.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_RemoteAddress) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 3} } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("generic_key", "") type RateLimitConfig_Action_GenericKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // An optional key to use in the descriptor entry. If not set it defaults // to 'generic_key' as the descriptor key. DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` } func (x *RateLimitConfig_Action_GenericKey) Reset() { *x = RateLimitConfig_Action_GenericKey{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_GenericKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_GenericKey) ProtoMessage() {} func (x *RateLimitConfig_Action_GenericKey) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_GenericKey.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_GenericKey) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 4} } func (x *RateLimitConfig_Action_GenericKey) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimitConfig_Action_GenericKey) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp // // ("header_match", "") type RateLimitConfig_Action_HeaderValueMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The value to use in the descriptor entry. DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // If set to true, the action will append a descriptor entry when the // request matches the headers. If set to false, the action will append a // descriptor entry when the request does not match the headers. The // default value is true. ExpectMatch bool `protobuf:"varint,2,opt,name=expect_match,json=expectMatch,proto3" json:"expect_match,omitempty"` // Specifies a set of headers that the rate limit action should match // on. The action will check the request’s headers against all the // specified headers in the config. A match will happen if all the // headers in the config are present in the request with the same values // (or based on presence if the value field is not in the config). Headers []*v33.HeaderMatcher `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RateLimitConfig_Action_HeaderValueMatch) Reset() { *x = RateLimitConfig_Action_HeaderValueMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_HeaderValueMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_HeaderValueMatch) ProtoMessage() {} func (x *RateLimitConfig_Action_HeaderValueMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_HeaderValueMatch.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_HeaderValueMatch) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 5} } func (x *RateLimitConfig_Action_HeaderValueMatch) GetDescriptorValue() string { if x != nil { return x.DescriptorValue } return "" } func (x *RateLimitConfig_Action_HeaderValueMatch) GetExpectMatch() bool { if x != nil { return x.ExpectMatch } return false } func (x *RateLimitConfig_Action_HeaderValueMatch) GetHeaders() []*v33.HeaderMatcher { if x != nil { return x.Headers } return nil } // The following descriptor entry is appended when the metadata contains a key value: // // .. code-block:: cpp // // ("", "") // // [#next-free-field: 6] type RateLimitConfig_Action_MetaData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,1,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // Metadata struct that defines the key and path to retrieve the string value. A match will // only happen if the value in the metadata is of type string. MetadataKey *v34.MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // An optional value to use if “metadata_key“ is empty. If not set and // no value is present under the metadata_key then “skip_if_absent“ is followed to // skip calling the rate limiting service or skip the descriptor. DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // Source of metadata Source RateLimitConfig_Action_MetaData_Source `protobuf:"varint,4,opt,name=source,proto3,enum=envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig_Action_MetaData_Source" json:"source,omitempty"` // If set to true, Envoy skips the descriptor while calling rate limiting service // when “metadata_key“ is empty and “default_value“ is not set. By default it skips calling the // rate limiting service in that case. SkipIfAbsent bool `protobuf:"varint,5,opt,name=skip_if_absent,json=skipIfAbsent,proto3" json:"skip_if_absent,omitempty"` } func (x *RateLimitConfig_Action_MetaData) Reset() { *x = RateLimitConfig_Action_MetaData{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Action_MetaData) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Action_MetaData) ProtoMessage() {} func (x *RateLimitConfig_Action_MetaData) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Action_MetaData.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Action_MetaData) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 0, 6} } func (x *RateLimitConfig_Action_MetaData) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *RateLimitConfig_Action_MetaData) GetMetadataKey() *v34.MetadataKey { if x != nil { return x.MetadataKey } return nil } func (x *RateLimitConfig_Action_MetaData) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } func (x *RateLimitConfig_Action_MetaData) GetSource() RateLimitConfig_Action_MetaData_Source { if x != nil { return x.Source } return RateLimitConfig_Action_MetaData_DYNAMIC } func (x *RateLimitConfig_Action_MetaData) GetSkipIfAbsent() bool { if x != nil { return x.SkipIfAbsent } return false } // Fetches the override from the dynamic metadata. type RateLimitConfig_Override_DynamicMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Metadata struct that defines the key and path to retrieve the struct value. // The value must be a struct containing an integer "requests_per_unit" property // and a "unit" property with a value parseable to :ref:`RateLimitUnit // enum ` MetadataKey *v34.MetadataKey `protobuf:"bytes,1,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` } func (x *RateLimitConfig_Override_DynamicMetadata) Reset() { *x = RateLimitConfig_Override_DynamicMetadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig_Override_DynamicMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig_Override_DynamicMetadata) ProtoMessage() {} func (x *RateLimitConfig_Override_DynamicMetadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig_Override_DynamicMetadata.ProtoReflect.Descriptor instead. func (*RateLimitConfig_Override_DynamicMetadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{1, 1, 0} } func (x *RateLimitConfig_Override_DynamicMetadata) GetMetadataKey() *v34.MetadataKey { if x != nil { return x.MetadataKey } return nil } var File_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x08, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xfa, 0x42, 0x1e, 0x72, 0x1c, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x04, 0x62, 0x6f, 0x74, 0x68, 0x52, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x4a, 0x0a, 0x22, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x41, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x58, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x46, 0x43, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x13, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x11, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x68, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x0a, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x3c, 0x0a, 0x1b, 0x58, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x46, 0x43, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x30, 0x33, 0x10, 0x01, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe0, 0x12, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x66, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0xb7, 0x0e, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x88, 0x01, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x7c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x79, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x70, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x83, 0x01, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x69, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x96, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x41, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x1a, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x67, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x1a, 0xb3, 0x01, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xf5, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x74, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x41, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x01, 0x42, 0x17, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x8e, 0x02, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x63, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x42, 0x19, 0x0a, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xaa, 0x04, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0e, 0x76, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x76, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x13, 0x56, 0x68, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0f, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x03, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescData = file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDesc ) func file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescData) }) return file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDescData } var file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_goTypes = []interface{}{ (RateLimit_XRateLimitHeadersRFCVersion)(0), // 0: envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion (RateLimitConfig_Action_MetaData_Source)(0), // 1: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData.Source (RateLimitPerRoute_VhRateLimitsOptions)(0), // 2: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.VhRateLimitsOptions (RateLimitPerRoute_OverrideOptions)(0), // 3: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.OverrideOptions (*RateLimit)(nil), // 4: envoy.extensions.filters.http.ratelimit.v3.RateLimit (*RateLimitConfig)(nil), // 5: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig (*RateLimitPerRoute)(nil), // 6: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute (*RateLimitConfig_Action)(nil), // 7: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action (*RateLimitConfig_Override)(nil), // 8: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override (*RateLimitConfig_Action_SourceCluster)(nil), // 9: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.SourceCluster (*RateLimitConfig_Action_DestinationCluster)(nil), // 10: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.DestinationCluster (*RateLimitConfig_Action_RequestHeaders)(nil), // 11: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.RequestHeaders (*RateLimitConfig_Action_RemoteAddress)(nil), // 12: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.RemoteAddress (*RateLimitConfig_Action_GenericKey)(nil), // 13: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.GenericKey (*RateLimitConfig_Action_HeaderValueMatch)(nil), // 14: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.HeaderValueMatch (*RateLimitConfig_Action_MetaData)(nil), // 15: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData (*RateLimitConfig_Override_DynamicMetadata)(nil), // 16: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override.DynamicMetadata (*duration.Duration)(nil), // 17: google.protobuf.Duration (*v3.RateLimitServiceConfig)(nil), // 18: envoy.config.ratelimit.v3.RateLimitServiceConfig (*v31.HttpStatus)(nil), // 19: envoy.type.v3.HttpStatus (*v32.HeaderValueOption)(nil), // 20: envoy.config.core.v3.HeaderValueOption (*v32.TypedExtensionConfig)(nil), // 21: envoy.config.core.v3.TypedExtensionConfig (*v33.HeaderMatcher)(nil), // 22: envoy.config.route.v3.HeaderMatcher (*v34.MetadataKey)(nil), // 23: envoy.type.metadata.v3.MetadataKey } var file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_depIdxs = []int32{ 17, // 0: envoy.extensions.filters.http.ratelimit.v3.RateLimit.timeout:type_name -> google.protobuf.Duration 18, // 1: envoy.extensions.filters.http.ratelimit.v3.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v3.RateLimitServiceConfig 0, // 2: envoy.extensions.filters.http.ratelimit.v3.RateLimit.enable_x_ratelimit_headers:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion 19, // 3: envoy.extensions.filters.http.ratelimit.v3.RateLimit.rate_limited_status:type_name -> envoy.type.v3.HttpStatus 20, // 4: envoy.extensions.filters.http.ratelimit.v3.RateLimit.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 19, // 5: envoy.extensions.filters.http.ratelimit.v3.RateLimit.status_on_error:type_name -> envoy.type.v3.HttpStatus 7, // 6: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.actions:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action 8, // 7: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.limit:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override 2, // 8: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.vh_rate_limits:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.VhRateLimitsOptions 3, // 9: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.override_option:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.OverrideOptions 5, // 10: envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig 9, // 11: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.source_cluster:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.SourceCluster 10, // 12: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.destination_cluster:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.DestinationCluster 11, // 13: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.request_headers:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.RequestHeaders 12, // 14: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.remote_address:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.RemoteAddress 13, // 15: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.generic_key:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.GenericKey 14, // 16: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.header_value_match:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.HeaderValueMatch 15, // 17: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.metadata:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData 21, // 18: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig 16, // 19: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override.dynamic_metadata:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override.DynamicMetadata 22, // 20: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.HeaderValueMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 23, // 21: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 1, // 22: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData.source:type_name -> envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Action.MetaData.Source 23, // 23: envoy.extensions.filters.http.ratelimit.v3.RateLimitConfig.Override.DynamicMetadata.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 24, // [24:24] is the sub-list for method output_type 24, // [24:24] is the sub-list for method input_type 24, // [24:24] is the sub-list for extension type_name 24, // [24:24] is the sub-list for extension extendee 0, // [0:24] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_init() } func file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_init() { if File_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Override); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_SourceCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_DestinationCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_RequestHeaders); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_RemoteAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_GenericKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_HeaderValueMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Action_MetaData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig_Override_DynamicMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RateLimitConfig_Action_SourceCluster_)(nil), (*RateLimitConfig_Action_DestinationCluster_)(nil), (*RateLimitConfig_Action_RequestHeaders_)(nil), (*RateLimitConfig_Action_RemoteAddress_)(nil), (*RateLimitConfig_Action_GenericKey_)(nil), (*RateLimitConfig_Action_HeaderValueMatch_)(nil), (*RateLimitConfig_Action_Metadata)(nil), (*RateLimitConfig_Action_Extension)(nil), } file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes[4].OneofWrappers = []interface{}{ (*RateLimitConfig_Override_DynamicMetadata_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDesc, NumEnums: 4, NumMessages: 13, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto = out.File file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_rawDesc = nil file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_goTypes = nil file_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/ratelimit/v3/rate_limit.pb.validate.go000077500000000000000000002056651454502223200321520ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetStage() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } if _, ok := _RateLimit_RequestType_InLookup[m.GetRequestType()]; !ok { err := RateLimitValidationError{ field: "RequestType", reason: "value must be in list [internal external both ]", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny // no validation rules for RateLimitedAsResourceExhausted if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if _, ok := RateLimit_XRateLimitHeadersRFCVersion_name[int32(m.GetEnableXRatelimitHeaders())]; !ok { err := RateLimitValidationError{ field: "EnableXRatelimitHeaders", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for DisableXEnvoyRatelimitedHeader if all { switch v := interface{}(m.GetRateLimitedStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitedStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitedStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitedStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitedStatus", reason: "embedded message failed validation", cause: err, } } } if len(m.GetResponseHeadersToAdd()) > 10 { err := RateLimitValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 10 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetStatusOnError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatusOnError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "StatusOnError", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StatPrefix if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} var _RateLimit_RequestType_InLookup = map[string]struct{}{ "internal": {}, "external": {}, "both": {}, "": {}, } // Validate checks the field values on RateLimitConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitConfigMultiError, or nil if none found. func (m *RateLimitConfig) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetStage() > 10 { err := RateLimitConfigValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } // no validation rules for DisableKey if len(m.GetActions()) < 1 { err := RateLimitConfigValidationError{ field: "Actions", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetActions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfigValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfigValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfigValidationError{ field: fmt.Sprintf("Actions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfigValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfigValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfigValidationError{ field: "Limit", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitConfigMultiError(errors) } return nil } // RateLimitConfigMultiError is an error wrapping multiple validation errors // returned by RateLimitConfig.ValidateAll() if the designated constraints // aren't met. type RateLimitConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfigMultiError) AllErrors() []error { return m } // RateLimitConfigValidationError is the validation error returned by // RateLimitConfig.Validate if the designated constraints aren't met. type RateLimitConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfigValidationError) ErrorName() string { return "RateLimitConfigValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfigValidationError{} // Validate checks the field values on RateLimitPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitPerRouteMultiError, or nil if none found. func (m *RateLimitPerRoute) ValidateAll() error { return m.validate(true) } func (m *RateLimitPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RateLimitPerRoute_VhRateLimitsOptions_name[int32(m.GetVhRateLimits())]; !ok { err := RateLimitPerRouteValidationError{ field: "VhRateLimits", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := RateLimitPerRoute_OverrideOptions_name[int32(m.GetOverrideOption())]; !ok { err := RateLimitPerRouteValidationError{ field: "OverrideOption", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitPerRouteValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitPerRouteValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitPerRouteValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Domain if len(errors) > 0 { return RateLimitPerRouteMultiError(errors) } return nil } // RateLimitPerRouteMultiError is an error wrapping multiple validation errors // returned by RateLimitPerRoute.ValidateAll() if the designated constraints // aren't met. type RateLimitPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitPerRouteMultiError) AllErrors() []error { return m } // RateLimitPerRouteValidationError is the validation error returned by // RateLimitPerRoute.Validate if the designated constraints aren't met. type RateLimitPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitPerRouteValidationError) ErrorName() string { return "RateLimitPerRouteValidationError" } // Error satisfies the builtin error interface func (e RateLimitPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitPerRouteValidationError{} // Validate checks the field values on RateLimitConfig_Action with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitConfig_Action) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitConfig_ActionMultiError, or nil if none found. func (m *RateLimitConfig_Action) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action) validate(all bool) error { if m == nil { return nil } var errors []error oneofActionSpecifierPresent := false switch v := m.ActionSpecifier.(type) { case *RateLimitConfig_Action_SourceCluster_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetSourceCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "SourceCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_DestinationCluster_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetDestinationCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestinationCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "DestinationCluster", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_RequestHeaders_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_RemoteAddress_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "RemoteAddress", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_GenericKey_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetGenericKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "GenericKey", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_HeaderValueMatch_: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetHeaderValueMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValueMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "HeaderValueMatch", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_Metadata: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } case *RateLimitConfig_Action_Extension: if v == nil { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofActionSpecifierPresent = true if all { switch v := interface{}(m.GetExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_ActionValidationError{ field: "Extension", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofActionSpecifierPresent { err := RateLimitConfig_ActionValidationError{ field: "ActionSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitConfig_ActionMultiError(errors) } return nil } // RateLimitConfig_ActionMultiError is an error wrapping multiple validation // errors returned by RateLimitConfig_Action.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_ActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_ActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_ActionMultiError) AllErrors() []error { return m } // RateLimitConfig_ActionValidationError is the validation error returned by // RateLimitConfig_Action.Validate if the designated constraints aren't met. type RateLimitConfig_ActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_ActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_ActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_ActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_ActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_ActionValidationError) ErrorName() string { return "RateLimitConfig_ActionValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_ActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_ActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_ActionValidationError{} // Validate checks the field values on RateLimitConfig_Override with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitConfig_Override) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Override with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitConfig_OverrideMultiError, or nil if none found. func (m *RateLimitConfig_Override) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Override) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverrideSpecifierPresent := false switch v := m.OverrideSpecifier.(type) { case *RateLimitConfig_Override_DynamicMetadata_: if v == nil { err := RateLimitConfig_OverrideValidationError{ field: "OverrideSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverrideSpecifierPresent = true if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_OverrideValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverrideSpecifierPresent { err := RateLimitConfig_OverrideValidationError{ field: "OverrideSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitConfig_OverrideMultiError(errors) } return nil } // RateLimitConfig_OverrideMultiError is an error wrapping multiple validation // errors returned by RateLimitConfig_Override.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_OverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_OverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_OverrideMultiError) AllErrors() []error { return m } // RateLimitConfig_OverrideValidationError is the validation error returned by // RateLimitConfig_Override.Validate if the designated constraints aren't met. type RateLimitConfig_OverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_OverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_OverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_OverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_OverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_OverrideValidationError) ErrorName() string { return "RateLimitConfig_OverrideValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_OverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Override.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_OverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_OverrideValidationError{} // Validate checks the field values on RateLimitConfig_Action_SourceCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitConfig_Action_SourceCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action_SourceCluster // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitConfig_Action_SourceClusterMultiError, or nil if none found. func (m *RateLimitConfig_Action_SourceCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_SourceCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimitConfig_Action_SourceClusterMultiError(errors) } return nil } // RateLimitConfig_Action_SourceClusterMultiError is an error wrapping multiple // validation errors returned by // RateLimitConfig_Action_SourceCluster.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_SourceClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_SourceClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_SourceClusterMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_SourceClusterValidationError is the validation error // returned by RateLimitConfig_Action_SourceCluster.Validate if the designated // constraints aren't met. type RateLimitConfig_Action_SourceClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_SourceClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_SourceClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_SourceClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_SourceClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_SourceClusterValidationError) ErrorName() string { return "RateLimitConfig_Action_SourceClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_SourceClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_SourceCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_SourceClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_SourceClusterValidationError{} // Validate checks the field values on // RateLimitConfig_Action_DestinationCluster with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitConfig_Action_DestinationCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitConfig_Action_DestinationCluster with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RateLimitConfig_Action_DestinationClusterMultiError, or nil if none found. func (m *RateLimitConfig_Action_DestinationCluster) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_DestinationCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimitConfig_Action_DestinationClusterMultiError(errors) } return nil } // RateLimitConfig_Action_DestinationClusterMultiError is an error wrapping // multiple validation errors returned by // RateLimitConfig_Action_DestinationCluster.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_DestinationClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_DestinationClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_DestinationClusterMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_DestinationClusterValidationError is the validation // error returned by RateLimitConfig_Action_DestinationCluster.Validate if the // designated constraints aren't met. type RateLimitConfig_Action_DestinationClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_DestinationClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_DestinationClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_DestinationClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_DestinationClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_DestinationClusterValidationError) ErrorName() string { return "RateLimitConfig_Action_DestinationClusterValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_DestinationClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_DestinationCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_DestinationClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_DestinationClusterValidationError{} // Validate checks the field values on RateLimitConfig_Action_RequestHeaders // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitConfig_Action_RequestHeaders) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action_RequestHeaders // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitConfig_Action_RequestHeadersMultiError, or nil if none found. func (m *RateLimitConfig_Action_RequestHeaders) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_RequestHeaders) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeaderName()) < 1 { err := RateLimitConfig_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RateLimitConfig_Action_RequestHeaders_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := RateLimitConfig_Action_RequestHeadersValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := RateLimitConfig_Action_RequestHeadersValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for SkipIfAbsent if len(errors) > 0 { return RateLimitConfig_Action_RequestHeadersMultiError(errors) } return nil } // RateLimitConfig_Action_RequestHeadersMultiError is an error wrapping // multiple validation errors returned by // RateLimitConfig_Action_RequestHeaders.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_RequestHeadersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_RequestHeadersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_RequestHeadersMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_RequestHeadersValidationError is the validation error // returned by RateLimitConfig_Action_RequestHeaders.Validate if the // designated constraints aren't met. type RateLimitConfig_Action_RequestHeadersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_RequestHeadersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_RequestHeadersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_RequestHeadersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_RequestHeadersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_RequestHeadersValidationError) ErrorName() string { return "RateLimitConfig_Action_RequestHeadersValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_RequestHeadersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_RequestHeaders.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_RequestHeadersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_RequestHeadersValidationError{} var _RateLimitConfig_Action_RequestHeaders_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RateLimitConfig_Action_RemoteAddress // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitConfig_Action_RemoteAddress) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action_RemoteAddress // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitConfig_Action_RemoteAddressMultiError, or nil if none found. func (m *RateLimitConfig_Action_RemoteAddress) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_RemoteAddress) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimitConfig_Action_RemoteAddressMultiError(errors) } return nil } // RateLimitConfig_Action_RemoteAddressMultiError is an error wrapping multiple // validation errors returned by // RateLimitConfig_Action_RemoteAddress.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_RemoteAddressMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_RemoteAddressMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_RemoteAddressMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_RemoteAddressValidationError is the validation error // returned by RateLimitConfig_Action_RemoteAddress.Validate if the designated // constraints aren't met. type RateLimitConfig_Action_RemoteAddressValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_RemoteAddressValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_RemoteAddressValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_RemoteAddressValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_RemoteAddressValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_RemoteAddressValidationError) ErrorName() string { return "RateLimitConfig_Action_RemoteAddressValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_RemoteAddressValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_RemoteAddress.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_RemoteAddressValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_RemoteAddressValidationError{} // Validate checks the field values on RateLimitConfig_Action_GenericKey with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimitConfig_Action_GenericKey) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action_GenericKey // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitConfig_Action_GenericKeyMultiError, or nil if none found. func (m *RateLimitConfig_Action_GenericKey) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_GenericKey) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { err := RateLimitConfig_Action_GenericKeyValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for DescriptorKey if len(errors) > 0 { return RateLimitConfig_Action_GenericKeyMultiError(errors) } return nil } // RateLimitConfig_Action_GenericKeyMultiError is an error wrapping multiple // validation errors returned by // RateLimitConfig_Action_GenericKey.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_GenericKeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_GenericKeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_GenericKeyMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_GenericKeyValidationError is the validation error // returned by RateLimitConfig_Action_GenericKey.Validate if the designated // constraints aren't met. type RateLimitConfig_Action_GenericKeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_GenericKeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_GenericKeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_GenericKeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_GenericKeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_GenericKeyValidationError) ErrorName() string { return "RateLimitConfig_Action_GenericKeyValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_GenericKeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_GenericKey.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_GenericKeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_GenericKeyValidationError{} // Validate checks the field values on RateLimitConfig_Action_HeaderValueMatch // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitConfig_Action_HeaderValueMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitConfig_Action_HeaderValueMatch with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // RateLimitConfig_Action_HeaderValueMatchMultiError, or nil if none found. func (m *RateLimitConfig_Action_HeaderValueMatch) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_HeaderValueMatch) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { err := RateLimitConfig_Action_HeaderValueMatchValidationError{ field: "DescriptorValue", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for ExpectMatch if len(m.GetHeaders()) < 1 { err := RateLimitConfig_Action_HeaderValueMatchValidationError{ field: "Headers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_Action_HeaderValueMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitConfig_Action_HeaderValueMatchMultiError(errors) } return nil } // RateLimitConfig_Action_HeaderValueMatchMultiError is an error wrapping // multiple validation errors returned by // RateLimitConfig_Action_HeaderValueMatch.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Action_HeaderValueMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_HeaderValueMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_HeaderValueMatchMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_HeaderValueMatchValidationError is the validation // error returned by RateLimitConfig_Action_HeaderValueMatch.Validate if the // designated constraints aren't met. type RateLimitConfig_Action_HeaderValueMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_HeaderValueMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_HeaderValueMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_HeaderValueMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_HeaderValueMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_HeaderValueMatchValidationError) ErrorName() string { return "RateLimitConfig_Action_HeaderValueMatchValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_HeaderValueMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_HeaderValueMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_HeaderValueMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_HeaderValueMatchValidationError{} // Validate checks the field values on RateLimitConfig_Action_MetaData with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitConfig_Action_MetaData) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitConfig_Action_MetaData with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RateLimitConfig_Action_MetaDataMultiError, or nil if none found. func (m *RateLimitConfig_Action_MetaData) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Action_MetaData) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := RateLimitConfig_Action_MetaDataValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetMetadataKey() == nil { err := RateLimitConfig_Action_MetaDataValidationError{ field: "MetadataKey", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_Action_MetaDataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultValue if _, ok := RateLimitConfig_Action_MetaData_Source_name[int32(m.GetSource())]; !ok { err := RateLimitConfig_Action_MetaDataValidationError{ field: "Source", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for SkipIfAbsent if len(errors) > 0 { return RateLimitConfig_Action_MetaDataMultiError(errors) } return nil } // RateLimitConfig_Action_MetaDataMultiError is an error wrapping multiple // validation errors returned by RateLimitConfig_Action_MetaData.ValidateAll() // if the designated constraints aren't met. type RateLimitConfig_Action_MetaDataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Action_MetaDataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Action_MetaDataMultiError) AllErrors() []error { return m } // RateLimitConfig_Action_MetaDataValidationError is the validation error // returned by RateLimitConfig_Action_MetaData.Validate if the designated // constraints aren't met. type RateLimitConfig_Action_MetaDataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Action_MetaDataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Action_MetaDataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Action_MetaDataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Action_MetaDataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Action_MetaDataValidationError) ErrorName() string { return "RateLimitConfig_Action_MetaDataValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Action_MetaDataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Action_MetaData.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Action_MetaDataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Action_MetaDataValidationError{} // Validate checks the field values on RateLimitConfig_Override_DynamicMetadata // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitConfig_Override_DynamicMetadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitConfig_Override_DynamicMetadata with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RateLimitConfig_Override_DynamicMetadataMultiError, or nil if none found. func (m *RateLimitConfig_Override_DynamicMetadata) ValidateAll() error { return m.validate(true) } func (m *RateLimitConfig_Override_DynamicMetadata) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMetadataKey() == nil { err := RateLimitConfig_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitConfig_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitConfig_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitConfig_Override_DynamicMetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitConfig_Override_DynamicMetadataMultiError(errors) } return nil } // RateLimitConfig_Override_DynamicMetadataMultiError is an error wrapping // multiple validation errors returned by // RateLimitConfig_Override_DynamicMetadata.ValidateAll() if the designated // constraints aren't met. type RateLimitConfig_Override_DynamicMetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitConfig_Override_DynamicMetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitConfig_Override_DynamicMetadataMultiError) AllErrors() []error { return m } // RateLimitConfig_Override_DynamicMetadataValidationError is the validation // error returned by RateLimitConfig_Override_DynamicMetadata.Validate if the // designated constraints aren't met. type RateLimitConfig_Override_DynamicMetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitConfig_Override_DynamicMetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitConfig_Override_DynamicMetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitConfig_Override_DynamicMetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitConfig_Override_DynamicMetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitConfig_Override_DynamicMetadataValidationError) ErrorName() string { return "RateLimitConfig_Override_DynamicMetadataValidationError" } // Error satisfies the builtin error interface func (e RateLimitConfig_Override_DynamicMetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitConfig_Override_DynamicMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitConfig_Override_DynamicMetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitConfig_Override_DynamicMetadataValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/rbac/000077500000000000000000000000001454502223200236465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/rbac/v3/000077500000000000000000000000001454502223200241765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/rbac/v3/rbac.pb.go000077500000000000000000000366011454502223200260450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/rbac/v3/rbac.proto package rbacv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v31 "github.com/cncf/xds/go/xds/type/matcher/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/rbac/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // RBAC filter config. // [#next-free-field: 6] type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the RBAC rules to be applied globally. // If absent, no enforcing RBAC policy will be applied. // If present and empty, DENY. // If both rules and matcher are configured, rules will be ignored. Rules *v3.RBAC `protobuf:"bytes,1,opt,name=rules,proto3" json:"rules,omitempty"` // The match tree to use when resolving RBAC action for incoming requests. Requests do not // match any matcher will be denied. // If absent, no enforcing RBAC matcher will be applied. // If present and empty, deny all requests. Matcher *v31.Matcher `protobuf:"bytes,4,opt,name=matcher,proto3" json:"matcher,omitempty"` // Shadow rules are not enforced by the filter (i.e., returning a 403) // but will emit stats and logs and can be used for rule testing. // If absent, no shadow RBAC policy will be applied. // If both shadow rules and shadow matcher are configured, shadow rules will be ignored. ShadowRules *v3.RBAC `protobuf:"bytes,2,opt,name=shadow_rules,json=shadowRules,proto3" json:"shadow_rules,omitempty"` // The match tree to use for emitting stats and logs which can be used for rule testing for // incoming requests. // If absent, no shadow matcher will be applied. ShadowMatcher *v31.Matcher `protobuf:"bytes,5,opt,name=shadow_matcher,json=shadowMatcher,proto3" json:"shadow_matcher,omitempty"` // If specified, shadow rules will emit stats with the given prefix. // This is useful to distinguish the stat when there are more than 1 RBAC filter configured with // shadow rules. ShadowRulesStatPrefix string `protobuf:"bytes,3,opt,name=shadow_rules_stat_prefix,json=shadowRulesStatPrefix,proto3" json:"shadow_rules_stat_prefix,omitempty"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetRules() *v3.RBAC { if x != nil { return x.Rules } return nil } func (x *RBAC) GetMatcher() *v31.Matcher { if x != nil { return x.Matcher } return nil } func (x *RBAC) GetShadowRules() *v3.RBAC { if x != nil { return x.ShadowRules } return nil } func (x *RBAC) GetShadowMatcher() *v31.Matcher { if x != nil { return x.ShadowMatcher } return nil } func (x *RBAC) GetShadowRulesStatPrefix() string { if x != nil { return x.ShadowRulesStatPrefix } return "" } type RBACPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Override the global configuration of the filter with this new config. // If absent, the global RBAC policy will be disabled for this route. Rbac *RBAC `protobuf:"bytes,2,opt,name=rbac,proto3" json:"rbac,omitempty"` } func (x *RBACPerRoute) Reset() { *x = RBACPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBACPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBACPerRoute) ProtoMessage() {} func (x *RBACPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBACPerRoute.ProtoReflect.Descriptor instead. func (*RBACPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescGZIP(), []int{1} } func (x *RBACPerRoute) GetRbac() *RBAC { if x != nil { return x.Rbac } return nil } var File_envoy_extensions_filters_http_rbac_v3_rbac_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x03, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x1f, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x42, 0x1e, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x26, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x22, 0x8b, 0x01, 0x0a, 0x0c, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x52, 0x04, 0x72, 0x62, 0x61, 0x63, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescData = file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDesc ) func file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescData) }) return file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDescData } var file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_rbac_v3_rbac_proto_goTypes = []interface{}{ (*RBAC)(nil), // 0: envoy.extensions.filters.http.rbac.v3.RBAC (*RBACPerRoute)(nil), // 1: envoy.extensions.filters.http.rbac.v3.RBACPerRoute (*v3.RBAC)(nil), // 2: envoy.config.rbac.v3.RBAC (*v31.Matcher)(nil), // 3: xds.type.matcher.v3.Matcher } var file_envoy_extensions_filters_http_rbac_v3_rbac_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.rbac.v3.RBAC.rules:type_name -> envoy.config.rbac.v3.RBAC 3, // 1: envoy.extensions.filters.http.rbac.v3.RBAC.matcher:type_name -> xds.type.matcher.v3.Matcher 2, // 2: envoy.extensions.filters.http.rbac.v3.RBAC.shadow_rules:type_name -> envoy.config.rbac.v3.RBAC 3, // 3: envoy.extensions.filters.http.rbac.v3.RBAC.shadow_matcher:type_name -> xds.type.matcher.v3.Matcher 0, // 4: envoy.extensions.filters.http.rbac.v3.RBACPerRoute.rbac:type_name -> envoy.extensions.filters.http.rbac.v3.RBAC 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_rbac_v3_rbac_proto_init() } func file_envoy_extensions_filters_http_rbac_v3_rbac_proto_init() { if File_envoy_extensions_filters_http_rbac_v3_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBACPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_rbac_v3_rbac_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_rbac_v3_rbac_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_rbac_v3_rbac_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_rbac_v3_rbac_proto = out.File file_envoy_extensions_filters_http_rbac_v3_rbac_proto_rawDesc = nil file_envoy_extensions_filters_http_rbac_v3_rbac_proto_goTypes = nil file_envoy_extensions_filters_http_rbac_v3_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/rbac/v3/rbac.pb.validate.go000077500000000000000000000231321454502223200276300ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/rbac/v3/rbac.proto package rbacv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ShadowRulesStatPrefix if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} // Validate checks the field values on RBACPerRoute with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RBACPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBACPerRoute with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RBACPerRouteMultiError, or // nil if none found. func (m *RBACPerRoute) ValidateAll() error { return m.validate(true) } func (m *RBACPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRbac()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRbac()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACPerRouteValidationError{ field: "Rbac", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RBACPerRouteMultiError(errors) } return nil } // RBACPerRouteMultiError is an error wrapping multiple validation errors // returned by RBACPerRoute.ValidateAll() if the designated constraints aren't met. type RBACPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACPerRouteMultiError) AllErrors() []error { return m } // RBACPerRouteValidationError is the validation error returned by // RBACPerRoute.Validate if the designated constraints aren't met. type RBACPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACPerRouteValidationError) ErrorName() string { return "RBACPerRouteValidationError" } // Error satisfies the builtin error interface func (e RBACPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBACPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/router/000077500000000000000000000000001454502223200242575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/router/v3/000077500000000000000000000000001454502223200246075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/router/v3/router.pb.go000077500000000000000000000625241454502223200270720ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/router/v3/router.proto package routerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 10] type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the router generates dynamic cluster statistics. Defaults to // true. Can be disabled in high performance scenarios. DynamicStats *wrappers.BoolValue `protobuf:"bytes,1,opt,name=dynamic_stats,json=dynamicStats,proto3" json:"dynamic_stats,omitempty"` // Whether to start a child span for egress routed calls. This can be // useful in scenarios where other filters (auth, ratelimit, etc.) make // outbound calls and have child spans rooted at the same ingress // parent. Defaults to false. // // .. attention:: // // This field is deprecated by the // :ref:`spawn_upstream_span `. // Please use that ``spawn_upstream_span`` field to control the span creation. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/router/v3/router.proto. StartChildSpan bool `protobuf:"varint,2,opt,name=start_child_span,json=startChildSpan,proto3" json:"start_child_span,omitempty"` // Configuration for HTTP upstream logs emitted by the router. Upstream logs // are configured in the same way as access logs, but each log entry represents // an upstream request. Presuming retries are configured, multiple upstream // requests may be made for each downstream (inbound) request. UpstreamLog []*v3.AccessLog `protobuf:"bytes,3,rep,name=upstream_log,json=upstreamLog,proto3" json:"upstream_log,omitempty"` // Additional upstream access log options. UpstreamLogOptions *Router_UpstreamAccessLogOptions `protobuf:"bytes,9,opt,name=upstream_log_options,json=upstreamLogOptions,proto3" json:"upstream_log_options,omitempty"` // Do not add any additional “x-envoy-“ headers to requests or responses. This // only affects the :ref:`router filter generated x-envoy- headers // `, other Envoy filters and the HTTP // connection manager may continue to set “x-envoy-“ headers. SuppressEnvoyHeaders bool `protobuf:"varint,4,opt,name=suppress_envoy_headers,json=suppressEnvoyHeaders,proto3" json:"suppress_envoy_headers,omitempty"` // Specifies a list of HTTP headers to strictly validate. Envoy will reject a // request and respond with HTTP status 400 if the request contains an invalid // value for any of the headers listed in this field. Strict header checking // is only supported for the following headers: // // Value must be a ','-delimited list (i.e. no spaces) of supported retry // policy values: // // * :ref:`config_http_filters_router_x-envoy-retry-grpc-on` // * :ref:`config_http_filters_router_x-envoy-retry-on` // // Value must be an integer: // // * :ref:`config_http_filters_router_x-envoy-max-retries` // * :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms` // * :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` StrictCheckHeaders []string `protobuf:"bytes,5,rep,name=strict_check_headers,json=strictCheckHeaders,proto3" json:"strict_check_headers,omitempty"` // If not set, ingress Envoy will ignore // :ref:`config_http_filters_router_x-envoy-expected-rq-timeout-ms` header, populated by egress // Envoy, when deriving timeout for upstream cluster. RespectExpectedRqTimeout bool `protobuf:"varint,6,opt,name=respect_expected_rq_timeout,json=respectExpectedRqTimeout,proto3" json:"respect_expected_rq_timeout,omitempty"` // If set, Envoy will avoid incrementing HTTP failure code stats // on gRPC requests. This includes the individual status code value // (e.g. upstream_rq_504) and group stats (e.g. upstream_rq_5xx). // This field is useful if interested in relying only on the gRPC // stats filter to define success and failure metrics for gRPC requests // as not all failed gRPC requests charge HTTP status code metrics. See // :ref:`gRPC stats filter` documentation // for more details. SuppressGrpcRequestFailureCodeStats bool `protobuf:"varint,7,opt,name=suppress_grpc_request_failure_code_stats,json=suppressGrpcRequestFailureCodeStats,proto3" json:"suppress_grpc_request_failure_code_stats,omitempty"` // .. note:: // // Upstream HTTP filters are currently in alpha. // // Optional HTTP filters for the upstream HTTP filter chain. // // These filters will be applied for all requests that pass through the router. // They will also be applied to shadowed requests. // Upstream HTTP filters cannot change route or cluster. // Upstream HTTP filters specified on the cluster will override these filters. // // If using upstream HTTP filters, please be aware that local errors sent by // upstream HTTP filters will not trigger retries, and local errors sent by // upstream HTTP filters will count as a final response if hedging is configured. // [#extension-category: envoy.filters.http.upstream] UpstreamHttpFilters []*v31.HttpFilter `protobuf:"bytes,8,rep,name=upstream_http_filters,json=upstreamHttpFilters,proto3" json:"upstream_http_filters,omitempty"` } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_router_v3_router_proto_rawDescGZIP(), []int{0} } func (x *Router) GetDynamicStats() *wrappers.BoolValue { if x != nil { return x.DynamicStats } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/router/v3/router.proto. func (x *Router) GetStartChildSpan() bool { if x != nil { return x.StartChildSpan } return false } func (x *Router) GetUpstreamLog() []*v3.AccessLog { if x != nil { return x.UpstreamLog } return nil } func (x *Router) GetUpstreamLogOptions() *Router_UpstreamAccessLogOptions { if x != nil { return x.UpstreamLogOptions } return nil } func (x *Router) GetSuppressEnvoyHeaders() bool { if x != nil { return x.SuppressEnvoyHeaders } return false } func (x *Router) GetStrictCheckHeaders() []string { if x != nil { return x.StrictCheckHeaders } return nil } func (x *Router) GetRespectExpectedRqTimeout() bool { if x != nil { return x.RespectExpectedRqTimeout } return false } func (x *Router) GetSuppressGrpcRequestFailureCodeStats() bool { if x != nil { return x.SuppressGrpcRequestFailureCodeStats } return false } func (x *Router) GetUpstreamHttpFilters() []*v31.HttpFilter { if x != nil { return x.UpstreamHttpFilters } return nil } type Router_UpstreamAccessLogOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to true, an upstream access log will be recorded when an upstream stream is // associated to an http request. Note: Each HTTP request received for an already established // connection will result in an upstream access log record. This includes, for example, // consecutive HTTP requests over the same connection or a request that is retried. // In case a retry is applied, an upstream access log will be recorded for each retry. FlushUpstreamLogOnUpstreamStream bool `protobuf:"varint,1,opt,name=flush_upstream_log_on_upstream_stream,json=flushUpstreamLogOnUpstreamStream,proto3" json:"flush_upstream_log_on_upstream_stream,omitempty"` // The interval to flush the upstream access logs. By default, the router will flush an upstream // access log on stream close, when the HTTP request is complete. If this field is set, the router // will flush access logs periodically at the specified interval. This is especially useful in the // case of long-lived requests, such as CONNECT and Websockets. // The interval must be at least 1 millisecond. UpstreamLogFlushInterval *duration.Duration `protobuf:"bytes,2,opt,name=upstream_log_flush_interval,json=upstreamLogFlushInterval,proto3" json:"upstream_log_flush_interval,omitempty"` } func (x *Router_UpstreamAccessLogOptions) Reset() { *x = Router_UpstreamAccessLogOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router_UpstreamAccessLogOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router_UpstreamAccessLogOptions) ProtoMessage() {} func (x *Router_UpstreamAccessLogOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router_UpstreamAccessLogOptions.ProtoReflect.Descriptor instead. func (*Router_UpstreamAccessLogOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_router_v3_router_proto_rawDescGZIP(), []int{0, 0} } func (x *Router_UpstreamAccessLogOptions) GetFlushUpstreamLogOnUpstreamStream() bool { if x != nil { return x.FlushUpstreamLogOnUpstreamStream } return false } func (x *Router_UpstreamAccessLogOptions) GetUpstreamLogFlushInterval() *duration.Duration { if x != nil { return x.UpstreamLogFlushInterval } return nil } var File_envoy_extensions_filters_http_router_v3_router_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_router_v3_router_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x08, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x12, 0x7a, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x94, 0x01, 0xfa, 0x42, 0x90, 0x01, 0x92, 0x01, 0x8c, 0x01, 0x22, 0x89, 0x01, 0x72, 0x86, 0x01, 0x52, 0x1e, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d, 0x72, 0x71, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x2d, 0x6d, 0x73, 0x52, 0x26, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d, 0x72, 0x71, 0x2d, 0x70, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x79, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x2d, 0x6d, 0x73, 0x52, 0x13, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x6d, 0x61, 0x78, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2d, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x6f, 0x6e, 0x52, 0x10, 0x78, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2d, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x71, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x28, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x25, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x66, 0x0a, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x18, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xa7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_router_v3_router_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_router_v3_router_proto_rawDescData = file_envoy_extensions_filters_http_router_v3_router_proto_rawDesc ) func file_envoy_extensions_filters_http_router_v3_router_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_router_v3_router_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_router_v3_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_router_v3_router_proto_rawDescData) }) return file_envoy_extensions_filters_http_router_v3_router_proto_rawDescData } var file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_router_v3_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.extensions.filters.http.router.v3.Router (*Router_UpstreamAccessLogOptions)(nil), // 1: envoy.extensions.filters.http.router.v3.Router.UpstreamAccessLogOptions (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue (*v3.AccessLog)(nil), // 3: envoy.config.accesslog.v3.AccessLog (*v31.HttpFilter)(nil), // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter (*duration.Duration)(nil), // 5: google.protobuf.Duration } var file_envoy_extensions_filters_http_router_v3_router_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.router.v3.Router.dynamic_stats:type_name -> google.protobuf.BoolValue 3, // 1: envoy.extensions.filters.http.router.v3.Router.upstream_log:type_name -> envoy.config.accesslog.v3.AccessLog 1, // 2: envoy.extensions.filters.http.router.v3.Router.upstream_log_options:type_name -> envoy.extensions.filters.http.router.v3.Router.UpstreamAccessLogOptions 4, // 3: envoy.extensions.filters.http.router.v3.Router.upstream_http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter 5, // 4: envoy.extensions.filters.http.router.v3.Router.UpstreamAccessLogOptions.upstream_log_flush_interval:type_name -> google.protobuf.Duration 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_router_v3_router_proto_init() } func file_envoy_extensions_filters_http_router_v3_router_proto_init() { if File_envoy_extensions_filters_http_router_v3_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router_UpstreamAccessLogOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_router_v3_router_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_router_v3_router_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_router_v3_router_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_router_v3_router_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_router_v3_router_proto = out.File file_envoy_extensions_filters_http_router_v3_router_proto_rawDesc = nil file_envoy_extensions_filters_http_router_v3_router_proto_goTypes = nil file_envoy_extensions_filters_http_router_v3_router_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/router/v3/router.pb.validate.go000077500000000000000000000265741454502223200306670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/router/v3/router.proto package routerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDynamicStats()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicStats()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: "DynamicStats", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StartChildSpan for idx, item := range m.GetUpstreamLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: fmt.Sprintf("UpstreamLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUpstreamLogOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: "UpstreamLogOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: "UpstreamLogOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamLogOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: "UpstreamLogOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SuppressEnvoyHeaders for idx, item := range m.GetStrictCheckHeaders() { _, _ = idx, item if _, ok := _Router_StrictCheckHeaders_InLookup[item]; !ok { err := RouterValidationError{ field: fmt.Sprintf("StrictCheckHeaders[%v]", idx), reason: "value must be in list [x-envoy-upstream-rq-timeout-ms x-envoy-upstream-rq-per-try-timeout-ms x-envoy-max-retries x-envoy-retry-grpc-on x-envoy-retry-on]", } if !all { return err } errors = append(errors, err) } } // no validation rules for RespectExpectedRqTimeout // no validation rules for SuppressGrpcRequestFailureCodeStats for idx, item := range m.GetUpstreamHttpFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamHttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: fmt.Sprintf("UpstreamHttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: fmt.Sprintf("UpstreamHttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} var _Router_StrictCheckHeaders_InLookup = map[string]struct{}{ "x-envoy-upstream-rq-timeout-ms": {}, "x-envoy-upstream-rq-per-try-timeout-ms": {}, "x-envoy-max-retries": {}, "x-envoy-retry-grpc-on": {}, "x-envoy-retry-on": {}, } // Validate checks the field values on Router_UpstreamAccessLogOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Router_UpstreamAccessLogOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router_UpstreamAccessLogOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // Router_UpstreamAccessLogOptionsMultiError, or nil if none found. func (m *Router_UpstreamAccessLogOptions) ValidateAll() error { return m.validate(true) } func (m *Router_UpstreamAccessLogOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for FlushUpstreamLogOnUpstreamStream if d := m.GetUpstreamLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = Router_UpstreamAccessLogOptionsValidationError{ field: "UpstreamLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := Router_UpstreamAccessLogOptionsValidationError{ field: "UpstreamLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return Router_UpstreamAccessLogOptionsMultiError(errors) } return nil } // Router_UpstreamAccessLogOptionsMultiError is an error wrapping multiple // validation errors returned by Router_UpstreamAccessLogOptions.ValidateAll() // if the designated constraints aren't met. type Router_UpstreamAccessLogOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Router_UpstreamAccessLogOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Router_UpstreamAccessLogOptionsMultiError) AllErrors() []error { return m } // Router_UpstreamAccessLogOptionsValidationError is the validation error // returned by Router_UpstreamAccessLogOptions.Validate if the designated // constraints aren't met. type Router_UpstreamAccessLogOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Router_UpstreamAccessLogOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Router_UpstreamAccessLogOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Router_UpstreamAccessLogOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Router_UpstreamAccessLogOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Router_UpstreamAccessLogOptionsValidationError) ErrorName() string { return "Router_UpstreamAccessLogOptionsValidationError" } // Error satisfies the builtin error interface func (e Router_UpstreamAccessLogOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter_UpstreamAccessLogOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Router_UpstreamAccessLogOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Router_UpstreamAccessLogOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/set_filter_state/000077500000000000000000000000001454502223200262775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/set_filter_state/v3/000077500000000000000000000000001454502223200266275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/set_filter_state/v3/set_filter_state.pb.go000077500000000000000000000222031454502223200331200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/set_filter_state/v3/set_filter_state.proto package set_filter_statev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/common/set_filter_state/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A sequence of the filter state values to apply in the specified order // when a new request is received. OnRequestHeaders []*v3.FilterStateValue `protobuf:"bytes,1,rep,name=on_request_headers,json=onRequestHeaders,proto3" json:"on_request_headers,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescGZIP(), []int{0} } func (x *Config) GetOnRequestHeaders() []*v3.FilterStateValue { if x != nil { return x.OnRequestHeaders } return nil } var File_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0xcd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescData = file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDesc ) func file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescData) }) return file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDescData } var file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.filters.http.set_filter_state.v3.Config (*v3.FilterStateValue)(nil), // 1: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue } var file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.set_filter_state.v3.Config.on_request_headers:type_name -> envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_init() } func file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_init() { if File_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto = out.File file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_rawDesc = nil file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_goTypes = nil file_envoy_extensions_filters_http_set_filter_state_v3_set_filter_state_proto_depIdxs = nil } set_filter_state.pb.validate.go000077500000000000000000000100361454502223200346320ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/set_filter_state/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/set_filter_state/v3/set_filter_state.proto package set_filter_statev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetOnRequestHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("OnRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("OnRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("OnRequestHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/set_metadata/000077500000000000000000000000001454502223200253725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/set_metadata/v3/000077500000000000000000000000001454502223200257225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/set_metadata/v3/set_metadata.pb.go000077500000000000000000000365351454502223200313230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto package set_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The metadata namespace. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // Allow the filter to overwrite or merge with an existing value in the namespace. AllowOverwrite bool `protobuf:"varint,2,opt,name=allow_overwrite,json=allowOverwrite,proto3" json:"allow_overwrite,omitempty"` // The value to place at the namespace. If “allow_overwrite“, this will // overwrite or merge with any existing values in that namespace. See // :ref:`the filter documentation ` for // more information on how this value is merged with potentially existing // ones if “allow_overwrite“ is configured. Only one of “value“ and // “typed_value“ may be set. Value *_struct.Struct `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // The value to place at the namespace. If “allow_overwrite“, this will // overwrite any existing values in that namespace. Only one of “value“ and // “typed_value“ may be set. TypedValue *any1.Any `protobuf:"bytes,4,opt,name=typed_value,json=typedValue,proto3" json:"typed_value,omitempty"` } func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescGZIP(), []int{0} } func (x *Metadata) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *Metadata) GetAllowOverwrite() bool { if x != nil { return x.AllowOverwrite } return false } func (x *Metadata) GetValue() *_struct.Struct { if x != nil { return x.Value } return nil } func (x *Metadata) GetTypedValue() *any1.Any { if x != nil { return x.TypedValue } return nil } type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The metadata namespace. // This field is deprecated; please use “metadata“ as replacement. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The untyped value to update the dynamic metadata namespace with. See // :ref:`the filter documentation ` for // more information on how this value is merged with potentially existing // ones. // This field is deprecated; please use “metadata“ as replacement. // // Deprecated: Marked as deprecated in envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto. Value *_struct.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // Defines changes to be made to dynamic metadata. Metadata []*Metadata `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescGZIP(), []int{1} } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto. func (x *Config) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } // Deprecated: Marked as deprecated in envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto. func (x *Config) GetValue() *_struct.Struct { if x != nil { return x.Value } return nil } func (x *Config) GetMetadata() []*Metadata { if x != nil { return x.Metadata } return nil } var File_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescData = file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDesc ) func file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescData) }) return file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDescData } var file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_goTypes = []interface{}{ (*Metadata)(nil), // 0: envoy.extensions.filters.http.set_metadata.v3.Metadata (*Config)(nil), // 1: envoy.extensions.filters.http.set_metadata.v3.Config (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*any1.Any)(nil), // 3: google.protobuf.Any } var file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.set_metadata.v3.Metadata.value:type_name -> google.protobuf.Struct 3, // 1: envoy.extensions.filters.http.set_metadata.v3.Metadata.typed_value:type_name -> google.protobuf.Any 2, // 2: envoy.extensions.filters.http.set_metadata.v3.Config.value:type_name -> google.protobuf.Struct 0, // 3: envoy.extensions.filters.http.set_metadata.v3.Config.metadata:type_name -> envoy.extensions.filters.http.set_metadata.v3.Metadata 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_init() } func file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_init() { if File_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto = out.File file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_rawDesc = nil file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_goTypes = nil file_envoy_extensions_filters_http_set_metadata_v3_set_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/set_metadata/v3/set_metadata.pb.validate.go000077500000000000000000000223011454502223200330750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/set_metadata/v3/set_metadata.proto package set_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Metadata with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Metadata with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataMultiError, or nil // if none found. func (m *Metadata) ValidateAll() error { return m.validate(true) } func (m *Metadata) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetMetadataNamespace()) < 1 { err := MetadataValidationError{ field: "MetadataNamespace", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowOverwrite if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataValidationError{ field: "TypedValue", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataValidationError{ field: "TypedValue", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataValidationError{ field: "TypedValue", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MetadataMultiError(errors) } return nil } // MetadataMultiError is an error wrapping multiple validation errors returned // by Metadata.ValidateAll() if the designated constraints aren't met. type MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMultiError) AllErrors() []error { return m } // MetadataValidationError is the validation error returned by // Metadata.Validate if the designated constraints aren't met. type MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataValidationError) ErrorName() string { return "MetadataValidationError" } // Error satisfies the builtin error interface func (e MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataValidationError{} // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("Metadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("Metadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("Metadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/stateful_session/000077500000000000000000000000001454502223200263315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/stateful_session/v3/000077500000000000000000000000001454502223200266615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/stateful_session/v3/stateful_session.pb.go000077500000000000000000000344521454502223200332150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto package stateful_sessionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type StatefulSession struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specific implementation of session state. This session state will be used to store and // get address of the upstream host to which the session is assigned. // // [#extension-category: envoy.http.stateful_session] SessionState *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=session_state,json=sessionState,proto3" json:"session_state,omitempty"` // If set to True, the HTTP request must be routed to the requested destination. // If the requested destination is not available, Envoy returns 503. Defaults to False. Strict bool `protobuf:"varint,2,opt,name=strict,proto3" json:"strict,omitempty"` } func (x *StatefulSession) Reset() { *x = StatefulSession{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatefulSession) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatefulSession) ProtoMessage() {} func (x *StatefulSession) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatefulSession.ProtoReflect.Descriptor instead. func (*StatefulSession) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescGZIP(), []int{0} } func (x *StatefulSession) GetSessionState() *v3.TypedExtensionConfig { if x != nil { return x.SessionState } return nil } func (x *StatefulSession) GetStrict() bool { if x != nil { return x.Strict } return false } type StatefulSessionPerRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Override: // // *StatefulSessionPerRoute_Disabled // *StatefulSessionPerRoute_StatefulSession Override isStatefulSessionPerRoute_Override `protobuf_oneof:"override"` } func (x *StatefulSessionPerRoute) Reset() { *x = StatefulSessionPerRoute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatefulSessionPerRoute) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatefulSessionPerRoute) ProtoMessage() {} func (x *StatefulSessionPerRoute) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatefulSessionPerRoute.ProtoReflect.Descriptor instead. func (*StatefulSessionPerRoute) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescGZIP(), []int{1} } func (m *StatefulSessionPerRoute) GetOverride() isStatefulSessionPerRoute_Override { if m != nil { return m.Override } return nil } func (x *StatefulSessionPerRoute) GetDisabled() bool { if x, ok := x.GetOverride().(*StatefulSessionPerRoute_Disabled); ok { return x.Disabled } return false } func (x *StatefulSessionPerRoute) GetStatefulSession() *StatefulSession { if x, ok := x.GetOverride().(*StatefulSessionPerRoute_StatefulSession); ok { return x.StatefulSession } return nil } type isStatefulSessionPerRoute_Override interface { isStatefulSessionPerRoute_Override() } type StatefulSessionPerRoute_Disabled struct { // Disable the stateful session filter for this particular vhost or route. If disabled is // specified in multiple per-filter-configs, the most specific one will be used. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` } type StatefulSessionPerRoute_StatefulSession struct { // Per-route stateful session configuration that can be served by RDS or static route table. StatefulSession *StatefulSession `protobuf:"bytes,2,opt,name=stateful_session,json=statefulSession,proto3,oneof"` } func (*StatefulSessionPerRoute_Disabled) isStatefulSessionPerRoute_Override() {} func (*StatefulSessionPerRoute_StatefulSession) isStatefulSessionPerRoute_Override() {} var File_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x6f, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xce, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescData = file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDesc ) func file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescData) }) return file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDescData } var file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_goTypes = []interface{}{ (*StatefulSession)(nil), // 0: envoy.extensions.filters.http.stateful_session.v3.StatefulSession (*StatefulSessionPerRoute)(nil), // 1: envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute (*v3.TypedExtensionConfig)(nil), // 2: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.http.stateful_session.v3.StatefulSession.session_state:type_name -> envoy.config.core.v3.TypedExtensionConfig 0, // 1: envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute.stateful_session:type_name -> envoy.extensions.filters.http.stateful_session.v3.StatefulSession 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_init() } func file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_init() { if File_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatefulSession); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatefulSessionPerRoute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StatefulSessionPerRoute_Disabled)(nil), (*StatefulSessionPerRoute_StatefulSession)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto = out.File file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_rawDesc = nil file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_goTypes = nil file_envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_depIdxs = nil } stateful_session.pb.validate.go000077500000000000000000000220441454502223200347200ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/stateful_session/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto package stateful_sessionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StatefulSession with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StatefulSession) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatefulSession with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StatefulSessionMultiError, or nil if none found. func (m *StatefulSession) ValidateAll() error { return m.validate(true) } func (m *StatefulSession) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSessionState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatefulSessionValidationError{ field: "SessionState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatefulSessionValidationError{ field: "SessionState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatefulSessionValidationError{ field: "SessionState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Strict if len(errors) > 0 { return StatefulSessionMultiError(errors) } return nil } // StatefulSessionMultiError is an error wrapping multiple validation errors // returned by StatefulSession.ValidateAll() if the designated constraints // aren't met. type StatefulSessionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatefulSessionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatefulSessionMultiError) AllErrors() []error { return m } // StatefulSessionValidationError is the validation error returned by // StatefulSession.Validate if the designated constraints aren't met. type StatefulSessionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatefulSessionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatefulSessionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatefulSessionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatefulSessionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatefulSessionValidationError) ErrorName() string { return "StatefulSessionValidationError" } // Error satisfies the builtin error interface func (e StatefulSessionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatefulSession.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatefulSessionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatefulSessionValidationError{} // Validate checks the field values on StatefulSessionPerRoute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StatefulSessionPerRoute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StatefulSessionPerRoute with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StatefulSessionPerRouteMultiError, or nil if none found. func (m *StatefulSessionPerRoute) ValidateAll() error { return m.validate(true) } func (m *StatefulSessionPerRoute) validate(all bool) error { if m == nil { return nil } var errors []error oneofOverridePresent := false switch v := m.Override.(type) { case *StatefulSessionPerRoute_Disabled: if v == nil { err := StatefulSessionPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if m.GetDisabled() != true { err := StatefulSessionPerRouteValidationError{ field: "Disabled", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *StatefulSessionPerRoute_StatefulSession: if v == nil { err := StatefulSessionPerRouteValidationError{ field: "Override", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOverridePresent = true if all { switch v := interface{}(m.GetStatefulSession()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StatefulSessionPerRouteValidationError{ field: "StatefulSession", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StatefulSessionPerRouteValidationError{ field: "StatefulSession", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatefulSession()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StatefulSessionPerRouteValidationError{ field: "StatefulSession", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOverridePresent { err := StatefulSessionPerRouteValidationError{ field: "Override", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StatefulSessionPerRouteMultiError(errors) } return nil } // StatefulSessionPerRouteMultiError is an error wrapping multiple validation // errors returned by StatefulSessionPerRoute.ValidateAll() if the designated // constraints aren't met. type StatefulSessionPerRouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StatefulSessionPerRouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StatefulSessionPerRouteMultiError) AllErrors() []error { return m } // StatefulSessionPerRouteValidationError is the validation error returned by // StatefulSessionPerRoute.Validate if the designated constraints aren't met. type StatefulSessionPerRouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StatefulSessionPerRouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StatefulSessionPerRouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StatefulSessionPerRouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StatefulSessionPerRouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StatefulSessionPerRouteValidationError) ErrorName() string { return "StatefulSessionPerRouteValidationError" } // Error satisfies the builtin error interface func (e StatefulSessionPerRouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStatefulSessionPerRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StatefulSessionPerRouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StatefulSessionPerRouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/tap/000077500000000000000000000000001454502223200235235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/tap/v3/000077500000000000000000000000001454502223200240535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/tap/v3/tap.pb.go000077500000000000000000000235451454502223200256020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/tap/v3/tap.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/tap/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Top level configuration for the tap filter. type Tap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common configuration for the HTTP tap filter. CommonConfig *v3.CommonExtensionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // Indicates whether HTTP tap filter records the time stamp for request/response headers. // Request headers time stamp is stored after receiving request headers. // Response headers time stamp is stored after receiving response headers. RecordHeadersReceivedTime bool `protobuf:"varint,2,opt,name=record_headers_received_time,json=recordHeadersReceivedTime,proto3" json:"record_headers_received_time,omitempty"` // Indicates whether report downstream connection info RecordDownstreamConnection bool `protobuf:"varint,3,opt,name=record_downstream_connection,json=recordDownstreamConnection,proto3" json:"record_downstream_connection,omitempty"` } func (x *Tap) Reset() { *x = Tap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_tap_v3_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tap) ProtoMessage() {} func (x *Tap) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_tap_v3_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tap.ProtoReflect.Descriptor instead. func (*Tap) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescGZIP(), []int{0} } func (x *Tap) GetCommonConfig() *v3.CommonExtensionConfig { if x != nil { return x.CommonConfig } return nil } func (x *Tap) GetRecordHeadersReceivedTime() bool { if x != nil { return x.RecordHeadersReceivedTime } return false } func (x *Tap) GetRecordDownstreamConnection() bool { if x != nil { return x.RecordDownstreamConnection } return false } var File_envoy_extensions_filters_http_tap_v3_tap_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x02, 0x0a, 0x03, 0x54, 0x61, 0x70, 0x12, 0x64, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x42, 0x9b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescData = file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDesc ) func file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescData) }) return file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDescData } var file_envoy_extensions_filters_http_tap_v3_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_tap_v3_tap_proto_goTypes = []interface{}{ (*Tap)(nil), // 0: envoy.extensions.filters.http.tap.v3.Tap (*v3.CommonExtensionConfig)(nil), // 1: envoy.extensions.common.tap.v3.CommonExtensionConfig } var file_envoy_extensions_filters_http_tap_v3_tap_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.tap.v3.Tap.common_config:type_name -> envoy.extensions.common.tap.v3.CommonExtensionConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_tap_v3_tap_proto_init() } func file_envoy_extensions_filters_http_tap_v3_tap_proto_init() { if File_envoy_extensions_filters_http_tap_v3_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_tap_v3_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_tap_v3_tap_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_tap_v3_tap_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_tap_v3_tap_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_tap_v3_tap_proto = out.File file_envoy_extensions_filters_http_tap_v3_tap_proto_rawDesc = nil file_envoy_extensions_filters_http_tap_v3_tap_proto_goTypes = nil file_envoy_extensions_filters_http_tap_v3_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/tap/v3/tap.pb.validate.go000077500000000000000000000100721454502223200273610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/tap/v3/tap.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tap with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Tap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tap with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TapMultiError, or nil if none found. func (m *Tap) ValidateAll() error { return m.validate(true) } func (m *Tap) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TapValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RecordHeadersReceivedTime // no validation rules for RecordDownstreamConnection if len(errors) > 0 { return TapMultiError(errors) } return nil } // TapMultiError is an error wrapping multiple validation errors returned by // Tap.ValidateAll() if the designated constraints aren't met. type TapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapMultiError) AllErrors() []error { return m } // TapValidationError is the validation error returned by Tap.Validate if the // designated constraints aren't met. type TapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapValidationError) ErrorName() string { return "TapValidationError" } // Error satisfies the builtin error interface func (e TapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/upstream_codec/000077500000000000000000000000001454502223200257345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/upstream_codec/v3/000077500000000000000000000000001454502223200262645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.pb.go000077500000000000000000000163361454502223200322240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto package upstream_codecv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type UpstreamCodec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpstreamCodec) Reset() { *x = UpstreamCodec{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamCodec) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamCodec) ProtoMessage() {} func (x *UpstreamCodec) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamCodec.ProtoReflect.Descriptor instead. func (*UpstreamCodec) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x42, 0xc6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescData = file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDesc ) func file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescData) }) return file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDescData } var file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_goTypes = []interface{}{ (*UpstreamCodec)(nil), // 0: envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec } var file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_init() } func file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_init() { if File_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamCodec); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto = out.File file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_rawDesc = nil file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_goTypes = nil file_envoy_extensions_filters_http_upstream_codec_v3_upstream_codec_proto_depIdxs = nil } upstream_codec.pb.validate.go000077500000000000000000000063761454502223200337400ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/upstream_codec/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto package upstream_codecv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamCodec with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UpstreamCodec) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamCodec with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UpstreamCodecMultiError, or // nil if none found. func (m *UpstreamCodec) ValidateAll() error { return m.validate(true) } func (m *UpstreamCodec) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UpstreamCodecMultiError(errors) } return nil } // UpstreamCodecMultiError is an error wrapping multiple validation errors // returned by UpstreamCodec.ValidateAll() if the designated constraints // aren't met. type UpstreamCodecMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamCodecMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamCodecMultiError) AllErrors() []error { return m } // UpstreamCodecValidationError is the validation error returned by // UpstreamCodec.Validate if the designated constraints aren't met. type UpstreamCodecValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamCodecValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamCodecValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamCodecValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamCodecValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamCodecValidationError) ErrorName() string { return "UpstreamCodecValidationError" } // Error satisfies the builtin error interface func (e UpstreamCodecValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamCodec.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamCodecValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamCodecValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/http/wasm/000077500000000000000000000000001454502223200237065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/wasm/v3/000077500000000000000000000000001454502223200242365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/http/wasm/v3/wasm.pb.go000077500000000000000000000162251454502223200261450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/http/wasm/v3/wasm.proto package wasmv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Wasm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // General Plugin configuration. Config *v3.PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *Wasm) Reset() { *x = Wasm{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_http_wasm_v3_wasm_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Wasm) String() string { return protoimpl.X.MessageStringOf(x) } func (*Wasm) ProtoMessage() {} func (x *Wasm) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_http_wasm_v3_wasm_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Wasm.ProtoReflect.Descriptor instead. func (*Wasm) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescGZIP(), []int{0} } func (x *Wasm) GetConfig() *v3.PluginConfig { if x != nil { return x.Config } return nil } var File_envoy_extensions_filters_http_wasm_v3_wasm_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDesc = []byte{ 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x04, 0x57, 0x61, 0x73, 0x6d, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x9f, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x57, 0x61, 0x73, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x73, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescOnce sync.Once file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescData = file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDesc ) func file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescData) }) return file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDescData } var file_envoy_extensions_filters_http_wasm_v3_wasm_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_http_wasm_v3_wasm_proto_goTypes = []interface{}{ (*Wasm)(nil), // 0: envoy.extensions.filters.http.wasm.v3.Wasm (*v3.PluginConfig)(nil), // 1: envoy.extensions.wasm.v3.PluginConfig } var file_envoy_extensions_filters_http_wasm_v3_wasm_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.http.wasm.v3.Wasm.config:type_name -> envoy.extensions.wasm.v3.PluginConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_http_wasm_v3_wasm_proto_init() } func file_envoy_extensions_filters_http_wasm_v3_wasm_proto_init() { if File_envoy_extensions_filters_http_wasm_v3_wasm_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_http_wasm_v3_wasm_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Wasm); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_http_wasm_v3_wasm_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_http_wasm_v3_wasm_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_http_wasm_v3_wasm_proto_msgTypes, }.Build() File_envoy_extensions_filters_http_wasm_v3_wasm_proto = out.File file_envoy_extensions_filters_http_wasm_v3_wasm_proto_rawDesc = nil file_envoy_extensions_filters_http_wasm_v3_wasm_proto_goTypes = nil file_envoy_extensions_filters_http_wasm_v3_wasm_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/http/wasm/v3/wasm.pb.validate.go000077500000000000000000000074161454502223200277370ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/http/wasm/v3/wasm.proto package wasmv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Wasm with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Wasm) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Wasm with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in WasmMultiError, or nil if none found. func (m *Wasm) ValidateAll() error { return m.validate(true) } func (m *Wasm) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WasmMultiError(errors) } return nil } // WasmMultiError is an error wrapping multiple validation errors returned by // Wasm.ValidateAll() if the designated constraints aren't met. type WasmMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WasmMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WasmMultiError) AllErrors() []error { return m } // WasmValidationError is the validation error returned by Wasm.Validate if the // designated constraints aren't met. type WasmValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WasmValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WasmValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WasmValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WasmValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WasmValidationError) ErrorName() string { return "WasmValidationError" } // Error satisfies the builtin error interface func (e WasmValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWasm.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WasmValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WasmValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/000077500000000000000000000000001454502223200236055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/http_inspector/000077500000000000000000000000001454502223200266525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/http_inspector/v3/000077500000000000000000000000001454502223200272025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/http_inspector/v3/http_inspector.pb.go000077500000000000000000000200551454502223200332030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/http_inspector/v3/http_inspector.proto package http_inspectorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HttpInspector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HttpInspector) Reset() { *x = HttpInspector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpInspector) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpInspector) ProtoMessage() {} func (x *HttpInspector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpInspector.ProtoReflect.Descriptor instead. func (*HttpInspector) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0d, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xce, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescData = file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDesc ) func file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescData) }) return file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDescData } var file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_goTypes = []interface{}{ (*HttpInspector)(nil), // 0: envoy.extensions.filters.listener.http_inspector.v3.HttpInspector } var file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_init() } func file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_init() { if File_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpInspector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto = out.File file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_rawDesc = nil file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_goTypes = nil file_envoy_extensions_filters_listener_http_inspector_v3_http_inspector_proto_depIdxs = nil } http_inspector.pb.validate.go000077500000000000000000000064021454502223200347140ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/http_inspector/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/http_inspector/v3/http_inspector.proto package http_inspectorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpInspector with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpInspector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpInspector with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpInspectorMultiError, or // nil if none found. func (m *HttpInspector) ValidateAll() error { return m.validate(true) } func (m *HttpInspector) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HttpInspectorMultiError(errors) } return nil } // HttpInspectorMultiError is an error wrapping multiple validation errors // returned by HttpInspector.ValidateAll() if the designated constraints // aren't met. type HttpInspectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpInspectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpInspectorMultiError) AllErrors() []error { return m } // HttpInspectorValidationError is the validation error returned by // HttpInspector.Validate if the designated constraints aren't met. type HttpInspectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpInspectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpInspectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpInspectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpInspectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpInspectorValidationError) ErrorName() string { return "HttpInspectorValidationError" } // Error satisfies the builtin error interface func (e HttpInspectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpInspector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpInspectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpInspectorValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/local_ratelimit/000077500000000000000000000000001454502223200267515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/local_ratelimit/v3/000077500000000000000000000000001454502223200273015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/local_ratelimit/v3/local_ratelimit.pb.go000077500000000000000000000263221454502223200334040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/local_ratelimit/v3/local_ratelimit.proto package local_ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LocalRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The token bucket configuration to use for rate limiting all incoming sockets. If the token is available, // the socket will be allowed. If no tokens are available, the socket will be immediately closed. // // .. note:: // // In the current implementation the token bucket's :ref:`fill_interval // ` must be >= 50ms to avoid too aggressive // refills. TokenBucket *v3.TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If not specified, defaults // to enabled. RuntimeEnabled *v31.RuntimeFeatureFlag `protobuf:"bytes,3,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` } func (x *LocalRateLimit) Reset() { *x = LocalRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalRateLimit) ProtoMessage() {} func (x *LocalRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalRateLimit.ProtoReflect.Descriptor instead. func (*LocalRateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescGZIP(), []int{0} } func (x *LocalRateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *LocalRateLimit) GetTokenBucket() *v3.TokenBucket { if x != nil { return x.TokenBucket } return nil } func (x *LocalRateLimit) GetRuntimeEnabled() *v31.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } var File_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xd2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescData = file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDesc ) func file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescData) }) return file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDescData } var file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_goTypes = []interface{}{ (*LocalRateLimit)(nil), // 0: envoy.extensions.filters.listener.local_ratelimit.v3.LocalRateLimit (*v3.TokenBucket)(nil), // 1: envoy.type.v3.TokenBucket (*v31.RuntimeFeatureFlag)(nil), // 2: envoy.config.core.v3.RuntimeFeatureFlag } var file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.listener.local_ratelimit.v3.LocalRateLimit.token_bucket:type_name -> envoy.type.v3.TokenBucket 2, // 1: envoy.extensions.filters.listener.local_ratelimit.v3.LocalRateLimit.runtime_enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_init() } func file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_init() { if File_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto = out.File file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_rawDesc = nil file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_goTypes = nil file_envoy_extensions_filters_listener_local_ratelimit_v3_local_ratelimit_proto_depIdxs = nil } local_ratelimit.pb.validate.go000077500000000000000000000125721454502223200351170ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/local_ratelimit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/local_ratelimit/v3/local_ratelimit.proto package local_ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LocalRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalRateLimitMultiError, // or nil if none found. func (m *LocalRateLimit) ValidateAll() error { return m.validate(true) } func (m *LocalRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := LocalRateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTokenBucket() == nil { err := LocalRateLimitValidationError{ field: "TokenBucket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LocalRateLimitMultiError(errors) } return nil } // LocalRateLimitMultiError is an error wrapping multiple validation errors // returned by LocalRateLimit.ValidateAll() if the designated constraints // aren't met. type LocalRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalRateLimitMultiError) AllErrors() []error { return m } // LocalRateLimitValidationError is the validation error returned by // LocalRateLimit.Validate if the designated constraints aren't met. type LocalRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalRateLimitValidationError) ErrorName() string { return "LocalRateLimitValidationError" } // Error satisfies the builtin error interface func (e LocalRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalRateLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/original_dst/000077500000000000000000000000001454502223200262635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_dst/v3/000077500000000000000000000000001454502223200266135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_dst/v3/original_dst.pb.go000077500000000000000000000174461454502223200322370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/original_dst/v3/original_dst.proto package original_dstv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OriginalDst struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OriginalDst) Reset() { *x = OriginalDst{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalDst) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalDst) ProtoMessage() {} func (x *OriginalDst) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalDst.ProtoReflect.Descriptor instead. func (*OriginalDst) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x42, 0xc6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x44, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x73, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescData = file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDesc ) func file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescData) }) return file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDescData } var file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_goTypes = []interface{}{ (*OriginalDst)(nil), // 0: envoy.extensions.filters.listener.original_dst.v3.OriginalDst } var file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_init() } func file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_init() { if File_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalDst); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto = out.File file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_rawDesc = nil file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_goTypes = nil file_envoy_extensions_filters_listener_original_dst_v3_original_dst_proto_depIdxs = nil } original_dst.pb.validate.go000077500000000000000000000063071454502223200337420ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_dst/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/original_dst/v3/original_dst.proto package original_dstv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalDst with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalDst) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalDst with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalDstMultiError, or // nil if none found. func (m *OriginalDst) ValidateAll() error { return m.validate(true) } func (m *OriginalDst) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OriginalDstMultiError(errors) } return nil } // OriginalDstMultiError is an error wrapping multiple validation errors // returned by OriginalDst.ValidateAll() if the designated constraints aren't met. type OriginalDstMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalDstMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalDstMultiError) AllErrors() []error { return m } // OriginalDstValidationError is the validation error returned by // OriginalDst.Validate if the designated constraints aren't met. type OriginalDstValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalDstValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalDstValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalDstValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalDstValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalDstValidationError) ErrorName() string { return "OriginalDstValidationError" } // Error satisfies the builtin error interface func (e OriginalDstValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalDst.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalDstValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalDstValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/original_src/000077500000000000000000000000001454502223200262605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_src/v3/000077500000000000000000000000001454502223200266105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_src/v3/original_src.pb.go000077500000000000000000000221171454502223200322200ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/original_src/v3/original_src.proto package original_srcv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The Original Src filter binds upstream connections to the original source address determined // for the connection. This address could come from something like the Proxy Protocol filter, or it // could come from trusted http headers. type OriginalSrc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to bind the port to the one used in the original downstream connection. // [#not-implemented-hide:] BindPort bool `protobuf:"varint,1,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"` // Sets the SO_MARK option on the upstream connection's socket to the provided value. Used to // ensure that non-local addresses may be routed back through envoy when binding to the original // source address. The option will not be applied if the mark is 0. Mark uint32 `protobuf:"varint,2,opt,name=mark,proto3" json:"mark,omitempty"` } func (x *OriginalSrc) Reset() { *x = OriginalSrc{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OriginalSrc) String() string { return protoimpl.X.MessageStringOf(x) } func (*OriginalSrc) ProtoMessage() {} func (x *OriginalSrc) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginalSrc.ProtoReflect.Descriptor instead. func (*OriginalSrc) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescGZIP(), []int{0} } func (x *OriginalSrc) GetBindPort() bool { if x != nil { return x.BindPort } return false } func (x *OriginalSrc) GetMark() uint32 { if x != nil { return x.Mark } return 0 } var File_envoy_extensions_filters_listener_original_src_v3_original_src_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x3a, 0x45, 0x9a, 0xc5, 0x88, 0x1e, 0x40, 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x42, 0xc6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescData = file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDesc ) func file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescData) }) return file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDescData } var file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_goTypes = []interface{}{ (*OriginalSrc)(nil), // 0: envoy.extensions.filters.listener.original_src.v3.OriginalSrc } var file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_init() } func file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_init() { if File_envoy_extensions_filters_listener_original_src_v3_original_src_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OriginalSrc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_original_src_v3_original_src_proto = out.File file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_rawDesc = nil file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_goTypes = nil file_envoy_extensions_filters_listener_original_src_v3_original_src_proto_depIdxs = nil } original_src.pb.validate.go000077500000000000000000000064171454502223200337360ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/original_src/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/original_src/v3/original_src.proto package original_srcv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OriginalSrc) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OriginalSrc with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OriginalSrcMultiError, or // nil if none found. func (m *OriginalSrc) ValidateAll() error { return m.validate(true) } func (m *OriginalSrc) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for BindPort // no validation rules for Mark if len(errors) > 0 { return OriginalSrcMultiError(errors) } return nil } // OriginalSrcMultiError is an error wrapping multiple validation errors // returned by OriginalSrc.ValidateAll() if the designated constraints aren't met. type OriginalSrcMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OriginalSrcMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OriginalSrcMultiError) AllErrors() []error { return m } // OriginalSrcValidationError is the validation error returned by // OriginalSrc.Validate if the designated constraints aren't met. type OriginalSrcValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OriginalSrcValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OriginalSrcValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OriginalSrcValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OriginalSrcValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OriginalSrcValidationError) ErrorName() string { return "OriginalSrcValidationError" } // Error satisfies the builtin error interface func (e OriginalSrcValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOriginalSrc.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OriginalSrcValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OriginalSrcValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/proxy_protocol/000077500000000000000000000000001454502223200267075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/proxy_protocol/v3/000077500000000000000000000000001454502223200272375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.pb.go000077500000000000000000000456261454502223200333100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.proto package proxy_protocolv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ProxyProtocol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply to requests. Rules []*ProxyProtocol_Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // Allow requests through that don't use proxy protocol. Defaults to false. // // .. attention:: // // This breaks conformance with the specification. // Only enable if ALL traffic to the listener comes from a trusted source. // For more information on the security implications of this feature, see // https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt // // .. attention:: // // Requests of 12 or fewer bytes that match the proxy protocol v2 signature // and requests of 6 or fewer bytes that match the proxy protocol v1 // signature will timeout (Envoy is unable to differentiate these requests // from incomplete proxy protocol requests). AllowRequestsWithoutProxyProtocol bool `protobuf:"varint,2,opt,name=allow_requests_without_proxy_protocol,json=allowRequestsWithoutProxyProtocol,proto3" json:"allow_requests_without_proxy_protocol,omitempty"` // This config controls which TLVs can be passed to filter state if it is Proxy Protocol // V2 header. If there is no setting for this field, no TLVs will be passed through. // // .. note:: // // If this is configured, you likely also want to set // :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs `, // which controls pass-through for the upstream. PassThroughTlvs *v3.ProxyProtocolPassThroughTLVs `protobuf:"bytes,3,opt,name=pass_through_tlvs,json=passThroughTlvs,proto3" json:"pass_through_tlvs,omitempty"` } func (x *ProxyProtocol) Reset() { *x = ProxyProtocol{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocol) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocol) ProtoMessage() {} func (x *ProxyProtocol) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocol.ProtoReflect.Descriptor instead. func (*ProxyProtocol) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescGZIP(), []int{0} } func (x *ProxyProtocol) GetRules() []*ProxyProtocol_Rule { if x != nil { return x.Rules } return nil } func (x *ProxyProtocol) GetAllowRequestsWithoutProxyProtocol() bool { if x != nil { return x.AllowRequestsWithoutProxyProtocol } return false } func (x *ProxyProtocol) GetPassThroughTlvs() *v3.ProxyProtocolPassThroughTLVs { if x != nil { return x.PassThroughTlvs } return nil } type ProxyProtocol_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *ProxyProtocol_KeyValuePair) Reset() { *x = ProxyProtocol_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocol_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocol_KeyValuePair) ProtoMessage() {} func (x *ProxyProtocol_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocol_KeyValuePair.ProtoReflect.Descriptor instead. func (*ProxyProtocol_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescGZIP(), []int{0, 0} } func (x *ProxyProtocol_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *ProxyProtocol_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } // A Rule defines what metadata to apply when a header is present or missing. type ProxyProtocol_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The type that triggers the rule - required // TLV type is defined as uint8_t in proxy protocol. See `the spec // `_ for details. TlvType uint32 `protobuf:"varint,1,opt,name=tlv_type,json=tlvType,proto3" json:"tlv_type,omitempty"` // If the TLV type is present, apply this metadata KeyValuePair. OnTlvPresent *ProxyProtocol_KeyValuePair `protobuf:"bytes,2,opt,name=on_tlv_present,json=onTlvPresent,proto3" json:"on_tlv_present,omitempty"` } func (x *ProxyProtocol_Rule) Reset() { *x = ProxyProtocol_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocol_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocol_Rule) ProtoMessage() {} func (x *ProxyProtocol_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocol_Rule.ProtoReflect.Descriptor instead. func (*ProxyProtocol_Rule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescGZIP(), []int{0, 1} } func (x *ProxyProtocol_Rule) GetTlvType() uint32 { if x != nil { return x.TlvType } return 0 } func (x *ProxyProtocol_Rule) GetOnTlvPresent() *ProxyProtocol_KeyValuePair { if x != nil { return x.OnTlvPresent } return nil } var File_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x5d, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x25, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x4c, 0x56, 0x73, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x58, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0xa2, 0x01, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x2a, 0x03, 0x10, 0x80, 0x02, 0x52, 0x07, 0x74, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x75, 0x0a, 0x0e, 0x6f, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0c, 0x6f, 0x6e, 0x54, 0x6c, 0x76, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0xce, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescData = file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDesc ) func file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescData) }) return file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDescData } var file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_goTypes = []interface{}{ (*ProxyProtocol)(nil), // 0: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol (*ProxyProtocol_KeyValuePair)(nil), // 1: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair (*ProxyProtocol_Rule)(nil), // 2: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule (*v3.ProxyProtocolPassThroughTLVs)(nil), // 3: envoy.config.core.v3.ProxyProtocolPassThroughTLVs } var file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.rules:type_name -> envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule 3, // 1: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.pass_through_tlvs:type_name -> envoy.config.core.v3.ProxyProtocolPassThroughTLVs 1, // 2: envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule.on_tlv_present:type_name -> envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_init() } func file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_init() { if File_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocol); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocol_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocol_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto = out.File file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_rawDesc = nil file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_goTypes = nil file_envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol_proto_depIdxs = nil } proxy_protocol.pb.validate.go000077500000000000000000000302151454502223200350050ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/proxy_protocol/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.proto package proxy_protocolv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProxyProtocol with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ProxyProtocol) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocol with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ProxyProtocolMultiError, or // nil if none found. func (m *ProxyProtocol) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocol) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocolValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocolValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocolValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowRequestsWithoutProxyProtocol if all { switch v := interface{}(m.GetPassThroughTlvs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocolValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocolValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassThroughTlvs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocolValidationError{ field: "PassThroughTlvs", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ProxyProtocolMultiError(errors) } return nil } // ProxyProtocolMultiError is an error wrapping multiple validation errors // returned by ProxyProtocol.ValidateAll() if the designated constraints // aren't met. type ProxyProtocolMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocolMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocolMultiError) AllErrors() []error { return m } // ProxyProtocolValidationError is the validation error returned by // ProxyProtocol.Validate if the designated constraints aren't met. type ProxyProtocolValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocolValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocolValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocolValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocolValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocolValidationError) ErrorName() string { return "ProxyProtocolValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocolValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocol.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocolValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocolValidationError{} // Validate checks the field values on ProxyProtocol_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProxyProtocol_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocol_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProxyProtocol_KeyValuePairMultiError, or nil if none found. func (m *ProxyProtocol_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocol_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if utf8.RuneCountInString(m.GetKey()) < 1 { err := ProxyProtocol_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ProxyProtocol_KeyValuePairMultiError(errors) } return nil } // ProxyProtocol_KeyValuePairMultiError is an error wrapping multiple // validation errors returned by ProxyProtocol_KeyValuePair.ValidateAll() if // the designated constraints aren't met. type ProxyProtocol_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocol_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocol_KeyValuePairMultiError) AllErrors() []error { return m } // ProxyProtocol_KeyValuePairValidationError is the validation error returned // by ProxyProtocol_KeyValuePair.Validate if the designated constraints aren't met. type ProxyProtocol_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocol_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocol_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocol_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocol_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocol_KeyValuePairValidationError) ErrorName() string { return "ProxyProtocol_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocol_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocol_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocol_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocol_KeyValuePairValidationError{} // Validate checks the field values on ProxyProtocol_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProxyProtocol_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocol_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProxyProtocol_RuleMultiError, or nil if none found. func (m *ProxyProtocol_Rule) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocol_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTlvType() >= 256 { err := ProxyProtocol_RuleValidationError{ field: "TlvType", reason: "value must be less than 256", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnTlvPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocol_RuleValidationError{ field: "OnTlvPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocol_RuleValidationError{ field: "OnTlvPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnTlvPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocol_RuleValidationError{ field: "OnTlvPresent", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ProxyProtocol_RuleMultiError(errors) } return nil } // ProxyProtocol_RuleMultiError is an error wrapping multiple validation errors // returned by ProxyProtocol_Rule.ValidateAll() if the designated constraints // aren't met. type ProxyProtocol_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocol_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocol_RuleMultiError) AllErrors() []error { return m } // ProxyProtocol_RuleValidationError is the validation error returned by // ProxyProtocol_Rule.Validate if the designated constraints aren't met. type ProxyProtocol_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocol_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocol_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocol_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocol_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocol_RuleValidationError) ErrorName() string { return "ProxyProtocol_RuleValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocol_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocol_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocol_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocol_RuleValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/listener/tls_inspector/000077500000000000000000000000001454502223200264755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/tls_inspector/v3/000077500000000000000000000000001454502223200270255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/tls_inspector/v3/tls_inspector.pb.go000077500000000000000000000256641454502223200326640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/listener/tls_inspector/v3/tls_inspector.proto package tls_inspectorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TlsInspector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Populate “JA3“ fingerprint hash using data from the TLS Client Hello packet. Default is false. EnableJa3Fingerprinting *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enable_ja3_fingerprinting,json=enableJa3Fingerprinting,proto3" json:"enable_ja3_fingerprinting,omitempty"` // The size in bytes of the initial buffer requested by the tls_inspector. // If the filter needs to read additional bytes from the socket, the // filter will double the buffer up to it's default maximum of 64KiB. // If this size is not defined, defaults to maximum 64KiB that the // tls inspector will consume. InitialReadBufferSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=initial_read_buffer_size,json=initialReadBufferSize,proto3" json:"initial_read_buffer_size,omitempty"` } func (x *TlsInspector) Reset() { *x = TlsInspector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsInspector) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsInspector) ProtoMessage() {} func (x *TlsInspector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsInspector.ProtoReflect.Descriptor instead. func (*TlsInspector) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescGZIP(), []int{0} } func (x *TlsInspector) GetEnableJa3Fingerprinting() *wrappers.BoolValue { if x != nil { return x.EnableJa3Fingerprinting } return nil } func (x *TlsInspector) GetInitialReadBufferSize() *wrappers.UInt32Value { if x != nil { return x.InitialReadBufferSize } return nil } var File_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x54, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6a, 0x61, 0x33, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4a, 0x61, 0x33, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x63, 0x0a, 0x18, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x10, 0x81, 0x80, 0x04, 0x20, 0xff, 0x01, 0x52, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xca, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x54, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescOnce sync.Once file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescData = file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDesc ) func file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescData) }) return file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDescData } var file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_goTypes = []interface{}{ (*TlsInspector)(nil), // 0: envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector (*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector.enable_ja3_fingerprinting:type_name -> google.protobuf.BoolValue 2, // 1: envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector.initial_read_buffer_size:type_name -> google.protobuf.UInt32Value 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_init() } func file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_init() { if File_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsInspector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_msgTypes, }.Build() File_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto = out.File file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_rawDesc = nil file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_goTypes = nil file_envoy_extensions_filters_listener_tls_inspector_v3_tls_inspector_proto_depIdxs = nil } tls_inspector.pb.validate.go000077500000000000000000000106631454502223200343660ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/listener/tls_inspector/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/listener/tls_inspector/v3/tls_inspector.proto package tls_inspectorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TlsInspector with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsInspector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsInspector with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsInspectorMultiError, or // nil if none found. func (m *TlsInspector) ValidateAll() error { return m.validate(true) } func (m *TlsInspector) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnableJa3Fingerprinting()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsInspectorValidationError{ field: "EnableJa3Fingerprinting", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsInspectorValidationError{ field: "EnableJa3Fingerprinting", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableJa3Fingerprinting()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsInspectorValidationError{ field: "EnableJa3Fingerprinting", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetInitialReadBufferSize(); wrapper != nil { if val := wrapper.GetValue(); val <= 255 || val >= 65537 { err := TlsInspectorValidationError{ field: "InitialReadBufferSize", reason: "value must be inside range (255, 65537)", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return TlsInspectorMultiError(errors) } return nil } // TlsInspectorMultiError is an error wrapping multiple validation errors // returned by TlsInspector.ValidateAll() if the designated constraints aren't met. type TlsInspectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsInspectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsInspectorMultiError) AllErrors() []error { return m } // TlsInspectorValidationError is the validation error returned by // TlsInspector.Validate if the designated constraints aren't met. type TlsInspectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsInspectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsInspectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsInspectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsInspectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsInspectorValidationError) ErrorName() string { return "TlsInspectorValidationError" } // Error satisfies the builtin error interface func (e TlsInspectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsInspector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsInspectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsInspectorValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/000077500000000000000000000000001454502223200234515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/connection_limit/000077500000000000000000000000001454502223200270065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/connection_limit/v3/000077500000000000000000000000001454502223200273365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/connection_limit/v3/connection_limit.pb.go000077500000000000000000000306141454502223200336310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/connection_limit/v3/connection_limit.proto package connection_limitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ConnectionLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The max connections configuration to use for new incoming connections that are processed // by the filter's filter chain. When max_connection is reached, the incoming connection // will be closed after delay duration. MaxConnections *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // The delay configuration to use for rejecting the connection after some specified time duration // instead of immediately rejecting the connection. That way, a malicious user is not able to // retry as fast as possible which provides a better DoS protection for Envoy. If this is not present, // the connection will be closed immediately. Delay *duration.Duration `protobuf:"bytes,3,opt,name=delay,proto3" json:"delay,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If not specified, defaults // to enabled. RuntimeEnabled *v3.RuntimeFeatureFlag `protobuf:"bytes,4,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` } func (x *ConnectionLimit) Reset() { *x = ConnectionLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConnectionLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConnectionLimit) ProtoMessage() {} func (x *ConnectionLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConnectionLimit.ProtoReflect.Descriptor instead. func (*ConnectionLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescGZIP(), []int{0} } func (x *ConnectionLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ConnectionLimit) GetMaxConnections() *wrappers.UInt64Value { if x != nil { return x.MaxConnections } return nil } func (x *ConnectionLimit) GetDelay() *duration.Duration { if x != nil { return x.Delay } return nil } func (x *ConnectionLimit) GetRuntimeEnabled() *v3.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } var File_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x4e, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xd4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescData = file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDesc ) func file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescData) }) return file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDescData } var file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_goTypes = []interface{}{ (*ConnectionLimit)(nil), // 0: envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit (*wrappers.UInt64Value)(nil), // 1: google.protobuf.UInt64Value (*duration.Duration)(nil), // 2: google.protobuf.Duration (*v3.RuntimeFeatureFlag)(nil), // 3: envoy.config.core.v3.RuntimeFeatureFlag } var file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit.max_connections:type_name -> google.protobuf.UInt64Value 2, // 1: envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit.delay:type_name -> google.protobuf.Duration 3, // 2: envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit.runtime_enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_init() } func file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_init() { if File_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConnectionLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto = out.File file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_rawDesc = nil file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_goTypes = nil file_envoy_extensions_filters_network_connection_limit_v3_connection_limit_proto_depIdxs = nil } connection_limit.pb.validate.go000077500000000000000000000127341454502223200353450ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/connection_limit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/connection_limit/v3/connection_limit.proto package connection_limitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ConnectionLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ConnectionLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConnectionLimit with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConnectionLimitMultiError, or nil if none found. func (m *ConnectionLimit) ValidateAll() error { return m.validate(true) } func (m *ConnectionLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := ConnectionLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMaxConnections(); wrapper != nil { if wrapper.GetValue() < 1 { err := ConnectionLimitValidationError{ field: "MaxConnections", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionLimitValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionLimitValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionLimitValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConnectionLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConnectionLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConnectionLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConnectionLimitMultiError(errors) } return nil } // ConnectionLimitMultiError is an error wrapping multiple validation errors // returned by ConnectionLimit.ValidateAll() if the designated constraints // aren't met. type ConnectionLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConnectionLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConnectionLimitMultiError) AllErrors() []error { return m } // ConnectionLimitValidationError is the validation error returned by // ConnectionLimit.Validate if the designated constraints aren't met. type ConnectionLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConnectionLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConnectionLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConnectionLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConnectionLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConnectionLimitValidationError) ErrorName() string { return "ConnectionLimitValidationError" } // Error satisfies the builtin error interface func (e ConnectionLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConnectionLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConnectionLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConnectionLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/direct_response/000077500000000000000000000000001454502223200266415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/direct_response/v3/000077500000000000000000000000001454502223200271715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/direct_response/v3/config.pb.go000077500000000000000000000212031454502223200313660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/direct_response/v3/config.proto package direct_responsev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Response data as a data source. Response *v3.DataSource `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_direct_response_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_direct_response_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescGZIP(), []int{0} } func (x *Config) GetResponse() *v3.DataSource { if x != nil { return x.Response } return nil } var File_envoy_extensions_filters_network_direct_response_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescData = file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDesc ) func file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescData) }) return file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDescData } var file_envoy_extensions_filters_network_direct_response_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_direct_response_v3_config_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.filters.network.direct_response.v3.Config (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource } var file_envoy_extensions_filters_network_direct_response_v3_config_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.direct_response.v3.Config.response:type_name -> envoy.config.core.v3.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_direct_response_v3_config_proto_init() } func file_envoy_extensions_filters_network_direct_response_v3_config_proto_init() { if File_envoy_extensions_filters_network_direct_response_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_direct_response_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_direct_response_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_direct_response_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_direct_response_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_direct_response_v3_config_proto = out.File file_envoy_extensions_filters_network_direct_response_v3_config_proto_rawDesc = nil file_envoy_extensions_filters_network_direct_response_v3_config_proto_goTypes = nil file_envoy_extensions_filters_network_direct_response_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/direct_response/v3/config.pb.validate.go000077500000000000000000000075531454502223200331720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/direct_response/v3/config.proto package direct_responsev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/000077500000000000000000000000001454502223200260055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/router/000077500000000000000000000000001454502223200273255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/router/v3/000077500000000000000000000000001454502223200276555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/router/v3/router.pb.go000077500000000000000000000172251454502223200321360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/dubbo_proxy/router/v3/router.proto package routerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescData = file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDesc ) func file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescData) }) return file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDescData } var file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.extensions.filters.network.dubbo_proxy.router.v3.Router } var file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_init() } func file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_init() { if File_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto = out.File file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_rawDesc = nil file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_goTypes = nil file_envoy_extensions_filters_network_dubbo_proxy_router_v3_router_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/router/v3/router.pb.validate.go000077500000000000000000000061001454502223200337140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/dubbo_proxy/router/v3/router.proto package routerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/v3/000077500000000000000000000000001454502223200263355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.pb.go000077500000000000000000000701671454502223200316360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.proto package dubbo_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Dubbo Protocol types supported by Envoy. type ProtocolType int32 const ( // the default protocol. ProtocolType_Dubbo ProtocolType = 0 ) // Enum value maps for ProtocolType. var ( ProtocolType_name = map[int32]string{ 0: "Dubbo", } ProtocolType_value = map[string]int32{ "Dubbo": 0, } ) func (x ProtocolType) Enum() *ProtocolType { p := new(ProtocolType) *p = x return p } func (x ProtocolType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProtocolType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes[0].Descriptor() } func (ProtocolType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes[0] } func (x ProtocolType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProtocolType.Descriptor instead. func (ProtocolType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP(), []int{0} } // Dubbo Serialization types supported by Envoy. type SerializationType int32 const ( // the default serialization protocol. SerializationType_Hessian2 SerializationType = 0 ) // Enum value maps for SerializationType. var ( SerializationType_name = map[int32]string{ 0: "Hessian2", } SerializationType_value = map[string]int32{ "Hessian2": 0, } ) func (x SerializationType) Enum() *SerializationType { p := new(SerializationType) *p = x return p } func (x SerializationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SerializationType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes[1].Descriptor() } func (SerializationType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes[1] } func (x SerializationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SerializationType.Descriptor instead. func (SerializationType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP(), []int{1} } type Drds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier. // In case of “api_config_source“ only aggregated “api_type“ is supported. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the multiple route configuration. This allows to use different multiple route // configurations. Tells which multiple route configuration should be fetched from the configuration // source. Leave unspecified is also valid and means the unnamed multiple route configuration. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` } func (x *Drds) Reset() { *x = Drds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Drds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Drds) ProtoMessage() {} func (x *Drds) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Drds.ProtoReflect.Descriptor instead. func (*Drds) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP(), []int{0} } func (x *Drds) GetConfigSource() *v3.ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *Drds) GetRouteConfigName() string { if x != nil { return x.RouteConfigName } return "" } // [#next-free-field: 8] type DubboProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Configure the protocol used. ProtocolType ProtocolType `protobuf:"varint,2,opt,name=protocol_type,json=protocolType,proto3,enum=envoy.extensions.filters.network.dubbo_proxy.v3.ProtocolType" json:"protocol_type,omitempty"` // Configure the serialization protocol used. SerializationType SerializationType `protobuf:"varint,3,opt,name=serialization_type,json=serializationType,proto3,enum=envoy.extensions.filters.network.dubbo_proxy.v3.SerializationType" json:"serialization_type,omitempty"` // The route table for the connection manager is static and is specified in this property. // // .. note:: // // This field is deprecated. Please use ``drds`` or ``multiple_route_config`` first. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.proto. RouteConfig []*RouteConfiguration `protobuf:"bytes,4,rep,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // Types that are assignable to RouteSpecifier: // // *DubboProxy_Drds // *DubboProxy_MultipleRouteConfig RouteSpecifier isDubboProxy_RouteSpecifier `protobuf_oneof:"route_specifier"` // A list of individual Dubbo filters that make up the filter chain for requests made to the // Dubbo proxy. Order matters as the filters are processed sequentially. For backwards // compatibility, if no dubbo_filters are specified, a default Dubbo router filter // (“envoy.filters.dubbo.router“) is used. DubboFilters []*DubboFilter `protobuf:"bytes,5,rep,name=dubbo_filters,json=dubboFilters,proto3" json:"dubbo_filters,omitempty"` } func (x *DubboProxy) Reset() { *x = DubboProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DubboProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DubboProxy) ProtoMessage() {} func (x *DubboProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DubboProxy.ProtoReflect.Descriptor instead. func (*DubboProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP(), []int{1} } func (x *DubboProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *DubboProxy) GetProtocolType() ProtocolType { if x != nil { return x.ProtocolType } return ProtocolType_Dubbo } func (x *DubboProxy) GetSerializationType() SerializationType { if x != nil { return x.SerializationType } return SerializationType_Hessian2 } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.proto. func (x *DubboProxy) GetRouteConfig() []*RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (m *DubboProxy) GetRouteSpecifier() isDubboProxy_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } func (x *DubboProxy) GetDrds() *Drds { if x, ok := x.GetRouteSpecifier().(*DubboProxy_Drds); ok { return x.Drds } return nil } func (x *DubboProxy) GetMultipleRouteConfig() *MultipleRouteConfiguration { if x, ok := x.GetRouteSpecifier().(*DubboProxy_MultipleRouteConfig); ok { return x.MultipleRouteConfig } return nil } func (x *DubboProxy) GetDubboFilters() []*DubboFilter { if x != nil { return x.DubboFilters } return nil } type isDubboProxy_RouteSpecifier interface { isDubboProxy_RouteSpecifier() } type DubboProxy_Drds struct { // Use xDS to fetch the route configuration. It is invalid to define both “route_config“ and “drds“. Drds *Drds `protobuf:"bytes,6,opt,name=drds,proto3,oneof"` } type DubboProxy_MultipleRouteConfig struct { MultipleRouteConfig *MultipleRouteConfiguration `protobuf:"bytes,7,opt,name=multiple_route_config,json=multipleRouteConfig,proto3,oneof"` } func (*DubboProxy_Drds) isDubboProxy_RouteSpecifier() {} func (*DubboProxy_MultipleRouteConfig) isDubboProxy_RouteSpecifier() {} // DubboFilter configures a Dubbo filter. type DubboFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a supported // filter. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. Config *any1.Any `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *DubboFilter) Reset() { *x = DubboFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DubboFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*DubboFilter) ProtoMessage() {} func (x *DubboFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DubboFilter.ProtoReflect.Descriptor instead. func (*DubboFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP(), []int{2} } func (x *DubboFilter) GetName() string { if x != nil { return x.Name } return "" } func (x *DubboFilter) GetConfig() *any1.Any { if x != nil { return x.Config } return nil } var File_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x04, 0x44, 0x72, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xba, 0x06, 0x0a, 0x0a, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x6c, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x04, 0x64, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x72, 0x64, 0x73, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x72, 0x64, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x15, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x0d, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x9d, 0x01, 0x0a, 0x0b, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2a, 0x19, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x10, 0x00, 0x2a, 0x21, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x65, 0x73, 0x73, 0x69, 0x61, 0x6e, 0x32, 0x10, 0x00, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescData = file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_goTypes = []interface{}{ (ProtocolType)(0), // 0: envoy.extensions.filters.network.dubbo_proxy.v3.ProtocolType (SerializationType)(0), // 1: envoy.extensions.filters.network.dubbo_proxy.v3.SerializationType (*Drds)(nil), // 2: envoy.extensions.filters.network.dubbo_proxy.v3.Drds (*DubboProxy)(nil), // 3: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy (*DubboFilter)(nil), // 4: envoy.extensions.filters.network.dubbo_proxy.v3.DubboFilter (*v3.ConfigSource)(nil), // 5: envoy.config.core.v3.ConfigSource (*RouteConfiguration)(nil), // 6: envoy.extensions.filters.network.dubbo_proxy.v3.RouteConfiguration (*MultipleRouteConfiguration)(nil), // 7: envoy.extensions.filters.network.dubbo_proxy.v3.MultipleRouteConfiguration (*any1.Any)(nil), // 8: google.protobuf.Any } var file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_depIdxs = []int32{ 5, // 0: envoy.extensions.filters.network.dubbo_proxy.v3.Drds.config_source:type_name -> envoy.config.core.v3.ConfigSource 0, // 1: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.protocol_type:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.ProtocolType 1, // 2: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.serialization_type:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.SerializationType 6, // 3: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.route_config:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.RouteConfiguration 2, // 4: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.drds:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.Drds 7, // 5: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.multiple_route_config:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.MultipleRouteConfiguration 4, // 6: envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy.dubbo_filters:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.DubboFilter 8, // 7: envoy.extensions.filters.network.dubbo_proxy.v3.DubboFilter.config:type_name -> google.protobuf.Any 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_init() } func file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_init() { if File_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto != nil { return } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Drds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DubboProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DubboFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DubboProxy_Drds)(nil), (*DubboProxy_MultipleRouteConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto = out.File file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_dubbo_proxy_v3_dubbo_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.pb.validate.go000077500000000000000000000361351454502223200334230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.proto package dubbo_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Drds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Drds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Drds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in DrdsMultiError, or nil if none found. func (m *Drds) ValidateAll() error { return m.validate(true) } func (m *Drds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := DrdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RouteConfigName if len(errors) > 0 { return DrdsMultiError(errors) } return nil } // DrdsMultiError is an error wrapping multiple validation errors returned by // Drds.ValidateAll() if the designated constraints aren't met. type DrdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DrdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DrdsMultiError) AllErrors() []error { return m } // DrdsValidationError is the validation error returned by Drds.Validate if the // designated constraints aren't met. type DrdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DrdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DrdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DrdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DrdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DrdsValidationError) ErrorName() string { return "DrdsValidationError" } // Error satisfies the builtin error interface func (e DrdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDrds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DrdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DrdsValidationError{} // Validate checks the field values on DubboProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DubboProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DubboProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DubboProxyMultiError, or // nil if none found. func (m *DubboProxy) ValidateAll() error { return m.validate(true) } func (m *DubboProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := DubboProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocolType())]; !ok { err := DubboProxyValidationError{ field: "ProtocolType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := SerializationType_name[int32(m.GetSerializationType())]; !ok { err := DubboProxyValidationError{ field: "SerializationType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRouteConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetDubboFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: fmt.Sprintf("DubboFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } switch v := m.RouteSpecifier.(type) { case *DubboProxy_Drds: if v == nil { err := DubboProxyValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDrds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: "Drds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: "Drds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: "Drds", reason: "embedded message failed validation", cause: err, } } } case *DubboProxy_MultipleRouteConfig: if v == nil { err := DubboProxyValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMultipleRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboProxyValidationError{ field: "MultipleRouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboProxyValidationError{ field: "MultipleRouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMultipleRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboProxyValidationError{ field: "MultipleRouteConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return DubboProxyMultiError(errors) } return nil } // DubboProxyMultiError is an error wrapping multiple validation errors // returned by DubboProxy.ValidateAll() if the designated constraints aren't met. type DubboProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DubboProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DubboProxyMultiError) AllErrors() []error { return m } // DubboProxyValidationError is the validation error returned by // DubboProxy.Validate if the designated constraints aren't met. type DubboProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DubboProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DubboProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DubboProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DubboProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DubboProxyValidationError) ErrorName() string { return "DubboProxyValidationError" } // Error satisfies the builtin error interface func (e DubboProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDubboProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DubboProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DubboProxyValidationError{} // Validate checks the field values on DubboFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DubboFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DubboFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DubboFilterMultiError, or // nil if none found. func (m *DubboFilter) ValidateAll() error { return m.validate(true) } func (m *DubboFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := DubboFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DubboFilterValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DubboFilterMultiError(errors) } return nil } // DubboFilterMultiError is an error wrapping multiple validation errors // returned by DubboFilter.ValidateAll() if the designated constraints aren't met. type DubboFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DubboFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DubboFilterMultiError) AllErrors() []error { return m } // DubboFilterValidationError is the validation error returned by // DubboFilter.Validate if the designated constraints aren't met. type DubboFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DubboFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DubboFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DubboFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DubboFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DubboFilterValidationError) ErrorName() string { return "DubboFilterValidationError" } // Error satisfies the builtin error interface func (e DubboFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDubboFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DubboFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DubboFilterValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/v3/route.pb.go000077500000000000000000001173511454502223200304350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/dubbo_proxy/v3/route.proto package dubbo_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. Reserved for future use in asynchronous route discovery. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The interface name of the service. Wildcard interface are supported in the suffix or prefix form. // e.g. “*.methods.add“ will match “com.dev.methods.add“, “com.prod.methods.add“, etc. // “com.dev.methods.*“ will match “com.dev.methods.add“, “com.dev.methods.update“, etc. // Special wildcard “*“ matching any interface. // // .. note:: // // The wildcard will not match the empty string. // e.g. ``*.methods.add`` will match ``com.dev.methods.add`` but not ``.methods.add``. Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"` // Which group does the interface belong to. Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` // The version number of the interface. Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,5,rep,name=routes,proto3" json:"routes,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetInterface() string { if x != nil { return x.Interface } return "" } func (x *RouteConfiguration) GetGroup() string { if x != nil { return x.Group } return "" } func (x *RouteConfiguration) GetVersion() string { if x != nil { return x.Version } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Method level routing matching. Method *MethodMatch `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` // Specifies a set of headers that the route should match on. The router will check the request’s // headers against all the specified headers in the route config. A match will happen if all the // headers in the route are present in the request with the same values (or based on presence if // the value field is not in the config). Headers []*v3.HeaderMatcher `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{2} } func (x *RouteMatch) GetMethod() *MethodMatch { if x != nil { return x.Method } return nil } func (x *RouteMatch) GetHeaders() []*v3.HeaderMatcher { if x != nil { return x.Headers } return nil } type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_WeightedClusters ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field will be considered for // load balancing. The filter name should be specified as “envoy.lb“. MetadataMatch *v31.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{3} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetWeightedClusters() *v3.WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetMetadataMatch() *v31.Metadata { if x != nil { return x.MetadataMatch } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. // Currently ClusterWeight only supports the name and weight fields. WeightedClusters *v3.WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} type MethodMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the method. Name *v32.StringMatcher `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Method parameter definition. // The key is the parameter index, starting from 0. // The value is the parameter matching type. ParamsMatch map[uint32]*MethodMatch_ParameterMatchSpecifier `protobuf:"bytes,2,rep,name=params_match,json=paramsMatch,proto3" json:"params_match,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *MethodMatch) Reset() { *x = MethodMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MethodMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*MethodMatch) ProtoMessage() {} func (x *MethodMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MethodMatch.ProtoReflect.Descriptor instead. func (*MethodMatch) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{4} } func (x *MethodMatch) GetName() *v32.StringMatcher { if x != nil { return x.Name } return nil } func (x *MethodMatch) GetParamsMatch() map[uint32]*MethodMatch_ParameterMatchSpecifier { if x != nil { return x.ParamsMatch } return nil } type MultipleRouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the named route configurations. This name is used in asynchronous route discovery. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The route table of the dubbo connection manager. RouteConfig []*RouteConfiguration `protobuf:"bytes,4,rep,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` } func (x *MultipleRouteConfiguration) Reset() { *x = MultipleRouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultipleRouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultipleRouteConfiguration) ProtoMessage() {} func (x *MultipleRouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MultipleRouteConfiguration.ProtoReflect.Descriptor instead. func (*MultipleRouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{5} } func (x *MultipleRouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *MultipleRouteConfiguration) GetRouteConfig() []*RouteConfiguration { if x != nil { return x.RouteConfig } return nil } // The parameter matching type. type MethodMatch_ParameterMatchSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ParameterMatchSpecifier: // // *MethodMatch_ParameterMatchSpecifier_ExactMatch // *MethodMatch_ParameterMatchSpecifier_RangeMatch ParameterMatchSpecifier isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier `protobuf_oneof:"parameter_match_specifier"` } func (x *MethodMatch_ParameterMatchSpecifier) Reset() { *x = MethodMatch_ParameterMatchSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MethodMatch_ParameterMatchSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*MethodMatch_ParameterMatchSpecifier) ProtoMessage() {} func (x *MethodMatch_ParameterMatchSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MethodMatch_ParameterMatchSpecifier.ProtoReflect.Descriptor instead. func (*MethodMatch_ParameterMatchSpecifier) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP(), []int{4, 0} } func (m *MethodMatch_ParameterMatchSpecifier) GetParameterMatchSpecifier() isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier { if m != nil { return m.ParameterMatchSpecifier } return nil } func (x *MethodMatch_ParameterMatchSpecifier) GetExactMatch() string { if x, ok := x.GetParameterMatchSpecifier().(*MethodMatch_ParameterMatchSpecifier_ExactMatch); ok { return x.ExactMatch } return "" } func (x *MethodMatch_ParameterMatchSpecifier) GetRangeMatch() *v33.Int64Range { if x, ok := x.GetParameterMatchSpecifier().(*MethodMatch_ParameterMatchSpecifier_RangeMatch); ok { return x.RangeMatch } return nil } type isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier interface { isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() } type MethodMatch_ParameterMatchSpecifier_ExactMatch struct { // If specified, header match will be performed based on the value of the header. ExactMatch string `protobuf:"bytes,3,opt,name=exact_match,json=exactMatch,proto3,oneof"` } type MethodMatch_ParameterMatchSpecifier_RangeMatch struct { // If specified, header match will be performed based on range. // The rule will match if the request header value is within this range. // The entire request header value must represent an integer in base 10 notation: consisting // of an optional plus or minus sign followed by a sequence of digits. The rule will not match // if the header value does not represent an integer. Match will fail for empty values, // floating point numbers or if only a subsequence of the header value is an integer. // // Examples: // // - For range [-10,0), route will match for header value -1, but not for 0, // "somestring", 10.9, "-1somestring" RangeMatch *v33.Int64Range `protobuf:"bytes,4,opt,name=range_match,json=rangeMatch,proto3,oneof"` } func (*MethodMatch_ParameterMatchSpecifier_ExactMatch) isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() { } func (*MethodMatch_ParameterMatchSpecifier_RangeMatch) isMethodMatch_ParameterMatchSpecifier_ParameterMatchSpecifier() { } var File_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x02, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5c, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xa6, 0x02, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x8c, 0x05, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x70, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0xf4, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x5b, 0x9a, 0xc5, 0x88, 0x1e, 0x56, 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x94, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x98, 0x01, 0x0a, 0x1a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescData = file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDesc ) func file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescData) }) return file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDescData } var file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.extensions.filters.network.dubbo_proxy.v3.RouteConfiguration (*Route)(nil), // 1: envoy.extensions.filters.network.dubbo_proxy.v3.Route (*RouteMatch)(nil), // 2: envoy.extensions.filters.network.dubbo_proxy.v3.RouteMatch (*RouteAction)(nil), // 3: envoy.extensions.filters.network.dubbo_proxy.v3.RouteAction (*MethodMatch)(nil), // 4: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch (*MultipleRouteConfiguration)(nil), // 5: envoy.extensions.filters.network.dubbo_proxy.v3.MultipleRouteConfiguration (*MethodMatch_ParameterMatchSpecifier)(nil), // 6: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParameterMatchSpecifier nil, // 7: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParamsMatchEntry (*v3.HeaderMatcher)(nil), // 8: envoy.config.route.v3.HeaderMatcher (*v3.WeightedCluster)(nil), // 9: envoy.config.route.v3.WeightedCluster (*v31.Metadata)(nil), // 10: envoy.config.core.v3.Metadata (*v32.StringMatcher)(nil), // 11: envoy.type.matcher.v3.StringMatcher (*v33.Int64Range)(nil), // 12: envoy.type.v3.Int64Range } var file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.dubbo_proxy.v3.RouteConfiguration.routes:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.Route 2, // 1: envoy.extensions.filters.network.dubbo_proxy.v3.Route.match:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.RouteMatch 3, // 2: envoy.extensions.filters.network.dubbo_proxy.v3.Route.route:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.RouteAction 4, // 3: envoy.extensions.filters.network.dubbo_proxy.v3.RouteMatch.method:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch 8, // 4: envoy.extensions.filters.network.dubbo_proxy.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 9, // 5: envoy.extensions.filters.network.dubbo_proxy.v3.RouteAction.weighted_clusters:type_name -> envoy.config.route.v3.WeightedCluster 10, // 6: envoy.extensions.filters.network.dubbo_proxy.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata 11, // 7: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.name:type_name -> envoy.type.matcher.v3.StringMatcher 7, // 8: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.params_match:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParamsMatchEntry 0, // 9: envoy.extensions.filters.network.dubbo_proxy.v3.MultipleRouteConfiguration.route_config:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.RouteConfiguration 12, // 10: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParameterMatchSpecifier.range_match:type_name -> envoy.type.v3.Int64Range 6, // 11: envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParamsMatchEntry.value:type_name -> envoy.extensions.filters.network.dubbo_proxy.v3.MethodMatch.ParameterMatchSpecifier 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_init() } func file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_init() { if File_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MethodMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultipleRouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MethodMatch_ParameterMatchSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_WeightedClusters)(nil), } file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes[6].OneofWrappers = []interface{}{ (*MethodMatch_ParameterMatchSpecifier_ExactMatch)(nil), (*MethodMatch_ParameterMatchSpecifier_RangeMatch)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto = out.File file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_rawDesc = nil file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_goTypes = nil file_envoy_extensions_filters_network_dubbo_proxy_v3_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/dubbo_proxy/v3/route.pb.validate.go000077500000000000000000000773171454502223200322340ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/dubbo_proxy/v3/route.proto package dubbo_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for Interface // no validation rules for Group // no validation rules for Version for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMethod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMethod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: "Method", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for Cluster case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} // Validate checks the field values on MethodMatch with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MethodMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MethodMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MethodMatchMultiError, or // nil if none found. func (m *MethodMatch) ValidateAll() error { return m.validate(true) } func (m *MethodMatch) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatchValidationError{ field: "Name", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]uint32, len(m.GetParamsMatch())) i := 0 for key := range m.GetParamsMatch() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetParamsMatch()[key] _ = val // no validation rules for ParamsMatch[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatchValidationError{ field: fmt.Sprintf("ParamsMatch[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return MethodMatchMultiError(errors) } return nil } // MethodMatchMultiError is an error wrapping multiple validation errors // returned by MethodMatch.ValidateAll() if the designated constraints aren't met. type MethodMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MethodMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MethodMatchMultiError) AllErrors() []error { return m } // MethodMatchValidationError is the validation error returned by // MethodMatch.Validate if the designated constraints aren't met. type MethodMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MethodMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MethodMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MethodMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MethodMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MethodMatchValidationError) ErrorName() string { return "MethodMatchValidationError" } // Error satisfies the builtin error interface func (e MethodMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMethodMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MethodMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MethodMatchValidationError{} // Validate checks the field values on MultipleRouteConfiguration with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MultipleRouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MultipleRouteConfiguration with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MultipleRouteConfigurationMultiError, or nil if none found. func (m *MultipleRouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *MultipleRouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetRouteConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MultipleRouteConfigurationValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MultipleRouteConfigurationValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MultipleRouteConfigurationValidationError{ field: fmt.Sprintf("RouteConfig[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MultipleRouteConfigurationMultiError(errors) } return nil } // MultipleRouteConfigurationMultiError is an error wrapping multiple // validation errors returned by MultipleRouteConfiguration.ValidateAll() if // the designated constraints aren't met. type MultipleRouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MultipleRouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MultipleRouteConfigurationMultiError) AllErrors() []error { return m } // MultipleRouteConfigurationValidationError is the validation error returned // by MultipleRouteConfiguration.Validate if the designated constraints aren't met. type MultipleRouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MultipleRouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MultipleRouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MultipleRouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MultipleRouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MultipleRouteConfigurationValidationError) ErrorName() string { return "MultipleRouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e MultipleRouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMultipleRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MultipleRouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MultipleRouteConfigurationValidationError{} // Validate checks the field values on MethodMatch_ParameterMatchSpecifier with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *MethodMatch_ParameterMatchSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MethodMatch_ParameterMatchSpecifier // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // MethodMatch_ParameterMatchSpecifierMultiError, or nil if none found. func (m *MethodMatch_ParameterMatchSpecifier) ValidateAll() error { return m.validate(true) } func (m *MethodMatch_ParameterMatchSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.ParameterMatchSpecifier.(type) { case *MethodMatch_ParameterMatchSpecifier_ExactMatch: if v == nil { err := MethodMatch_ParameterMatchSpecifierValidationError{ field: "ParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ExactMatch case *MethodMatch_ParameterMatchSpecifier_RangeMatch: if v == nil { err := MethodMatch_ParameterMatchSpecifierValidationError{ field: "ParameterMatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRangeMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRangeMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MethodMatch_ParameterMatchSpecifierValidationError{ field: "RangeMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return MethodMatch_ParameterMatchSpecifierMultiError(errors) } return nil } // MethodMatch_ParameterMatchSpecifierMultiError is an error wrapping multiple // validation errors returned by // MethodMatch_ParameterMatchSpecifier.ValidateAll() if the designated // constraints aren't met. type MethodMatch_ParameterMatchSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MethodMatch_ParameterMatchSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MethodMatch_ParameterMatchSpecifierMultiError) AllErrors() []error { return m } // MethodMatch_ParameterMatchSpecifierValidationError is the validation error // returned by MethodMatch_ParameterMatchSpecifier.Validate if the designated // constraints aren't met. type MethodMatch_ParameterMatchSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MethodMatch_ParameterMatchSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MethodMatch_ParameterMatchSpecifierValidationError) ErrorName() string { return "MethodMatch_ParameterMatchSpecifierValidationError" } // Error satisfies the builtin error interface func (e MethodMatch_ParameterMatchSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMethodMatch_ParameterMatchSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MethodMatch_ParameterMatchSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MethodMatch_ParameterMatchSpecifierValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/echo/000077500000000000000000000000001454502223200243675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/echo/v3/000077500000000000000000000000001454502223200247175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/echo/v3/echo.pb.go000077500000000000000000000153521454502223200265750ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/echo/v3/echo.proto package echov3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Echo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Echo) Reset() { *x = Echo{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_echo_v3_echo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Echo) String() string { return protoimpl.X.MessageStringOf(x) } func (*Echo) ProtoMessage() {} func (x *Echo) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_echo_v3_echo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Echo.ProtoReflect.Descriptor instead. func (*Echo) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_network_echo_v3_echo_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x63, 0x68, 0x6f, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x45, 0x63, 0x68, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x63, 0x68, 0x6f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescData = file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDesc ) func file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescData) }) return file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDescData } var file_envoy_extensions_filters_network_echo_v3_echo_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_echo_v3_echo_proto_goTypes = []interface{}{ (*Echo)(nil), // 0: envoy.extensions.filters.network.echo.v3.Echo } var file_envoy_extensions_filters_network_echo_v3_echo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_echo_v3_echo_proto_init() } func file_envoy_extensions_filters_network_echo_v3_echo_proto_init() { if File_envoy_extensions_filters_network_echo_v3_echo_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_echo_v3_echo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Echo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_echo_v3_echo_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_echo_v3_echo_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_echo_v3_echo_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_echo_v3_echo_proto = out.File file_envoy_extensions_filters_network_echo_v3_echo_proto_rawDesc = nil file_envoy_extensions_filters_network_echo_v3_echo_proto_goTypes = nil file_envoy_extensions_filters_network_echo_v3_echo_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/echo/v3/echo.pb.validate.go000077500000000000000000000057741454502223200303740ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/echo/v3/echo.proto package echov3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Echo with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Echo) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Echo with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in EchoMultiError, or nil if none found. func (m *Echo) ValidateAll() error { return m.validate(true) } func (m *Echo) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EchoMultiError(errors) } return nil } // EchoMultiError is an error wrapping multiple validation errors returned by // Echo.ValidateAll() if the designated constraints aren't met. type EchoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EchoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EchoMultiError) AllErrors() []error { return m } // EchoValidationError is the validation error returned by Echo.Validate if the // designated constraints aren't met. type EchoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EchoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EchoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EchoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EchoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EchoValidationError) ErrorName() string { return "EchoValidationError" } // Error satisfies the builtin error interface func (e EchoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEcho.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EchoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EchoValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/ext_authz/000077500000000000000000000000001454502223200254645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/ext_authz/v3/000077500000000000000000000000001454502223200260145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/ext_authz/v3/ext_authz.pb.go000077500000000000000000000364021454502223200307660ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/ext_authz/v3/ext_authz.proto package ext_authzv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // External Authorization filter calls out to an external service over the // gRPC Authorization API defined by // :ref:`CheckRequest `. // A failed check will cause this filter to close the TCP connection. // [#next-free-field: 8] type ExtAuthz struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The external authorization gRPC service configuration. // The default timeout is set to 200ms by this filter. GrpcService *v3.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` // The filter's behaviour in case the external authorization service does // not respond back. When it is set to true, Envoy will also allow traffic in case of // communication failure between authorization service and the proxy. // Defaults to false. FailureModeAllow bool `protobuf:"varint,3,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` // Specifies if the peer certificate is sent to the external service. // // When this field is true, Envoy will include the peer X.509 certificate, if available, in the // :ref:`certificate`. IncludePeerCertificate bool `protobuf:"varint,4,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"` // API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and // version of Check{Request,Response} used on the wire. TransportApiVersion v3.ApiVersion `protobuf:"varint,5,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"` // Specifies if the filter is enabled with metadata matcher. // If this field is not specified, the filter will be enabled for all requests. FilterEnabledMetadata *v31.MetadataMatcher `protobuf:"bytes,6,opt,name=filter_enabled_metadata,json=filterEnabledMetadata,proto3" json:"filter_enabled_metadata,omitempty"` // Optional labels that will be passed to :ref:`labels` in // :ref:`destination`. // The labels will be read from :ref:`metadata` with the specified key. BootstrapMetadataLabelsKey string `protobuf:"bytes,7,opt,name=bootstrap_metadata_labels_key,json=bootstrapMetadataLabelsKey,proto3" json:"bootstrap_metadata_labels_key,omitempty"` } func (x *ExtAuthz) Reset() { *x = ExtAuthz{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExtAuthz) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExtAuthz) ProtoMessage() {} func (x *ExtAuthz) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtAuthz.ProtoReflect.Descriptor instead. func (*ExtAuthz) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescGZIP(), []int{0} } func (x *ExtAuthz) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ExtAuthz) GetGrpcService() *v3.GrpcService { if x != nil { return x.GrpcService } return nil } func (x *ExtAuthz) GetFailureModeAllow() bool { if x != nil { return x.FailureModeAllow } return false } func (x *ExtAuthz) GetIncludePeerCertificate() bool { if x != nil { return x.IncludePeerCertificate } return false } func (x *ExtAuthz) GetTransportApiVersion() v3.ApiVersion { if x != nil { return x.TransportApiVersion } return v3.ApiVersion(0) } func (x *ExtAuthz) GetFilterEnabledMetadata() *v31.MetadataMatcher { if x != nil { return x.FilterEnabledMetadata } return nil } func (x *ExtAuthz) GetBootstrapMetadataLabelsKey() string { if x != nil { return x.BootstrapMetadataLabelsKey } return "" } var File_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x04, 0x0a, 0x08, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x44, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x1d, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x42, 0xb8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescData = file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDesc ) func file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescData) }) return file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDescData } var file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_goTypes = []interface{}{ (*ExtAuthz)(nil), // 0: envoy.extensions.filters.network.ext_authz.v3.ExtAuthz (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService (v3.ApiVersion)(0), // 2: envoy.config.core.v3.ApiVersion (*v31.MetadataMatcher)(nil), // 3: envoy.type.matcher.v3.MetadataMatcher } var file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.ext_authz.v3.ExtAuthz.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 1: envoy.extensions.filters.network.ext_authz.v3.ExtAuthz.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion 3, // 2: envoy.extensions.filters.network.ext_authz.v3.ExtAuthz.filter_enabled_metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_init() } func file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_init() { if File_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExtAuthz); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto = out.File file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_rawDesc = nil file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_goTypes = nil file_envoy_extensions_filters_network_ext_authz_v3_ext_authz_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/ext_authz/v3/ext_authz.pb.validate.go000077500000000000000000000130021454502223200325450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/ext_authz/v3/ext_authz.proto package ext_authzv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ApiVersion(0) ) // Validate checks the field values on ExtAuthz with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ExtAuthz) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ExtAuthz with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ExtAuthzMultiError, or nil // if none found. func (m *ExtAuthz) ValidateAll() error { return m.validate(true) } func (m *ExtAuthz) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := ExtAuthzValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeAllow // no validation rules for IncludePeerCertificate if _, ok := v3.ApiVersion_name[int32(m.GetTransportApiVersion())]; !ok { err := ExtAuthzValidationError{ field: "TransportApiVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilterEnabledMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterEnabledMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ExtAuthzValidationError{ field: "FilterEnabledMetadata", reason: "embedded message failed validation", cause: err, } } } // no validation rules for BootstrapMetadataLabelsKey if len(errors) > 0 { return ExtAuthzMultiError(errors) } return nil } // ExtAuthzMultiError is an error wrapping multiple validation errors returned // by ExtAuthz.ValidateAll() if the designated constraints aren't met. type ExtAuthzMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ExtAuthzMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ExtAuthzMultiError) AllErrors() []error { return m } // ExtAuthzValidationError is the validation error returned by // ExtAuthz.Validate if the designated constraints aren't met. type ExtAuthzValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ExtAuthzValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ExtAuthzValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ExtAuthzValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ExtAuthzValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ExtAuthzValidationError) ErrorName() string { return "ExtAuthzValidationError" } // Error satisfies the builtin error interface func (e ExtAuthzValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sExtAuthz.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ExtAuthzValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ExtAuthzValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/http_connection_manager/000077500000000000000000000000001454502223200303415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/http_connection_manager/v3/000077500000000000000000000000001454502223200306715ustar00rootroot00000000000000http_connection_manager.pb.go000077500000000000000000007371321454502223200364510ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/http_connection_manager/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto package http_connection_managerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v35 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v3" v36 "github.com/envoyproxy/go-control-plane/envoy/type/http/v3" v34 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3" v33 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HttpConnectionManager_CodecType int32 const ( // For every new connection, the connection manager will determine which // codec to use. This mode supports both ALPN for TLS listeners as well as // protocol inference for plaintext listeners. If ALPN data is available, it // is preferred, otherwise protocol inference is used. In almost all cases, // this is the right option to choose for this setting. HttpConnectionManager_AUTO HttpConnectionManager_CodecType = 0 // The connection manager will assume that the client is speaking HTTP/1.1. HttpConnectionManager_HTTP1 HttpConnectionManager_CodecType = 1 // The connection manager will assume that the client is speaking HTTP/2 // (Envoy does not require HTTP/2 to take place over TLS or to use ALPN. // Prior knowledge is allowed). HttpConnectionManager_HTTP2 HttpConnectionManager_CodecType = 2 // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient // to distinguish HTTP1 and HTTP2 traffic. HttpConnectionManager_HTTP3 HttpConnectionManager_CodecType = 3 ) // Enum value maps for HttpConnectionManager_CodecType. var ( HttpConnectionManager_CodecType_name = map[int32]string{ 0: "AUTO", 1: "HTTP1", 2: "HTTP2", 3: "HTTP3", } HttpConnectionManager_CodecType_value = map[string]int32{ "AUTO": 0, "HTTP1": 1, "HTTP2": 2, "HTTP3": 3, } ) func (x HttpConnectionManager_CodecType) Enum() *HttpConnectionManager_CodecType { p := new(HttpConnectionManager_CodecType) *p = x return p } func (x HttpConnectionManager_CodecType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_CodecType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[0].Descriptor() } func (HttpConnectionManager_CodecType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[0] } func (x HttpConnectionManager_CodecType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_CodecType.Descriptor instead. func (HttpConnectionManager_CodecType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} } type HttpConnectionManager_ServerHeaderTransformation int32 const ( // Overwrite any Server header with the contents of server_name. HttpConnectionManager_OVERWRITE HttpConnectionManager_ServerHeaderTransformation = 0 // If no Server header is present, append Server server_name // If a Server header is present, pass it through. HttpConnectionManager_APPEND_IF_ABSENT HttpConnectionManager_ServerHeaderTransformation = 1 // Pass through the value of the server header, and do not append a header // if none is present. HttpConnectionManager_PASS_THROUGH HttpConnectionManager_ServerHeaderTransformation = 2 ) // Enum value maps for HttpConnectionManager_ServerHeaderTransformation. var ( HttpConnectionManager_ServerHeaderTransformation_name = map[int32]string{ 0: "OVERWRITE", 1: "APPEND_IF_ABSENT", 2: "PASS_THROUGH", } HttpConnectionManager_ServerHeaderTransformation_value = map[string]int32{ "OVERWRITE": 0, "APPEND_IF_ABSENT": 1, "PASS_THROUGH": 2, } ) func (x HttpConnectionManager_ServerHeaderTransformation) Enum() *HttpConnectionManager_ServerHeaderTransformation { p := new(HttpConnectionManager_ServerHeaderTransformation) *p = x return p } func (x HttpConnectionManager_ServerHeaderTransformation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_ServerHeaderTransformation) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[1].Descriptor() } func (HttpConnectionManager_ServerHeaderTransformation) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[1] } func (x HttpConnectionManager_ServerHeaderTransformation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_ServerHeaderTransformation.Descriptor instead. func (HttpConnectionManager_ServerHeaderTransformation) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} } // How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP // header. type HttpConnectionManager_ForwardClientCertDetails int32 const ( // Do not send the XFCC header to the next hop. This is the default value. HttpConnectionManager_SANITIZE HttpConnectionManager_ForwardClientCertDetails = 0 // When the client connection is mTLS (Mutual TLS), forward the XFCC header // in the request. HttpConnectionManager_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 1 // When the client connection is mTLS, append the client certificate // information to the request’s XFCC header and forward it. HttpConnectionManager_APPEND_FORWARD HttpConnectionManager_ForwardClientCertDetails = 2 // When the client connection is mTLS, reset the XFCC header with the client // certificate information and send it to the next hop. HttpConnectionManager_SANITIZE_SET HttpConnectionManager_ForwardClientCertDetails = 3 // Always forward the XFCC header in the request, regardless of whether the // client connection is mTLS. HttpConnectionManager_ALWAYS_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 4 ) // Enum value maps for HttpConnectionManager_ForwardClientCertDetails. var ( HttpConnectionManager_ForwardClientCertDetails_name = map[int32]string{ 0: "SANITIZE", 1: "FORWARD_ONLY", 2: "APPEND_FORWARD", 3: "SANITIZE_SET", 4: "ALWAYS_FORWARD_ONLY", } HttpConnectionManager_ForwardClientCertDetails_value = map[string]int32{ "SANITIZE": 0, "FORWARD_ONLY": 1, "APPEND_FORWARD": 2, "SANITIZE_SET": 3, "ALWAYS_FORWARD_ONLY": 4, } ) func (x HttpConnectionManager_ForwardClientCertDetails) Enum() *HttpConnectionManager_ForwardClientCertDetails { p := new(HttpConnectionManager_ForwardClientCertDetails) *p = x return p } func (x HttpConnectionManager_ForwardClientCertDetails) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_ForwardClientCertDetails) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[2].Descriptor() } func (HttpConnectionManager_ForwardClientCertDetails) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[2] } func (x HttpConnectionManager_ForwardClientCertDetails) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_ForwardClientCertDetails.Descriptor instead. func (HttpConnectionManager_ForwardClientCertDetails) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} } // Determines the action for request that contain %2F, %2f, %5C or %5c sequences in the URI path. // This operation occurs before URL normalization and the merge slashes transformations if they were enabled. type HttpConnectionManager_PathWithEscapedSlashesAction int32 const ( // Default behavior specific to implementation (i.e. Envoy) of this configuration option. // Envoy, by default, takes the KEEP_UNCHANGED action. // NOTE: the implementation may change the default behavior at-will. HttpConnectionManager_IMPLEMENTATION_SPECIFIC_DEFAULT HttpConnectionManager_PathWithEscapedSlashesAction = 0 // Keep escaped slashes. HttpConnectionManager_KEEP_UNCHANGED HttpConnectionManager_PathWithEscapedSlashesAction = 1 // Reject client request with the 400 status. gRPC requests will be rejected with the INTERNAL (13) error code. // The "httpN.downstream_rq_failed_path_normalization" counter is incremented for each rejected request. HttpConnectionManager_REJECT_REQUEST HttpConnectionManager_PathWithEscapedSlashesAction = 2 // Unescape %2F and %5C sequences and redirect request to the new path if these sequences were present. // Redirect occurs after path normalization and merge slashes transformations if they were configured. // NOTE: gRPC requests will be rejected with the INTERNAL (13) error code. // This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to // traverse all parties: downstream client, intermediate proxies, Envoy and upstream server. // The "httpN.downstream_rq_redirected_with_normalized_path" counter is incremented for each // redirected request. HttpConnectionManager_UNESCAPE_AND_REDIRECT HttpConnectionManager_PathWithEscapedSlashesAction = 3 // Unescape %2F and %5C sequences. // Note: this option should not be enabled if intermediaries perform path based access control as // it may lead to path confusion vulnerabilities. HttpConnectionManager_UNESCAPE_AND_FORWARD HttpConnectionManager_PathWithEscapedSlashesAction = 4 ) // Enum value maps for HttpConnectionManager_PathWithEscapedSlashesAction. var ( HttpConnectionManager_PathWithEscapedSlashesAction_name = map[int32]string{ 0: "IMPLEMENTATION_SPECIFIC_DEFAULT", 1: "KEEP_UNCHANGED", 2: "REJECT_REQUEST", 3: "UNESCAPE_AND_REDIRECT", 4: "UNESCAPE_AND_FORWARD", } HttpConnectionManager_PathWithEscapedSlashesAction_value = map[string]int32{ "IMPLEMENTATION_SPECIFIC_DEFAULT": 0, "KEEP_UNCHANGED": 1, "REJECT_REQUEST": 2, "UNESCAPE_AND_REDIRECT": 3, "UNESCAPE_AND_FORWARD": 4, } ) func (x HttpConnectionManager_PathWithEscapedSlashesAction) Enum() *HttpConnectionManager_PathWithEscapedSlashesAction { p := new(HttpConnectionManager_PathWithEscapedSlashesAction) *p = x return p } func (x HttpConnectionManager_PathWithEscapedSlashesAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_PathWithEscapedSlashesAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[3].Descriptor() } func (HttpConnectionManager_PathWithEscapedSlashesAction) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[3] } func (x HttpConnectionManager_PathWithEscapedSlashesAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_PathWithEscapedSlashesAction.Descriptor instead. func (HttpConnectionManager_PathWithEscapedSlashesAction) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} } type HttpConnectionManager_Tracing_OperationName int32 const ( // The HTTP listener is used for ingress/incoming requests. HttpConnectionManager_Tracing_INGRESS HttpConnectionManager_Tracing_OperationName = 0 // The HTTP listener is used for egress/outgoing requests. HttpConnectionManager_Tracing_EGRESS HttpConnectionManager_Tracing_OperationName = 1 ) // Enum value maps for HttpConnectionManager_Tracing_OperationName. var ( HttpConnectionManager_Tracing_OperationName_name = map[int32]string{ 0: "INGRESS", 1: "EGRESS", } HttpConnectionManager_Tracing_OperationName_value = map[string]int32{ "INGRESS": 0, "EGRESS": 1, } ) func (x HttpConnectionManager_Tracing_OperationName) Enum() *HttpConnectionManager_Tracing_OperationName { p := new(HttpConnectionManager_Tracing_OperationName) *p = x return p } func (x HttpConnectionManager_Tracing_OperationName) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HttpConnectionManager_Tracing_OperationName) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4].Descriptor() } func (HttpConnectionManager_Tracing_OperationName) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4] } func (x HttpConnectionManager_Tracing_OperationName) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HttpConnectionManager_Tracing_OperationName.Descriptor instead. func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 0, 0} } // [#next-free-field: 57] type HttpConnectionManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of codec that the connection manager should use. CodecType HttpConnectionManager_CodecType `protobuf:"varint,1,opt,name=codec_type,json=codecType,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_CodecType" json:"codec_type,omitempty"` // The human readable prefix to use when emitting statistics for the // connection manager. See the :ref:`statistics documentation ` for // more information. StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to RouteSpecifier: // // *HttpConnectionManager_Rds // *HttpConnectionManager_RouteConfig // *HttpConnectionManager_ScopedRoutes RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"` // A list of individual HTTP filters that make up the filter chain for // requests made to the connection manager. :ref:`Order matters ` // as the filters are processed sequentially as request events happen. HttpFilters []*HttpFilter `protobuf:"bytes,5,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"` // Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent` // and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked // documentation for more information. Defaults to false. AddUserAgent *wrappers.BoolValue `protobuf:"bytes,6,opt,name=add_user_agent,json=addUserAgent,proto3" json:"add_user_agent,omitempty"` // Presence of the object defines whether the connection manager // emits :ref:`tracing ` data to the :ref:`configured tracing provider // `. Tracing *HttpConnectionManager_Tracing `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"` // Additional settings for HTTP requests handled by the connection manager. These will be // applicable to both HTTP1 and HTTP2 requests. CommonHttpProtocolOptions *v3.HttpProtocolOptions `protobuf:"bytes,35,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` // Additional HTTP/1 settings that are passed to the HTTP/1 codec. // [#comment:TODO: The following fields are ignored when the // :ref:`header validation configuration ` // is present: // 1. :ref:`allow_chunked_length `] HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,8,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` // Additional HTTP/2 settings that are passed directly to the HTTP/2 codec. Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,9,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // Additional HTTP/3 settings that are passed directly to the HTTP/3 codec. // [#not-implemented-hide:] Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,44,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"` // An optional override that the connection manager will write to the server // header in responses. If not set, the default is “envoy“. ServerName string `protobuf:"bytes,10,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` // Defines the action to be applied to the Server header on the response path. // By default, Envoy will overwrite the header with the value specified in // server_name. ServerHeaderTransformation HttpConnectionManager_ServerHeaderTransformation `protobuf:"varint,34,opt,name=server_header_transformation,json=serverHeaderTransformation,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_ServerHeaderTransformation" json:"server_header_transformation,omitempty"` // Allows for explicit transformation of the :scheme header on the request path. // If not set, Envoy's default :ref:`scheme ` // handling applies. SchemeHeaderTransformation *v3.SchemeHeaderTransformation `protobuf:"bytes,48,opt,name=scheme_header_transformation,json=schemeHeaderTransformation,proto3" json:"scheme_header_transformation,omitempty"` // The maximum request headers size for incoming connections. // If unconfigured, the default max request headers allowed is 60 KiB. // Requests that exceed this limit will receive a 431 response. MaxRequestHeadersKb *wrappers.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"` // The stream idle timeout for connections managed by the connection manager. // If not specified, this defaults to 5 minutes. The default value was selected // so as not to interfere with any smaller configured timeouts that may have // existed in configurations prior to the introduction of this feature, while // introducing robustness to TCP connections that terminate without a FIN. // // This idle timeout applies to new streams and is overridable by the // :ref:`route-level idle_timeout // `. Even on a stream in // which the override applies, prior to receipt of the initial request // headers, the :ref:`stream_idle_timeout // ` // applies. Each time an encode/decode event for headers or data is processed // for the stream, the timer will be reset. If the timeout fires, the stream // is terminated with a 408 Request Timeout error code if no upstream response // header has been received, otherwise a stream reset occurs. // // This timeout also specifies the amount of time that Envoy will wait for the peer to open enough // window to write any remaining stream data once the entirety of stream data (local end stream is // true) has been buffered pending available window. In other words, this timeout defends against // a peer that does not release enough window to completely write the stream, even though all // data has been proxied within available flow control windows. If the timeout is hit in this // case, the :ref:`tx_flush_timeout ` counter will be // incremented. Note that :ref:`max_stream_duration // ` does not apply to // this corner case. // // If the :ref:`overload action ` "envoy.overload_actions.reduce_timeouts" // is configured, this timeout is scaled according to the value for // :ref:`HTTP_DOWNSTREAM_STREAM_IDLE `. // // Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due // to the granularity of events presented to the connection manager. For example, while receiving // very large request headers, it may be the case that there is traffic regularly arriving on the // wire while the connection manage is only able to observe the end-of-headers event, hence the // stream may still idle timeout. // // A value of 0 will completely disable the connection manager stream idle // timeout, although per-route idle timeout overrides will continue to apply. StreamIdleTimeout *duration.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` // The amount of time that Envoy will wait for the entire request to be received. // The timer is activated when the request is initiated, and is disarmed when the last byte of the // request is sent upstream (i.e. all decoding filters have processed the request), OR when the // response is initiated. If not specified or set to 0, this timeout is disabled. RequestTimeout *duration.Duration `protobuf:"bytes,28,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` // The amount of time that Envoy will wait for the request headers to be received. The timer is // activated when the first byte of the headers is received, and is disarmed when the last byte of // the headers has been received. If not specified or set to 0, this timeout is disabled. RequestHeadersTimeout *duration.Duration `protobuf:"bytes,41,opt,name=request_headers_timeout,json=requestHeadersTimeout,proto3" json:"request_headers_timeout,omitempty"` // The time that Envoy will wait between sending an HTTP/2 “shutdown // notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame. // This is used so that Envoy provides a grace period for new streams that // race with the final GOAWAY frame. During this grace period, Envoy will // continue to accept new streams. After the grace period, a final GOAWAY // frame is sent and Envoy will start refusing new streams. Draining occurs // both when a connection hits the idle timeout or during general server // draining. The default grace period is 5000 milliseconds (5 seconds) if this // option is not specified. DrainTimeout *duration.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"` // The delayed close timeout is for downstream connections managed by the HTTP connection manager. // It is defined as a grace period after connection close processing has been locally initiated // during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy // from the downstream connection) prior to Envoy closing the socket associated with that // connection. // NOTE: This timeout is enforced even when the socket associated with the downstream connection // is pending a flush of the write buffer. However, any progress made writing data to the socket // will restart the timer associated with this timeout. This means that the total grace period for // a socket in this state will be // +. // // Delaying Envoy's connection close and giving the peer the opportunity to initiate the close // sequence mitigates a race condition that exists when downstream clients do not drain/process // data in a connection's receive buffer after a remote close has been detected via a socket // write(). This race leads to such clients failing to process the response code sent by Envoy, // which could result in erroneous downstream processing. // // If the timeout triggers, Envoy will close the connection's socket. // // The default timeout is 1000 ms if this option is not specified. // // .. NOTE:: // // To be useful in avoiding the race condition described above, this timeout must be set // to *at least* +<100ms to account for // a reasonable "worst" case processing time for a full iteration of Envoy's event loop>. // // .. WARNING:: // // A value of 0 will completely disable delayed close processing. When disabled, the downstream // connection's socket will be closed immediately after the write flush is completed or will // never close if the write flush does not complete. DelayedCloseTimeout *duration.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"` // Configuration for :ref:`HTTP access logs ` // emitted by the connection manager. AccessLog []*v31.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // .. attention:: // This field is deprecated in favor of // :ref:`access_log_flush_interval // `. // Note that if both this field and :ref:`access_log_flush_interval // ` // are specified, the former (deprecated field) is ignored. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto. AccessLogFlushInterval *duration.Duration `protobuf:"bytes,54,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` // .. attention:: // This field is deprecated in favor of // :ref:`flush_access_log_on_new_request // `. // Note that if both this field and :ref:`flush_access_log_on_new_request // ` // are specified, the former (deprecated field) is ignored. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto. FlushAccessLogOnNewRequest bool `protobuf:"varint,55,opt,name=flush_access_log_on_new_request,json=flushAccessLogOnNewRequest,proto3" json:"flush_access_log_on_new_request,omitempty"` // Additional access log options for HTTP connection manager. AccessLogOptions *HttpConnectionManager_HcmAccessLogOptions `protobuf:"bytes,56,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"` // If set to true, the connection manager will use the real remote address // of the client connection when determining internal versus external origin and manipulating // various headers. If set to false or absent, the connection manager will use the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for`, // :ref:`config_http_conn_man_headers_x-envoy-internal`, and // :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information. UseRemoteAddress *wrappers.BoolValue `protobuf:"bytes,14,opt,name=use_remote_address,json=useRemoteAddress,proto3" json:"use_remote_address,omitempty"` // The number of additional ingress proxy hops from the right side of the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when // determining the origin client's IP address. The default is zero if this option // is not specified. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. XffNumTrustedHops uint32 `protobuf:"varint,19,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"` // The configuration for the original IP detection extensions. // // When configured the extensions will be called along with the request headers // and information about the downstream connection, such as the directly connected address. // Each extension will then use these parameters to decide the request's effective remote address. // If an extension fails to detect the original IP address and isn't configured to reject // the request, the HCM will try the remaining extensions until one succeeds or rejects // the request. If the request isn't rejected nor any extension succeeds, the HCM will // fallback to using the remote address. // // .. WARNING:: // // Extensions cannot be used in conjunction with :ref:`use_remote_address // ` // nor :ref:`xff_num_trusted_hops // `. // // [#extension-category: envoy.http.original_ip_detection] OriginalIpDetectionExtensions []*v3.TypedExtensionConfig `protobuf:"bytes,46,rep,name=original_ip_detection_extensions,json=originalIpDetectionExtensions,proto3" json:"original_ip_detection_extensions,omitempty"` // The configuration for the early header mutation extensions. // // When configured the extensions will be called before any routing, tracing, or any filter processing. // Each extension will be applied in the order they are configured. // If the same header is mutated by multiple extensions, then the last extension will win. // // [#extension-category: envoy.http.early_header_mutation] EarlyHeaderMutationExtensions []*v3.TypedExtensionConfig `protobuf:"bytes,52,rep,name=early_header_mutation_extensions,json=earlyHeaderMutationExtensions,proto3" json:"early_header_mutation_extensions,omitempty"` // Configures what network addresses are considered internal for stats and header sanitation // purposes. If unspecified, only RFC1918 IP addresses will be considered internal. // See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more // information about internal/external addresses. InternalAddressConfig *HttpConnectionManager_InternalAddressConfig `protobuf:"bytes,25,opt,name=internal_address_config,json=internalAddressConfig,proto3" json:"internal_address_config,omitempty"` // If set, Envoy will not append the remote address to the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in // conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager // has mutated the request headers. While :ref:`use_remote_address // ` // will also suppress XFF addition, it has consequences for logging and other // Envoy uses of the remote address, so “skip_xff_append“ should be used // when only an elision of XFF addition is intended. SkipXffAppend bool `protobuf:"varint,21,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"` // Via header value to append to request and response headers. If this is // empty, no via header will be appended. Via string `protobuf:"bytes,22,opt,name=via,proto3" json:"via,omitempty"` // Whether the connection manager will generate the :ref:`x-request-id // ` header if it does not exist. This defaults to // true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature // is not desired it can be disabled. GenerateRequestId *wrappers.BoolValue `protobuf:"bytes,15,opt,name=generate_request_id,json=generateRequestId,proto3" json:"generate_request_id,omitempty"` // Whether the connection manager will keep the :ref:`x-request-id // ` header if passed for a request that is edge // (Edge request is the request from external clients to front Envoy) and not reset it, which // is the current Envoy behaviour. This defaults to false. PreserveExternalRequestId bool `protobuf:"varint,32,opt,name=preserve_external_request_id,json=preserveExternalRequestId,proto3" json:"preserve_external_request_id,omitempty"` // If set, Envoy will always set :ref:`x-request-id ` header in response. // If this is false or not set, the request ID is returned in responses only if tracing is forced using // :ref:`x-envoy-force-trace ` header. AlwaysSetRequestIdInResponse bool `protobuf:"varint,37,opt,name=always_set_request_id_in_response,json=alwaysSetRequestIdInResponse,proto3" json:"always_set_request_id_in_response,omitempty"` // How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP // header. ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `protobuf:"varint,16,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"` // This field is valid only when :ref:`forward_client_cert_details // ` // is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in // the client certificate to be forwarded. Note that in the // :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, “Hash“ is always set, and // “By“ is always set when the client certificate presents the URI type Subject Alternative Name // value. SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `protobuf:"bytes,17,opt,name=set_current_client_cert_details,json=setCurrentClientCertDetails,proto3" json:"set_current_client_cert_details,omitempty"` // If proxy_100_continue is true, Envoy will proxy incoming "Expect: // 100-continue" headers upstream, and forward "100 Continue" responses // downstream. If this is false or not set, Envoy will instead strip the // "Expect: 100-continue" header, and send a "100 Continue" response itself. Proxy_100Continue bool `protobuf:"varint,18,opt,name=proxy_100_continue,json=proxy100Continue,proto3" json:"proxy_100_continue,omitempty"` // If // :ref:`use_remote_address // ` // is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is // an IPv4 address, the address will be mapped to IPv6 before it is appended to “x-forwarded-for“. // This is useful for testing compatibility of upstream services that parse the header value. For // example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses // `_ for details. This will also affect the // :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See // :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6 // ` for runtime // control. // [#not-implemented-hide:] RepresentIpv4RemoteAddressAsIpv4MappedIpv6 bool `protobuf:"varint,20,opt,name=represent_ipv4_remote_address_as_ipv4_mapped_ipv6,json=representIpv4RemoteAddressAsIpv4MappedIpv6,proto3" json:"represent_ipv4_remote_address_as_ipv4_mapped_ipv6,omitempty"` UpgradeConfigs []*HttpConnectionManager_UpgradeConfig `protobuf:"bytes,23,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"` // Should paths be normalized according to RFC 3986 before any processing of // requests by HTTP filters or routing? This affects the upstream “:path“ header // as well. For paths that fail this check, Envoy will respond with 400 to // paths that are malformed. This defaults to false currently but will default // true in the future. When not specified, this value may be overridden by the // runtime variable // :ref:`http_connection_manager.normalize_path`. // See `Normalization and Comparison `_ // for details of normalization. // Note that Envoy does not perform // `case normalization `_ // [#comment:TODO: This field is ignored when the // :ref:`header validation configuration ` // is present.] NormalizePath *wrappers.BoolValue `protobuf:"bytes,30,opt,name=normalize_path,json=normalizePath,proto3" json:"normalize_path,omitempty"` // Determines if adjacent slashes in the path are merged into one before any processing of // requests by HTTP filters or routing. This affects the upstream “:path“ header as well. Without // setting this option, incoming requests with path “//dir///file“ will not match against route // with “prefix“ match set to “/dir“. Defaults to “false“. Note that slash merging is not part of // `HTTP spec `_ and is provided for convenience. // [#comment:TODO: This field is ignored when the // :ref:`header validation configuration ` // is present.] MergeSlashes bool `protobuf:"varint,33,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"` // Action to take when request URL path contains escaped slash sequences (%2F, %2f, %5C and %5c). // The default value can be overridden by the :ref:`http_connection_manager.path_with_escaped_slashes_action` // runtime variable. // The :ref:`http_connection_manager.path_with_escaped_slashes_action_sampling` runtime // variable can be used to apply the action to a portion of all requests. // [#comment:TODO: This field is ignored when the // :ref:`header validation configuration ` // is present.] PathWithEscapedSlashesAction HttpConnectionManager_PathWithEscapedSlashesAction `protobuf:"varint,45,opt,name=path_with_escaped_slashes_action,json=pathWithEscapedSlashesAction,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_PathWithEscapedSlashesAction" json:"path_with_escaped_slashes_action,omitempty"` // The configuration of the request ID extension. This includes operations such as // generation, validation, and associated tracing operations. If empty, the // :ref:`UuidRequestIdConfig ` // default extension is used with default parameters. See the documentation for that extension // for details on what it does. Customizing the configuration for the default extension can be // achieved by configuring it explicitly here. For example, to disable trace reason packing, // the following configuration can be used: // // .. validated-code-block:: yaml // // :type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension // // typed_config: // "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig // pack_trace_reason: false // // [#extension-category: envoy.request_id] RequestIdExtension *RequestIDExtension `protobuf:"bytes,36,opt,name=request_id_extension,json=requestIdExtension,proto3" json:"request_id_extension,omitempty"` // The configuration to customize local reply returned by Envoy. It can customize status code, // body text and response content type. If not specified, status code and text body are hard // coded in Envoy, the response content type is plain text. LocalReplyConfig *LocalReplyConfig `protobuf:"bytes,38,opt,name=local_reply_config,json=localReplyConfig,proto3" json:"local_reply_config,omitempty"` // Determines if the port part should be removed from host/authority header before any processing // of request by HTTP filters or routing. The port would be removed only if it is equal to the :ref:`listener's` // local port. This affects the upstream host header unless the method is // CONNECT in which case if no filter adds a port the original port will be restored before headers are // sent upstream. // Without setting this option, incoming requests with host “example:443“ will not match against // route with :ref:`domains` match set to “example“. Defaults to “false“. Note that port removal is not part // of `HTTP spec `_ and is provided for convenience. // Only one of “strip_matching_host_port“ or “strip_any_host_port“ can be set. StripMatchingHostPort bool `protobuf:"varint,39,opt,name=strip_matching_host_port,json=stripMatchingHostPort,proto3" json:"strip_matching_host_port,omitempty"` // Types that are assignable to StripPortMode: // // *HttpConnectionManager_StripAnyHostPort StripPortMode isHttpConnectionManager_StripPortMode `protobuf_oneof:"strip_port_mode"` // Governs Envoy's behavior when receiving invalid HTTP from downstream. // If this option is false (default), Envoy will err on the conservative side handling HTTP // errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request. // If this option is set to true, Envoy will be more permissive, only resetting the invalid // stream in the case of HTTP/2 and leaving the connection open where possible (if the entire // request is read for HTTP/1.1) // In general this should be true for deployments receiving trusted traffic (L2 Envoys, // company-internal mesh) and false when receiving untrusted traffic (edge deployments). // // If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are // desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message // ` or the new HTTP/2 option // :ref:`override_stream_error_on_invalid_http_message // ` // “not“ the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging // ` StreamErrorOnInvalidHttpMessage *wrappers.BoolValue `protobuf:"bytes,40,opt,name=stream_error_on_invalid_http_message,json=streamErrorOnInvalidHttpMessage,proto3" json:"stream_error_on_invalid_http_message,omitempty"` // [#not-implemented-hide:] Path normalization configuration. This includes // configurations for transformations (e.g. RFC 3986 normalization or merge // adjacent slashes) and the policy to apply them. The policy determines // whether transformations affect the forwarded “:path“ header. RFC 3986 path // normalization is enabled by default and the default policy is that the // normalized header will be forwarded. See :ref:`PathNormalizationOptions // ` // for details. PathNormalizationOptions *HttpConnectionManager_PathNormalizationOptions `protobuf:"bytes,43,opt,name=path_normalization_options,json=pathNormalizationOptions,proto3" json:"path_normalization_options,omitempty"` // Determines if trailing dot of the host should be removed from host/authority header before any // processing of request by HTTP filters or routing. // This affects the upstream host header. // Without setting this option, incoming requests with host “example.com.“ will not match against // route with :ref:`domains` match set to “example.com“. Defaults to “false“. // When the incoming request contains a host/authority header that includes a port number, // setting this option will strip a trailing dot, if present, from the host section, // leaving the port as is (e.g. host value “example.com.:443“ will be updated to “example.com:443“). StripTrailingHostDot bool `protobuf:"varint,47,opt,name=strip_trailing_host_dot,json=stripTrailingHostDot,proto3" json:"strip_trailing_host_dot,omitempty"` // Proxy-Status HTTP response header configuration. // If this config is set, the Proxy-Status HTTP response header field is // populated. By default, it is not. ProxyStatusConfig *HttpConnectionManager_ProxyStatusConfig `protobuf:"bytes,49,opt,name=proxy_status_config,json=proxyStatusConfig,proto3" json:"proxy_status_config,omitempty"` // Configuration options for Header Validation (UHV). // UHV is an extensible mechanism for checking validity of HTTP requests as well as providing // normalization for request attributes, such as URI path. // If the typed_header_validation_config is present it overrides the following options: // “normalize_path“, “merge_slashes“, “path_with_escaped_slashes_action“ // “http_protocol_options.allow_chunked_length“, “common_http_protocol_options.headers_with_underscores_action“. // // The default UHV checks the following: // // #. HTTP/1 header map validity according to `RFC 7230 section 3.2`_ // #. Syntax of HTTP/1 request target URI and response status // #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2`_ // #. Syntax of HTTP/3 pseudo headers // #. Syntax of “Content-Length“ and “Transfer-Encoding“ // #. Validation of HTTP/1 requests with both “Content-Length“ and “Transfer-Encoding“ headers // #. Normalization of the URI path according to `Normalization and Comparison `_ // // without `case normalization `_ // // [#not-implemented-hide:] // [#extension-category: envoy.http.header_validators] TypedHeaderValidationConfig *v3.TypedExtensionConfig `protobuf:"bytes,50,opt,name=typed_header_validation_config,json=typedHeaderValidationConfig,proto3" json:"typed_header_validation_config,omitempty"` // Append the “x-forwarded-port“ header with the port value client used to connect to Envoy. It // will be ignored if the “x-forwarded-port“ header has been set by any trusted proxy in front of Envoy. AppendXForwardedPort bool `protobuf:"varint,51,opt,name=append_x_forwarded_port,json=appendXForwardedPort,proto3" json:"append_x_forwarded_port,omitempty"` // Whether the HCM will add ProxyProtocolFilterState to the Connection lifetime filter state. Defaults to “true“. // This should be set to “false“ in cases where Envoy's view of the downstream address may not correspond to the // actual client address, for example, if there's another proxy in front of the Envoy. AddProxyProtocolConnectionState *wrappers.BoolValue `protobuf:"bytes,53,opt,name=add_proxy_protocol_connection_state,json=addProxyProtocolConnectionState,proto3" json:"add_proxy_protocol_connection_state,omitempty"` } func (x *HttpConnectionManager) Reset() { *x = HttpConnectionManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager) ProtoMessage() {} func (x *HttpConnectionManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead. func (*HttpConnectionManager) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0} } func (x *HttpConnectionManager) GetCodecType() HttpConnectionManager_CodecType { if x != nil { return x.CodecType } return HttpConnectionManager_AUTO } func (x *HttpConnectionManager) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } func (x *HttpConnectionManager) GetRds() *Rds { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_Rds); ok { return x.Rds } return nil } func (x *HttpConnectionManager) GetRouteConfig() *v32.RouteConfiguration { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_RouteConfig); ok { return x.RouteConfig } return nil } func (x *HttpConnectionManager) GetScopedRoutes() *ScopedRoutes { if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_ScopedRoutes); ok { return x.ScopedRoutes } return nil } func (x *HttpConnectionManager) GetHttpFilters() []*HttpFilter { if x != nil { return x.HttpFilters } return nil } func (x *HttpConnectionManager) GetAddUserAgent() *wrappers.BoolValue { if x != nil { return x.AddUserAgent } return nil } func (x *HttpConnectionManager) GetTracing() *HttpConnectionManager_Tracing { if x != nil { return x.Tracing } return nil } func (x *HttpConnectionManager) GetCommonHttpProtocolOptions() *v3.HttpProtocolOptions { if x != nil { return x.CommonHttpProtocolOptions } return nil } func (x *HttpConnectionManager) GetHttpProtocolOptions() *v3.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } func (x *HttpConnectionManager) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } func (x *HttpConnectionManager) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions { if x != nil { return x.Http3ProtocolOptions } return nil } func (x *HttpConnectionManager) GetServerName() string { if x != nil { return x.ServerName } return "" } func (x *HttpConnectionManager) GetServerHeaderTransformation() HttpConnectionManager_ServerHeaderTransformation { if x != nil { return x.ServerHeaderTransformation } return HttpConnectionManager_OVERWRITE } func (x *HttpConnectionManager) GetSchemeHeaderTransformation() *v3.SchemeHeaderTransformation { if x != nil { return x.SchemeHeaderTransformation } return nil } func (x *HttpConnectionManager) GetMaxRequestHeadersKb() *wrappers.UInt32Value { if x != nil { return x.MaxRequestHeadersKb } return nil } func (x *HttpConnectionManager) GetStreamIdleTimeout() *duration.Duration { if x != nil { return x.StreamIdleTimeout } return nil } func (x *HttpConnectionManager) GetRequestTimeout() *duration.Duration { if x != nil { return x.RequestTimeout } return nil } func (x *HttpConnectionManager) GetRequestHeadersTimeout() *duration.Duration { if x != nil { return x.RequestHeadersTimeout } return nil } func (x *HttpConnectionManager) GetDrainTimeout() *duration.Duration { if x != nil { return x.DrainTimeout } return nil } func (x *HttpConnectionManager) GetDelayedCloseTimeout() *duration.Duration { if x != nil { return x.DelayedCloseTimeout } return nil } func (x *HttpConnectionManager) GetAccessLog() []*v31.AccessLog { if x != nil { return x.AccessLog } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto. func (x *HttpConnectionManager) GetAccessLogFlushInterval() *duration.Duration { if x != nil { return x.AccessLogFlushInterval } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto. func (x *HttpConnectionManager) GetFlushAccessLogOnNewRequest() bool { if x != nil { return x.FlushAccessLogOnNewRequest } return false } func (x *HttpConnectionManager) GetAccessLogOptions() *HttpConnectionManager_HcmAccessLogOptions { if x != nil { return x.AccessLogOptions } return nil } func (x *HttpConnectionManager) GetUseRemoteAddress() *wrappers.BoolValue { if x != nil { return x.UseRemoteAddress } return nil } func (x *HttpConnectionManager) GetXffNumTrustedHops() uint32 { if x != nil { return x.XffNumTrustedHops } return 0 } func (x *HttpConnectionManager) GetOriginalIpDetectionExtensions() []*v3.TypedExtensionConfig { if x != nil { return x.OriginalIpDetectionExtensions } return nil } func (x *HttpConnectionManager) GetEarlyHeaderMutationExtensions() []*v3.TypedExtensionConfig { if x != nil { return x.EarlyHeaderMutationExtensions } return nil } func (x *HttpConnectionManager) GetInternalAddressConfig() *HttpConnectionManager_InternalAddressConfig { if x != nil { return x.InternalAddressConfig } return nil } func (x *HttpConnectionManager) GetSkipXffAppend() bool { if x != nil { return x.SkipXffAppend } return false } func (x *HttpConnectionManager) GetVia() string { if x != nil { return x.Via } return "" } func (x *HttpConnectionManager) GetGenerateRequestId() *wrappers.BoolValue { if x != nil { return x.GenerateRequestId } return nil } func (x *HttpConnectionManager) GetPreserveExternalRequestId() bool { if x != nil { return x.PreserveExternalRequestId } return false } func (x *HttpConnectionManager) GetAlwaysSetRequestIdInResponse() bool { if x != nil { return x.AlwaysSetRequestIdInResponse } return false } func (x *HttpConnectionManager) GetForwardClientCertDetails() HttpConnectionManager_ForwardClientCertDetails { if x != nil { return x.ForwardClientCertDetails } return HttpConnectionManager_SANITIZE } func (x *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnectionManager_SetCurrentClientCertDetails { if x != nil { return x.SetCurrentClientCertDetails } return nil } func (x *HttpConnectionManager) GetProxy_100Continue() bool { if x != nil { return x.Proxy_100Continue } return false } func (x *HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6() bool { if x != nil { return x.RepresentIpv4RemoteAddressAsIpv4MappedIpv6 } return false } func (x *HttpConnectionManager) GetUpgradeConfigs() []*HttpConnectionManager_UpgradeConfig { if x != nil { return x.UpgradeConfigs } return nil } func (x *HttpConnectionManager) GetNormalizePath() *wrappers.BoolValue { if x != nil { return x.NormalizePath } return nil } func (x *HttpConnectionManager) GetMergeSlashes() bool { if x != nil { return x.MergeSlashes } return false } func (x *HttpConnectionManager) GetPathWithEscapedSlashesAction() HttpConnectionManager_PathWithEscapedSlashesAction { if x != nil { return x.PathWithEscapedSlashesAction } return HttpConnectionManager_IMPLEMENTATION_SPECIFIC_DEFAULT } func (x *HttpConnectionManager) GetRequestIdExtension() *RequestIDExtension { if x != nil { return x.RequestIdExtension } return nil } func (x *HttpConnectionManager) GetLocalReplyConfig() *LocalReplyConfig { if x != nil { return x.LocalReplyConfig } return nil } func (x *HttpConnectionManager) GetStripMatchingHostPort() bool { if x != nil { return x.StripMatchingHostPort } return false } func (m *HttpConnectionManager) GetStripPortMode() isHttpConnectionManager_StripPortMode { if m != nil { return m.StripPortMode } return nil } func (x *HttpConnectionManager) GetStripAnyHostPort() bool { if x, ok := x.GetStripPortMode().(*HttpConnectionManager_StripAnyHostPort); ok { return x.StripAnyHostPort } return false } func (x *HttpConnectionManager) GetStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue { if x != nil { return x.StreamErrorOnInvalidHttpMessage } return nil } func (x *HttpConnectionManager) GetPathNormalizationOptions() *HttpConnectionManager_PathNormalizationOptions { if x != nil { return x.PathNormalizationOptions } return nil } func (x *HttpConnectionManager) GetStripTrailingHostDot() bool { if x != nil { return x.StripTrailingHostDot } return false } func (x *HttpConnectionManager) GetProxyStatusConfig() *HttpConnectionManager_ProxyStatusConfig { if x != nil { return x.ProxyStatusConfig } return nil } func (x *HttpConnectionManager) GetTypedHeaderValidationConfig() *v3.TypedExtensionConfig { if x != nil { return x.TypedHeaderValidationConfig } return nil } func (x *HttpConnectionManager) GetAppendXForwardedPort() bool { if x != nil { return x.AppendXForwardedPort } return false } func (x *HttpConnectionManager) GetAddProxyProtocolConnectionState() *wrappers.BoolValue { if x != nil { return x.AddProxyProtocolConnectionState } return nil } type isHttpConnectionManager_RouteSpecifier interface { isHttpConnectionManager_RouteSpecifier() } type HttpConnectionManager_Rds struct { // The connection manager’s route table will be dynamically loaded via the RDS API. Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"` } type HttpConnectionManager_RouteConfig struct { // The route table for the connection manager is static and is specified in this property. RouteConfig *v32.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } type HttpConnectionManager_ScopedRoutes struct { // A route table will be dynamically assigned to each request based on request attributes // (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are // specified in this message. ScopedRoutes *ScopedRoutes `protobuf:"bytes,31,opt,name=scoped_routes,json=scopedRoutes,proto3,oneof"` } func (*HttpConnectionManager_Rds) isHttpConnectionManager_RouteSpecifier() {} func (*HttpConnectionManager_RouteConfig) isHttpConnectionManager_RouteSpecifier() {} func (*HttpConnectionManager_ScopedRoutes) isHttpConnectionManager_RouteSpecifier() {} type isHttpConnectionManager_StripPortMode interface { isHttpConnectionManager_StripPortMode() } type HttpConnectionManager_StripAnyHostPort struct { // Determines if the port part should be removed from host/authority header before any processing // of request by HTTP filters or routing. // This affects the upstream host header unless the method is CONNECT in // which case if no filter adds a port the original port will be restored before headers are sent upstream. // Without setting this option, incoming requests with host “example:443“ will not match against // route with :ref:`domains` match set to “example“. Defaults to “false“. Note that port removal is not part // of `HTTP spec `_ and is provided for convenience. // Only one of “strip_matching_host_port“ or “strip_any_host_port“ can be set. StripAnyHostPort bool `protobuf:"varint,42,opt,name=strip_any_host_port,json=stripAnyHostPort,proto3,oneof"` } func (*HttpConnectionManager_StripAnyHostPort) isHttpConnectionManager_StripPortMode() {} // The configuration to customize local reply returned by Envoy. type LocalReplyConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration of list of mappers which allows to filter and change local response. // The mappers will be checked by the specified order until one is matched. Mappers []*ResponseMapper `protobuf:"bytes,1,rep,name=mappers,proto3" json:"mappers,omitempty"` // The configuration to form response body from the :ref:`command operators ` // and to specify response content type as one of: plain/text or application/json. // // Example one: "plain/text" “body_format“. // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // text_format: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n" // // The following response body in "plain/text" format will be generated for a request with // local reply body of "upstream connection error", response_code=503 and path=/foo. // // .. code-block:: text // // upstream connect error:503:path=/foo // // Example two: "application/json" “body_format“. // // .. validated-code-block:: yaml // // :type-name: envoy.config.core.v3.SubstitutionFormatString // // json_format: // status: "%RESPONSE_CODE%" // message: "%LOCAL_REPLY_BODY%" // path: "%REQ(:path)%" // // The following response body in "application/json" format would be generated for a request with // local reply body of "upstream connection error", response_code=503 and path=/foo. // // .. code-block:: json // // { // "status": 503, // "message": "upstream connection error", // "path": "/foo" // } BodyFormat *v3.SubstitutionFormatString `protobuf:"bytes,2,opt,name=body_format,json=bodyFormat,proto3" json:"body_format,omitempty"` } func (x *LocalReplyConfig) Reset() { *x = LocalReplyConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalReplyConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalReplyConfig) ProtoMessage() {} func (x *LocalReplyConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalReplyConfig.ProtoReflect.Descriptor instead. func (*LocalReplyConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{1} } func (x *LocalReplyConfig) GetMappers() []*ResponseMapper { if x != nil { return x.Mappers } return nil } func (x *LocalReplyConfig) GetBodyFormat() *v3.SubstitutionFormatString { if x != nil { return x.BodyFormat } return nil } // The configuration to filter and change local response. // [#next-free-field: 6] type ResponseMapper struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Filter to determine if this mapper should apply. Filter *v31.AccessLogFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` // The new response status code if specified. StatusCode *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` // The new local reply body text if specified. It will be used in the “%LOCAL_REPLY_BODY%“ // command operator in the “body_format“. Body *v3.DataSource `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` // A per mapper “body_format“ to override the :ref:`body_format `. // It will be used when this mapper is matched. BodyFormatOverride *v3.SubstitutionFormatString `protobuf:"bytes,4,opt,name=body_format_override,json=bodyFormatOverride,proto3" json:"body_format_override,omitempty"` // HTTP headers to add to a local reply. This allows the response mapper to append, to add // or to override headers of any local reply before it is sent to a downstream client. HeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,5,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` } func (x *ResponseMapper) Reset() { *x = ResponseMapper{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseMapper) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseMapper) ProtoMessage() {} func (x *ResponseMapper) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResponseMapper.ProtoReflect.Descriptor instead. func (*ResponseMapper) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{2} } func (x *ResponseMapper) GetFilter() *v31.AccessLogFilter { if x != nil { return x.Filter } return nil } func (x *ResponseMapper) GetStatusCode() *wrappers.UInt32Value { if x != nil { return x.StatusCode } return nil } func (x *ResponseMapper) GetBody() *v3.DataSource { if x != nil { return x.Body } return nil } func (x *ResponseMapper) GetBodyFormatOverride() *v3.SubstitutionFormatString { if x != nil { return x.BodyFormatOverride } return nil } func (x *ResponseMapper) GetHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.HeadersToAdd } return nil } type Rds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for RDS. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the route configuration. This name will be passed to the RDS // API. This allows an Envoy configuration with multiple HTTP listeners (and // associated HTTP connection manager filters) to use different route // configurations. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` } func (x *Rds) Reset() { *x = Rds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Rds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Rds) ProtoMessage() {} func (x *Rds) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Rds.ProtoReflect.Descriptor instead. func (*Rds) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{3} } func (x *Rds) GetConfigSource() *v3.ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *Rds) GetRouteConfigName() string { if x != nil { return x.RouteConfigName } return "" } // This message is used to work around the limitations with 'oneof' and repeated fields. type ScopedRouteConfigurationsList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScopedRouteConfigurations []*v32.ScopedRouteConfiguration `protobuf:"bytes,1,rep,name=scoped_route_configurations,json=scopedRouteConfigurations,proto3" json:"scoped_route_configurations,omitempty"` } func (x *ScopedRouteConfigurationsList) Reset() { *x = ScopedRouteConfigurationsList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRouteConfigurationsList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRouteConfigurationsList) ProtoMessage() {} func (x *ScopedRouteConfigurationsList) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRouteConfigurationsList.ProtoReflect.Descriptor instead. func (*ScopedRouteConfigurationsList) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{4} } func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v32.ScopedRouteConfiguration { if x != nil { return x.ScopedRouteConfigurations } return nil } // [#next-free-field: 6] type ScopedRoutes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name assigned to the scoped routing configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The algorithm to use for constructing a scope key for each request. ScopeKeyBuilder *ScopedRoutes_ScopeKeyBuilder `protobuf:"bytes,2,opt,name=scope_key_builder,json=scopeKeyBuilder,proto3" json:"scope_key_builder,omitempty"` // Configuration source specifier for RDS. // This config source is used to subscribe to RouteConfiguration resources specified in // ScopedRouteConfiguration messages. RdsConfigSource *v3.ConfigSource `protobuf:"bytes,3,opt,name=rds_config_source,json=rdsConfigSource,proto3" json:"rds_config_source,omitempty"` // Types that are assignable to ConfigSpecifier: // // *ScopedRoutes_ScopedRouteConfigurationsList // *ScopedRoutes_ScopedRds ConfigSpecifier isScopedRoutes_ConfigSpecifier `protobuf_oneof:"config_specifier"` } func (x *ScopedRoutes) Reset() { *x = ScopedRoutes{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes) ProtoMessage() {} func (x *ScopedRoutes) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes.ProtoReflect.Descriptor instead. func (*ScopedRoutes) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5} } func (x *ScopedRoutes) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutes) GetScopeKeyBuilder() *ScopedRoutes_ScopeKeyBuilder { if x != nil { return x.ScopeKeyBuilder } return nil } func (x *ScopedRoutes) GetRdsConfigSource() *v3.ConfigSource { if x != nil { return x.RdsConfigSource } return nil } func (m *ScopedRoutes) GetConfigSpecifier() isScopedRoutes_ConfigSpecifier { if m != nil { return m.ConfigSpecifier } return nil } func (x *ScopedRoutes) GetScopedRouteConfigurationsList() *ScopedRouteConfigurationsList { if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRouteConfigurationsList); ok { return x.ScopedRouteConfigurationsList } return nil } func (x *ScopedRoutes) GetScopedRds() *ScopedRds { if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRds); ok { return x.ScopedRds } return nil } type isScopedRoutes_ConfigSpecifier interface { isScopedRoutes_ConfigSpecifier() } type ScopedRoutes_ScopedRouteConfigurationsList struct { // The set of routing scopes corresponding to the HCM. A scope is assigned to a request by // matching a key constructed from the request's attributes according to the algorithm specified // by the // :ref:`ScopeKeyBuilder` // in this message. ScopedRouteConfigurationsList *ScopedRouteConfigurationsList `protobuf:"bytes,4,opt,name=scoped_route_configurations_list,json=scopedRouteConfigurationsList,proto3,oneof"` } type ScopedRoutes_ScopedRds struct { // The set of routing scopes associated with the HCM will be dynamically loaded via the SRDS // API. A scope is assigned to a request by matching a key constructed from the request's // attributes according to the algorithm specified by the // :ref:`ScopeKeyBuilder` // in this message. ScopedRds *ScopedRds `protobuf:"bytes,5,opt,name=scoped_rds,json=scopedRds,proto3,oneof"` } func (*ScopedRoutes_ScopedRouteConfigurationsList) isScopedRoutes_ConfigSpecifier() {} func (*ScopedRoutes_ScopedRds) isScopedRoutes_ConfigSpecifier() {} type ScopedRds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier for scoped RDS. ScopedRdsConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=scoped_rds_config_source,json=scopedRdsConfigSource,proto3" json:"scoped_rds_config_source,omitempty"` // xdstp:// resource locator for scoped RDS collection. // [#not-implemented-hide:] SrdsResourcesLocator string `protobuf:"bytes,2,opt,name=srds_resources_locator,json=srdsResourcesLocator,proto3" json:"srds_resources_locator,omitempty"` } func (x *ScopedRds) Reset() { *x = ScopedRds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRds) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRds) ProtoMessage() {} func (x *ScopedRds) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRds.ProtoReflect.Descriptor instead. func (*ScopedRds) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6} } func (x *ScopedRds) GetScopedRdsConfigSource() *v3.ConfigSource { if x != nil { return x.ScopedRdsConfigSource } return nil } func (x *ScopedRds) GetSrdsResourcesLocator() string { if x != nil { return x.SrdsResourcesLocator } return "" } // [#next-free-field: 8] type HttpFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter configuration. It also serves as a resource name in ExtensionConfigDS. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *HttpFilter_TypedConfig // *HttpFilter_ConfigDiscovery ConfigType isHttpFilter_ConfigType `protobuf_oneof:"config_type"` // If true, clients that do not support this filter may ignore the // filter but otherwise accept the config. // Otherwise, clients that do not support this filter must reject the config. IsOptional bool `protobuf:"varint,6,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"` // If true, the filter is disabled by default and must be explicitly enabled by setting // per filter configuration in the route configuration. // See :ref:`route based filter chain ` // for more details. // // Terminal filters (e.g. “envoy.filters.http.router“) cannot be marked as disabled. Disabled bool `protobuf:"varint,7,opt,name=disabled,proto3" json:"disabled,omitempty"` } func (x *HttpFilter) Reset() { *x = HttpFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpFilter) ProtoMessage() {} func (x *HttpFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead. func (*HttpFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{7} } func (x *HttpFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *HttpFilter) GetConfigType() isHttpFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *HttpFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*HttpFilter_TypedConfig); ok { return x.TypedConfig } return nil } func (x *HttpFilter) GetConfigDiscovery() *v3.ExtensionConfigSource { if x, ok := x.GetConfigType().(*HttpFilter_ConfigDiscovery); ok { return x.ConfigDiscovery } return nil } func (x *HttpFilter) GetIsOptional() bool { if x != nil { return x.IsOptional } return false } func (x *HttpFilter) GetDisabled() bool { if x != nil { return x.Disabled } return false } type isHttpFilter_ConfigType interface { isHttpFilter_ConfigType() } type HttpFilter_TypedConfig struct { // Filter specific configuration which depends on the filter being instantiated. See the supported // filters for further documentation. // // To support configuring a :ref:`match tree `, use an // :ref:`ExtensionWithMatcher ` // with the desired HTTP filter. // [#extension-category: envoy.filters.http] TypedConfig *any1.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` } type HttpFilter_ConfigDiscovery struct { // Configuration source specifier for an extension configuration discovery service. // In case of a failure and without the default configuration, the HTTP listener responds with code 500. // Extension configs delivered through this mechanism are not expected to require warming (see https://github.com/envoyproxy/envoy/issues/12061). // // To support configuring a :ref:`match tree `, use an // :ref:`ExtensionWithMatcher ` // with the desired HTTP filter. This works for both the default filter configuration as well // as for filters provided via the API. ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"` } func (*HttpFilter_TypedConfig) isHttpFilter_ConfigType() {} func (*HttpFilter_ConfigDiscovery) isHttpFilter_ConfigType() {} type RequestIDExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request ID extension specific configuration. TypedConfig *any1.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` } func (x *RequestIDExtension) Reset() { *x = RequestIDExtension{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestIDExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestIDExtension) ProtoMessage() {} func (x *RequestIDExtension) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RequestIDExtension.ProtoReflect.Descriptor instead. func (*RequestIDExtension) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{8} } func (x *RequestIDExtension) GetTypedConfig() *any1.Any { if x != nil { return x.TypedConfig } return nil } // [#protodoc-title: Envoy Mobile HTTP connection manager] // HTTP connection manager for use in Envoy mobile. // [#extension: envoy.filters.network.envoy_mobile_http_connection_manager] type EnvoyMobileHttpConnectionManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The configuration for the underlying HttpConnectionManager which will be // instantiated for Envoy mobile. Config *HttpConnectionManager `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *EnvoyMobileHttpConnectionManager) Reset() { *x = EnvoyMobileHttpConnectionManager{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnvoyMobileHttpConnectionManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnvoyMobileHttpConnectionManager) ProtoMessage() {} func (x *EnvoyMobileHttpConnectionManager) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EnvoyMobileHttpConnectionManager.ProtoReflect.Descriptor instead. func (*EnvoyMobileHttpConnectionManager) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{9} } func (x *EnvoyMobileHttpConnectionManager) GetConfig() *HttpConnectionManager { if x != nil { return x.Config } return nil } // [#next-free-field: 11] type HttpConnectionManager_Tracing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Target percentage of requests managed by this HTTP connection manager that will be force // traced if the :ref:`x-client-trace-id ` // header is set. This field is a direct analog for the runtime variable // 'tracing.client_enabled' in the :ref:`HTTP Connection Manager // `. // Default: 100% ClientSampling *v33.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be randomly // selected for trace generation, if not requested by the client or not forced. This field is // a direct analog for the runtime variable 'tracing.random_sampling' in the // :ref:`HTTP Connection Manager `. // Default: 100% RandomSampling *v33.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be traced // after all other sampling checks have been applied (client-directed, force tracing, random // sampling). This field functions as an upper limit on the total configured sampling rate. For // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% // of client requests with the appropriate headers to be force traced. This field is a direct // analog for the runtime variable 'tracing.global_enabled' in the // :ref:`HTTP Connection Manager `. // Default: 100% OverallSampling *v33.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` // Whether to annotate spans with additional data. If true, spans will include logs for stream // events. Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"` // Maximum length of the request path to extract and include in the HttpUrl tag. Used to // truncate lengthy request paths to meet the needs of a tracing backend. // Default: 256 MaxPathTagLength *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"` // A list of custom tags with unique tag name to create tags for the active span. CustomTags []*v34.CustomTag `protobuf:"bytes,8,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` // Configuration for an external tracing provider. // If not specified, no tracing will be performed. // // .. attention:: // // Please be aware that ``envoy.tracers.opencensus`` provider can only be configured once // in Envoy lifetime. // Any attempts to reconfigure it or to use different configurations for different HCM filters // will be rejected. // Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes // on OpenCensus side. Provider *v35.Tracing_Http `protobuf:"bytes,9,opt,name=provider,proto3" json:"provider,omitempty"` // Create separate tracing span for each upstream request if true. And if this flag is set to true, // the tracing provider will assume that Envoy will be independent hop in the trace chain and may // set span type to client or server based on this flag. // This will deprecate the // :ref:`start_child_span ` // in the router. // // Users should set appropriate value based on their tracing provider and actual scenario: // // - If Envoy is used as sidecar and users want to make the sidecar and its application as only one // hop in the trace chain, this flag should be set to false. And please also make sure the // :ref:`start_child_span ` // in the router is not set to true. // - If Envoy is used as gateway or independent proxy, or users want to make the sidecar and its // application as different hops in the trace chain, this flag should be set to true. // - If tracing provider that has explicit requirements on span creation (like SkyWalking), // this flag should be set to true. // // The default value is false for now for backward compatibility. SpawnUpstreamSpan *wrappers.BoolValue `protobuf:"bytes,10,opt,name=spawn_upstream_span,json=spawnUpstreamSpan,proto3" json:"spawn_upstream_span,omitempty"` } func (x *HttpConnectionManager_Tracing) Reset() { *x = HttpConnectionManager_Tracing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_Tracing) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_Tracing) ProtoMessage() {} func (x *HttpConnectionManager_Tracing) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_Tracing.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_Tracing) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} } func (x *HttpConnectionManager_Tracing) GetClientSampling() *v33.Percent { if x != nil { return x.ClientSampling } return nil } func (x *HttpConnectionManager_Tracing) GetRandomSampling() *v33.Percent { if x != nil { return x.RandomSampling } return nil } func (x *HttpConnectionManager_Tracing) GetOverallSampling() *v33.Percent { if x != nil { return x.OverallSampling } return nil } func (x *HttpConnectionManager_Tracing) GetVerbose() bool { if x != nil { return x.Verbose } return false } func (x *HttpConnectionManager_Tracing) GetMaxPathTagLength() *wrappers.UInt32Value { if x != nil { return x.MaxPathTagLength } return nil } func (x *HttpConnectionManager_Tracing) GetCustomTags() []*v34.CustomTag { if x != nil { return x.CustomTags } return nil } func (x *HttpConnectionManager_Tracing) GetProvider() *v35.Tracing_Http { if x != nil { return x.Provider } return nil } func (x *HttpConnectionManager_Tracing) GetSpawnUpstreamSpan() *wrappers.BoolValue { if x != nil { return x.SpawnUpstreamSpan } return nil } type HttpConnectionManager_InternalAddressConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether unix socket addresses should be considered internal. UnixSockets bool `protobuf:"varint,1,opt,name=unix_sockets,json=unixSockets,proto3" json:"unix_sockets,omitempty"` // List of CIDR ranges that are treated as internal. If unset, then RFC1918 / RFC4193 // IP addresses will be considered internal. CidrRanges []*v3.CidrRange `protobuf:"bytes,2,rep,name=cidr_ranges,json=cidrRanges,proto3" json:"cidr_ranges,omitempty"` } func (x *HttpConnectionManager_InternalAddressConfig) Reset() { *x = HttpConnectionManager_InternalAddressConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_InternalAddressConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage() {} func (x *HttpConnectionManager_InternalAddressConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_InternalAddressConfig.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_InternalAddressConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} } func (x *HttpConnectionManager_InternalAddressConfig) GetUnixSockets() bool { if x != nil { return x.UnixSockets } return false } func (x *HttpConnectionManager_InternalAddressConfig) GetCidrRanges() []*v3.CidrRange { if x != nil { return x.CidrRanges } return nil } // [#next-free-field: 7] type HttpConnectionManager_SetCurrentClientCertDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to forward the subject of the client cert. Defaults to false. Subject *wrappers.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` // Whether to forward the entire client cert in URL encoded PEM format. This will appear in the // XFCC header comma separated from other values with the value Cert="PEM". // Defaults to false. Cert bool `protobuf:"varint,3,opt,name=cert,proto3" json:"cert,omitempty"` // Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM // format. This will appear in the XFCC header comma separated from other values with the value // Chain="PEM". // Defaults to false. Chain bool `protobuf:"varint,6,opt,name=chain,proto3" json:"chain,omitempty"` // Whether to forward the DNS type Subject Alternative Names of the client cert. // Defaults to false. Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"` // Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to // false. Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"` } func (x *HttpConnectionManager_SetCurrentClientCertDetails) Reset() { *x = HttpConnectionManager_SetCurrentClientCertDetails{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_SetCurrentClientCertDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage() {} func (x *HttpConnectionManager_SetCurrentClientCertDetails) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_SetCurrentClientCertDetails.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_SetCurrentClientCertDetails) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetSubject() *wrappers.BoolValue { if x != nil { return x.Subject } return nil } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetCert() bool { if x != nil { return x.Cert } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetChain() bool { if x != nil { return x.Chain } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetDns() bool { if x != nil { return x.Dns } return false } func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetUri() bool { if x != nil { return x.Uri } return false } // The configuration for HTTP upgrades. // For each upgrade type desired, an UpgradeConfig must be added. // // .. warning:: // // The current implementation of upgrade headers does not handle // multi-valued upgrade headers. Support for multi-valued headers may be // added in the future if needed. // // .. warning:: // // The current implementation of upgrade headers does not work with HTTP/2 // upstreams. type HttpConnectionManager_UpgradeConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The case-insensitive name of this upgrade, e.g. "websocket". // For each upgrade type present in upgrade_configs, requests with // Upgrade: [upgrade_type] // will be proxied upstream. UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"` // If present, this represents the filter chain which will be created for // this type of upgrade. If no filters are present, the filter chain for // HTTP connections will be used for this upgrade type. Filters []*HttpFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` // Determines if upgrades are enabled or disabled by default. Defaults to true. // This can be overridden on a per-route basis with :ref:`cluster // ` as documented in the // :ref:`upgrade documentation `. Enabled *wrappers.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"` } func (x *HttpConnectionManager_UpgradeConfig) Reset() { *x = HttpConnectionManager_UpgradeConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_UpgradeConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_UpgradeConfig) ProtoMessage() {} func (x *HttpConnectionManager_UpgradeConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_UpgradeConfig.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_UpgradeConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} } func (x *HttpConnectionManager_UpgradeConfig) GetUpgradeType() string { if x != nil { return x.UpgradeType } return "" } func (x *HttpConnectionManager_UpgradeConfig) GetFilters() []*HttpFilter { if x != nil { return x.Filters } return nil } func (x *HttpConnectionManager_UpgradeConfig) GetEnabled() *wrappers.BoolValue { if x != nil { return x.Enabled } return nil } // [#not-implemented-hide:] Transformations that apply to path headers. Transformations are applied // before any processing of requests by HTTP filters, routing, and matching. Only the normalized // path will be visible internally if a transformation is enabled. Any path rewrites that the // router performs (e.g. :ref:`regex_rewrite // ` or :ref:`prefix_rewrite // `) will apply to the “:path“ header // destined for the upstream. // // Note: access logging and tracing will show the original “:path“ header. type HttpConnectionManager_PathNormalizationOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // [#not-implemented-hide:] Normalization applies internally before any processing of requests by // HTTP filters, routing, and matching *and* will affect the forwarded “:path“ header. Defaults // to :ref:`NormalizePathRFC3986 // `. When not // specified, this value may be overridden by the runtime variable // :ref:`http_connection_manager.normalize_path`. // Envoy will respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986 // normalization due to disallowed characters.) ForwardingTransformation *v36.PathTransformation `protobuf:"bytes,1,opt,name=forwarding_transformation,json=forwardingTransformation,proto3" json:"forwarding_transformation,omitempty"` // [#not-implemented-hide:] Normalization only applies internally before any processing of // requests by HTTP filters, routing, and matching. These will be applied after full // transformation is applied. The “:path“ header before this transformation will be restored in // the router filter and sent upstream unless it was mutated by a filter. Defaults to no // transformations. // Multiple actions can be applied in the same Transformation, forming a sequential // pipeline. The transformations will be performed in the order that they appear. Envoy will // respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986 // normalization due to disallowed characters.) HttpFilterTransformation *v36.PathTransformation `protobuf:"bytes,2,opt,name=http_filter_transformation,json=httpFilterTransformation,proto3" json:"http_filter_transformation,omitempty"` } func (x *HttpConnectionManager_PathNormalizationOptions) Reset() { *x = HttpConnectionManager_PathNormalizationOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_PathNormalizationOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_PathNormalizationOptions) ProtoMessage() {} func (x *HttpConnectionManager_PathNormalizationOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_PathNormalizationOptions.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_PathNormalizationOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 4} } func (x *HttpConnectionManager_PathNormalizationOptions) GetForwardingTransformation() *v36.PathTransformation { if x != nil { return x.ForwardingTransformation } return nil } func (x *HttpConnectionManager_PathNormalizationOptions) GetHttpFilterTransformation() *v36.PathTransformation { if x != nil { return x.HttpFilterTransformation } return nil } // Configures the manner in which the Proxy-Status HTTP response header is // populated. // // See the [Proxy-Status // RFC](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-proxy-status-08). // [#comment:TODO: Update this with the non-draft URL when finalized.] // // The Proxy-Status header is a string of the form: // // "; error=; details=
" // // [#next-free-field: 7] type HttpConnectionManager_ProxyStatusConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, the details field of the Proxy-Status header is not populated with stream_info.response_code_details. // This value defaults to “false“, i.e. the “details“ field is populated by default. RemoveDetails bool `protobuf:"varint,1,opt,name=remove_details,json=removeDetails,proto3" json:"remove_details,omitempty"` // If true, the details field of the Proxy-Status header will not contain // connection termination details. This value defaults to “false“, i.e. the // “details“ field will contain connection termination details by default. RemoveConnectionTerminationDetails bool `protobuf:"varint,2,opt,name=remove_connection_termination_details,json=removeConnectionTerminationDetails,proto3" json:"remove_connection_termination_details,omitempty"` // If true, the details field of the Proxy-Status header will not contain an // enumeration of the Envoy ResponseFlags. This value defaults to “false“, // i.e. the “details“ field will contain a list of ResponseFlags by default. RemoveResponseFlags bool `protobuf:"varint,3,opt,name=remove_response_flags,json=removeResponseFlags,proto3" json:"remove_response_flags,omitempty"` // If true, overwrites the existing Status header with the response code // recommended by the Proxy-Status spec. // This value defaults to “false“, i.e. the HTTP response code is not // overwritten. SetRecommendedResponseCode bool `protobuf:"varint,4,opt,name=set_recommended_response_code,json=setRecommendedResponseCode,proto3" json:"set_recommended_response_code,omitempty"` // The name of the proxy as it appears at the start of the Proxy-Status // header. // // If neither of these values are set, this value defaults to “server_name“, // which itself defaults to "envoy". // // Types that are assignable to ProxyName: // // *HttpConnectionManager_ProxyStatusConfig_UseNodeId // *HttpConnectionManager_ProxyStatusConfig_LiteralProxyName ProxyName isHttpConnectionManager_ProxyStatusConfig_ProxyName `protobuf_oneof:"proxy_name"` } func (x *HttpConnectionManager_ProxyStatusConfig) Reset() { *x = HttpConnectionManager_ProxyStatusConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_ProxyStatusConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_ProxyStatusConfig) ProtoMessage() {} func (x *HttpConnectionManager_ProxyStatusConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_ProxyStatusConfig.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_ProxyStatusConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 5} } func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveDetails() bool { if x != nil { return x.RemoveDetails } return false } func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveConnectionTerminationDetails() bool { if x != nil { return x.RemoveConnectionTerminationDetails } return false } func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveResponseFlags() bool { if x != nil { return x.RemoveResponseFlags } return false } func (x *HttpConnectionManager_ProxyStatusConfig) GetSetRecommendedResponseCode() bool { if x != nil { return x.SetRecommendedResponseCode } return false } func (m *HttpConnectionManager_ProxyStatusConfig) GetProxyName() isHttpConnectionManager_ProxyStatusConfig_ProxyName { if m != nil { return m.ProxyName } return nil } func (x *HttpConnectionManager_ProxyStatusConfig) GetUseNodeId() bool { if x, ok := x.GetProxyName().(*HttpConnectionManager_ProxyStatusConfig_UseNodeId); ok { return x.UseNodeId } return false } func (x *HttpConnectionManager_ProxyStatusConfig) GetLiteralProxyName() string { if x, ok := x.GetProxyName().(*HttpConnectionManager_ProxyStatusConfig_LiteralProxyName); ok { return x.LiteralProxyName } return "" } type isHttpConnectionManager_ProxyStatusConfig_ProxyName interface { isHttpConnectionManager_ProxyStatusConfig_ProxyName() } type HttpConnectionManager_ProxyStatusConfig_UseNodeId struct { // If “use_node_id“ is set, Proxy-Status headers will use the Envoy's node // ID as the name of the proxy. UseNodeId bool `protobuf:"varint,5,opt,name=use_node_id,json=useNodeId,proto3,oneof"` } type HttpConnectionManager_ProxyStatusConfig_LiteralProxyName struct { // If “literal_proxy_name“ is set, Proxy-Status headers will use this // value as the name of the proxy. LiteralProxyName string `protobuf:"bytes,6,opt,name=literal_proxy_name,json=literalProxyName,proto3,oneof"` } func (*HttpConnectionManager_ProxyStatusConfig_UseNodeId) isHttpConnectionManager_ProxyStatusConfig_ProxyName() { } func (*HttpConnectionManager_ProxyStatusConfig_LiteralProxyName) isHttpConnectionManager_ProxyStatusConfig_ProxyName() { } type HttpConnectionManager_HcmAccessLogOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The interval to flush the above access logs. By default, the HCM will flush exactly one access log // on stream close, when the HTTP request is complete. If this field is set, the HCM will flush access // logs periodically at the specified interval. This is especially useful in the case of long-lived // requests, such as CONNECT and Websockets. Final access logs can be detected via the // “requestComplete()“ method of “StreamInfo“ in access log filters, or through the “%DURATION%“ substitution // string. // The interval must be at least 1 millisecond. AccessLogFlushInterval *duration.Duration `protobuf:"bytes,1,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` // If set to true, HCM will flush an access log when a new HTTP request is received, after request // headers have been evaluated, before iterating through the HTTP filter chain. // This log record, if enabled, does not depend on periodic log records or request completion log. // Details related to upstream cluster, such as upstream host, will not be available for this log. FlushAccessLogOnNewRequest bool `protobuf:"varint,2,opt,name=flush_access_log_on_new_request,json=flushAccessLogOnNewRequest,proto3" json:"flush_access_log_on_new_request,omitempty"` // If true, the HCM will flush an access log when a tunnel is successfully established. For example, // this could be when an upstream has successfully returned 101 Switching Protocols, or when the proxy // has returned 200 to a CONNECT request. FlushLogOnTunnelSuccessfullyEstablished bool `protobuf:"varint,3,opt,name=flush_log_on_tunnel_successfully_established,json=flushLogOnTunnelSuccessfullyEstablished,proto3" json:"flush_log_on_tunnel_successfully_established,omitempty"` } func (x *HttpConnectionManager_HcmAccessLogOptions) Reset() { *x = HttpConnectionManager_HcmAccessLogOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionManager_HcmAccessLogOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionManager_HcmAccessLogOptions) ProtoMessage() {} func (x *HttpConnectionManager_HcmAccessLogOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionManager_HcmAccessLogOptions.ProtoReflect.Descriptor instead. func (*HttpConnectionManager_HcmAccessLogOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 6} } func (x *HttpConnectionManager_HcmAccessLogOptions) GetAccessLogFlushInterval() *duration.Duration { if x != nil { return x.AccessLogFlushInterval } return nil } func (x *HttpConnectionManager_HcmAccessLogOptions) GetFlushAccessLogOnNewRequest() bool { if x != nil { return x.FlushAccessLogOnNewRequest } return false } func (x *HttpConnectionManager_HcmAccessLogOptions) GetFlushLogOnTunnelSuccessfullyEstablished() bool { if x != nil { return x.FlushLogOnTunnelSuccessfullyEstablished } return false } // Specifies the mechanism for constructing "scope keys" based on HTTP request attributes. These // keys are matched against a set of :ref:`Key` // objects assembled from :ref:`ScopedRouteConfiguration` // messages distributed via SRDS (the Scoped Route Discovery Service) or assigned statically via // :ref:`scoped_route_configurations_list`. // // Upon receiving a request's headers, the Router will build a key using the algorithm specified // by this message. This key will be used to look up the routing table (i.e., the // :ref:`RouteConfiguration`) to use for the request. type ScopedRoutes_ScopeKeyBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The final(built) scope key consists of the ordered union of these fragments, which are compared in order with the // fragments of a :ref:`ScopedRouteConfiguration`. // A missing fragment during comparison will make the key invalid, i.e., the computed key doesn't match any key. Fragments []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"` } func (x *ScopedRoutes_ScopeKeyBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0} } func (x *ScopedRoutes_ScopeKeyBuilder) GetFragments() []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder { if x != nil { return x.Fragments } return nil } // Specifies the mechanism for constructing key fragments which are composed into scope keys. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Type: // // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ Type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type `protobuf_oneof:"type"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0} } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type { if m != nil { return m.Type } return nil } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetHeaderValueExtractor() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor { if x, ok := x.GetType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_); ok { return x.HeaderValueExtractor } return nil } type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type interface { isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ struct { // Specifies how a header field's value should be extracted. HeaderValueExtractor *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor `protobuf:"bytes,1,opt,name=header_value_extractor,json=headerValueExtractor,proto3,oneof"` } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() { } // Specifies how the value of a header should be extracted. // The following example maps the structure of a header to the fields in this message. // // .. code:: // // <0> <1> <-- index // X-Header: a=b;c=d // | || | // | || \----> // | || // | |\----> // | | // | \----> // | // \----> // // Each 'a=b' key-value pair constitutes an 'element' of the header field. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the header field to extract the value from. // // .. note:: // // If the header appears multiple times only the first value is used. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The element separator (e.g., ';' separates 'a;b;c;d'). // Default: empty string. This causes the entirety of the header field to be extracted. // If this field is set to an empty string and 'index' is used in the oneof below, 'index' // must be set to 0. ElementSeparator string `protobuf:"bytes,2,opt,name=element_separator,json=elementSeparator,proto3" json:"element_separator,omitempty"` // Types that are assignable to ExtractType: // // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element ExtractType isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType `protobuf_oneof:"extract_type"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName() string { if x != nil { return x.Name } return "" } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElementSeparator() string { if x != nil { return x.ElementSeparator } return "" } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType { if m != nil { return m.ExtractType } return nil } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetIndex() uint32 { if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index); ok { return x.Index } return 0 } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElement() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement { if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element); ok { return x.Element } return nil } type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType interface { isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index struct { // Specifies the zero based index of the element to extract. // Note Envoy concatenates multiple values of the same header key into a comma separated // string, the splitting always happens after the concatenation. Index uint32 `protobuf:"varint,3,opt,name=index,proto3,oneof"` } type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element struct { // Specifies the key value pair to extract the value from. Element *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement `protobuf:"bytes,4,opt,name=element,proto3,oneof"` } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { } // Specifies a header field's key value pair to match on. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The separator between key and value (e.g., '=' separates 'k=v;...'). // If an element is an empty string, the element is ignored. // If an element contains no separator, the whole element is parsed as key and the // fragment value is an empty string. // If there are multiple values for a matched key, the first value is returned. Separator string `protobuf:"bytes,1,opt,name=separator,proto3" json:"separator,omitempty"` // The key to match on. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator() string { if x != nil { return x.Separator } return "" } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc = []byte{ 0x0a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x41, 0x0a, 0x15, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x85, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x54, 0x0a, 0x03, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x03, 0x72, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x74, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x73, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x33, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x1c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x6d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x1c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x62, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0x80, 0x40, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4b, 0x62, 0x12, 0x52, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x62, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x6d, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x1f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x1a, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x48, 0x63, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x10, 0x75, 0x73, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x78, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x73, 0x0a, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x73, 0x0a, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1d, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x68, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x58, 0x66, 0x66, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x69, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x03, 0x76, 0x69, 0x61, 0x12, 0x4a, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x21, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x1b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0xb4, 0x01, 0x0a, 0x1f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x73, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x12, 0x65, 0x0a, 0x31, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2a, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x76, 0x34, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x73, 0x49, 0x70, 0x76, 0x34, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x89, 0x01, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x70, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x52, 0x15, 0x73, 0x74, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x70, 0x41, 0x6e, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x69, 0x0a, 0x24, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x1a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x18, 0x70, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x74, 0x72, 0x69, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x44, 0x6f, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, 0x0a, 0x1e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x78, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x58, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x68, 0x0a, 0x23, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xc2, 0x05, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x54, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x70, 0x61, 0x6e, 0x22, 0x28, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x3a, 0x5b, 0x9a, 0xc5, 0x88, 0x1e, 0x56, 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x1a, 0xe7, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x78, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x3a, 0x69, 0x9a, 0xc5, 0x88, 0x1e, 0x64, 0x0a, 0x62, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x98, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x75, 0x72, 0x69, 0x3a, 0x6f, 0x9a, 0xc5, 0x88, 0x1e, 0x6a, 0x0a, 0x68, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0xae, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x61, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x61, 0x9a, 0xc5, 0x88, 0x1e, 0x5c, 0x0a, 0x5a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe5, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x19, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe4, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x25, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x9d, 0x02, 0x0a, 0x13, 0x48, 0x63, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x1f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x2c, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x22, 0x36, 0x0a, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x31, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x03, 0x22, 0x53, 0x0a, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x02, 0x22, 0x79, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x55, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x04, 0x3a, 0x53, 0x9a, 0xc5, 0x88, 0x1e, 0x4e, 0x0a, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9c, 0x03, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 0x28, 0xc8, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x60, 0x0a, 0x14, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x62, 0x6f, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x03, 0x52, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x64, 0x73, 0x22, 0xf7, 0x01, 0x0a, 0x1d, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x79, 0x0a, 0x1b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x19, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x5b, 0x9a, 0xc5, 0x88, 0x1e, 0x56, 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe5, 0x0e, 0x0a, 0x0c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x1a, 0xdf, 0x09, 0x0a, 0x0f, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x91, 0x01, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x69, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xdb, 0x07, 0x0a, 0x0f, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0xb6, 0x01, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x95, 0x05, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0xa5, 0x01, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x88, 0x01, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0xdb, 0x01, 0x0a, 0x09, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x8b, 0x01, 0x9a, 0xc5, 0x88, 0x1e, 0x85, 0x01, 0x0a, 0x82, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x7f, 0x9a, 0xc5, 0x88, 0x1e, 0x7a, 0x0a, 0x78, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x6a, 0x9a, 0xc5, 0x88, 0x1e, 0x65, 0x0a, 0x63, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x5a, 0x9a, 0xc5, 0x88, 0x1e, 0x55, 0x0a, 0x53, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf1, 0x01, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x15, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x72, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x22, 0xe8, 0x02, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x48, 0x9a, 0xc5, 0x88, 0x1e, 0x43, 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x50, 0x9a, 0xc5, 0x88, 0x1e, 0x4b, 0x0a, 0x49, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x20, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x6a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xef, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x49, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescData = file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc ) func file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescData) }) return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescData } var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_goTypes = []interface{}{ (HttpConnectionManager_CodecType)(0), // 0: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType (HttpConnectionManager_ServerHeaderTransformation)(0), // 1: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation (HttpConnectionManager_ForwardClientCertDetails)(0), // 2: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails (HttpConnectionManager_PathWithEscapedSlashesAction)(0), // 3: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction (HttpConnectionManager_Tracing_OperationName)(0), // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.OperationName (*HttpConnectionManager)(nil), // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager (*LocalReplyConfig)(nil), // 6: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig (*ResponseMapper)(nil), // 7: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper (*Rds)(nil), // 8: envoy.extensions.filters.network.http_connection_manager.v3.Rds (*ScopedRouteConfigurationsList)(nil), // 9: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList (*ScopedRoutes)(nil), // 10: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes (*ScopedRds)(nil), // 11: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds (*HttpFilter)(nil), // 12: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter (*RequestIDExtension)(nil), // 13: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension (*EnvoyMobileHttpConnectionManager)(nil), // 14: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager (*HttpConnectionManager_Tracing)(nil), // 15: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing (*HttpConnectionManager_InternalAddressConfig)(nil), // 16: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig (*HttpConnectionManager_SetCurrentClientCertDetails)(nil), // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails (*HttpConnectionManager_UpgradeConfig)(nil), // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig (*HttpConnectionManager_PathNormalizationOptions)(nil), // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions (*HttpConnectionManager_ProxyStatusConfig)(nil), // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig (*HttpConnectionManager_HcmAccessLogOptions)(nil), // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions (*ScopedRoutes_ScopeKeyBuilder)(nil), // 22: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder)(nil), // 23: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor)(nil), // 24: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement)(nil), // 25: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement (*v32.RouteConfiguration)(nil), // 26: envoy.config.route.v3.RouteConfiguration (*wrappers.BoolValue)(nil), // 27: google.protobuf.BoolValue (*v3.HttpProtocolOptions)(nil), // 28: envoy.config.core.v3.HttpProtocolOptions (*v3.Http1ProtocolOptions)(nil), // 29: envoy.config.core.v3.Http1ProtocolOptions (*v3.Http2ProtocolOptions)(nil), // 30: envoy.config.core.v3.Http2ProtocolOptions (*v3.Http3ProtocolOptions)(nil), // 31: envoy.config.core.v3.Http3ProtocolOptions (*v3.SchemeHeaderTransformation)(nil), // 32: envoy.config.core.v3.SchemeHeaderTransformation (*wrappers.UInt32Value)(nil), // 33: google.protobuf.UInt32Value (*duration.Duration)(nil), // 34: google.protobuf.Duration (*v31.AccessLog)(nil), // 35: envoy.config.accesslog.v3.AccessLog (*v3.TypedExtensionConfig)(nil), // 36: envoy.config.core.v3.TypedExtensionConfig (*v3.SubstitutionFormatString)(nil), // 37: envoy.config.core.v3.SubstitutionFormatString (*v31.AccessLogFilter)(nil), // 38: envoy.config.accesslog.v3.AccessLogFilter (*v3.DataSource)(nil), // 39: envoy.config.core.v3.DataSource (*v3.HeaderValueOption)(nil), // 40: envoy.config.core.v3.HeaderValueOption (*v3.ConfigSource)(nil), // 41: envoy.config.core.v3.ConfigSource (*v32.ScopedRouteConfiguration)(nil), // 42: envoy.config.route.v3.ScopedRouteConfiguration (*any1.Any)(nil), // 43: google.protobuf.Any (*v3.ExtensionConfigSource)(nil), // 44: envoy.config.core.v3.ExtensionConfigSource (*v33.Percent)(nil), // 45: envoy.type.v3.Percent (*v34.CustomTag)(nil), // 46: envoy.type.tracing.v3.CustomTag (*v35.Tracing_Http)(nil), // 47: envoy.config.trace.v3.Tracing.Http (*v3.CidrRange)(nil), // 48: envoy.config.core.v3.CidrRange (*v36.PathTransformation)(nil), // 49: envoy.type.http.v3.PathTransformation } var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.codec_type:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType 8, // 1: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.Rds 26, // 2: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config:type_name -> envoy.config.route.v3.RouteConfiguration 10, // 3: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scoped_routes:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes 12, // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter 27, // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent:type_name -> google.protobuf.BoolValue 15, // 6: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.tracing:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing 28, // 7: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions 29, // 8: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions 30, // 9: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 31, // 10: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions 1, // 11: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.server_header_transformation:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation 32, // 12: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scheme_header_transformation:type_name -> envoy.config.core.v3.SchemeHeaderTransformation 33, // 13: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.max_request_headers_kb:type_name -> google.protobuf.UInt32Value 34, // 14: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout:type_name -> google.protobuf.Duration 34, // 15: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_timeout:type_name -> google.protobuf.Duration 34, // 16: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_headers_timeout:type_name -> google.protobuf.Duration 34, // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout:type_name -> google.protobuf.Duration 34, // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.delayed_close_timeout:type_name -> google.protobuf.Duration 35, // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 34, // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_flush_interval:type_name -> google.protobuf.Duration 21, // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions 27, // 22: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address:type_name -> google.protobuf.BoolValue 36, // 23: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.original_ip_detection_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig 36, // 24: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.early_header_mutation_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig 16, // 25: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig 27, // 26: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.generate_request_id:type_name -> google.protobuf.BoolValue 2, // 27: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails 17, // 28: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails 18, // 29: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.upgrade_configs:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig 27, // 30: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.normalize_path:type_name -> google.protobuf.BoolValue 3, // 31: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_with_escaped_slashes_action:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction 13, // 32: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension 6, // 33: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.local_reply_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig 27, // 34: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue 19, // 35: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_normalization_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions 20, // 36: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.proxy_status_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig 36, // 37: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 27, // 38: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_proxy_protocol_connection_state:type_name -> google.protobuf.BoolValue 7, // 39: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.mappers:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper 37, // 40: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString 38, // 41: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.filter:type_name -> envoy.config.accesslog.v3.AccessLogFilter 33, // 42: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.status_code:type_name -> google.protobuf.UInt32Value 39, // 43: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body:type_name -> envoy.config.core.v3.DataSource 37, // 44: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body_format_override:type_name -> envoy.config.core.v3.SubstitutionFormatString 40, // 45: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 41, // 46: envoy.extensions.filters.network.http_connection_manager.v3.Rds.config_source:type_name -> envoy.config.core.v3.ConfigSource 42, // 47: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList.scoped_route_configurations:type_name -> envoy.config.route.v3.ScopedRouteConfiguration 22, // 48: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scope_key_builder:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder 41, // 49: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.rds_config_source:type_name -> envoy.config.core.v3.ConfigSource 9, // 50: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList 11, // 51: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds 41, // 52: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds.scoped_rds_config_source:type_name -> envoy.config.core.v3.ConfigSource 43, // 53: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.typed_config:type_name -> google.protobuf.Any 44, // 54: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 43, // 55: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension.typed_config:type_name -> google.protobuf.Any 5, // 56: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager.config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager 45, // 57: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.client_sampling:type_name -> envoy.type.v3.Percent 45, // 58: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.random_sampling:type_name -> envoy.type.v3.Percent 45, // 59: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.overall_sampling:type_name -> envoy.type.v3.Percent 33, // 60: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.max_path_tag_length:type_name -> google.protobuf.UInt32Value 46, // 61: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag 47, // 62: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider:type_name -> envoy.config.trace.v3.Tracing.Http 27, // 63: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.spawn_upstream_span:type_name -> google.protobuf.BoolValue 48, // 64: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig.cidr_ranges:type_name -> envoy.config.core.v3.CidrRange 27, // 65: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue 12, // 66: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter 27, // 67: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue 49, // 68: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.forwarding_transformation:type_name -> envoy.type.http.v3.PathTransformation 49, // 69: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.http_filter_transformation:type_name -> envoy.type.http.v3.PathTransformation 34, // 70: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration 23, // 71: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.fragments:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder 24, // 72: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.header_value_extractor:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor 25, // 73: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.element:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement 74, // [74:74] is the sub-list for method output_type 74, // [74:74] is the sub-list for method input_type 74, // [74:74] is the sub-list for extension type_name 74, // [74:74] is the sub-list for extension extendee 0, // [0:74] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_init() } func file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_init() { if File_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalReplyConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseMapper); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRouteConfigurationsList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestIDExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvoyMobileHttpConnectionManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_Tracing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_InternalAddressConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_SetCurrentClientCertDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_UpgradeConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_PathNormalizationOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_ProxyStatusConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionManager_HcmAccessLogOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HttpConnectionManager_Rds)(nil), (*HttpConnectionManager_RouteConfig)(nil), (*HttpConnectionManager_ScopedRoutes)(nil), (*HttpConnectionManager_StripAnyHostPort)(nil), } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopedRouteConfigurationsList)(nil), (*ScopedRoutes_ScopedRds)(nil), } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7].OneofWrappers = []interface{}{ (*HttpFilter_TypedConfig)(nil), (*HttpFilter_ConfigDiscovery)(nil), } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15].OneofWrappers = []interface{}{ (*HttpConnectionManager_ProxyStatusConfig_UseNodeId)(nil), (*HttpConnectionManager_ProxyStatusConfig_LiteralProxyName)(nil), } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_)(nil), } file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19].OneofWrappers = []interface{}{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index)(nil), (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc, NumEnums: 5, NumMessages: 21, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto = out.File file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc = nil file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_goTypes = nil file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_depIdxs = nil } http_connection_manager.pb.validate.go000077500000000000000000004251611454502223200402350ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/http_connection_manager/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto package http_connection_managerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpConnectionManager with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpConnectionManagerMultiError, or nil if none found. func (m *HttpConnectionManager) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := HttpConnectionManager_CodecType_name[int32(m.GetCodecType())]; !ok { err := HttpConnectionManagerValidationError{ field: "CodecType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := HttpConnectionManagerValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHttpFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetAddUserAgent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddUserAgent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "AddUserAgent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTracing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTracing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Tracing", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCommonHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp3ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp3ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if !_HttpConnectionManager_ServerName_Pattern.MatchString(m.GetServerName()) { err := HttpConnectionManagerValidationError{ field: "ServerName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if _, ok := HttpConnectionManager_ServerHeaderTransformation_name[int32(m.GetServerHeaderTransformation())]; !ok { err := HttpConnectionManagerValidationError{ field: "ServerHeaderTransformation", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSchemeHeaderTransformation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SchemeHeaderTransformation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SchemeHeaderTransformation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSchemeHeaderTransformation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "SchemeHeaderTransformation", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetMaxRequestHeadersKb(); wrapper != nil { if val := wrapper.GetValue(); val <= 0 || val > 8192 { err := HttpConnectionManagerValidationError{ field: "MaxRequestHeadersKb", reason: "value must be inside range (0, 8192]", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetStreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "StreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequestTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RequestTimeout", reason: "embedded message failed validation", cause: err, } } } if d := m.GetRequestHeadersTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HttpConnectionManagerValidationError{ field: "RequestHeadersTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte { err := HttpConnectionManagerValidationError{ field: "RequestHeadersTimeout", reason: "value must be greater than or equal to 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetDrainTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDrainTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "DrainTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDelayedCloseTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelayedCloseTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "DelayedCloseTimeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if d := m.GetAccessLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HttpConnectionManagerValidationError{ field: "AccessLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := HttpConnectionManagerValidationError{ field: "AccessLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } // no validation rules for FlushAccessLogOnNewRequest if all { switch v := interface{}(m.GetAccessLogOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAccessLogOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUseRemoteAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseRemoteAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "UseRemoteAddress", reason: "embedded message failed validation", cause: err, } } } // no validation rules for XffNumTrustedHops for idx, item := range m.GetOriginalIpDetectionExtensions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("OriginalIpDetectionExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("OriginalIpDetectionExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("OriginalIpDetectionExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetEarlyHeaderMutationExtensions() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("EarlyHeaderMutationExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("EarlyHeaderMutationExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("EarlyHeaderMutationExtensions[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetInternalAddressConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInternalAddressConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "InternalAddressConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SkipXffAppend if !_HttpConnectionManager_Via_Pattern.MatchString(m.GetVia()) { err := HttpConnectionManagerValidationError{ field: "Via", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGenerateRequestId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenerateRequestId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "GenerateRequestId", reason: "embedded message failed validation", cause: err, } } } // no validation rules for PreserveExternalRequestId // no validation rules for AlwaysSetRequestIdInResponse if _, ok := HttpConnectionManager_ForwardClientCertDetails_name[int32(m.GetForwardClientCertDetails())]; !ok { err := HttpConnectionManagerValidationError{ field: "ForwardClientCertDetails", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSetCurrentClientCertDetails()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSetCurrentClientCertDetails()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "SetCurrentClientCertDetails", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Proxy_100Continue // no validation rules for RepresentIpv4RemoteAddressAsIpv4MappedIpv6 for idx, item := range m.GetUpgradeConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: fmt.Sprintf("UpgradeConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetNormalizePath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNormalizePath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "NormalizePath", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MergeSlashes // no validation rules for PathWithEscapedSlashesAction if all { switch v := interface{}(m.GetRequestIdExtension()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestIdExtension()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RequestIdExtension", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocalReplyConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "LocalReplyConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "LocalReplyConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalReplyConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "LocalReplyConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StripMatchingHostPort if all { switch v := interface{}(m.GetStreamErrorOnInvalidHttpMessage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "StreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamErrorOnInvalidHttpMessage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "StreamErrorOnInvalidHttpMessage", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPathNormalizationOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "PathNormalizationOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "PathNormalizationOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPathNormalizationOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "PathNormalizationOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for StripTrailingHostDot if all { switch v := interface{}(m.GetProxyStatusConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ProxyStatusConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ProxyStatusConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProxyStatusConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "ProxyStatusConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedHeaderValidationConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "TypedHeaderValidationConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "TypedHeaderValidationConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedHeaderValidationConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "TypedHeaderValidationConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AppendXForwardedPort if all { switch v := interface{}(m.GetAddProxyProtocolConnectionState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddProxyProtocolConnectionState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "AddProxyProtocolConnectionState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddProxyProtocolConnectionState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "AddProxyProtocolConnectionState", reason: "embedded message failed validation", cause: err, } } } oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *HttpConnectionManager_Rds: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetRds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "Rds", reason: "embedded message failed validation", cause: err, } } } case *HttpConnectionManager_RouteConfig: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } case *HttpConnectionManager_ScopedRoutes: if v == nil { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManagerValidationError{ field: "ScopedRoutes", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRouteSpecifierPresent { err := HttpConnectionManagerValidationError{ field: "RouteSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } switch v := m.StripPortMode.(type) { case *HttpConnectionManager_StripAnyHostPort: if v == nil { err := HttpConnectionManagerValidationError{ field: "StripPortMode", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for StripAnyHostPort default: _ = v // ensures v is used } if len(errors) > 0 { return HttpConnectionManagerMultiError(errors) } return nil } // HttpConnectionManagerMultiError is an error wrapping multiple validation // errors returned by HttpConnectionManager.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManagerMultiError) AllErrors() []error { return m } // HttpConnectionManagerValidationError is the validation error returned by // HttpConnectionManager.Validate if the designated constraints aren't met. type HttpConnectionManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManagerValidationError) ErrorName() string { return "HttpConnectionManagerValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManagerValidationError{} var _HttpConnectionManager_ServerName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") var _HttpConnectionManager_Via_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on LocalReplyConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LocalReplyConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalReplyConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalReplyConfigMultiError, or nil if none found. func (m *LocalReplyConfig) ValidateAll() error { return m.validate(true) } func (m *LocalReplyConfig) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetMappers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalReplyConfigValidationError{ field: fmt.Sprintf("Mappers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalReplyConfigValidationError{ field: fmt.Sprintf("Mappers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalReplyConfigValidationError{ field: fmt.Sprintf("Mappers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetBodyFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalReplyConfigValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalReplyConfigValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBodyFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalReplyConfigValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LocalReplyConfigMultiError(errors) } return nil } // LocalReplyConfigMultiError is an error wrapping multiple validation errors // returned by LocalReplyConfig.ValidateAll() if the designated constraints // aren't met. type LocalReplyConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalReplyConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalReplyConfigMultiError) AllErrors() []error { return m } // LocalReplyConfigValidationError is the validation error returned by // LocalReplyConfig.Validate if the designated constraints aren't met. type LocalReplyConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalReplyConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalReplyConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalReplyConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalReplyConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalReplyConfigValidationError) ErrorName() string { return "LocalReplyConfigValidationError" } // Error satisfies the builtin error interface func (e LocalReplyConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalReplyConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalReplyConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalReplyConfigValidationError{} // Validate checks the field values on ResponseMapper with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ResponseMapper) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResponseMapper with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResponseMapperMultiError, // or nil if none found. func (m *ResponseMapper) ValidateAll() error { return m.validate(true) } func (m *ResponseMapper) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetFilter() == nil { err := ResponseMapperValidationError{ field: "Filter", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFilter()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilter()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseMapperValidationError{ field: "Filter", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetStatusCode(); wrapper != nil { if val := wrapper.GetValue(); val < 200 || val >= 600 { err := ResponseMapperValidationError{ field: "StatusCode", reason: "value must be inside range [200, 600)", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseMapperValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetBodyFormatOverride()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "BodyFormatOverride", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: "BodyFormatOverride", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBodyFormatOverride()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseMapperValidationError{ field: "BodyFormatOverride", reason: "embedded message failed validation", cause: err, } } } if len(m.GetHeadersToAdd()) > 1000 { err := ResponseMapperValidationError{ field: "HeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResponseMapperValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResponseMapperValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ResponseMapperMultiError(errors) } return nil } // ResponseMapperMultiError is an error wrapping multiple validation errors // returned by ResponseMapper.ValidateAll() if the designated constraints // aren't met. type ResponseMapperMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResponseMapperMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResponseMapperMultiError) AllErrors() []error { return m } // ResponseMapperValidationError is the validation error returned by // ResponseMapper.Validate if the designated constraints aren't met. type ResponseMapperValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResponseMapperValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResponseMapperValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResponseMapperValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResponseMapperValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResponseMapperValidationError) ErrorName() string { return "ResponseMapperValidationError" } // Error satisfies the builtin error interface func (e ResponseMapperValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResponseMapper.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResponseMapperValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResponseMapperValidationError{} // Validate checks the field values on Rds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Rds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Rds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RdsMultiError, or nil if none found. func (m *Rds) ValidateAll() error { return m.validate(true) } func (m *Rds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := RdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RouteConfigName if len(errors) > 0 { return RdsMultiError(errors) } return nil } // RdsMultiError is an error wrapping multiple validation errors returned by // Rds.ValidateAll() if the designated constraints aren't met. type RdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RdsMultiError) AllErrors() []error { return m } // RdsValidationError is the validation error returned by Rds.Validate if the // designated constraints aren't met. type RdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RdsValidationError) ErrorName() string { return "RdsValidationError" } // Error satisfies the builtin error interface func (e RdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RdsValidationError{} // Validate checks the field values on ScopedRouteConfigurationsList with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRouteConfigurationsList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRouteConfigurationsList with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ScopedRouteConfigurationsListMultiError, or nil if none found. func (m *ScopedRouteConfigurationsList) ValidateAll() error { return m.validate(true) } func (m *ScopedRouteConfigurationsList) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetScopedRouteConfigurations()) < 1 { err := ScopedRouteConfigurationsListValidationError{ field: "ScopedRouteConfigurations", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetScopedRouteConfigurations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRouteConfigurationsListValidationError{ field: fmt.Sprintf("ScopedRouteConfigurations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRouteConfigurationsListMultiError(errors) } return nil } // ScopedRouteConfigurationsListMultiError is an error wrapping multiple // validation errors returned by ScopedRouteConfigurationsList.ValidateAll() // if the designated constraints aren't met. type ScopedRouteConfigurationsListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRouteConfigurationsListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRouteConfigurationsListMultiError) AllErrors() []error { return m } // ScopedRouteConfigurationsListValidationError is the validation error // returned by ScopedRouteConfigurationsList.Validate if the designated // constraints aren't met. type ScopedRouteConfigurationsListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRouteConfigurationsListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRouteConfigurationsListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRouteConfigurationsListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRouteConfigurationsListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRouteConfigurationsListValidationError) ErrorName() string { return "ScopedRouteConfigurationsListValidationError" } // Error satisfies the builtin error interface func (e ScopedRouteConfigurationsListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRouteConfigurationsList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRouteConfigurationsListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRouteConfigurationsListValidationError{} // Validate checks the field values on ScopedRoutes with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutes with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ScopedRoutesMultiError, or // nil if none found. func (m *ScopedRoutes) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ScopedRoutesValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetScopeKeyBuilder() == nil { err := ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopeKeyBuilder()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopeKeyBuilder()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopeKeyBuilder", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRdsConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRdsConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "RdsConfigSource", reason: "embedded message failed validation", cause: err, } } } oneofConfigSpecifierPresent := false switch v := m.ConfigSpecifier.(type) { case *ScopedRoutes_ScopedRouteConfigurationsList: if v == nil { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRouteConfigurationsList()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRouteConfigurationsList()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopedRouteConfigurationsList", reason: "embedded message failed validation", cause: err, } } } case *ScopedRoutes_ScopedRds: if v == nil { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSpecifierPresent = true if all { switch v := interface{}(m.GetScopedRds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutesValidationError{ field: "ScopedRds", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSpecifierPresent { err := ScopedRoutesValidationError{ field: "ConfigSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutesMultiError(errors) } return nil } // ScopedRoutesMultiError is an error wrapping multiple validation errors // returned by ScopedRoutes.ValidateAll() if the designated constraints aren't met. type ScopedRoutesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutesMultiError) AllErrors() []error { return m } // ScopedRoutesValidationError is the validation error returned by // ScopedRoutes.Validate if the designated constraints aren't met. type ScopedRoutesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutesValidationError) ErrorName() string { return "ScopedRoutesValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutesValidationError{} // Validate checks the field values on ScopedRds with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRds with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ScopedRdsMultiError, or nil // if none found. func (m *ScopedRds) ValidateAll() error { return m.validate(true) } func (m *ScopedRds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetScopedRdsConfigSource() == nil { err := ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopedRdsConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRdsConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRdsValidationError{ field: "ScopedRdsConfigSource", reason: "embedded message failed validation", cause: err, } } } // no validation rules for SrdsResourcesLocator if len(errors) > 0 { return ScopedRdsMultiError(errors) } return nil } // ScopedRdsMultiError is an error wrapping multiple validation errors returned // by ScopedRds.ValidateAll() if the designated constraints aren't met. type ScopedRdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRdsMultiError) AllErrors() []error { return m } // ScopedRdsValidationError is the validation error returned by // ScopedRds.Validate if the designated constraints aren't met. type ScopedRdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRdsValidationError) ErrorName() string { return "ScopedRdsValidationError" } // Error satisfies the builtin error interface func (e ScopedRdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRdsValidationError{} // Validate checks the field values on HttpFilter with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpFilter with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpFilterMultiError, or // nil if none found. func (m *HttpFilter) ValidateAll() error { return m.validate(true) } func (m *HttpFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := HttpFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for IsOptional // no validation rules for Disabled switch v := m.ConfigType.(type) { case *HttpFilter_TypedConfig: if v == nil { err := HttpFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } case *HttpFilter_ConfigDiscovery: if v == nil { err := HttpFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigDiscovery()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigDiscovery()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpFilterValidationError{ field: "ConfigDiscovery", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HttpFilterMultiError(errors) } return nil } // HttpFilterMultiError is an error wrapping multiple validation errors // returned by HttpFilter.ValidateAll() if the designated constraints aren't met. type HttpFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpFilterMultiError) AllErrors() []error { return m } // HttpFilterValidationError is the validation error returned by // HttpFilter.Validate if the designated constraints aren't met. type HttpFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpFilterValidationError) ErrorName() string { return "HttpFilterValidationError" } // Error satisfies the builtin error interface func (e HttpFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpFilterValidationError{} // Validate checks the field values on RequestIDExtension with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RequestIDExtension) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RequestIDExtension with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RequestIDExtensionMultiError, or nil if none found. func (m *RequestIDExtension) ValidateAll() error { return m.validate(true) } func (m *RequestIDExtension) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RequestIDExtensionValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RequestIDExtensionMultiError(errors) } return nil } // RequestIDExtensionMultiError is an error wrapping multiple validation errors // returned by RequestIDExtension.ValidateAll() if the designated constraints // aren't met. type RequestIDExtensionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RequestIDExtensionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RequestIDExtensionMultiError) AllErrors() []error { return m } // RequestIDExtensionValidationError is the validation error returned by // RequestIDExtension.Validate if the designated constraints aren't met. type RequestIDExtensionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RequestIDExtensionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RequestIDExtensionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RequestIDExtensionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RequestIDExtensionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RequestIDExtensionValidationError) ErrorName() string { return "RequestIDExtensionValidationError" } // Error satisfies the builtin error interface func (e RequestIDExtensionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRequestIDExtension.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RequestIDExtensionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RequestIDExtensionValidationError{} // Validate checks the field values on EnvoyMobileHttpConnectionManager with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *EnvoyMobileHttpConnectionManager) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EnvoyMobileHttpConnectionManager with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // EnvoyMobileHttpConnectionManagerMultiError, or nil if none found. func (m *EnvoyMobileHttpConnectionManager) ValidateAll() error { return m.validate(true) } func (m *EnvoyMobileHttpConnectionManager) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EnvoyMobileHttpConnectionManagerValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EnvoyMobileHttpConnectionManagerValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EnvoyMobileHttpConnectionManagerValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return EnvoyMobileHttpConnectionManagerMultiError(errors) } return nil } // EnvoyMobileHttpConnectionManagerMultiError is an error wrapping multiple // validation errors returned by // EnvoyMobileHttpConnectionManager.ValidateAll() if the designated // constraints aren't met. type EnvoyMobileHttpConnectionManagerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EnvoyMobileHttpConnectionManagerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EnvoyMobileHttpConnectionManagerMultiError) AllErrors() []error { return m } // EnvoyMobileHttpConnectionManagerValidationError is the validation error // returned by EnvoyMobileHttpConnectionManager.Validate if the designated // constraints aren't met. type EnvoyMobileHttpConnectionManagerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EnvoyMobileHttpConnectionManagerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EnvoyMobileHttpConnectionManagerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EnvoyMobileHttpConnectionManagerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EnvoyMobileHttpConnectionManagerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EnvoyMobileHttpConnectionManagerValidationError) ErrorName() string { return "EnvoyMobileHttpConnectionManagerValidationError" } // Error satisfies the builtin error interface func (e EnvoyMobileHttpConnectionManagerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEnvoyMobileHttpConnectionManager.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EnvoyMobileHttpConnectionManagerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EnvoyMobileHttpConnectionManagerValidationError{} // Validate checks the field values on HttpConnectionManager_Tracing with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_Tracing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager_Tracing with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HttpConnectionManager_TracingMultiError, or nil if none found. func (m *HttpConnectionManager_Tracing) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_Tracing) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetClientSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "ClientSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRandomSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRandomSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "RandomSampling", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverallSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverallSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "OverallSampling", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Verbose if all { switch v := interface{}(m.GetMaxPathTagLength()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPathTagLength()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "MaxPathTagLength", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetCustomTags() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: fmt.Sprintf("CustomTags[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "Provider", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSpawnUpstreamSpan()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "SpawnUpstreamSpan", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_TracingValidationError{ field: "SpawnUpstreamSpan", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSpawnUpstreamSpan()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_TracingValidationError{ field: "SpawnUpstreamSpan", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpConnectionManager_TracingMultiError(errors) } return nil } // HttpConnectionManager_TracingMultiError is an error wrapping multiple // validation errors returned by HttpConnectionManager_Tracing.ValidateAll() // if the designated constraints aren't met. type HttpConnectionManager_TracingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_TracingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_TracingMultiError) AllErrors() []error { return m } // HttpConnectionManager_TracingValidationError is the validation error // returned by HttpConnectionManager_Tracing.Validate if the designated // constraints aren't met. type HttpConnectionManager_TracingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_TracingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_TracingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_TracingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_TracingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_TracingValidationError) ErrorName() string { return "HttpConnectionManager_TracingValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_TracingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_Tracing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_TracingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_TracingValidationError{} // Validate checks the field values on // HttpConnectionManager_InternalAddressConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_InternalAddressConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_InternalAddressConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HttpConnectionManager_InternalAddressConfigMultiError, or nil if none found. func (m *HttpConnectionManager_InternalAddressConfig) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_InternalAddressConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UnixSockets for idx, item := range m.GetCidrRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_InternalAddressConfigValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_InternalAddressConfigValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_InternalAddressConfigValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpConnectionManager_InternalAddressConfigMultiError(errors) } return nil } // HttpConnectionManager_InternalAddressConfigMultiError is an error wrapping // multiple validation errors returned by // HttpConnectionManager_InternalAddressConfig.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_InternalAddressConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_InternalAddressConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_InternalAddressConfigMultiError) AllErrors() []error { return m } // HttpConnectionManager_InternalAddressConfigValidationError is the validation // error returned by HttpConnectionManager_InternalAddressConfig.Validate if // the designated constraints aren't met. type HttpConnectionManager_InternalAddressConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_InternalAddressConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_InternalAddressConfigValidationError) ErrorName() string { return "HttpConnectionManager_InternalAddressConfigValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_InternalAddressConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_InternalAddressConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_InternalAddressConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_InternalAddressConfigValidationError{} // Validate checks the field values on // HttpConnectionManager_SetCurrentClientCertDetails with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_SetCurrentClientCertDetails) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_SetCurrentClientCertDetails with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // HttpConnectionManager_SetCurrentClientCertDetailsMultiError, or nil if none found. func (m *HttpConnectionManager_SetCurrentClientCertDetails) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_SetCurrentClientCertDetails) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSubject()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubject()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_SetCurrentClientCertDetailsValidationError{ field: "Subject", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Cert // no validation rules for Chain // no validation rules for Dns // no validation rules for Uri if len(errors) > 0 { return HttpConnectionManager_SetCurrentClientCertDetailsMultiError(errors) } return nil } // HttpConnectionManager_SetCurrentClientCertDetailsMultiError is an error // wrapping multiple validation errors returned by // HttpConnectionManager_SetCurrentClientCertDetails.ValidateAll() if the // designated constraints aren't met. type HttpConnectionManager_SetCurrentClientCertDetailsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_SetCurrentClientCertDetailsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_SetCurrentClientCertDetailsMultiError) AllErrors() []error { return m } // HttpConnectionManager_SetCurrentClientCertDetailsValidationError is the // validation error returned by // HttpConnectionManager_SetCurrentClientCertDetails.Validate if the // designated constraints aren't met. type HttpConnectionManager_SetCurrentClientCertDetailsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) ErrorName() string { return "HttpConnectionManager_SetCurrentClientCertDetailsValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_SetCurrentClientCertDetailsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_SetCurrentClientCertDetails.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_SetCurrentClientCertDetailsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_SetCurrentClientCertDetailsValidationError{} // Validate checks the field values on HttpConnectionManager_UpgradeConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *HttpConnectionManager_UpgradeConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionManager_UpgradeConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpConnectionManager_UpgradeConfigMultiError, or nil if none found. func (m *HttpConnectionManager_UpgradeConfig) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_UpgradeConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UpgradeType for idx, item := range m.GetFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_UpgradeConfigValidationError{ field: fmt.Sprintf("Filters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_UpgradeConfigValidationError{ field: "Enabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpConnectionManager_UpgradeConfigMultiError(errors) } return nil } // HttpConnectionManager_UpgradeConfigMultiError is an error wrapping multiple // validation errors returned by // HttpConnectionManager_UpgradeConfig.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_UpgradeConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_UpgradeConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_UpgradeConfigMultiError) AllErrors() []error { return m } // HttpConnectionManager_UpgradeConfigValidationError is the validation error // returned by HttpConnectionManager_UpgradeConfig.Validate if the designated // constraints aren't met. type HttpConnectionManager_UpgradeConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_UpgradeConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_UpgradeConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_UpgradeConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_UpgradeConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_UpgradeConfigValidationError) ErrorName() string { return "HttpConnectionManager_UpgradeConfigValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_UpgradeConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_UpgradeConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_UpgradeConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_UpgradeConfigValidationError{} // Validate checks the field values on // HttpConnectionManager_PathNormalizationOptions with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_PathNormalizationOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_PathNormalizationOptions with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // HttpConnectionManager_PathNormalizationOptionsMultiError, or nil if none found. func (m *HttpConnectionManager_PathNormalizationOptions) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_PathNormalizationOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetForwardingTransformation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "ForwardingTransformation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "ForwardingTransformation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetForwardingTransformation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "ForwardingTransformation", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttpFilterTransformation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "HttpFilterTransformation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "HttpFilterTransformation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpFilterTransformation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpConnectionManager_PathNormalizationOptionsValidationError{ field: "HttpFilterTransformation", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpConnectionManager_PathNormalizationOptionsMultiError(errors) } return nil } // HttpConnectionManager_PathNormalizationOptionsMultiError is an error // wrapping multiple validation errors returned by // HttpConnectionManager_PathNormalizationOptions.ValidateAll() if the // designated constraints aren't met. type HttpConnectionManager_PathNormalizationOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_PathNormalizationOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_PathNormalizationOptionsMultiError) AllErrors() []error { return m } // HttpConnectionManager_PathNormalizationOptionsValidationError is the // validation error returned by // HttpConnectionManager_PathNormalizationOptions.Validate if the designated // constraints aren't met. type HttpConnectionManager_PathNormalizationOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_PathNormalizationOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_PathNormalizationOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_PathNormalizationOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_PathNormalizationOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_PathNormalizationOptionsValidationError) ErrorName() string { return "HttpConnectionManager_PathNormalizationOptionsValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_PathNormalizationOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_PathNormalizationOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_PathNormalizationOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_PathNormalizationOptionsValidationError{} // Validate checks the field values on HttpConnectionManager_ProxyStatusConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *HttpConnectionManager_ProxyStatusConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_ProxyStatusConfig with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // HttpConnectionManager_ProxyStatusConfigMultiError, or nil if none found. func (m *HttpConnectionManager_ProxyStatusConfig) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_ProxyStatusConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RemoveDetails // no validation rules for RemoveConnectionTerminationDetails // no validation rules for RemoveResponseFlags // no validation rules for SetRecommendedResponseCode switch v := m.ProxyName.(type) { case *HttpConnectionManager_ProxyStatusConfig_UseNodeId: if v == nil { err := HttpConnectionManager_ProxyStatusConfigValidationError{ field: "ProxyName", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for UseNodeId case *HttpConnectionManager_ProxyStatusConfig_LiteralProxyName: if v == nil { err := HttpConnectionManager_ProxyStatusConfigValidationError{ field: "ProxyName", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for LiteralProxyName default: _ = v // ensures v is used } if len(errors) > 0 { return HttpConnectionManager_ProxyStatusConfigMultiError(errors) } return nil } // HttpConnectionManager_ProxyStatusConfigMultiError is an error wrapping // multiple validation errors returned by // HttpConnectionManager_ProxyStatusConfig.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_ProxyStatusConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_ProxyStatusConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_ProxyStatusConfigMultiError) AllErrors() []error { return m } // HttpConnectionManager_ProxyStatusConfigValidationError is the validation // error returned by HttpConnectionManager_ProxyStatusConfig.Validate if the // designated constraints aren't met. type HttpConnectionManager_ProxyStatusConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_ProxyStatusConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_ProxyStatusConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_ProxyStatusConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_ProxyStatusConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_ProxyStatusConfigValidationError) ErrorName() string { return "HttpConnectionManager_ProxyStatusConfigValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_ProxyStatusConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_ProxyStatusConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_ProxyStatusConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_ProxyStatusConfigValidationError{} // Validate checks the field values on // HttpConnectionManager_HcmAccessLogOptions with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpConnectionManager_HcmAccessLogOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpConnectionManager_HcmAccessLogOptions with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HttpConnectionManager_HcmAccessLogOptionsMultiError, or nil if none found. func (m *HttpConnectionManager_HcmAccessLogOptions) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionManager_HcmAccessLogOptions) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetAccessLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = HttpConnectionManager_HcmAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := HttpConnectionManager_HcmAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } // no validation rules for FlushAccessLogOnNewRequest // no validation rules for FlushLogOnTunnelSuccessfullyEstablished if len(errors) > 0 { return HttpConnectionManager_HcmAccessLogOptionsMultiError(errors) } return nil } // HttpConnectionManager_HcmAccessLogOptionsMultiError is an error wrapping // multiple validation errors returned by // HttpConnectionManager_HcmAccessLogOptions.ValidateAll() if the designated // constraints aren't met. type HttpConnectionManager_HcmAccessLogOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionManager_HcmAccessLogOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionManager_HcmAccessLogOptionsMultiError) AllErrors() []error { return m } // HttpConnectionManager_HcmAccessLogOptionsValidationError is the validation // error returned by HttpConnectionManager_HcmAccessLogOptions.Validate if the // designated constraints aren't met. type HttpConnectionManager_HcmAccessLogOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) ErrorName() string { return "HttpConnectionManager_HcmAccessLogOptionsValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionManager_HcmAccessLogOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionManager_HcmAccessLogOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionManager_HcmAccessLogOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionManager_HcmAccessLogOptionsValidationError{} // Validate checks the field values on ScopedRoutes_ScopeKeyBuilder with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ScopedRoutes_ScopeKeyBuilder with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilderMultiError, or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetFragments()) < 1 { err := ScopedRoutes_ScopeKeyBuilderValidationError{ field: "Fragments", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetFragments() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilderValidationError{ field: fmt.Sprintf("Fragments[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilderMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilderMultiError is an error wrapping multiple // validation errors returned by ScopedRoutes_ScopeKeyBuilder.ValidateAll() if // the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilderMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilderValidationError is the validation error returned // by ScopedRoutes_ScopeKeyBuilder.Validate if the designated constraints // aren't met. type ScopedRoutes_ScopeKeyBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilderValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilderValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilderValidationError{} // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError, or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) validate(all bool) error { if m == nil { return nil } var errors []error oneofTypePresent := false switch v := m.Type.(type) { case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetHeaderValueExtractor()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValueExtractor()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "HeaderValueExtractor", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTypePresent { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError is an error wrapping // multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ValidateAll() if the // designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilderMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError is the // validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.Validate if the designated // constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilderValidationError{} // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError, // or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Name_Pattern.MatchString(m.GetName()) { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for ElementSeparator switch v := m.ExtractType.(type) { case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "ExtractType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Index case *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element: if v == nil { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "ExtractType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetElement()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetElement()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{ field: "Element", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError // is an error wrapping multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ValidateAll() // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError // is the validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.Validate // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractorValidationError{} var _ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError, // or nil if none found. func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ValidateAll() error { return m.validate(true) } func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetSeparator()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{ field: "Separator", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetKey()) < 1 { err := ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError(errors) } return nil } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError // is an error wrapping multiple validation errors returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ValidateAll() // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementMultiError) AllErrors() []error { return m } // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError // is the validation error returned by // ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.Validate // if the designated constraints aren't met. type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) ErrorName() string { return "ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError" } // Error satisfies the builtin error interface func (e ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElementValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/local_ratelimit/000077500000000000000000000000001454502223200266155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/local_ratelimit/v3/000077500000000000000000000000001454502223200271455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/local_ratelimit/v3/local_rate_limit.pb.go000077500000000000000000000320771454502223200334130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/local_ratelimit/v3/local_rate_limit.proto package local_ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LocalRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The token bucket configuration to use for rate limiting connections that are processed by the // filter's filter chain. Each incoming connection processed by the filter consumes a single // token. If the token is available, the connection will be allowed. If no tokens are available, // the connection will be immediately closed. // // .. note:: // // In the current implementation each filter and filter chain has an independent rate limit, unless // a shared rate limit is configured via :ref:`share_key `. // // .. note:: // // In the current implementation the token bucket's :ref:`fill_interval // ` must be >= 50ms to avoid too aggressive // refills. TokenBucket *v3.TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"` // Runtime flag that controls whether the filter is enabled or not. If not specified, defaults // to enabled. RuntimeEnabled *v31.RuntimeFeatureFlag `protobuf:"bytes,3,opt,name=runtime_enabled,json=runtimeEnabled,proto3" json:"runtime_enabled,omitempty"` // Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters // with a matching :ref:`token_bucket ` // and “share_key“ configuration. All fields of “token_bucket“ must match exactly for the token bucket to be shared. If this // field is empty, this filter will not share a token bucket with any other filter. ShareKey string `protobuf:"bytes,4,opt,name=share_key,json=shareKey,proto3" json:"share_key,omitempty"` } func (x *LocalRateLimit) Reset() { *x = LocalRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalRateLimit) ProtoMessage() {} func (x *LocalRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalRateLimit.ProtoReflect.Descriptor instead. func (*LocalRateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *LocalRateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *LocalRateLimit) GetTokenBucket() *v3.TokenBucket { if x != nil { return x.TokenBucket } return nil } func (x *LocalRateLimit) GetRuntimeEnabled() *v31.RuntimeFeatureFlag { if x != nil { return x.RuntimeEnabled } return nil } func (x *LocalRateLimit) GetShareKey() string { if x != nil { return x.ShareKey } return "" } var File_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0xd0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescData = file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDesc ) func file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescData) }) return file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDescData } var file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_goTypes = []interface{}{ (*LocalRateLimit)(nil), // 0: envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit (*v3.TokenBucket)(nil), // 1: envoy.type.v3.TokenBucket (*v31.RuntimeFeatureFlag)(nil), // 2: envoy.config.core.v3.RuntimeFeatureFlag } var file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket:type_name -> envoy.type.v3.TokenBucket 2, // 1: envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit.runtime_enabled:type_name -> envoy.config.core.v3.RuntimeFeatureFlag 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_init() } func file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_init() { if File_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto = out.File file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_rawDesc = nil file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_goTypes = nil file_envoy_extensions_filters_network_local_ratelimit_v3_local_rate_limit_proto_depIdxs = nil } local_rate_limit.pb.validate.go000077500000000000000000000126401454502223200351160ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/local_ratelimit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/local_ratelimit/v3/local_rate_limit.proto package local_ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LocalRateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalRateLimit with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LocalRateLimitMultiError, // or nil if none found. func (m *LocalRateLimit) ValidateAll() error { return m.validate(true) } func (m *LocalRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := LocalRateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetTokenBucket() == nil { err := LocalRateLimitValidationError{ field: "TokenBucket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRuntimeEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalRateLimitValidationError{ field: "RuntimeEnabled", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ShareKey if len(errors) > 0 { return LocalRateLimitMultiError(errors) } return nil } // LocalRateLimitMultiError is an error wrapping multiple validation errors // returned by LocalRateLimit.ValidateAll() if the designated constraints // aren't met. type LocalRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalRateLimitMultiError) AllErrors() []error { return m } // LocalRateLimitValidationError is the validation error returned by // LocalRateLimit.Validate if the designated constraints aren't met. type LocalRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalRateLimitValidationError) ErrorName() string { return "LocalRateLimitValidationError" } // Error satisfies the builtin error interface func (e LocalRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalRateLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/mongo_proxy/000077500000000000000000000000001454502223200260315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/mongo_proxy/v3/000077500000000000000000000000001454502223200263615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.pb.go000077500000000000000000000275761454502223200317140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.proto package mongo_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/common/fault/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type MongoProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The optional path to use for writing Mongo access logs. If not access log // path is specified no access logs will be written. Note that access log is // also gated :ref:`runtime `. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Inject a fixed delay before proxying a Mongo operation. Delays are // applied to the following MongoDB operations: Query, Insert, GetMore, // and KillCursors. Once an active delay is in progress, all incoming // data up until the timer event fires will be a part of the delay. Delay *v3.FaultDelay `protobuf:"bytes,3,opt,name=delay,proto3" json:"delay,omitempty"` // Flag to specify whether :ref:`dynamic metadata // ` should be emitted. Defaults to false. EmitDynamicMetadata bool `protobuf:"varint,4,opt,name=emit_dynamic_metadata,json=emitDynamicMetadata,proto3" json:"emit_dynamic_metadata,omitempty"` // List of commands to emit metrics for. Defaults to "delete", "insert", and "update". // Note that metrics will not be emitted for "find" commands, since those are considered // queries, and metrics for those are emitted under a dedicated "query" namespace. Commands []string `protobuf:"bytes,5,rep,name=commands,proto3" json:"commands,omitempty"` } func (x *MongoProxy) Reset() { *x = MongoProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MongoProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*MongoProxy) ProtoMessage() {} func (x *MongoProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MongoProxy.ProtoReflect.Descriptor instead. func (*MongoProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescGZIP(), []int{0} } func (x *MongoProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *MongoProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } func (x *MongoProxy) GetDelay() *v3.FaultDelay { if x != nil { return x.Delay } return nil } func (x *MongoProxy) GetEmitDynamicMetadata() bool { if x != nil { return x.EmitDynamicMetadata } return false } func (x *MongoProxy) GetCommands() []string { if x != nil { return x.Commands } return nil } var File_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x02, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x4a, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6d, 0x69, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescData = file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_goTypes = []interface{}{ (*MongoProxy)(nil), // 0: envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy (*v3.FaultDelay)(nil), // 1: envoy.extensions.filters.common.fault.v3.FaultDelay } var file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy.delay:type_name -> envoy.extensions.filters.common.fault.v3.FaultDelay 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_init() } func file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_init() { if File_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MongoProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto = out.File file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_mongo_proxy_v3_mongo_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.pb.validate.go000077500000000000000000000104161454502223200334650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.proto package mongo_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MongoProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MongoProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MongoProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MongoProxyMultiError, or // nil if none found. func (m *MongoProxy) ValidateAll() error { return m.validate(true) } func (m *MongoProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := MongoProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MongoProxyValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EmitDynamicMetadata if len(errors) > 0 { return MongoProxyMultiError(errors) } return nil } // MongoProxyMultiError is an error wrapping multiple validation errors // returned by MongoProxy.ValidateAll() if the designated constraints aren't met. type MongoProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MongoProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MongoProxyMultiError) AllErrors() []error { return m } // MongoProxyValidationError is the validation error returned by // MongoProxy.Validate if the designated constraints aren't met. type MongoProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MongoProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MongoProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MongoProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MongoProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MongoProxyValidationError) ErrorName() string { return "MongoProxyValidationError" } // Error satisfies the builtin error interface func (e MongoProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMongoProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MongoProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MongoProxyValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/ratelimit/000077500000000000000000000000001454502223200254435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/ratelimit/v3/000077500000000000000000000000001454502223200257735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/ratelimit/v3/rate_limit.pb.go000077500000000000000000000331121454502223200310560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/ratelimit/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The rate limit domain to use in the rate limit service request. Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // The rate limit descriptor list to use in the rate limit service request. Descriptors []*v3.RateLimitDescriptor `protobuf:"bytes,3,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to false. FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v31.RateLimitServiceConfig `protobuf:"bytes,6,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetDescriptors() []*v3.RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitService() *v31.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } var File_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x03, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x65, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescData = file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDesc ) func file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescData) }) return file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDescData } var file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_goTypes = []interface{}{ (*RateLimit)(nil), // 0: envoy.extensions.filters.network.ratelimit.v3.RateLimit (*v3.RateLimitDescriptor)(nil), // 1: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor (*duration.Duration)(nil), // 2: google.protobuf.Duration (*v31.RateLimitServiceConfig)(nil), // 3: envoy.config.ratelimit.v3.RateLimitServiceConfig } var file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.ratelimit.v3.RateLimit.descriptors:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor 2, // 1: envoy.extensions.filters.network.ratelimit.v3.RateLimit.timeout:type_name -> google.protobuf.Duration 3, // 2: envoy.extensions.filters.network.ratelimit.v3.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v3.RateLimitServiceConfig 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_init() } func file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_init() { if File_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto = out.File file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_rawDesc = nil file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_goTypes = nil file_envoy_extensions_filters_network_ratelimit_v3_rate_limit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/ratelimit/v3/rate_limit.pb.validate.go000077500000000000000000000151521454502223200326520ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := RateLimitValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetDescriptors()) < 1 { err := RateLimitValidationError{ field: "Descriptors", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetDescriptors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/rbac/000077500000000000000000000000001454502223200243605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/rbac/v3/000077500000000000000000000000001454502223200247105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/rbac/v3/rbac.pb.go000077500000000000000000000430111454502223200265500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/rbac/v3/rbac.proto package rbacv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v31 "github.com/cncf/xds/go/xds/type/matcher/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/rbac/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RBAC_EnforcementType int32 const ( // Apply RBAC policies when the first byte of data arrives on the connection. RBAC_ONE_TIME_ON_FIRST_BYTE RBAC_EnforcementType = 0 // Continuously apply RBAC policies as data arrives. Use this mode when // using RBAC with message oriented protocols such as Mongo, MySQL, Kafka, // etc. when the protocol decoders emit dynamic metadata such as the // resources being accessed and the operations on the resources. RBAC_CONTINUOUS RBAC_EnforcementType = 1 ) // Enum value maps for RBAC_EnforcementType. var ( RBAC_EnforcementType_name = map[int32]string{ 0: "ONE_TIME_ON_FIRST_BYTE", 1: "CONTINUOUS", } RBAC_EnforcementType_value = map[string]int32{ "ONE_TIME_ON_FIRST_BYTE": 0, "CONTINUOUS": 1, } ) func (x RBAC_EnforcementType) Enum() *RBAC_EnforcementType { p := new(RBAC_EnforcementType) *p = x return p } func (x RBAC_EnforcementType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RBAC_EnforcementType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_rbac_v3_rbac_proto_enumTypes[0].Descriptor() } func (RBAC_EnforcementType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_rbac_v3_rbac_proto_enumTypes[0] } func (x RBAC_EnforcementType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RBAC_EnforcementType.Descriptor instead. func (RBAC_EnforcementType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescGZIP(), []int{0, 0} } // RBAC network filter config. // // Header should not be used in rules/shadow_rules in RBAC network filter as // this information is only available in :ref:`RBAC http filter `. // [#next-free-field: 8] type RBAC struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify the RBAC rules to be applied globally. // If absent, no enforcing RBAC policy will be applied. // If present and empty, DENY. // If both rules and matcher are configured, rules will be ignored. Rules *v3.RBAC `protobuf:"bytes,1,opt,name=rules,proto3" json:"rules,omitempty"` // The match tree to use when resolving RBAC action for incoming connections. Connections do // not match any matcher will be denied. // If absent, no enforcing RBAC matcher will be applied. // If present and empty, deny all connections. Matcher *v31.Matcher `protobuf:"bytes,6,opt,name=matcher,proto3" json:"matcher,omitempty"` // Shadow rules are not enforced by the filter but will emit stats and logs // and can be used for rule testing. // If absent, no shadow RBAC policy will be applied. // If both shadow rules and shadow matcher are configured, shadow rules will be ignored. ShadowRules *v3.RBAC `protobuf:"bytes,2,opt,name=shadow_rules,json=shadowRules,proto3" json:"shadow_rules,omitempty"` // The match tree to use for emitting stats and logs which can be used for rule testing for // incoming connections. // If absent, no shadow matcher will be applied. ShadowMatcher *v31.Matcher `protobuf:"bytes,7,opt,name=shadow_matcher,json=shadowMatcher,proto3" json:"shadow_matcher,omitempty"` // If specified, shadow rules will emit stats with the given prefix. // This is useful to distinguish the stat when there are more than 1 RBAC filter configured with // shadow rules. ShadowRulesStatPrefix string `protobuf:"bytes,5,opt,name=shadow_rules_stat_prefix,json=shadowRulesStatPrefix,proto3" json:"shadow_rules_stat_prefix,omitempty"` // The prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // RBAC enforcement strategy. By default RBAC will be enforced only once // when the first byte of data arrives from the downstream. When used in // conjunction with filters that emit dynamic metadata after decoding // every payload (e.g., Mongo, MySQL, Kafka) set the enforcement type to // CONTINUOUS to enforce RBAC policies on every message boundary. EnforcementType RBAC_EnforcementType `protobuf:"varint,4,opt,name=enforcement_type,json=enforcementType,proto3,enum=envoy.extensions.filters.network.rbac.v3.RBAC_EnforcementType" json:"enforcement_type,omitempty"` } func (x *RBAC) Reset() { *x = RBAC{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_rbac_v3_rbac_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RBAC) String() string { return protoimpl.X.MessageStringOf(x) } func (*RBAC) ProtoMessage() {} func (x *RBAC) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_rbac_v3_rbac_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RBAC.ProtoReflect.Descriptor instead. func (*RBAC) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescGZIP(), []int{0} } func (x *RBAC) GetRules() *v3.RBAC { if x != nil { return x.Rules } return nil } func (x *RBAC) GetMatcher() *v31.Matcher { if x != nil { return x.Matcher } return nil } func (x *RBAC) GetShadowRules() *v3.RBAC { if x != nil { return x.ShadowRules } return nil } func (x *RBAC) GetShadowMatcher() *v31.Matcher { if x != nil { return x.ShadowMatcher } return nil } func (x *RBAC) GetShadowRulesStatPrefix() string { if x != nil { return x.ShadowRulesStatPrefix } return "" } func (x *RBAC) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RBAC) GetEnforcementType() RBAC_EnforcementType { if x != nil { return x.EnforcementType } return RBAC_ONE_TIME_ON_FIRST_BYTE } var File_envoy_extensions_filters_network_rbac_v3_rbac_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x05, 0x0a, 0x04, 0x52, 0x42, 0x41, 0x43, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x1f, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x42, 0x1e, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x26, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x69, 0x0a, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, 0x01, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x42, 0x41, 0x43, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x62, 0x61, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x62, 0x61, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescData = file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDesc ) func file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescData) }) return file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDescData } var file_envoy_extensions_filters_network_rbac_v3_rbac_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_network_rbac_v3_rbac_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_rbac_v3_rbac_proto_goTypes = []interface{}{ (RBAC_EnforcementType)(0), // 0: envoy.extensions.filters.network.rbac.v3.RBAC.EnforcementType (*RBAC)(nil), // 1: envoy.extensions.filters.network.rbac.v3.RBAC (*v3.RBAC)(nil), // 2: envoy.config.rbac.v3.RBAC (*v31.Matcher)(nil), // 3: xds.type.matcher.v3.Matcher } var file_envoy_extensions_filters_network_rbac_v3_rbac_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.network.rbac.v3.RBAC.rules:type_name -> envoy.config.rbac.v3.RBAC 3, // 1: envoy.extensions.filters.network.rbac.v3.RBAC.matcher:type_name -> xds.type.matcher.v3.Matcher 2, // 2: envoy.extensions.filters.network.rbac.v3.RBAC.shadow_rules:type_name -> envoy.config.rbac.v3.RBAC 3, // 3: envoy.extensions.filters.network.rbac.v3.RBAC.shadow_matcher:type_name -> xds.type.matcher.v3.Matcher 0, // 4: envoy.extensions.filters.network.rbac.v3.RBAC.enforcement_type:type_name -> envoy.extensions.filters.network.rbac.v3.RBAC.EnforcementType 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_rbac_v3_rbac_proto_init() } func file_envoy_extensions_filters_network_rbac_v3_rbac_proto_init() { if File_envoy_extensions_filters_network_rbac_v3_rbac_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_rbac_v3_rbac_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RBAC); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_rbac_v3_rbac_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_rbac_v3_rbac_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_rbac_v3_rbac_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_rbac_v3_rbac_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_rbac_v3_rbac_proto = out.File file_envoy_extensions_filters_network_rbac_v3_rbac_proto_rawDesc = nil file_envoy_extensions_filters_network_rbac_v3_rbac_proto_goTypes = nil file_envoy_extensions_filters_network_rbac_v3_rbac_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/rbac/v3/rbac.pb.validate.go000077500000000000000000000147201454502223200303450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/rbac/v3/rbac.proto package rbacv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RBAC with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *RBAC) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RBAC with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RBACMultiError, or nil if none found. func (m *RBAC) ValidateAll() error { return m.validate(true) } func (m *RBAC) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Rules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowRules()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowRules()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowRules", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetShadowMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetShadowMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RBACValidationError{ field: "ShadowMatcher", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ShadowRulesStatPrefix if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := RBACValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for EnforcementType if len(errors) > 0 { return RBACMultiError(errors) } return nil } // RBACMultiError is an error wrapping multiple validation errors returned by // RBAC.ValidateAll() if the designated constraints aren't met. type RBACMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RBACMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RBACMultiError) AllErrors() []error { return m } // RBACValidationError is the validation error returned by RBAC.Validate if the // designated constraints aren't met. type RBACValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RBACValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RBACValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RBACValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RBACValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RBACValidationError) ErrorName() string { return "RBACValidationError" } // Error satisfies the builtin error interface func (e RBACValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRBAC.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RBACValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RBACValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/redis_proxy/000077500000000000000000000000001454502223200260205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/redis_proxy/v3/000077500000000000000000000000001454502223200263505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.pb.go000077500000000000000000002322221454502223200316540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto package redis_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/dynamic_forward_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // ReadPolicy controls how Envoy routes read commands to Redis nodes. This is currently // supported for Redis Cluster. All ReadPolicy settings except MASTER may return stale data // because replication is asynchronous and requires some delay. You need to ensure that your // application can tolerate stale data. type RedisProxy_ConnPoolSettings_ReadPolicy int32 const ( // Default mode. Read from the current primary node. RedisProxy_ConnPoolSettings_MASTER RedisProxy_ConnPoolSettings_ReadPolicy = 0 // Read from the primary, but if it is unavailable, read from replica nodes. RedisProxy_ConnPoolSettings_PREFER_MASTER RedisProxy_ConnPoolSettings_ReadPolicy = 1 // Read from replica nodes. If multiple replica nodes are present within a shard, a random // node is selected. Healthy nodes have precedent over unhealthy nodes. RedisProxy_ConnPoolSettings_REPLICA RedisProxy_ConnPoolSettings_ReadPolicy = 2 // Read from the replica nodes (similar to REPLICA), but if all replicas are unavailable (not // present or unhealthy), read from the primary. RedisProxy_ConnPoolSettings_PREFER_REPLICA RedisProxy_ConnPoolSettings_ReadPolicy = 3 // Read from any node of the cluster. A random node is selected among the primary and // replicas, healthy nodes have precedent over unhealthy nodes. RedisProxy_ConnPoolSettings_ANY RedisProxy_ConnPoolSettings_ReadPolicy = 4 ) // Enum value maps for RedisProxy_ConnPoolSettings_ReadPolicy. var ( RedisProxy_ConnPoolSettings_ReadPolicy_name = map[int32]string{ 0: "MASTER", 1: "PREFER_MASTER", 2: "REPLICA", 3: "PREFER_REPLICA", 4: "ANY", } RedisProxy_ConnPoolSettings_ReadPolicy_value = map[string]int32{ "MASTER": 0, "PREFER_MASTER": 1, "REPLICA": 2, "PREFER_REPLICA": 3, "ANY": 4, } ) func (x RedisProxy_ConnPoolSettings_ReadPolicy) Enum() *RedisProxy_ConnPoolSettings_ReadPolicy { p := new(RedisProxy_ConnPoolSettings_ReadPolicy) *p = x return p } func (x RedisProxy_ConnPoolSettings_ReadPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RedisProxy_ConnPoolSettings_ReadPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes[0].Descriptor() } func (RedisProxy_ConnPoolSettings_ReadPolicy) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes[0] } func (x RedisProxy_ConnPoolSettings_ReadPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RedisProxy_ConnPoolSettings_ReadPolicy.Descriptor instead. func (RedisProxy_ConnPoolSettings_ReadPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 0, 0} } type RedisProxy_RedisFault_RedisFaultType int32 const ( // Delays requests. This is the base fault; other faults can have delays added. RedisProxy_RedisFault_DELAY RedisProxy_RedisFault_RedisFaultType = 0 // Returns errors on requests. RedisProxy_RedisFault_ERROR RedisProxy_RedisFault_RedisFaultType = 1 ) // Enum value maps for RedisProxy_RedisFault_RedisFaultType. var ( RedisProxy_RedisFault_RedisFaultType_name = map[int32]string{ 0: "DELAY", 1: "ERROR", } RedisProxy_RedisFault_RedisFaultType_value = map[string]int32{ "DELAY": 0, "ERROR": 1, } ) func (x RedisProxy_RedisFault_RedisFaultType) Enum() *RedisProxy_RedisFault_RedisFaultType { p := new(RedisProxy_RedisFault_RedisFaultType) *p = x return p } func (x RedisProxy_RedisFault_RedisFaultType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RedisProxy_RedisFault_RedisFaultType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes[1].Descriptor() } func (RedisProxy_RedisFault_RedisFaultType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes[1] } func (x RedisProxy_RedisFault_RedisFaultType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RedisProxy_RedisFault_RedisFaultType.Descriptor instead. func (RedisProxy_RedisFault_RedisFaultType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 2, 0} } // [#next-free-field: 10] type RedisProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Network settings for the connection pool to the upstream clusters. Settings *RedisProxy_ConnPoolSettings `protobuf:"bytes,3,opt,name=settings,proto3" json:"settings,omitempty"` // Indicates that latency stat should be computed in microseconds. By default it is computed in // milliseconds. This does not apply to upstream command stats currently. LatencyInMicros bool `protobuf:"varint,4,opt,name=latency_in_micros,json=latencyInMicros,proto3" json:"latency_in_micros,omitempty"` // List of **unique** prefixes used to separate keys from different workloads to different // clusters. Envoy will always favor the longest match first in case of overlap. A catch-all // cluster can be used to forward commands when there is no match. Time complexity of the // lookups are in O(min(longest key prefix, key length)). // // Example: // // .. code-block:: yaml // // prefix_routes: // routes: // - prefix: "ab" // cluster: "cluster_a" // - prefix: "abc" // cluster: "cluster_b" // // When using the above routes, the following prefixes would be sent to: // // - “get abc:users“ would retrieve the key 'abc:users' from cluster_b. // - “get ab:users“ would retrieve the key 'ab:users' from cluster_a. // - “get z:users“ would return a NoUpstreamHost error. A :ref:`catch-all // route` // would have retrieved the key from that cluster instead. // // See the :ref:`configuration section // ` of the architecture overview for recommendations on // configuring the backing clusters. PrefixRoutes *RedisProxy_PrefixRoutes `protobuf:"bytes,5,opt,name=prefix_routes,json=prefixRoutes,proto3" json:"prefix_routes,omitempty"` // Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis // AUTH command `_ with this password before enabling any other // command. If an AUTH command's password matches this password, an "OK" response will be returned // to the client. If the AUTH command password does not match this password, then an "ERR invalid // password" error will be returned. If any other command is received before AUTH when this // password is set, then a "NOAUTH Authentication required." error response will be sent to the // client. If an AUTH command is received when the password is not set, then an "ERR Client sent // AUTH, but no password is set" error will be returned. // // .. attention:: // // This field is deprecated. Use :ref:`downstream_auth_passwords // `. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto. DownstreamAuthPassword *v3.DataSource `protobuf:"bytes,6,opt,name=downstream_auth_password,json=downstreamAuthPassword,proto3" json:"downstream_auth_password,omitempty"` // Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis // AUTH command `_ with one of these passwords before enabling any other // command. If an AUTH command's password matches one of these passwords, an "OK" response will be returned // to the client. If the AUTH command password does not match, then an "ERR invalid // password" error will be returned. If any other command is received before AUTH when the // password(s) are set, then a "NOAUTH Authentication required." error response will be sent to the // client. If an AUTH command is received when the password is not set, then an "ERR Client sent // AUTH, but no password is set" error will be returned. DownstreamAuthPasswords []*v3.DataSource `protobuf:"bytes,9,rep,name=downstream_auth_passwords,json=downstreamAuthPasswords,proto3" json:"downstream_auth_passwords,omitempty"` // List of faults to inject. Faults currently come in two flavors: // - Delay, which delays a request. // - Error, which responds to a request with an error. Errors can also have delays attached. // // Example: // // .. code-block:: yaml // // faults: // - fault_type: ERROR // fault_enabled: // default_value: // numerator: 10 // denominator: HUNDRED // runtime_key: "bogus_key" // commands: // - GET // - fault_type: DELAY // fault_enabled: // default_value: // numerator: 10 // denominator: HUNDRED // runtime_key: "bogus_key" // delay: 2s // // See the :ref:`fault injection section // ` for more information on how to configure this. Faults []*RedisProxy_RedisFault `protobuf:"bytes,8,rep,name=faults,proto3" json:"faults,omitempty"` // If a username is provided an ACL style AUTH command will be required with a username and password. // Authenticate Redis client connections locally by forcing downstream clients to issue a `Redis // AUTH command `_ with this username and the “downstream_auth_password“ // before enabling any other command. If an AUTH command's username and password matches this username // and the “downstream_auth_password“ , an "OK" response will be returned to the client. If the AUTH // command username or password does not match this username or the “downstream_auth_password“, then an // "WRONGPASS invalid username-password pair" error will be returned. If any other command is received before AUTH when this // password is set, then a "NOAUTH Authentication required." error response will be sent to the // client. If an AUTH command is received when the password is not set, then an "ERR Client sent // AUTH, but no ACL is set" error will be returned. DownstreamAuthUsername *v3.DataSource `protobuf:"bytes,7,opt,name=downstream_auth_username,json=downstreamAuthUsername,proto3" json:"downstream_auth_username,omitempty"` } func (x *RedisProxy) Reset() { *x = RedisProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy) ProtoMessage() {} func (x *RedisProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy.ProtoReflect.Descriptor instead. func (*RedisProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0} } func (x *RedisProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *RedisProxy) GetSettings() *RedisProxy_ConnPoolSettings { if x != nil { return x.Settings } return nil } func (x *RedisProxy) GetLatencyInMicros() bool { if x != nil { return x.LatencyInMicros } return false } func (x *RedisProxy) GetPrefixRoutes() *RedisProxy_PrefixRoutes { if x != nil { return x.PrefixRoutes } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto. func (x *RedisProxy) GetDownstreamAuthPassword() *v3.DataSource { if x != nil { return x.DownstreamAuthPassword } return nil } func (x *RedisProxy) GetDownstreamAuthPasswords() []*v3.DataSource { if x != nil { return x.DownstreamAuthPasswords } return nil } func (x *RedisProxy) GetFaults() []*RedisProxy_RedisFault { if x != nil { return x.Faults } return nil } func (x *RedisProxy) GetDownstreamAuthUsername() *v3.DataSource { if x != nil { return x.DownstreamAuthUsername } return nil } // RedisProtocolOptions specifies Redis upstream protocol options. This object is used in // :ref:`typed_extension_protocol_options`, // keyed by the name “envoy.filters.network.redis_proxy“. type RedisProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Upstream server password as defined by the “requirepass“ directive // ``_ in the server's configuration file. AuthPassword *v3.DataSource `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` // Upstream server username as defined by the “user“ directive // ``_ in the server's configuration file. AuthUsername *v3.DataSource `protobuf:"bytes,2,opt,name=auth_username,json=authUsername,proto3" json:"auth_username,omitempty"` } func (x *RedisProtocolOptions) Reset() { *x = RedisProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProtocolOptions) ProtoMessage() {} func (x *RedisProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProtocolOptions.ProtoReflect.Descriptor instead. func (*RedisProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{1} } func (x *RedisProtocolOptions) GetAuthPassword() *v3.DataSource { if x != nil { return x.AuthPassword } return nil } func (x *RedisProtocolOptions) GetAuthUsername() *v3.DataSource { if x != nil { return x.AuthUsername } return nil } // Redis connection pool settings. // [#next-free-field: 11] type RedisProxy_ConnPoolSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Per-operation timeout in milliseconds. The timer starts when the first // command of a pipeline is written to the backend connection. Each response received from Redis // resets the timer since it signifies that the next command is being processed by the backend. // The only exception to this behavior is when a connection to a backend is not yet established. // In that case, the connect timeout on the cluster will govern the timeout until the connection // is ready. OpTimeout *duration.Duration `protobuf:"bytes,1,opt,name=op_timeout,json=opTimeout,proto3" json:"op_timeout,omitempty"` // Use hash tagging on every redis key to guarantee that keys with the same hash tag will be // forwarded to the same upstream. The hash key used for determining the upstream in a // consistent hash ring configuration will be computed from the hash tagged key instead of the // whole key. The algorithm used to compute the hash tag is identical to the `redis-cluster // implementation `_. // // Examples: // // * '{user1000}.following' and '{user1000}.followers' **will** be sent to the same upstream // * '{user1000}.following' and '{user1001}.following' **might** be sent to the same upstream EnableHashtagging bool `protobuf:"varint,2,opt,name=enable_hashtagging,json=enableHashtagging,proto3" json:"enable_hashtagging,omitempty"` // Accept `moved and ask redirection // `_ errors from upstream // redis servers, and retry commands to the specified target server. The target server does not // need to be known to the cluster manager. If the command cannot be redirected, then the // original error is passed downstream unchanged. By default, this support is not enabled. EnableRedirection bool `protobuf:"varint,3,opt,name=enable_redirection,json=enableRedirection,proto3" json:"enable_redirection,omitempty"` // If “enable_redirection“ is set to true this option configures the DNS cache that the // connection pool will use to resolve hostnames that are returned with MOVED and ASK responses. // If no configuration is provided, DNS lookups will not be performed (and thus the MOVED/ASK errors // will be propagated verbatim to the user). DnsCacheConfig *v31.DnsCacheConfig `protobuf:"bytes,9,opt,name=dns_cache_config,json=dnsCacheConfig,proto3" json:"dns_cache_config,omitempty"` // Maximum size of encoded request buffer before flush is triggered and encoded requests // are sent upstream. If this is unset, the buffer flushes whenever it receives data // and performs no batching. // This feature makes it possible for multiple clients to send requests to Envoy and have // them batched- for example if one is running several worker processes, each with its own // Redis connection. There is no benefit to using this with a single downstream process. // Recommended size (if enabled) is 1024 bytes. MaxBufferSizeBeforeFlush uint32 `protobuf:"varint,4,opt,name=max_buffer_size_before_flush,json=maxBufferSizeBeforeFlush,proto3" json:"max_buffer_size_before_flush,omitempty"` // The encoded request buffer is flushed N milliseconds after the first request has been // encoded, unless the buffer size has already exceeded “max_buffer_size_before_flush“. // If “max_buffer_size_before_flush“ is not set, this flush timer is not used. Otherwise, // the timer should be set according to the number of clients, overall request rate and // desired maximum latency for a single command. For example, if there are many requests // being batched together at a high rate, the buffer will likely be filled before the timer // fires. Alternatively, if the request rate is lower the buffer will not be filled as often // before the timer fires. // If “max_buffer_size_before_flush“ is set, but “buffer_flush_timeout“ is not, the latter // defaults to 3ms. BufferFlushTimeout *duration.Duration `protobuf:"bytes,5,opt,name=buffer_flush_timeout,json=bufferFlushTimeout,proto3" json:"buffer_flush_timeout,omitempty"` // “max_upstream_unknown_connections“ controls how many upstream connections to unknown hosts // can be created at any given time by any given worker thread (see “enable_redirection“ for // more details). If the host is unknown and a connection cannot be created due to enforcing // this limit, then redirection will fail and the original redirection error will be passed // downstream unchanged. This limit defaults to 100. MaxUpstreamUnknownConnections *wrappers.UInt32Value `protobuf:"bytes,6,opt,name=max_upstream_unknown_connections,json=maxUpstreamUnknownConnections,proto3" json:"max_upstream_unknown_connections,omitempty"` // Enable per-command statistics per upstream cluster, in addition to the filter level aggregate // count. These commands are measured in microseconds. EnableCommandStats bool `protobuf:"varint,8,opt,name=enable_command_stats,json=enableCommandStats,proto3" json:"enable_command_stats,omitempty"` // Read policy. The default is to read from the primary. ReadPolicy RedisProxy_ConnPoolSettings_ReadPolicy `protobuf:"varint,7,opt,name=read_policy,json=readPolicy,proto3,enum=envoy.extensions.filters.network.redis_proxy.v3.RedisProxy_ConnPoolSettings_ReadPolicy" json:"read_policy,omitempty"` // Ops or connection timeout triggers reconnection to redis server which could result in reconnection // storm to busy redis server. This config is a protection to rate limit reconnection rate. // If not set, there will be no rate limiting on the reconnection. ConnectionRateLimit *RedisProxy_ConnectionRateLimit `protobuf:"bytes,10,opt,name=connection_rate_limit,json=connectionRateLimit,proto3" json:"connection_rate_limit,omitempty"` } func (x *RedisProxy_ConnPoolSettings) Reset() { *x = RedisProxy_ConnPoolSettings{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_ConnPoolSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_ConnPoolSettings) ProtoMessage() {} func (x *RedisProxy_ConnPoolSettings) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_ConnPoolSettings.ProtoReflect.Descriptor instead. func (*RedisProxy_ConnPoolSettings) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *RedisProxy_ConnPoolSettings) GetOpTimeout() *duration.Duration { if x != nil { return x.OpTimeout } return nil } func (x *RedisProxy_ConnPoolSettings) GetEnableHashtagging() bool { if x != nil { return x.EnableHashtagging } return false } func (x *RedisProxy_ConnPoolSettings) GetEnableRedirection() bool { if x != nil { return x.EnableRedirection } return false } func (x *RedisProxy_ConnPoolSettings) GetDnsCacheConfig() *v31.DnsCacheConfig { if x != nil { return x.DnsCacheConfig } return nil } func (x *RedisProxy_ConnPoolSettings) GetMaxBufferSizeBeforeFlush() uint32 { if x != nil { return x.MaxBufferSizeBeforeFlush } return 0 } func (x *RedisProxy_ConnPoolSettings) GetBufferFlushTimeout() *duration.Duration { if x != nil { return x.BufferFlushTimeout } return nil } func (x *RedisProxy_ConnPoolSettings) GetMaxUpstreamUnknownConnections() *wrappers.UInt32Value { if x != nil { return x.MaxUpstreamUnknownConnections } return nil } func (x *RedisProxy_ConnPoolSettings) GetEnableCommandStats() bool { if x != nil { return x.EnableCommandStats } return false } func (x *RedisProxy_ConnPoolSettings) GetReadPolicy() RedisProxy_ConnPoolSettings_ReadPolicy { if x != nil { return x.ReadPolicy } return RedisProxy_ConnPoolSettings_MASTER } func (x *RedisProxy_ConnPoolSettings) GetConnectionRateLimit() *RedisProxy_ConnectionRateLimit { if x != nil { return x.ConnectionRateLimit } return nil } type RedisProxy_PrefixRoutes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of prefix routes. Routes []*RedisProxy_PrefixRoutes_Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // Indicates that prefix matching should be case insensitive. CaseInsensitive bool `protobuf:"varint,2,opt,name=case_insensitive,json=caseInsensitive,proto3" json:"case_insensitive,omitempty"` // Optional catch-all route to forward commands that doesn't match any of the routes. The // catch-all route becomes required when no routes are specified. CatchAllRoute *RedisProxy_PrefixRoutes_Route `protobuf:"bytes,4,opt,name=catch_all_route,json=catchAllRoute,proto3" json:"catch_all_route,omitempty"` } func (x *RedisProxy_PrefixRoutes) Reset() { *x = RedisProxy_PrefixRoutes{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 1} } func (x *RedisProxy_PrefixRoutes) GetRoutes() []*RedisProxy_PrefixRoutes_Route { if x != nil { return x.Routes } return nil } func (x *RedisProxy_PrefixRoutes) GetCaseInsensitive() bool { if x != nil { return x.CaseInsensitive } return false } func (x *RedisProxy_PrefixRoutes) GetCatchAllRoute() *RedisProxy_PrefixRoutes_Route { if x != nil { return x.CatchAllRoute } return nil } // RedisFault defines faults used for fault injection. type RedisProxy_RedisFault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Fault type. FaultType RedisProxy_RedisFault_RedisFaultType `protobuf:"varint,1,opt,name=fault_type,json=faultType,proto3,enum=envoy.extensions.filters.network.redis_proxy.v3.RedisProxy_RedisFault_RedisFaultType" json:"fault_type,omitempty"` // Percentage of requests fault applies to. FaultEnabled *v3.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=fault_enabled,json=faultEnabled,proto3" json:"fault_enabled,omitempty"` // Delay for all faults. If not set, defaults to zero Delay *duration.Duration `protobuf:"bytes,3,opt,name=delay,proto3" json:"delay,omitempty"` // Commands fault is restricted to, if any. If not set, fault applies to all commands // other than auth and ping (due to special handling of those commands in Envoy). Commands []string `protobuf:"bytes,4,rep,name=commands,proto3" json:"commands,omitempty"` } func (x *RedisProxy_RedisFault) Reset() { *x = RedisProxy_RedisFault{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_RedisFault) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_RedisFault) ProtoMessage() {} func (x *RedisProxy_RedisFault) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_RedisFault.ProtoReflect.Descriptor instead. func (*RedisProxy_RedisFault) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 2} } func (x *RedisProxy_RedisFault) GetFaultType() RedisProxy_RedisFault_RedisFaultType { if x != nil { return x.FaultType } return RedisProxy_RedisFault_DELAY } func (x *RedisProxy_RedisFault) GetFaultEnabled() *v3.RuntimeFractionalPercent { if x != nil { return x.FaultEnabled } return nil } func (x *RedisProxy_RedisFault) GetDelay() *duration.Duration { if x != nil { return x.Delay } return nil } func (x *RedisProxy_RedisFault) GetCommands() []string { if x != nil { return x.Commands } return nil } // Configuration to limit reconnection rate to redis server to protect redis server // from client reconnection storm. type RedisProxy_ConnectionRateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Reconnection rate per sec. Rate limiting is implemented with TokenBucket. ConnectionRateLimitPerSec uint32 `protobuf:"varint,1,opt,name=connection_rate_limit_per_sec,json=connectionRateLimitPerSec,proto3" json:"connection_rate_limit_per_sec,omitempty"` } func (x *RedisProxy_ConnectionRateLimit) Reset() { *x = RedisProxy_ConnectionRateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_ConnectionRateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_ConnectionRateLimit) ProtoMessage() {} func (x *RedisProxy_ConnectionRateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_ConnectionRateLimit.ProtoReflect.Descriptor instead. func (*RedisProxy_ConnectionRateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 3} } func (x *RedisProxy_ConnectionRateLimit) GetConnectionRateLimitPerSec() uint32 { if x != nil { return x.ConnectionRateLimitPerSec } return 0 } // [#next-free-field: 7] type RedisProxy_PrefixRoutes_Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // String prefix that must match the beginning of the keys. Envoy will always favor the // longest match. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Indicates if the prefix needs to be removed from the key when forwarded. RemovePrefix bool `protobuf:"varint,2,opt,name=remove_prefix,json=removePrefix,proto3" json:"remove_prefix,omitempty"` // Upstream cluster to forward the command to. Cluster string `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"` // Indicates that the route has a request mirroring policy. RequestMirrorPolicy []*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy `protobuf:"bytes,4,rep,name=request_mirror_policy,json=requestMirrorPolicy,proto3" json:"request_mirror_policy,omitempty"` // Indicates how redis key should be formatted. To substitute redis key into the formatting // expression, use %KEY% as a string replacement command. KeyFormatter string `protobuf:"bytes,5,opt,name=key_formatter,json=keyFormatter,proto3" json:"key_formatter,omitempty"` // Indicates that the route has a read command policy ReadCommandPolicy *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy `protobuf:"bytes,6,opt,name=read_command_policy,json=readCommandPolicy,proto3" json:"read_command_policy,omitempty"` } func (x *RedisProxy_PrefixRoutes_Route) Reset() { *x = RedisProxy_PrefixRoutes_Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes_Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes_Route) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes_Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes_Route.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes_Route) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 1, 0} } func (x *RedisProxy_PrefixRoutes_Route) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *RedisProxy_PrefixRoutes_Route) GetRemovePrefix() bool { if x != nil { return x.RemovePrefix } return false } func (x *RedisProxy_PrefixRoutes_Route) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RedisProxy_PrefixRoutes_Route) GetRequestMirrorPolicy() []*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicy } return nil } func (x *RedisProxy_PrefixRoutes_Route) GetKeyFormatter() string { if x != nil { return x.KeyFormatter } return "" } func (x *RedisProxy_PrefixRoutes_Route) GetReadCommandPolicy() *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy { if x != nil { return x.ReadCommandPolicy } return nil } // The router is capable of shadowing traffic from one cluster to another. The current // implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to // respond before returning the response from the primary cluster. All normal statistics are // collected for the shadow cluster making this feature useful for testing. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the cluster that requests will be mirrored to. The cluster must // exist in the cluster manager configuration. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // If not specified or the runtime key is not present, all requests to the target cluster // will be mirrored. // // If specified, Envoy will lookup the runtime key to get the percentage of requests to the // mirror. RuntimeFraction *v3.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Set this to TRUE to only mirror write commands, this is effectively replicating the // writes in a "fire and forget" manner. ExcludeReadCommands bool `protobuf:"varint,3,opt,name=exclude_read_commands,json=excludeReadCommands,proto3" json:"exclude_read_commands,omitempty"` } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Reset() { *x = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 1, 0, 0} } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetRuntimeFraction() *v3.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) GetExcludeReadCommands() bool { if x != nil { return x.ExcludeReadCommands } return false } // ReadCommandPolicy specifies that Envoy should route read commands to another cluster. type RedisProxy_PrefixRoutes_Route_ReadCommandPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` } func (x *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) Reset() { *x = RedisProxy_PrefixRoutes_Route_ReadCommandPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) ProtoMessage() {} func (x *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedisProxy_PrefixRoutes_Route_ReadCommandPolicy.ProtoReflect.Descriptor instead. func (*RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP(), []int{0, 1, 0, 1} } func (x *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } var File_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x1c, 0x0a, 0x0a, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x72, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x6d, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x11, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x64, 0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x5e, 0x0a, 0x06, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xa0, 0x08, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x4b, 0x0a, 0x14, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x83, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x7e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x00, 0x1a, 0x0f, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x09, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x12, 0x29, 0x0a, 0x0d, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x1a, 0x16, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x10, 0x0a, 0x0e, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x04, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xfa, 0x09, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0xfa, 0x06, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0xe8, 0x07, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x96, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xac, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x63, 0x9a, 0xc5, 0x88, 0x1e, 0x5e, 0x0a, 0x5c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x36, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x4f, 0x9a, 0xc5, 0x88, 0x1e, 0x4a, 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x3a, 0x49, 0x9a, 0xc5, 0x88, 0x1e, 0x44, 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x11, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0xe0, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x64, 0x69, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x7e, 0x0a, 0x0a, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x1a, 0x60, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0xfc, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x4d, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescData = file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_goTypes = []interface{}{ (RedisProxy_ConnPoolSettings_ReadPolicy)(0), // 0: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.ReadPolicy (RedisProxy_RedisFault_RedisFaultType)(0), // 1: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault.RedisFaultType (*RedisProxy)(nil), // 2: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy (*RedisProtocolOptions)(nil), // 3: envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions (*RedisProxy_ConnPoolSettings)(nil), // 4: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings (*RedisProxy_PrefixRoutes)(nil), // 5: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes (*RedisProxy_RedisFault)(nil), // 6: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault (*RedisProxy_ConnectionRateLimit)(nil), // 7: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnectionRateLimit (*RedisProxy_PrefixRoutes_Route)(nil), // 8: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route (*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy)(nil), // 9: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy (*RedisProxy_PrefixRoutes_Route_ReadCommandPolicy)(nil), // 10: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.ReadCommandPolicy (*v3.DataSource)(nil), // 11: envoy.config.core.v3.DataSource (*duration.Duration)(nil), // 12: google.protobuf.Duration (*v31.DnsCacheConfig)(nil), // 13: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig (*wrappers.UInt32Value)(nil), // 14: google.protobuf.UInt32Value (*v3.RuntimeFractionalPercent)(nil), // 15: envoy.config.core.v3.RuntimeFractionalPercent } var file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.settings:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings 5, // 1: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.prefix_routes:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes 11, // 2: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_password:type_name -> envoy.config.core.v3.DataSource 11, // 3: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_passwords:type_name -> envoy.config.core.v3.DataSource 6, // 4: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.faults:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault 11, // 5: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.downstream_auth_username:type_name -> envoy.config.core.v3.DataSource 11, // 6: envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions.auth_password:type_name -> envoy.config.core.v3.DataSource 11, // 7: envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions.auth_username:type_name -> envoy.config.core.v3.DataSource 12, // 8: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.op_timeout:type_name -> google.protobuf.Duration 13, // 9: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.dns_cache_config:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig 12, // 10: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.buffer_flush_timeout:type_name -> google.protobuf.Duration 14, // 11: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.max_upstream_unknown_connections:type_name -> google.protobuf.UInt32Value 0, // 12: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.read_policy:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.ReadPolicy 7, // 13: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.connection_rate_limit:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnectionRateLimit 8, // 14: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.routes:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route 8, // 15: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.catch_all_route:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route 1, // 16: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault.fault_type:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault.RedisFaultType 15, // 17: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault.fault_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 12, // 18: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault.delay:type_name -> google.protobuf.Duration 9, // 19: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.request_mirror_policy:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy 10, // 20: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.read_command_policy:type_name -> envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.ReadCommandPolicy 15, // 21: envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 22, // [22:22] is the sub-list for method output_type 22, // [22:22] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name 22, // [22:22] is the sub-list for extension extendee 0, // [0:22] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_init() } func file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_init() { if File_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_ConnPoolSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_RedisFault); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_ConnectionRateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes_Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedisProxy_PrefixRoutes_Route_ReadCommandPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDesc, NumEnums: 2, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto = out.File file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_redis_proxy_v3_redis_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.pb.validate.go000077500000000000000000001375321454502223200334540ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto package redis_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RedisProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedisProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RedisProxyMultiError, or // nil if none found. func (m *RedisProxy) ValidateAll() error { return m.validate(true) } func (m *RedisProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := RedisProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetSettings() == nil { err := RedisProxyValidationError{ field: "Settings", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSettings()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSettings()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "Settings", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LatencyInMicros if all { switch v := interface{}(m.GetPrefixRoutes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrefixRoutes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "PrefixRoutes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamAuthPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamAuthPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "DownstreamAuthPassword", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetDownstreamAuthPasswords() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: fmt.Sprintf("DownstreamAuthPasswords[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: fmt.Sprintf("DownstreamAuthPasswords[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: fmt.Sprintf("DownstreamAuthPasswords[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetFaults() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: fmt.Sprintf("Faults[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: fmt.Sprintf("Faults[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: fmt.Sprintf("Faults[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDownstreamAuthUsername()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthUsername", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxyValidationError{ field: "DownstreamAuthUsername", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamAuthUsername()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxyValidationError{ field: "DownstreamAuthUsername", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxyMultiError(errors) } return nil } // RedisProxyMultiError is an error wrapping multiple validation errors // returned by RedisProxy.ValidateAll() if the designated constraints aren't met. type RedisProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxyMultiError) AllErrors() []error { return m } // RedisProxyValidationError is the validation error returned by // RedisProxy.Validate if the designated constraints aren't met. type RedisProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxyValidationError) ErrorName() string { return "RedisProxyValidationError" } // Error satisfies the builtin error interface func (e RedisProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxyValidationError{} // Validate checks the field values on RedisProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProtocolOptionsMultiError, or nil if none found. func (m *RedisProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *RedisProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAuthPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProtocolOptionsValidationError{ field: "AuthPassword", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAuthUsername()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthUsername", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProtocolOptionsValidationError{ field: "AuthUsername", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAuthUsername()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProtocolOptionsValidationError{ field: "AuthUsername", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProtocolOptionsMultiError(errors) } return nil } // RedisProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by RedisProtocolOptions.ValidateAll() if the designated // constraints aren't met. type RedisProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProtocolOptionsMultiError) AllErrors() []error { return m } // RedisProtocolOptionsValidationError is the validation error returned by // RedisProtocolOptions.Validate if the designated constraints aren't met. type RedisProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProtocolOptionsValidationError) ErrorName() string { return "RedisProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e RedisProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProtocolOptionsValidationError{} // Validate checks the field values on RedisProxy_ConnPoolSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_ConnPoolSettings) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_ConnPoolSettings with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProxy_ConnPoolSettingsMultiError, or nil if none found. func (m *RedisProxy_ConnPoolSettings) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_ConnPoolSettings) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetOpTimeout() == nil { err := RedisProxy_ConnPoolSettingsValidationError{ field: "OpTimeout", reason: "value is required", } if !all { return err } errors = append(errors, err) } // no validation rules for EnableHashtagging // no validation rules for EnableRedirection if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for MaxBufferSizeBeforeFlush if all { switch v := interface{}(m.GetBufferFlushTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferFlushTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "BufferFlushTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxUpstreamUnknownConnections()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxUpstreamUnknownConnections()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "MaxUpstreamUnknownConnections", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableCommandStats if _, ok := RedisProxy_ConnPoolSettings_ReadPolicy_name[int32(m.GetReadPolicy())]; !ok { err := RedisProxy_ConnPoolSettingsValidationError{ field: "ReadPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConnectionRateLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "ConnectionRateLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_ConnPoolSettingsValidationError{ field: "ConnectionRateLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConnectionRateLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_ConnPoolSettingsValidationError{ field: "ConnectionRateLimit", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxy_ConnPoolSettingsMultiError(errors) } return nil } // RedisProxy_ConnPoolSettingsMultiError is an error wrapping multiple // validation errors returned by RedisProxy_ConnPoolSettings.ValidateAll() if // the designated constraints aren't met. type RedisProxy_ConnPoolSettingsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_ConnPoolSettingsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_ConnPoolSettingsMultiError) AllErrors() []error { return m } // RedisProxy_ConnPoolSettingsValidationError is the validation error returned // by RedisProxy_ConnPoolSettings.Validate if the designated constraints // aren't met. type RedisProxy_ConnPoolSettingsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_ConnPoolSettingsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_ConnPoolSettingsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_ConnPoolSettingsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_ConnPoolSettingsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_ConnPoolSettingsValidationError) ErrorName() string { return "RedisProxy_ConnPoolSettingsValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_ConnPoolSettingsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_ConnPoolSettings.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_ConnPoolSettingsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_ConnPoolSettingsValidationError{} // Validate checks the field values on RedisProxy_PrefixRoutes with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_PrefixRoutes with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProxy_PrefixRoutesMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutesValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for CaseInsensitive if all { switch v := interface{}(m.GetCatchAllRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCatchAllRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutesValidationError{ field: "CatchAllRoute", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxy_PrefixRoutesMultiError(errors) } return nil } // RedisProxy_PrefixRoutesMultiError is an error wrapping multiple validation // errors returned by RedisProxy_PrefixRoutes.ValidateAll() if the designated // constraints aren't met. type RedisProxy_PrefixRoutesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutesMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutesValidationError is the validation error returned by // RedisProxy_PrefixRoutes.Validate if the designated constraints aren't met. type RedisProxy_PrefixRoutesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutesValidationError) ErrorName() string { return "RedisProxy_PrefixRoutesValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutesValidationError{} // Validate checks the field values on RedisProxy_RedisFault with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_RedisFault) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_RedisFault with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RedisProxy_RedisFaultMultiError, or nil if none found. func (m *RedisProxy_RedisFault) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_RedisFault) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RedisProxy_RedisFault_RedisFaultType_name[int32(m.GetFaultType())]; !ok { err := RedisProxy_RedisFaultValidationError{ field: "FaultType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if m.GetFaultEnabled() == nil { err := RedisProxy_RedisFaultValidationError{ field: "FaultEnabled", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFaultEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_RedisFaultValidationError{ field: "FaultEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_RedisFaultValidationError{ field: "FaultEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFaultEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_RedisFaultValidationError{ field: "FaultEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDelay()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_RedisFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_RedisFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDelay()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_RedisFaultValidationError{ field: "Delay", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxy_RedisFaultMultiError(errors) } return nil } // RedisProxy_RedisFaultMultiError is an error wrapping multiple validation // errors returned by RedisProxy_RedisFault.ValidateAll() if the designated // constraints aren't met. type RedisProxy_RedisFaultMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_RedisFaultMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_RedisFaultMultiError) AllErrors() []error { return m } // RedisProxy_RedisFaultValidationError is the validation error returned by // RedisProxy_RedisFault.Validate if the designated constraints aren't met. type RedisProxy_RedisFaultValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_RedisFaultValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_RedisFaultValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_RedisFaultValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_RedisFaultValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_RedisFaultValidationError) ErrorName() string { return "RedisProxy_RedisFaultValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_RedisFaultValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_RedisFault.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_RedisFaultValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_RedisFaultValidationError{} // Validate checks the field values on RedisProxy_ConnectionRateLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_ConnectionRateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_ConnectionRateLimit with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RedisProxy_ConnectionRateLimitMultiError, or nil if none found. func (m *RedisProxy_ConnectionRateLimit) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_ConnectionRateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConnectionRateLimitPerSec() <= 0 { err := RedisProxy_ConnectionRateLimitValidationError{ field: "ConnectionRateLimitPerSec", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RedisProxy_ConnectionRateLimitMultiError(errors) } return nil } // RedisProxy_ConnectionRateLimitMultiError is an error wrapping multiple // validation errors returned by RedisProxy_ConnectionRateLimit.ValidateAll() // if the designated constraints aren't met. type RedisProxy_ConnectionRateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_ConnectionRateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_ConnectionRateLimitMultiError) AllErrors() []error { return m } // RedisProxy_ConnectionRateLimitValidationError is the validation error // returned by RedisProxy_ConnectionRateLimit.Validate if the designated // constraints aren't met. type RedisProxy_ConnectionRateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_ConnectionRateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_ConnectionRateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_ConnectionRateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_ConnectionRateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_ConnectionRateLimitValidationError) ErrorName() string { return "RedisProxy_ConnectionRateLimitValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_ConnectionRateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_ConnectionRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_ConnectionRateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_ConnectionRateLimitValidationError{} // Validate checks the field values on RedisProxy_PrefixRoutes_Route with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes_Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedisProxy_PrefixRoutes_Route with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RedisProxy_PrefixRoutes_RouteMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes_Route) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes_Route) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPrefix()) > 1000 { err := RedisProxy_PrefixRoutes_RouteValidationError{ field: "Prefix", reason: "value length must be at most 1000 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for RemovePrefix if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RedisProxy_PrefixRoutes_RouteValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestMirrorPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutes_RouteValidationError{ field: fmt.Sprintf("RequestMirrorPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for KeyFormatter if all { switch v := interface{}(m.GetReadCommandPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: "ReadCommandPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_RouteValidationError{ field: "ReadCommandPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetReadCommandPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutes_RouteValidationError{ field: "ReadCommandPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RedisProxy_PrefixRoutes_RouteMultiError(errors) } return nil } // RedisProxy_PrefixRoutes_RouteMultiError is an error wrapping multiple // validation errors returned by RedisProxy_PrefixRoutes_Route.ValidateAll() // if the designated constraints aren't met. type RedisProxy_PrefixRoutes_RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutes_RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutes_RouteMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutes_RouteValidationError is the validation error // returned by RedisProxy_PrefixRoutes_Route.Validate if the designated // constraints aren't met. type RedisProxy_PrefixRoutes_RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutes_RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutes_RouteValidationError) ErrorName() string { return "RedisProxy_PrefixRoutes_RouteValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutes_RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes_Route.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutes_RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutes_RouteValidationError{} // Validate checks the field values on // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ExcludeReadCommands if len(errors) > 0 { return RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError(errors) } return nil } // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError is an error // wrapping multiple validation errors returned by // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.ValidateAll() if the // designated constraints aren't met. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError is the // validation error returned by // RedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.Validate if the // designated constraints aren't met. type RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) ErrorName() string { return "RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes_Route_RequestMirrorPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutes_Route_RequestMirrorPolicyValidationError{} // Validate checks the field values on // RedisProxy_PrefixRoutes_Route_ReadCommandPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RedisProxy_PrefixRoutes_Route_ReadCommandPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError, or nil if none found. func (m *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) ValidateAll() error { return m.validate(true) } func (m *RedisProxy_PrefixRoutes_Route_ReadCommandPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError(errors) } return nil } // RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError is an error // wrapping multiple validation errors returned by // RedisProxy_PrefixRoutes_Route_ReadCommandPolicy.ValidateAll() if the // designated constraints aren't met. type RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisProxy_PrefixRoutes_Route_ReadCommandPolicyMultiError) AllErrors() []error { return m } // RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError is the // validation error returned by // RedisProxy_PrefixRoutes_Route_ReadCommandPolicy.Validate if the designated // constraints aren't met. type RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) ErrorName() string { return "RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError" } // Error satisfies the builtin error interface func (e RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedisProxy_PrefixRoutes_Route_ReadCommandPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisProxy_PrefixRoutes_Route_ReadCommandPolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/set_filter_state/000077500000000000000000000000001454502223200270115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/set_filter_state/v3/000077500000000000000000000000001454502223200273415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/set_filter_state/v3/set_filter_state.pb.go000077500000000000000000000224301454502223200336340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/set_filter_state/v3/set_filter_state.proto package set_filter_statev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/common/set_filter_state/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A sequence of the filter state values to apply in the specified order // when a new connection is received. OnNewConnection []*v3.FilterStateValue `protobuf:"bytes,1,rep,name=on_new_connection,json=onNewConnection,proto3" json:"on_new_connection,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescGZIP(), []int{0} } func (x *Config) GetOnNewConnection() []*v3.FilterStateValue { if x != nil { return x.OnNewConnection } return nil } var File_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6f, 0x6e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xd3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescData = file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDesc ) func file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescData) }) return file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDescData } var file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.filters.network.set_filter_state.v3.Config (*v3.FilterStateValue)(nil), // 1: envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue } var file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.set_filter_state.v3.Config.on_new_connection:type_name -> envoy.extensions.filters.common.set_filter_state.v3.FilterStateValue 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_init() } func file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_init() { if File_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto = out.File file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_rawDesc = nil file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_goTypes = nil file_envoy_extensions_filters_network_set_filter_state_v3_set_filter_state_proto_depIdxs = nil } set_filter_state.pb.validate.go000077500000000000000000000100351454502223200353430ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/set_filter_state/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/set_filter_state/v3/set_filter_state.proto package set_filter_statev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetOnNewConnection() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("OnNewConnection[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: fmt.Sprintf("OnNewConnection[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: fmt.Sprintf("OnNewConnection[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/sni_cluster/000077500000000000000000000000001454502223200260035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/sni_cluster/v3/000077500000000000000000000000001454502223200263335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.pb.go000077500000000000000000000171461454502223200316300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.proto package sni_clusterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SniCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SniCluster) Reset() { *x = SniCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SniCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*SniCluster) ProtoMessage() {} func (x *SniCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SniCluster.ProtoReflect.Descriptor instead. func (*SniCluster) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x0a, 0x53, 0x6e, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6e, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x53, 0x6e, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x6e, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescData = file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDesc ) func file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescData) }) return file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDescData } var file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_goTypes = []interface{}{ (*SniCluster)(nil), // 0: envoy.extensions.filters.network.sni_cluster.v3.SniCluster } var file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_init() } func file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_init() { if File_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SniCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto = out.File file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_rawDesc = nil file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_goTypes = nil file_envoy_extensions_filters_network_sni_cluster_v3_sni_cluster_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.pb.validate.go000077500000000000000000000062521454502223200334140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.proto package sni_clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SniCluster with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SniCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SniCluster with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SniClusterMultiError, or // nil if none found. func (m *SniCluster) ValidateAll() error { return m.validate(true) } func (m *SniCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SniClusterMultiError(errors) } return nil } // SniClusterMultiError is an error wrapping multiple validation errors // returned by SniCluster.ValidateAll() if the designated constraints aren't met. type SniClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SniClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SniClusterMultiError) AllErrors() []error { return m } // SniClusterValidationError is the validation error returned by // SniCluster.Validate if the designated constraints aren't met. type SniClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SniClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SniClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SniClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SniClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SniClusterValidationError) ErrorName() string { return "SniClusterValidationError" } // Error satisfies the builtin error interface func (e SniClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSniCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SniClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SniClusterValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/sni_dynamic_forward_proxy/000077500000000000000000000000001454502223200307335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/sni_dynamic_forward_proxy/v3/000077500000000000000000000000001454502223200312635ustar00rootroot00000000000000sni_dynamic_forward_proxy.pb.go000077500000000000000000000305101454502223200374170ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/sni_dynamic_forward_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/sni_dynamic_forward_proxy/v3/sni_dynamic_forward_proxy.proto package sni_dynamic_forward_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/dynamic_forward_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the SNI-based dynamic forward proxy filter. See the // :ref:`architecture overview ` for // more information. Note this filter must be configured along with // :ref:`TLS inspector listener filter ` // to work. // [#extension: envoy.filters.network.sni_dynamic_forward_proxy] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The DNS cache configuration that the filter will attach to. Note this // configuration must match that of associated :ref:`dynamic forward proxy // cluster configuration // `. DnsCacheConfig *v3.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3" json:"dns_cache_config,omitempty"` // Types that are assignable to PortSpecifier: // // *FilterConfig_PortValue PortSpecifier isFilterConfig_PortSpecifier `protobuf_oneof:"port_specifier"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetDnsCacheConfig() *v3.DnsCacheConfig { if x != nil { return x.DnsCacheConfig } return nil } func (m *FilterConfig) GetPortSpecifier() isFilterConfig_PortSpecifier { if m != nil { return m.PortSpecifier } return nil } func (x *FilterConfig) GetPortValue() uint32 { if x, ok := x.GetPortSpecifier().(*FilterConfig_PortValue); ok { return x.PortValue } return 0 } type isFilterConfig_PortSpecifier interface { isFilterConfig_PortSpecifier() } type FilterConfig_PortValue struct { // The port number to connect to the upstream. PortValue uint32 `protobuf:"varint,2,opt,name=port_value,json=portValue,proto3,oneof"` } func (*FilterConfig_PortValue) isFilterConfig_PortSpecifier() {} var File_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDesc = []byte{ 0x0a, 0x5d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x20, 0x00, 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0xf7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x1b, 0x53, 0x6e, 0x69, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x80, 0x01, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x6e, 0x69, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescData = file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig (*v3.DnsCacheConfig)(nil), // 1: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig } var file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig.dns_cache_config:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_init() } func file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_init() { if File_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterConfig_PortValue)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto = out.File file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_sni_dynamic_forward_proxy_v3_sni_dynamic_forward_proxy_proto_depIdxs = nil } sni_dynamic_forward_proxy.pb.validate.go000077500000000000000000000115361454502223200412160ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/sni_dynamic_forward_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/sni_dynamic_forward_proxy/v3/sni_dynamic_forward_proxy.proto package sni_dynamic_forward_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDnsCacheConfig() == nil { err := FilterConfigValidationError{ field: "DnsCacheConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } switch v := m.PortSpecifier.(type) { case *FilterConfig_PortValue: if v == nil { err := FilterConfigValidationError{ field: "PortSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if val := m.GetPortValue(); val <= 0 || val > 65535 { err := FilterConfigValidationError{ field: "PortValue", reason: "value must be inside range (0, 65535]", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/tcp_proxy/000077500000000000000000000000001454502223200255005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/tcp_proxy/v3/000077500000000000000000000000001454502223200260305ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.go000077500000000000000000001526051454502223200310220ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto package tcp_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 18] type TcpProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to ClusterSpecifier: // // *TcpProxy_Cluster // *TcpProxy_WeightedClusters ClusterSpecifier isTcpProxy_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // The on demand policy for the upstream cluster. // It applies to both // :ref:`TcpProxy.cluster ` // and // :ref:`TcpProxy.weighted_clusters `. OnDemand *TcpProxy_OnDemand `protobuf:"bytes,14,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` // Optional endpoint metadata match criteria. Only endpoints in the upstream // cluster with metadata matching that set in metadata_match will be // considered. The filter name should be specified as “envoy.lb“. MetadataMatch *v3.Metadata `protobuf:"bytes,9,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // The idle timeout for connections managed by the TCP proxy filter. The idle timeout // is defined as the period in which there are no bytes sent or received on either // the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set // to 0s, the timeout will be disabled. // // .. warning:: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. IdleTimeout *duration.Duration `protobuf:"bytes,8,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // [#not-implemented-hide:] The idle timeout for connections managed by the TCP proxy // filter. The idle timeout is defined as the period in which there is no // active traffic. If not set, there is no idle timeout. When the idle timeout // is reached the connection will be closed. The distinction between // downstream_idle_timeout/upstream_idle_timeout provides a means to set // timeout based on the last byte sent on the downstream/upstream connection. DownstreamIdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=downstream_idle_timeout,json=downstreamIdleTimeout,proto3" json:"downstream_idle_timeout,omitempty"` // [#not-implemented-hide:] UpstreamIdleTimeout *duration.Duration `protobuf:"bytes,4,opt,name=upstream_idle_timeout,json=upstreamIdleTimeout,proto3" json:"upstream_idle_timeout,omitempty"` // Configuration for :ref:`access logs ` // emitted by the this tcp_proxy. AccessLog []*v31.AccessLog `protobuf:"bytes,5,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // The maximum number of unsuccessful connection attempts that will be made before // giving up. If the parameter is not specified, 1 connection attempt will be made. MaxConnectAttempts *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"` // Optional configuration for TCP proxy hash policy. If hash_policy is not set, the hash-based // load balancing algorithms will select a host randomly. Currently the number of hash policies is // limited to 1. HashPolicy []*v32.HashPolicy `protobuf:"bytes,11,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"` // If set, this configures tunneling, e.g. configuration options to tunnel TCP payload over // HTTP CONNECT. If this message is absent, the payload will be proxied upstream as per usual. // It is possible to dynamically override this configuration and disable tunneling per connection, // by setting a per-connection filter state object for the key “envoy.tcp_proxy.disable_tunneling“. TunnelingConfig *TcpProxy_TunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"` // The maximum duration of a connection. The duration is defined as the period since a connection // was established. If not set, there is no max duration. When max_downstream_connection_duration // is reached the connection will be closed. Duration must be at least 1ms. MaxDownstreamConnectionDuration *duration.Duration `protobuf:"bytes,13,opt,name=max_downstream_connection_duration,json=maxDownstreamConnectionDuration,proto3" json:"max_downstream_connection_duration,omitempty"` // .. attention:: // This field is deprecated in favor of // :ref:`access_log_flush_interval // `. // Note that if both this field and :ref:`access_log_flush_interval // ` // are specified, the former (deprecated field) is ignored. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto. AccessLogFlushInterval *duration.Duration `protobuf:"bytes,15,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` // .. attention:: // This field is deprecated in favor of // :ref:`flush_access_log_on_connected // `. // Note that if both this field and :ref:`flush_access_log_on_connected // ` // are specified, the former (deprecated field) is ignored. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto. FlushAccessLogOnConnected bool `protobuf:"varint,16,opt,name=flush_access_log_on_connected,json=flushAccessLogOnConnected,proto3" json:"flush_access_log_on_connected,omitempty"` // Additional access log options for TCP Proxy. AccessLogOptions *TcpProxy_TcpAccessLogOptions `protobuf:"bytes,17,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"` } func (x *TcpProxy) Reset() { *x = TcpProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy) ProtoMessage() {} func (x *TcpProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy.ProtoReflect.Descriptor instead. func (*TcpProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0} } func (x *TcpProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *TcpProxy) GetClusterSpecifier() isTcpProxy_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *TcpProxy) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*TcpProxy_Cluster); ok { return x.Cluster } return "" } func (x *TcpProxy) GetWeightedClusters() *TcpProxy_WeightedCluster { if x, ok := x.GetClusterSpecifier().(*TcpProxy_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *TcpProxy) GetOnDemand() *TcpProxy_OnDemand { if x != nil { return x.OnDemand } return nil } func (x *TcpProxy) GetMetadataMatch() *v3.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *TcpProxy) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *TcpProxy) GetDownstreamIdleTimeout() *duration.Duration { if x != nil { return x.DownstreamIdleTimeout } return nil } func (x *TcpProxy) GetUpstreamIdleTimeout() *duration.Duration { if x != nil { return x.UpstreamIdleTimeout } return nil } func (x *TcpProxy) GetAccessLog() []*v31.AccessLog { if x != nil { return x.AccessLog } return nil } func (x *TcpProxy) GetMaxConnectAttempts() *wrappers.UInt32Value { if x != nil { return x.MaxConnectAttempts } return nil } func (x *TcpProxy) GetHashPolicy() []*v32.HashPolicy { if x != nil { return x.HashPolicy } return nil } func (x *TcpProxy) GetTunnelingConfig() *TcpProxy_TunnelingConfig { if x != nil { return x.TunnelingConfig } return nil } func (x *TcpProxy) GetMaxDownstreamConnectionDuration() *duration.Duration { if x != nil { return x.MaxDownstreamConnectionDuration } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto. func (x *TcpProxy) GetAccessLogFlushInterval() *duration.Duration { if x != nil { return x.AccessLogFlushInterval } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto. func (x *TcpProxy) GetFlushAccessLogOnConnected() bool { if x != nil { return x.FlushAccessLogOnConnected } return false } func (x *TcpProxy) GetAccessLogOptions() *TcpProxy_TcpAccessLogOptions { if x != nil { return x.AccessLogOptions } return nil } type isTcpProxy_ClusterSpecifier interface { isTcpProxy_ClusterSpecifier() } type TcpProxy_Cluster struct { // The upstream cluster to connect to. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } type TcpProxy_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. WeightedClusters *TcpProxy_WeightedCluster `protobuf:"bytes,10,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } func (*TcpProxy_Cluster) isTcpProxy_ClusterSpecifier() {} func (*TcpProxy_WeightedClusters) isTcpProxy_ClusterSpecifier() {} // Allows for specification of multiple upstream clusters along with weights // that indicate the percentage of traffic to be forwarded to each cluster. // The router selects an upstream cluster based on these weights. type TcpProxy_WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*TcpProxy_WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *TcpProxy_WeightedCluster) Reset() { *x = TcpProxy_WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_WeightedCluster) ProtoMessage() {} func (x *TcpProxy_WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_WeightedCluster.ProtoReflect.Descriptor instead. func (*TcpProxy_WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *TcpProxy_WeightedCluster) GetClusters() []*TcpProxy_WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } // Configuration for tunneling TCP over other transports or application layers. // Tunneling is supported over both HTTP/1.1 and HTTP/2. Upstream protocol is // determined by the cluster configuration. // [#next-free-field: 7] type TcpProxy_TunnelingConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The hostname to send in the synthesized CONNECT headers to the upstream proxy. // This field evaluates command operators if set, otherwise returns hostname as is. // // Example: dynamically set hostname using downstream SNI // // .. code-block:: yaml // // tunneling_config: // hostname: "%REQUESTED_SERVER_NAME%:443" // // Example: dynamically set hostname using dynamic metadata // // .. code-block:: yaml // // tunneling_config: // hostname: "%DYNAMIC_METADATA(tunnel:address)%" Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` // Use POST method instead of CONNECT method to tunnel the TCP stream. // The 'protocol: bytestream' header is also NOT set for HTTP/2 to comply with the spec. // // The upstream proxy is expected to convert POST payload as raw TCP. UsePost bool `protobuf:"varint,2,opt,name=use_post,json=usePost,proto3" json:"use_post,omitempty"` // Additional request headers to upstream proxy. This is mainly used to // trigger upstream to convert POST requests back to CONNECT requests. // // Neither “:-prefixed“ pseudo-headers nor the Host: header can be overridden. HeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,3,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` // Save the response headers to the downstream info filter state for consumption // by the network filters. The filter state key is “envoy.tcp_proxy.propagate_response_headers“. PropagateResponseHeaders bool `protobuf:"varint,4,opt,name=propagate_response_headers,json=propagateResponseHeaders,proto3" json:"propagate_response_headers,omitempty"` // The path used with POST method. Default path is “/“. If post path is specified and // :ref:`use_post field ` // isn't true, it will be rejected. PostPath string `protobuf:"bytes,5,opt,name=post_path,json=postPath,proto3" json:"post_path,omitempty"` // Save the response trailers to the downstream info filter state for consumption // by the network filters. The filter state key is “envoy.tcp_proxy.propagate_response_trailers“. PropagateResponseTrailers bool `protobuf:"varint,6,opt,name=propagate_response_trailers,json=propagateResponseTrailers,proto3" json:"propagate_response_trailers,omitempty"` } func (x *TcpProxy_TunnelingConfig) Reset() { *x = TcpProxy_TunnelingConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_TunnelingConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_TunnelingConfig) ProtoMessage() {} func (x *TcpProxy_TunnelingConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_TunnelingConfig.ProtoReflect.Descriptor instead. func (*TcpProxy_TunnelingConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0, 1} } func (x *TcpProxy_TunnelingConfig) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *TcpProxy_TunnelingConfig) GetUsePost() bool { if x != nil { return x.UsePost } return false } func (x *TcpProxy_TunnelingConfig) GetHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.HeadersToAdd } return nil } func (x *TcpProxy_TunnelingConfig) GetPropagateResponseHeaders() bool { if x != nil { return x.PropagateResponseHeaders } return false } func (x *TcpProxy_TunnelingConfig) GetPostPath() string { if x != nil { return x.PostPath } return "" } func (x *TcpProxy_TunnelingConfig) GetPropagateResponseTrailers() bool { if x != nil { return x.PropagateResponseTrailers } return false } type TcpProxy_OnDemand struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An optional configuration for on-demand cluster discovery // service. If not specified, the on-demand cluster discovery will // be disabled. When it's specified, the filter will pause a request // to an unknown cluster and will begin a cluster discovery // process. When the discovery is finished (successfully or not), // the request will be resumed. OdcdsConfig *v3.ConfigSource `protobuf:"bytes,1,opt,name=odcds_config,json=odcdsConfig,proto3" json:"odcds_config,omitempty"` // xdstp:// resource locator for on-demand cluster collection. // [#not-implemented-hide:] ResourcesLocator string `protobuf:"bytes,2,opt,name=resources_locator,json=resourcesLocator,proto3" json:"resources_locator,omitempty"` // The timeout for on demand cluster lookup. If the CDS cannot return the required cluster, // the downstream request will be closed with the error code detail NO_CLUSTER_FOUND. // [#not-implemented-hide:] Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` } func (x *TcpProxy_OnDemand) Reset() { *x = TcpProxy_OnDemand{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_OnDemand) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_OnDemand) ProtoMessage() {} func (x *TcpProxy_OnDemand) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_OnDemand.ProtoReflect.Descriptor instead. func (*TcpProxy_OnDemand) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0, 2} } func (x *TcpProxy_OnDemand) GetOdcdsConfig() *v3.ConfigSource { if x != nil { return x.OdcdsConfig } return nil } func (x *TcpProxy_OnDemand) GetResourcesLocator() string { if x != nil { return x.ResourcesLocator } return "" } func (x *TcpProxy_OnDemand) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } type TcpProxy_TcpAccessLogOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The interval to flush access log. The TCP proxy will flush only one access log when the connection // is closed by default. If this field is set, the TCP proxy will flush access log periodically with // the specified interval. // The interval must be at least 1ms. AccessLogFlushInterval *duration.Duration `protobuf:"bytes,1,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` // If set to true, access log will be flushed when the TCP proxy has successfully established a // connection with the upstream. If the connection failed, the access log will not be flushed. FlushAccessLogOnConnected bool `protobuf:"varint,2,opt,name=flush_access_log_on_connected,json=flushAccessLogOnConnected,proto3" json:"flush_access_log_on_connected,omitempty"` } func (x *TcpProxy_TcpAccessLogOptions) Reset() { *x = TcpProxy_TcpAccessLogOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_TcpAccessLogOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_TcpAccessLogOptions) ProtoMessage() {} func (x *TcpProxy_TcpAccessLogOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_TcpAccessLogOptions.ProtoReflect.Descriptor instead. func (*TcpProxy_TcpAccessLogOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0, 3} } func (x *TcpProxy_TcpAccessLogOptions) GetAccessLogFlushInterval() *duration.Duration { if x != nil { return x.AccessLogFlushInterval } return nil } func (x *TcpProxy_TcpAccessLogOptions) GetFlushAccessLogOnConnected() bool { if x != nil { return x.FlushAccessLogOnConnected } return false } type TcpProxy_WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the upstream cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When a request matches the route, the choice of an upstream cluster is // determined by its weight. The sum of weights across all entries in the // clusters array determines the total weight. Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints // in the upstream cluster with metadata matching what is set in this field will be considered // for load balancing. Note that this will be merged with what's provided in // :ref:`TcpProxy.metadata_match // `, with values // here taking precedence. The filter name should be specified as “envoy.lb“. MetadataMatch *v3.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *TcpProxy_WeightedCluster_ClusterWeight) Reset() { *x = TcpProxy_WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProxy_WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *TcpProxy_WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProxy_WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*TcpProxy_WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0, 0, 0} } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch() *v3.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x15, 0x0a, 0x08, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x72, 0x0a, 0x10, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x22, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x1f, 0x6d, 0x61, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4d, 0x0a, 0x1d, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x19, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x79, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x63, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc7, 0x03, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xec, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x56, 0x9a, 0xc5, 0x88, 0x1e, 0x51, 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x48, 0x9a, 0xc5, 0x88, 0x1e, 0x43, 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x90, 0x03, 0x0a, 0x0f, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x3a, 0x48, 0x9a, 0xc5, 0x88, 0x1e, 0x43, 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xb3, 0x01, 0x0a, 0x08, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x0c, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x6f, 0x64, 0x63, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xbb, 0x01, 0x0a, 0x13, 0x54, 0x63, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x1d, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x31, 0x42, 0xb8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescData = file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_goTypes = []interface{}{ (*TcpProxy)(nil), // 0: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy (*TcpProxy_WeightedCluster)(nil), // 1: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster (*TcpProxy_TunnelingConfig)(nil), // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig (*TcpProxy_OnDemand)(nil), // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand (*TcpProxy_TcpAccessLogOptions)(nil), // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions (*TcpProxy_WeightedCluster_ClusterWeight)(nil), // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight (*v3.Metadata)(nil), // 6: envoy.config.core.v3.Metadata (*duration.Duration)(nil), // 7: google.protobuf.Duration (*v31.AccessLog)(nil), // 8: envoy.config.accesslog.v3.AccessLog (*wrappers.UInt32Value)(nil), // 9: google.protobuf.UInt32Value (*v32.HashPolicy)(nil), // 10: envoy.type.v3.HashPolicy (*v3.HeaderValueOption)(nil), // 11: envoy.config.core.v3.HeaderValueOption (*v3.ConfigSource)(nil), // 12: envoy.config.core.v3.ConfigSource } var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.weighted_clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster 3, // 1: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.on_demand:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand 6, // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.metadata_match:type_name -> envoy.config.core.v3.Metadata 7, // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.idle_timeout:type_name -> google.protobuf.Duration 7, // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.downstream_idle_timeout:type_name -> google.protobuf.Duration 7, // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.upstream_idle_timeout:type_name -> google.protobuf.Duration 8, // 6: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 9, // 7: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_connect_attempts:type_name -> google.protobuf.UInt32Value 10, // 8: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.hash_policy:type_name -> envoy.type.v3.HashPolicy 2, // 9: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.tunneling_config:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig 7, // 10: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_downstream_connection_duration:type_name -> google.protobuf.Duration 7, // 11: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_flush_interval:type_name -> google.protobuf.Duration 4, // 12: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_options:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions 5, // 13: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight 11, // 14: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 12, // 15: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.odcds_config:type_name -> envoy.config.core.v3.ConfigSource 7, // 16: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.timeout:type_name -> google.protobuf.Duration 7, // 17: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration 6, // 18: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata 19, // [19:19] is the sub-list for method output_type 19, // [19:19] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_init() } func file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_init() { if File_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_TunnelingConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_OnDemand); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_TcpAccessLogOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProxy_WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*TcpProxy_Cluster)(nil), (*TcpProxy_WeightedClusters)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto = out.File file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.go000077500000000000000000001100431454502223200326000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto package tcp_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpProxy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TcpProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TcpProxyMultiError, or nil // if none found. func (m *TcpProxy) ValidateAll() error { return m.validate(true) } func (m *TcpProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := TcpProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnDemand()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "OnDemand", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "OnDemand", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnDemand()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "OnDemand", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDownstreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "DownstreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "UpstreamIdleTimeout", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if wrapper := m.GetMaxConnectAttempts(); wrapper != nil { if wrapper.GetValue() < 1 { err := TcpProxyValidationError{ field: "MaxConnectAttempts", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if len(m.GetHashPolicy()) > 1 { err := TcpProxyValidationError{ field: "HashPolicy", reason: "value must contain no more than 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHashPolicy() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: fmt.Sprintf("HashPolicy[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTunnelingConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTunnelingConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, } } } if d := m.GetMaxDownstreamConnectionDuration(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = TcpProxyValidationError{ field: "MaxDownstreamConnectionDuration", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := TcpProxyValidationError{ field: "MaxDownstreamConnectionDuration", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if d := m.GetAccessLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = TcpProxyValidationError{ field: "AccessLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := TcpProxyValidationError{ field: "AccessLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } // no validation rules for FlushAccessLogOnConnected if all { switch v := interface{}(m.GetAccessLogOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAccessLogOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *TcpProxy_Cluster: if v == nil { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true // no validation rules for Cluster case *TcpProxy_WeightedClusters: if v == nil { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxyValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := TcpProxyValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TcpProxyMultiError(errors) } return nil } // TcpProxyMultiError is an error wrapping multiple validation errors returned // by TcpProxy.ValidateAll() if the designated constraints aren't met. type TcpProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxyMultiError) AllErrors() []error { return m } // TcpProxyValidationError is the validation error returned by // TcpProxy.Validate if the designated constraints aren't met. type TcpProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxyValidationError) ErrorName() string { return "TcpProxyValidationError" } // Error satisfies the builtin error interface func (e TcpProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxyValidationError{} // Validate checks the field values on TcpProxy_WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_WeightedCluster with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_WeightedClusterMultiError, or nil if none found. func (m *TcpProxy_WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := TcpProxy_WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TcpProxy_WeightedClusterMultiError(errors) } return nil } // TcpProxy_WeightedClusterMultiError is an error wrapping multiple validation // errors returned by TcpProxy_WeightedCluster.ValidateAll() if the designated // constraints aren't met. type TcpProxy_WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_WeightedClusterMultiError) AllErrors() []error { return m } // TcpProxy_WeightedClusterValidationError is the validation error returned by // TcpProxy_WeightedCluster.Validate if the designated constraints aren't met. type TcpProxy_WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_WeightedClusterValidationError) ErrorName() string { return "TcpProxy_WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_WeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_WeightedClusterValidationError{} // Validate checks the field values on TcpProxy_TunnelingConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_TunnelingConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_TunnelingConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_TunnelingConfigMultiError, or nil if none found. func (m *TcpProxy_TunnelingConfig) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_TunnelingConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHostname()) < 1 { err := TcpProxy_TunnelingConfigValidationError{ field: "Hostname", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for UsePost if len(m.GetHeadersToAdd()) > 1000 { err := TcpProxy_TunnelingConfigValidationError{ field: "HeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_TunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_TunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_TunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for PropagateResponseHeaders // no validation rules for PostPath // no validation rules for PropagateResponseTrailers if len(errors) > 0 { return TcpProxy_TunnelingConfigMultiError(errors) } return nil } // TcpProxy_TunnelingConfigMultiError is an error wrapping multiple validation // errors returned by TcpProxy_TunnelingConfig.ValidateAll() if the designated // constraints aren't met. type TcpProxy_TunnelingConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_TunnelingConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_TunnelingConfigMultiError) AllErrors() []error { return m } // TcpProxy_TunnelingConfigValidationError is the validation error returned by // TcpProxy_TunnelingConfig.Validate if the designated constraints aren't met. type TcpProxy_TunnelingConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_TunnelingConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_TunnelingConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_TunnelingConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_TunnelingConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_TunnelingConfigValidationError) ErrorName() string { return "TcpProxy_TunnelingConfigValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_TunnelingConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_TunnelingConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_TunnelingConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_TunnelingConfigValidationError{} // Validate checks the field values on TcpProxy_OnDemand with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_OnDemand) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_OnDemand with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_OnDemandMultiError, or nil if none found. func (m *TcpProxy_OnDemand) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_OnDemand) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetOdcdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_OnDemandValidationError{ field: "OdcdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_OnDemandValidationError{ field: "OdcdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOdcdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_OnDemandValidationError{ field: "OdcdsConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ResourcesLocator if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_OnDemandValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_OnDemandValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_OnDemandValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpProxy_OnDemandMultiError(errors) } return nil } // TcpProxy_OnDemandMultiError is an error wrapping multiple validation errors // returned by TcpProxy_OnDemand.ValidateAll() if the designated constraints // aren't met. type TcpProxy_OnDemandMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_OnDemandMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_OnDemandMultiError) AllErrors() []error { return m } // TcpProxy_OnDemandValidationError is the validation error returned by // TcpProxy_OnDemand.Validate if the designated constraints aren't met. type TcpProxy_OnDemandValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_OnDemandValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_OnDemandValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_OnDemandValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_OnDemandValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_OnDemandValidationError) ErrorName() string { return "TcpProxy_OnDemandValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_OnDemandValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_OnDemand.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_OnDemandValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_OnDemandValidationError{} // Validate checks the field values on TcpProxy_TcpAccessLogOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProxy_TcpAccessLogOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProxy_TcpAccessLogOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProxy_TcpAccessLogOptionsMultiError, or nil if none found. func (m *TcpProxy_TcpAccessLogOptions) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_TcpAccessLogOptions) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetAccessLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = TcpProxy_TcpAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := TcpProxy_TcpAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } // no validation rules for FlushAccessLogOnConnected if len(errors) > 0 { return TcpProxy_TcpAccessLogOptionsMultiError(errors) } return nil } // TcpProxy_TcpAccessLogOptionsMultiError is an error wrapping multiple // validation errors returned by TcpProxy_TcpAccessLogOptions.ValidateAll() if // the designated constraints aren't met. type TcpProxy_TcpAccessLogOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_TcpAccessLogOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_TcpAccessLogOptionsMultiError) AllErrors() []error { return m } // TcpProxy_TcpAccessLogOptionsValidationError is the validation error returned // by TcpProxy_TcpAccessLogOptions.Validate if the designated constraints // aren't met. type TcpProxy_TcpAccessLogOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_TcpAccessLogOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_TcpAccessLogOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_TcpAccessLogOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_TcpAccessLogOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_TcpAccessLogOptionsValidationError) ErrorName() string { return "TcpProxy_TcpAccessLogOptionsValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_TcpAccessLogOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_TcpAccessLogOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_TcpAccessLogOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_TcpAccessLogOptionsValidationError{} // Validate checks the field values on TcpProxy_WeightedCluster_ClusterWeight // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *TcpProxy_WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // TcpProxy_WeightedCluster_ClusterWeight with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // TcpProxy_WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *TcpProxy_WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *TcpProxy_WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetWeight() < 1 { err := TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProxy_WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpProxy_WeightedCluster_ClusterWeightMultiError(errors) } return nil } // TcpProxy_WeightedCluster_ClusterWeightMultiError is an error wrapping // multiple validation errors returned by // TcpProxy_WeightedCluster_ClusterWeight.ValidateAll() if the designated // constraints aren't met. type TcpProxy_WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProxy_WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProxy_WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // TcpProxy_WeightedCluster_ClusterWeightValidationError is the validation // error returned by TcpProxy_WeightedCluster_ClusterWeight.Validate if the // designated constraints aren't met. type TcpProxy_WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "TcpProxy_WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e TcpProxy_WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProxy_WeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProxy_WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProxy_WeightedCluster_ClusterWeightValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/000077500000000000000000000000001454502223200262125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/000077500000000000000000000000001454502223200276625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/000077500000000000000000000000001454502223200334545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/v3/000077500000000000000000000000001454502223200340045ustar00rootroot00000000000000header_to_metadata.pb.go000077500000000000000000000744001454502223200404560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/v3/header_to_metadata.proto package header_to_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HeaderToMetadata_ValueType int32 const ( HeaderToMetadata_STRING HeaderToMetadata_ValueType = 0 HeaderToMetadata_NUMBER HeaderToMetadata_ValueType = 1 // The value is a serialized `protobuf.Value // `_. HeaderToMetadata_PROTOBUF_VALUE HeaderToMetadata_ValueType = 2 ) // Enum value maps for HeaderToMetadata_ValueType. var ( HeaderToMetadata_ValueType_name = map[int32]string{ 0: "STRING", 1: "NUMBER", 2: "PROTOBUF_VALUE", } HeaderToMetadata_ValueType_value = map[string]int32{ "STRING": 0, "NUMBER": 1, "PROTOBUF_VALUE": 2, } ) func (x HeaderToMetadata_ValueType) Enum() *HeaderToMetadata_ValueType { p := new(HeaderToMetadata_ValueType) *p = x return p } func (x HeaderToMetadata_ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HeaderToMetadata_ValueType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes[0].Descriptor() } func (HeaderToMetadata_ValueType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes[0] } func (x HeaderToMetadata_ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HeaderToMetadata_ValueType.Descriptor instead. func (HeaderToMetadata_ValueType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } // ValueEncode defines the encoding algorithm. type HeaderToMetadata_ValueEncode int32 const ( // The value is not encoded. HeaderToMetadata_NONE HeaderToMetadata_ValueEncode = 0 // The value is encoded in `Base64 `_. // Note: this is mostly used for STRING and PROTOBUF_VALUE to escape the // non-ASCII characters in the header. HeaderToMetadata_BASE64 HeaderToMetadata_ValueEncode = 1 ) // Enum value maps for HeaderToMetadata_ValueEncode. var ( HeaderToMetadata_ValueEncode_name = map[int32]string{ 0: "NONE", 1: "BASE64", } HeaderToMetadata_ValueEncode_value = map[string]int32{ "NONE": 0, "BASE64": 1, } ) func (x HeaderToMetadata_ValueEncode) Enum() *HeaderToMetadata_ValueEncode { p := new(HeaderToMetadata_ValueEncode) *p = x return p } func (x HeaderToMetadata_ValueEncode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HeaderToMetadata_ValueEncode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes[1].Descriptor() } func (HeaderToMetadata_ValueEncode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes[1] } func (x HeaderToMetadata_ValueEncode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HeaderToMetadata_ValueEncode.Descriptor instead. func (HeaderToMetadata_ValueEncode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } type HeaderToMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply to requests. RequestRules []*HeaderToMetadata_Rule `protobuf:"bytes,1,rep,name=request_rules,json=requestRules,proto3" json:"request_rules,omitempty"` } func (x *HeaderToMetadata) Reset() { *x = HeaderToMetadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderToMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderToMetadata) ProtoMessage() {} func (x *HeaderToMetadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderToMetadata.ProtoReflect.Descriptor instead. func (*HeaderToMetadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0} } func (x *HeaderToMetadata) GetRequestRules() []*HeaderToMetadata_Rule { if x != nil { return x.RequestRules } return nil } // [#next-free-field: 7] type HeaderToMetadata_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Types that are assignable to ValueType: // // *HeaderToMetadata_KeyValuePair_Value // *HeaderToMetadata_KeyValuePair_RegexValueRewrite ValueType isHeaderToMetadata_KeyValuePair_ValueType `protobuf_oneof:"value_type"` // The value's type — defaults to string. Type HeaderToMetadata_ValueType `protobuf:"varint,5,opt,name=type,proto3,enum=envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata_ValueType" json:"type,omitempty"` // How is the value encoded, default is NONE (not encoded). // The value will be decoded accordingly before storing to metadata. Encode HeaderToMetadata_ValueEncode `protobuf:"varint,6,opt,name=encode,proto3,enum=envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata_ValueEncode" json:"encode,omitempty"` } func (x *HeaderToMetadata_KeyValuePair) Reset() { *x = HeaderToMetadata_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderToMetadata_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderToMetadata_KeyValuePair) ProtoMessage() {} func (x *HeaderToMetadata_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderToMetadata_KeyValuePair.ProtoReflect.Descriptor instead. func (*HeaderToMetadata_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 0} } func (x *HeaderToMetadata_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *HeaderToMetadata_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } func (m *HeaderToMetadata_KeyValuePair) GetValueType() isHeaderToMetadata_KeyValuePair_ValueType { if m != nil { return m.ValueType } return nil } func (x *HeaderToMetadata_KeyValuePair) GetValue() string { if x, ok := x.GetValueType().(*HeaderToMetadata_KeyValuePair_Value); ok { return x.Value } return "" } func (x *HeaderToMetadata_KeyValuePair) GetRegexValueRewrite() *v3.RegexMatchAndSubstitute { if x, ok := x.GetValueType().(*HeaderToMetadata_KeyValuePair_RegexValueRewrite); ok { return x.RegexValueRewrite } return nil } func (x *HeaderToMetadata_KeyValuePair) GetType() HeaderToMetadata_ValueType { if x != nil { return x.Type } return HeaderToMetadata_STRING } func (x *HeaderToMetadata_KeyValuePair) GetEncode() HeaderToMetadata_ValueEncode { if x != nil { return x.Encode } return HeaderToMetadata_NONE } type isHeaderToMetadata_KeyValuePair_ValueType interface { isHeaderToMetadata_KeyValuePair_ValueType() } type HeaderToMetadata_KeyValuePair_Value struct { // The value to pair with the given key. // // When used for on_present case, if value is non-empty it'll be used instead // of the header value. If both are empty, the header value is used as-is. // // When used for on_missing case, a non-empty value must be provided. Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"` } type HeaderToMetadata_KeyValuePair_RegexValueRewrite struct { // If present, the header's value will be matched and substituted with this. // If there is no match or substitution, the header value is used as-is. // // This is only used for on_present. RegexValueRewrite *v3.RegexMatchAndSubstitute `protobuf:"bytes,4,opt,name=regex_value_rewrite,json=regexValueRewrite,proto3,oneof"` } func (*HeaderToMetadata_KeyValuePair_Value) isHeaderToMetadata_KeyValuePair_ValueType() {} func (*HeaderToMetadata_KeyValuePair_RegexValueRewrite) isHeaderToMetadata_KeyValuePair_ValueType() {} // A Rule defines what metadata to apply when a header is present or missing. type HeaderToMetadata_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies that a match will be performed on the value of a header. // // The header to be extracted. Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` // If the header is present, apply this metadata KeyValuePair. // // If the value in the KeyValuePair is non-empty, it'll be used instead // of the header value. OnPresent *HeaderToMetadata_KeyValuePair `protobuf:"bytes,2,opt,name=on_present,json=onPresent,proto3" json:"on_present,omitempty"` // If the header is not present, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set, since it'll be used in lieu // of the missing header value. OnMissing *HeaderToMetadata_KeyValuePair `protobuf:"bytes,3,opt,name=on_missing,json=onMissing,proto3" json:"on_missing,omitempty"` // Whether or not to remove the header after a rule is applied. // // This prevents headers from leaking. Remove bool `protobuf:"varint,4,opt,name=remove,proto3" json:"remove,omitempty"` } func (x *HeaderToMetadata_Rule) Reset() { *x = HeaderToMetadata_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderToMetadata_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderToMetadata_Rule) ProtoMessage() {} func (x *HeaderToMetadata_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderToMetadata_Rule.ProtoReflect.Descriptor instead. func (*HeaderToMetadata_Rule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP(), []int{0, 1} } func (x *HeaderToMetadata_Rule) GetHeader() string { if x != nil { return x.Header } return "" } func (x *HeaderToMetadata_Rule) GetOnPresent() *HeaderToMetadata_KeyValuePair { if x != nil { return x.OnPresent } return nil } func (x *HeaderToMetadata_Rule) GetOnMissing() *HeaderToMetadata_KeyValuePair { if x != nil { return x.OnMissing } return nil } func (x *HeaderToMetadata_Rule) GetRemove() bool { if x != nil { return x.Remove } return false } var File_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDesc = []byte{ 0x0a, 0x64, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x08, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xec, 0x03, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x67, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x69, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xdd, 0x02, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x53, 0x45, 0x36, 0x34, 0x10, 0x01, 0x42, 0x86, 0x02, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x59, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x87, 0x01, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_goTypes = []interface{}{ (HeaderToMetadata_ValueType)(0), // 0: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.ValueType (HeaderToMetadata_ValueEncode)(0), // 1: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.ValueEncode (*HeaderToMetadata)(nil), // 2: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata (*HeaderToMetadata_KeyValuePair)(nil), // 3: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair (*HeaderToMetadata_Rule)(nil), // 4: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.Rule (*v3.RegexMatchAndSubstitute)(nil), // 5: envoy.type.matcher.v3.RegexMatchAndSubstitute } var file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.request_rules:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.Rule 5, // 1: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair.regex_value_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 0, // 2: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair.type:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.ValueType 1, // 3: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair.encode:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.ValueEncode 3, // 4: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.Rule.on_present:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair 3, // 5: envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.Rule.on_missing:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderToMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderToMetadata_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderToMetadata_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HeaderToMetadata_KeyValuePair_Value)(nil), (*HeaderToMetadata_KeyValuePair_RegexValueRewrite)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_filters_header_to_metadata_v3_header_to_metadata_proto_depIdxs = nil } header_to_metadata.pb.validate.go000077500000000000000000000355631454502223200422550ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/filters/header_to_metadata/v3/header_to_metadata.proto package header_to_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HeaderToMetadata with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HeaderToMetadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderToMetadata with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderToMetadataMultiError, or nil if none found. func (m *HeaderToMetadata) ValidateAll() error { return m.validate(true) } func (m *HeaderToMetadata) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequestRules()) < 1 { err := HeaderToMetadataValidationError{ field: "RequestRules", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HeaderToMetadataMultiError(errors) } return nil } // HeaderToMetadataMultiError is an error wrapping multiple validation errors // returned by HeaderToMetadata.ValidateAll() if the designated constraints // aren't met. type HeaderToMetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderToMetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderToMetadataMultiError) AllErrors() []error { return m } // HeaderToMetadataValidationError is the validation error returned by // HeaderToMetadata.Validate if the designated constraints aren't met. type HeaderToMetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderToMetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderToMetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderToMetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderToMetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderToMetadataValidationError) ErrorName() string { return "HeaderToMetadataValidationError" } // Error satisfies the builtin error interface func (e HeaderToMetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderToMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderToMetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderToMetadataValidationError{} // Validate checks the field values on HeaderToMetadata_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderToMetadata_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderToMetadata_KeyValuePair with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HeaderToMetadata_KeyValuePairMultiError, or nil if none found. func (m *HeaderToMetadata_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *HeaderToMetadata_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if utf8.RuneCountInString(m.GetKey()) < 1 { err := HeaderToMetadata_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := HeaderToMetadata_ValueType_name[int32(m.GetType())]; !ok { err := HeaderToMetadata_KeyValuePairValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } // no validation rules for Encode switch v := m.ValueType.(type) { case *HeaderToMetadata_KeyValuePair_Value: if v == nil { err := HeaderToMetadata_KeyValuePairValidationError{ field: "ValueType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Value case *HeaderToMetadata_KeyValuePair_RegexValueRewrite: if v == nil { err := HeaderToMetadata_KeyValuePairValidationError{ field: "ValueType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexValueRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexValueRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HeaderToMetadata_KeyValuePairMultiError(errors) } return nil } // HeaderToMetadata_KeyValuePairMultiError is an error wrapping multiple // validation errors returned by HeaderToMetadata_KeyValuePair.ValidateAll() // if the designated constraints aren't met. type HeaderToMetadata_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderToMetadata_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderToMetadata_KeyValuePairMultiError) AllErrors() []error { return m } // HeaderToMetadata_KeyValuePairValidationError is the validation error // returned by HeaderToMetadata_KeyValuePair.Validate if the designated // constraints aren't met. type HeaderToMetadata_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderToMetadata_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderToMetadata_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderToMetadata_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderToMetadata_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderToMetadata_KeyValuePairValidationError) ErrorName() string { return "HeaderToMetadata_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e HeaderToMetadata_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderToMetadata_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderToMetadata_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderToMetadata_KeyValuePairValidationError{} // Validate checks the field values on HeaderToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderToMetadata_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderToMetadata_RuleMultiError, or nil if none found. func (m *HeaderToMetadata_Rule) ValidateAll() error { return m.validate(true) } func (m *HeaderToMetadata_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeader()) < 1 { err := HeaderToMetadata_RuleValidationError{ field: "Header", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_HeaderToMetadata_Rule_Header_Pattern.MatchString(m.GetHeader()) { err := HeaderToMetadata_RuleValidationError{ field: "Header", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOnPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Remove if len(errors) > 0 { return HeaderToMetadata_RuleMultiError(errors) } return nil } // HeaderToMetadata_RuleMultiError is an error wrapping multiple validation // errors returned by HeaderToMetadata_Rule.ValidateAll() if the designated // constraints aren't met. type HeaderToMetadata_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderToMetadata_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderToMetadata_RuleMultiError) AllErrors() []error { return m } // HeaderToMetadata_RuleValidationError is the validation error returned by // HeaderToMetadata_Rule.Validate if the designated constraints aren't met. type HeaderToMetadata_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderToMetadata_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderToMetadata_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderToMetadata_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderToMetadata_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderToMetadata_RuleValidationError) ErrorName() string { return "HeaderToMetadata_RuleValidationError" } // Error satisfies the builtin error interface func (e HeaderToMetadata_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderToMetadata_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderToMetadata_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderToMetadata_RuleValidationError{} var _HeaderToMetadata_Rule_Header_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadata/000077500000000000000000000000001454502223200336555ustar00rootroot00000000000000v3/000077500000000000000000000000001454502223200341265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadatapayload_to_metadata.pb.go000077500000000000000000001030731454502223200410570ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadata/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadata/v3/payload_to_metadata.proto package payload_to_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PayloadToMetadata_ValueType int32 const ( PayloadToMetadata_STRING PayloadToMetadata_ValueType = 0 PayloadToMetadata_NUMBER PayloadToMetadata_ValueType = 1 ) // Enum value maps for PayloadToMetadata_ValueType. var ( PayloadToMetadata_ValueType_name = map[int32]string{ 0: "STRING", 1: "NUMBER", } PayloadToMetadata_ValueType_value = map[string]int32{ "STRING": 0, "NUMBER": 1, } ) func (x PayloadToMetadata_ValueType) Enum() *PayloadToMetadata_ValueType { p := new(PayloadToMetadata_ValueType) *p = x return p } func (x PayloadToMetadata_ValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PayloadToMetadata_ValueType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_enumTypes[0].Descriptor() } func (PayloadToMetadata_ValueType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_enumTypes[0] } func (x PayloadToMetadata_ValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PayloadToMetadata_ValueType.Descriptor instead. func (PayloadToMetadata_ValueType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP(), []int{0, 0} } type PayloadToMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules to apply to requests. RequestRules []*PayloadToMetadata_Rule `protobuf:"bytes,1,rep,name=request_rules,json=requestRules,proto3" json:"request_rules,omitempty"` } func (x *PayloadToMetadata) Reset() { *x = PayloadToMetadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PayloadToMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*PayloadToMetadata) ProtoMessage() {} func (x *PayloadToMetadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PayloadToMetadata.ProtoReflect.Descriptor instead. func (*PayloadToMetadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP(), []int{0} } func (x *PayloadToMetadata) GetRequestRules() []*PayloadToMetadata_Rule { if x != nil { return x.RequestRules } return nil } // [#next-free-field: 6] type PayloadToMetadata_KeyValuePair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The namespace — if this is empty, the filter's namespace will be used. MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` // The key to use within the namespace. Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Types that are assignable to ValueType: // // *PayloadToMetadata_KeyValuePair_Value // *PayloadToMetadata_KeyValuePair_RegexValueRewrite ValueType isPayloadToMetadata_KeyValuePair_ValueType `protobuf_oneof:"value_type"` // The value's type — defaults to string. Type PayloadToMetadata_ValueType `protobuf:"varint,5,opt,name=type,proto3,enum=envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata_ValueType" json:"type,omitempty"` } func (x *PayloadToMetadata_KeyValuePair) Reset() { *x = PayloadToMetadata_KeyValuePair{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PayloadToMetadata_KeyValuePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*PayloadToMetadata_KeyValuePair) ProtoMessage() {} func (x *PayloadToMetadata_KeyValuePair) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PayloadToMetadata_KeyValuePair.ProtoReflect.Descriptor instead. func (*PayloadToMetadata_KeyValuePair) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP(), []int{0, 0} } func (x *PayloadToMetadata_KeyValuePair) GetMetadataNamespace() string { if x != nil { return x.MetadataNamespace } return "" } func (x *PayloadToMetadata_KeyValuePair) GetKey() string { if x != nil { return x.Key } return "" } func (m *PayloadToMetadata_KeyValuePair) GetValueType() isPayloadToMetadata_KeyValuePair_ValueType { if m != nil { return m.ValueType } return nil } func (x *PayloadToMetadata_KeyValuePair) GetValue() string { if x, ok := x.GetValueType().(*PayloadToMetadata_KeyValuePair_Value); ok { return x.Value } return "" } func (x *PayloadToMetadata_KeyValuePair) GetRegexValueRewrite() *v3.RegexMatchAndSubstitute { if x, ok := x.GetValueType().(*PayloadToMetadata_KeyValuePair_RegexValueRewrite); ok { return x.RegexValueRewrite } return nil } func (x *PayloadToMetadata_KeyValuePair) GetType() PayloadToMetadata_ValueType { if x != nil { return x.Type } return PayloadToMetadata_STRING } type isPayloadToMetadata_KeyValuePair_ValueType interface { isPayloadToMetadata_KeyValuePair_ValueType() } type PayloadToMetadata_KeyValuePair_Value struct { // The value to pair with the given key. // // When used for on_present case, if value is non-empty it'll be used instead // of the field value. If both are empty, the field value is used as-is. // // When used for on_missing case, a non-empty value must be provided. Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"` } type PayloadToMetadata_KeyValuePair_RegexValueRewrite struct { // If present, the header's value will be matched and substituted with this. // If there is no match or substitution, the field value is used as-is. // // This is only used for on_present. RegexValueRewrite *v3.RegexMatchAndSubstitute `protobuf:"bytes,4,opt,name=regex_value_rewrite,json=regexValueRewrite,proto3,oneof"` } func (*PayloadToMetadata_KeyValuePair_Value) isPayloadToMetadata_KeyValuePair_ValueType() {} func (*PayloadToMetadata_KeyValuePair_RegexValueRewrite) isPayloadToMetadata_KeyValuePair_ValueType() { } // A Rule defines what metadata to apply when a field is present or missing. // [#next-free-field: 6] type PayloadToMetadata_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchSpecifier: // // *PayloadToMetadata_Rule_MethodName // *PayloadToMetadata_Rule_ServiceName MatchSpecifier isPayloadToMetadata_Rule_MatchSpecifier `protobuf_oneof:"match_specifier"` // Specifies that a match will be performed on the value of a field. FieldSelector *PayloadToMetadata_FieldSelector `protobuf:"bytes,3,opt,name=field_selector,json=fieldSelector,proto3" json:"field_selector,omitempty"` // If the field is present, apply this metadata KeyValuePair. OnPresent *PayloadToMetadata_KeyValuePair `protobuf:"bytes,4,opt,name=on_present,json=onPresent,proto3" json:"on_present,omitempty"` // If the field is missing, apply this metadata KeyValuePair. // // The value in the KeyValuePair must be set, since it'll be used in lieu // of the missing field value. OnMissing *PayloadToMetadata_KeyValuePair `protobuf:"bytes,5,opt,name=on_missing,json=onMissing,proto3" json:"on_missing,omitempty"` } func (x *PayloadToMetadata_Rule) Reset() { *x = PayloadToMetadata_Rule{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PayloadToMetadata_Rule) String() string { return protoimpl.X.MessageStringOf(x) } func (*PayloadToMetadata_Rule) ProtoMessage() {} func (x *PayloadToMetadata_Rule) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PayloadToMetadata_Rule.ProtoReflect.Descriptor instead. func (*PayloadToMetadata_Rule) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP(), []int{0, 1} } func (m *PayloadToMetadata_Rule) GetMatchSpecifier() isPayloadToMetadata_Rule_MatchSpecifier { if m != nil { return m.MatchSpecifier } return nil } func (x *PayloadToMetadata_Rule) GetMethodName() string { if x, ok := x.GetMatchSpecifier().(*PayloadToMetadata_Rule_MethodName); ok { return x.MethodName } return "" } func (x *PayloadToMetadata_Rule) GetServiceName() string { if x, ok := x.GetMatchSpecifier().(*PayloadToMetadata_Rule_ServiceName); ok { return x.ServiceName } return "" } func (x *PayloadToMetadata_Rule) GetFieldSelector() *PayloadToMetadata_FieldSelector { if x != nil { return x.FieldSelector } return nil } func (x *PayloadToMetadata_Rule) GetOnPresent() *PayloadToMetadata_KeyValuePair { if x != nil { return x.OnPresent } return nil } func (x *PayloadToMetadata_Rule) GetOnMissing() *PayloadToMetadata_KeyValuePair { if x != nil { return x.OnMissing } return nil } type isPayloadToMetadata_Rule_MatchSpecifier interface { isPayloadToMetadata_Rule_MatchSpecifier() } type PayloadToMetadata_Rule_MethodName struct { // If specified, the route must exactly match the request method name. As a special case, // an empty string matches any request method name. MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3,oneof"` } type PayloadToMetadata_Rule_ServiceName struct { // If specified, the route must have the service name as the request method name prefix. // As a special case, an empty string matches any service name. Only relevant when service // multiplexing. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3,oneof"` } func (*PayloadToMetadata_Rule_MethodName) isPayloadToMetadata_Rule_MatchSpecifier() {} func (*PayloadToMetadata_Rule_ServiceName) isPayloadToMetadata_Rule_MatchSpecifier() {} type PayloadToMetadata_FieldSelector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // field name to log Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // field id to match Id int32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` // next node of the field selector Child *PayloadToMetadata_FieldSelector `protobuf:"bytes,3,opt,name=child,proto3" json:"child,omitempty"` } func (x *PayloadToMetadata_FieldSelector) Reset() { *x = PayloadToMetadata_FieldSelector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PayloadToMetadata_FieldSelector) String() string { return protoimpl.X.MessageStringOf(x) } func (*PayloadToMetadata_FieldSelector) ProtoMessage() {} func (x *PayloadToMetadata_FieldSelector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PayloadToMetadata_FieldSelector.ProtoReflect.Descriptor instead. func (*PayloadToMetadata_FieldSelector) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP(), []int{0, 2} } func (x *PayloadToMetadata_FieldSelector) GetName() string { if x != nil { return x.Name } return "" } func (x *PayloadToMetadata_FieldSelector) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *PayloadToMetadata_FieldSelector) GetChild() *PayloadToMetadata_FieldSelector { if x != nil { return x.Child } return nil } var File_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDesc = []byte{ 0x0a, 0x66, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x0a, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x93, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xea, 0x02, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x67, 0x65, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x69, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xa3, 0x04, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xd8, 0x01, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x14, 0xfa, 0x42, 0x11, 0x1a, 0x0f, 0x18, 0xff, 0xff, 0x01, 0x28, 0x80, 0x80, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x83, 0x01, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x42, 0x8a, 0x02, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x5a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x89, 0x01, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_goTypes = []interface{}{ (PayloadToMetadata_ValueType)(0), // 0: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.ValueType (*PayloadToMetadata)(nil), // 1: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata (*PayloadToMetadata_KeyValuePair)(nil), // 2: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair (*PayloadToMetadata_Rule)(nil), // 3: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.Rule (*PayloadToMetadata_FieldSelector)(nil), // 4: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.FieldSelector (*v3.RegexMatchAndSubstitute)(nil), // 5: envoy.type.matcher.v3.RegexMatchAndSubstitute } var file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.request_rules:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.Rule 5, // 1: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair.regex_value_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 0, // 2: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair.type:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.ValueType 4, // 3: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.Rule.field_selector:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.FieldSelector 2, // 4: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.Rule.on_present:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair 2, // 5: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.Rule.on_missing:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair 4, // 6: envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.FieldSelector.child:type_name -> envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.FieldSelector 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PayloadToMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PayloadToMetadata_KeyValuePair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PayloadToMetadata_Rule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PayloadToMetadata_FieldSelector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PayloadToMetadata_KeyValuePair_Value)(nil), (*PayloadToMetadata_KeyValuePair_RegexValueRewrite)(nil), } file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ (*PayloadToMetadata_Rule_MethodName)(nil), (*PayloadToMetadata_Rule_ServiceName)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_filters_payload_to_metadata_v3_payload_to_metadata_proto_depIdxs = nil } payload_to_metadata.pb.validate.go000077500000000000000000000514211454502223200426460ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadata/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/filters/payload_to_metadata/v3/payload_to_metadata.proto package payload_to_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PayloadToMetadata with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *PayloadToMetadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PayloadToMetadata with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PayloadToMetadataMultiError, or nil if none found. func (m *PayloadToMetadata) ValidateAll() error { return m.validate(true) } func (m *PayloadToMetadata) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRequestRules()) < 1 { err := PayloadToMetadataValidationError{ field: "RequestRules", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadataValidationError{ field: fmt.Sprintf("RequestRules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return PayloadToMetadataMultiError(errors) } return nil } // PayloadToMetadataMultiError is an error wrapping multiple validation errors // returned by PayloadToMetadata.ValidateAll() if the designated constraints // aren't met. type PayloadToMetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PayloadToMetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PayloadToMetadataMultiError) AllErrors() []error { return m } // PayloadToMetadataValidationError is the validation error returned by // PayloadToMetadata.Validate if the designated constraints aren't met. type PayloadToMetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PayloadToMetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PayloadToMetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PayloadToMetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PayloadToMetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PayloadToMetadataValidationError) ErrorName() string { return "PayloadToMetadataValidationError" } // Error satisfies the builtin error interface func (e PayloadToMetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPayloadToMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PayloadToMetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PayloadToMetadataValidationError{} // Validate checks the field values on PayloadToMetadata_KeyValuePair with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PayloadToMetadata_KeyValuePair) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PayloadToMetadata_KeyValuePair with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // PayloadToMetadata_KeyValuePairMultiError, or nil if none found. func (m *PayloadToMetadata_KeyValuePair) ValidateAll() error { return m.validate(true) } func (m *PayloadToMetadata_KeyValuePair) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MetadataNamespace if utf8.RuneCountInString(m.GetKey()) < 1 { err := PayloadToMetadata_KeyValuePairValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := PayloadToMetadata_ValueType_name[int32(m.GetType())]; !ok { err := PayloadToMetadata_KeyValuePairValidationError{ field: "Type", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } switch v := m.ValueType.(type) { case *PayloadToMetadata_KeyValuePair_Value: if v == nil { err := PayloadToMetadata_KeyValuePairValidationError{ field: "ValueType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Value case *PayloadToMetadata_KeyValuePair_RegexValueRewrite: if v == nil { err := PayloadToMetadata_KeyValuePairValidationError{ field: "ValueType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRegexValueRewrite()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRegexValueRewrite()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadata_KeyValuePairValidationError{ field: "RegexValueRewrite", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PayloadToMetadata_KeyValuePairMultiError(errors) } return nil } // PayloadToMetadata_KeyValuePairMultiError is an error wrapping multiple // validation errors returned by PayloadToMetadata_KeyValuePair.ValidateAll() // if the designated constraints aren't met. type PayloadToMetadata_KeyValuePairMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PayloadToMetadata_KeyValuePairMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PayloadToMetadata_KeyValuePairMultiError) AllErrors() []error { return m } // PayloadToMetadata_KeyValuePairValidationError is the validation error // returned by PayloadToMetadata_KeyValuePair.Validate if the designated // constraints aren't met. type PayloadToMetadata_KeyValuePairValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PayloadToMetadata_KeyValuePairValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PayloadToMetadata_KeyValuePairValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PayloadToMetadata_KeyValuePairValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PayloadToMetadata_KeyValuePairValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PayloadToMetadata_KeyValuePairValidationError) ErrorName() string { return "PayloadToMetadata_KeyValuePairValidationError" } // Error satisfies the builtin error interface func (e PayloadToMetadata_KeyValuePairValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPayloadToMetadata_KeyValuePair.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PayloadToMetadata_KeyValuePairValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PayloadToMetadata_KeyValuePairValidationError{} // Validate checks the field values on PayloadToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PayloadToMetadata_Rule) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PayloadToMetadata_Rule with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PayloadToMetadata_RuleMultiError, or nil if none found. func (m *PayloadToMetadata_Rule) ValidateAll() error { return m.validate(true) } func (m *PayloadToMetadata_Rule) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetFieldSelector() == nil { err := PayloadToMetadata_RuleValidationError{ field: "FieldSelector", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFieldSelector()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "FieldSelector", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "FieldSelector", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFieldSelector()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadata_RuleValidationError{ field: "FieldSelector", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnPresent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnPresent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadata_RuleValidationError{ field: "OnPresent", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOnMissing()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOnMissing()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadata_RuleValidationError{ field: "OnMissing", reason: "embedded message failed validation", cause: err, } } } oneofMatchSpecifierPresent := false switch v := m.MatchSpecifier.(type) { case *PayloadToMetadata_Rule_MethodName: if v == nil { err := PayloadToMetadata_RuleValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for MethodName case *PayloadToMetadata_Rule_ServiceName: if v == nil { err := PayloadToMetadata_RuleValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for ServiceName default: _ = v // ensures v is used } if !oneofMatchSpecifierPresent { err := PayloadToMetadata_RuleValidationError{ field: "MatchSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PayloadToMetadata_RuleMultiError(errors) } return nil } // PayloadToMetadata_RuleMultiError is an error wrapping multiple validation // errors returned by PayloadToMetadata_Rule.ValidateAll() if the designated // constraints aren't met. type PayloadToMetadata_RuleMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PayloadToMetadata_RuleMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PayloadToMetadata_RuleMultiError) AllErrors() []error { return m } // PayloadToMetadata_RuleValidationError is the validation error returned by // PayloadToMetadata_Rule.Validate if the designated constraints aren't met. type PayloadToMetadata_RuleValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PayloadToMetadata_RuleValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PayloadToMetadata_RuleValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PayloadToMetadata_RuleValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PayloadToMetadata_RuleValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PayloadToMetadata_RuleValidationError) ErrorName() string { return "PayloadToMetadata_RuleValidationError" } // Error satisfies the builtin error interface func (e PayloadToMetadata_RuleValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPayloadToMetadata_Rule.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PayloadToMetadata_RuleValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PayloadToMetadata_RuleValidationError{} // Validate checks the field values on PayloadToMetadata_FieldSelector with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PayloadToMetadata_FieldSelector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PayloadToMetadata_FieldSelector with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // PayloadToMetadata_FieldSelectorMultiError, or nil if none found. func (m *PayloadToMetadata_FieldSelector) ValidateAll() error { return m.validate(true) } func (m *PayloadToMetadata_FieldSelector) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := PayloadToMetadata_FieldSelectorValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if val := m.GetId(); val < -32768 || val > 32767 { err := PayloadToMetadata_FieldSelectorValidationError{ field: "Id", reason: "value must be inside range [-32768, 32767]", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetChild()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PayloadToMetadata_FieldSelectorValidationError{ field: "Child", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PayloadToMetadata_FieldSelectorValidationError{ field: "Child", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetChild()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PayloadToMetadata_FieldSelectorValidationError{ field: "Child", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return PayloadToMetadata_FieldSelectorMultiError(errors) } return nil } // PayloadToMetadata_FieldSelectorMultiError is an error wrapping multiple // validation errors returned by PayloadToMetadata_FieldSelector.ValidateAll() // if the designated constraints aren't met. type PayloadToMetadata_FieldSelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PayloadToMetadata_FieldSelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PayloadToMetadata_FieldSelectorMultiError) AllErrors() []error { return m } // PayloadToMetadata_FieldSelectorValidationError is the validation error // returned by PayloadToMetadata_FieldSelector.Validate if the designated // constraints aren't met. type PayloadToMetadata_FieldSelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PayloadToMetadata_FieldSelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PayloadToMetadata_FieldSelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PayloadToMetadata_FieldSelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PayloadToMetadata_FieldSelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PayloadToMetadata_FieldSelectorValidationError) ErrorName() string { return "PayloadToMetadata_FieldSelectorValidationError" } // Error satisfies the builtin error interface func (e PayloadToMetadata_FieldSelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPayloadToMetadata_FieldSelector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PayloadToMetadata_FieldSelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PayloadToMetadata_FieldSelectorValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/000077500000000000000000000000001454502223200316545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3/000077500000000000000000000000001454502223200322045ustar00rootroot00000000000000rate_limit.pb.go000077500000000000000000000327201454502223200352140ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/ratelimit/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 6] type RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The rate limit domain to use in the rate limit service request. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // Specifies the rate limit configuration stage. Each configured rate limit filter performs a // rate limit check using descriptors configured in the // :ref:`envoy_v3_api_msg_extensions.filters.network.thrift_proxy.v3.RouteAction` for the request. // Only those entries with a matching stage number are used for a given filter. If not set, the // default stage number is 0. // // .. note:: // // The filter supports a range of 0 - 10 inclusively for stage numbers. Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` // The timeout in milliseconds for the rate limit service RPC. If not // set, this defaults to 20ms. Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` // The filter's behaviour in case the rate limiting service does // not respond back. When it is set to true, Envoy will not allow traffic in case of // communication failure between rate limiting service and the proxy. // Defaults to false. FailureModeDeny bool `protobuf:"varint,4,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"` // Configuration for an external rate limit service provider. If not // specified, any calls to the rate limit service will immediately return // success. RateLimitService *v3.RateLimitServiceConfig `protobuf:"bytes,5,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"` } func (x *RateLimit) Reset() { *x = RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimit) ProtoMessage() {} func (x *RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. func (*RateLimit) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescGZIP(), []int{0} } func (x *RateLimit) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimit) GetStage() uint32 { if x != nil { return x.Stage } return 0 } func (x *RateLimit) GetTimeout() *duration.Duration { if x != nil { return x.Timeout } return nil } func (x *RateLimit) GetFailureModeDeny() bool { if x != nil { return x.FailureModeDeny } return false } func (x *RateLimit) GetRateLimitService() *v3.RateLimitServiceConfig { if x != nil { return x.RateLimitService } return nil } var File_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDesc = []byte{ 0x0a, 0x53, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x02, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x69, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0xe3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x50, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_goTypes = []interface{}{ (*RateLimit)(nil), // 0: envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit (*duration.Duration)(nil), // 1: google.protobuf.Duration (*v3.RateLimitServiceConfig)(nil), // 2: envoy.config.ratelimit.v3.RateLimitServiceConfig } var file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit.timeout:type_name -> google.protobuf.Duration 2, // 1: envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit.rate_limit_service:type_name -> envoy.config.ratelimit.v3.RateLimitServiceConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_filters_ratelimit_v3_rate_limit_proto_depIdxs = nil } rate_limit.pb.validate.go000077500000000000000000000127031454502223200370030ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3/rate_limit.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimit with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimit with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RateLimitMultiError, or nil // if none found. func (m *RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDomain()) < 1 { err := RateLimitValidationError{ field: "Domain", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetStage() > 10 { err := RateLimitValidationError{ field: "Stage", reason: "value must be less than or equal to 10", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "Timeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailureModeDeny if m.GetRateLimitService() == nil { err := RateLimitValidationError{ field: "RateLimitService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRateLimitService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitValidationError{ field: "RateLimitService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitMultiError(errors) } return nil } // RateLimitMultiError is an error wrapping multiple validation errors returned // by RateLimit.ValidateAll() if the designated constraints aren't met. type RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitMultiError) AllErrors() []error { return m } // RateLimitValidationError is the validation error returned by // RateLimit.Validate if the designated constraints aren't met. type RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitValidationError) ErrorName() string { return "RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/router/000077500000000000000000000000001454502223200275325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/router/v3/000077500000000000000000000000001454502223200300625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/router/v3/router.pb.go000077500000000000000000000223561454502223200323440ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/router/v3/router.proto package routerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Router struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Close downstream connection in case of routing or upstream connection problem. Default: true CloseDownstreamOnUpstreamError *wrappers.BoolValue `protobuf:"bytes,1,opt,name=close_downstream_on_upstream_error,json=closeDownstreamOnUpstreamError,proto3" json:"close_downstream_on_upstream_error,omitempty"` } func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Router) String() string { return protoimpl.X.MessageStringOf(x) } func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescGZIP(), []int{0} } func (x *Router) GetCloseDownstreamOnUpstreamError() *wrappers.BoolValue { if x != nil { return x.CloseDownstreamOnUpstreamError } return nil } var File_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x6e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0xc7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_goTypes = []interface{}{ (*Router)(nil), // 0: envoy.extensions.filters.network.thrift_proxy.router.v3.Router (*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue } var file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.thrift_proxy.router.v3.Router.close_downstream_on_upstream_error:type_name -> google.protobuf.BoolValue 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_router_v3_router_proto_depIdxs = nil } router.pb.validate.go000077500000000000000000000077241454502223200340570ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/router/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/router/v3/router.proto package routerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Router) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Router with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouterMultiError, or nil if none found. func (m *Router) ValidateAll() error { return m.validate(true) } func (m *Router) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCloseDownstreamOnUpstreamError()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouterValidationError{ field: "CloseDownstreamOnUpstreamError", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouterValidationError{ field: "CloseDownstreamOnUpstreamError", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCloseDownstreamOnUpstreamError()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouterValidationError{ field: "CloseDownstreamOnUpstreamError", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouterMultiError(errors) } return nil } // RouterMultiError is an error wrapping multiple validation errors returned by // Router.ValidateAll() if the designated constraints aren't met. type RouterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouterMultiError) AllErrors() []error { return m } // RouterValidationError is the validation error returned by Router.Validate if // the designated constraints aren't met. type RouterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouterValidationError) ErrorName() string { return "RouterValidationError" } // Error satisfies the builtin error interface func (e RouterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouterValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/v3/000077500000000000000000000000001454502223200265425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/v3/route.pb.go000077500000000000000000001322161454502223200306370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/v3/route.proto package thrift_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RouteConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the route configuration. This name is used in asynchronous route discovery. // For example, it might match // :ref:`route_config_name // ` in // :ref:`envoy_v3_api_msg_extensions.filters.network.thrift_proxy.v3.Trds`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The list of routes that will be matched, in order, against incoming requests. The first route // that matches will be used. Routes []*Route `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` // An optional boolean that specifies whether the clusters that the route // table refers to will be validated by the cluster manager. If set to true // and a route refers to a non-existent cluster, the route table will not // load. If set to false and a route refers to a non-existent cluster, the // route table will load and the router filter will return a INTERNAL_ERROR // if the route is selected at runtime. This setting defaults to true if the route table // is statically defined via the :ref:`route_config // ` // option. This setting default to false if the route table is loaded dynamically via the // :ref:`trds // ` // option. Users may wish to override the default behavior in certain cases (for example when // using CDS with a static route table). ValidateClusters *wrappers.BoolValue `protobuf:"bytes,3,opt,name=validate_clusters,json=validateClusters,proto3" json:"validate_clusters,omitempty"` } func (x *RouteConfiguration) Reset() { *x = RouteConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteConfiguration) ProtoMessage() {} func (x *RouteConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead. func (*RouteConfiguration) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{0} } func (x *RouteConfiguration) GetName() string { if x != nil { return x.Name } return "" } func (x *RouteConfiguration) GetRoutes() []*Route { if x != nil { return x.Routes } return nil } func (x *RouteConfiguration) GetValidateClusters() *wrappers.BoolValue { if x != nil { return x.ValidateClusters } return nil } type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Route matching parameters. Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Route request to some upstream cluster. Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{1} } func (x *Route) GetMatch() *RouteMatch { if x != nil { return x.Match } return nil } func (x *Route) GetRoute() *RouteAction { if x != nil { return x.Route } return nil } type RouteMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchSpecifier: // // *RouteMatch_MethodName // *RouteMatch_ServiceName MatchSpecifier isRouteMatch_MatchSpecifier `protobuf_oneof:"match_specifier"` // Inverts whatever matching is done in the :ref:`method_name // ` or // :ref:`service_name // ` fields. // Cannot be combined with wildcard matching as that would result in routes never being matched. // // .. note:: // // This does not invert matching done as part of the :ref:`headers field // ` field. To // invert header matching, see :ref:`invert_match // `. Invert bool `protobuf:"varint,3,opt,name=invert,proto3" json:"invert,omitempty"` // Specifies a set of headers that the route should match on. The router will check the request’s // headers against all the specified headers in the route config. A match will happen if all the // headers in the route are present in the request with the same values (or based on presence if // the value field is not in the config). Note that this only applies for Thrift transports and/or // protocols that support headers. Headers []*v3.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *RouteMatch) Reset() { *x = RouteMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteMatch) ProtoMessage() {} func (x *RouteMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead. func (*RouteMatch) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{2} } func (m *RouteMatch) GetMatchSpecifier() isRouteMatch_MatchSpecifier { if m != nil { return m.MatchSpecifier } return nil } func (x *RouteMatch) GetMethodName() string { if x, ok := x.GetMatchSpecifier().(*RouteMatch_MethodName); ok { return x.MethodName } return "" } func (x *RouteMatch) GetServiceName() string { if x, ok := x.GetMatchSpecifier().(*RouteMatch_ServiceName); ok { return x.ServiceName } return "" } func (x *RouteMatch) GetInvert() bool { if x != nil { return x.Invert } return false } func (x *RouteMatch) GetHeaders() []*v3.HeaderMatcher { if x != nil { return x.Headers } return nil } type isRouteMatch_MatchSpecifier interface { isRouteMatch_MatchSpecifier() } type RouteMatch_MethodName struct { // If specified, the route must exactly match the request method name. As a special case, an // empty string matches any request method name. MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3,oneof"` } type RouteMatch_ServiceName struct { // If specified, the route must have the service name as the request method name prefix. As a // special case, an empty string matches any service name. Only relevant when service // multiplexing. ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3,oneof"` } func (*RouteMatch_MethodName) isRouteMatch_MatchSpecifier() {} func (*RouteMatch_ServiceName) isRouteMatch_MatchSpecifier() {} // [#next-free-field: 8] type RouteAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ClusterSpecifier: // // *RouteAction_Cluster // *RouteAction_WeightedClusters // *RouteAction_ClusterHeader ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field will be considered. // Note that this will be merged with what's provided in :ref:`WeightedCluster.metadata_match // `, // with values there taking precedence. Keys and values should be provided under the "envoy.lb" // metadata key. MetadataMatch *v31.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` // Specifies a set of rate limit configurations that could be applied to the route. // N.B. Thrift service or method name matching can be achieved by specifying a RequestHeaders // action with the header name ":method-name". RateLimits []*v3.RateLimit `protobuf:"bytes,4,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Strip the service prefix from the method name, if there's a prefix. For // example, the method call Service:method would end up being just method. StripServiceName bool `protobuf:"varint,5,opt,name=strip_service_name,json=stripServiceName,proto3" json:"strip_service_name,omitempty"` // Indicates that the route has request mirroring policies. RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `protobuf:"bytes,7,rep,name=request_mirror_policies,json=requestMirrorPolicies,proto3" json:"request_mirror_policies,omitempty"` } func (x *RouteAction) Reset() { *x = RouteAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction) ProtoMessage() {} func (x *RouteAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction.ProtoReflect.Descriptor instead. func (*RouteAction) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{3} } func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier { if m != nil { return m.ClusterSpecifier } return nil } func (x *RouteAction) GetCluster() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_Cluster); ok { return x.Cluster } return "" } func (x *RouteAction) GetWeightedClusters() *WeightedCluster { if x, ok := x.GetClusterSpecifier().(*RouteAction_WeightedClusters); ok { return x.WeightedClusters } return nil } func (x *RouteAction) GetClusterHeader() string { if x, ok := x.GetClusterSpecifier().(*RouteAction_ClusterHeader); ok { return x.ClusterHeader } return "" } func (x *RouteAction) GetMetadataMatch() *v31.Metadata { if x != nil { return x.MetadataMatch } return nil } func (x *RouteAction) GetRateLimits() []*v3.RateLimit { if x != nil { return x.RateLimits } return nil } func (x *RouteAction) GetStripServiceName() bool { if x != nil { return x.StripServiceName } return false } func (x *RouteAction) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy { if x != nil { return x.RequestMirrorPolicies } return nil } type isRouteAction_ClusterSpecifier interface { isRouteAction_ClusterSpecifier() } type RouteAction_Cluster struct { // Indicates a single upstream cluster to which the request should be routed // to. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"` } type RouteAction_WeightedClusters struct { // Multiple upstream clusters can be specified for a given route. The // request is routed to one of the upstream clusters based on weights // assigned to each cluster. WeightedClusters *WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"` } type RouteAction_ClusterHeader struct { // Envoy will determine the cluster to route to by reading the value of the // Thrift header named by cluster_header from the request headers. If the // header is not found or the referenced cluster does not exist Envoy will // respond with an unknown method exception or an internal error exception, // respectively. ClusterHeader string `protobuf:"bytes,6,opt,name=cluster_header,json=clusterHeader,proto3,oneof"` } func (*RouteAction_Cluster) isRouteAction_ClusterSpecifier() {} func (*RouteAction_WeightedClusters) isRouteAction_ClusterSpecifier() {} func (*RouteAction_ClusterHeader) isRouteAction_ClusterSpecifier() {} // Allows for specification of multiple upstream clusters along with weights that indicate the // percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster // based on these weights. type WeightedCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies one or more upstream clusters associated with the route. Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` } func (x *WeightedCluster) Reset() { *x = WeightedCluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster) ProtoMessage() {} func (x *WeightedCluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster.ProtoReflect.Descriptor instead. func (*WeightedCluster) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{4} } func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight { if x != nil { return x.Clusters } return nil } // The router is capable of shadowing traffic from one cluster to another. The current // implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to // respond before returning the response from the primary cluster. All normal statistics are // collected for the shadow cluster making this feature useful for testing. // // .. note:: // // Shadowing will not be triggered if the primary cluster does not exist. type RouteAction_RequestMirrorPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the cluster that requests will be mirrored to. The cluster must // exist in the cluster manager configuration when the route configuration is loaded. // If it disappears at runtime, the shadow request will silently be ignored. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // If not specified, all requests to the target cluster will be mirrored. // // For some fraction N/D, a random number in the range [0,D) is selected. If the // number is <= the value of the numerator N, or if the key is not present, the default // value, the request will be mirrored. RuntimeFraction *v31.RuntimeFractionalPercent `protobuf:"bytes,2,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` } func (x *RouteAction_RequestMirrorPolicy) Reset() { *x = RouteAction_RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RouteAction_RequestMirrorPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RouteAction_RequestMirrorPolicy) ProtoMessage() {} func (x *RouteAction_RequestMirrorPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RouteAction_RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RouteAction_RequestMirrorPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{3, 0} } func (x *RouteAction_RequestMirrorPolicy) GetCluster() string { if x != nil { return x.Cluster } return "" } func (x *RouteAction_RequestMirrorPolicy) GetRuntimeFraction() *v31.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } type WeightedCluster_ClusterWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the upstream cluster. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When a request matches the route, the choice of an upstream cluster is determined by its // weight. The sum of weights across all entries in the clusters array determines the total // weight. Weight *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"` // Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in // the upstream cluster with metadata matching what is set in this field, combined with what's // provided in :ref:`RouteAction's metadata_match // `, // will be considered. Values here will take precedence. Keys and values should be provided // under the "envoy.lb" metadata key. MetadataMatch *v31.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *WeightedCluster_ClusterWeight) Reset() { *x = WeightedCluster_ClusterWeight{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WeightedCluster_ClusterWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*WeightedCluster_ClusterWeight) ProtoMessage() {} func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WeightedCluster_ClusterWeight.ProtoReflect.Descriptor instead. func (*WeightedCluster_ClusterWeight) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP(), []int{4, 0} } func (x *WeightedCluster_ClusterWeight) GetName() string { if x != nil { return x.Name } return "" } func (x *WeightedCluster_ClusterWeight) GetWeight() *wrappers.UInt32Value { if x != nil { return x.Weight } return nil } func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *v31.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_extensions_filters_network_thrift_proxy_v3_route_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x4b, 0x9a, 0xc5, 0x88, 0x1e, 0x46, 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x02, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x5c, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5d, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x89, 0x02, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x43, 0x9a, 0xc5, 0x88, 0x1e, 0x3e, 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x96, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x70, 0x0a, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x93, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xdf, 0x03, 0x0a, 0x0f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x75, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x8a, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x56, 0x9a, 0xc5, 0x88, 0x1e, 0x51, 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x48, 0x9a, 0xc5, 0x88, 0x1e, 0x43, 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_goTypes = []interface{}{ (*RouteConfiguration)(nil), // 0: envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration (*Route)(nil), // 1: envoy.extensions.filters.network.thrift_proxy.v3.Route (*RouteMatch)(nil), // 2: envoy.extensions.filters.network.thrift_proxy.v3.RouteMatch (*RouteAction)(nil), // 3: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction (*WeightedCluster)(nil), // 4: envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster (*RouteAction_RequestMirrorPolicy)(nil), // 5: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.RequestMirrorPolicy (*WeightedCluster_ClusterWeight)(nil), // 6: envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster.ClusterWeight (*wrappers.BoolValue)(nil), // 7: google.protobuf.BoolValue (*v3.HeaderMatcher)(nil), // 8: envoy.config.route.v3.HeaderMatcher (*v31.Metadata)(nil), // 9: envoy.config.core.v3.Metadata (*v3.RateLimit)(nil), // 10: envoy.config.route.v3.RateLimit (*v31.RuntimeFractionalPercent)(nil), // 11: envoy.config.core.v3.RuntimeFractionalPercent (*wrappers.UInt32Value)(nil), // 12: google.protobuf.UInt32Value } var file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration.routes:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.Route 7, // 1: envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration.validate_clusters:type_name -> google.protobuf.BoolValue 2, // 2: envoy.extensions.filters.network.thrift_proxy.v3.Route.match:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.RouteMatch 3, // 3: envoy.extensions.filters.network.thrift_proxy.v3.Route.route:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.RouteAction 8, // 4: envoy.extensions.filters.network.thrift_proxy.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher 4, // 5: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.weighted_clusters:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster 9, // 6: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata 10, // 7: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.rate_limits:type_name -> envoy.config.route.v3.RateLimit 5, // 8: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.request_mirror_policies:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.RequestMirrorPolicy 6, // 9: envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster.clusters:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster.ClusterWeight 11, // 10: envoy.extensions.filters.network.thrift_proxy.v3.RouteAction.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 12, // 11: envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value 9, // 12: envoy.extensions.filters.network.thrift_proxy.v3.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_v3_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAction_RequestMirrorPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedCluster_ClusterWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RouteMatch_MethodName)(nil), (*RouteMatch_ServiceName)(nil), } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RouteAction_Cluster)(nil), (*RouteAction_WeightedClusters)(nil), (*RouteAction_ClusterHeader)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_v3_route_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/v3/route.pb.validate.go000077500000000000000000001054101454502223200324230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/v3/route.proto package thrift_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RouteConfigurationMultiError, or nil if none found. func (m *RouteConfiguration) ValidateAll() error { return m.validate(true) } func (m *RouteConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name for idx, item := range m.GetRoutes() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: fmt.Sprintf("Routes[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetValidateClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidateClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteConfigurationValidationError{ field: "ValidateClusters", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteConfigurationMultiError(errors) } return nil } // RouteConfigurationMultiError is an error wrapping multiple validation errors // returned by RouteConfiguration.ValidateAll() if the designated constraints // aren't met. type RouteConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteConfigurationMultiError) AllErrors() []error { return m } // RouteConfigurationValidationError is the validation error returned by // RouteConfiguration.Validate if the designated constraints aren't met. type RouteConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteConfigurationValidationError) ErrorName() string { return "RouteConfigurationValidationError" } // Error satisfies the builtin error interface func (e RouteConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteConfigurationValidationError{} // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatch() == nil { err := RouteValidationError{ field: "Match", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Match", reason: "embedded message failed validation", cause: err, } } } if m.GetRoute() == nil { err := RouteValidationError{ field: "Route", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} // Validate checks the field values on RouteMatch with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteMatch with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteMatchMultiError, or // nil if none found. func (m *RouteMatch) ValidateAll() error { return m.validate(true) } func (m *RouteMatch) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Invert for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofMatchSpecifierPresent := false switch v := m.MatchSpecifier.(type) { case *RouteMatch_MethodName: if v == nil { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for MethodName case *RouteMatch_ServiceName: if v == nil { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchSpecifierPresent = true // no validation rules for ServiceName default: _ = v // ensures v is used } if !oneofMatchSpecifierPresent { err := RouteMatchValidationError{ field: "MatchSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMatchMultiError(errors) } return nil } // RouteMatchMultiError is an error wrapping multiple validation errors // returned by RouteMatch.ValidateAll() if the designated constraints aren't met. type RouteMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMatchMultiError) AllErrors() []error { return m } // RouteMatchValidationError is the validation error returned by // RouteMatch.Validate if the designated constraints aren't met. type RouteMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteMatchValidationError) ErrorName() string { return "RouteMatchValidationError" } // Error satisfies the builtin error interface func (e RouteMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteMatchValidationError{} // Validate checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RouteAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RouteActionMultiError, or // nil if none found. func (m *RouteAction) ValidateAll() error { return m.validate(true) } func (m *RouteAction) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetRateLimits() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RateLimits[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for StripServiceName for idx, item := range m.GetRequestMirrorPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: fmt.Sprintf("RequestMirrorPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *RouteAction_Cluster: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteActionValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *RouteAction_WeightedClusters: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if all { switch v := interface{}(m.GetWeightedClusters()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightedClusters()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteActionValidationError{ field: "WeightedClusters", reason: "embedded message failed validation", cause: err, } } } case *RouteAction_ClusterHeader: if v == nil { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofClusterSpecifierPresent = true if utf8.RuneCountInString(m.GetClusterHeader()) < 1 { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_RouteAction_ClusterHeader_Pattern.MatchString(m.GetClusterHeader()) { err := RouteActionValidationError{ field: "ClusterHeader", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofClusterSpecifierPresent { err := RouteActionValidationError{ field: "ClusterSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteActionMultiError(errors) } return nil } // RouteActionMultiError is an error wrapping multiple validation errors // returned by RouteAction.ValidateAll() if the designated constraints aren't met. type RouteActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteActionMultiError) AllErrors() []error { return m } // RouteActionValidationError is the validation error returned by // RouteAction.Validate if the designated constraints aren't met. type RouteActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteActionValidationError) ErrorName() string { return "RouteActionValidationError" } // Error satisfies the builtin error interface func (e RouteActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteActionValidationError{} var _RouteAction_ClusterHeader_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on WeightedCluster with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // WeightedClusterMultiError, or nil if none found. func (m *WeightedCluster) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetClusters()) < 1 { err := WeightedClusterValidationError{ field: "Clusters", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetClusters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedClusterValidationError{ field: fmt.Sprintf("Clusters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return WeightedClusterMultiError(errors) } return nil } // WeightedClusterMultiError is an error wrapping multiple validation errors // returned by WeightedCluster.ValidateAll() if the designated constraints // aren't met. type WeightedClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedClusterMultiError) AllErrors() []error { return m } // WeightedClusterValidationError is the validation error returned by // WeightedCluster.Validate if the designated constraints aren't met. type WeightedClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedClusterValidationError) ErrorName() string { return "WeightedClusterValidationError" } // Error satisfies the builtin error interface func (e WeightedClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedClusterValidationError{} // Validate checks the field values on RouteAction_RequestMirrorPolicy with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RouteAction_RequestMirrorPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RouteAction_RequestMirrorPolicy with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // RouteAction_RequestMirrorPolicyMultiError, or nil if none found. func (m *RouteAction_RequestMirrorPolicy) ValidateAll() error { return m.validate(true) } func (m *RouteAction_RequestMirrorPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteAction_RequestMirrorPolicyValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RouteAction_RequestMirrorPolicyValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RouteAction_RequestMirrorPolicyMultiError(errors) } return nil } // RouteAction_RequestMirrorPolicyMultiError is an error wrapping multiple // validation errors returned by RouteAction_RequestMirrorPolicy.ValidateAll() // if the designated constraints aren't met. type RouteAction_RequestMirrorPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteAction_RequestMirrorPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteAction_RequestMirrorPolicyMultiError) AllErrors() []error { return m } // RouteAction_RequestMirrorPolicyValidationError is the validation error // returned by RouteAction_RequestMirrorPolicy.Validate if the designated // constraints aren't met. type RouteAction_RequestMirrorPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteAction_RequestMirrorPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteAction_RequestMirrorPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteAction_RequestMirrorPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteAction_RequestMirrorPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteAction_RequestMirrorPolicyValidationError) ErrorName() string { return "RouteAction_RequestMirrorPolicyValidationError" } // Error satisfies the builtin error interface func (e RouteAction_RequestMirrorPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRouteAction_RequestMirrorPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteAction_RequestMirrorPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteAction_RequestMirrorPolicyValidationError{} // Validate checks the field values on WeightedCluster_ClusterWeight with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *WeightedCluster_ClusterWeight) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WeightedCluster_ClusterWeight with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // WeightedCluster_ClusterWeightMultiError, or nil if none found. func (m *WeightedCluster_ClusterWeight) ValidateAll() error { return m.validate(true) } func (m *WeightedCluster_ClusterWeight) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := WeightedCluster_ClusterWeightValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetWeight(); wrapper != nil { if wrapper.GetValue() < 1 { err := WeightedCluster_ClusterWeightValidationError{ field: "Weight", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WeightedCluster_ClusterWeightValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WeightedCluster_ClusterWeightMultiError(errors) } return nil } // WeightedCluster_ClusterWeightMultiError is an error wrapping multiple // validation errors returned by WeightedCluster_ClusterWeight.ValidateAll() // if the designated constraints aren't met. type WeightedCluster_ClusterWeightMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WeightedCluster_ClusterWeightMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WeightedCluster_ClusterWeightMultiError) AllErrors() []error { return m } // WeightedCluster_ClusterWeightValidationError is the validation error // returned by WeightedCluster_ClusterWeight.Validate if the designated // constraints aren't met. type WeightedCluster_ClusterWeightValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WeightedCluster_ClusterWeightValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WeightedCluster_ClusterWeightValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WeightedCluster_ClusterWeightValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WeightedCluster_ClusterWeightValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WeightedCluster_ClusterWeightValidationError) ErrorName() string { return "WeightedCluster_ClusterWeightValidationError" } // Error satisfies the builtin error interface func (e WeightedCluster_ClusterWeightValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWeightedCluster_ClusterWeight.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WeightedCluster_ClusterWeightValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WeightedCluster_ClusterWeightValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.pb.go000077500000000000000000001161021454502223200322360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.proto package thrift_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Thrift transport types supported by Envoy. type TransportType int32 const ( // For downstream connections, the Thrift proxy will attempt to determine which transport to use. // For upstream connections, the Thrift proxy will use same transport as the downstream // connection. TransportType_AUTO_TRANSPORT TransportType = 0 // The Thrift proxy will use the Thrift framed transport. TransportType_FRAMED TransportType = 1 // The Thrift proxy will use the Thrift unframed transport. TransportType_UNFRAMED TransportType = 2 // The Thrift proxy will assume the client is using the Thrift header transport. TransportType_HEADER TransportType = 3 ) // Enum value maps for TransportType. var ( TransportType_name = map[int32]string{ 0: "AUTO_TRANSPORT", 1: "FRAMED", 2: "UNFRAMED", 3: "HEADER", } TransportType_value = map[string]int32{ "AUTO_TRANSPORT": 0, "FRAMED": 1, "UNFRAMED": 2, "HEADER": 3, } ) func (x TransportType) Enum() *TransportType { p := new(TransportType) *p = x return p } func (x TransportType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TransportType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes[0].Descriptor() } func (TransportType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes[0] } func (x TransportType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TransportType.Descriptor instead. func (TransportType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{0} } // Thrift Protocol types supported by Envoy. type ProtocolType int32 const ( // For downstream connections, the Thrift proxy will attempt to determine which protocol to use. // Note that the older, non-strict (or lax) binary protocol is not included in automatic protocol // detection. For upstream connections, the Thrift proxy will use the same protocol as the // downstream connection. ProtocolType_AUTO_PROTOCOL ProtocolType = 0 // The Thrift proxy will use the Thrift binary protocol. ProtocolType_BINARY ProtocolType = 1 // The Thrift proxy will use Thrift non-strict binary protocol. ProtocolType_LAX_BINARY ProtocolType = 2 // The Thrift proxy will use the Thrift compact protocol. ProtocolType_COMPACT ProtocolType = 3 // The Thrift proxy will use the Thrift "Twitter" protocol implemented by the finagle library. // // Deprecated: Marked as deprecated in envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.proto. ProtocolType_TWITTER ProtocolType = 4 ) // Enum value maps for ProtocolType. var ( ProtocolType_name = map[int32]string{ 0: "AUTO_PROTOCOL", 1: "BINARY", 2: "LAX_BINARY", 3: "COMPACT", 4: "TWITTER", } ProtocolType_value = map[string]int32{ "AUTO_PROTOCOL": 0, "BINARY": 1, "LAX_BINARY": 2, "COMPACT": 3, "TWITTER": 4, } ) func (x ProtocolType) Enum() *ProtocolType { p := new(ProtocolType) *p = x return p } func (x ProtocolType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProtocolType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes[1].Descriptor() } func (ProtocolType) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes[1] } func (x ProtocolType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProtocolType.Descriptor instead. func (ProtocolType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{1} } type Trds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration source specifier. // In case of “api_config_source“ only aggregated “api_type“ is supported. ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` // The name of the route configuration. This allows to use different route // configurations. Tells which route configuration should be fetched from the configuration source. // Leave unspecified is also valid and means the unnamed route configuration. RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` } func (x *Trds) Reset() { *x = Trds{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Trds) String() string { return protoimpl.X.MessageStringOf(x) } func (*Trds) ProtoMessage() {} func (x *Trds) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Trds.ProtoReflect.Descriptor instead. func (*Trds) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{0} } func (x *Trds) GetConfigSource() *v3.ConfigSource { if x != nil { return x.ConfigSource } return nil } func (x *Trds) GetRouteConfigName() string { if x != nil { return x.RouteConfigName } return "" } // [#next-free-field: 11] type ThriftProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of transport that the Thrift proxy should use. Defaults to // :ref:`AUTO_TRANSPORT`. Transport TransportType `protobuf:"varint,2,opt,name=transport,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.TransportType" json:"transport,omitempty"` // Supplies the type of protocol that the Thrift proxy should use. Defaults to // :ref:`AUTO_PROTOCOL`. Protocol ProtocolType `protobuf:"varint,3,opt,name=protocol,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType" json:"protocol,omitempty"` // The human readable prefix to use when emitting statistics. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // The route table for the connection manager is static and is specified in this property. // It is invalid to define both “route_config“ and “trds“. RouteConfig *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"` // Use xDS to fetch the route configuration. It is invalid to define both “route_config“ and “trds“. Trds *Trds `protobuf:"bytes,8,opt,name=trds,proto3" json:"trds,omitempty"` // A list of individual Thrift filters that make up the filter chain for requests made to the // Thrift proxy. Order matters as the filters are processed sequentially. For backwards // compatibility, if no thrift_filters are specified, a default Thrift router filter // (“envoy.filters.thrift.router“) is used. // [#extension-category: envoy.thrift_proxy.filters] ThriftFilters []*ThriftFilter `protobuf:"bytes,5,rep,name=thrift_filters,json=thriftFilters,proto3" json:"thrift_filters,omitempty"` // If set to true, Envoy will try to skip decode data after metadata in the Thrift message. // This mode will only work if the upstream and downstream protocols are the same and the transports // are Framed or Header, and the protocol is not Twitter. Otherwise Envoy will // fallback to decode the data. PayloadPassthrough bool `protobuf:"varint,6,opt,name=payload_passthrough,json=payloadPassthrough,proto3" json:"payload_passthrough,omitempty"` // Optional maximum requests for a single downstream connection. If not specified, there is no limit. MaxRequestsPerConnection *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` // Configuration for :ref:`access logs ` // emitted by Thrift proxy. AccessLog []*v31.AccessLog `protobuf:"bytes,9,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // If set to true, Envoy will preserve the case of Thrift header keys instead of serializing them to // lower case as per the default behavior. Note that NUL, CR and LF characters will also be preserved // as mandated by the Thrift spec. // // More info: https://github.com/apache/thrift/commit/e165fa3c85d00cb984f4d9635ed60909a1266ce1. HeaderKeysPreserveCase bool `protobuf:"varint,10,opt,name=header_keys_preserve_case,json=headerKeysPreserveCase,proto3" json:"header_keys_preserve_case,omitempty"` } func (x *ThriftProxy) Reset() { *x = ThriftProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftProxy) ProtoMessage() {} func (x *ThriftProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftProxy.ProtoReflect.Descriptor instead. func (*ThriftProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{1} } func (x *ThriftProxy) GetTransport() TransportType { if x != nil { return x.Transport } return TransportType_AUTO_TRANSPORT } func (x *ThriftProxy) GetProtocol() ProtocolType { if x != nil { return x.Protocol } return ProtocolType_AUTO_PROTOCOL } func (x *ThriftProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ThriftProxy) GetRouteConfig() *RouteConfiguration { if x != nil { return x.RouteConfig } return nil } func (x *ThriftProxy) GetTrds() *Trds { if x != nil { return x.Trds } return nil } func (x *ThriftProxy) GetThriftFilters() []*ThriftFilter { if x != nil { return x.ThriftFilters } return nil } func (x *ThriftProxy) GetPayloadPassthrough() bool { if x != nil { return x.PayloadPassthrough } return false } func (x *ThriftProxy) GetMaxRequestsPerConnection() *wrappers.UInt32Value { if x != nil { return x.MaxRequestsPerConnection } return nil } func (x *ThriftProxy) GetAccessLog() []*v31.AccessLog { if x != nil { return x.AccessLog } return nil } func (x *ThriftProxy) GetHeaderKeysPreserveCase() bool { if x != nil { return x.HeaderKeysPreserveCase } return false } // ThriftFilter configures a Thrift filter. type ThriftFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter to instantiate. The name must match a supported // filter. The built-in filters are: // // [#comment:TODO(zuercher): Auto generate the following list] // * :ref:`envoy.filters.thrift.router ` // * :ref:`envoy.filters.thrift.rate_limit ` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter specific configuration which depends on the filter being instantiated. See the supported // filters for further documentation. // // Types that are assignable to ConfigType: // // *ThriftFilter_TypedConfig ConfigType isThriftFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *ThriftFilter) Reset() { *x = ThriftFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftFilter) ProtoMessage() {} func (x *ThriftFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftFilter.ProtoReflect.Descriptor instead. func (*ThriftFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{2} } func (x *ThriftFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *ThriftFilter) GetConfigType() isThriftFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *ThriftFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*ThriftFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isThriftFilter_ConfigType interface { isThriftFilter_ConfigType() } type ThriftFilter_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*ThriftFilter_TypedConfig) isThriftFilter_ConfigType() {} // ThriftProtocolOptions specifies Thrift upstream protocol options. This object is used in // in // :ref:`typed_extension_protocol_options`, // keyed by the name “envoy.filters.network.thrift_proxy“. type ThriftProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies the type of transport that the Thrift proxy should use for upstream connections. // Selecting // :ref:`AUTO_TRANSPORT`, // which is the default, causes the proxy to use the same transport as the downstream connection. Transport TransportType `protobuf:"varint,1,opt,name=transport,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.TransportType" json:"transport,omitempty"` // Supplies the type of protocol that the Thrift proxy should use for upstream connections. // Selecting // :ref:`AUTO_PROTOCOL`, // which is the default, causes the proxy to use the same protocol as the downstream connection. Protocol ProtocolType `protobuf:"varint,2,opt,name=protocol,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType" json:"protocol,omitempty"` } func (x *ThriftProtocolOptions) Reset() { *x = ThriftProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ThriftProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*ThriftProtocolOptions) ProtoMessage() {} func (x *ThriftProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ThriftProtocolOptions.ProtoReflect.Descriptor instead. func (*ThriftProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP(), []int{3} } func (x *ThriftProtocolOptions) GetTransport() TransportType { if x != nil { return x.Transport } return TransportType_AUTO_TRANSPORT } func (x *ThriftProtocolOptions) GetProtocol() ProtocolType { if x != nil { return x.Protocol } return ProtocolType_AUTO_PROTOCOL } var File_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x04, 0x54, 0x72, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x07, 0x0a, 0x0b, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x67, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x80, 0x01, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x04, 0x74, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x64, 0x73, 0x42, 0x17, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x11, 0x12, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x04, 0x74, 0x72, 0x64, 0x73, 0x12, 0x65, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x5b, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x19, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x43, 0x61, 0x73, 0x65, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0xca, 0x01, 0x0a, 0x0c, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x45, 0x9a, 0xc5, 0x88, 0x1e, 0x40, 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb6, 0x02, 0x0a, 0x15, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x67, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x3a, 0x4e, 0x9a, 0xc5, 0x88, 0x1e, 0x49, 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x49, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x03, 0x2a, 0x64, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x41, 0x58, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x57, 0x49, 0x54, 0x54, 0x45, 0x52, 0x10, 0x04, 0x1a, 0x0b, 0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30, 0x08, 0x01, 0x42, 0xc4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescData = file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_goTypes = []interface{}{ (TransportType)(0), // 0: envoy.extensions.filters.network.thrift_proxy.v3.TransportType (ProtocolType)(0), // 1: envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType (*Trds)(nil), // 2: envoy.extensions.filters.network.thrift_proxy.v3.Trds (*ThriftProxy)(nil), // 3: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy (*ThriftFilter)(nil), // 4: envoy.extensions.filters.network.thrift_proxy.v3.ThriftFilter (*ThriftProtocolOptions)(nil), // 5: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProtocolOptions (*v3.ConfigSource)(nil), // 6: envoy.config.core.v3.ConfigSource (*RouteConfiguration)(nil), // 7: envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value (*v31.AccessLog)(nil), // 9: envoy.config.accesslog.v3.AccessLog (*any1.Any)(nil), // 10: google.protobuf.Any } var file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_depIdxs = []int32{ 6, // 0: envoy.extensions.filters.network.thrift_proxy.v3.Trds.config_source:type_name -> envoy.config.core.v3.ConfigSource 0, // 1: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.transport:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.TransportType 1, // 2: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.protocol:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType 7, // 3: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.route_config:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration 2, // 4: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.trds:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.Trds 4, // 5: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.thrift_filters:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.ThriftFilter 8, // 6: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.max_requests_per_connection:type_name -> google.protobuf.UInt32Value 9, // 7: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 10, // 8: envoy.extensions.filters.network.thrift_proxy.v3.ThriftFilter.typed_config:type_name -> google.protobuf.Any 0, // 9: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProtocolOptions.transport:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.TransportType 1, // 10: envoy.extensions.filters.network.thrift_proxy.v3.ThriftProtocolOptions.protocol:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType 11, // [11:11] is the sub-list for method output_type 11, // [11:11] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_init() } func file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_init() { if File_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto != nil { return } file_envoy_extensions_filters_network_thrift_proxy_v3_route_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Trds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ThriftProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ThriftFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDesc, NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto = out.File file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_thrift_proxy_v3_thrift_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.pb.validate.go000077500000000000000000000462721454502223200340400ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.proto package thrift_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Trds with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Trds) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Trds with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TrdsMultiError, or nil if none found. func (m *Trds) ValidateAll() error { return m.validate(true) } func (m *Trds) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetConfigSource() == nil { err := TrdsValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConfigSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfigSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TrdsValidationError{ field: "ConfigSource", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RouteConfigName if len(errors) > 0 { return TrdsMultiError(errors) } return nil } // TrdsMultiError is an error wrapping multiple validation errors returned by // Trds.ValidateAll() if the designated constraints aren't met. type TrdsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TrdsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TrdsMultiError) AllErrors() []error { return m } // TrdsValidationError is the validation error returned by Trds.Validate if the // designated constraints aren't met. type TrdsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TrdsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TrdsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TrdsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TrdsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TrdsValidationError) ErrorName() string { return "TrdsValidationError" } // Error satisfies the builtin error interface func (e TrdsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTrds.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TrdsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TrdsValidationError{} // Validate checks the field values on ThriftProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ThriftProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftProxy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ThriftProxyMultiError, or // nil if none found. func (m *ThriftProxy) ValidateAll() error { return m.validate(true) } func (m *ThriftProxy) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TransportType_name[int32(m.GetTransport())]; !ok { err := ThriftProxyValidationError{ field: "Transport", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocol())]; !ok { err := ThriftProxyValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := ThriftProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTrds()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "Trds", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "Trds", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrds()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: "Trds", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetThriftFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: fmt.Sprintf("ThriftFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for PayloadPassthrough if all { switch v := interface{}(m.GetMaxRequestsPerConnection()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxRequestsPerConnection()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: "MaxRequestsPerConnection", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftProxyValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for HeaderKeysPreserveCase if len(errors) > 0 { return ThriftProxyMultiError(errors) } return nil } // ThriftProxyMultiError is an error wrapping multiple validation errors // returned by ThriftProxy.ValidateAll() if the designated constraints aren't met. type ThriftProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftProxyMultiError) AllErrors() []error { return m } // ThriftProxyValidationError is the validation error returned by // ThriftProxy.Validate if the designated constraints aren't met. type ThriftProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftProxyValidationError) ErrorName() string { return "ThriftProxyValidationError" } // Error satisfies the builtin error interface func (e ThriftProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftProxyValidationError{} // Validate checks the field values on ThriftFilter with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ThriftFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftFilter with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ThriftFilterMultiError, or // nil if none found. func (m *ThriftFilter) ValidateAll() error { return m.validate(true) } func (m *ThriftFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ThriftFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *ThriftFilter_TypedConfig: if v == nil { err := ThriftFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ThriftFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return ThriftFilterMultiError(errors) } return nil } // ThriftFilterMultiError is an error wrapping multiple validation errors // returned by ThriftFilter.ValidateAll() if the designated constraints aren't met. type ThriftFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftFilterMultiError) AllErrors() []error { return m } // ThriftFilterValidationError is the validation error returned by // ThriftFilter.Validate if the designated constraints aren't met. type ThriftFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftFilterValidationError) ErrorName() string { return "ThriftFilterValidationError" } // Error satisfies the builtin error interface func (e ThriftFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftFilterValidationError{} // Validate checks the field values on ThriftProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ThriftProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ThriftProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ThriftProtocolOptionsMultiError, or nil if none found. func (m *ThriftProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *ThriftProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TransportType_name[int32(m.GetTransport())]; !ok { err := ThriftProtocolOptionsValidationError{ field: "Transport", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := ProtocolType_name[int32(m.GetProtocol())]; !ok { err := ThriftProtocolOptionsValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ThriftProtocolOptionsMultiError(errors) } return nil } // ThriftProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by ThriftProtocolOptions.ValidateAll() if the designated // constraints aren't met. type ThriftProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftProtocolOptionsMultiError) AllErrors() []error { return m } // ThriftProtocolOptionsValidationError is the validation error returned by // ThriftProtocolOptions.Validate if the designated constraints aren't met. type ThriftProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftProtocolOptionsValidationError) ErrorName() string { return "ThriftProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e ThriftProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThriftProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/wasm/000077500000000000000000000000001454502223200244205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/wasm/v3/000077500000000000000000000000001454502223200247505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/wasm/v3/wasm.pb.go000077500000000000000000000164731454502223200266640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/wasm/v3/wasm.proto package wasmv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Wasm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // General Plugin configuration. Config *v3.PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *Wasm) Reset() { *x = Wasm{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_wasm_v3_wasm_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Wasm) String() string { return protoimpl.X.MessageStringOf(x) } func (*Wasm) ProtoMessage() {} func (x *Wasm) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_wasm_v3_wasm_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Wasm.ProtoReflect.Descriptor instead. func (*Wasm) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescGZIP(), []int{0} } func (x *Wasm) GetConfig() *v3.PluginConfig { if x != nil { return x.Config } return nil } var File_envoy_extensions_filters_network_wasm_v3_wasm_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x04, 0x57, 0x61, 0x73, 0x6d, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x57, 0x61, 0x73, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x73, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescData = file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDesc ) func file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescData) }) return file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDescData } var file_envoy_extensions_filters_network_wasm_v3_wasm_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_network_wasm_v3_wasm_proto_goTypes = []interface{}{ (*Wasm)(nil), // 0: envoy.extensions.filters.network.wasm.v3.Wasm (*v3.PluginConfig)(nil), // 1: envoy.extensions.wasm.v3.PluginConfig } var file_envoy_extensions_filters_network_wasm_v3_wasm_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.network.wasm.v3.Wasm.config:type_name -> envoy.extensions.wasm.v3.PluginConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_wasm_v3_wasm_proto_init() } func file_envoy_extensions_filters_network_wasm_v3_wasm_proto_init() { if File_envoy_extensions_filters_network_wasm_v3_wasm_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_wasm_v3_wasm_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Wasm); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_wasm_v3_wasm_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_wasm_v3_wasm_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_network_wasm_v3_wasm_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_wasm_v3_wasm_proto = out.File file_envoy_extensions_filters_network_wasm_v3_wasm_proto_rawDesc = nil file_envoy_extensions_filters_network_wasm_v3_wasm_proto_goTypes = nil file_envoy_extensions_filters_network_wasm_v3_wasm_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/network/wasm/v3/wasm.pb.validate.go000077500000000000000000000074211454502223200304450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/wasm/v3/wasm.proto package wasmv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Wasm with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Wasm) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Wasm with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in WasmMultiError, or nil if none found. func (m *Wasm) ValidateAll() error { return m.validate(true) } func (m *Wasm) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WasmMultiError(errors) } return nil } // WasmMultiError is an error wrapping multiple validation errors returned by // Wasm.ValidateAll() if the designated constraints aren't met. type WasmMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WasmMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WasmMultiError) AllErrors() []error { return m } // WasmValidationError is the validation error returned by Wasm.Validate if the // designated constraints aren't met. type WasmValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WasmValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WasmValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WasmValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WasmValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WasmValidationError) ErrorName() string { return "WasmValidationError" } // Error satisfies the builtin error interface func (e WasmValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWasm.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WasmValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WasmValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/network/zookeeper_proxy/000077500000000000000000000000001454502223200267155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/zookeeper_proxy/v3/000077500000000000000000000000001454502223200272455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/zookeeper_proxy/v3/zookeeper_proxy.pb.go000077500000000000000000000733071454502223200334550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/network/zookeeper_proxy/v3/zookeeper_proxy.proto package zookeeper_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LatencyThresholdOverride_Opcode int32 const ( LatencyThresholdOverride_Connect LatencyThresholdOverride_Opcode = 0 LatencyThresholdOverride_Create LatencyThresholdOverride_Opcode = 1 LatencyThresholdOverride_Delete LatencyThresholdOverride_Opcode = 2 LatencyThresholdOverride_Exists LatencyThresholdOverride_Opcode = 3 LatencyThresholdOverride_GetData LatencyThresholdOverride_Opcode = 4 LatencyThresholdOverride_SetData LatencyThresholdOverride_Opcode = 5 LatencyThresholdOverride_GetAcl LatencyThresholdOverride_Opcode = 6 LatencyThresholdOverride_SetAcl LatencyThresholdOverride_Opcode = 7 LatencyThresholdOverride_GetChildren LatencyThresholdOverride_Opcode = 8 LatencyThresholdOverride_Sync LatencyThresholdOverride_Opcode = 9 LatencyThresholdOverride_Ping LatencyThresholdOverride_Opcode = 10 LatencyThresholdOverride_GetChildren2 LatencyThresholdOverride_Opcode = 11 LatencyThresholdOverride_Check LatencyThresholdOverride_Opcode = 12 LatencyThresholdOverride_Multi LatencyThresholdOverride_Opcode = 13 LatencyThresholdOverride_Create2 LatencyThresholdOverride_Opcode = 14 LatencyThresholdOverride_Reconfig LatencyThresholdOverride_Opcode = 15 LatencyThresholdOverride_CheckWatches LatencyThresholdOverride_Opcode = 16 LatencyThresholdOverride_RemoveWatches LatencyThresholdOverride_Opcode = 17 LatencyThresholdOverride_CreateContainer LatencyThresholdOverride_Opcode = 18 LatencyThresholdOverride_CreateTtl LatencyThresholdOverride_Opcode = 19 LatencyThresholdOverride_Close LatencyThresholdOverride_Opcode = 20 LatencyThresholdOverride_SetAuth LatencyThresholdOverride_Opcode = 21 LatencyThresholdOverride_SetWatches LatencyThresholdOverride_Opcode = 22 LatencyThresholdOverride_GetEphemerals LatencyThresholdOverride_Opcode = 23 LatencyThresholdOverride_GetAllChildrenNumber LatencyThresholdOverride_Opcode = 24 LatencyThresholdOverride_SetWatches2 LatencyThresholdOverride_Opcode = 25 LatencyThresholdOverride_AddWatch LatencyThresholdOverride_Opcode = 26 ) // Enum value maps for LatencyThresholdOverride_Opcode. var ( LatencyThresholdOverride_Opcode_name = map[int32]string{ 0: "Connect", 1: "Create", 2: "Delete", 3: "Exists", 4: "GetData", 5: "SetData", 6: "GetAcl", 7: "SetAcl", 8: "GetChildren", 9: "Sync", 10: "Ping", 11: "GetChildren2", 12: "Check", 13: "Multi", 14: "Create2", 15: "Reconfig", 16: "CheckWatches", 17: "RemoveWatches", 18: "CreateContainer", 19: "CreateTtl", 20: "Close", 21: "SetAuth", 22: "SetWatches", 23: "GetEphemerals", 24: "GetAllChildrenNumber", 25: "SetWatches2", 26: "AddWatch", } LatencyThresholdOverride_Opcode_value = map[string]int32{ "Connect": 0, "Create": 1, "Delete": 2, "Exists": 3, "GetData": 4, "SetData": 5, "GetAcl": 6, "SetAcl": 7, "GetChildren": 8, "Sync": 9, "Ping": 10, "GetChildren2": 11, "Check": 12, "Multi": 13, "Create2": 14, "Reconfig": 15, "CheckWatches": 16, "RemoveWatches": 17, "CreateContainer": 18, "CreateTtl": 19, "Close": 20, "SetAuth": 21, "SetWatches": 22, "GetEphemerals": 23, "GetAllChildrenNumber": 24, "SetWatches2": 25, "AddWatch": 26, } ) func (x LatencyThresholdOverride_Opcode) Enum() *LatencyThresholdOverride_Opcode { p := new(LatencyThresholdOverride_Opcode) *p = x return p } func (x LatencyThresholdOverride_Opcode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (LatencyThresholdOverride_Opcode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_enumTypes[0].Descriptor() } func (LatencyThresholdOverride_Opcode) Type() protoreflect.EnumType { return &file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_enumTypes[0] } func (x LatencyThresholdOverride_Opcode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use LatencyThresholdOverride_Opcode.Descriptor instead. func (LatencyThresholdOverride_Opcode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescGZIP(), []int{1, 0} } // [#next-free-field: 10] type ZooKeeperProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The human readable prefix to use when emitting :ref:`statistics // `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // [#not-implemented-hide:] The optional path to use for writing ZooKeeper access logs. // If the access log field is empty, access logs will not be written. AccessLog string `protobuf:"bytes,2,opt,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Messages — requests, responses and events — that are bigger than this value will // be ignored. If it is not set, the default value is 1Mb. // // The value here should match the jute.maxbuffer property in your cluster configuration: // // https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#Unsafe+Options // // if that is set. If it isn't, ZooKeeper's default is also 1Mb. MaxPacketBytes *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_packet_bytes,json=maxPacketBytes,proto3" json:"max_packet_bytes,omitempty"` // Whether to emit latency threshold metrics. If not set, it defaults to false. // If false, setting “default_latency_threshold“ and “latency_threshold_overrides“ will not have effect. EnableLatencyThresholdMetrics bool `protobuf:"varint,4,opt,name=enable_latency_threshold_metrics,json=enableLatencyThresholdMetrics,proto3" json:"enable_latency_threshold_metrics,omitempty"` // The default latency threshold to decide the fast/slow responses and emit metrics (used for error budget calculation). // // https://sre.google/workbook/implementing-slos/ // // If it is not set, the default value is 100 milliseconds. DefaultLatencyThreshold *duration.Duration `protobuf:"bytes,5,opt,name=default_latency_threshold,json=defaultLatencyThreshold,proto3" json:"default_latency_threshold,omitempty"` // List of latency threshold overrides for opcodes. // If the threshold override of one opcode is not set, it will fallback to the default latency // threshold. // Specifying latency threshold overrides multiple times for one opcode is not allowed. LatencyThresholdOverrides []*LatencyThresholdOverride `protobuf:"bytes,6,rep,name=latency_threshold_overrides,json=latencyThresholdOverrides,proto3" json:"latency_threshold_overrides,omitempty"` // Whether to emit per opcode request bytes metrics. If not set, it defaults to false. EnablePerOpcodeRequestBytesMetrics bool `protobuf:"varint,7,opt,name=enable_per_opcode_request_bytes_metrics,json=enablePerOpcodeRequestBytesMetrics,proto3" json:"enable_per_opcode_request_bytes_metrics,omitempty"` // Whether to emit per opcode response bytes metrics. If not set, it defaults to false. EnablePerOpcodeResponseBytesMetrics bool `protobuf:"varint,8,opt,name=enable_per_opcode_response_bytes_metrics,json=enablePerOpcodeResponseBytesMetrics,proto3" json:"enable_per_opcode_response_bytes_metrics,omitempty"` // [#not-implemented-hide:] Whether to emit per opcode decoder error metrics. If not set, it defaults to false. EnablePerOpcodeDecoderErrorMetrics bool `protobuf:"varint,9,opt,name=enable_per_opcode_decoder_error_metrics,json=enablePerOpcodeDecoderErrorMetrics,proto3" json:"enable_per_opcode_decoder_error_metrics,omitempty"` } func (x *ZooKeeperProxy) Reset() { *x = ZooKeeperProxy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZooKeeperProxy) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZooKeeperProxy) ProtoMessage() {} func (x *ZooKeeperProxy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ZooKeeperProxy.ProtoReflect.Descriptor instead. func (*ZooKeeperProxy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescGZIP(), []int{0} } func (x *ZooKeeperProxy) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *ZooKeeperProxy) GetAccessLog() string { if x != nil { return x.AccessLog } return "" } func (x *ZooKeeperProxy) GetMaxPacketBytes() *wrappers.UInt32Value { if x != nil { return x.MaxPacketBytes } return nil } func (x *ZooKeeperProxy) GetEnableLatencyThresholdMetrics() bool { if x != nil { return x.EnableLatencyThresholdMetrics } return false } func (x *ZooKeeperProxy) GetDefaultLatencyThreshold() *duration.Duration { if x != nil { return x.DefaultLatencyThreshold } return nil } func (x *ZooKeeperProxy) GetLatencyThresholdOverrides() []*LatencyThresholdOverride { if x != nil { return x.LatencyThresholdOverrides } return nil } func (x *ZooKeeperProxy) GetEnablePerOpcodeRequestBytesMetrics() bool { if x != nil { return x.EnablePerOpcodeRequestBytesMetrics } return false } func (x *ZooKeeperProxy) GetEnablePerOpcodeResponseBytesMetrics() bool { if x != nil { return x.EnablePerOpcodeResponseBytesMetrics } return false } func (x *ZooKeeperProxy) GetEnablePerOpcodeDecoderErrorMetrics() bool { if x != nil { return x.EnablePerOpcodeDecoderErrorMetrics } return false } type LatencyThresholdOverride struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The ZooKeeper opcodes. Can be found as part of the ZooKeeper source code: // // https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/ZooDefs.java Opcode LatencyThresholdOverride_Opcode `protobuf:"varint,1,opt,name=opcode,proto3,enum=envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride_Opcode" json:"opcode,omitempty"` // The latency threshold override of certain opcode. Threshold *duration.Duration `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"` } func (x *LatencyThresholdOverride) Reset() { *x = LatencyThresholdOverride{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LatencyThresholdOverride) String() string { return protoimpl.X.MessageStringOf(x) } func (*LatencyThresholdOverride) ProtoMessage() {} func (x *LatencyThresholdOverride) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LatencyThresholdOverride.ProtoReflect.Descriptor instead. func (*LatencyThresholdOverride) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescGZIP(), []int{1} } func (x *LatencyThresholdOverride) GetOpcode() LatencyThresholdOverride_Opcode { if x != nil { return x.Opcode } return LatencyThresholdOverride_Connect } func (x *LatencyThresholdOverride) GetThreshold() *duration.Duration { if x != nil { return x.Threshold } return nil } var File_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDesc = []byte{ 0x0a, 0x49, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x06, 0x0a, 0x0e, 0x5a, 0x6f, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x63, 0x0a, 0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x8d, 0x01, 0x0a, 0x1b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x19, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x27, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x4f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x55, 0x0a, 0x28, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x4f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x53, 0x0a, 0x27, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x4f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x3a, 0x4a, 0x9a, 0xc5, 0x88, 0x1e, 0x45, 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0xee, 0x04, 0x0a, 0x18, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x76, 0x0a, 0x06, 0x6f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x4f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x6f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0xaa, 0x01, 0x08, 0x08, 0x01, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x90, 0x03, 0x0a, 0x06, 0x4f, 0x70, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x09, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x32, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x32, 0x10, 0x0e, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x0f, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x10, 0x11, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x74, 0x6c, 0x10, 0x13, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x10, 0x14, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x10, 0x16, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x10, 0x17, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x18, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x32, 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x10, 0x1a, 0x42, 0xd0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x5a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x7a, 0x6f, 0x6f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescData = file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDesc ) func file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDescData } var file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_goTypes = []interface{}{ (LatencyThresholdOverride_Opcode)(0), // 0: envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.Opcode (*ZooKeeperProxy)(nil), // 1: envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy (*LatencyThresholdOverride)(nil), // 2: envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value (*duration.Duration)(nil), // 4: google.protobuf.Duration } var file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy.max_packet_bytes:type_name -> google.protobuf.UInt32Value 4, // 1: envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy.default_latency_threshold:type_name -> google.protobuf.Duration 2, // 2: envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy.latency_threshold_overrides:type_name -> envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride 0, // 3: envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.opcode:type_name -> envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.Opcode 4, // 4: envoy.extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.threshold:type_name -> google.protobuf.Duration 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_init() } func file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_init() { if File_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZooKeeperProxy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LatencyThresholdOverride); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_depIdxs, EnumInfos: file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_enumTypes, MessageInfos: file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto = out.File file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_rawDesc = nil file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_goTypes = nil file_envoy_extensions_filters_network_zookeeper_proxy_v3_zookeeper_proxy_proto_depIdxs = nil } zookeeper_proxy.pb.validate.go000077500000000000000000000244441454502223200351640ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/network/zookeeper_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/network/zookeeper_proxy/v3/zookeeper_proxy.proto package zookeeper_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ZooKeeperProxy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ZooKeeperProxy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ZooKeeperProxy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ZooKeeperProxyMultiError, // or nil if none found. func (m *ZooKeeperProxy) ValidateAll() error { return m.validate(true) } func (m *ZooKeeperProxy) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := ZooKeeperProxyValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for AccessLog if all { switch v := interface{}(m.GetMaxPacketBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxPacketBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZooKeeperProxyValidationError{ field: "MaxPacketBytes", reason: "embedded message failed validation", cause: err, } } } // no validation rules for EnableLatencyThresholdMetrics if d := m.GetDefaultLatencyThreshold(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ZooKeeperProxyValidationError{ field: "DefaultLatencyThreshold", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := ZooKeeperProxyValidationError{ field: "DefaultLatencyThreshold", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } for idx, item := range m.GetLatencyThresholdOverrides() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: fmt.Sprintf("LatencyThresholdOverrides[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ZooKeeperProxyValidationError{ field: fmt.Sprintf("LatencyThresholdOverrides[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ZooKeeperProxyValidationError{ field: fmt.Sprintf("LatencyThresholdOverrides[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for EnablePerOpcodeRequestBytesMetrics // no validation rules for EnablePerOpcodeResponseBytesMetrics // no validation rules for EnablePerOpcodeDecoderErrorMetrics if len(errors) > 0 { return ZooKeeperProxyMultiError(errors) } return nil } // ZooKeeperProxyMultiError is an error wrapping multiple validation errors // returned by ZooKeeperProxy.ValidateAll() if the designated constraints // aren't met. type ZooKeeperProxyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ZooKeeperProxyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ZooKeeperProxyMultiError) AllErrors() []error { return m } // ZooKeeperProxyValidationError is the validation error returned by // ZooKeeperProxy.Validate if the designated constraints aren't met. type ZooKeeperProxyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ZooKeeperProxyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ZooKeeperProxyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ZooKeeperProxyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ZooKeeperProxyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ZooKeeperProxyValidationError) ErrorName() string { return "ZooKeeperProxyValidationError" } // Error satisfies the builtin error interface func (e ZooKeeperProxyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sZooKeeperProxy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ZooKeeperProxyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ZooKeeperProxyValidationError{} // Validate checks the field values on LatencyThresholdOverride with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LatencyThresholdOverride) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LatencyThresholdOverride with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LatencyThresholdOverrideMultiError, or nil if none found. func (m *LatencyThresholdOverride) ValidateAll() error { return m.validate(true) } func (m *LatencyThresholdOverride) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := LatencyThresholdOverride_Opcode_name[int32(m.GetOpcode())]; !ok { err := LatencyThresholdOverrideValidationError{ field: "Opcode", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if m.GetThreshold() == nil { err := LatencyThresholdOverrideValidationError{ field: "Threshold", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetThreshold(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = LatencyThresholdOverrideValidationError{ field: "Threshold", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := LatencyThresholdOverrideValidationError{ field: "Threshold", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return LatencyThresholdOverrideMultiError(errors) } return nil } // LatencyThresholdOverrideMultiError is an error wrapping multiple validation // errors returned by LatencyThresholdOverride.ValidateAll() if the designated // constraints aren't met. type LatencyThresholdOverrideMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LatencyThresholdOverrideMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LatencyThresholdOverrideMultiError) AllErrors() []error { return m } // LatencyThresholdOverrideValidationError is the validation error returned by // LatencyThresholdOverride.Validate if the designated constraints aren't met. type LatencyThresholdOverrideValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LatencyThresholdOverrideValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LatencyThresholdOverrideValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LatencyThresholdOverrideValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LatencyThresholdOverrideValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LatencyThresholdOverrideValidationError) ErrorName() string { return "LatencyThresholdOverrideValidationError" } // Error satisfies the builtin error interface func (e LatencyThresholdOverrideValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLatencyThresholdOverride.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LatencyThresholdOverrideValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LatencyThresholdOverrideValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/udp/000077500000000000000000000000001454502223200225505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/dns_filter/000077500000000000000000000000001454502223200247015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/dns_filter/v3/000077500000000000000000000000001454502223200252315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/dns_filter/v3/dns_filter.pb.go000077500000000000000000000663061454502223200303270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto package dns_filterv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/data/dns/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the DNS filter. type DnsFilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The stat prefix used when emitting DNS filter statistics StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Server context configuration contains the data that the filter uses to respond // to DNS requests. ServerConfig *DnsFilterConfig_ServerContextConfig `protobuf:"bytes,2,opt,name=server_config,json=serverConfig,proto3" json:"server_config,omitempty"` // Client context configuration controls Envoy's behavior when it must use external // resolvers to answer a query. This object is optional and if omitted instructs // the filter to resolve queries from the data in the server_config ClientConfig *DnsFilterConfig_ClientContextConfig `protobuf:"bytes,3,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"` } func (x *DnsFilterConfig) Reset() { *x = DnsFilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsFilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsFilterConfig) ProtoMessage() {} func (x *DnsFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsFilterConfig.ProtoReflect.Descriptor instead. func (*DnsFilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescGZIP(), []int{0} } func (x *DnsFilterConfig) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (x *DnsFilterConfig) GetServerConfig() *DnsFilterConfig_ServerContextConfig { if x != nil { return x.ServerConfig } return nil } func (x *DnsFilterConfig) GetClientConfig() *DnsFilterConfig_ClientContextConfig { if x != nil { return x.ClientConfig } return nil } // This message contains the configuration for the DNS Filter operating // in a server context. This message will contain the virtual hosts and // associated addresses with which Envoy will respond to queries type DnsFilterConfig_ServerContextConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ConfigSource: // // *DnsFilterConfig_ServerContextConfig_InlineDnsTable // *DnsFilterConfig_ServerContextConfig_ExternalDnsTable ConfigSource isDnsFilterConfig_ServerContextConfig_ConfigSource `protobuf_oneof:"config_source"` } func (x *DnsFilterConfig_ServerContextConfig) Reset() { *x = DnsFilterConfig_ServerContextConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsFilterConfig_ServerContextConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsFilterConfig_ServerContextConfig) ProtoMessage() {} func (x *DnsFilterConfig_ServerContextConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsFilterConfig_ServerContextConfig.ProtoReflect.Descriptor instead. func (*DnsFilterConfig_ServerContextConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescGZIP(), []int{0, 0} } func (m *DnsFilterConfig_ServerContextConfig) GetConfigSource() isDnsFilterConfig_ServerContextConfig_ConfigSource { if m != nil { return m.ConfigSource } return nil } func (x *DnsFilterConfig_ServerContextConfig) GetInlineDnsTable() *v3.DnsTable { if x, ok := x.GetConfigSource().(*DnsFilterConfig_ServerContextConfig_InlineDnsTable); ok { return x.InlineDnsTable } return nil } func (x *DnsFilterConfig_ServerContextConfig) GetExternalDnsTable() *v31.DataSource { if x, ok := x.GetConfigSource().(*DnsFilterConfig_ServerContextConfig_ExternalDnsTable); ok { return x.ExternalDnsTable } return nil } type isDnsFilterConfig_ServerContextConfig_ConfigSource interface { isDnsFilterConfig_ServerContextConfig_ConfigSource() } type DnsFilterConfig_ServerContextConfig_InlineDnsTable struct { // Load the configuration specified from the control plane InlineDnsTable *v3.DnsTable `protobuf:"bytes,1,opt,name=inline_dns_table,json=inlineDnsTable,proto3,oneof"` } type DnsFilterConfig_ServerContextConfig_ExternalDnsTable struct { // Seed the filter configuration from an external path. This source // is a yaml formatted file that contains the DnsTable driving Envoy's // responses to DNS queries ExternalDnsTable *v31.DataSource `protobuf:"bytes,2,opt,name=external_dns_table,json=externalDnsTable,proto3,oneof"` } func (*DnsFilterConfig_ServerContextConfig_InlineDnsTable) isDnsFilterConfig_ServerContextConfig_ConfigSource() { } func (*DnsFilterConfig_ServerContextConfig_ExternalDnsTable) isDnsFilterConfig_ServerContextConfig_ConfigSource() { } // This message contains the configuration for the DNS Filter operating // in a client context. This message will contain the timeouts, retry, // and forwarding configuration for Envoy to make DNS requests to other // resolvers // // [#next-free-field: 6] type DnsFilterConfig_ClientContextConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sets the maximum time we will wait for the upstream query to complete // We allow 5s for the upstream resolution to complete, so the minimum // value here is 1. Note that the total latency for a failed query is the // number of retries multiplied by the resolver_timeout. ResolverTimeout *duration.Duration `protobuf:"bytes,1,opt,name=resolver_timeout,json=resolverTimeout,proto3" json:"resolver_timeout,omitempty"` // This field was used for `dns_resolution_config` in Envoy 1.19.0 and // 1.19.1. // Control planes that need to set this field for Envoy 1.19.0 and // 1.19.1 clients should fork the protobufs and change the field type // to `DnsResolutionConfig`. // Control planes that need to simultaneously support Envoy 1.18.x and // Envoy 1.19.x should avoid Envoy 1.19.0 and 1.19.1. // // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto. UpstreamResolvers []*v31.Address `protobuf:"bytes,2,rep,name=upstream_resolvers,json=upstreamResolvers,proto3" json:"upstream_resolvers,omitempty"` // DNS resolution configuration which includes the underlying dns resolver addresses and options. // This field is deprecated in favor of // :ref:`typed_dns_resolver_config `. // // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto. DnsResolutionConfig *v31.DnsResolutionConfig `protobuf:"bytes,5,opt,name=dns_resolution_config,json=dnsResolutionConfig,proto3" json:"dns_resolution_config,omitempty"` // DNS resolver type configuration extension. This extension can be used to configure c-ares, apple, // or any other DNS resolver types and the related parameters. // For example, an object of // :ref:`CaresDnsResolverConfig ` // can be packed into this “typed_dns_resolver_config“. This configuration replaces the // :ref:`dns_resolution_config ` // configuration. // During the transition period when both “dns_resolution_config“ and “typed_dns_resolver_config“ exists, // when “typed_dns_resolver_config“ is in place, Envoy will use it and ignore “dns_resolution_config“. // When “typed_dns_resolver_config“ is missing, the default behavior is in place. // [#extension-category: envoy.network.dns_resolver] TypedDnsResolverConfig *v31.TypedExtensionConfig `protobuf:"bytes,4,opt,name=typed_dns_resolver_config,json=typedDnsResolverConfig,proto3" json:"typed_dns_resolver_config,omitempty"` // Controls how many outstanding external lookup contexts the filter tracks. // The context structure allows the filter to respond to every query even if the external // resolution times out or is otherwise unsuccessful MaxPendingLookups uint64 `protobuf:"varint,3,opt,name=max_pending_lookups,json=maxPendingLookups,proto3" json:"max_pending_lookups,omitempty"` } func (x *DnsFilterConfig_ClientContextConfig) Reset() { *x = DnsFilterConfig_ClientContextConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsFilterConfig_ClientContextConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsFilterConfig_ClientContextConfig) ProtoMessage() {} func (x *DnsFilterConfig_ClientContextConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsFilterConfig_ClientContextConfig.ProtoReflect.Descriptor instead. func (*DnsFilterConfig_ClientContextConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescGZIP(), []int{0, 1} } func (x *DnsFilterConfig_ClientContextConfig) GetResolverTimeout() *duration.Duration { if x != nil { return x.ResolverTimeout } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto. func (x *DnsFilterConfig_ClientContextConfig) GetUpstreamResolvers() []*v31.Address { if x != nil { return x.UpstreamResolvers } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto. func (x *DnsFilterConfig_ClientContextConfig) GetDnsResolutionConfig() *v31.DnsResolutionConfig { if x != nil { return x.DnsResolutionConfig } return nil } func (x *DnsFilterConfig_ClientContextConfig) GetTypedDnsResolverConfig() *v31.TypedExtensionConfig { if x != nil { return x.TypedDnsResolverConfig } return nil } func (x *DnsFilterConfig_ClientContextConfig) GetMaxPendingLookups() uint64 { if x != nil { return x.MaxPendingLookups } return 0 } var File_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x07, 0x0a, 0x0f, 0x44, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x74, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc6, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x10, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x50, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6e, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x14, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xce, 0x03, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x32, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x13, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x19, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x64, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x42, 0xb4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x44, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescOnce sync.Once file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescData = file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDesc ) func file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescData) }) return file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDescData } var file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_goTypes = []interface{}{ (*DnsFilterConfig)(nil), // 0: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig (*DnsFilterConfig_ServerContextConfig)(nil), // 1: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig (*DnsFilterConfig_ClientContextConfig)(nil), // 2: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig (*v3.DnsTable)(nil), // 3: envoy.data.dns.v3.DnsTable (*v31.DataSource)(nil), // 4: envoy.config.core.v3.DataSource (*duration.Duration)(nil), // 5: google.protobuf.Duration (*v31.Address)(nil), // 6: envoy.config.core.v3.Address (*v31.DnsResolutionConfig)(nil), // 7: envoy.config.core.v3.DnsResolutionConfig (*v31.TypedExtensionConfig)(nil), // 8: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.server_config:type_name -> envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig 2, // 1: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.client_config:type_name -> envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig 3, // 2: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig.inline_dns_table:type_name -> envoy.data.dns.v3.DnsTable 4, // 3: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig.external_dns_table:type_name -> envoy.config.core.v3.DataSource 5, // 4: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig.resolver_timeout:type_name -> google.protobuf.Duration 6, // 5: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig.upstream_resolvers:type_name -> envoy.config.core.v3.Address 7, // 6: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig 8, // 7: envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_init() } func file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_init() { if File_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsFilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsFilterConfig_ServerContextConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsFilterConfig_ClientContextConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DnsFilterConfig_ServerContextConfig_InlineDnsTable)(nil), (*DnsFilterConfig_ServerContextConfig_ExternalDnsTable)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_msgTypes, }.Build() File_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto = out.File file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_rawDesc = nil file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_goTypes = nil file_envoy_extensions_filters_udp_dns_filter_v3_dns_filter_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/udp/dns_filter/v3/dns_filter.pb.validate.go000077500000000000000000000443071454502223200321140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/udp/dns_filter/v3/dns_filter.proto package dns_filterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DnsFilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DnsFilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsFilterConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DnsFilterConfigMultiError, or nil if none found. func (m *DnsFilterConfig) ValidateAll() error { return m.validate(true) } func (m *DnsFilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := DnsFilterConfigValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetServerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfigValidationError{ field: "ServerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfigValidationError{ field: "ServerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetServerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfigValidationError{ field: "ServerConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetClientConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfigValidationError{ field: "ClientConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DnsFilterConfigMultiError(errors) } return nil } // DnsFilterConfigMultiError is an error wrapping multiple validation errors // returned by DnsFilterConfig.ValidateAll() if the designated constraints // aren't met. type DnsFilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsFilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsFilterConfigMultiError) AllErrors() []error { return m } // DnsFilterConfigValidationError is the validation error returned by // DnsFilterConfig.Validate if the designated constraints aren't met. type DnsFilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsFilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsFilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsFilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsFilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsFilterConfigValidationError) ErrorName() string { return "DnsFilterConfigValidationError" } // Error satisfies the builtin error interface func (e DnsFilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsFilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsFilterConfigValidationError{} // Validate checks the field values on DnsFilterConfig_ServerContextConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *DnsFilterConfig_ServerContextConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsFilterConfig_ServerContextConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // DnsFilterConfig_ServerContextConfigMultiError, or nil if none found. func (m *DnsFilterConfig_ServerContextConfig) ValidateAll() error { return m.validate(true) } func (m *DnsFilterConfig_ServerContextConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofConfigSourcePresent := false switch v := m.ConfigSource.(type) { case *DnsFilterConfig_ServerContextConfig_InlineDnsTable: if v == nil { err := DnsFilterConfig_ServerContextConfigValidationError{ field: "ConfigSource", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourcePresent = true if all { switch v := interface{}(m.GetInlineDnsTable()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfig_ServerContextConfigValidationError{ field: "InlineDnsTable", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfig_ServerContextConfigValidationError{ field: "InlineDnsTable", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInlineDnsTable()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfig_ServerContextConfigValidationError{ field: "InlineDnsTable", reason: "embedded message failed validation", cause: err, } } } case *DnsFilterConfig_ServerContextConfig_ExternalDnsTable: if v == nil { err := DnsFilterConfig_ServerContextConfigValidationError{ field: "ConfigSource", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigSourcePresent = true if all { switch v := interface{}(m.GetExternalDnsTable()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfig_ServerContextConfigValidationError{ field: "ExternalDnsTable", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfig_ServerContextConfigValidationError{ field: "ExternalDnsTable", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExternalDnsTable()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfig_ServerContextConfigValidationError{ field: "ExternalDnsTable", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigSourcePresent { err := DnsFilterConfig_ServerContextConfigValidationError{ field: "ConfigSource", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsFilterConfig_ServerContextConfigMultiError(errors) } return nil } // DnsFilterConfig_ServerContextConfigMultiError is an error wrapping multiple // validation errors returned by // DnsFilterConfig_ServerContextConfig.ValidateAll() if the designated // constraints aren't met. type DnsFilterConfig_ServerContextConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsFilterConfig_ServerContextConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsFilterConfig_ServerContextConfigMultiError) AllErrors() []error { return m } // DnsFilterConfig_ServerContextConfigValidationError is the validation error // returned by DnsFilterConfig_ServerContextConfig.Validate if the designated // constraints aren't met. type DnsFilterConfig_ServerContextConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsFilterConfig_ServerContextConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsFilterConfig_ServerContextConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsFilterConfig_ServerContextConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsFilterConfig_ServerContextConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsFilterConfig_ServerContextConfigValidationError) ErrorName() string { return "DnsFilterConfig_ServerContextConfigValidationError" } // Error satisfies the builtin error interface func (e DnsFilterConfig_ServerContextConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsFilterConfig_ServerContextConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsFilterConfig_ServerContextConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsFilterConfig_ServerContextConfigValidationError{} // Validate checks the field values on DnsFilterConfig_ClientContextConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *DnsFilterConfig_ClientContextConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsFilterConfig_ClientContextConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // DnsFilterConfig_ClientContextConfigMultiError, or nil if none found. func (m *DnsFilterConfig_ClientContextConfig) ValidateAll() error { return m.validate(true) } func (m *DnsFilterConfig_ClientContextConfig) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetResolverTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DnsFilterConfig_ClientContextConfigValidationError{ field: "ResolverTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(1*time.Second + 0*time.Nanosecond) if dur < gte { err := DnsFilterConfig_ClientContextConfigValidationError{ field: "ResolverTimeout", reason: "value must be greater than or equal to 1s", } if !all { return err } errors = append(errors, err) } } } for idx, item := range m.GetUpstreamResolvers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: fmt.Sprintf("UpstreamResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: fmt.Sprintf("UpstreamResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfig_ClientContextConfigValidationError{ field: fmt.Sprintf("UpstreamResolvers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDnsResolutionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolutionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfig_ClientContextConfigValidationError{ field: "DnsResolutionConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTypedDnsResolverConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DnsFilterConfig_ClientContextConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedDnsResolverConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DnsFilterConfig_ClientContextConfigValidationError{ field: "TypedDnsResolverConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetMaxPendingLookups() < 1 { err := DnsFilterConfig_ClientContextConfigValidationError{ field: "MaxPendingLookups", reason: "value must be greater than or equal to 1", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DnsFilterConfig_ClientContextConfigMultiError(errors) } return nil } // DnsFilterConfig_ClientContextConfigMultiError is an error wrapping multiple // validation errors returned by // DnsFilterConfig_ClientContextConfig.ValidateAll() if the designated // constraints aren't met. type DnsFilterConfig_ClientContextConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsFilterConfig_ClientContextConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsFilterConfig_ClientContextConfigMultiError) AllErrors() []error { return m } // DnsFilterConfig_ClientContextConfigValidationError is the validation error // returned by DnsFilterConfig_ClientContextConfig.Validate if the designated // constraints aren't met. type DnsFilterConfig_ClientContextConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsFilterConfig_ClientContextConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsFilterConfig_ClientContextConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsFilterConfig_ClientContextConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsFilterConfig_ClientContextConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsFilterConfig_ClientContextConfigValidationError) ErrorName() string { return "DnsFilterConfig_ClientContextConfigValidationError" } // Error satisfies the builtin error interface func (e DnsFilterConfig_ClientContextConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsFilterConfig_ClientContextConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsFilterConfig_ClientContextConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsFilterConfig_ClientContextConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/000077500000000000000000000000001454502223200246015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/000077500000000000000000000000001454502223200262645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/000077500000000000000000000000001454502223200326755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/v3/000077500000000000000000000000001454502223200332255ustar00rootroot00000000000000dynamic_forward_proxy.pb.go000077500000000000000000000467431454502223200405270ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto package dynamic_forward_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/dynamic_forward_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the filter state based dynamic forward proxy filter. See the // :ref:`architecture overview ` for // more information. Note this filter must be used in conjunction to another filter that // sets the 'envoy.upstream.dynamic_host' and the 'envoy.upstream.dynamic_port' filter // state keys for the required upstream UDP session. // [#extension: envoy.filters.udp.session.dynamic_forward_proxy] type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The prefix to use when emitting :ref:`statistics `. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to ImplementationSpecifier: // // *FilterConfig_DnsCacheConfig ImplementationSpecifier isFilterConfig_ImplementationSpecifier `protobuf_oneof:"implementation_specifier"` // If configured, the filter will buffer datagrams in case that it is waiting for a DNS response. // If this field is not configured, there will be no buffering and downstream datagrams that arrive // while the DNS resolution is in progress will be dropped. In case this field is set but the options // are not configured, the default values will be applied as described in the “BufferOptions“. BufferOptions *FilterConfig_BufferOptions `protobuf:"bytes,3,opt,name=buffer_options,json=bufferOptions,proto3" json:"buffer_options,omitempty"` } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP(), []int{0} } func (x *FilterConfig) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *FilterConfig) GetImplementationSpecifier() isFilterConfig_ImplementationSpecifier { if m != nil { return m.ImplementationSpecifier } return nil } func (x *FilterConfig) GetDnsCacheConfig() *v3.DnsCacheConfig { if x, ok := x.GetImplementationSpecifier().(*FilterConfig_DnsCacheConfig); ok { return x.DnsCacheConfig } return nil } func (x *FilterConfig) GetBufferOptions() *FilterConfig_BufferOptions { if x != nil { return x.BufferOptions } return nil } type isFilterConfig_ImplementationSpecifier interface { isFilterConfig_ImplementationSpecifier() } type FilterConfig_DnsCacheConfig struct { // The DNS cache configuration that the filter will attach to. Note this // configuration must match that of associated :ref:`dynamic forward proxy cluster configuration // `. DnsCacheConfig *v3.DnsCacheConfig `protobuf:"bytes,2,opt,name=dns_cache_config,json=dnsCacheConfig,proto3,oneof"` } func (*FilterConfig_DnsCacheConfig) isFilterConfig_ImplementationSpecifier() {} // Configuration for UDP datagrams buffering. type FilterConfig_BufferOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, the filter will only buffer datagrams up to the requested limit, and will drop // new UDP datagrams if the buffer contains the max_buffered_datagrams value at the time // of a new datagram arrival. If not set, the default value is 1024 datagrams. MaxBufferedDatagrams *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_buffered_datagrams,json=maxBufferedDatagrams,proto3" json:"max_buffered_datagrams,omitempty"` // If set, the filter will only buffer datagrams up to the requested total buffered bytes limit, // and will drop new UDP datagrams if the buffer contains the max_buffered_datagrams value // at the time of a new datagram arrival. If not set, the default value is 16,384 (16KB). MaxBufferedBytes *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=max_buffered_bytes,json=maxBufferedBytes,proto3" json:"max_buffered_bytes,omitempty"` } func (x *FilterConfig_BufferOptions) Reset() { *x = FilterConfig_BufferOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig_BufferOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig_BufferOptions) ProtoMessage() {} func (x *FilterConfig_BufferOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig_BufferOptions.ProtoReflect.Descriptor instead. func (*FilterConfig_BufferOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP(), []int{0, 0} } func (x *FilterConfig_BufferOptions) GetMaxBufferedDatagrams() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedDatagrams } return nil } func (x *FilterConfig_BufferOptions) GetMaxBufferedBytes() *wrappers.UInt64Value { if x != nil { return x.MaxBufferedBytes } return nil } var File_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc = []byte{ 0x0a, 0x63, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x04, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x76, 0x0a, 0x10, 0x64, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8a, 0x01, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x63, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xaf, 0x01, 0x0a, 0x0d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x84, 0x02, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x55, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x86, 0x01, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData = file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc ) func file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDescData } var file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig (*FilterConfig_BufferOptions)(nil), // 1: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.BufferOptions (*v3.DnsCacheConfig)(nil), // 2: envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value (*wrappers.UInt64Value)(nil), // 4: google.protobuf.UInt64Value } var file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config:type_name -> envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig 1, // 1: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.buffer_options:type_name -> envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.BufferOptions 3, // 2: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.BufferOptions.max_buffered_datagrams:type_name -> google.protobuf.UInt32Value 4, // 3: envoy.extensions.filters.udp.udp_proxy.session.dynamic_forward_proxy.v3.FilterConfig.BufferOptions.max_buffered_bytes:type_name -> google.protobuf.UInt64Value 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_init() } func file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_init() { if File_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig_BufferOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterConfig_DnsCacheConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto = out.File file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_rawDesc = nil file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_goTypes = nil file_envoy_extensions_filters_udp_udp_proxy_session_dynamic_forward_proxy_v3_dynamic_forward_proxy_proto_depIdxs = nil } dynamic_forward_proxy.pb.validate.go000077500000000000000000000247461454502223200423160ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/udp/udp_proxy/session/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto package dynamic_forward_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := FilterConfigValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBufferOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, } } } switch v := m.ImplementationSpecifier.(type) { case *FilterConfig_DnsCacheConfig: if v == nil { err := FilterConfigValidationError{ field: "ImplementationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if m.GetDnsCacheConfig() == nil { err := FilterConfigValidationError{ field: "DnsCacheConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDnsCacheConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsCacheConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfigValidationError{ field: "DnsCacheConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} // Validate checks the field values on FilterConfig_BufferOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FilterConfig_BufferOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig_BufferOptions with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterConfig_BufferOptionsMultiError, or nil if none found. func (m *FilterConfig_BufferOptions) ValidateAll() error { return m.validate(true) } func (m *FilterConfig_BufferOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxBufferedDatagrams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedDatagrams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxBufferedBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FilterConfig_BufferOptionsMultiError(errors) } return nil } // FilterConfig_BufferOptionsMultiError is an error wrapping multiple // validation errors returned by FilterConfig_BufferOptions.ValidateAll() if // the designated constraints aren't met. type FilterConfig_BufferOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfig_BufferOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfig_BufferOptionsMultiError) AllErrors() []error { return m } // FilterConfig_BufferOptionsValidationError is the validation error returned // by FilterConfig_BufferOptions.Validate if the designated constraints aren't met. type FilterConfig_BufferOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfig_BufferOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfig_BufferOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfig_BufferOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfig_BufferOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfig_BufferOptionsValidationError) ErrorName() string { return "FilterConfig_BufferOptionsValidationError" } // Error satisfies the builtin error interface func (e FilterConfig_BufferOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig_BufferOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfig_BufferOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfig_BufferOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/http_capsule/000077500000000000000000000000001454502223200307575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3/000077500000000000000000000000001454502223200313075ustar00rootroot00000000000000http_capsule.pb.go000077500000000000000000000176331454502223200346670ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3/http_capsule.proto package http_capsulev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type FilterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FilterConfig) Reset() { *x = FilterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterConfig) ProtoMessage() {} func (x *FilterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead. func (*FilterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDesc = []byte{ 0x0a, 0x51, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x48, 0x74, 0x74, 0x70, 0x43, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x74, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescOnce sync.Once file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescData = file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDesc ) func file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescData) }) return file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDescData } var file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_goTypes = []interface{}{ (*FilterConfig)(nil), // 0: envoy.extensions.filters.udp.udp_proxy.session.http_capsule.v3.FilterConfig } var file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_init() } func file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_init() { if File_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_msgTypes, }.Build() File_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto = out.File file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_rawDesc = nil file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_goTypes = nil file_envoy_extensions_filters_udp_udp_proxy_session_http_capsule_v3_http_capsule_proto_depIdxs = nil } http_capsule.pb.validate.go000077500000000000000000000063551454502223200364560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3/http_capsule.proto package http_capsulev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilterConfigMultiError, or // nil if none found. func (m *FilterConfig) ValidateAll() error { return m.validate(true) } func (m *FilterConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return FilterConfigMultiError(errors) } return nil } // FilterConfigMultiError is an error wrapping multiple validation errors // returned by FilterConfig.ValidateAll() if the designated constraints aren't met. type FilterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterConfigMultiError) AllErrors() []error { return m } // FilterConfigValidationError is the validation error returned by // FilterConfig.Validate if the designated constraints aren't met. type FilterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterConfigValidationError) ErrorName() string { return "FilterConfigValidationError" } // Error satisfies the builtin error interface func (e FilterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/v3/000077500000000000000000000000001454502223200251315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.go000077500000000000000000000160361454502223200272270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/udp/udp_proxy/v3/route.proto package udp_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Indicates the upstream cluster to which the request should be routed. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` } func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescGZIP(), []int{0} } func (x *Route) GetCluster() string { if x != nil { return x.Cluster } return "" } var File_envoy_extensions_filters_udp_udp_proxy_v3_route_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xad, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescOnce sync.Once file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescData = file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDesc ) func file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescData) }) return file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDescData } var file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_goTypes = []interface{}{ (*Route)(nil), // 0: envoy.extensions.filters.udp.udp_proxy.v3.Route } var file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_init() } func file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_init() { if File_envoy_extensions_filters_udp_udp_proxy_v3_route_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_msgTypes, }.Build() File_envoy_extensions_filters_udp_udp_proxy_v3_route_proto = out.File file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_rawDesc = nil file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_goTypes = nil file_envoy_extensions_filters_udp_udp_proxy_v3_route_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.validate.go000077500000000000000000000063731454502223200310220ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/udp/udp_proxy/v3/route.proto package udp_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Route with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RouteMultiError, or nil if none found. func (m *Route) ValidateAll() error { return m.validate(true) } func (m *Route) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetCluster()) < 1 { err := RouteValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RouteMultiError(errors) } return nil } // RouteMultiError is an error wrapping multiple validation errors returned by // Route.ValidateAll() if the designated constraints aren't met. type RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RouteMultiError) AllErrors() []error { return m } // RouteValidationError is the validation error returned by Route.Validate if // the designated constraints aren't met. type RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RouteValidationError) ErrorName() string { return "RouteValidationError" } // Error satisfies the builtin error interface func (e RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RouteValidationError{} go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.go000077500000000000000000001663301454502223200301250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto package udp_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v32 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the UDP proxy filter. // [#next-free-field: 14] type UdpProxyConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The stat prefix used when emitting UDP proxy filter stats. StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` // Types that are assignable to RouteSpecifier: // // *UdpProxyConfig_Cluster // *UdpProxyConfig_Matcher RouteSpecifier isUdpProxyConfig_RouteSpecifier `protobuf_oneof:"route_specifier"` // The idle timeout for sessions. Idle is defined as no datagrams between received or sent by // the session. The default if not specified is 1 minute. IdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // Use the remote downstream IP address as the sender IP address when sending packets to upstream hosts. // This option requires Envoy to be run with the “CAP_NET_ADMIN“ capability on Linux. // And the IPv6 stack must be enabled on Linux kernel. // This option does not preserve the remote downstream port. // If this option is enabled, the IP address of sent datagrams will be changed to the remote downstream IP address. // This means that Envoy will not receive packets that are sent by upstream hosts because the upstream hosts // will send the packets with the remote downstream IP address as the destination. All packets will be routed // to the remote downstream directly if there are route rules on the upstream host side. // There are two options to return the packets back to the remote downstream. // The first one is to use DSR (Direct Server Return). // The other one is to configure routing rules on the upstream hosts to forward // all packets back to Envoy and configure iptables rules on the host running Envoy to // forward all packets from upstream hosts to the Envoy process so that Envoy can forward the packets to the downstream. // If the platform does not support this option, Envoy will raise a configuration error. UseOriginalSrcIp bool `protobuf:"varint,4,opt,name=use_original_src_ip,json=useOriginalSrcIp,proto3" json:"use_original_src_ip,omitempty"` // Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based // load balancing algorithms will select a host randomly. Currently the number of hash policies is // limited to 1. HashPolicies []*UdpProxyConfig_HashPolicy `protobuf:"bytes,5,rep,name=hash_policies,json=hashPolicies,proto3" json:"hash_policies,omitempty"` // UDP socket configuration for upstream sockets. The default for // :ref:`prefer_gro ` is true for upstream // sockets as the assumption is datagrams will be received from a single source. UpstreamSocketConfig *v3.UdpSocketConfig `protobuf:"bytes,6,opt,name=upstream_socket_config,json=upstreamSocketConfig,proto3" json:"upstream_socket_config,omitempty"` // Perform per packet load balancing (upstream host selection) on each received data chunk. // The default if not specified is false, that means each data chunk is forwarded // to upstream host selected on first chunk receival for that "session" (identified by source IP/port and local IP/port). // Only one of use_per_packet_load_balancing or session_filters can be used. UsePerPacketLoadBalancing bool `protobuf:"varint,7,opt,name=use_per_packet_load_balancing,json=usePerPacketLoadBalancing,proto3" json:"use_per_packet_load_balancing,omitempty"` // Configuration for session access logs emitted by the UDP proxy. Note that certain UDP specific data is emitted as :ref:`Dynamic Metadata `. AccessLog []*v31.AccessLog `protobuf:"bytes,8,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // Configuration for proxy access logs emitted by the UDP proxy. Note that certain UDP specific data is emitted as :ref:`Dynamic Metadata `. ProxyAccessLog []*v31.AccessLog `protobuf:"bytes,10,rep,name=proxy_access_log,json=proxyAccessLog,proto3" json:"proxy_access_log,omitempty"` // Optional session filters that will run for each UDP session. // Only one of use_per_packet_load_balancing or session_filters can be used. // [#extension-category: envoy.filters.udp.session] SessionFilters []*UdpProxyConfig_SessionFilter `protobuf:"bytes,11,rep,name=session_filters,json=sessionFilters,proto3" json:"session_filters,omitempty"` // If set, this configures UDP tunneling. See `Proxying UDP in HTTP `_. // More information can be found in the UDP Proxy and HTTP upgrade documentation. TunnelingConfig *UdpProxyConfig_UdpTunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"` // Additional access log options for UDP Proxy. AccessLogOptions *UdpProxyConfig_UdpAccessLogOptions `protobuf:"bytes,13,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"` } func (x *UdpProxyConfig) Reset() { *x = UdpProxyConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig) ProtoMessage() {} func (x *UdpProxyConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig.ProtoReflect.Descriptor instead. func (*UdpProxyConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0} } func (x *UdpProxyConfig) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } func (m *UdpProxyConfig) GetRouteSpecifier() isUdpProxyConfig_RouteSpecifier { if m != nil { return m.RouteSpecifier } return nil } // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto. func (x *UdpProxyConfig) GetCluster() string { if x, ok := x.GetRouteSpecifier().(*UdpProxyConfig_Cluster); ok { return x.Cluster } return "" } func (x *UdpProxyConfig) GetMatcher() *v32.Matcher { if x, ok := x.GetRouteSpecifier().(*UdpProxyConfig_Matcher); ok { return x.Matcher } return nil } func (x *UdpProxyConfig) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } func (x *UdpProxyConfig) GetUseOriginalSrcIp() bool { if x != nil { return x.UseOriginalSrcIp } return false } func (x *UdpProxyConfig) GetHashPolicies() []*UdpProxyConfig_HashPolicy { if x != nil { return x.HashPolicies } return nil } func (x *UdpProxyConfig) GetUpstreamSocketConfig() *v3.UdpSocketConfig { if x != nil { return x.UpstreamSocketConfig } return nil } func (x *UdpProxyConfig) GetUsePerPacketLoadBalancing() bool { if x != nil { return x.UsePerPacketLoadBalancing } return false } func (x *UdpProxyConfig) GetAccessLog() []*v31.AccessLog { if x != nil { return x.AccessLog } return nil } func (x *UdpProxyConfig) GetProxyAccessLog() []*v31.AccessLog { if x != nil { return x.ProxyAccessLog } return nil } func (x *UdpProxyConfig) GetSessionFilters() []*UdpProxyConfig_SessionFilter { if x != nil { return x.SessionFilters } return nil } func (x *UdpProxyConfig) GetTunnelingConfig() *UdpProxyConfig_UdpTunnelingConfig { if x != nil { return x.TunnelingConfig } return nil } func (x *UdpProxyConfig) GetAccessLogOptions() *UdpProxyConfig_UdpAccessLogOptions { if x != nil { return x.AccessLogOptions } return nil } type isUdpProxyConfig_RouteSpecifier interface { isUdpProxyConfig_RouteSpecifier() } type UdpProxyConfig_Cluster struct { // The upstream cluster to connect to. // This field is deprecated in favor of // :ref:`matcher `. // // Deprecated: Marked as deprecated in envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"` } type UdpProxyConfig_Matcher struct { // The match tree to use when resolving route actions for incoming requests. // See :ref:`Routing ` for more information. Matcher *v32.Matcher `protobuf:"bytes,9,opt,name=matcher,proto3,oneof"` } func (*UdpProxyConfig_Cluster) isUdpProxyConfig_RouteSpecifier() {} func (*UdpProxyConfig_Matcher) isUdpProxyConfig_RouteSpecifier() {} // Specifies the UDP hash policy. // The packets can be routed by hash policy. type UdpProxyConfig_HashPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PolicySpecifier: // // *UdpProxyConfig_HashPolicy_SourceIp // *UdpProxyConfig_HashPolicy_Key PolicySpecifier isUdpProxyConfig_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` } func (x *UdpProxyConfig_HashPolicy) Reset() { *x = UdpProxyConfig_HashPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_HashPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_HashPolicy) ProtoMessage() {} func (x *UdpProxyConfig_HashPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_HashPolicy.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_HashPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 0} } func (m *UdpProxyConfig_HashPolicy) GetPolicySpecifier() isUdpProxyConfig_HashPolicy_PolicySpecifier { if m != nil { return m.PolicySpecifier } return nil } func (x *UdpProxyConfig_HashPolicy) GetSourceIp() bool { if x, ok := x.GetPolicySpecifier().(*UdpProxyConfig_HashPolicy_SourceIp); ok { return x.SourceIp } return false } func (x *UdpProxyConfig_HashPolicy) GetKey() string { if x, ok := x.GetPolicySpecifier().(*UdpProxyConfig_HashPolicy_Key); ok { return x.Key } return "" } type isUdpProxyConfig_HashPolicy_PolicySpecifier interface { isUdpProxyConfig_HashPolicy_PolicySpecifier() } type UdpProxyConfig_HashPolicy_SourceIp struct { // The source IP will be used to compute the hash used by hash-based load balancing algorithms. SourceIp bool `protobuf:"varint,1,opt,name=source_ip,json=sourceIp,proto3,oneof"` } type UdpProxyConfig_HashPolicy_Key struct { // A given key will be used to compute the hash used by hash-based load balancing algorithms. // In certain cases there is a need to direct different UDP streams jointly towards the selected set of endpoints. // A possible use-case is VoIP telephony, where media (RTP) and its corresponding control (RTCP) belong to the same logical session, // although they travel in separate streams. To ensure that these pair of streams are load-balanced on session level // (instead of individual stream level), dynamically created listeners can use the same hash key for each stream in the session. Key string `protobuf:"bytes,2,opt,name=key,proto3,oneof"` } func (*UdpProxyConfig_HashPolicy_SourceIp) isUdpProxyConfig_HashPolicy_PolicySpecifier() {} func (*UdpProxyConfig_HashPolicy_Key) isUdpProxyConfig_HashPolicy_PolicySpecifier() {} // Configuration for UDP session filters. type UdpProxyConfig_SessionFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the filter configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ConfigType: // // *UdpProxyConfig_SessionFilter_TypedConfig ConfigType isUdpProxyConfig_SessionFilter_ConfigType `protobuf_oneof:"config_type"` } func (x *UdpProxyConfig_SessionFilter) Reset() { *x = UdpProxyConfig_SessionFilter{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_SessionFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_SessionFilter) ProtoMessage() {} func (x *UdpProxyConfig_SessionFilter) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_SessionFilter.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_SessionFilter) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 1} } func (x *UdpProxyConfig_SessionFilter) GetName() string { if x != nil { return x.Name } return "" } func (m *UdpProxyConfig_SessionFilter) GetConfigType() isUdpProxyConfig_SessionFilter_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *UdpProxyConfig_SessionFilter) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*UdpProxyConfig_SessionFilter_TypedConfig); ok { return x.TypedConfig } return nil } type isUdpProxyConfig_SessionFilter_ConfigType interface { isUdpProxyConfig_SessionFilter_ConfigType() } type UdpProxyConfig_SessionFilter_TypedConfig struct { // Filter specific configuration which depends on the filter being // instantiated. See the supported filters for further documentation. TypedConfig *any1.Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*UdpProxyConfig_SessionFilter_TypedConfig) isUdpProxyConfig_SessionFilter_ConfigType() {} // Configuration for tunneling UDP over other transports or application layers. // Tunneling is currently supported over HTTP/2. // [#next-free-field: 12] type UdpProxyConfig_UdpTunnelingConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The hostname to send in the synthesized CONNECT headers to the upstream proxy. // This field evaluates command operators if set, otherwise returns hostname as is. // // Example: dynamically set hostname using filter state // // .. code-block:: yaml // // tunneling_config: // proxy_host: "%FILTER_STATE(proxy.host.key:PLAIN)%" ProxyHost string `protobuf:"bytes,1,opt,name=proxy_host,json=proxyHost,proto3" json:"proxy_host,omitempty"` // Optional port value to add to the HTTP request URI. // This value can be overridden per-session by setting the required port value for // the filter state key “udp.connect.proxy_port“. ProxyPort *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=proxy_port,json=proxyPort,proto3" json:"proxy_port,omitempty"` // The target host to send in the synthesized CONNECT headers to the upstream proxy. // This field evaluates command operators if set, otherwise returns hostname as is. // // Example: dynamically set target host using filter state // // .. code-block:: yaml // // tunneling_config: // target_host: "%FILTER_STATE(target.host.key:PLAIN)%" TargetHost string `protobuf:"bytes,3,opt,name=target_host,json=targetHost,proto3" json:"target_host,omitempty"` // The default target port to send in the CONNECT headers to the upstream proxy. // This value can be overridden per-session by setting the required port value for // the filter state key “udp.connect.target_port“. DefaultTargetPort uint32 `protobuf:"varint,4,opt,name=default_target_port,json=defaultTargetPort,proto3" json:"default_target_port,omitempty"` // Use POST method instead of CONNECT method to tunnel the UDP stream. // // .. note:: // // If use_post is set, the upstream stream does not comply with the connect-udp RFC, and // instead it will be a POST request. the path used in the headers will be set from the // post_path field, and the headers will not contain the target host and target port, as // required by the connect-udp protocol. This flag should be used carefully. UsePost bool `protobuf:"varint,5,opt,name=use_post,json=usePost,proto3" json:"use_post,omitempty"` // The path used with POST method. Default path is “/“. If post path is specified and // use_post field isn't true, it will be rejected. PostPath string `protobuf:"bytes,6,opt,name=post_path,json=postPath,proto3" json:"post_path,omitempty"` // Optional retry options, in case connecting to the upstream failed. RetryOptions *UdpProxyConfig_UdpTunnelingConfig_RetryOptions `protobuf:"bytes,7,opt,name=retry_options,json=retryOptions,proto3" json:"retry_options,omitempty"` // Additional request headers to upstream proxy. Neither “:-prefixed“ pseudo-headers // nor the Host: header can be overridden. Values of the added headers evaluates command // operators if they are set in the value template. // // Example: dynamically set a header with the local port // // .. code-block:: yaml // // headers_to_add: // - header: // key: original_dst_port // value: "%DOWNSTREAM_LOCAL_PORT%" HeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,8,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` // If configured, the filter will buffer datagrams in case that it is waiting for the upstream to be // ready, whether if it is during the connection process or due to upstream buffer watermarks. // If this field is not configured, there will be no buffering and downstream datagrams that arrive // while the upstream is not ready will be dropped. In case this field is set but the options // are not configured, the default values will be applied as described in the “BufferOptions“. BufferOptions *UdpProxyConfig_UdpTunnelingConfig_BufferOptions `protobuf:"bytes,9,opt,name=buffer_options,json=bufferOptions,proto3" json:"buffer_options,omitempty"` // Save the response headers to the downstream info filter state for consumption // by the session filters. The filter state key is “envoy.udp_proxy.propagate_response_headers“. PropagateResponseHeaders bool `protobuf:"varint,10,opt,name=propagate_response_headers,json=propagateResponseHeaders,proto3" json:"propagate_response_headers,omitempty"` // Save the response trailers to the downstream info filter state for consumption // by the session filters. The filter state key is “envoy.udp_proxy.propagate_response_trailers“. PropagateResponseTrailers bool `protobuf:"varint,11,opt,name=propagate_response_trailers,json=propagateResponseTrailers,proto3" json:"propagate_response_trailers,omitempty"` } func (x *UdpProxyConfig_UdpTunnelingConfig) Reset() { *x = UdpProxyConfig_UdpTunnelingConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_UdpTunnelingConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_UdpTunnelingConfig) ProtoMessage() {} func (x *UdpProxyConfig_UdpTunnelingConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_UdpTunnelingConfig.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_UdpTunnelingConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 2} } func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyHost() string { if x != nil { return x.ProxyHost } return "" } func (x *UdpProxyConfig_UdpTunnelingConfig) GetProxyPort() *wrappers.UInt32Value { if x != nil { return x.ProxyPort } return nil } func (x *UdpProxyConfig_UdpTunnelingConfig) GetTargetHost() string { if x != nil { return x.TargetHost } return "" } func (x *UdpProxyConfig_UdpTunnelingConfig) GetDefaultTargetPort() uint32 { if x != nil { return x.DefaultTargetPort } return 0 } func (x *UdpProxyConfig_UdpTunnelingConfig) GetUsePost() bool { if x != nil { return x.UsePost } return false } func (x *UdpProxyConfig_UdpTunnelingConfig) GetPostPath() string { if x != nil { return x.PostPath } return "" } func (x *UdpProxyConfig_UdpTunnelingConfig) GetRetryOptions() *UdpProxyConfig_UdpTunnelingConfig_RetryOptions { if x != nil { return x.RetryOptions } return nil } func (x *UdpProxyConfig_UdpTunnelingConfig) GetHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.HeadersToAdd } return nil } func (x *UdpProxyConfig_UdpTunnelingConfig) GetBufferOptions() *UdpProxyConfig_UdpTunnelingConfig_BufferOptions { if x != nil { return x.BufferOptions } return nil } func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseHeaders() bool { if x != nil { return x.PropagateResponseHeaders } return false } func (x *UdpProxyConfig_UdpTunnelingConfig) GetPropagateResponseTrailers() bool { if x != nil { return x.PropagateResponseTrailers } return false } type UdpProxyConfig_UdpAccessLogOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The interval to flush access log. The UDP proxy will flush only one access log when the session // is ended by default. If this field is set, the UDP proxy will flush access log periodically with // the specified interval. // This field does not require on-tunnel-connected access logging enabled, and the other way around. // The interval must be at least 1ms. AccessLogFlushInterval *duration.Duration `protobuf:"bytes,1,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` // If set to true and UDP tunneling is configured, access log will be flushed when the UDP proxy has successfully // established a connection tunnel with the upstream. If the connection failed, the access log will not be flushed. FlushAccessLogOnTunnelConnected bool `protobuf:"varint,2,opt,name=flush_access_log_on_tunnel_connected,json=flushAccessLogOnTunnelConnected,proto3" json:"flush_access_log_on_tunnel_connected,omitempty"` } func (x *UdpProxyConfig_UdpAccessLogOptions) Reset() { *x = UdpProxyConfig_UdpAccessLogOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_UdpAccessLogOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_UdpAccessLogOptions) ProtoMessage() {} func (x *UdpProxyConfig_UdpAccessLogOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_UdpAccessLogOptions.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_UdpAccessLogOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 3} } func (x *UdpProxyConfig_UdpAccessLogOptions) GetAccessLogFlushInterval() *duration.Duration { if x != nil { return x.AccessLogFlushInterval } return nil } func (x *UdpProxyConfig_UdpAccessLogOptions) GetFlushAccessLogOnTunnelConnected() bool { if x != nil { return x.FlushAccessLogOnTunnelConnected } return false } // Configuration for UDP datagrams buffering. type UdpProxyConfig_UdpTunnelingConfig_BufferOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, the filter will only buffer datagrams up to the requested limit, and will drop // new UDP datagrams if the buffer contains the max_buffered_datagrams value at the time // of a new datagram arrival. If not set, the default value is 1024 datagrams. MaxBufferedDatagrams *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_buffered_datagrams,json=maxBufferedDatagrams,proto3" json:"max_buffered_datagrams,omitempty"` // If set, the filter will only buffer datagrams up to the requested total buffered bytes limit, // and will drop new UDP datagrams if the buffer contains the max_buffered_datagrams value // at the time of a new datagram arrival. If not set, the default value is 16,384 (16KB). MaxBufferedBytes *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=max_buffered_bytes,json=maxBufferedBytes,proto3" json:"max_buffered_bytes,omitempty"` } func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Reset() { *x = UdpProxyConfig_UdpTunnelingConfig_BufferOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoMessage() {} func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_UdpTunnelingConfig_BufferOptions.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 2, 0} } func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedDatagrams() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedDatagrams } return nil } func (x *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) GetMaxBufferedBytes() *wrappers.UInt64Value { if x != nil { return x.MaxBufferedBytes } return nil } type UdpProxyConfig_UdpTunnelingConfig_RetryOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum number of unsuccessful connection attempts that will be made before giving up. // If the parameter is not specified, 1 connection attempt will be made. MaxConnectAttempts *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"` } func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Reset() { *x = UdpProxyConfig_UdpTunnelingConfig_RetryOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoMessage() {} func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpProxyConfig_UdpTunnelingConfig_RetryOptions.ProtoReflect.Descriptor instead. func (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP(), []int{0, 2, 1} } func (x *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) GetMaxConnectAttempts() *wrappers.UInt32Value { if x != nil { return x.MaxConnectAttempts } return nil } var File_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto protoreflect.FileDescriptor var file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDesc = []byte{ 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x14, 0x0a, 0x0e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x72, 0x63, 0x49, 0x70, 0x12, 0x73, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x1d, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x75, 0x73, 0x65, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x70, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x77, 0x0a, 0x10, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x64, 0x70, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x64, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6a, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x17, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x76, 0x0a, 0x0d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x86, 0x08, 0x0a, 0x12, 0x55, 0x64, 0x70, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x20, 0x00, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x7e, 0x0a, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x64, 0x70, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x81, 0x01, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x64, 0x70, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x1a, 0xaf, 0x01, 0x0a, 0x0d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x5e, 0x0a, 0x0c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x1a, 0xc8, 0x01, 0x0a, 0x13, 0x55, 0x64, 0x70, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x4d, 0x0a, 0x24, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x4f, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xb0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x55, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescOnce sync.Once file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescData = file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDesc ) func file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescGZIP() []byte { file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescOnce.Do(func() { file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescData) }) return file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDescData } var file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_goTypes = []interface{}{ (*UdpProxyConfig)(nil), // 0: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig (*UdpProxyConfig_HashPolicy)(nil), // 1: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy (*UdpProxyConfig_SessionFilter)(nil), // 2: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter (*UdpProxyConfig_UdpTunnelingConfig)(nil), // 3: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig (*UdpProxyConfig_UdpAccessLogOptions)(nil), // 4: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpAccessLogOptions (*UdpProxyConfig_UdpTunnelingConfig_BufferOptions)(nil), // 5: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions (*UdpProxyConfig_UdpTunnelingConfig_RetryOptions)(nil), // 6: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions (*v32.Matcher)(nil), // 7: xds.type.matcher.v3.Matcher (*duration.Duration)(nil), // 8: google.protobuf.Duration (*v3.UdpSocketConfig)(nil), // 9: envoy.config.core.v3.UdpSocketConfig (*v31.AccessLog)(nil), // 10: envoy.config.accesslog.v3.AccessLog (*any1.Any)(nil), // 11: google.protobuf.Any (*wrappers.UInt32Value)(nil), // 12: google.protobuf.UInt32Value (*v3.HeaderValueOption)(nil), // 13: envoy.config.core.v3.HeaderValueOption (*wrappers.UInt64Value)(nil), // 14: google.protobuf.UInt64Value } var file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_depIdxs = []int32{ 7, // 0: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.matcher:type_name -> xds.type.matcher.v3.Matcher 8, // 1: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.idle_timeout:type_name -> google.protobuf.Duration 1, // 2: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.hash_policies:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy 9, // 3: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.upstream_socket_config:type_name -> envoy.config.core.v3.UdpSocketConfig 10, // 4: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.access_log:type_name -> envoy.config.accesslog.v3.AccessLog 10, // 5: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.proxy_access_log:type_name -> envoy.config.accesslog.v3.AccessLog 2, // 6: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.session_filters:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter 3, // 7: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.tunneling_config:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig 4, // 8: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.access_log_options:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpAccessLogOptions 11, // 9: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter.typed_config:type_name -> google.protobuf.Any 12, // 10: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.proxy_port:type_name -> google.protobuf.UInt32Value 6, // 11: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.retry_options:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions 13, // 12: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 5, // 13: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.buffer_options:type_name -> envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions 8, // 14: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration 12, // 15: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions.max_buffered_datagrams:type_name -> google.protobuf.UInt32Value 14, // 16: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions.max_buffered_bytes:type_name -> google.protobuf.UInt64Value 12, // 17: envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions.max_connect_attempts:type_name -> google.protobuf.UInt32Value 18, // [18:18] is the sub-list for method output_type 18, // [18:18] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_init() } func file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_init() { if File_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_HashPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_SessionFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_UdpTunnelingConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_UdpAccessLogOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_UdpTunnelingConfig_BufferOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpProxyConfig_UdpTunnelingConfig_RetryOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*UdpProxyConfig_Cluster)(nil), (*UdpProxyConfig_Matcher)(nil), } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[1].OneofWrappers = []interface{}{ (*UdpProxyConfig_HashPolicy_SourceIp)(nil), (*UdpProxyConfig_HashPolicy_Key)(nil), } file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes[2].OneofWrappers = []interface{}{ (*UdpProxyConfig_SessionFilter_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_goTypes, DependencyIndexes: file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_depIdxs, MessageInfos: file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_msgTypes, }.Build() File_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto = out.File file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_rawDesc = nil file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_goTypes = nil file_envoy_extensions_filters_udp_udp_proxy_v3_udp_proxy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.validate.go000077500000000000000000001267641454502223200317240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto package udp_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpProxyConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UdpProxyConfigMultiError, // or nil if none found. func (m *UdpProxyConfig) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := UdpProxyConfigValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UseOriginalSrcIp if len(m.GetHashPolicies()) > 1 { err := UdpProxyConfigValidationError{ field: "HashPolicies", reason: "value must contain no more than 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHashPolicies() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("HashPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("HashPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: fmt.Sprintf("HashPolicies[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUpstreamSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "UpstreamSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "UpstreamSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "UpstreamSocketConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for UsePerPacketLoadBalancing for idx, item := range m.GetAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: fmt.Sprintf("AccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetProxyAccessLog() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("ProxyAccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("ProxyAccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: fmt.Sprintf("ProxyAccessLog[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetSessionFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("SessionFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: fmt.Sprintf("SessionFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: fmt.Sprintf("SessionFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTunnelingConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTunnelingConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "TunnelingConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAccessLogOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAccessLogOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "AccessLogOptions", reason: "embedded message failed validation", cause: err, } } } oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *UdpProxyConfig_Cluster: if v == nil { err := UdpProxyConfigValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if utf8.RuneCountInString(m.GetCluster()) < 1 { err := UdpProxyConfigValidationError{ field: "Cluster", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *UdpProxyConfig_Matcher: if v == nil { err := UdpProxyConfigValidationError{ field: "RouteSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRouteSpecifierPresent = true if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfigValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfigValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRouteSpecifierPresent { err := UdpProxyConfigValidationError{ field: "RouteSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return UdpProxyConfigMultiError(errors) } return nil } // UdpProxyConfigMultiError is an error wrapping multiple validation errors // returned by UdpProxyConfig.ValidateAll() if the designated constraints // aren't met. type UdpProxyConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfigMultiError) AllErrors() []error { return m } // UdpProxyConfigValidationError is the validation error returned by // UdpProxyConfig.Validate if the designated constraints aren't met. type UdpProxyConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfigValidationError) ErrorName() string { return "UdpProxyConfigValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfigValidationError{} // Validate checks the field values on UdpProxyConfig_HashPolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig_HashPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig_HashPolicy with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpProxyConfig_HashPolicyMultiError, or nil if none found. func (m *UdpProxyConfig_HashPolicy) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_HashPolicy) validate(all bool) error { if m == nil { return nil } var errors []error oneofPolicySpecifierPresent := false switch v := m.PolicySpecifier.(type) { case *UdpProxyConfig_HashPolicy_SourceIp: if v == nil { err := UdpProxyConfig_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if m.GetSourceIp() != true { err := UdpProxyConfig_HashPolicyValidationError{ field: "SourceIp", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *UdpProxyConfig_HashPolicy_Key: if v == nil { err := UdpProxyConfig_HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := UdpProxyConfig_HashPolicyValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofPolicySpecifierPresent { err := UdpProxyConfig_HashPolicyValidationError{ field: "PolicySpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return UdpProxyConfig_HashPolicyMultiError(errors) } return nil } // UdpProxyConfig_HashPolicyMultiError is an error wrapping multiple validation // errors returned by UdpProxyConfig_HashPolicy.ValidateAll() if the // designated constraints aren't met. type UdpProxyConfig_HashPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_HashPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_HashPolicyMultiError) AllErrors() []error { return m } // UdpProxyConfig_HashPolicyValidationError is the validation error returned by // UdpProxyConfig_HashPolicy.Validate if the designated constraints aren't met. type UdpProxyConfig_HashPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_HashPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_HashPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_HashPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_HashPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_HashPolicyValidationError) ErrorName() string { return "UdpProxyConfig_HashPolicyValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_HashPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_HashPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_HashPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_HashPolicyValidationError{} // Validate checks the field values on UdpProxyConfig_SessionFilter with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig_SessionFilter) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig_SessionFilter with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpProxyConfig_SessionFilterMultiError, or nil if none found. func (m *UdpProxyConfig_SessionFilter) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_SessionFilter) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := UdpProxyConfig_SessionFilterValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.ConfigType.(type) { case *UdpProxyConfig_SessionFilter_TypedConfig: if v == nil { err := UdpProxyConfig_SessionFilterValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_SessionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_SessionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_SessionFilterValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return UdpProxyConfig_SessionFilterMultiError(errors) } return nil } // UdpProxyConfig_SessionFilterMultiError is an error wrapping multiple // validation errors returned by UdpProxyConfig_SessionFilter.ValidateAll() if // the designated constraints aren't met. type UdpProxyConfig_SessionFilterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_SessionFilterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_SessionFilterMultiError) AllErrors() []error { return m } // UdpProxyConfig_SessionFilterValidationError is the validation error returned // by UdpProxyConfig_SessionFilter.Validate if the designated constraints // aren't met. type UdpProxyConfig_SessionFilterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_SessionFilterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_SessionFilterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_SessionFilterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_SessionFilterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_SessionFilterValidationError) ErrorName() string { return "UdpProxyConfig_SessionFilterValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_SessionFilterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_SessionFilter.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_SessionFilterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_SessionFilterValidationError{} // Validate checks the field values on UdpProxyConfig_UdpTunnelingConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *UdpProxyConfig_UdpTunnelingConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig_UdpTunnelingConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // UdpProxyConfig_UdpTunnelingConfigMultiError, or nil if none found. func (m *UdpProxyConfig_UdpTunnelingConfig) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_UdpTunnelingConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetProxyHost()) < 1 { err := UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "ProxyHost", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetProxyPort()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "ProxyPort", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "ProxyPort", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProxyPort()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "ProxyPort", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetTargetHost()) < 1 { err := UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "TargetHost", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if val := m.GetDefaultTargetPort(); val <= 0 || val > 65535 { err := UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "DefaultTargetPort", reason: "value must be inside range (0, 65535]", } if !all { return err } errors = append(errors, err) } // no validation rules for UsePost // no validation rules for PostPath if all { switch v := interface{}(m.GetRetryOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "RetryOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "RetryOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRetryOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "RetryOptions", reason: "embedded message failed validation", cause: err, } } } if len(m.GetHeadersToAdd()) > 1000 { err := UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "HeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfigValidationError{ field: fmt.Sprintf("HeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetBufferOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBufferOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfigValidationError{ field: "BufferOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for PropagateResponseHeaders // no validation rules for PropagateResponseTrailers if len(errors) > 0 { return UdpProxyConfig_UdpTunnelingConfigMultiError(errors) } return nil } // UdpProxyConfig_UdpTunnelingConfigMultiError is an error wrapping multiple // validation errors returned by // UdpProxyConfig_UdpTunnelingConfig.ValidateAll() if the designated // constraints aren't met. type UdpProxyConfig_UdpTunnelingConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_UdpTunnelingConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_UdpTunnelingConfigMultiError) AllErrors() []error { return m } // UdpProxyConfig_UdpTunnelingConfigValidationError is the validation error // returned by UdpProxyConfig_UdpTunnelingConfig.Validate if the designated // constraints aren't met. type UdpProxyConfig_UdpTunnelingConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_UdpTunnelingConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_UdpTunnelingConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_UdpTunnelingConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_UdpTunnelingConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_UdpTunnelingConfigValidationError) ErrorName() string { return "UdpProxyConfig_UdpTunnelingConfigValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_UdpTunnelingConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_UdpTunnelingConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_UdpTunnelingConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_UdpTunnelingConfigValidationError{} // Validate checks the field values on UdpProxyConfig_UdpAccessLogOptions with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *UdpProxyConfig_UdpAccessLogOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpProxyConfig_UdpAccessLogOptions // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // UdpProxyConfig_UdpAccessLogOptionsMultiError, or nil if none found. func (m *UdpProxyConfig_UdpAccessLogOptions) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_UdpAccessLogOptions) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetAccessLogFlushInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = UdpProxyConfig_UdpAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := UdpProxyConfig_UdpAccessLogOptionsValidationError{ field: "AccessLogFlushInterval", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } // no validation rules for FlushAccessLogOnTunnelConnected if len(errors) > 0 { return UdpProxyConfig_UdpAccessLogOptionsMultiError(errors) } return nil } // UdpProxyConfig_UdpAccessLogOptionsMultiError is an error wrapping multiple // validation errors returned by // UdpProxyConfig_UdpAccessLogOptions.ValidateAll() if the designated // constraints aren't met. type UdpProxyConfig_UdpAccessLogOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_UdpAccessLogOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_UdpAccessLogOptionsMultiError) AllErrors() []error { return m } // UdpProxyConfig_UdpAccessLogOptionsValidationError is the validation error // returned by UdpProxyConfig_UdpAccessLogOptions.Validate if the designated // constraints aren't met. type UdpProxyConfig_UdpAccessLogOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) ErrorName() string { return "UdpProxyConfig_UdpAccessLogOptionsValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_UdpAccessLogOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_UdpAccessLogOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_UdpAccessLogOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_UdpAccessLogOptionsValidationError{} // Validate checks the field values on // UdpProxyConfig_UdpTunnelingConfig_BufferOptions with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // UdpProxyConfig_UdpTunnelingConfig_BufferOptions with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError, or nil if none found. func (m *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_UdpTunnelingConfig_BufferOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxBufferedDatagrams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedDatagrams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedDatagrams", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxBufferedBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{ field: "MaxBufferedBytes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError(errors) } return nil } // UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError is an error // wrapping multiple validation errors returned by // UdpProxyConfig_UdpTunnelingConfig_BufferOptions.ValidateAll() if the // designated constraints aren't met. type UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_UdpTunnelingConfig_BufferOptionsMultiError) AllErrors() []error { return m } // UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError is the // validation error returned by // UdpProxyConfig_UdpTunnelingConfig_BufferOptions.Validate if the designated // constraints aren't met. type UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) ErrorName() string { return "UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_UdpTunnelingConfig_BufferOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_UdpTunnelingConfig_BufferOptionsValidationError{} // Validate checks the field values on // UdpProxyConfig_UdpTunnelingConfig_RetryOptions with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // UdpProxyConfig_UdpTunnelingConfig_RetryOptions with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError, or nil if none found. func (m *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) ValidateAll() error { return m.validate(true) } func (m *UdpProxyConfig_UdpTunnelingConfig_RetryOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxConnectAttempts()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError{ field: "MaxConnectAttempts", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError{ field: "MaxConnectAttempts", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxConnectAttempts()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError{ field: "MaxConnectAttempts", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError(errors) } return nil } // UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError is an error // wrapping multiple validation errors returned by // UdpProxyConfig_UdpTunnelingConfig_RetryOptions.ValidateAll() if the // designated constraints aren't met. type UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpProxyConfig_UdpTunnelingConfig_RetryOptionsMultiError) AllErrors() []error { return m } // UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError is the // validation error returned by // UdpProxyConfig_UdpTunnelingConfig_RetryOptions.Validate if the designated // constraints aren't met. type UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) ErrorName() string { return "UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError" } // Error satisfies the builtin error interface func (e UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpProxyConfig_UdpTunnelingConfig_RetryOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpProxyConfig_UdpTunnelingConfig_RetryOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/formatter/000077500000000000000000000000001454502223200223135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/cel/000077500000000000000000000000001454502223200230565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/cel/v3/000077500000000000000000000000001454502223200234065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/cel/v3/cel.pb.go000077500000000000000000000135301454502223200251050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/formatter/cel/v3/cel.proto package celv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the CEL formatter. type Cel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Cel) Reset() { *x = Cel{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_formatter_cel_v3_cel_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cel) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cel) ProtoMessage() {} func (x *Cel) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_formatter_cel_v3_cel_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cel.ProtoReflect.Descriptor instead. func (*Cel) Descriptor() ([]byte, []int) { return file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_formatter_cel_v3_cel_proto protoreflect.FileDescriptor var file_envoy_extensions_formatter_cel_v3_cel_proto_rawDesc = []byte{ 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x65, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x05, 0x0a, 0x03, 0x43, 0x65, 0x6c, 0x42, 0x95, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x43, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x65, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x65, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescOnce sync.Once file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescData = file_envoy_extensions_formatter_cel_v3_cel_proto_rawDesc ) func file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescGZIP() []byte { file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescOnce.Do(func() { file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescData) }) return file_envoy_extensions_formatter_cel_v3_cel_proto_rawDescData } var file_envoy_extensions_formatter_cel_v3_cel_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_formatter_cel_v3_cel_proto_goTypes = []interface{}{ (*Cel)(nil), // 0: envoy.extensions.formatter.cel.v3.Cel } var file_envoy_extensions_formatter_cel_v3_cel_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_formatter_cel_v3_cel_proto_init() } func file_envoy_extensions_formatter_cel_v3_cel_proto_init() { if File_envoy_extensions_formatter_cel_v3_cel_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_formatter_cel_v3_cel_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_formatter_cel_v3_cel_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_formatter_cel_v3_cel_proto_goTypes, DependencyIndexes: file_envoy_extensions_formatter_cel_v3_cel_proto_depIdxs, MessageInfos: file_envoy_extensions_formatter_cel_v3_cel_proto_msgTypes, }.Build() File_envoy_extensions_formatter_cel_v3_cel_proto = out.File file_envoy_extensions_formatter_cel_v3_cel_proto_rawDesc = nil file_envoy_extensions_formatter_cel_v3_cel_proto_goTypes = nil file_envoy_extensions_formatter_cel_v3_cel_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/formatter/cel/v3/cel.pb.validate.go000077500000000000000000000057321454502223200267020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/formatter/cel/v3/cel.proto package celv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Cel with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Cel) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cel with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in CelMultiError, or nil if none found. func (m *Cel) ValidateAll() error { return m.validate(true) } func (m *Cel) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CelMultiError(errors) } return nil } // CelMultiError is an error wrapping multiple validation errors returned by // Cel.ValidateAll() if the designated constraints aren't met. type CelMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CelMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CelMultiError) AllErrors() []error { return m } // CelValidationError is the validation error returned by Cel.Validate if the // designated constraints aren't met. type CelValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CelValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CelValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CelValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CelValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CelValidationError) ErrorName() string { return "CelValidationError" } // Error satisfies the builtin error interface func (e CelValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCel.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CelValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CelValidationError{} go-control-plane-0.12.0/envoy/extensions/formatter/metadata/000077500000000000000000000000001454502223200240735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/metadata/v3/000077500000000000000000000000001454502223200244235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/metadata/v3/metadata.pb.go000077500000000000000000000146051454502223200271430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/formatter/metadata/v3/metadata.proto package metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_formatter_metadata_v3_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_formatter_metadata_v3_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { return file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_formatter_metadata_v3_metadata_proto protoreflect.FileDescriptor var file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescOnce sync.Once file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescData = file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDesc ) func file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescGZIP() []byte { file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescOnce.Do(func() { file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescData) }) return file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDescData } var file_envoy_extensions_formatter_metadata_v3_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_formatter_metadata_v3_metadata_proto_goTypes = []interface{}{ (*Metadata)(nil), // 0: envoy.extensions.formatter.metadata.v3.Metadata } var file_envoy_extensions_formatter_metadata_v3_metadata_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_formatter_metadata_v3_metadata_proto_init() } func file_envoy_extensions_formatter_metadata_v3_metadata_proto_init() { if File_envoy_extensions_formatter_metadata_v3_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_formatter_metadata_v3_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_formatter_metadata_v3_metadata_proto_goTypes, DependencyIndexes: file_envoy_extensions_formatter_metadata_v3_metadata_proto_depIdxs, MessageInfos: file_envoy_extensions_formatter_metadata_v3_metadata_proto_msgTypes, }.Build() File_envoy_extensions_formatter_metadata_v3_metadata_proto = out.File file_envoy_extensions_formatter_metadata_v3_metadata_proto_rawDesc = nil file_envoy_extensions_formatter_metadata_v3_metadata_proto_goTypes = nil file_envoy_extensions_formatter_metadata_v3_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/formatter/metadata/v3/metadata.pb.validate.go000077500000000000000000000061511454502223200307300ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/formatter/metadata/v3/metadata.proto package metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Metadata with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Metadata with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataMultiError, or nil // if none found. func (m *Metadata) ValidateAll() error { return m.validate(true) } func (m *Metadata) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataMultiError(errors) } return nil } // MetadataMultiError is an error wrapping multiple validation errors returned // by Metadata.ValidateAll() if the designated constraints aren't met. type MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMultiError) AllErrors() []error { return m } // MetadataValidationError is the validation error returned by // Metadata.Validate if the designated constraints aren't met. type MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataValidationError) ErrorName() string { return "MetadataValidationError" } // Error satisfies the builtin error interface func (e MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataValidationError{} go-control-plane-0.12.0/envoy/extensions/formatter/req_without_query/000077500000000000000000000000001454502223200261125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/req_without_query/v3/000077500000000000000000000000001454502223200264425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/req_without_query/v3/req_without_query.pb.go000077500000000000000000000167051454502223200332040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/formatter/req_without_query/v3/req_without_query.proto package req_without_queryv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the request without query formatter. type ReqWithoutQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ReqWithoutQuery) Reset() { *x = ReqWithoutQuery{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqWithoutQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqWithoutQuery) ProtoMessage() {} func (x *ReqWithoutQuery) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReqWithoutQuery.ProtoReflect.Descriptor instead. func (*ReqWithoutQuery) Descriptor() ([]byte, []int) { return file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto protoreflect.FileDescriptor var file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0xcb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x52, 0x65, 0x71, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x71, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescOnce sync.Once file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescData = file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDesc ) func file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescGZIP() []byte { file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescOnce.Do(func() { file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescData) }) return file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDescData } var file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_goTypes = []interface{}{ (*ReqWithoutQuery)(nil), // 0: envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery } var file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_init() } func file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_init() { if File_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqWithoutQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_goTypes, DependencyIndexes: file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_depIdxs, MessageInfos: file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_msgTypes, }.Build() File_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto = out.File file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_rawDesc = nil file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_goTypes = nil file_envoy_extensions_formatter_req_without_query_v3_req_without_query_proto_depIdxs = nil } req_without_query.pb.validate.go000077500000000000000000000064661454502223200347200ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/formatter/req_without_query/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/formatter/req_without_query/v3/req_without_query.proto package req_without_queryv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ReqWithoutQuery with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ReqWithoutQuery) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ReqWithoutQuery with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ReqWithoutQueryMultiError, or nil if none found. func (m *ReqWithoutQuery) ValidateAll() error { return m.validate(true) } func (m *ReqWithoutQuery) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ReqWithoutQueryMultiError(errors) } return nil } // ReqWithoutQueryMultiError is an error wrapping multiple validation errors // returned by ReqWithoutQuery.ValidateAll() if the designated constraints // aren't met. type ReqWithoutQueryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ReqWithoutQueryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ReqWithoutQueryMultiError) AllErrors() []error { return m } // ReqWithoutQueryValidationError is the validation error returned by // ReqWithoutQuery.Validate if the designated constraints aren't met. type ReqWithoutQueryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ReqWithoutQueryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ReqWithoutQueryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ReqWithoutQueryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ReqWithoutQueryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ReqWithoutQueryValidationError) ErrorName() string { return "ReqWithoutQueryValidationError" } // Error satisfies the builtin error interface func (e ReqWithoutQueryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sReqWithoutQuery.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ReqWithoutQueryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ReqWithoutQueryValidationError{} go-control-plane-0.12.0/envoy/extensions/geoip_providers/000077500000000000000000000000001454502223200235105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/geoip_providers/common/000077500000000000000000000000001454502223200250005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/geoip_providers/common/v3/000077500000000000000000000000001454502223200253305ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/geoip_providers/common/v3/common.pb.go000077500000000000000000000405211454502223200275540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/geoip_providers/common/v3/common.proto package commonv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CommonGeoipProviderConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for geolocation headers to add to request. GeoHeadersToAdd *CommonGeoipProviderConfig_GeolocationHeadersToAdd `protobuf:"bytes,1,opt,name=geo_headers_to_add,json=geoHeadersToAdd,proto3" json:"geo_headers_to_add,omitempty"` } func (x *CommonGeoipProviderConfig) Reset() { *x = CommonGeoipProviderConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonGeoipProviderConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonGeoipProviderConfig) ProtoMessage() {} func (x *CommonGeoipProviderConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonGeoipProviderConfig.ProtoReflect.Descriptor instead. func (*CommonGeoipProviderConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescGZIP(), []int{0} } func (x *CommonGeoipProviderConfig) GetGeoHeadersToAdd() *CommonGeoipProviderConfig_GeolocationHeadersToAdd { if x != nil { return x.GeoHeadersToAdd } return nil } // The set of geolocation headers to add to request. If any of the configured headers is present // in the incoming request, it will be overridden by the :ref:`Geoip filter `. // [#next-free-field: 10] type CommonGeoipProviderConfig_GeolocationHeadersToAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, the header will be used to populate the country ISO code associated with the IP address. Country string `protobuf:"bytes,1,opt,name=country,proto3" json:"country,omitempty"` // If set, the header will be used to populate the city associated with the IP address. City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"` // If set, the header will be used to populate the region ISO code associated with the IP address. // The least specific subdivision will be selected as region value. Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` // If set, the header will be used to populate the ASN associated with the IP address. Asn string `protobuf:"bytes,4,opt,name=asn,proto3" json:"asn,omitempty"` // If set, the IP address will be checked if it belongs to any type of anonymization network (e.g. VPN, public proxy etc) // and header will be populated with the check result. Header value will be set to either "true" or "false" depending on the check result. IsAnon string `protobuf:"bytes,5,opt,name=is_anon,json=isAnon,proto3" json:"is_anon,omitempty"` // If set, the IP address will be checked if it belongs to a VPN and header will be populated with the check result. // Header value will be set to either "true" or "false" depending on the check result. AnonVpn string `protobuf:"bytes,6,opt,name=anon_vpn,json=anonVpn,proto3" json:"anon_vpn,omitempty"` // If set, the IP address will be checked if it belongs to a hosting provider and header will be populated with the check result. // Header value will be set to either "true" or "false" depending on the check result. AnonHosting string `protobuf:"bytes,7,opt,name=anon_hosting,json=anonHosting,proto3" json:"anon_hosting,omitempty"` // If set, the IP address will be checked if it belongs to a TOR exit node and header will be populated with the check result. // Header value will be set to either "true" or "false" depending on the check result. AnonTor string `protobuf:"bytes,8,opt,name=anon_tor,json=anonTor,proto3" json:"anon_tor,omitempty"` // If set, the IP address will be checked if it belongs to a public proxy and header will be populated with the check result. // Header value will be set to either "true" or "false" depending on the check result. AnonProxy string `protobuf:"bytes,9,opt,name=anon_proxy,json=anonProxy,proto3" json:"anon_proxy,omitempty"` } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) Reset() { *x = CommonGeoipProviderConfig_GeolocationHeadersToAdd{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonGeoipProviderConfig_GeolocationHeadersToAdd) ProtoMessage() {} func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonGeoipProviderConfig_GeolocationHeadersToAdd.ProtoReflect.Descriptor instead. func (*CommonGeoipProviderConfig_GeolocationHeadersToAdd) Descriptor() ([]byte, []int) { return file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescGZIP(), []int{0, 0} } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetCountry() string { if x != nil { return x.Country } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetCity() string { if x != nil { return x.City } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetRegion() string { if x != nil { return x.Region } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetAsn() string { if x != nil { return x.Asn } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetIsAnon() string { if x != nil { return x.IsAnon } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetAnonVpn() string { if x != nil { return x.AnonVpn } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetAnonHosting() string { if x != nil { return x.AnonHosting } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetAnonTor() string { if x != nil { return x.AnonTor } return "" } func (x *CommonGeoipProviderConfig_GeolocationHeadersToAdd) GetAnonProxy() string { if x != nil { return x.AnonProxy } return "" } var File_envoy_extensions_geoip_providers_common_v3_common_proto protoreflect.FileDescriptor var file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x04, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x94, 0x01, 0x0a, 0x12, 0x67, 0x65, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x6f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x67, 0x65, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x1a, 0xf7, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x6f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x06, 0x69, 0x73, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x08, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x76, 0x70, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x07, 0x61, 0x6e, 0x6f, 0x6e, 0x56, 0x70, 0x6e, 0x12, 0x2e, 0x0a, 0x0c, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0b, 0x61, 0x6e, 0x6f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x08, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x07, 0x61, 0x6e, 0x6f, 0x6e, 0x54, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x0a, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0xad, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescOnce sync.Once file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescData = file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDesc ) func file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescGZIP() []byte { file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescOnce.Do(func() { file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescData) }) return file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDescData } var file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_geoip_providers_common_v3_common_proto_goTypes = []interface{}{ (*CommonGeoipProviderConfig)(nil), // 0: envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig (*CommonGeoipProviderConfig_GeolocationHeadersToAdd)(nil), // 1: envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationHeadersToAdd } var file_envoy_extensions_geoip_providers_common_v3_common_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.geo_headers_to_add:type_name -> envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationHeadersToAdd 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_geoip_providers_common_v3_common_proto_init() } func file_envoy_extensions_geoip_providers_common_v3_common_proto_init() { if File_envoy_extensions_geoip_providers_common_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonGeoipProviderConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonGeoipProviderConfig_GeolocationHeadersToAdd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_geoip_providers_common_v3_common_proto_goTypes, DependencyIndexes: file_envoy_extensions_geoip_providers_common_v3_common_proto_depIdxs, MessageInfos: file_envoy_extensions_geoip_providers_common_v3_common_proto_msgTypes, }.Build() File_envoy_extensions_geoip_providers_common_v3_common_proto = out.File file_envoy_extensions_geoip_providers_common_v3_common_proto_rawDesc = nil file_envoy_extensions_geoip_providers_common_v3_common_proto_goTypes = nil file_envoy_extensions_geoip_providers_common_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/geoip_providers/common/v3/common.pb.validate.go000077500000000000000000000313631454502223200313500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/geoip_providers/common/v3/common.proto package commonv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CommonGeoipProviderConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonGeoipProviderConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonGeoipProviderConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonGeoipProviderConfigMultiError, or nil if none found. func (m *CommonGeoipProviderConfig) ValidateAll() error { return m.validate(true) } func (m *CommonGeoipProviderConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetGeoHeadersToAdd() == nil { err := CommonGeoipProviderConfigValidationError{ field: "GeoHeadersToAdd", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGeoHeadersToAdd()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonGeoipProviderConfigValidationError{ field: "GeoHeadersToAdd", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonGeoipProviderConfigValidationError{ field: "GeoHeadersToAdd", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGeoHeadersToAdd()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonGeoipProviderConfigValidationError{ field: "GeoHeadersToAdd", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CommonGeoipProviderConfigMultiError(errors) } return nil } // CommonGeoipProviderConfigMultiError is an error wrapping multiple validation // errors returned by CommonGeoipProviderConfig.ValidateAll() if the // designated constraints aren't met. type CommonGeoipProviderConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonGeoipProviderConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonGeoipProviderConfigMultiError) AllErrors() []error { return m } // CommonGeoipProviderConfigValidationError is the validation error returned by // CommonGeoipProviderConfig.Validate if the designated constraints aren't met. type CommonGeoipProviderConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonGeoipProviderConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonGeoipProviderConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonGeoipProviderConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonGeoipProviderConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonGeoipProviderConfigValidationError) ErrorName() string { return "CommonGeoipProviderConfigValidationError" } // Error satisfies the builtin error interface func (e CommonGeoipProviderConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonGeoipProviderConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonGeoipProviderConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonGeoipProviderConfigValidationError{} // Validate checks the field values on // CommonGeoipProviderConfig_GeolocationHeadersToAdd with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CommonGeoipProviderConfig_GeolocationHeadersToAdd) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CommonGeoipProviderConfig_GeolocationHeadersToAdd with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError, or nil if none found. func (m *CommonGeoipProviderConfig_GeolocationHeadersToAdd) ValidateAll() error { return m.validate(true) } func (m *CommonGeoipProviderConfig_GeolocationHeadersToAdd) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCountry() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_Country_Pattern.MatchString(m.GetCountry()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "Country", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetCity() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_City_Pattern.MatchString(m.GetCity()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "City", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetRegion() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_Region_Pattern.MatchString(m.GetRegion()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "Region", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetAsn() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_Asn_Pattern.MatchString(m.GetAsn()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "Asn", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetIsAnon() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_IsAnon_Pattern.MatchString(m.GetIsAnon()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "IsAnon", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetAnonVpn() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonVpn_Pattern.MatchString(m.GetAnonVpn()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "AnonVpn", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetAnonHosting() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonHosting_Pattern.MatchString(m.GetAnonHosting()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "AnonHosting", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetAnonTor() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonTor_Pattern.MatchString(m.GetAnonTor()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "AnonTor", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if m.GetAnonProxy() != "" { if !_CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonProxy_Pattern.MatchString(m.GetAnonProxy()) { err := CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{ field: "AnonProxy", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError(errors) } return nil } // CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError is an error // wrapping multiple validation errors returned by // CommonGeoipProviderConfig_GeolocationHeadersToAdd.ValidateAll() if the // designated constraints aren't met. type CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonGeoipProviderConfig_GeolocationHeadersToAddMultiError) AllErrors() []error { return m } // CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError is the // validation error returned by // CommonGeoipProviderConfig_GeolocationHeadersToAdd.Validate if the // designated constraints aren't met. type CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) ErrorName() string { return "CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError" } // Error satisfies the builtin error interface func (e CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonGeoipProviderConfig_GeolocationHeadersToAdd.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonGeoipProviderConfig_GeolocationHeadersToAddValidationError{} var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_Country_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_City_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_Region_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_Asn_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_IsAnon_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonVpn_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonHosting_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonTor_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") var _CommonGeoipProviderConfig_GeolocationHeadersToAdd_AnonProxy_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/extensions/geoip_providers/maxmind/000077500000000000000000000000001454502223200251455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/geoip_providers/maxmind/v3/000077500000000000000000000000001454502223200254755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/geoip_providers/maxmind/v3/maxmind.pb.go000077500000000000000000000262351454502223200300740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/geoip_providers/maxmind/v3/maxmind.proto package maxmindv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/geoip_providers/common/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type MaxMindConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Full file path to the Maxmind city database, e.g. /etc/GeoLite2-City.mmdb. // Database file is expected to have .mmdb extension. CityDbPath string `protobuf:"bytes,1,opt,name=city_db_path,json=cityDbPath,proto3" json:"city_db_path,omitempty"` // Full file path to the Maxmind ASN database, e.g. /etc/GeoLite2-ASN.mmdb. // Database file is expected to have .mmdb extension. IspDbPath string `protobuf:"bytes,2,opt,name=isp_db_path,json=ispDbPath,proto3" json:"isp_db_path,omitempty"` // Full file path to the Maxmind anonymous IP database, e.g. /etc/GeoIP2-Anonymous-IP.mmdb. // Database file is expected to have .mmdb extension. AnonDbPath string `protobuf:"bytes,3,opt,name=anon_db_path,json=anonDbPath,proto3" json:"anon_db_path,omitempty"` // Common provider configuration that specifies which geolocation headers will be populated with geolocation data. CommonProviderConfig *v3.CommonGeoipProviderConfig `protobuf:"bytes,4,opt,name=common_provider_config,json=commonProviderConfig,proto3" json:"common_provider_config,omitempty"` } func (x *MaxMindConfig) Reset() { *x = MaxMindConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MaxMindConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*MaxMindConfig) ProtoMessage() {} func (x *MaxMindConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MaxMindConfig.ProtoReflect.Descriptor instead. func (*MaxMindConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescGZIP(), []int{0} } func (x *MaxMindConfig) GetCityDbPath() string { if x != nil { return x.CityDbPath } return "" } func (x *MaxMindConfig) GetIspDbPath() string { if x != nil { return x.IspDbPath } return "" } func (x *MaxMindConfig) GetAnonDbPath() string { if x != nil { return x.AnonDbPath } return "" } func (x *MaxMindConfig) GetCommonProviderConfig() *v3.CommonGeoipProviderConfig { if x != nil { return x.CommonProviderConfig } return nil } var File_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto protoreflect.FileDescriptor var file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDesc = []byte{ 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x02, 0x0a, 0x0d, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x0c, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xfa, 0x42, 0x11, 0x72, 0x0f, 0x32, 0x0d, 0x5e, 0x24, 0x7c, 0x5e, 0x2e, 0x2a, 0x5c, 0x2e, 0x6d, 0x6d, 0x64, 0x62, 0x24, 0x52, 0x0a, 0x63, 0x69, 0x74, 0x79, 0x44, 0x62, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x73, 0x70, 0x5f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xfa, 0x42, 0x11, 0x72, 0x0f, 0x32, 0x0d, 0x5e, 0x24, 0x7c, 0x5e, 0x2e, 0x2a, 0x5c, 0x2e, 0x6d, 0x6d, 0x64, 0x62, 0x24, 0x52, 0x09, 0x69, 0x73, 0x70, 0x44, 0x62, 0x50, 0x61, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x0c, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xfa, 0x42, 0x11, 0x72, 0x0f, 0x32, 0x0d, 0x5e, 0x24, 0x7c, 0x5e, 0x2e, 0x2a, 0x5c, 0x2e, 0x6d, 0x6d, 0x64, 0x62, 0x24, 0x52, 0x0a, 0x61, 0x6e, 0x6f, 0x6e, 0x44, 0x62, 0x50, 0x61, 0x74, 0x68, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x4d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x78, 0x6d, 0x69, 0x6e, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescOnce sync.Once file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescData = file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDesc ) func file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescGZIP() []byte { file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescOnce.Do(func() { file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescData) }) return file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDescData } var file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_goTypes = []interface{}{ (*MaxMindConfig)(nil), // 0: envoy.extensions.geoip_providers.maxmind.v3.MaxMindConfig (*v3.CommonGeoipProviderConfig)(nil), // 1: envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig } var file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.geoip_providers.maxmind.v3.MaxMindConfig.common_provider_config:type_name -> envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_init() } func file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_init() { if File_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MaxMindConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_goTypes, DependencyIndexes: file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_depIdxs, MessageInfos: file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_msgTypes, }.Build() File_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto = out.File file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_rawDesc = nil file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_goTypes = nil file_envoy_extensions_geoip_providers_maxmind_v3_maxmind_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/geoip_providers/maxmind/v3/maxmind.pb.validate.go000077500000000000000000000125311454502223200316560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/geoip_providers/maxmind/v3/maxmind.proto package maxmindv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MaxMindConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MaxMindConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MaxMindConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MaxMindConfigMultiError, or // nil if none found. func (m *MaxMindConfig) ValidateAll() error { return m.validate(true) } func (m *MaxMindConfig) validate(all bool) error { if m == nil { return nil } var errors []error if !_MaxMindConfig_CityDbPath_Pattern.MatchString(m.GetCityDbPath()) { err := MaxMindConfigValidationError{ field: "CityDbPath", reason: "value does not match regex pattern \"^$|^.*\\\\.mmdb$\"", } if !all { return err } errors = append(errors, err) } if !_MaxMindConfig_IspDbPath_Pattern.MatchString(m.GetIspDbPath()) { err := MaxMindConfigValidationError{ field: "IspDbPath", reason: "value does not match regex pattern \"^$|^.*\\\\.mmdb$\"", } if !all { return err } errors = append(errors, err) } if !_MaxMindConfig_AnonDbPath_Pattern.MatchString(m.GetAnonDbPath()) { err := MaxMindConfigValidationError{ field: "AnonDbPath", reason: "value does not match regex pattern \"^$|^.*\\\\.mmdb$\"", } if !all { return err } errors = append(errors, err) } if m.GetCommonProviderConfig() == nil { err := MaxMindConfigValidationError{ field: "CommonProviderConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonProviderConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MaxMindConfigValidationError{ field: "CommonProviderConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MaxMindConfigValidationError{ field: "CommonProviderConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonProviderConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MaxMindConfigValidationError{ field: "CommonProviderConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MaxMindConfigMultiError(errors) } return nil } // MaxMindConfigMultiError is an error wrapping multiple validation errors // returned by MaxMindConfig.ValidateAll() if the designated constraints // aren't met. type MaxMindConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MaxMindConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MaxMindConfigMultiError) AllErrors() []error { return m } // MaxMindConfigValidationError is the validation error returned by // MaxMindConfig.Validate if the designated constraints aren't met. type MaxMindConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MaxMindConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MaxMindConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MaxMindConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MaxMindConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MaxMindConfigValidationError) ErrorName() string { return "MaxMindConfigValidationError" } // Error satisfies the builtin error interface func (e MaxMindConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMaxMindConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MaxMindConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MaxMindConfigValidationError{} var _MaxMindConfig_CityDbPath_Pattern = regexp.MustCompile("^$|^.*\\.mmdb$") var _MaxMindConfig_IspDbPath_Pattern = regexp.MustCompile("^$|^.*\\.mmdb$") var _MaxMindConfig_AnonDbPath_Pattern = regexp.MustCompile("^$|^.*\\.mmdb$") go-control-plane-0.12.0/envoy/extensions/health_check/000077500000000000000000000000001454502223200227125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_check/event_sinks/000077500000000000000000000000001454502223200252425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_check/event_sinks/file/000077500000000000000000000000001454502223200261615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_check/event_sinks/file/v3/000077500000000000000000000000001454502223200265115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_check/event_sinks/file/v3/file.pb.go000077500000000000000000000176251454502223200303750ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/health_check/event_sinks/file/v3/file.proto package filev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Health check event file sink. // The health check event will be converted to JSON. type HealthCheckEventFileSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the path to the health check event log. EventLogPath string `protobuf:"bytes,1,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"` } func (x *HealthCheckEventFileSink) Reset() { *x = HealthCheckEventFileSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckEventFileSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckEventFileSink) ProtoMessage() {} func (x *HealthCheckEventFileSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckEventFileSink.ProtoReflect.Descriptor instead. func (*HealthCheckEventFileSink) Descriptor() ([]byte, []int) { return file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescGZIP(), []int{0} } func (x *HealthCheckEventFileSink) GetEventLogPath() string { if x != nil { return x.EventLogPath } return "" } var File_envoy_extensions_health_check_event_sinks_file_v3_file_proto protoreflect.FileDescriptor var file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x2d, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x42, 0xb7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x6c, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescOnce sync.Once file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescData = file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDesc ) func file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescGZIP() []byte { file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescOnce.Do(func() { file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescData) }) return file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDescData } var file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_goTypes = []interface{}{ (*HealthCheckEventFileSink)(nil), // 0: envoy.extensions.health_check.event_sinks.file.v3.HealthCheckEventFileSink } var file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_init() } func file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_init() { if File_envoy_extensions_health_check_event_sinks_file_v3_file_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckEventFileSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_goTypes, DependencyIndexes: file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_depIdxs, MessageInfos: file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_msgTypes, }.Build() File_envoy_extensions_health_check_event_sinks_file_v3_file_proto = out.File file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_rawDesc = nil file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_goTypes = nil file_envoy_extensions_health_check_event_sinks_file_v3_file_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/health_check/event_sinks/file/v3/file.pb.validate.go000077500000000000000000000073741454502223200321650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/health_check/event_sinks/file/v3/file.proto package filev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HealthCheckEventFileSink with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckEventFileSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckEventFileSink with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckEventFileSinkMultiError, or nil if none found. func (m *HealthCheckEventFileSink) ValidateAll() error { return m.validate(true) } func (m *HealthCheckEventFileSink) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetEventLogPath()) < 1 { err := HealthCheckEventFileSinkValidationError{ field: "EventLogPath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HealthCheckEventFileSinkMultiError(errors) } return nil } // HealthCheckEventFileSinkMultiError is an error wrapping multiple validation // errors returned by HealthCheckEventFileSink.ValidateAll() if the designated // constraints aren't met. type HealthCheckEventFileSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckEventFileSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckEventFileSinkMultiError) AllErrors() []error { return m } // HealthCheckEventFileSinkValidationError is the validation error returned by // HealthCheckEventFileSink.Validate if the designated constraints aren't met. type HealthCheckEventFileSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckEventFileSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckEventFileSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckEventFileSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckEventFileSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckEventFileSinkValidationError) ErrorName() string { return "HealthCheckEventFileSinkValidationError" } // Error satisfies the builtin error interface func (e HealthCheckEventFileSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckEventFileSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckEventFileSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckEventFileSinkValidationError{} go-control-plane-0.12.0/envoy/extensions/health_checkers/000077500000000000000000000000001454502223200234245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_checkers/redis/000077500000000000000000000000001454502223200245325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_checkers/redis/v3/000077500000000000000000000000001454502223200250625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_checkers/redis/v3/redis.pb.go000077500000000000000000000167401454502223200271320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/health_checkers/redis/v3/redis.proto package redisv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Redis struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, optionally perform “EXISTS “ instead of “PING“. A return value // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance // by setting the specified key to any value and waiting for traffic to drain. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *Redis) Reset() { *x = Redis{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_health_checkers_redis_v3_redis_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Redis) String() string { return protoimpl.X.MessageStringOf(x) } func (*Redis) ProtoMessage() {} func (x *Redis) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_health_checkers_redis_v3_redis_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Redis.ProtoReflect.Descriptor instead. func (*Redis) Descriptor() ([]byte, []int) { return file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescGZIP(), []int{0} } func (x *Redis) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_extensions_health_checkers_redis_v3_redis_proto protoreflect.FileDescriptor var file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x05, 0x52, 0x65, 0x64, 0x69, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescOnce sync.Once file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescData = file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDesc ) func file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescGZIP() []byte { file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescOnce.Do(func() { file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescData) }) return file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDescData } var file_envoy_extensions_health_checkers_redis_v3_redis_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_health_checkers_redis_v3_redis_proto_goTypes = []interface{}{ (*Redis)(nil), // 0: envoy.extensions.health_checkers.redis.v3.Redis } var file_envoy_extensions_health_checkers_redis_v3_redis_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_health_checkers_redis_v3_redis_proto_init() } func file_envoy_extensions_health_checkers_redis_v3_redis_proto_init() { if File_envoy_extensions_health_checkers_redis_v3_redis_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_health_checkers_redis_v3_redis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Redis); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_health_checkers_redis_v3_redis_proto_goTypes, DependencyIndexes: file_envoy_extensions_health_checkers_redis_v3_redis_proto_depIdxs, MessageInfos: file_envoy_extensions_health_checkers_redis_v3_redis_proto_msgTypes, }.Build() File_envoy_extensions_health_checkers_redis_v3_redis_proto = out.File file_envoy_extensions_health_checkers_redis_v3_redis_proto_rawDesc = nil file_envoy_extensions_health_checkers_redis_v3_redis_proto_goTypes = nil file_envoy_extensions_health_checkers_redis_v3_redis_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/health_checkers/redis/v3/redis.pb.validate.go000077500000000000000000000060711454502223200307160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/health_checkers/redis/v3/redis.proto package redisv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Redis with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Redis) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Redis with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RedisMultiError, or nil if none found. func (m *Redis) ValidateAll() error { return m.validate(true) } func (m *Redis) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key if len(errors) > 0 { return RedisMultiError(errors) } return nil } // RedisMultiError is an error wrapping multiple validation errors returned by // Redis.ValidateAll() if the designated constraints aren't met. type RedisMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedisMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedisMultiError) AllErrors() []error { return m } // RedisValidationError is the validation error returned by Redis.Validate if // the designated constraints aren't met. type RedisValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedisValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedisValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedisValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedisValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedisValidationError) ErrorName() string { return "RedisValidationError" } // Error satisfies the builtin error interface func (e RedisValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedis.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedisValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedisValidationError{} go-control-plane-0.12.0/envoy/extensions/health_checkers/thrift/000077500000000000000000000000001454502223200247245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_checkers/thrift/v3/000077500000000000000000000000001454502223200252545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/health_checkers/thrift/v3/thrift.pb.go000077500000000000000000000264471454502223200275230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/health_checkers/thrift/v3/thrift.proto package thriftv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/thrift_proxy/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Thrift struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the method name that will be set on each health check request dispatched to an upstream host. // Note that method name is case sensitive. MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` // Configures the transport type to be used with the health checks. Note that // :ref:`AUTO_TRANSPORT` // is not supported, and we don't honor :ref:`ThriftProtocolOptions` // since it's possible to set to :ref:`AUTO_TRANSPORT`. // [#extension-category: envoy.filters.network] Transport v3.TransportType `protobuf:"varint,2,opt,name=transport,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.TransportType" json:"transport,omitempty"` // Configures the protocol type to be used with the health checks. Note that // :ref:`AUTO_PROTOCOL` // and :ref:`TWITTER` // are not supported, and we don't honor :ref:`ThriftProtocolOptions` // since it's possible to set to :ref:`AUTO_PROTOCOL` // or :ref:`TWITTER`. Protocol v3.ProtocolType `protobuf:"varint,3,opt,name=protocol,proto3,enum=envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType" json:"protocol,omitempty"` } func (x *Thrift) Reset() { *x = Thrift{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Thrift) String() string { return protoimpl.X.MessageStringOf(x) } func (*Thrift) ProtoMessage() {} func (x *Thrift) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Thrift.ProtoReflect.Descriptor instead. func (*Thrift) Descriptor() ([]byte, []int) { return file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescGZIP(), []int{0} } func (x *Thrift) GetMethodName() string { if x != nil { return x.MethodName } return "" } func (x *Thrift) GetTransport() v3.TransportType { if x != nil { return x.Transport } return v3.TransportType(0) } func (x *Thrift) GetProtocol() v3.ProtocolType { if x != nil { return x.Protocol } return v3.ProtocolType(0) } var File_envoy_extensions_health_checkers_thrift_v3_thrift_proto protoreflect.FileDescriptor var file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, 0x0a, 0x06, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0xad, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescOnce sync.Once file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescData = file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDesc ) func file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescGZIP() []byte { file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescOnce.Do(func() { file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescData) }) return file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDescData } var file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_goTypes = []interface{}{ (*Thrift)(nil), // 0: envoy.extensions.health_checkers.thrift.v3.Thrift (v3.TransportType)(0), // 1: envoy.extensions.filters.network.thrift_proxy.v3.TransportType (v3.ProtocolType)(0), // 2: envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType } var file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.health_checkers.thrift.v3.Thrift.transport:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.TransportType 2, // 1: envoy.extensions.health_checkers.thrift.v3.Thrift.protocol:type_name -> envoy.extensions.filters.network.thrift_proxy.v3.ProtocolType 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_init() } func file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_init() { if File_envoy_extensions_health_checkers_thrift_v3_thrift_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Thrift); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_goTypes, DependencyIndexes: file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_depIdxs, MessageInfos: file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_msgTypes, }.Build() File_envoy_extensions_health_checkers_thrift_v3_thrift_proto = out.File file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_rawDesc = nil file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_goTypes = nil file_envoy_extensions_health_checkers_thrift_v3_thrift_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/health_checkers/thrift/v3/thrift.pb.validate.go000077500000000000000000000076061454502223200313070ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/health_checkers/thrift/v3/thrift.proto package thriftv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/thrift_proxy/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.TransportType(0) ) // Validate checks the field values on Thrift with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Thrift) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Thrift with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ThriftMultiError, or nil if none found. func (m *Thrift) ValidateAll() error { return m.validate(true) } func (m *Thrift) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetMethodName()) < 1 { err := ThriftValidationError{ field: "MethodName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if _, ok := v3.TransportType_name[int32(m.GetTransport())]; !ok { err := ThriftValidationError{ field: "Transport", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := v3.ProtocolType_name[int32(m.GetProtocol())]; !ok { err := ThriftValidationError{ field: "Protocol", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ThriftMultiError(errors) } return nil } // ThriftMultiError is an error wrapping multiple validation errors returned by // Thrift.ValidateAll() if the designated constraints aren't met. type ThriftMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ThriftMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ThriftMultiError) AllErrors() []error { return m } // ThriftValidationError is the validation error returned by Thrift.Validate if // the designated constraints aren't met. type ThriftValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ThriftValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ThriftValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ThriftValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ThriftValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ThriftValidationError) ErrorName() string { return "ThriftValidationError" } // Error satisfies the builtin error interface func (e ThriftValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sThrift.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ThriftValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ThriftValidationError{} go-control-plane-0.12.0/envoy/extensions/http/000077500000000000000000000000001454502223200212675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/000077500000000000000000000000001454502223200223325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/file_system_http_cache/000077500000000000000000000000001454502223200270375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/file_system_http_cache/v3/000077500000000000000000000000001454502223200273675ustar00rootroot00000000000000file_system_http_cache.pb.go000077500000000000000000000537671454502223200347710ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/file_system_http_cache/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/cache/file_system_http_cache/v3/file_system_http_cache.proto package file_system_http_cachev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/async_files/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for a cache implementation that caches in the local file system. // // By default this cache uses a least-recently-used eviction strategy. // // For implementation details, see `DESIGN.md `_. // [#next-free-field: 11] type FileSystemHttpCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration of a manager for how the file system is used asynchronously. ManagerConfig *v3.AsyncFileManagerConfig `protobuf:"bytes,1,opt,name=manager_config,json=managerConfig,proto3" json:"manager_config,omitempty"` // Path at which the cache files will be stored. // // This also doubles as the unique identifier for a cache, so a cache can be shared // between different routes, or separate paths can be used to specify separate caches. // // If the same “cache_path“ is used in more than one “CacheConfig“, the rest of the // “FileSystemHttpCacheConfig“ must also match, and will refer to the same cache // instance. CachePath string `protobuf:"bytes,2,opt,name=cache_path,json=cachePath,proto3" json:"cache_path,omitempty"` // The maximum size of the cache in bytes - when reached, cache eviction is triggered. // // This is measured as the sum of file sizes, such that it includes headers, trailers, // and metadata, but does not include e.g. file system overhead and block size padding. // // If unset there is no limit except file system failure. MaxCacheSizeBytes *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=max_cache_size_bytes,json=maxCacheSizeBytes,proto3" json:"max_cache_size_bytes,omitempty"` // The maximum size of a cache entry in bytes - larger responses will not be cached. // // This is measured as the file size for the cache entry, such that it includes // headers, trailers, and metadata. // // If unset there is no limit. // // [#not-implemented-hide:] MaxIndividualCacheEntrySizeBytes *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=max_individual_cache_entry_size_bytes,json=maxIndividualCacheEntrySizeBytes,proto3" json:"max_individual_cache_entry_size_bytes,omitempty"` // The maximum number of cache entries - when reached, cache eviction is triggered. // // If unset there is no limit. MaxCacheEntryCount *wrappers.UInt64Value `protobuf:"bytes,5,opt,name=max_cache_entry_count,json=maxCacheEntryCount,proto3" json:"max_cache_entry_count,omitempty"` // A number of folders into which to subdivide the cache. // // Setting this can help with performance in file systems where a large number of inodes // in a single branch degrades performance. The optimal value in that case would be // “sqrt(expected_cache_entry_count)“. // // On file systems that perform well with many inodes, the default value of 1 should be used. // // [#not-implemented-hide:] CacheSubdivisions uint32 `protobuf:"varint,6,opt,name=cache_subdivisions,json=cacheSubdivisions,proto3" json:"cache_subdivisions,omitempty"` // The amount of the maximum cache size or count to evict when cache eviction is // triggered. For example, if “max_cache_size_bytes“ is 10000000 and “evict_fraction“ // is 0.2, then when the cache exceeds 10MB, entries will be evicted until the cache size is // less than or equal to 8MB. // // The default value of 0 means when the cache exceeds 10MB, entries will be evicted only // until the cache is less than or equal to 10MB. // // Evicting a larger fraction will mean the eviction thread will run less often (sparing // CPU load) at the cost of more cache misses due to the extra evicted entries. // // [#not-implemented-hide:] EvictFraction float32 `protobuf:"fixed32,7,opt,name=evict_fraction,json=evictFraction,proto3" json:"evict_fraction,omitempty"` // The longest amount of time to wait before running a cache eviction pass. An eviction // pass may not necessarily remove any files, but it will update the cache state to match // the on-disk state. This can be important if multiple instances are accessing the same // cache in parallel. (e.g. if two instances each independently added non-overlapping 10MB // of content to a cache with a 15MB limit, neither instance would be aware that the limit // was exceeded without this synchronizing pass.) // // If an eviction pass has not happened within this duration, the eviction thread will // be awoken and perform an eviction pass. // // If unset, there will be no eviction passes except those triggered by cache limits. // // [#not-implemented-hide:] MaxEvictionPeriod *duration.Duration `protobuf:"bytes,8,opt,name=max_eviction_period,json=maxEvictionPeriod,proto3" json:"max_eviction_period,omitempty"` // The shortest amount of time between cache eviction passes. This can be used to reduce // eviction churn, if your cache max size can be flexible. If a cache eviction pass already // occurred more recently than this period when another would be triggered, that new // pass is cancelled. // // This means the cache can potentially grow beyond “max_cache_size_bytes“ by as much as // can be written within the duration specified. // // Generally you would use *either* “min_eviction_period“ *or* “evict_fraction“ to // reduce churn. Both together will work but since they're both aiming for the same goal, // it's simpler not to. // // [#not-implemented-hide:] MinEvictionPeriod *duration.Duration `protobuf:"bytes,9,opt,name=min_eviction_period,json=minEvictionPeriod,proto3" json:"min_eviction_period,omitempty"` // If true, and the cache path does not exist, attempt to create the cache path, including // any missing directories leading up to it. On failure, the config is rejected. // // If false, and the cache path does not exist, the config is rejected. // // [#not-implemented-hide:] CreateCachePath bool `protobuf:"varint,10,opt,name=create_cache_path,json=createCachePath,proto3" json:"create_cache_path,omitempty"` } func (x *FileSystemHttpCacheConfig) Reset() { *x = FileSystemHttpCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileSystemHttpCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileSystemHttpCacheConfig) ProtoMessage() {} func (x *FileSystemHttpCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileSystemHttpCacheConfig.ProtoReflect.Descriptor instead. func (*FileSystemHttpCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescGZIP(), []int{0} } func (x *FileSystemHttpCacheConfig) GetManagerConfig() *v3.AsyncFileManagerConfig { if x != nil { return x.ManagerConfig } return nil } func (x *FileSystemHttpCacheConfig) GetCachePath() string { if x != nil { return x.CachePath } return "" } func (x *FileSystemHttpCacheConfig) GetMaxCacheSizeBytes() *wrappers.UInt64Value { if x != nil { return x.MaxCacheSizeBytes } return nil } func (x *FileSystemHttpCacheConfig) GetMaxIndividualCacheEntrySizeBytes() *wrappers.UInt64Value { if x != nil { return x.MaxIndividualCacheEntrySizeBytes } return nil } func (x *FileSystemHttpCacheConfig) GetMaxCacheEntryCount() *wrappers.UInt64Value { if x != nil { return x.MaxCacheEntryCount } return nil } func (x *FileSystemHttpCacheConfig) GetCacheSubdivisions() uint32 { if x != nil { return x.CacheSubdivisions } return 0 } func (x *FileSystemHttpCacheConfig) GetEvictFraction() float32 { if x != nil { return x.EvictFraction } return 0 } func (x *FileSystemHttpCacheConfig) GetMaxEvictionPeriod() *duration.Duration { if x != nil { return x.MaxEvictionPeriod } return nil } func (x *FileSystemHttpCacheConfig) GetMinEvictionPeriod() *duration.Duration { if x != nil { return x.MinEvictionPeriod } return nil } func (x *FileSystemHttpCacheConfig) GetCreateCachePath() bool { if x != nil { return x.CreateCachePath } return false } var File_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto protoreflect.FileDescriptor var file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x05, 0x0a, 0x19, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x25, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x65, 0x76, 0x69, 0x63, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0xe8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x75, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescOnce sync.Once file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescData = file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDesc ) func file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescGZIP() []byte { file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescData) }) return file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDescData } var file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_goTypes = []interface{}{ (*FileSystemHttpCacheConfig)(nil), // 0: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig (*v3.AsyncFileManagerConfig)(nil), // 1: envoy.extensions.common.async_files.v3.AsyncFileManagerConfig (*wrappers.UInt64Value)(nil), // 2: google.protobuf.UInt64Value (*duration.Duration)(nil), // 3: google.protobuf.Duration } var file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.manager_config:type_name -> envoy.extensions.common.async_files.v3.AsyncFileManagerConfig 2, // 1: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.max_cache_size_bytes:type_name -> google.protobuf.UInt64Value 2, // 2: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.max_individual_cache_entry_size_bytes:type_name -> google.protobuf.UInt64Value 2, // 3: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.max_cache_entry_count:type_name -> google.protobuf.UInt64Value 3, // 4: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.max_eviction_period:type_name -> google.protobuf.Duration 3, // 5: envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig.min_eviction_period:type_name -> google.protobuf.Duration 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_init() } func file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_init() { if File_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileSystemHttpCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_depIdxs, MessageInfos: file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_msgTypes, }.Build() File_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto = out.File file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_rawDesc = nil file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_goTypes = nil file_envoy_extensions_http_cache_file_system_http_cache_v3_file_system_http_cache_proto_depIdxs = nil } file_system_http_cache.pb.validate.go000077500000000000000000000230231454502223200365370ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/file_system_http_cache/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/cache/file_system_http_cache/v3/file_system_http_cache.proto package file_system_http_cachev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileSystemHttpCacheConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FileSystemHttpCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileSystemHttpCacheConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FileSystemHttpCacheConfigMultiError, or nil if none found. func (m *FileSystemHttpCacheConfig) ValidateAll() error { return m.validate(true) } func (m *FileSystemHttpCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetManagerConfig() == nil { err := FileSystemHttpCacheConfigValidationError{ field: "ManagerConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetManagerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetManagerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "ManagerConfig", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetCachePath()) < 1 { err := FileSystemHttpCacheConfigValidationError{ field: "CachePath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMaxCacheSizeBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxCacheSizeBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxCacheSizeBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxCacheSizeBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "MaxCacheSizeBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxIndividualCacheEntrySizeBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxIndividualCacheEntrySizeBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxIndividualCacheEntrySizeBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxIndividualCacheEntrySizeBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "MaxIndividualCacheEntrySizeBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxCacheEntryCount()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxCacheEntryCount", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxCacheEntryCount", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxCacheEntryCount()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "MaxCacheEntryCount", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CacheSubdivisions // no validation rules for EvictFraction if all { switch v := interface{}(m.GetMaxEvictionPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxEvictionPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MaxEvictionPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxEvictionPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "MaxEvictionPeriod", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinEvictionPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MinEvictionPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileSystemHttpCacheConfigValidationError{ field: "MinEvictionPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinEvictionPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileSystemHttpCacheConfigValidationError{ field: "MinEvictionPeriod", reason: "embedded message failed validation", cause: err, } } } // no validation rules for CreateCachePath if len(errors) > 0 { return FileSystemHttpCacheConfigMultiError(errors) } return nil } // FileSystemHttpCacheConfigMultiError is an error wrapping multiple validation // errors returned by FileSystemHttpCacheConfig.ValidateAll() if the // designated constraints aren't met. type FileSystemHttpCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileSystemHttpCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileSystemHttpCacheConfigMultiError) AllErrors() []error { return m } // FileSystemHttpCacheConfigValidationError is the validation error returned by // FileSystemHttpCacheConfig.Validate if the designated constraints aren't met. type FileSystemHttpCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileSystemHttpCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileSystemHttpCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileSystemHttpCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileSystemHttpCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileSystemHttpCacheConfigValidationError) ErrorName() string { return "FileSystemHttpCacheConfigValidationError" } // Error satisfies the builtin error interface func (e FileSystemHttpCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileSystemHttpCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileSystemHttpCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileSystemHttpCacheConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/http/cache/simple_http_cache/000077500000000000000000000000001454502223200260055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/simple_http_cache/v3/000077500000000000000000000000001454502223200263355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/cache/simple_http_cache/v3/config.pb.go000077500000000000000000000162431454502223200305420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/cache/simple_http_cache/v3/config.proto package simple_http_cachev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.extensions.http.cache.simple] type SimpleHttpCacheConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SimpleHttpCacheConfig) Reset() { *x = SimpleHttpCacheConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SimpleHttpCacheConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SimpleHttpCacheConfig) ProtoMessage() {} func (x *SimpleHttpCacheConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SimpleHttpCacheConfig.ProtoReflect.Descriptor instead. func (*SimpleHttpCacheConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_http_cache_simple_http_cache_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescData = file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDesc ) func file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescData) }) return file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDescData } var file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_goTypes = []interface{}{ (*SimpleHttpCacheConfig)(nil), // 0: envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig } var file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_init() } func file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_init() { if File_envoy_extensions_http_cache_simple_http_cache_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimpleHttpCacheConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_http_cache_simple_http_cache_v3_config_proto = out.File file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_rawDesc = nil file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_goTypes = nil file_envoy_extensions_http_cache_simple_http_cache_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/http/cache/simple_http_cache/v3/config.pb.validate.go000077500000000000000000000067031454502223200323320ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/cache/simple_http_cache/v3/config.proto package simple_http_cachev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SimpleHttpCacheConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SimpleHttpCacheConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SimpleHttpCacheConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SimpleHttpCacheConfigMultiError, or nil if none found. func (m *SimpleHttpCacheConfig) ValidateAll() error { return m.validate(true) } func (m *SimpleHttpCacheConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SimpleHttpCacheConfigMultiError(errors) } return nil } // SimpleHttpCacheConfigMultiError is an error wrapping multiple validation // errors returned by SimpleHttpCacheConfig.ValidateAll() if the designated // constraints aren't met. type SimpleHttpCacheConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SimpleHttpCacheConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SimpleHttpCacheConfigMultiError) AllErrors() []error { return m } // SimpleHttpCacheConfigValidationError is the validation error returned by // SimpleHttpCacheConfig.Validate if the designated constraints aren't met. type SimpleHttpCacheConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SimpleHttpCacheConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SimpleHttpCacheConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SimpleHttpCacheConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SimpleHttpCacheConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SimpleHttpCacheConfigValidationError) ErrorName() string { return "SimpleHttpCacheConfigValidationError" } // Error satisfies the builtin error interface func (e SimpleHttpCacheConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSimpleHttpCacheConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SimpleHttpCacheConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SimpleHttpCacheConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/http/custom_response/000077500000000000000000000000001454502223200245175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/local_response_policy/000077500000000000000000000000001454502223200311065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/local_response_policy/v3/000077500000000000000000000000001454502223200314365ustar00rootroot00000000000000local_response_policy.pb.go000077500000000000000000000344701454502223200367100ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/local_response_policy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/custom_response/local_response_policy/v3/local_response_policy.proto package local_response_policyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom response policy to serve a locally stored response to the // downstream. type LocalResponsePolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Optional new local reply body text. It will be used // in the “%LOCAL_REPLY_BODY%“ command operator in the “body_format“. Body *v3.DataSource `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` // Optional body format to be used for this response. If “body_format“ is not // provided, and “body“ is, the contents of “body“ will be used to populate // the body of the local reply without formatting. BodyFormat *v3.SubstitutionFormatString `protobuf:"bytes,2,opt,name=body_format,json=bodyFormat,proto3" json:"body_format,omitempty"` // The new response status code if specified. StatusCode *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` // HTTP headers to add to the response. This allows the // response policy to append, to add or to override headers of // the original response for local body, or the custom response from the // remote body, before it is sent to a downstream client. ResponseHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` } func (x *LocalResponsePolicy) Reset() { *x = LocalResponsePolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalResponsePolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalResponsePolicy) ProtoMessage() {} func (x *LocalResponsePolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalResponsePolicy.ProtoReflect.Descriptor instead. func (*LocalResponsePolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescGZIP(), []int{0} } func (x *LocalResponsePolicy) GetBody() *v3.DataSource { if x != nil { return x.Body } return nil } func (x *LocalResponsePolicy) GetBodyFormat() *v3.SubstitutionFormatString { if x != nil { return x.BodyFormat } return nil } func (x *LocalResponsePolicy) GetStatusCode() *wrappers.UInt32Value { if x != nil { return x.StatusCode } return nil } func (x *LocalResponsePolicy) GetResponseHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } var File_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto protoreflect.FileDescriptor var file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDesc = []byte{ 0x0a, 0x5a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x02, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x4f, 0x0a, 0x0b, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 0x28, 0xc8, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x42, 0xf9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescOnce sync.Once file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescData = file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDesc ) func file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescGZIP() []byte { file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescData) }) return file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDescData } var file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_goTypes = []interface{}{ (*LocalResponsePolicy)(nil), // 0: envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource (*v3.SubstitutionFormatString)(nil), // 2: envoy.config.core.v3.SubstitutionFormatString (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value (*v3.HeaderValueOption)(nil), // 4: envoy.config.core.v3.HeaderValueOption } var file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy.body:type_name -> envoy.config.core.v3.DataSource 2, // 1: envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString 3, // 2: envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy.status_code:type_name -> google.protobuf.UInt32Value 4, // 3: envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_init() } func file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_init() { if File_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalResponsePolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_depIdxs, MessageInfos: file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_msgTypes, }.Build() File_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto = out.File file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_rawDesc = nil file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_goTypes = nil file_envoy_extensions_http_custom_response_local_response_policy_v3_local_response_policy_proto_depIdxs = nil } local_response_policy.pb.validate.go000077500000000000000000000151761454502223200405020ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/local_response_policy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/custom_response/local_response_policy/v3/local_response_policy.proto package local_response_policyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LocalResponsePolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LocalResponsePolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalResponsePolicy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalResponsePolicyMultiError, or nil if none found. func (m *LocalResponsePolicy) ValidateAll() error { return m.validate(true) } func (m *LocalResponsePolicy) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalResponsePolicyValidationError{ field: "Body", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetBodyFormat()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBodyFormat()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalResponsePolicyValidationError{ field: "BodyFormat", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetStatusCode(); wrapper != nil { if val := wrapper.GetValue(); val < 200 || val >= 600 { err := LocalResponsePolicyValidationError{ field: "StatusCode", reason: "value must be inside range [200, 600)", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := LocalResponsePolicyValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalResponsePolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalResponsePolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LocalResponsePolicyMultiError(errors) } return nil } // LocalResponsePolicyMultiError is an error wrapping multiple validation // errors returned by LocalResponsePolicy.ValidateAll() if the designated // constraints aren't met. type LocalResponsePolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalResponsePolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalResponsePolicyMultiError) AllErrors() []error { return m } // LocalResponsePolicyValidationError is the validation error returned by // LocalResponsePolicy.Validate if the designated constraints aren't met. type LocalResponsePolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalResponsePolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalResponsePolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalResponsePolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalResponsePolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalResponsePolicyValidationError) ErrorName() string { return "LocalResponsePolicyValidationError" } // Error satisfies the builtin error interface func (e LocalResponsePolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalResponsePolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalResponsePolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalResponsePolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/http/custom_response/redirect_policy/000077500000000000000000000000001454502223200276775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/redirect_policy/v3/000077500000000000000000000000001454502223200302275ustar00rootroot00000000000000redirect_policy.pb.go000077500000000000000000000432271454502223200342720ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/redirect_policy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/custom_response/redirect_policy/v3/redirect_policy.proto package redirect_policyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom response policy to internally redirect the original response to a different // upstream. // [#next-free-field: 7] type RedirectPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RedirectActionSpecifier: // // *RedirectPolicy_Uri // *RedirectPolicy_RedirectAction RedirectActionSpecifier isRedirectPolicy_RedirectActionSpecifier `protobuf_oneof:"redirect_action_specifier"` // The new response status code if specified. This is used to override the // status code of the response from the new upstream if it is not an error status. StatusCode *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` // HTTP headers to add to the response. This allows the // response policy to append, to add or to override headers of // the original response for local body, or the custom response from the // remote body, before it is sent to a downstream client. // Note that these are not applied if the redirected response is an error // response. ResponseHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // HTTP headers to add to the request before it is internally redirected. RequestHeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,5,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // Custom action to modify request headers before selection of the // redirected route. // [#comment: TODO(pradeepcrao) add an extension category.] ModifyRequestHeadersAction *v3.TypedExtensionConfig `protobuf:"bytes,6,opt,name=modify_request_headers_action,json=modifyRequestHeadersAction,proto3" json:"modify_request_headers_action,omitempty"` } func (x *RedirectPolicy) Reset() { *x = RedirectPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedirectPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedirectPolicy) ProtoMessage() {} func (x *RedirectPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedirectPolicy.ProtoReflect.Descriptor instead. func (*RedirectPolicy) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescGZIP(), []int{0} } func (m *RedirectPolicy) GetRedirectActionSpecifier() isRedirectPolicy_RedirectActionSpecifier { if m != nil { return m.RedirectActionSpecifier } return nil } func (x *RedirectPolicy) GetUri() string { if x, ok := x.GetRedirectActionSpecifier().(*RedirectPolicy_Uri); ok { return x.Uri } return "" } func (x *RedirectPolicy) GetRedirectAction() *v31.RedirectAction { if x, ok := x.GetRedirectActionSpecifier().(*RedirectPolicy_RedirectAction); ok { return x.RedirectAction } return nil } func (x *RedirectPolicy) GetStatusCode() *wrappers.UInt32Value { if x != nil { return x.StatusCode } return nil } func (x *RedirectPolicy) GetResponseHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *RedirectPolicy) GetRequestHeadersToAdd() []*v3.HeaderValueOption { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *RedirectPolicy) GetModifyRequestHeadersAction() *v3.TypedExtensionConfig { if x != nil { return x.ModifyRequestHeadersAction } return nil } type isRedirectPolicy_RedirectActionSpecifier interface { isRedirectPolicy_RedirectActionSpecifier() } type RedirectPolicy_Uri struct { // The Http URI to redirect the original request to, to get the custom // response. // It should be a full FQDN with protocol, host and path. // // Example: // // .. code-block:: yaml // // uri: https://www.mydomain.com/path/to/404.txt Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"` } type RedirectPolicy_RedirectAction struct { // Specify elements of the redirect url individually. // Note: Do not specify the “response_code“ field in “redirect_action“, use // “status_code“ instead. // The following fields in “redirect_action“ are currently not supported, // and specifying them will cause the config to be rejected: // - “prefix_rewrite“ // - “regex_rewrite“ RedirectAction *v31.RedirectAction `protobuf:"bytes,2,opt,name=redirect_action,json=redirectAction,proto3,oneof"` } func (*RedirectPolicy_Uri) isRedirectPolicy_RedirectActionSpecifier() {} func (*RedirectPolicy_RedirectAction) isRedirectPolicy_RedirectActionSpecifier() {} var File_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto protoreflect.FileDescriptor var file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDesc = []byte{ 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x04, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xe7, 0x07, 0x28, 0x64, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x67, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 0xe8, 0x07, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x6d, 0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x19, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xe2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescOnce sync.Once file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescData = file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDesc ) func file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescGZIP() []byte { file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescData) }) return file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDescData } var file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_goTypes = []interface{}{ (*RedirectPolicy)(nil), // 0: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy (*v31.RedirectAction)(nil), // 1: envoy.config.route.v3.RedirectAction (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value (*v3.HeaderValueOption)(nil), // 3: envoy.config.core.v3.HeaderValueOption (*v3.TypedExtensionConfig)(nil), // 4: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy.redirect_action:type_name -> envoy.config.route.v3.RedirectAction 2, // 1: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy.status_code:type_name -> google.protobuf.UInt32Value 3, // 2: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 3, // 3: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 4, // 4: envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy.modify_request_headers_action:type_name -> envoy.config.core.v3.TypedExtensionConfig 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_init() } func file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_init() { if File_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedirectPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RedirectPolicy_Uri)(nil), (*RedirectPolicy_RedirectAction)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_depIdxs, MessageInfos: file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_msgTypes, }.Build() File_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto = out.File file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_rawDesc = nil file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_goTypes = nil file_envoy_extensions_http_custom_response_redirect_policy_v3_redirect_policy_proto_depIdxs = nil } redirect_policy.pb.validate.go000077500000000000000000000217411454502223200360570ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/custom_response/redirect_policy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/custom_response/redirect_policy/v3/redirect_policy.proto package redirect_policyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RedirectPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RedirectPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RedirectPolicy with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RedirectPolicyMultiError, // or nil if none found. func (m *RedirectPolicy) ValidateAll() error { return m.validate(true) } func (m *RedirectPolicy) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetStatusCode(); wrapper != nil { if val := wrapper.GetValue(); val < 100 || val > 999 { err := RedirectPolicyValidationError{ field: "StatusCode", reason: "value must be inside range [100, 999]", } if !all { return err } errors = append(errors, err) } } if len(m.GetResponseHeadersToAdd()) > 1000 { err := RedirectPolicyValidationError{ field: "ResponseHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedirectPolicyValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(m.GetRequestHeadersToAdd()) > 1000 { err := RedirectPolicyValidationError{ field: "RequestHeadersToAdd", reason: "value must contain no more than 1000 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedirectPolicyValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetModifyRequestHeadersAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: "ModifyRequestHeadersAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: "ModifyRequestHeadersAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetModifyRequestHeadersAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedirectPolicyValidationError{ field: "ModifyRequestHeadersAction", reason: "embedded message failed validation", cause: err, } } } oneofRedirectActionSpecifierPresent := false switch v := m.RedirectActionSpecifier.(type) { case *RedirectPolicy_Uri: if v == nil { err := RedirectPolicyValidationError{ field: "RedirectActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRedirectActionSpecifierPresent = true if utf8.RuneCountInString(m.GetUri()) < 1 { err := RedirectPolicyValidationError{ field: "Uri", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *RedirectPolicy_RedirectAction: if v == nil { err := RedirectPolicyValidationError{ field: "RedirectActionSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRedirectActionSpecifierPresent = true if all { switch v := interface{}(m.GetRedirectAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: "RedirectAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RedirectPolicyValidationError{ field: "RedirectAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRedirectAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RedirectPolicyValidationError{ field: "RedirectAction", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRedirectActionSpecifierPresent { err := RedirectPolicyValidationError{ field: "RedirectActionSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RedirectPolicyMultiError(errors) } return nil } // RedirectPolicyMultiError is an error wrapping multiple validation errors // returned by RedirectPolicy.ValidateAll() if the designated constraints // aren't met. type RedirectPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RedirectPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RedirectPolicyMultiError) AllErrors() []error { return m } // RedirectPolicyValidationError is the validation error returned by // RedirectPolicy.Validate if the designated constraints aren't met. type RedirectPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RedirectPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RedirectPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RedirectPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RedirectPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RedirectPolicyValidationError) ErrorName() string { return "RedirectPolicyValidationError" } // Error satisfies the builtin error interface func (e RedirectPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRedirectPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RedirectPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RedirectPolicyValidationError{} go-control-plane-0.12.0/envoy/extensions/http/early_header_mutation/000077500000000000000000000000001454502223200256335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/early_header_mutation/header_mutation/000077500000000000000000000000001454502223200310035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/early_header_mutation/header_mutation/v3/000077500000000000000000000000001454502223200313335ustar00rootroot00000000000000header_mutation.pb.go000077500000000000000000000235141454502223200353630ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/early_header_mutation/header_mutation/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/early_header_mutation/header_mutation/v3/header_mutation.proto package header_mutationv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This extension allows for early header mutation by the substitution formatter. type HeaderMutation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mutations []*v3.HeaderMutation `protobuf:"bytes,1,rep,name=mutations,proto3" json:"mutations,omitempty"` } func (x *HeaderMutation) Reset() { *x = HeaderMutation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutation) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutation) ProtoMessage() {} func (x *HeaderMutation) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead. func (*HeaderMutation) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescGZIP(), []int{0} } func (x *HeaderMutation) GetMutations() []*v3.HeaderMutation { if x != nil { return x.Mutations } return nil } var File_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto protoreflect.FileDescriptor var file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDesc = []byte{ 0x0a, 0x54, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xe6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x77, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescOnce sync.Once file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescData = file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDesc ) func file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescGZIP() []byte { file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescData) }) return file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDescData } var file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_goTypes = []interface{}{ (*HeaderMutation)(nil), // 0: envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation (*v3.HeaderMutation)(nil), // 1: envoy.config.common.mutation_rules.v3.HeaderMutation } var file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation.mutations:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutation 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_init() } func file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_init() { if File_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_depIdxs, MessageInfos: file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_msgTypes, }.Build() File_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto = out.File file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_rawDesc = nil file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_goTypes = nil file_envoy_extensions_http_early_header_mutation_header_mutation_v3_header_mutation_proto_depIdxs = nil } header_mutation.pb.validate.go000077500000000000000000000107141454502223200371510ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/early_header_mutation/header_mutation/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/early_header_mutation/header_mutation/v3/header_mutation.proto package header_mutationv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HeaderMutation with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMutation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutation with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMutationMultiError, // or nil if none found. func (m *HeaderMutation) ValidateAll() error { return m.validate(true) } func (m *HeaderMutation) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetMutations()) < 1 { err := HeaderMutationValidationError{ field: "Mutations", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetMutations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: fmt.Sprintf("Mutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: fmt.Sprintf("Mutations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationValidationError{ field: fmt.Sprintf("Mutations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HeaderMutationMultiError(errors) } return nil } // HeaderMutationMultiError is an error wrapping multiple validation errors // returned by HeaderMutation.ValidateAll() if the designated constraints // aren't met. type HeaderMutationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationMultiError) AllErrors() []error { return m } // HeaderMutationValidationError is the validation error returned by // HeaderMutation.Validate if the designated constraints aren't met. type HeaderMutationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationValidationError) ErrorName() string { return "HeaderMutationValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationValidationError{} go-control-plane-0.12.0/envoy/extensions/http/header_formatters/000077500000000000000000000000001454502223200247655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_formatters/preserve_case/000077500000000000000000000000001454502223200276135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_formatters/preserve_case/v3/000077500000000000000000000000001454502223200301435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_formatters/preserve_case/v3/preserve_case.pb.go000077500000000000000000000340121454502223200337230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/header_formatters/preserve_case/v3/preserve_case.proto package preserve_casev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders int32 const ( // Use LowerCase on Envoy added headers. PreserveCaseFormatterConfig_DEFAULT PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders = 0 // Use ProperCaseHeaderKeyFormatter on Envoy added headers that upper cases the first character // in each word. The first character as well as any alpha character following a special // character is upper cased. PreserveCaseFormatterConfig_PROPER_CASE PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders = 1 ) // Enum value maps for PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders. var ( PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders_name = map[int32]string{ 0: "DEFAULT", 1: "PROPER_CASE", } PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders_value = map[string]int32{ "DEFAULT": 0, "PROPER_CASE": 1, } ) func (x PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) Enum() *PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders { p := new(PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) *p = x return p } func (x PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_enumTypes[0].Descriptor() } func (PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) Type() protoreflect.EnumType { return &file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_enumTypes[0] } func (x PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders.Descriptor instead. func (PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescGZIP(), []int{0, 0} } // Configuration for the preserve case header formatter. // See the :ref:`header casing ` configuration guide for more // information. type PreserveCaseFormatterConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Allows forwarding reason phrase text. // This is off by default, and a standard reason phrase is used for a corresponding HTTP response code. ForwardReasonPhrase bool `protobuf:"varint,1,opt,name=forward_reason_phrase,json=forwardReasonPhrase,proto3" json:"forward_reason_phrase,omitempty"` // Type of formatter to use on headers which are added by Envoy (which are lower case by default). // The default type is DEFAULT, use LowerCase on Envoy headers. FormatterTypeOnEnvoyHeaders PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders `protobuf:"varint,2,opt,name=formatter_type_on_envoy_headers,json=formatterTypeOnEnvoyHeaders,proto3,enum=envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders" json:"formatter_type_on_envoy_headers,omitempty"` } func (x *PreserveCaseFormatterConfig) Reset() { *x = PreserveCaseFormatterConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreserveCaseFormatterConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreserveCaseFormatterConfig) ProtoMessage() {} func (x *PreserveCaseFormatterConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreserveCaseFormatterConfig.ProtoReflect.Descriptor instead. func (*PreserveCaseFormatterConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescGZIP(), []int{0} } func (x *PreserveCaseFormatterConfig) GetForwardReasonPhrase() bool { if x != nil { return x.ForwardReasonPhrase } return false } func (x *PreserveCaseFormatterConfig) GetFormatterTypeOnEnvoyHeaders() PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders { if x != nil { return x.FormatterTypeOnEnvoyHeaders } return PreserveCaseFormatterConfig_DEFAULT } var File_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto protoreflect.FileDescriptor var file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDesc = []byte{ 0x0a, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x43, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x1f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x71, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x43, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1b, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x3b, 0x0a, 0x1b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x42, 0xd6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x43, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescOnce sync.Once file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescData = file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDesc ) func file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescGZIP() []byte { file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescData) }) return file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDescData } var file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_goTypes = []interface{}{ (PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders)(0), // 0: envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig.FormatterTypeOnEnvoyHeaders (*PreserveCaseFormatterConfig)(nil), // 1: envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig } var file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig.formatter_type_on_envoy_headers:type_name -> envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig.FormatterTypeOnEnvoyHeaders 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_init() } func file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_init() { if File_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreserveCaseFormatterConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_depIdxs, EnumInfos: file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_enumTypes, MessageInfos: file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_msgTypes, }.Build() File_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto = out.File file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_rawDesc = nil file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_goTypes = nil file_envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case_proto_depIdxs = nil } preserve_case.pb.validate.go000077500000000000000000000077631454502223200354510ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_formatters/preserve_case/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/header_formatters/preserve_case/v3/preserve_case.proto package preserve_casev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreserveCaseFormatterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreserveCaseFormatterConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreserveCaseFormatterConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreserveCaseFormatterConfigMultiError, or nil if none found. func (m *PreserveCaseFormatterConfig) ValidateAll() error { return m.validate(true) } func (m *PreserveCaseFormatterConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ForwardReasonPhrase if _, ok := PreserveCaseFormatterConfig_FormatterTypeOnEnvoyHeaders_name[int32(m.GetFormatterTypeOnEnvoyHeaders())]; !ok { err := PreserveCaseFormatterConfigValidationError{ field: "FormatterTypeOnEnvoyHeaders", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PreserveCaseFormatterConfigMultiError(errors) } return nil } // PreserveCaseFormatterConfigMultiError is an error wrapping multiple // validation errors returned by PreserveCaseFormatterConfig.ValidateAll() if // the designated constraints aren't met. type PreserveCaseFormatterConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreserveCaseFormatterConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreserveCaseFormatterConfigMultiError) AllErrors() []error { return m } // PreserveCaseFormatterConfigValidationError is the validation error returned // by PreserveCaseFormatterConfig.Validate if the designated constraints // aren't met. type PreserveCaseFormatterConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreserveCaseFormatterConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreserveCaseFormatterConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreserveCaseFormatterConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreserveCaseFormatterConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreserveCaseFormatterConfigValidationError) ErrorName() string { return "PreserveCaseFormatterConfigValidationError" } // Error satisfies the builtin error interface func (e PreserveCaseFormatterConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreserveCaseFormatterConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreserveCaseFormatterConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreserveCaseFormatterConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/http/header_validators/000077500000000000000000000000001454502223200247475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_validators/envoy_default/000077500000000000000000000000001454502223200276135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_validators/envoy_default/v3/000077500000000000000000000000001454502223200301435ustar00rootroot00000000000000header_validator.pb.go000077500000000000000000001121101454502223200343070ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_validators/envoy_default/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/header_validators/envoy_default/v3/header_validator.proto package envoy_defaultv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Action to take when Envoy receives client request with header names containing underscore // characters. // Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented // as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore // characters. type HeaderValidatorConfig_HeadersWithUnderscoresAction int32 const ( // Allow headers with underscores. This is the default behavior. HeaderValidatorConfig_ALLOW HeaderValidatorConfig_HeadersWithUnderscoresAction = 0 // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests // end with the stream reset. The // :ref:`httpN.requests_rejected_with_underscores_in_headers ` counter // is incremented for each rejected request. HeaderValidatorConfig_REJECT_REQUEST HeaderValidatorConfig_HeadersWithUnderscoresAction = 1 // Drop the client header with name containing underscores. The header is dropped before the filter chain is // invoked and as such filters will not see dropped headers. The // :ref:`httpN.dropped_headers_with_underscores ` is incremented for // each dropped header. HeaderValidatorConfig_DROP_HEADER HeaderValidatorConfig_HeadersWithUnderscoresAction = 2 ) // Enum value maps for HeaderValidatorConfig_HeadersWithUnderscoresAction. var ( HeaderValidatorConfig_HeadersWithUnderscoresAction_name = map[int32]string{ 0: "ALLOW", 1: "REJECT_REQUEST", 2: "DROP_HEADER", } HeaderValidatorConfig_HeadersWithUnderscoresAction_value = map[string]int32{ "ALLOW": 0, "REJECT_REQUEST": 1, "DROP_HEADER": 2, } ) func (x HeaderValidatorConfig_HeadersWithUnderscoresAction) Enum() *HeaderValidatorConfig_HeadersWithUnderscoresAction { p := new(HeaderValidatorConfig_HeadersWithUnderscoresAction) *p = x return p } func (x HeaderValidatorConfig_HeadersWithUnderscoresAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HeaderValidatorConfig_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes[0].Descriptor() } func (HeaderValidatorConfig_HeadersWithUnderscoresAction) Type() protoreflect.EnumType { return &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes[0] } func (x HeaderValidatorConfig_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HeaderValidatorConfig_HeadersWithUnderscoresAction.Descriptor instead. func (HeaderValidatorConfig_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP(), []int{0, 0} } // Determines the action for requests that contain “%2F“, “%2f“, “%5C“ or “%5c“ sequences in the URI path. // This operation occurs before URL normalization and the merge slashes transformations if they were enabled. type HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction int32 const ( // Default behavior specific to implementation (i.e. Envoy) of this configuration option. // Envoy, by default, takes the “KEEP_UNCHANGED“ action. // NOTE: the implementation may change the default behavior at-will. HeaderValidatorConfig_UriPathNormalizationOptions_IMPLEMENTATION_SPECIFIC_DEFAULT HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction = 0 // Keep escaped slashes. HeaderValidatorConfig_UriPathNormalizationOptions_KEEP_UNCHANGED HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction = 1 // Reject client request with the 400 status. gRPC requests will be rejected with the “INTERNAL“ (13) error code. // The “http#.downstream_rq_failed_path_normalization“ counter is incremented for each rejected request. HeaderValidatorConfig_UriPathNormalizationOptions_REJECT_REQUEST HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction = 2 // Unescape “%2F“ and “%5C“ sequences and redirect the request to the new path if these sequences were present. // The redirect occurs after path normalization and merge slashes transformations if they were configured. // NOTE: gRPC requests will be rejected with the “INTERNAL“ (13) error code. // This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to // traverse all parties: downstream client, intermediate proxies, Envoy and upstream server. // The “http#.downstream_rq_redirected_with_normalized_path“ counter is incremented for each // redirected request. HeaderValidatorConfig_UriPathNormalizationOptions_UNESCAPE_AND_REDIRECT HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction = 3 // Unescape “%2F“ and “%5C“ sequences. // Note: this option should not be enabled if intermediaries perform path based access control as // it may lead to path confusion vulnerabilities. HeaderValidatorConfig_UriPathNormalizationOptions_UNESCAPE_AND_FORWARD HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction = 4 ) // Enum value maps for HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction. var ( HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction_name = map[int32]string{ 0: "IMPLEMENTATION_SPECIFIC_DEFAULT", 1: "KEEP_UNCHANGED", 2: "REJECT_REQUEST", 3: "UNESCAPE_AND_REDIRECT", 4: "UNESCAPE_AND_FORWARD", } HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction_value = map[string]int32{ "IMPLEMENTATION_SPECIFIC_DEFAULT": 0, "KEEP_UNCHANGED": 1, "REJECT_REQUEST": 2, "UNESCAPE_AND_REDIRECT": 3, "UNESCAPE_AND_FORWARD": 4, } ) func (x HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) Enum() *HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction { p := new(HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) *p = x return p } func (x HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes[1].Descriptor() } func (HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) Type() protoreflect.EnumType { return &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes[1] } func (x HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction.Descriptor instead. func (HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP(), []int{0, 0, 0} } // This extension validates that HTTP request and response headers are well formed according to respective RFCs. // // #. HTTP/1 header map validity according to `RFC 7230 section 3.2 `_ // #. Syntax of HTTP/1 request target URI and response status // #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2 `_ // #. Syntax of HTTP/2 pseudo headers // #. HTTP/3 header map validity according to `RFC 9114 section 4.3 `_ // #. Syntax of HTTP/3 pseudo headers // #. Syntax of Content-Length and Transfer-Encoding // #. Validation of HTTP/1 requests with both “Content-Length“ and “Transfer-Encoding“ headers // #. Normalization of the URI path according to `Normalization and Comparison `_ // // without `case normalization `_ // // [#comment:TODO(yanavlasov): Put #extension: envoy.http.header_validators.envoy_default after it is not hidden any more] // [#next-free-field: 6] type HeaderValidatorConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Http1ProtocolOptions *HeaderValidatorConfig_Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http1_protocol_options,json=http1ProtocolOptions,proto3" json:"http1_protocol_options,omitempty"` // The URI path normalization options. // By default Envoy normalizes URI path using the default values of the :ref:`UriPathNormalizationOptions // `. // URI path transformations specified by the “uri_path_normalization_options“ configuration can be applied to a portion // of requests by setting the “envoy_default_header_validator.uri_path_transformations“ runtime value. // Caution: disabling path normalization may lead to path confusion vulnerabilities in access control or incorrect service // selection. UriPathNormalizationOptions *HeaderValidatorConfig_UriPathNormalizationOptions `protobuf:"bytes,2,opt,name=uri_path_normalization_options,json=uriPathNormalizationOptions,proto3" json:"uri_path_normalization_options,omitempty"` // Restrict HTTP methods to these defined in the `RFC 7231 section 4.1 `_ // Envoy will respond with 400 to requests with disallowed methods. // By default methods with arbitrary names are accepted. RestrictHttpMethods bool `protobuf:"varint,3,opt,name=restrict_http_methods,json=restrictHttpMethods,proto3" json:"restrict_http_methods,omitempty"` // Action to take when a client request with a header name containing underscore characters is received. // If this setting is not specified, the value defaults to ALLOW. HeadersWithUnderscoresAction HeaderValidatorConfig_HeadersWithUnderscoresAction `protobuf:"varint,4,opt,name=headers_with_underscores_action,json=headersWithUnderscoresAction,proto3,enum=envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig_HeadersWithUnderscoresAction" json:"headers_with_underscores_action,omitempty"` // Allow requests with fragment in URL path and strip the fragment before request processing. // By default Envoy rejects requests with fragment in URL path. StripFragmentFromPath bool `protobuf:"varint,5,opt,name=strip_fragment_from_path,json=stripFragmentFromPath,proto3" json:"strip_fragment_from_path,omitempty"` } func (x *HeaderValidatorConfig) Reset() { *x = HeaderValidatorConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValidatorConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValidatorConfig) ProtoMessage() {} func (x *HeaderValidatorConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValidatorConfig.ProtoReflect.Descriptor instead. func (*HeaderValidatorConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP(), []int{0} } func (x *HeaderValidatorConfig) GetHttp1ProtocolOptions() *HeaderValidatorConfig_Http1ProtocolOptions { if x != nil { return x.Http1ProtocolOptions } return nil } func (x *HeaderValidatorConfig) GetUriPathNormalizationOptions() *HeaderValidatorConfig_UriPathNormalizationOptions { if x != nil { return x.UriPathNormalizationOptions } return nil } func (x *HeaderValidatorConfig) GetRestrictHttpMethods() bool { if x != nil { return x.RestrictHttpMethods } return false } func (x *HeaderValidatorConfig) GetHeadersWithUnderscoresAction() HeaderValidatorConfig_HeadersWithUnderscoresAction { if x != nil { return x.HeadersWithUnderscoresAction } return HeaderValidatorConfig_ALLOW } func (x *HeaderValidatorConfig) GetStripFragmentFromPath() bool { if x != nil { return x.StripFragmentFromPath } return false } type HeaderValidatorConfig_UriPathNormalizationOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Should paths be normalized according to RFC 3986? // This operation overwrites the original request URI path and the new path is used for processing of // the request by HTTP filters and proxied to the upstream service. // Envoy will respond with 400 to requests with malformed paths that fail path normalization. // The default behavior is to normalize the path. // This value may be overridden by the runtime variable // :ref:`http_connection_manager.normalize_path`. // See `Normalization and Comparison `_ // for details of normalization. // Note that Envoy does not perform // `case normalization `_ // URI path normalization can be applied to a portion of requests by setting the // “envoy_default_header_validator.path_normalization“ runtime value. SkipPathNormalization bool `protobuf:"varint,1,opt,name=skip_path_normalization,json=skipPathNormalization,proto3" json:"skip_path_normalization,omitempty"` // Determines if adjacent slashes in the path are merged into one. // This operation overwrites the original request URI path and the new path is used for processing of // the request by HTTP filters and proxied to the upstream service. // Setting this option to true will cause incoming requests with path “//dir///file“ to not match against // route with “prefix“ match set to “/dir“. Defaults to “false“. Note that slash merging is not part of // `HTTP spec `_ and is provided for convenience. // Merging of slashes in URI path can be applied to a portion of requests by setting the // “envoy_default_header_validator.merge_slashes“ runtime value. SkipMergingSlashes bool `protobuf:"varint,2,opt,name=skip_merging_slashes,json=skipMergingSlashes,proto3" json:"skip_merging_slashes,omitempty"` // The action to take when request URL path contains escaped slash sequences (“%2F“, “%2f“, “%5C“ and “%5c“). // This operation may overwrite the original request URI path and the new path is used for processing of // the request by HTTP filters and proxied to the upstream service. PathWithEscapedSlashesAction HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction `protobuf:"varint,3,opt,name=path_with_escaped_slashes_action,json=pathWithEscapedSlashesAction,proto3,enum=envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction" json:"path_with_escaped_slashes_action,omitempty"` } func (x *HeaderValidatorConfig_UriPathNormalizationOptions) Reset() { *x = HeaderValidatorConfig_UriPathNormalizationOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValidatorConfig_UriPathNormalizationOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValidatorConfig_UriPathNormalizationOptions) ProtoMessage() {} func (x *HeaderValidatorConfig_UriPathNormalizationOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValidatorConfig_UriPathNormalizationOptions.ProtoReflect.Descriptor instead. func (*HeaderValidatorConfig_UriPathNormalizationOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP(), []int{0, 0} } func (x *HeaderValidatorConfig_UriPathNormalizationOptions) GetSkipPathNormalization() bool { if x != nil { return x.SkipPathNormalization } return false } func (x *HeaderValidatorConfig_UriPathNormalizationOptions) GetSkipMergingSlashes() bool { if x != nil { return x.SkipMergingSlashes } return false } func (x *HeaderValidatorConfig_UriPathNormalizationOptions) GetPathWithEscapedSlashesAction() HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction { if x != nil { return x.PathWithEscapedSlashesAction } return HeaderValidatorConfig_UriPathNormalizationOptions_IMPLEMENTATION_SPECIFIC_DEFAULT } type HeaderValidatorConfig_Http1ProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Allows Envoy to process HTTP/1 requests/responses with both “Content-Length“ and “Transfer-Encoding“ // headers set. By default such messages are rejected, but if option is enabled - Envoy will // remove the “Content-Length“ header and process the message. // See `RFC7230, sec. 3.3.3 `_ for details. // // .. attention:: // // Enabling this option might lead to request smuggling vulnerabilities, especially if traffic // is proxied via multiple layers of proxies. AllowChunkedLength bool `protobuf:"varint,1,opt,name=allow_chunked_length,json=allowChunkedLength,proto3" json:"allow_chunked_length,omitempty"` } func (x *HeaderValidatorConfig_Http1ProtocolOptions) Reset() { *x = HeaderValidatorConfig_Http1ProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderValidatorConfig_Http1ProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderValidatorConfig_Http1ProtocolOptions) ProtoMessage() {} func (x *HeaderValidatorConfig_Http1ProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderValidatorConfig_Http1ProtocolOptions.ProtoReflect.Descriptor instead. func (*HeaderValidatorConfig_Http1ProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP(), []int{0, 1} } func (x *HeaderValidatorConfig_Http1ProtocolOptions) GetAllowChunkedLength() bool { if x != nil { return x.AllowChunkedLength } return false } var File_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto protoreflect.FileDescriptor var file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x0a, 0x0a, 0x15, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9a, 0x01, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x1e, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x72, 0x69, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1b, 0x75, 0x72, 0x69, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x1f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x6c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x74, 0x72, 0x69, 0x70, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x88, 0x04, 0x0a, 0x1b, 0x55, 0x72, 0x69, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x88, 0x01, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x72, 0x69, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1c, 0x70, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x55, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x04, 0x1a, 0x48, 0x0a, 0x14, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x4e, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x42, 0xd9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescOnce sync.Once file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescData = file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDesc ) func file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescGZIP() []byte { file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescData) }) return file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDescData } var file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_goTypes = []interface{}{ (HeaderValidatorConfig_HeadersWithUnderscoresAction)(0), // 0: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.HeadersWithUnderscoresAction (HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction)(0), // 1: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction (*HeaderValidatorConfig)(nil), // 2: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig (*HeaderValidatorConfig_UriPathNormalizationOptions)(nil), // 3: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions (*HeaderValidatorConfig_Http1ProtocolOptions)(nil), // 4: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.Http1ProtocolOptions } var file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.http1_protocol_options:type_name -> envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.Http1ProtocolOptions 3, // 1: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.uri_path_normalization_options:type_name -> envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions 0, // 2: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.headers_with_underscores_action:type_name -> envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.HeadersWithUnderscoresAction 1, // 3: envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.path_with_escaped_slashes_action:type_name -> envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_init() } func file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_init() { if File_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValidatorConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValidatorConfig_UriPathNormalizationOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderValidatorConfig_Http1ProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDesc, NumEnums: 2, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_depIdxs, EnumInfos: file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_enumTypes, MessageInfos: file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_msgTypes, }.Build() File_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto = out.File file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_rawDesc = nil file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_goTypes = nil file_envoy_extensions_http_header_validators_envoy_default_v3_header_validator_proto_depIdxs = nil } header_validator.pb.validate.go000077500000000000000000000315621454502223200361120ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/header_validators/envoy_default/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/header_validators/envoy_default/v3/header_validator.proto package envoy_defaultv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HeaderValidatorConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderValidatorConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderValidatorConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderValidatorConfigMultiError, or nil if none found. func (m *HeaderValidatorConfig) ValidateAll() error { return m.validate(true) } func (m *HeaderValidatorConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttp1ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValidatorConfigValidationError{ field: "Http1ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValidatorConfigValidationError{ field: "Http1ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp1ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValidatorConfigValidationError{ field: "Http1ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUriPathNormalizationOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderValidatorConfigValidationError{ field: "UriPathNormalizationOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderValidatorConfigValidationError{ field: "UriPathNormalizationOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUriPathNormalizationOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderValidatorConfigValidationError{ field: "UriPathNormalizationOptions", reason: "embedded message failed validation", cause: err, } } } // no validation rules for RestrictHttpMethods // no validation rules for HeadersWithUnderscoresAction // no validation rules for StripFragmentFromPath if len(errors) > 0 { return HeaderValidatorConfigMultiError(errors) } return nil } // HeaderValidatorConfigMultiError is an error wrapping multiple validation // errors returned by HeaderValidatorConfig.ValidateAll() if the designated // constraints aren't met. type HeaderValidatorConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValidatorConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValidatorConfigMultiError) AllErrors() []error { return m } // HeaderValidatorConfigValidationError is the validation error returned by // HeaderValidatorConfig.Validate if the designated constraints aren't met. type HeaderValidatorConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValidatorConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValidatorConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValidatorConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValidatorConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValidatorConfigValidationError) ErrorName() string { return "HeaderValidatorConfigValidationError" } // Error satisfies the builtin error interface func (e HeaderValidatorConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValidatorConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValidatorConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValidatorConfigValidationError{} // Validate checks the field values on // HeaderValidatorConfig_UriPathNormalizationOptions with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderValidatorConfig_UriPathNormalizationOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HeaderValidatorConfig_UriPathNormalizationOptions with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // HeaderValidatorConfig_UriPathNormalizationOptionsMultiError, or nil if none found. func (m *HeaderValidatorConfig_UriPathNormalizationOptions) ValidateAll() error { return m.validate(true) } func (m *HeaderValidatorConfig_UriPathNormalizationOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SkipPathNormalization // no validation rules for SkipMergingSlashes if _, ok := HeaderValidatorConfig_UriPathNormalizationOptions_PathWithEscapedSlashesAction_name[int32(m.GetPathWithEscapedSlashesAction())]; !ok { err := HeaderValidatorConfig_UriPathNormalizationOptionsValidationError{ field: "PathWithEscapedSlashesAction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HeaderValidatorConfig_UriPathNormalizationOptionsMultiError(errors) } return nil } // HeaderValidatorConfig_UriPathNormalizationOptionsMultiError is an error // wrapping multiple validation errors returned by // HeaderValidatorConfig_UriPathNormalizationOptions.ValidateAll() if the // designated constraints aren't met. type HeaderValidatorConfig_UriPathNormalizationOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValidatorConfig_UriPathNormalizationOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValidatorConfig_UriPathNormalizationOptionsMultiError) AllErrors() []error { return m } // HeaderValidatorConfig_UriPathNormalizationOptionsValidationError is the // validation error returned by // HeaderValidatorConfig_UriPathNormalizationOptions.Validate if the // designated constraints aren't met. type HeaderValidatorConfig_UriPathNormalizationOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) ErrorName() string { return "HeaderValidatorConfig_UriPathNormalizationOptionsValidationError" } // Error satisfies the builtin error interface func (e HeaderValidatorConfig_UriPathNormalizationOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValidatorConfig_UriPathNormalizationOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValidatorConfig_UriPathNormalizationOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValidatorConfig_UriPathNormalizationOptionsValidationError{} // Validate checks the field values on // HeaderValidatorConfig_Http1ProtocolOptions with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderValidatorConfig_Http1ProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HeaderValidatorConfig_Http1ProtocolOptions with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HeaderValidatorConfig_Http1ProtocolOptionsMultiError, or nil if none found. func (m *HeaderValidatorConfig_Http1ProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *HeaderValidatorConfig_Http1ProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AllowChunkedLength if len(errors) > 0 { return HeaderValidatorConfig_Http1ProtocolOptionsMultiError(errors) } return nil } // HeaderValidatorConfig_Http1ProtocolOptionsMultiError is an error wrapping // multiple validation errors returned by // HeaderValidatorConfig_Http1ProtocolOptions.ValidateAll() if the designated // constraints aren't met. type HeaderValidatorConfig_Http1ProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderValidatorConfig_Http1ProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderValidatorConfig_Http1ProtocolOptionsMultiError) AllErrors() []error { return m } // HeaderValidatorConfig_Http1ProtocolOptionsValidationError is the validation // error returned by HeaderValidatorConfig_Http1ProtocolOptions.Validate if // the designated constraints aren't met. type HeaderValidatorConfig_Http1ProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) ErrorName() string { return "HeaderValidatorConfig_Http1ProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e HeaderValidatorConfig_Http1ProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderValidatorConfig_Http1ProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderValidatorConfig_Http1ProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderValidatorConfig_Http1ProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/000077500000000000000000000000001454502223200256215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/custom_header/000077500000000000000000000000001454502223200304435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/custom_header/v3/000077500000000000000000000000001454502223200307735ustar00rootroot00000000000000custom_header.pb.go000077500000000000000000000300431454502223200344700ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/custom_header/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/original_ip_detection/custom_header/v3/custom_header.proto package custom_headerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This extension allows for the original downstream remote IP to be detected // by reading the value from a configured header name. If the value is successfully parsed // as an IP, it'll be treated as the effective downstream remote address and seen as such // by all filters. See :ref:`original_ip_detection_extensions // ` // for an overview of how extensions operate and what happens when an extension fails // to detect the remote IP. // // [#extension: envoy.http.original_ip_detection.custom_header] type CustomHeaderConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The header name containing the original downstream remote address, if present. // // Note: in the case of a multi-valued header, only the first value is tried and the rest are ignored. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // If set to true, the extension could decide that the detected address should be treated as // trusted by the HCM. If the address is considered :ref:`trusted`, // it might be used as input to determine if the request is internal (among other things). AllowExtensionToSetAddressAsTrusted bool `protobuf:"varint,2,opt,name=allow_extension_to_set_address_as_trusted,json=allowExtensionToSetAddressAsTrusted,proto3" json:"allow_extension_to_set_address_as_trusted,omitempty"` // If this is set, the request will be rejected when detection fails using it as the HTTP response status. // // .. note:: // // If this is set to < 400 or > 511, the default status 403 will be used instead. RejectWithStatus *v3.HttpStatus `protobuf:"bytes,3,opt,name=reject_with_status,json=rejectWithStatus,proto3" json:"reject_with_status,omitempty"` } func (x *CustomHeaderConfig) Reset() { *x = CustomHeaderConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomHeaderConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomHeaderConfig) ProtoMessage() {} func (x *CustomHeaderConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomHeaderConfig.ProtoReflect.Descriptor instead. func (*CustomHeaderConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescGZIP(), []int{0} } func (x *CustomHeaderConfig) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } func (x *CustomHeaderConfig) GetAllowExtensionToSetAddressAsTrusted() bool { if x != nil { return x.AllowExtensionToSetAddressAsTrusted } return false } func (x *CustomHeaderConfig) GetRejectWithStatus() *v3.HttpStatus { if x != nil { return x.RejectWithStatus } return nil } var File_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto protoreflect.FileDescriptor var file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDesc = []byte{ 0x0a, 0x50, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x29, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x53, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x12, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0xde, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x73, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescOnce sync.Once file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescData = file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDesc ) func file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescGZIP() []byte { file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescData) }) return file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDescData } var file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_goTypes = []interface{}{ (*CustomHeaderConfig)(nil), // 0: envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig (*v3.HttpStatus)(nil), // 1: envoy.type.v3.HttpStatus } var file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig.reject_with_status:type_name -> envoy.type.v3.HttpStatus 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_init() } func file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_init() { if File_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomHeaderConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_depIdxs, MessageInfos: file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_msgTypes, }.Build() File_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto = out.File file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_rawDesc = nil file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_goTypes = nil file_envoy_extensions_http_original_ip_detection_custom_header_v3_custom_header_proto_depIdxs = nil } custom_header.pb.validate.go000077500000000000000000000116731454502223200362700ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/custom_header/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/original_ip_detection/custom_header/v3/custom_header.proto package custom_headerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CustomHeaderConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomHeaderConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomHeaderConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomHeaderConfigMultiError, or nil if none found. func (m *CustomHeaderConfig) ValidateAll() error { return m.validate(true) } func (m *CustomHeaderConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHeaderName()) < 1 { err := CustomHeaderConfigValidationError{ field: "HeaderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_CustomHeaderConfig_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := CustomHeaderConfigValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowExtensionToSetAddressAsTrusted if all { switch v := interface{}(m.GetRejectWithStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomHeaderConfigValidationError{ field: "RejectWithStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomHeaderConfigValidationError{ field: "RejectWithStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRejectWithStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomHeaderConfigValidationError{ field: "RejectWithStatus", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CustomHeaderConfigMultiError(errors) } return nil } // CustomHeaderConfigMultiError is an error wrapping multiple validation errors // returned by CustomHeaderConfig.ValidateAll() if the designated constraints // aren't met. type CustomHeaderConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomHeaderConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomHeaderConfigMultiError) AllErrors() []error { return m } // CustomHeaderConfigValidationError is the validation error returned by // CustomHeaderConfig.Validate if the designated constraints aren't met. type CustomHeaderConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomHeaderConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomHeaderConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomHeaderConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomHeaderConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomHeaderConfigValidationError) ErrorName() string { return "CustomHeaderConfigValidationError" } // Error satisfies the builtin error interface func (e CustomHeaderConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomHeaderConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomHeaderConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomHeaderConfigValidationError{} var _CustomHeaderConfig_HeaderName_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/xff/000077500000000000000000000000001454502223200264045ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/xff/v3/000077500000000000000000000000001454502223200267345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/xff/v3/xff.pb.go000077500000000000000000000176401454502223200304610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/original_ip_detection/xff/v3/xff.proto package xffv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This extension allows for the original downstream remote IP to be detected // by reading the :ref:`config_http_conn_man_headers_x-forwarded-for` header. // // [#extension: envoy.http.original_ip_detection.xff] type XffConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of additional ingress proxy hops from the right side of the // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when // determining the origin client's IP address. The default is zero if this option // is not specified. See the documentation for // :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. XffNumTrustedHops uint32 `protobuf:"varint,1,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"` } func (x *XffConfig) Reset() { *x = XffConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XffConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*XffConfig) ProtoMessage() {} func (x *XffConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XffConfig.ProtoReflect.Descriptor instead. func (*XffConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescGZIP(), []int{0} } func (x *XffConfig) GetXffNumTrustedHops() uint32 { if x != nil { return x.XffNumTrustedHops } return 0 } var File_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto protoreflect.FileDescriptor var file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x78, 0x66, 0x66, 0x2f, 0x76, 0x33, 0x2f, 0x78, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x66, 0x66, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x09, 0x58, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x78, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x70, 0x73, 0x42, 0xb7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x66, 0x66, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x58, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x78, 0x66, 0x66, 0x2f, 0x76, 0x33, 0x3b, 0x78, 0x66, 0x66, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescOnce sync.Once file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescData = file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDesc ) func file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescGZIP() []byte { file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescData) }) return file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDescData } var file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_goTypes = []interface{}{ (*XffConfig)(nil), // 0: envoy.extensions.http.original_ip_detection.xff.v3.XffConfig } var file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_init() } func file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_init() { if File_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XffConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_depIdxs, MessageInfos: file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_msgTypes, }.Build() File_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto = out.File file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_rawDesc = nil file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_goTypes = nil file_envoy_extensions_http_original_ip_detection_xff_v3_xff_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/http/original_ip_detection/xff/v3/xff.pb.validate.go000077500000000000000000000062631454502223200322500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/original_ip_detection/xff/v3/xff.proto package xffv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on XffConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *XffConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on XffConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in XffConfigMultiError, or nil // if none found. func (m *XffConfig) ValidateAll() error { return m.validate(true) } func (m *XffConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for XffNumTrustedHops if len(errors) > 0 { return XffConfigMultiError(errors) } return nil } // XffConfigMultiError is an error wrapping multiple validation errors returned // by XffConfig.ValidateAll() if the designated constraints aren't met. type XffConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m XffConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m XffConfigMultiError) AllErrors() []error { return m } // XffConfigValidationError is the validation error returned by // XffConfig.Validate if the designated constraints aren't met. type XffConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e XffConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e XffConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e XffConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e XffConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e XffConfigValidationError) ErrorName() string { return "XffConfigValidationError" } // Error satisfies the builtin error interface func (e XffConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sXffConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = XffConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = XffConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/http/stateful_session/000077500000000000000000000000001454502223200246615ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/stateful_session/cookie/000077500000000000000000000000001454502223200261325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/stateful_session/cookie/v3/000077500000000000000000000000001454502223200264625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/stateful_session/cookie/v3/cookie.pb.go000077500000000000000000000231331454502223200306670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/stateful_session/cookie/v3/cookie.proto package cookiev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/http/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This extension allows the session state to be tracked via cookies. // // This extension first encodes the address of the upstream host selected by the load balancer // into a “set-cookie“ response header with the :ref:`cookie configuration // `. // when new requests are incoming, this extension will try to parse the specific upstream host // address by the cookie name. If the address parsed from the cookie corresponds to a valid // upstream host, this upstream host will be selected first. See :ref:`stateful session filter // `. // // For example, if the cookie name is set to “sticky-host“, envoy will prefer “1.2.3.4:80“ // as the upstream host when the request contains the following header: // // .. code-block:: none // // cookie: sticky-host="MS4yLjMuNDo4MA==" // // When processing the upstream response, if “1.2.3.4:80“ is indeed the final choice the extension // does nothing. If “1.2.3.4:80“ is not the final choice, the new selected host will be used to // update the cookie (via the “set-cookie“ response header). // // [#extension: envoy.http.stateful_session.cookie] type CookieBasedSessionState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The cookie configuration used to track session state. Cookie *v3.Cookie `protobuf:"bytes,1,opt,name=cookie,proto3" json:"cookie,omitempty"` } func (x *CookieBasedSessionState) Reset() { *x = CookieBasedSessionState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CookieBasedSessionState) String() string { return protoimpl.X.MessageStringOf(x) } func (*CookieBasedSessionState) ProtoMessage() {} func (x *CookieBasedSessionState) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CookieBasedSessionState.ProtoReflect.Descriptor instead. func (*CookieBasedSessionState) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescGZIP(), []int{0} } func (x *CookieBasedSessionState) GetCookie() *v3.Cookie { if x != nil { return x.Cookie } return nil } var File_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto protoreflect.FileDescriptor var file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescOnce sync.Once file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescData = file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDesc ) func file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescGZIP() []byte { file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescData) }) return file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDescData } var file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_goTypes = []interface{}{ (*CookieBasedSessionState)(nil), // 0: envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState (*v3.Cookie)(nil), // 1: envoy.type.http.v3.Cookie } var file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState.cookie:type_name -> envoy.type.http.v3.Cookie 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_init() } func file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_init() { if File_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CookieBasedSessionState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_depIdxs, MessageInfos: file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_msgTypes, }.Build() File_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto = out.File file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_rawDesc = nil file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_goTypes = nil file_envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/http/stateful_session/cookie/v3/cookie.pb.validate.go000077500000000000000000000107761454502223200324700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/stateful_session/cookie/v3/cookie.proto package cookiev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CookieBasedSessionState with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CookieBasedSessionState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CookieBasedSessionState with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CookieBasedSessionStateMultiError, or nil if none found. func (m *CookieBasedSessionState) ValidateAll() error { return m.validate(true) } func (m *CookieBasedSessionState) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCookie() == nil { err := CookieBasedSessionStateValidationError{ field: "Cookie", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCookie()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CookieBasedSessionStateValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CookieBasedSessionStateValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCookie()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CookieBasedSessionStateValidationError{ field: "Cookie", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CookieBasedSessionStateMultiError(errors) } return nil } // CookieBasedSessionStateMultiError is an error wrapping multiple validation // errors returned by CookieBasedSessionState.ValidateAll() if the designated // constraints aren't met. type CookieBasedSessionStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CookieBasedSessionStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CookieBasedSessionStateMultiError) AllErrors() []error { return m } // CookieBasedSessionStateValidationError is the validation error returned by // CookieBasedSessionState.Validate if the designated constraints aren't met. type CookieBasedSessionStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CookieBasedSessionStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CookieBasedSessionStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CookieBasedSessionStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CookieBasedSessionStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CookieBasedSessionStateValidationError) ErrorName() string { return "CookieBasedSessionStateValidationError" } // Error satisfies the builtin error interface func (e CookieBasedSessionStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCookieBasedSessionState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CookieBasedSessionStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CookieBasedSessionStateValidationError{} go-control-plane-0.12.0/envoy/extensions/http/stateful_session/header/000077500000000000000000000000001454502223200261115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/stateful_session/header/v3/000077500000000000000000000000001454502223200264415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/http/stateful_session/header/v3/header.pb.go000077500000000000000000000217361454502223200306340ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/http/stateful_session/header/v3/header.proto package headerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This extension allows the session state to be tracked via request headers. // // This extension encodes the address of the upstream host selected by the load balancer // into a response header with the :ref:`header configuration // `. // When new requests are incoming, this extension will try to parse the specific upstream host // address by header name. If the address parsed from the header corresponds to a valid // upstream host, this upstream host will be selected first. See :ref:`stateful session filter // `. // // For example, if the header name is set to “session-header“, Envoy will prefer “1.2.3.4:80“ // as the upstream host when the request contains the following header: // // .. code-block:: none // // session-header: "MS4yLjMuNDo4MA==" // // When processing the upstream response, if “1.2.3.4:80“ is indeed the final choice the extension // does nothing. If “1.2.3.4:80“ is not the final choice, the new selected host will be set to // response headers (via the “session-header“ response header). // // [#extension: envoy.http.stateful_session.header] type HeaderBasedSessionState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name that will be used to obtain header value from downstream HTTP request or generate // new header for downstream. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *HeaderBasedSessionState) Reset() { *x = HeaderBasedSessionState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_http_stateful_session_header_v3_header_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderBasedSessionState) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderBasedSessionState) ProtoMessage() {} func (x *HeaderBasedSessionState) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_http_stateful_session_header_v3_header_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderBasedSessionState.ProtoReflect.Descriptor instead. func (*HeaderBasedSessionState) Descriptor() ([]byte, []int) { return file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescGZIP(), []int{0} } func (x *HeaderBasedSessionState) GetName() string { if x != nil { return x.Name } return "" } var File_envoy_extensions_http_stateful_session_header_v3_header_proto protoreflect.FileDescriptor var file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x17, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescOnce sync.Once file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescData = file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDesc ) func file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescGZIP() []byte { file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescOnce.Do(func() { file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescData) }) return file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDescData } var file_envoy_extensions_http_stateful_session_header_v3_header_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_http_stateful_session_header_v3_header_proto_goTypes = []interface{}{ (*HeaderBasedSessionState)(nil), // 0: envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState } var file_envoy_extensions_http_stateful_session_header_v3_header_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_http_stateful_session_header_v3_header_proto_init() } func file_envoy_extensions_http_stateful_session_header_v3_header_proto_init() { if File_envoy_extensions_http_stateful_session_header_v3_header_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_http_stateful_session_header_v3_header_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderBasedSessionState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_http_stateful_session_header_v3_header_proto_goTypes, DependencyIndexes: file_envoy_extensions_http_stateful_session_header_v3_header_proto_depIdxs, MessageInfos: file_envoy_extensions_http_stateful_session_header_v3_header_proto_msgTypes, }.Build() File_envoy_extensions_http_stateful_session_header_v3_header_proto = out.File file_envoy_extensions_http_stateful_session_header_v3_header_proto_rawDesc = nil file_envoy_extensions_http_stateful_session_header_v3_header_proto_goTypes = nil file_envoy_extensions_http_stateful_session_header_v3_header_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/http/stateful_session/header/v3/header.pb.validate.go000077500000000000000000000073251454502223200324220ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/http/stateful_session/header/v3/header.proto package headerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HeaderBasedSessionState with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HeaderBasedSessionState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderBasedSessionState with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeaderBasedSessionStateMultiError, or nil if none found. func (m *HeaderBasedSessionState) ValidateAll() error { return m.validate(true) } func (m *HeaderBasedSessionState) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := HeaderBasedSessionStateValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HeaderBasedSessionStateMultiError(errors) } return nil } // HeaderBasedSessionStateMultiError is an error wrapping multiple validation // errors returned by HeaderBasedSessionState.ValidateAll() if the designated // constraints aren't met. type HeaderBasedSessionStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderBasedSessionStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderBasedSessionStateMultiError) AllErrors() []error { return m } // HeaderBasedSessionStateValidationError is the validation error returned by // HeaderBasedSessionState.Validate if the designated constraints aren't met. type HeaderBasedSessionStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderBasedSessionStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderBasedSessionStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderBasedSessionStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderBasedSessionStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderBasedSessionStateValidationError) ErrorName() string { return "HeaderBasedSessionStateValidationError" } // Error satisfies the builtin error interface func (e HeaderBasedSessionStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderBasedSessionState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderBasedSessionStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderBasedSessionStateValidationError{} go-control-plane-0.12.0/envoy/extensions/injected_credentials/000077500000000000000000000000001454502223200244525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/injected_credentials/generic/000077500000000000000000000000001454502223200260665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/injected_credentials/generic/v3/000077500000000000000000000000001454502223200264165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/injected_credentials/generic/v3/generic.pb.go000077500000000000000000000255271454502223200307770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/injected_credentials/generic/v3/generic.proto package genericv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Generic extension can be used to inject HTTP Basic Auth, Bearer Token, or any arbitrary credential // into the proxied requests. // The credential will be injected into the specified HTTP request header. // Example: // // .. code-block:: yaml // // credential: // name: generic_credential // typed_config: // "@type": type.googleapis.com/envoy.extensions.injected_credentials.generic.v3.Generic // credential: // name: credential // sds_config: // path_config_source: // path: credential.yaml // header: Authorization // // credential.yaml for Basic Auth: // // .. code-block:: yaml // // resources: // - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret" // name: credential // generic_secret: // secret: // inline_string: "Basic base64EncodedUsernamePassword" // // Refer to [RFC 7617: The 'Basic' HTTP Authentication Scheme](https://www.rfc-editor.org/rfc/rfc7617) for details. // // credential.yaml for Bearer Token: // // .. code-block:: yaml // resources: // - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret" // name: credential // generic_secret: // secret: // inline_string: "Bearer myToken" // // Refer to [RFC 6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://www.rfc-editor.org/rfc/rfc6750) for details. type Generic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The SDS configuration for the credential that will be injected to the specified HTTP request header. // It must be a generic secret. Credential *v3.SdsSecretConfig `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` // The header that will be injected to the HTTP request with the provided credential. // If not set, filter will default to: “Authorization“ Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` } func (x *Generic) Reset() { *x = Generic{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_injected_credentials_generic_v3_generic_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Generic) String() string { return protoimpl.X.MessageStringOf(x) } func (*Generic) ProtoMessage() {} func (x *Generic) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_injected_credentials_generic_v3_generic_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Generic.ProtoReflect.Descriptor instead. func (*Generic) Descriptor() ([]byte, []int) { return file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescGZIP(), []int{0} } func (x *Generic) GetCredential() *v3.SdsSecretConfig { if x != nil { return x.Credential } return nil } func (x *Generic) GetHeader() string { if x != nil { return x.Header } return "" } var File_envoy_extensions_injected_credentials_generic_v3_generic_proto protoreflect.FileDescriptor var file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x12, 0x64, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xd0, 0x01, 0x01, 0xc0, 0x01, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0xc3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescOnce sync.Once file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescData = file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDesc ) func file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescGZIP() []byte { file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescOnce.Do(func() { file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescData) }) return file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDescData } var file_envoy_extensions_injected_credentials_generic_v3_generic_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_injected_credentials_generic_v3_generic_proto_goTypes = []interface{}{ (*Generic)(nil), // 0: envoy.extensions.injected_credentials.generic.v3.Generic (*v3.SdsSecretConfig)(nil), // 1: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig } var file_envoy_extensions_injected_credentials_generic_v3_generic_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.injected_credentials.generic.v3.Generic.credential:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_injected_credentials_generic_v3_generic_proto_init() } func file_envoy_extensions_injected_credentials_generic_v3_generic_proto_init() { if File_envoy_extensions_injected_credentials_generic_v3_generic_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_injected_credentials_generic_v3_generic_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Generic); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_injected_credentials_generic_v3_generic_proto_goTypes, DependencyIndexes: file_envoy_extensions_injected_credentials_generic_v3_generic_proto_depIdxs, MessageInfos: file_envoy_extensions_injected_credentials_generic_v3_generic_proto_msgTypes, }.Build() File_envoy_extensions_injected_credentials_generic_v3_generic_proto = out.File file_envoy_extensions_injected_credentials_generic_v3_generic_proto_rawDesc = nil file_envoy_extensions_injected_credentials_generic_v3_generic_proto_goTypes = nil file_envoy_extensions_injected_credentials_generic_v3_generic_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/injected_credentials/generic/v3/generic.pb.validate.go000077500000000000000000000107151454502223200325600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/injected_credentials/generic/v3/generic.proto package genericv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Generic with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Generic) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Generic with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in GenericMultiError, or nil if none found. func (m *Generic) ValidateAll() error { return m.validate(true) } func (m *Generic) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCredential() == nil { err := GenericValidationError{ field: "Credential", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCredential()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCredential()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericValidationError{ field: "Credential", reason: "embedded message failed validation", cause: err, } } } if m.GetHeader() != "" { if !_Generic_Header_Pattern.MatchString(m.GetHeader()) { err := GenericValidationError{ field: "Header", reason: "value does not match regex pattern \"^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$\"", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return GenericMultiError(errors) } return nil } // GenericMultiError is an error wrapping multiple validation errors returned // by Generic.ValidateAll() if the designated constraints aren't met. type GenericMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericMultiError) AllErrors() []error { return m } // GenericValidationError is the validation error returned by Generic.Validate // if the designated constraints aren't met. type GenericValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericValidationError) ErrorName() string { return "GenericValidationError" } // Error satisfies the builtin error interface func (e GenericValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGeneric.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericValidationError{} var _Generic_Header_Pattern = regexp.MustCompile("^:?[0-9a-zA-Z!#$%&'*+-.^_|~`]+$") go-control-plane-0.12.0/envoy/extensions/injected_credentials/oauth2/000077500000000000000000000000001454502223200256545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/injected_credentials/oauth2/v3/000077500000000000000000000000001454502223200262045ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/injected_credentials/oauth2/v3/oauth2.pb.go000077500000000000000000000457371454502223200303600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/injected_credentials/oauth2/v3/oauth2.proto package oauth2v3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OAuth2_AuthType int32 const ( // The “client_id“ and “client_secret“ will be sent using HTTP Basic authentication scheme. OAuth2_BASIC_AUTH OAuth2_AuthType = 0 // The “client_id“ and “client_secret“ will be sent in the URL encoded request body. // This type should only be used when Auth server does not support Basic authentication. OAuth2_URL_ENCODED_BODY OAuth2_AuthType = 1 ) // Enum value maps for OAuth2_AuthType. var ( OAuth2_AuthType_name = map[int32]string{ 0: "BASIC_AUTH", 1: "URL_ENCODED_BODY", } OAuth2_AuthType_value = map[string]int32{ "BASIC_AUTH": 0, "URL_ENCODED_BODY": 1, } ) func (x OAuth2_AuthType) Enum() *OAuth2_AuthType { p := new(OAuth2_AuthType) *p = x return p } func (x OAuth2_AuthType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OAuth2_AuthType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_enumTypes[0].Descriptor() } func (OAuth2_AuthType) Type() protoreflect.EnumType { return &file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_enumTypes[0] } func (x OAuth2_AuthType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OAuth2_AuthType.Descriptor instead. func (OAuth2_AuthType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescGZIP(), []int{0, 0} } // OAuth2 extension can be used to retrieve an OAuth2 access token from an authorization server and inject it into the // proxied requests. // Currently, only the Client Credentials Grant flow is supported. // The access token will be injected into the request headers using the “Authorization“ header as a bearer token. type OAuth2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Endpoint on the authorization server to retrieve the access token from. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-3.2) for details. TokenEndpoint *v3.HttpUri `protobuf:"bytes,1,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` // Optional list of OAuth scopes to be claimed in the authorization request. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-4.4.2) for details. Scopes []string `protobuf:"bytes,2,rep,name=scopes,proto3" json:"scopes,omitempty"` // Types that are assignable to FlowType: // // *OAuth2_ClientCredentials_ FlowType isOAuth2_FlowType `protobuf_oneof:"flow_type"` } func (x *OAuth2) Reset() { *x = OAuth2{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2) ProtoMessage() {} func (x *OAuth2) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2.ProtoReflect.Descriptor instead. func (*OAuth2) Descriptor() ([]byte, []int) { return file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescGZIP(), []int{0} } func (x *OAuth2) GetTokenEndpoint() *v3.HttpUri { if x != nil { return x.TokenEndpoint } return nil } func (x *OAuth2) GetScopes() []string { if x != nil { return x.Scopes } return nil } func (m *OAuth2) GetFlowType() isOAuth2_FlowType { if m != nil { return m.FlowType } return nil } func (x *OAuth2) GetClientCredentials() *OAuth2_ClientCredentials { if x, ok := x.GetFlowType().(*OAuth2_ClientCredentials_); ok { return x.ClientCredentials } return nil } type isOAuth2_FlowType interface { isOAuth2_FlowType() } type OAuth2_ClientCredentials_ struct { // Client Credentials Grant. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-4.4) for details. ClientCredentials *OAuth2_ClientCredentials `protobuf:"bytes,3,opt,name=client_credentials,json=clientCredentials,proto3,oneof"` } func (*OAuth2_ClientCredentials_) isOAuth2_FlowType() {} // Credentials to authenticate client to the authorization server. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-2.3) for details. type OAuth2_ClientCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Client ID. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-2.3.1) for details. ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // Client secret. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-2.3.1) for details. ClientSecret *v31.SdsSecretConfig `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` // The method to use when sending credentials to the authorization server. // Refer to [RFC 6749: The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749#section-2.3.1) for details. AuthType OAuth2_AuthType `protobuf:"varint,3,opt,name=auth_type,json=authType,proto3,enum=envoy.extensions.injected_credentials.oauth2.v3.OAuth2_AuthType" json:"auth_type,omitempty"` } func (x *OAuth2_ClientCredentials) Reset() { *x = OAuth2_ClientCredentials{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OAuth2_ClientCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*OAuth2_ClientCredentials) ProtoMessage() {} func (x *OAuth2_ClientCredentials) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OAuth2_ClientCredentials.ProtoReflect.Descriptor instead. func (*OAuth2_ClientCredentials) Descriptor() ([]byte, []int) { return file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescGZIP(), []int{0, 0} } func (x *OAuth2_ClientCredentials) GetClientId() string { if x != nil { return x.ClientId } return "" } func (x *OAuth2_ClientCredentials) GetClientSecret() *v31.SdsSecretConfig { if x != nil { return x.ClientSecret } return nil } func (x *OAuth2_ClientCredentials) GetAuthType() OAuth2_AuthType { if x != nil { return x.AuthType } return OAuth2_BASIC_AUTH } var File_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto protoreflect.FileDescriptor var file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x04, 0x0a, 0x06, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x4e, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x83, 0x02, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x5d, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x30, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x52, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x44, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x10, 0x01, 0x42, 0x10, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescOnce sync.Once file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescData = file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDesc ) func file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescGZIP() []byte { file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescOnce.Do(func() { file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescData) }) return file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDescData } var file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_goTypes = []interface{}{ (OAuth2_AuthType)(0), // 0: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.AuthType (*OAuth2)(nil), // 1: envoy.extensions.injected_credentials.oauth2.v3.OAuth2 (*OAuth2_ClientCredentials)(nil), // 2: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.ClientCredentials (*v3.HttpUri)(nil), // 3: envoy.config.core.v3.HttpUri (*v31.SdsSecretConfig)(nil), // 4: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig } var file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.token_endpoint:type_name -> envoy.config.core.v3.HttpUri 2, // 1: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.client_credentials:type_name -> envoy.extensions.injected_credentials.oauth2.v3.OAuth2.ClientCredentials 4, // 2: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.ClientCredentials.client_secret:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 0, // 3: envoy.extensions.injected_credentials.oauth2.v3.OAuth2.ClientCredentials.auth_type:type_name -> envoy.extensions.injected_credentials.oauth2.v3.OAuth2.AuthType 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_init() } func file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_init() { if File_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OAuth2_ClientCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes[0].OneofWrappers = []interface{}{ (*OAuth2_ClientCredentials_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_goTypes, DependencyIndexes: file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_depIdxs, EnumInfos: file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_enumTypes, MessageInfos: file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_msgTypes, }.Build() File_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto = out.File file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_rawDesc = nil file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_goTypes = nil file_envoy_extensions_injected_credentials_oauth2_v3_oauth2_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/injected_credentials/oauth2/v3/oauth2.pb.validate.go000077500000000000000000000233261454502223200321360ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/injected_credentials/oauth2/v3/oauth2.proto package oauth2v3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OAuth2 with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OAuth2) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2 with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in OAuth2MultiError, or nil if none found. func (m *OAuth2) ValidateAll() error { return m.validate(true) } func (m *OAuth2) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTokenEndpoint() == nil { err := OAuth2ValidationError{ field: "TokenEndpoint", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTokenEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ValidationError{ field: "TokenEndpoint", reason: "embedded message failed validation", cause: err, } } } oneofFlowTypePresent := false switch v := m.FlowType.(type) { case *OAuth2_ClientCredentials_: if v == nil { err := OAuth2ValidationError{ field: "FlowType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofFlowTypePresent = true if all { switch v := interface{}(m.GetClientCredentials()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "ClientCredentials", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2ValidationError{ field: "ClientCredentials", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientCredentials()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2ValidationError{ field: "ClientCredentials", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofFlowTypePresent { err := OAuth2ValidationError{ field: "FlowType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OAuth2MultiError(errors) } return nil } // OAuth2MultiError is an error wrapping multiple validation errors returned by // OAuth2.ValidateAll() if the designated constraints aren't met. type OAuth2MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2MultiError) AllErrors() []error { return m } // OAuth2ValidationError is the validation error returned by OAuth2.Validate if // the designated constraints aren't met. type OAuth2ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2ValidationError) ErrorName() string { return "OAuth2ValidationError" } // Error satisfies the builtin error interface func (e OAuth2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2ValidationError{} // Validate checks the field values on OAuth2_ClientCredentials with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OAuth2_ClientCredentials) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OAuth2_ClientCredentials with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OAuth2_ClientCredentialsMultiError, or nil if none found. func (m *OAuth2_ClientCredentials) ValidateAll() error { return m.validate(true) } func (m *OAuth2_ClientCredentials) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetClientId()) < 1 { err := OAuth2_ClientCredentialsValidationError{ field: "ClientId", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if m.GetClientSecret() == nil { err := OAuth2_ClientCredentialsValidationError{ field: "ClientSecret", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClientSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OAuth2_ClientCredentialsValidationError{ field: "ClientSecret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OAuth2_ClientCredentialsValidationError{ field: "ClientSecret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClientSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OAuth2_ClientCredentialsValidationError{ field: "ClientSecret", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AuthType if len(errors) > 0 { return OAuth2_ClientCredentialsMultiError(errors) } return nil } // OAuth2_ClientCredentialsMultiError is an error wrapping multiple validation // errors returned by OAuth2_ClientCredentials.ValidateAll() if the designated // constraints aren't met. type OAuth2_ClientCredentialsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OAuth2_ClientCredentialsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OAuth2_ClientCredentialsMultiError) AllErrors() []error { return m } // OAuth2_ClientCredentialsValidationError is the validation error returned by // OAuth2_ClientCredentials.Validate if the designated constraints aren't met. type OAuth2_ClientCredentialsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OAuth2_ClientCredentialsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OAuth2_ClientCredentialsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OAuth2_ClientCredentialsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OAuth2_ClientCredentialsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OAuth2_ClientCredentialsValidationError) ErrorName() string { return "OAuth2_ClientCredentialsValidationError" } // Error satisfies the builtin error interface func (e OAuth2_ClientCredentialsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOAuth2_ClientCredentials.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OAuth2_ClientCredentialsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OAuth2_ClientCredentialsValidationError{} go-control-plane-0.12.0/envoy/extensions/internal_redirect/000077500000000000000000000000001454502223200240055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/allow_listed_routes/000077500000000000000000000000001454502223200300705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/allow_listed_routes/v3/000077500000000000000000000000001454502223200304205ustar00rootroot00000000000000allow_listed_routes_config.pb.go000077500000000000000000000231651454502223200367120ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/allow_listed_routes/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/internal_redirect/allow_listed_routes/v3/allow_listed_routes_config.proto package allow_listed_routesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // An internal redirect predicate that accepts only explicitly allowed target routes. // [#extension: envoy.internal_redirect_predicates.allow_listed_routes] type AllowListedRoutesConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of routes that's allowed as redirect target by this predicate, // identified by the route's :ref:`name `. // Empty route names are not allowed. AllowedRouteNames []string `protobuf:"bytes,1,rep,name=allowed_route_names,json=allowedRouteNames,proto3" json:"allowed_route_names,omitempty"` } func (x *AllowListedRoutesConfig) Reset() { *x = AllowListedRoutesConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AllowListedRoutesConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AllowListedRoutesConfig) ProtoMessage() {} func (x *AllowListedRoutesConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AllowListedRoutesConfig.ProtoReflect.Descriptor instead. func (*AllowListedRoutesConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescGZIP(), []int{0} } func (x *AllowListedRoutesConfig) GetAllowedRouteNames() []string { if x != nil { return x.AllowedRouteNames } return nil } var File_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto protoreflect.FileDescriptor var file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDesc = []byte{ 0x0a, 0x5a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x92, 0x01, 0x06, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0xe9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x47, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x1c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x76, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescOnce sync.Once file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescData = file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDesc ) func file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescGZIP() []byte { file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescData) }) return file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDescData } var file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_goTypes = []interface{}{ (*AllowListedRoutesConfig)(nil), // 0: envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig } var file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_init() } func file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_init() { if File_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AllowListedRoutesConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_depIdxs, MessageInfos: file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_msgTypes, }.Build() File_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto = out.File file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_rawDesc = nil file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_goTypes = nil file_envoy_extensions_internal_redirect_allow_listed_routes_v3_allow_listed_routes_config_proto_depIdxs = nil } allow_listed_routes_config.pb.validate.go000077500000000000000000000075601454502223200405030ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/allow_listed_routes/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/internal_redirect/allow_listed_routes/v3/allow_listed_routes_config.proto package allow_listed_routesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AllowListedRoutesConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AllowListedRoutesConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AllowListedRoutesConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AllowListedRoutesConfigMultiError, or nil if none found. func (m *AllowListedRoutesConfig) ValidateAll() error { return m.validate(true) } func (m *AllowListedRoutesConfig) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetAllowedRouteNames() { _, _ = idx, item if utf8.RuneCountInString(item) < 1 { err := AllowListedRoutesConfigValidationError{ field: fmt.Sprintf("AllowedRouteNames[%v]", idx), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return AllowListedRoutesConfigMultiError(errors) } return nil } // AllowListedRoutesConfigMultiError is an error wrapping multiple validation // errors returned by AllowListedRoutesConfig.ValidateAll() if the designated // constraints aren't met. type AllowListedRoutesConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AllowListedRoutesConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AllowListedRoutesConfigMultiError) AllErrors() []error { return m } // AllowListedRoutesConfigValidationError is the validation error returned by // AllowListedRoutesConfig.Validate if the designated constraints aren't met. type AllowListedRoutesConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AllowListedRoutesConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AllowListedRoutesConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AllowListedRoutesConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AllowListedRoutesConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AllowListedRoutesConfigValidationError) ErrorName() string { return "AllowListedRoutesConfigValidationError" } // Error satisfies the builtin error interface func (e AllowListedRoutesConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAllowListedRoutesConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AllowListedRoutesConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AllowListedRoutesConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/internal_redirect/previous_routes/000077500000000000000000000000001454502223200272625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/previous_routes/v3/000077500000000000000000000000001454502223200276125ustar00rootroot00000000000000previous_routes_config.pb.go000077500000000000000000000203201454502223200352640ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/previous_routes/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/internal_redirect/previous_routes/v3/previous_routes_config.proto package previous_routesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // An internal redirect predicate that rejects redirect targets that are pointing // to a route that has been followed by a previous redirect from the current route. // [#extension: envoy.internal_redirect_predicates.previous_routes] type PreviousRoutesConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PreviousRoutesConfig) Reset() { *x = PreviousRoutesConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreviousRoutesConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreviousRoutesConfig) ProtoMessage() {} func (x *PreviousRoutesConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreviousRoutesConfig.ProtoReflect.Descriptor instead. func (*PreviousRoutesConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto protoreflect.FileDescriptor var file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xda, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x19, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescOnce sync.Once file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescData = file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDesc ) func file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescGZIP() []byte { file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescData) }) return file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDescData } var file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_goTypes = []interface{}{ (*PreviousRoutesConfig)(nil), // 0: envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig } var file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_init() } func file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_init() { if File_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviousRoutesConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_depIdxs, MessageInfos: file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_msgTypes, }.Build() File_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto = out.File file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_rawDesc = nil file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_goTypes = nil file_envoy_extensions_internal_redirect_previous_routes_v3_previous_routes_config_proto_depIdxs = nil } previous_routes_config.pb.validate.go000077500000000000000000000066751454502223200370750ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/previous_routes/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/internal_redirect/previous_routes/v3/previous_routes_config.proto package previous_routesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreviousRoutesConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreviousRoutesConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreviousRoutesConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreviousRoutesConfigMultiError, or nil if none found. func (m *PreviousRoutesConfig) ValidateAll() error { return m.validate(true) } func (m *PreviousRoutesConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PreviousRoutesConfigMultiError(errors) } return nil } // PreviousRoutesConfigMultiError is an error wrapping multiple validation // errors returned by PreviousRoutesConfig.ValidateAll() if the designated // constraints aren't met. type PreviousRoutesConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreviousRoutesConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreviousRoutesConfigMultiError) AllErrors() []error { return m } // PreviousRoutesConfigValidationError is the validation error returned by // PreviousRoutesConfig.Validate if the designated constraints aren't met. type PreviousRoutesConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreviousRoutesConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreviousRoutesConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreviousRoutesConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreviousRoutesConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreviousRoutesConfigValidationError) ErrorName() string { return "PreviousRoutesConfigValidationError" } // Error satisfies the builtin error interface func (e PreviousRoutesConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreviousRoutesConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreviousRoutesConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreviousRoutesConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/internal_redirect/safe_cross_scheme/000077500000000000000000000000001454502223200274605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/safe_cross_scheme/v3/000077500000000000000000000000001454502223200300105ustar00rootroot00000000000000safe_cross_scheme_config.pb.go000077500000000000000000000211651454502223200356700ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/safe_cross_scheme/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/internal_redirect/safe_cross_scheme/v3/safe_cross_scheme_config.proto package safe_cross_schemev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // An internal redirect predicate that checks the scheme between the // downstream url and the redirect target url and allows a) same scheme // redirect and b) safe cross scheme redirect, which means if the downstream // scheme is HTTPS, both HTTPS and HTTP redirect targets are allowed, but if the // downstream scheme is HTTP, only HTTP redirect targets are allowed. // [#extension: envoy.internal_redirect_predicates.safe_cross_scheme] type SafeCrossSchemeConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SafeCrossSchemeConfig) Reset() { *x = SafeCrossSchemeConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SafeCrossSchemeConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SafeCrossSchemeConfig) ProtoMessage() {} func (x *SafeCrossSchemeConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SafeCrossSchemeConfig.ProtoReflect.Descriptor instead. func (*SafeCrossSchemeConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto protoreflect.FileDescriptor var file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDesc = []byte{ 0x0a, 0x56, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x61, 0x66, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x53, 0x61, 0x66, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescOnce sync.Once file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescData = file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDesc ) func file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescGZIP() []byte { file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescData) }) return file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDescData } var file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_goTypes = []interface{}{ (*SafeCrossSchemeConfig)(nil), // 0: envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig } var file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_init() } func file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_init() { if File_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SafeCrossSchemeConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_depIdxs, MessageInfos: file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_msgTypes, }.Build() File_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto = out.File file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_rawDesc = nil file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_goTypes = nil file_envoy_extensions_internal_redirect_safe_cross_scheme_v3_safe_cross_scheme_config_proto_depIdxs = nil } safe_cross_scheme_config.pb.validate.go000077500000000000000000000067341454502223200374650ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/internal_redirect/safe_cross_scheme/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/internal_redirect/safe_cross_scheme/v3/safe_cross_scheme_config.proto package safe_cross_schemev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SafeCrossSchemeConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SafeCrossSchemeConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SafeCrossSchemeConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SafeCrossSchemeConfigMultiError, or nil if none found. func (m *SafeCrossSchemeConfig) ValidateAll() error { return m.validate(true) } func (m *SafeCrossSchemeConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SafeCrossSchemeConfigMultiError(errors) } return nil } // SafeCrossSchemeConfigMultiError is an error wrapping multiple validation // errors returned by SafeCrossSchemeConfig.ValidateAll() if the designated // constraints aren't met. type SafeCrossSchemeConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SafeCrossSchemeConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SafeCrossSchemeConfigMultiError) AllErrors() []error { return m } // SafeCrossSchemeConfigValidationError is the validation error returned by // SafeCrossSchemeConfig.Validate if the designated constraints aren't met. type SafeCrossSchemeConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SafeCrossSchemeConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SafeCrossSchemeConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SafeCrossSchemeConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SafeCrossSchemeConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SafeCrossSchemeConfigValidationError) ErrorName() string { return "SafeCrossSchemeConfigValidationError" } // Error satisfies the builtin error interface func (e SafeCrossSchemeConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSafeCrossSchemeConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SafeCrossSchemeConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SafeCrossSchemeConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/key_value/000077500000000000000000000000001454502223200222745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/key_value/file_based/000077500000000000000000000000001454502223200243515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/key_value/file_based/v3/000077500000000000000000000000001454502223200247015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/key_value/file_based/v3/config.pb.go000077500000000000000000000243631454502223200271100ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/key_value/file_based/v3/config.proto package file_basedv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#extension: envoy.key_value.file_based] // This is configuration to flush a key value store out to disk. type FileBasedKeyValueStoreConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filename to read the keys and values from, and write the keys and // values to. Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` // The interval at which the key value store should be flushed to the file. FlushInterval *duration.Duration `protobuf:"bytes,2,opt,name=flush_interval,json=flushInterval,proto3" json:"flush_interval,omitempty"` // The maximum number of entries to cache, or 0 to allow for unlimited entries. // Defaults to 1000 if not present. MaxEntries *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_entries,json=maxEntries,proto3" json:"max_entries,omitempty"` } func (x *FileBasedKeyValueStoreConfig) Reset() { *x = FileBasedKeyValueStoreConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_key_value_file_based_v3_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileBasedKeyValueStoreConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileBasedKeyValueStoreConfig) ProtoMessage() {} func (x *FileBasedKeyValueStoreConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_key_value_file_based_v3_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileBasedKeyValueStoreConfig.ProtoReflect.Descriptor instead. func (*FileBasedKeyValueStoreConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescGZIP(), []int{0} } func (x *FileBasedKeyValueStoreConfig) GetFilename() string { if x != nil { return x.Filename } return "" } func (x *FileBasedKeyValueStoreConfig) GetFlushInterval() *duration.Duration { if x != nil { return x.FlushInterval } return nil } func (x *FileBasedKeyValueStoreConfig) GetMaxEntries() *wrappers.UInt32Value { if x != nil { return x.MaxEntries } return nil } var File_envoy_extensions_key_value_file_based_v3_config_proto protoreflect.FileDescriptor var file_envoy_extensions_key_value_file_based_v3_config_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x1c, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x42, 0xad, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescOnce sync.Once file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescData = file_envoy_extensions_key_value_file_based_v3_config_proto_rawDesc ) func file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescGZIP() []byte { file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescData) }) return file_envoy_extensions_key_value_file_based_v3_config_proto_rawDescData } var file_envoy_extensions_key_value_file_based_v3_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_key_value_file_based_v3_config_proto_goTypes = []interface{}{ (*FileBasedKeyValueStoreConfig)(nil), // 0: envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value } var file_envoy_extensions_key_value_file_based_v3_config_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig.flush_interval:type_name -> google.protobuf.Duration 2, // 1: envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig.max_entries:type_name -> google.protobuf.UInt32Value 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_key_value_file_based_v3_config_proto_init() } func file_envoy_extensions_key_value_file_based_v3_config_proto_init() { if File_envoy_extensions_key_value_file_based_v3_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_key_value_file_based_v3_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileBasedKeyValueStoreConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_key_value_file_based_v3_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_key_value_file_based_v3_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_key_value_file_based_v3_config_proto_depIdxs, MessageInfos: file_envoy_extensions_key_value_file_based_v3_config_proto_msgTypes, }.Build() File_envoy_extensions_key_value_file_based_v3_config_proto = out.File file_envoy_extensions_key_value_file_based_v3_config_proto_rawDesc = nil file_envoy_extensions_key_value_file_based_v3_config_proto_goTypes = nil file_envoy_extensions_key_value_file_based_v3_config_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/key_value/file_based/v3/config.pb.validate.go000077500000000000000000000131171454502223200306730ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/key_value/file_based/v3/config.proto package file_basedv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FileBasedKeyValueStoreConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FileBasedKeyValueStoreConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FileBasedKeyValueStoreConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FileBasedKeyValueStoreConfigMultiError, or nil if none found. func (m *FileBasedKeyValueStoreConfig) ValidateAll() error { return m.validate(true) } func (m *FileBasedKeyValueStoreConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetFilename()) < 1 { err := FileBasedKeyValueStoreConfigValidationError{ field: "Filename", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFlushInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileBasedKeyValueStoreConfigValidationError{ field: "FlushInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileBasedKeyValueStoreConfigValidationError{ field: "FlushInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFlushInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileBasedKeyValueStoreConfigValidationError{ field: "FlushInterval", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxEntries()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FileBasedKeyValueStoreConfigValidationError{ field: "MaxEntries", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FileBasedKeyValueStoreConfigValidationError{ field: "MaxEntries", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxEntries()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FileBasedKeyValueStoreConfigValidationError{ field: "MaxEntries", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return FileBasedKeyValueStoreConfigMultiError(errors) } return nil } // FileBasedKeyValueStoreConfigMultiError is an error wrapping multiple // validation errors returned by FileBasedKeyValueStoreConfig.ValidateAll() if // the designated constraints aren't met. type FileBasedKeyValueStoreConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FileBasedKeyValueStoreConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FileBasedKeyValueStoreConfigMultiError) AllErrors() []error { return m } // FileBasedKeyValueStoreConfigValidationError is the validation error returned // by FileBasedKeyValueStoreConfig.Validate if the designated constraints // aren't met. type FileBasedKeyValueStoreConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FileBasedKeyValueStoreConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FileBasedKeyValueStoreConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FileBasedKeyValueStoreConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FileBasedKeyValueStoreConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FileBasedKeyValueStoreConfigValidationError) ErrorName() string { return "FileBasedKeyValueStoreConfigValidationError" } // Error satisfies the builtin error interface func (e FileBasedKeyValueStoreConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFileBasedKeyValueStoreConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FileBasedKeyValueStoreConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FileBasedKeyValueStoreConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/000077500000000000000000000000001454502223200251145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/000077500000000000000000000000001454502223200336565ustar00rootroot00000000000000v3/000077500000000000000000000000001454502223200341275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/client_side_weighted_round_robinclient_side_weighted_round_robin.pb.go000077500000000000000000000457001454502223200436310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto package client_side_weighted_round_robinv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the client_side_weighted_round_robin LB policy. // // This policy differs from the built-in ROUND_ROBIN policy in terms of // how the endpoint weights are determined. In the ROUND_ROBIN policy, // the endpoint weights are sent by the control plane via EDS. However, // in this policy, the endpoint weights are instead determined via qps (queries // per second), eps (errors per second), and utilization metrics sent by the // endpoint using the Open Request Cost Aggregation (ORCA) protocol. Utilization // is determined by using the ORCA application_utilization field, if set, or // else falling back to the cpu_utilization field. All queries count toward qps, // regardless of result. Only failed queries count toward eps. A config // parameter error_utilization_penalty controls the penalty to adjust endpoint // weights using eps and qps. The weight of a given endpoint is computed as: // // qps / (utilization + eps/qps * error_utilization_penalty) // // See the :ref:`load balancing architecture overview` for more information. // // [#next-free-field: 7] type ClientSideWeightedRoundRobin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to enable out-of-band utilization reporting collection from // the endpoints. By default, per-request utilization reporting is used. EnableOobLoadReport *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enable_oob_load_report,json=enableOobLoadReport,proto3" json:"enable_oob_load_report,omitempty"` // Load reporting interval to request from the server. Note that the // server may not provide reports as frequently as the client requests. // Used only when enable_oob_load_report is true. Default is 10 seconds. OobReportingPeriod *duration.Duration `protobuf:"bytes,2,opt,name=oob_reporting_period,json=oobReportingPeriod,proto3" json:"oob_reporting_period,omitempty"` // A given endpoint must report load metrics continuously for at least // this long before the endpoint weight will be used. This avoids // churn when the set of endpoint addresses changes. Takes effect // both immediately after we establish a connection to an endpoint and // after weight_expiration_period has caused us to stop using the most // recent load metrics. Default is 10 seconds. BlackoutPeriod *duration.Duration `protobuf:"bytes,3,opt,name=blackout_period,json=blackoutPeriod,proto3" json:"blackout_period,omitempty"` // If a given endpoint has not reported load metrics in this long, // then we stop using the reported weight. This ensures that we do // not continue to use very stale weights. Once we stop using a stale // value, if we later start seeing fresh reports again, the // blackout_period applies. Defaults to 3 minutes. WeightExpirationPeriod *duration.Duration `protobuf:"bytes,4,opt,name=weight_expiration_period,json=weightExpirationPeriod,proto3" json:"weight_expiration_period,omitempty"` // How often endpoint weights are recalculated. Values less than 100ms are // capped at 100ms. Default is 1 second. WeightUpdatePeriod *duration.Duration `protobuf:"bytes,5,opt,name=weight_update_period,json=weightUpdatePeriod,proto3" json:"weight_update_period,omitempty"` // The multiplier used to adjust endpoint weights with the error rate // calculated as eps/qps. Configuration is rejected if this value is negative. // Default is 1.0. ErrorUtilizationPenalty *wrappers.FloatValue `protobuf:"bytes,6,opt,name=error_utilization_penalty,json=errorUtilizationPenalty,proto3" json:"error_utilization_penalty,omitempty"` } func (x *ClientSideWeightedRoundRobin) Reset() { *x = ClientSideWeightedRoundRobin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientSideWeightedRoundRobin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientSideWeightedRoundRobin) ProtoMessage() {} func (x *ClientSideWeightedRoundRobin) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientSideWeightedRoundRobin.ProtoReflect.Descriptor instead. func (*ClientSideWeightedRoundRobin) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescGZIP(), []int{0} } func (x *ClientSideWeightedRoundRobin) GetEnableOobLoadReport() *wrappers.BoolValue { if x != nil { return x.EnableOobLoadReport } return nil } func (x *ClientSideWeightedRoundRobin) GetOobReportingPeriod() *duration.Duration { if x != nil { return x.OobReportingPeriod } return nil } func (x *ClientSideWeightedRoundRobin) GetBlackoutPeriod() *duration.Duration { if x != nil { return x.BlackoutPeriod } return nil } func (x *ClientSideWeightedRoundRobin) GetWeightExpirationPeriod() *duration.Duration { if x != nil { return x.WeightExpirationPeriod } return nil } func (x *ClientSideWeightedRoundRobin) GetWeightUpdatePeriod() *duration.Duration { if x != nil { return x.WeightUpdatePeriod } return nil } func (x *ClientSideWeightedRoundRobin) GetErrorUtilizationPenalty() *wrappers.FloatValue { if x != nil { return x.ErrorUtilizationPenalty } return nil } var File_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDesc = []byte{ 0x0a, 0x73, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x04, 0x0a, 0x1c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x12, 0x4f, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6f, 0x62, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, 0x62, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x6f, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6f, 0x6f, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x42, 0x0a, 0x0f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x53, 0x0a, 0x18, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x19, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x0a, 0x05, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x52, 0x17, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0xa2, 0x02, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x5a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x21, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x96, 0x01, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescData = file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_goTypes = []interface{}{ (*ClientSideWeightedRoundRobin)(nil), // 0: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin (*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue (*duration.Duration)(nil), // 2: google.protobuf.Duration (*wrappers.FloatValue)(nil), // 3: google.protobuf.FloatValue } var file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.enable_oob_load_report:type_name -> google.protobuf.BoolValue 2, // 1: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.oob_reporting_period:type_name -> google.protobuf.Duration 2, // 2: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.blackout_period:type_name -> google.protobuf.Duration 2, // 3: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.weight_expiration_period:type_name -> google.protobuf.Duration 2, // 4: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.weight_update_period:type_name -> google.protobuf.Duration 3, // 5: envoy.extensions.load_balancing_policies.client_side_weighted_round_robin.v3.ClientSideWeightedRoundRobin.error_utilization_penalty:type_name -> google.protobuf.FloatValue 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_init() } func file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_init() { if File_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientSideWeightedRoundRobin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto = out.File file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_v3_client_side_weighted_round_robin_proto_depIdxs = nil } client_side_weighted_round_robin.pb.validate.go000077500000000000000000000210001454502223200454040ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto package client_side_weighted_round_robinv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClientSideWeightedRoundRobin with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientSideWeightedRoundRobin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientSideWeightedRoundRobin with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClientSideWeightedRoundRobinMultiError, or nil if none found. func (m *ClientSideWeightedRoundRobin) ValidateAll() error { return m.validate(true) } func (m *ClientSideWeightedRoundRobin) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEnableOobLoadReport()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "EnableOobLoadReport", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "EnableOobLoadReport", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableOobLoadReport()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSideWeightedRoundRobinValidationError{ field: "EnableOobLoadReport", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOobReportingPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "OobReportingPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "OobReportingPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOobReportingPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSideWeightedRoundRobinValidationError{ field: "OobReportingPeriod", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetBlackoutPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "BlackoutPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "BlackoutPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBlackoutPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSideWeightedRoundRobinValidationError{ field: "BlackoutPeriod", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWeightExpirationPeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "WeightExpirationPeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "WeightExpirationPeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightExpirationPeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSideWeightedRoundRobinValidationError{ field: "WeightExpirationPeriod", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWeightUpdatePeriod()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "WeightUpdatePeriod", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientSideWeightedRoundRobinValidationError{ field: "WeightUpdatePeriod", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWeightUpdatePeriod()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientSideWeightedRoundRobinValidationError{ field: "WeightUpdatePeriod", reason: "embedded message failed validation", cause: err, } } } if wrapper := m.GetErrorUtilizationPenalty(); wrapper != nil { if wrapper.GetValue() < 0 { err := ClientSideWeightedRoundRobinValidationError{ field: "ErrorUtilizationPenalty", reason: "value must be greater than or equal to 0", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ClientSideWeightedRoundRobinMultiError(errors) } return nil } // ClientSideWeightedRoundRobinMultiError is an error wrapping multiple // validation errors returned by ClientSideWeightedRoundRobin.ValidateAll() if // the designated constraints aren't met. type ClientSideWeightedRoundRobinMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientSideWeightedRoundRobinMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientSideWeightedRoundRobinMultiError) AllErrors() []error { return m } // ClientSideWeightedRoundRobinValidationError is the validation error returned // by ClientSideWeightedRoundRobin.Validate if the designated constraints // aren't met. type ClientSideWeightedRoundRobinValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientSideWeightedRoundRobinValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientSideWeightedRoundRobinValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientSideWeightedRoundRobinValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientSideWeightedRoundRobinValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientSideWeightedRoundRobinValidationError) ErrorName() string { return "ClientSideWeightedRoundRobinValidationError" } // Error satisfies the builtin error interface func (e ClientSideWeightedRoundRobinValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientSideWeightedRoundRobin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientSideWeightedRoundRobinValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientSideWeightedRoundRobinValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/cluster_provided/000077500000000000000000000000001454502223200304715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/cluster_provided/v3/000077500000000000000000000000001454502223200310215ustar00rootroot00000000000000cluster_provided.pb.go000077500000000000000000000206521454502223200352560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/cluster_provided/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided.proto package cluster_providedv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The cluster provided load balancing policy allows cluster to specify its own load balancing. // If this extension is configured, the target cluster must provide load balancer when the cluster // is created. // // .. note:: // // Cluster provided load balancing policy could not be used as sub-policy of other hierarchical // load balancing policies, such as subset load balancing policy. type ClusterProvided struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ClusterProvided) Reset() { *x = ClusterProvided{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterProvided) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterProvided) ProtoMessage() {} func (x *ClusterProvided) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterProvided.ProtoReflect.Descriptor instead. func (*ClusterProvided) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDesc = []byte{ 0x0a, 0x53, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x42, 0xe4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x76, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescData = file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_goTypes = []interface{}{ (*ClusterProvided)(nil), // 0: envoy.extensions.load_balancing_policies.cluster_provided.v3.ClusterProvided } var file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_init() } func file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_init() { if File_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterProvided); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto = out.File file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided_proto_depIdxs = nil } cluster_provided.pb.validate.go000077500000000000000000000065011454502223200370430ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/cluster_provided/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided.proto package cluster_providedv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClusterProvided with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ClusterProvided) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterProvided with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterProvidedMultiError, or nil if none found. func (m *ClusterProvided) ValidateAll() error { return m.validate(true) } func (m *ClusterProvided) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ClusterProvidedMultiError(errors) } return nil } // ClusterProvidedMultiError is an error wrapping multiple validation errors // returned by ClusterProvided.ValidateAll() if the designated constraints // aren't met. type ClusterProvidedMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterProvidedMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterProvidedMultiError) AllErrors() []error { return m } // ClusterProvidedValidationError is the validation error returned by // ClusterProvided.Validate if the designated constraints aren't met. type ClusterProvidedValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterProvidedValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterProvidedValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterProvidedValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterProvidedValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterProvidedValidationError) ErrorName() string { return "ClusterProvidedValidationError" } // Error satisfies the builtin error interface func (e ClusterProvidedValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterProvided.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterProvidedValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterProvidedValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/common/000077500000000000000000000000001454502223200264045ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/common/v3/000077500000000000000000000000001454502223200267345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/common/v3/common.pb.go000077500000000000000000000754701454502223200311730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/common/v3/common.proto package commonv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LocalityLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to LocalityConfigSpecifier: // // *LocalityLbConfig_ZoneAwareLbConfig_ // *LocalityLbConfig_LocalityWeightedLbConfig_ LocalityConfigSpecifier isLocalityLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"` } func (x *LocalityLbConfig) Reset() { *x = LocalityLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbConfig) ProtoMessage() {} func (x *LocalityLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbConfig.ProtoReflect.Descriptor instead. func (*LocalityLbConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP(), []int{0} } func (m *LocalityLbConfig) GetLocalityConfigSpecifier() isLocalityLbConfig_LocalityConfigSpecifier { if m != nil { return m.LocalityConfigSpecifier } return nil } func (x *LocalityLbConfig) GetZoneAwareLbConfig() *LocalityLbConfig_ZoneAwareLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*LocalityLbConfig_ZoneAwareLbConfig_); ok { return x.ZoneAwareLbConfig } return nil } func (x *LocalityLbConfig) GetLocalityWeightedLbConfig() *LocalityLbConfig_LocalityWeightedLbConfig { if x, ok := x.GetLocalityConfigSpecifier().(*LocalityLbConfig_LocalityWeightedLbConfig_); ok { return x.LocalityWeightedLbConfig } return nil } type isLocalityLbConfig_LocalityConfigSpecifier interface { isLocalityLbConfig_LocalityConfigSpecifier() } type LocalityLbConfig_ZoneAwareLbConfig_ struct { // Configuration for local zone aware load balancing. ZoneAwareLbConfig *LocalityLbConfig_ZoneAwareLbConfig `protobuf:"bytes,1,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,proto3,oneof"` } type LocalityLbConfig_LocalityWeightedLbConfig_ struct { // Enable locality weighted load balancing. LocalityWeightedLbConfig *LocalityLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,2,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"` } func (*LocalityLbConfig_ZoneAwareLbConfig_) isLocalityLbConfig_LocalityConfigSpecifier() {} func (*LocalityLbConfig_LocalityWeightedLbConfig_) isLocalityLbConfig_LocalityConfigSpecifier() {} // Configuration for :ref:`slow start mode `. type SlowStartConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Represents the size of slow start window. // If set, the newly created host remains in slow start mode starting from its creation time // for the duration of slow start window. SlowStartWindow *duration.Duration `protobuf:"bytes,1,opt,name=slow_start_window,json=slowStartWindow,proto3" json:"slow_start_window,omitempty"` // This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0, // so that endpoint would get linearly increasing amount of traffic. // When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly. // The value of aggression parameter should be greater than 0.0. // By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve. // // During slow start window, effective weight of an endpoint would be scaled with time factor and aggression: // “new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))“, // where “time_factor=(time_since_start_seconds / slow_start_time_seconds)“. // // As time progresses, more and more traffic would be sent to endpoint, which is in slow start window. // Once host exits slow start, time_factor and aggression no longer affect its weight. Aggression *v3.RuntimeDouble `protobuf:"bytes,2,opt,name=aggression,proto3" json:"aggression,omitempty"` // Configures the minimum percentage of origin weight that avoids too small new weight, // which may cause endpoints in slow start mode receive no traffic in slow start window. // If not specified, the default is 10%. MinWeightPercent *v31.Percent `protobuf:"bytes,3,opt,name=min_weight_percent,json=minWeightPercent,proto3" json:"min_weight_percent,omitempty"` } func (x *SlowStartConfig) Reset() { *x = SlowStartConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SlowStartConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SlowStartConfig) ProtoMessage() {} func (x *SlowStartConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SlowStartConfig.ProtoReflect.Descriptor instead. func (*SlowStartConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP(), []int{1} } func (x *SlowStartConfig) GetSlowStartWindow() *duration.Duration { if x != nil { return x.SlowStartWindow } return nil } func (x *SlowStartConfig) GetAggression() *v3.RuntimeDouble { if x != nil { return x.Aggression } return nil } func (x *SlowStartConfig) GetMinWeightPercent() *v31.Percent { if x != nil { return x.MinWeightPercent } return nil } // Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.) type ConsistentHashingLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to “true“, the cluster will use hostname instead of the resolved // address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address. UseHostnameForHashing bool `protobuf:"varint,1,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"` // Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150 // no upstream host will get a load more than 1.5 times the average load of all the hosts in the cluster. // If not specified, the load is not bounded for any upstream host. Typical value for this parameter is between 120 and 200. // Minimum is 100. // // Applies to both Ring Hash and Maglev load balancers. // // This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified // “hash_balance_factor“, requests to any upstream host are capped at “hash_balance_factor/100“ times the average number of requests // across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing // is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify // the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the // cascading overflow effect when choosing the next host in the ring/table). // // If weights are specified on the hosts, they are respected. // // This is an O(N) algorithm, unlike other load balancers. Using a lower “hash_balance_factor“ results in more hosts // being probed, so use a higher value if you require better performance. HashBalanceFactor *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=hash_balance_factor,json=hashBalanceFactor,proto3" json:"hash_balance_factor,omitempty"` } func (x *ConsistentHashingLbConfig) Reset() { *x = ConsistentHashingLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConsistentHashingLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConsistentHashingLbConfig) ProtoMessage() {} func (x *ConsistentHashingLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConsistentHashingLbConfig.ProtoReflect.Descriptor instead. func (*ConsistentHashingLbConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP(), []int{2} } func (x *ConsistentHashingLbConfig) GetUseHostnameForHashing() bool { if x != nil { return x.UseHostnameForHashing } return false } func (x *ConsistentHashingLbConfig) GetHashBalanceFactor() *wrappers.UInt32Value { if x != nil { return x.HashBalanceFactor } return nil } // Configuration for :ref:`zone aware routing // `. type LocalityLbConfig_ZoneAwareLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configures percentage of requests that will be considered for zone aware routing // if zone aware routing is configured. If not specified, the default is 100%. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. RoutingEnabled *v31.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled,proto3" json:"routing_enabled,omitempty"` // Configures minimum upstream cluster size required for zone aware routing // If upstream cluster size is less than specified, zone aware routing is not performed // even if zone aware routing is configured. If not specified, the default is 6. // * :ref:`runtime values `. // * :ref:`Zone aware routing support `. MinClusterSize *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize,proto3" json:"min_cluster_size,omitempty"` // If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic // mode`. Instead, the cluster will fail all // requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a // failing service. FailTrafficOnPanic bool `protobuf:"varint,3,opt,name=fail_traffic_on_panic,json=failTrafficOnPanic,proto3" json:"fail_traffic_on_panic,omitempty"` } func (x *LocalityLbConfig_ZoneAwareLbConfig) Reset() { *x = LocalityLbConfig_ZoneAwareLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbConfig_ZoneAwareLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbConfig_ZoneAwareLbConfig) ProtoMessage() {} func (x *LocalityLbConfig_ZoneAwareLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbConfig_ZoneAwareLbConfig.ProtoReflect.Descriptor instead. func (*LocalityLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP(), []int{0, 0} } func (x *LocalityLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *v31.Percent { if x != nil { return x.RoutingEnabled } return nil } func (x *LocalityLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *wrappers.UInt64Value { if x != nil { return x.MinClusterSize } return nil } func (x *LocalityLbConfig_ZoneAwareLbConfig) GetFailTrafficOnPanic() bool { if x != nil { return x.FailTrafficOnPanic } return false } // Configuration for :ref:`locality weighted load balancing // ` type LocalityLbConfig_LocalityWeightedLbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *LocalityLbConfig_LocalityWeightedLbConfig) Reset() { *x = LocalityLbConfig_LocalityWeightedLbConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityLbConfig_LocalityWeightedLbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityLbConfig_LocalityWeightedLbConfig) ProtoMessage() {} func (x *LocalityLbConfig_LocalityWeightedLbConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityLbConfig_LocalityWeightedLbConfig.ProtoReflect.Descriptor instead. func (*LocalityLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP(), []int{0, 1} } var File_envoy_extensions_load_balancing_policies_common_v3_common_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x04, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x14, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xcf, 0x01, 0x0a, 0x11, 0x5a, 0x6f, 0x6e, 0x65, 0x41, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x6e, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x1a, 0x1a, 0x0a, 0x18, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x20, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x64, 0x52, 0x11, 0x68, 0x61, 0x73, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xbd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescData = file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_extensions_load_balancing_policies_common_v3_common_proto_goTypes = []interface{}{ (*LocalityLbConfig)(nil), // 0: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig (*SlowStartConfig)(nil), // 1: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig (*ConsistentHashingLbConfig)(nil), // 2: envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig (*LocalityLbConfig_ZoneAwareLbConfig)(nil), // 3: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.ZoneAwareLbConfig (*LocalityLbConfig_LocalityWeightedLbConfig)(nil), // 4: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig (*duration.Duration)(nil), // 5: google.protobuf.Duration (*v3.RuntimeDouble)(nil), // 6: envoy.config.core.v3.RuntimeDouble (*v31.Percent)(nil), // 7: envoy.type.v3.Percent (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value (*wrappers.UInt64Value)(nil), // 9: google.protobuf.UInt64Value } var file_envoy_extensions_load_balancing_policies_common_v3_common_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.zone_aware_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.ZoneAwareLbConfig 4, // 1: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.locality_weighted_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig 5, // 2: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig.slow_start_window:type_name -> google.protobuf.Duration 6, // 3: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig.aggression:type_name -> envoy.config.core.v3.RuntimeDouble 7, // 4: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig.min_weight_percent:type_name -> envoy.type.v3.Percent 8, // 5: envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value 7, // 6: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent 9, // 7: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_common_v3_common_proto_init() } func file_envoy_extensions_load_balancing_policies_common_v3_common_proto_init() { if File_envoy_extensions_load_balancing_policies_common_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SlowStartConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConsistentHashingLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbConfig_ZoneAwareLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityLbConfig_LocalityWeightedLbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes[0].OneofWrappers = []interface{}{ (*LocalityLbConfig_ZoneAwareLbConfig_)(nil), (*LocalityLbConfig_LocalityWeightedLbConfig_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_common_v3_common_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_common_v3_common_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_common_v3_common_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_common_v3_common_proto = out.File file_envoy_extensions_load_balancing_policies_common_v3_common_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_common_v3_common_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_common_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/common/v3/common.pb.validate.go000077500000000000000000000557161454502223200327640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/common/v3/common.proto package commonv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LocalityLbConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LocalityLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityLbConfigMultiError, or nil if none found. func (m *LocalityLbConfig) ValidateAll() error { return m.validate(true) } func (m *LocalityLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofLocalityConfigSpecifierPresent := false switch v := m.LocalityConfigSpecifier.(type) { case *LocalityLbConfig_ZoneAwareLbConfig_: if v == nil { err := LocalityLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLocalityConfigSpecifierPresent = true if all { switch v := interface{}(m.GetZoneAwareLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetZoneAwareLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbConfigValidationError{ field: "ZoneAwareLbConfig", reason: "embedded message failed validation", cause: err, } } } case *LocalityLbConfig_LocalityWeightedLbConfig_: if v == nil { err := LocalityLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLocalityConfigSpecifierPresent = true if all { switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityWeightedLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbConfigValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLocalityConfigSpecifierPresent { err := LocalityLbConfigValidationError{ field: "LocalityConfigSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return LocalityLbConfigMultiError(errors) } return nil } // LocalityLbConfigMultiError is an error wrapping multiple validation errors // returned by LocalityLbConfig.ValidateAll() if the designated constraints // aren't met. type LocalityLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbConfigMultiError) AllErrors() []error { return m } // LocalityLbConfigValidationError is the validation error returned by // LocalityLbConfig.Validate if the designated constraints aren't met. type LocalityLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbConfigValidationError) ErrorName() string { return "LocalityLbConfigValidationError" } // Error satisfies the builtin error interface func (e LocalityLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbConfigValidationError{} // Validate checks the field values on SlowStartConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SlowStartConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SlowStartConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SlowStartConfigMultiError, or nil if none found. func (m *SlowStartConfig) ValidateAll() error { return m.validate(true) } func (m *SlowStartConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSlowStartWindow()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartWindow()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SlowStartConfigValidationError{ field: "SlowStartWindow", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAggression()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAggression()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SlowStartConfigValidationError{ field: "Aggression", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinWeightPercent()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinWeightPercent()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SlowStartConfigValidationError{ field: "MinWeightPercent", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SlowStartConfigMultiError(errors) } return nil } // SlowStartConfigMultiError is an error wrapping multiple validation errors // returned by SlowStartConfig.ValidateAll() if the designated constraints // aren't met. type SlowStartConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SlowStartConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SlowStartConfigMultiError) AllErrors() []error { return m } // SlowStartConfigValidationError is the validation error returned by // SlowStartConfig.Validate if the designated constraints aren't met. type SlowStartConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SlowStartConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SlowStartConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SlowStartConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SlowStartConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SlowStartConfigValidationError) ErrorName() string { return "SlowStartConfigValidationError" } // Error satisfies the builtin error interface func (e SlowStartConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSlowStartConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SlowStartConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SlowStartConfigValidationError{} // Validate checks the field values on ConsistentHashingLbConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ConsistentHashingLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConsistentHashingLbConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConsistentHashingLbConfigMultiError, or nil if none found. func (m *ConsistentHashingLbConfig) ValidateAll() error { return m.validate(true) } func (m *ConsistentHashingLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for UseHostnameForHashing if wrapper := m.GetHashBalanceFactor(); wrapper != nil { if wrapper.GetValue() < 100 { err := ConsistentHashingLbConfigValidationError{ field: "HashBalanceFactor", reason: "value must be greater than or equal to 100", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return ConsistentHashingLbConfigMultiError(errors) } return nil } // ConsistentHashingLbConfigMultiError is an error wrapping multiple validation // errors returned by ConsistentHashingLbConfig.ValidateAll() if the // designated constraints aren't met. type ConsistentHashingLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConsistentHashingLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConsistentHashingLbConfigMultiError) AllErrors() []error { return m } // ConsistentHashingLbConfigValidationError is the validation error returned by // ConsistentHashingLbConfig.Validate if the designated constraints aren't met. type ConsistentHashingLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConsistentHashingLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConsistentHashingLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConsistentHashingLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConsistentHashingLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConsistentHashingLbConfigValidationError) ErrorName() string { return "ConsistentHashingLbConfigValidationError" } // Error satisfies the builtin error interface func (e ConsistentHashingLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConsistentHashingLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConsistentHashingLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConsistentHashingLbConfigValidationError{} // Validate checks the field values on LocalityLbConfig_ZoneAwareLbConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *LocalityLbConfig_ZoneAwareLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityLbConfig_ZoneAwareLbConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // LocalityLbConfig_ZoneAwareLbConfigMultiError, or nil if none found. func (m *LocalityLbConfig_ZoneAwareLbConfig) ValidateAll() error { return m.validate(true) } func (m *LocalityLbConfig_ZoneAwareLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetRoutingEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoutingEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "RoutingEnabled", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMinClusterSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMinClusterSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityLbConfig_ZoneAwareLbConfigValidationError{ field: "MinClusterSize", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailTrafficOnPanic if len(errors) > 0 { return LocalityLbConfig_ZoneAwareLbConfigMultiError(errors) } return nil } // LocalityLbConfig_ZoneAwareLbConfigMultiError is an error wrapping multiple // validation errors returned by // LocalityLbConfig_ZoneAwareLbConfig.ValidateAll() if the designated // constraints aren't met. type LocalityLbConfig_ZoneAwareLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbConfig_ZoneAwareLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbConfig_ZoneAwareLbConfigMultiError) AllErrors() []error { return m } // LocalityLbConfig_ZoneAwareLbConfigValidationError is the validation error // returned by LocalityLbConfig_ZoneAwareLbConfig.Validate if the designated // constraints aren't met. type LocalityLbConfig_ZoneAwareLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) ErrorName() string { return "LocalityLbConfig_ZoneAwareLbConfigValidationError" } // Error satisfies the builtin error interface func (e LocalityLbConfig_ZoneAwareLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbConfig_ZoneAwareLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbConfig_ZoneAwareLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbConfig_ZoneAwareLbConfigValidationError{} // Validate checks the field values on // LocalityLbConfig_LocalityWeightedLbConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LocalityLbConfig_LocalityWeightedLbConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // LocalityLbConfig_LocalityWeightedLbConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // LocalityLbConfig_LocalityWeightedLbConfigMultiError, or nil if none found. func (m *LocalityLbConfig_LocalityWeightedLbConfig) ValidateAll() error { return m.validate(true) } func (m *LocalityLbConfig_LocalityWeightedLbConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return LocalityLbConfig_LocalityWeightedLbConfigMultiError(errors) } return nil } // LocalityLbConfig_LocalityWeightedLbConfigMultiError is an error wrapping // multiple validation errors returned by // LocalityLbConfig_LocalityWeightedLbConfig.ValidateAll() if the designated // constraints aren't met. type LocalityLbConfig_LocalityWeightedLbConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityLbConfig_LocalityWeightedLbConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityLbConfig_LocalityWeightedLbConfigMultiError) AllErrors() []error { return m } // LocalityLbConfig_LocalityWeightedLbConfigValidationError is the validation // error returned by LocalityLbConfig_LocalityWeightedLbConfig.Validate if the // designated constraints aren't met. type LocalityLbConfig_LocalityWeightedLbConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) ErrorName() string { return "LocalityLbConfig_LocalityWeightedLbConfigValidationError" } // Error satisfies the builtin error interface func (e LocalityLbConfig_LocalityWeightedLbConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityLbConfig_LocalityWeightedLbConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityLbConfig_LocalityWeightedLbConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityLbConfig_LocalityWeightedLbConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/least_request/000077500000000000000000000000001454502223200277745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/least_request/v3/000077500000000000000000000000001454502223200303245ustar00rootroot00000000000000least_request.pb.go000077500000000000000000000401441454502223200340620ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/least_request/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto package least_requestv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/common/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This configuration allows the built-in LEAST_REQUEST LB policy to be configured via the LB policy // extension point. See the :ref:`load balancing architecture overview // ` for more information. // [#next-free-field: 6] type LeastRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The number of random healthy hosts from which the host with the fewest active requests will // be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set. ChoiceCount *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"` // The following formula is used to calculate the dynamic weights when hosts have different load // balancing weights: // // “weight = load_balancing_weight / (active_requests + 1)^active_request_bias“ // // The larger the active request bias is, the more aggressively active requests will lower the // effective weight when all host weights are not equal. // // “active_request_bias“ must be greater than or equal to 0.0. // // When “active_request_bias == 0.0“ the Least Request Load Balancer doesn't consider the number // of active requests at the time it picks a host and behaves like the Round Robin Load // Balancer. // // When “active_request_bias > 0.0“ the Least Request Load Balancer scales the load balancing // weight by the number of active requests at the time it does a pick. // // The value is cached for performance reasons and refreshed whenever one of the Load Balancer's // host sets changes, e.g., whenever there is a host membership update or a host load balancing // weight change. // // .. note:: // // This setting only takes effect if all host weights are not equal. ActiveRequestBias *v3.RuntimeDouble `protobuf:"bytes,2,opt,name=active_request_bias,json=activeRequestBias,proto3" json:"active_request_bias,omitempty"` // Configuration for slow start mode. // If this configuration is not set, slow start will not be not enabled. SlowStartConfig *v31.SlowStartConfig `protobuf:"bytes,3,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"` // Configuration for local zone aware load balancing or locality weighted load balancing. LocalityLbConfig *v31.LocalityLbConfig `protobuf:"bytes,4,opt,name=locality_lb_config,json=localityLbConfig,proto3" json:"locality_lb_config,omitempty"` // [#not-implemented-hide:] // Configuration for performing full scan on the list of hosts. // If this configuration is set, when selecting the host a full scan on the list hosts will be // used to select the one with least requests instead of using random choices. EnableFullScan *wrappers.BoolValue `protobuf:"bytes,5,opt,name=enable_full_scan,json=enableFullScan,proto3" json:"enable_full_scan,omitempty"` } func (x *LeastRequest) Reset() { *x = LeastRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LeastRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LeastRequest) ProtoMessage() {} func (x *LeastRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LeastRequest.ProtoReflect.Descriptor instead. func (*LeastRequest) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescGZIP(), []int{0} } func (x *LeastRequest) GetChoiceCount() *wrappers.UInt32Value { if x != nil { return x.ChoiceCount } return nil } func (x *LeastRequest) GetActiveRequestBias() *v3.RuntimeDouble { if x != nil { return x.ActiveRequestBias } return nil } func (x *LeastRequest) GetSlowStartConfig() *v31.SlowStartConfig { if x != nil { return x.SlowStartConfig } return nil } func (x *LeastRequest) GetLocalityLbConfig() *v31.LocalityLbConfig { if x != nil { return x.LocalityLbConfig } return nil } func (x *LeastRequest) GetEnableFullScan() *wrappers.BoolValue { if x != nil { return x.EnableFullScan } return nil } var File_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDesc = []byte{ 0x0a, 0x4d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x03, 0x0a, 0x0c, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x69, 0x61, 0x73, 0x12, 0x6f, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x61, 0x6e, 0x42, 0xd8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x47, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x70, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescData = file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_goTypes = []interface{}{ (*LeastRequest)(nil), // 0: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*v3.RuntimeDouble)(nil), // 2: envoy.config.core.v3.RuntimeDouble (*v31.SlowStartConfig)(nil), // 3: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig (*v31.LocalityLbConfig)(nil), // 4: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig (*wrappers.BoolValue)(nil), // 5: google.protobuf.BoolValue } var file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest.choice_count:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest.active_request_bias:type_name -> envoy.config.core.v3.RuntimeDouble 3, // 2: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest.slow_start_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig 4, // 3: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest.locality_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig 5, // 4: envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest.enable_full_scan:type_name -> google.protobuf.BoolValue 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_init() } func file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_init() { if File_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LeastRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto = out.File file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_least_request_v3_least_request_proto_depIdxs = nil } least_request.pb.validate.go000077500000000000000000000155701454502223200356570ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/least_request/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/least_request/v3/least_request.proto package least_requestv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LeastRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LeastRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LeastRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LeastRequestMultiError, or // nil if none found. func (m *LeastRequest) ValidateAll() error { return m.validate(true) } func (m *LeastRequest) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetChoiceCount(); wrapper != nil { if wrapper.GetValue() < 2 { err := LeastRequestValidationError{ field: "ChoiceCount", reason: "value must be greater than or equal to 2", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetActiveRequestBias()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetActiveRequestBias()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LeastRequestValidationError{ field: "ActiveRequestBias", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetSlowStartConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LeastRequestValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocalityLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LeastRequestValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetEnableFullScan()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "EnableFullScan", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LeastRequestValidationError{ field: "EnableFullScan", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableFullScan()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LeastRequestValidationError{ field: "EnableFullScan", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return LeastRequestMultiError(errors) } return nil } // LeastRequestMultiError is an error wrapping multiple validation errors // returned by LeastRequest.ValidateAll() if the designated constraints aren't met. type LeastRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LeastRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LeastRequestMultiError) AllErrors() []error { return m } // LeastRequestValidationError is the validation error returned by // LeastRequest.Validate if the designated constraints aren't met. type LeastRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LeastRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LeastRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LeastRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LeastRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LeastRequestValidationError) ErrorName() string { return "LeastRequestValidationError" } // Error satisfies the builtin error interface func (e LeastRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLeastRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LeastRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LeastRequestValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/maglev/000077500000000000000000000000001454502223200263675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/maglev/v3/000077500000000000000000000000001454502223200267175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/maglev/v3/maglev.pb.go000077500000000000000000000313521454502223200311300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/maglev/v3/maglev.proto package maglevv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/common/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This configuration allows the built-in Maglev LB policy to be configured via the LB policy // extension point. See the :ref:`load balancing architecture overview // ` and :ref:`Maglev` for more information. type Maglev struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The table size for Maglev hashing. Maglev aims for "minimal disruption" rather than an absolute guarantee. // Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same // upstream as it was before. Increasing the table size reduces the amount of disruption. // The table size must be prime number limited to 5000011. If it is not specified, the default is 65537. TableSize *wrappers.UInt64Value `protobuf:"bytes,1,opt,name=table_size,json=tableSize,proto3" json:"table_size,omitempty"` // Common configuration for hashing-based load balancing policies. ConsistentHashingLbConfig *v3.ConsistentHashingLbConfig `protobuf:"bytes,2,opt,name=consistent_hashing_lb_config,json=consistentHashingLbConfig,proto3" json:"consistent_hashing_lb_config,omitempty"` // Enable locality weighted load balancing for maglev lb explicitly. LocalityWeightedLbConfig *v3.LocalityLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3" json:"locality_weighted_lb_config,omitempty"` } func (x *Maglev) Reset() { *x = Maglev{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Maglev) String() string { return protoimpl.X.MessageStringOf(x) } func (*Maglev) ProtoMessage() {} func (x *Maglev) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Maglev.ProtoReflect.Descriptor instead. func (*Maglev) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescGZIP(), []int{0} } func (x *Maglev) GetTableSize() *wrappers.UInt64Value { if x != nil { return x.TableSize } return nil } func (x *Maglev) GetConsistentHashingLbConfig() *v3.ConsistentHashingLbConfig { if x != nil { return x.ConsistentHashingLbConfig } return nil } func (x *Maglev) GetLocalityWeightedLbConfig() *v3.LocalityLbConfig_LocalityWeightedLbConfig { if x != nil { return x.LocalityWeightedLbConfig } return nil } var File_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x03, 0x0a, 0x06, 0x4d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x12, 0x47, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0xcb, 0x96, 0xb1, 0x02, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9c, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x4d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x67, 0x6c, 0x65, 0x76, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescData = file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_goTypes = []interface{}{ (*Maglev)(nil), // 0: envoy.extensions.load_balancing_policies.maglev.v3.Maglev (*wrappers.UInt64Value)(nil), // 1: google.protobuf.UInt64Value (*v3.ConsistentHashingLbConfig)(nil), // 2: envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig (*v3.LocalityLbConfig_LocalityWeightedLbConfig)(nil), // 3: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig } var file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.maglev.v3.Maglev.table_size:type_name -> google.protobuf.UInt64Value 2, // 1: envoy.extensions.load_balancing_policies.maglev.v3.Maglev.consistent_hashing_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig 3, // 2: envoy.extensions.load_balancing_policies.maglev.v3.Maglev.locality_weighted_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_init() } func file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_init() { if File_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Maglev); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto = out.File file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_maglev_v3_maglev_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/maglev/v3/maglev.pb.validate.go000077500000000000000000000121061454502223200327140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/maglev/v3/maglev.proto package maglevv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Maglev with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Maglev) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Maglev with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in MaglevMultiError, or nil if none found. func (m *Maglev) ValidateAll() error { return m.validate(true) } func (m *Maglev) validate(all bool) error { if m == nil { return nil } var errors []error if wrapper := m.GetTableSize(); wrapper != nil { if wrapper.GetValue() > 5000011 { err := MaglevValidationError{ field: "TableSize", reason: "value must be less than or equal to 5000011", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetConsistentHashingLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MaglevValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MaglevValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsistentHashingLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MaglevValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MaglevValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MaglevValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityWeightedLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MaglevValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MaglevMultiError(errors) } return nil } // MaglevMultiError is an error wrapping multiple validation errors returned by // Maglev.ValidateAll() if the designated constraints aren't met. type MaglevMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MaglevMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MaglevMultiError) AllErrors() []error { return m } // MaglevValidationError is the validation error returned by Maglev.Validate if // the designated constraints aren't met. type MaglevValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MaglevValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MaglevValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MaglevValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MaglevValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MaglevValidationError) ErrorName() string { return "MaglevValidationError" } // Error satisfies the builtin error interface func (e MaglevValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMaglev.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MaglevValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MaglevValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/pick_first/000077500000000000000000000000001454502223200272515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/pick_first/v3/000077500000000000000000000000001454502223200276015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.pb.go000077500000000000000000000202301454502223200326650ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.proto package pick_firstv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This configuration allows the built-in PICK_FIRST LB policy to be configured // via the LB policy extension point. type PickFirst struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set to true, instructs the LB policy to shuffle the list of addresses // received from the name resolver before attempting to connect to them. ShuffleAddressList bool `protobuf:"varint,1,opt,name=shuffle_address_list,json=shuffleAddressList,proto3" json:"shuffle_address_list,omitempty"` } func (x *PickFirst) Reset() { *x = PickFirst{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PickFirst) String() string { return protoimpl.X.MessageStringOf(x) } func (*PickFirst) ProtoMessage() {} func (x *PickFirst) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PickFirst.ProtoReflect.Descriptor instead. func (*PickFirst) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescGZIP(), []int{0} } func (x *PickFirst) GetShuffleAddressList() bool { if x != nil { return x.ShuffleAddressList } return false } var File_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x09, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0xcc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescData = file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_goTypes = []interface{}{ (*PickFirst)(nil), // 0: envoy.extensions.load_balancing_policies.pick_first.v3.PickFirst } var file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_init() } func file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_init() { if File_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PickFirst); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto = out.File file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_pick_first_v3_pick_first_proto_depIdxs = nil } pick_first.pb.validate.go000077500000000000000000000063061454502223200344060ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/pick_first/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.proto package pick_firstv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PickFirst with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PickFirst) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PickFirst with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PickFirstMultiError, or nil // if none found. func (m *PickFirst) ValidateAll() error { return m.validate(true) } func (m *PickFirst) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ShuffleAddressList if len(errors) > 0 { return PickFirstMultiError(errors) } return nil } // PickFirstMultiError is an error wrapping multiple validation errors returned // by PickFirst.ValidateAll() if the designated constraints aren't met. type PickFirstMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PickFirstMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PickFirstMultiError) AllErrors() []error { return m } // PickFirstValidationError is the validation error returned by // PickFirst.Validate if the designated constraints aren't met. type PickFirstValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PickFirstValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PickFirstValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PickFirstValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PickFirstValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PickFirstValidationError) ErrorName() string { return "PickFirstValidationError" } // Error satisfies the builtin error interface func (e PickFirstValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPickFirst.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PickFirstValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PickFirstValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/random/000077500000000000000000000000001454502223200263745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/random/v3/000077500000000000000000000000001454502223200267245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/random/v3/random.pb.go000077500000000000000000000216501454502223200311420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/random/v3/random.proto package randomv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/common/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This configuration allows the built-in Random LB policy to be configured via the LB policy // extension point. See the :ref:`load balancing architecture overview // ` for more information. type Random struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for local zone aware load balancing or locality weighted load balancing. LocalityLbConfig *v3.LocalityLbConfig `protobuf:"bytes,1,opt,name=locality_lb_config,json=localityLbConfig,proto3" json:"locality_lb_config,omitempty"` } func (x *Random) Reset() { *x = Random{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_random_v3_random_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Random) String() string { return protoimpl.X.MessageStringOf(x) } func (*Random) ProtoMessage() {} func (x *Random) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_random_v3_random_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Random.ProtoReflect.Descriptor instead. func (*Random) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescGZIP(), []int{0} } func (x *Random) GetLocalityLbConfig() *v3.LocalityLbConfig { if x != nil { return x.LocalityLbConfig } return nil } var File_envoy_extensions_load_balancing_policies_random_v3_random_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x72, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescData = file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_random_v3_random_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_random_v3_random_proto_goTypes = []interface{}{ (*Random)(nil), // 0: envoy.extensions.load_balancing_policies.random.v3.Random (*v3.LocalityLbConfig)(nil), // 1: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig } var file_envoy_extensions_load_balancing_policies_random_v3_random_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.random.v3.Random.locality_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_random_v3_random_proto_init() } func file_envoy_extensions_load_balancing_policies_random_v3_random_proto_init() { if File_envoy_extensions_load_balancing_policies_random_v3_random_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_random_v3_random_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Random); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_random_v3_random_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_random_v3_random_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_random_v3_random_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_random_v3_random_proto = out.File file_envoy_extensions_load_balancing_policies_random_v3_random_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_random_v3_random_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_random_v3_random_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/random/v3/random.pb.validate.go000077500000000000000000000076111454502223200327330ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/random/v3/random.proto package randomv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Random with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Random) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Random with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RandomMultiError, or nil if none found. func (m *Random) ValidateAll() error { return m.validate(true) } func (m *Random) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocalityLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RandomValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RandomValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RandomValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RandomMultiError(errors) } return nil } // RandomMultiError is an error wrapping multiple validation errors returned by // Random.ValidateAll() if the designated constraints aren't met. type RandomMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RandomMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RandomMultiError) AllErrors() []error { return m } // RandomValidationError is the validation error returned by Random.Validate if // the designated constraints aren't met. type RandomValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RandomValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RandomValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RandomValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RandomValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RandomValidationError) ErrorName() string { return "RandomValidationError" } // Error satisfies the builtin error interface func (e RandomValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRandom.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RandomValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RandomValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/ring_hash/000077500000000000000000000000001454502223200270565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/ring_hash/v3/000077500000000000000000000000001454502223200274065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.pb.go000077500000000000000000000552371454502223200323160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto package ring_hashv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/common/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The hash function used to hash hosts onto the ketama ring. type RingHash_HashFunction int32 const ( // Currently defaults to XX_HASH. RingHash_DEFAULT_HASH RingHash_HashFunction = 0 // Use `xxHash `_. RingHash_XX_HASH RingHash_HashFunction = 1 // Use `MurmurHash2 `_, this is compatible with // std:hash in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled // on Linux and not macOS. RingHash_MURMUR_HASH_2 RingHash_HashFunction = 2 ) // Enum value maps for RingHash_HashFunction. var ( RingHash_HashFunction_name = map[int32]string{ 0: "DEFAULT_HASH", 1: "XX_HASH", 2: "MURMUR_HASH_2", } RingHash_HashFunction_value = map[string]int32{ "DEFAULT_HASH": 0, "XX_HASH": 1, "MURMUR_HASH_2": 2, } ) func (x RingHash_HashFunction) Enum() *RingHash_HashFunction { p := new(RingHash_HashFunction) *p = x return p } func (x RingHash_HashFunction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RingHash_HashFunction) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_enumTypes[0].Descriptor() } func (RingHash_HashFunction) Type() protoreflect.EnumType { return &file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_enumTypes[0] } func (x RingHash_HashFunction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RingHash_HashFunction.Descriptor instead. func (RingHash_HashFunction) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescGZIP(), []int{0, 0} } // This configuration allows the built-in RING_HASH LB policy to be configured via the LB policy // extension point. See the :ref:`load balancing architecture overview // ` for more information. // [#next-free-field: 8] type RingHash struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The hash function used to hash hosts onto the ketama ring. The value defaults to // :ref:`XX_HASH`. HashFunction RingHash_HashFunction `protobuf:"varint,1,opt,name=hash_function,json=hashFunction,proto3,enum=envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash_HashFunction" json:"hash_function,omitempty"` // Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each // provided host) the better the request distribution will reflect the desired weights. Defaults // to 1024 entries, and limited to 8M entries. See also // :ref:`maximum_ring_size`. MinimumRingSize *wrappers.UInt64Value `protobuf:"bytes,2,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"` // Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered // to further constrain resource use. See also // :ref:`minimum_ring_size`. MaximumRingSize *wrappers.UInt64Value `protobuf:"bytes,3,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"` // If set to “true“, the cluster will use hostname instead of the resolved // address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address. // // .. note:: // // This is deprecated and please use :ref:`consistent_hashing_lb_config // ` instead. // // Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto. UseHostnameForHashing bool `protobuf:"varint,4,opt,name=use_hostname_for_hashing,json=useHostnameForHashing,proto3" json:"use_hostname_for_hashing,omitempty"` // Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150 // no upstream host will get a load more than 1.5 times the average load of all the hosts in the cluster. // If not specified, the load is not bounded for any upstream host. Typical value for this parameter is between 120 and 200. // Minimum is 100. // // This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified // “hash_balance_factor“, requests to any upstream host are capped at “hash_balance_factor/100“ times the average number of requests // across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing // is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify // the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the // cascading overflow effect when choosing the next host in the ring/table). // // If weights are specified on the hosts, they are respected. // // This is an O(N) algorithm, unlike other load balancers. Using a lower “hash_balance_factor“ results in more hosts // being probed, so use a higher value if you require better performance. // // .. note:: // // This is deprecated and please use :ref:`consistent_hashing_lb_config // ` instead. // // Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto. HashBalanceFactor *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=hash_balance_factor,json=hashBalanceFactor,proto3" json:"hash_balance_factor,omitempty"` // Common configuration for hashing-based load balancing policies. ConsistentHashingLbConfig *v3.ConsistentHashingLbConfig `protobuf:"bytes,6,opt,name=consistent_hashing_lb_config,json=consistentHashingLbConfig,proto3" json:"consistent_hashing_lb_config,omitempty"` // Enable locality weighted load balancing for ring hash lb explicitly. LocalityWeightedLbConfig *v3.LocalityLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,7,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3" json:"locality_weighted_lb_config,omitempty"` } func (x *RingHash) Reset() { *x = RingHash{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RingHash) String() string { return protoimpl.X.MessageStringOf(x) } func (*RingHash) ProtoMessage() {} func (x *RingHash) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RingHash.ProtoReflect.Descriptor instead. func (*RingHash) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescGZIP(), []int{0} } func (x *RingHash) GetHashFunction() RingHash_HashFunction { if x != nil { return x.HashFunction } return RingHash_DEFAULT_HASH } func (x *RingHash) GetMinimumRingSize() *wrappers.UInt64Value { if x != nil { return x.MinimumRingSize } return nil } func (x *RingHash) GetMaximumRingSize() *wrappers.UInt64Value { if x != nil { return x.MaximumRingSize } return nil } // Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto. func (x *RingHash) GetUseHostnameForHashing() bool { if x != nil { return x.UseHostnameForHashing } return false } // Deprecated: Marked as deprecated in envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto. func (x *RingHash) GetHashBalanceFactor() *wrappers.UInt32Value { if x != nil { return x.HashBalanceFactor } return nil } func (x *RingHash) GetConsistentHashingLbConfig() *v3.ConsistentHashingLbConfig { if x != nil { return x.ConsistentHashingLbConfig } return nil } func (x *RingHash) GetLocalityWeightedLbConfig() *v3.LocalityLbConfig_LocalityWeightedLbConfig { if x != nil { return x.LocalityWeightedLbConfig } return nil } var File_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDesc = []byte{ 0x0a, 0x45, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x06, 0x0a, 0x08, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x12, 0x7b, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x18, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x44, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x15, 0x75, 0x73, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x12, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x64, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x11, 0x68, 0x61, 0x73, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x8e, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9c, 0x01, 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x40, 0x0a, 0x0c, 0x48, 0x61, 0x73, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x58, 0x58, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x52, 0x4d, 0x55, 0x52, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x32, 0x10, 0x02, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x43, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescData = file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_goTypes = []interface{}{ (RingHash_HashFunction)(0), // 0: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.HashFunction (*RingHash)(nil), // 1: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash (*wrappers.UInt64Value)(nil), // 2: google.protobuf.UInt64Value (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value (*v3.ConsistentHashingLbConfig)(nil), // 4: envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig (*v3.LocalityLbConfig_LocalityWeightedLbConfig)(nil), // 5: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig } var file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.hash_function:type_name -> envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.HashFunction 2, // 1: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.minimum_ring_size:type_name -> google.protobuf.UInt64Value 2, // 2: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.maximum_ring_size:type_name -> google.protobuf.UInt64Value 3, // 3: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.hash_balance_factor:type_name -> google.protobuf.UInt32Value 4, // 4: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.consistent_hashing_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.ConsistentHashingLbConfig 5, // 5: envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash.locality_weighted_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig.LocalityWeightedLbConfig 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_init() } func file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_init() { if File_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RingHash); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_depIdxs, EnumInfos: file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_enumTypes, MessageInfos: file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto = out.File file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_ring_hash_v3_ring_hash_proto_depIdxs = nil } ring_hash.pb.validate.go000077500000000000000000000140521454502223200340150ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/ring_hash/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.proto package ring_hashv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RingHash with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RingHash) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RingHash with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RingHashMultiError, or nil // if none found. func (m *RingHash) ValidateAll() error { return m.validate(true) } func (m *RingHash) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := RingHash_HashFunction_name[int32(m.GetHashFunction())]; !ok { err := RingHashValidationError{ field: "HashFunction", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetMinimumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := RingHashValidationError{ field: "MinimumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } if wrapper := m.GetMaximumRingSize(); wrapper != nil { if wrapper.GetValue() > 8388608 { err := RingHashValidationError{ field: "MaximumRingSize", reason: "value must be less than or equal to 8388608", } if !all { return err } errors = append(errors, err) } } // no validation rules for UseHostnameForHashing if wrapper := m.GetHashBalanceFactor(); wrapper != nil { if wrapper.GetValue() < 100 { err := RingHashValidationError{ field: "HashBalanceFactor", reason: "value must be greater than or equal to 100", } if !all { return err } errors = append(errors, err) } } if all { switch v := interface{}(m.GetConsistentHashingLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RingHashValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RingHashValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConsistentHashingLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RingHashValidationError{ field: "ConsistentHashingLbConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocalityWeightedLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RingHashValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RingHashValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityWeightedLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RingHashValidationError{ field: "LocalityWeightedLbConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RingHashMultiError(errors) } return nil } // RingHashMultiError is an error wrapping multiple validation errors returned // by RingHash.ValidateAll() if the designated constraints aren't met. type RingHashMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RingHashMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RingHashMultiError) AllErrors() []error { return m } // RingHashValidationError is the validation error returned by // RingHash.Validate if the designated constraints aren't met. type RingHashValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RingHashValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RingHashValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RingHashValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RingHashValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RingHashValidationError) ErrorName() string { return "RingHashValidationError" } // Error satisfies the builtin error interface func (e RingHashValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRingHash.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RingHashValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RingHashValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/round_robin/000077500000000000000000000000001454502223200274345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/round_robin/v3/000077500000000000000000000000001454502223200277645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/round_robin/v3/round_robin.pb.go000077500000000000000000000254771454502223200332550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/round_robin/v3/round_robin.proto package round_robinv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/common/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This configuration allows the built-in ROUND_ROBIN LB policy to be configured via the LB policy // extension point. See the :ref:`load balancing architecture overview // ` for more information. type RoundRobin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Configuration for slow start mode. // If this configuration is not set, slow start will not be not enabled. SlowStartConfig *v3.SlowStartConfig `protobuf:"bytes,1,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"` // Configuration for local zone aware load balancing or locality weighted load balancing. LocalityLbConfig *v3.LocalityLbConfig `protobuf:"bytes,2,opt,name=locality_lb_config,json=localityLbConfig,proto3" json:"locality_lb_config,omitempty"` } func (x *RoundRobin) Reset() { *x = RoundRobin{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoundRobin) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoundRobin) ProtoMessage() {} func (x *RoundRobin) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoundRobin.ProtoReflect.Descriptor instead. func (*RoundRobin) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescGZIP(), []int{0} } func (x *RoundRobin) GetSlowStartConfig() *v3.SlowStartConfig { if x != nil { return x.SlowStartConfig } return nil } func (x *RoundRobin) GetLocalityLbConfig() *v3.LocalityLbConfig { if x != nil { return x.LocalityLbConfig } return nil } var File_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDesc = []byte{ 0x0a, 0x49, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x12, 0x6f, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescData = file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_goTypes = []interface{}{ (*RoundRobin)(nil), // 0: envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin (*v3.SlowStartConfig)(nil), // 1: envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig (*v3.LocalityLbConfig)(nil), // 2: envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig } var file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin.slow_start_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.SlowStartConfig 2, // 1: envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin.locality_lb_config:type_name -> envoy.extensions.load_balancing_policies.common.v3.LocalityLbConfig 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_init() } func file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_init() { if File_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoundRobin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto = out.File file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_round_robin_v3_round_robin_proto_depIdxs = nil } round_robin.pb.validate.go000077500000000000000000000115371454502223200347560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/round_robin/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/round_robin/v3/round_robin.proto package round_robinv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RoundRobin with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RoundRobin) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RoundRobin with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RoundRobinMultiError, or // nil if none found. func (m *RoundRobin) ValidateAll() error { return m.validate(true) } func (m *RoundRobin) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSlowStartConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoundRobinValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoundRobinValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSlowStartConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoundRobinValidationError{ field: "SlowStartConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLocalityLbConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RoundRobinValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RoundRobinValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocalityLbConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RoundRobinValidationError{ field: "LocalityLbConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RoundRobinMultiError(errors) } return nil } // RoundRobinMultiError is an error wrapping multiple validation errors // returned by RoundRobin.ValidateAll() if the designated constraints aren't met. type RoundRobinMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RoundRobinMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RoundRobinMultiError) AllErrors() []error { return m } // RoundRobinValidationError is the validation error returned by // RoundRobin.Validate if the designated constraints aren't met. type RoundRobinValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RoundRobinValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RoundRobinValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RoundRobinValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RoundRobinValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RoundRobinValidationError) ErrorName() string { return "RoundRobinValidationError" } // Error satisfies the builtin error interface func (e RoundRobinValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRoundRobin.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RoundRobinValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RoundRobinValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/subset/000077500000000000000000000000001454502223200264215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/subset/v3/000077500000000000000000000000001454502223200267515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/subset/v3/subset.pb.go000077500000000000000000001161341454502223200312160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/subset/v3/subset.proto package subsetv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // If NO_FALLBACK is selected, a result // equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected, // any cluster endpoint may be returned (subject to policy, health checks, // etc). If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. type Subset_LbSubsetFallbackPolicy int32 const ( Subset_NO_FALLBACK Subset_LbSubsetFallbackPolicy = 0 Subset_ANY_ENDPOINT Subset_LbSubsetFallbackPolicy = 1 Subset_DEFAULT_SUBSET Subset_LbSubsetFallbackPolicy = 2 ) // Enum value maps for Subset_LbSubsetFallbackPolicy. var ( Subset_LbSubsetFallbackPolicy_name = map[int32]string{ 0: "NO_FALLBACK", 1: "ANY_ENDPOINT", 2: "DEFAULT_SUBSET", } Subset_LbSubsetFallbackPolicy_value = map[string]int32{ "NO_FALLBACK": 0, "ANY_ENDPOINT": 1, "DEFAULT_SUBSET": 2, } ) func (x Subset_LbSubsetFallbackPolicy) Enum() *Subset_LbSubsetFallbackPolicy { p := new(Subset_LbSubsetFallbackPolicy) *p = x return p } func (x Subset_LbSubsetFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Subset_LbSubsetFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[0].Descriptor() } func (Subset_LbSubsetFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[0] } func (x Subset_LbSubsetFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Subset_LbSubsetFallbackPolicy.Descriptor instead. func (Subset_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP(), []int{0, 0} } type Subset_LbSubsetMetadataFallbackPolicy int32 const ( // No fallback. Route metadata will be used as-is. Subset_METADATA_NO_FALLBACK Subset_LbSubsetMetadataFallbackPolicy = 0 // A special metadata key “fallback_list“ will be used to provide variants of metadata to try. // Value of “fallback_list“ key has to be a list. Every list element has to be a struct - it will // be merged with route metadata, overriding keys that appear in both places. // “fallback_list“ entries will be used in order until a host is found. // // “fallback_list“ key itself is removed from metadata before subset load balancing is performed. // // Example: // // for metadata: // // .. code-block:: yaml // // version: 1.0 // fallback_list: // - version: 2.0 // hardware: c64 // - hardware: c32 // - version: 3.0 // // at first, metadata: // // .. code-block:: json // // {"version": "2.0", "hardware": "c64"} // // will be used for load balancing. If no host is found, metadata: // // .. code-block:: json // // {"version": "1.0", "hardware": "c32"} // // is next to try. If it still results in no host, finally metadata: // // .. code-block:: json // // {"version": "3.0"} // // is used. Subset_FALLBACK_LIST Subset_LbSubsetMetadataFallbackPolicy = 1 ) // Enum value maps for Subset_LbSubsetMetadataFallbackPolicy. var ( Subset_LbSubsetMetadataFallbackPolicy_name = map[int32]string{ 0: "METADATA_NO_FALLBACK", 1: "FALLBACK_LIST", } Subset_LbSubsetMetadataFallbackPolicy_value = map[string]int32{ "METADATA_NO_FALLBACK": 0, "FALLBACK_LIST": 1, } ) func (x Subset_LbSubsetMetadataFallbackPolicy) Enum() *Subset_LbSubsetMetadataFallbackPolicy { p := new(Subset_LbSubsetMetadataFallbackPolicy) *p = x return p } func (x Subset_LbSubsetMetadataFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Subset_LbSubsetMetadataFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[1].Descriptor() } func (Subset_LbSubsetMetadataFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[1] } func (x Subset_LbSubsetMetadataFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Subset_LbSubsetMetadataFallbackPolicy.Descriptor instead. func (Subset_LbSubsetMetadataFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP(), []int{0, 1} } // Allows to override top level fallback policy per selector. type Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy int32 const ( // If NOT_DEFINED top level config fallback policy is used instead. Subset_LbSubsetSelector_NOT_DEFINED Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 0 // If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported. Subset_LbSubsetSelector_NO_FALLBACK Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 1 // If ANY_ENDPOINT is selected, any cluster endpoint may be returned // (subject to policy, health checks, etc). Subset_LbSubsetSelector_ANY_ENDPOINT Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 2 // If DEFAULT_SUBSET is selected, load balancing is performed over the // endpoints matching the values from the default_subset field. Subset_LbSubsetSelector_DEFAULT_SUBSET Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 3 // If KEYS_SUBSET is selected, subset selector matching is performed again with metadata // keys reduced to // :ref:`fallback_keys_subset`. // It allows for a fallback to a different, less specific selector if some of the keys of // the selector are considered optional. Subset_LbSubsetSelector_KEYS_SUBSET Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy = 4 ) // Enum value maps for Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy. var ( Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name = map[int32]string{ 0: "NOT_DEFINED", 1: "NO_FALLBACK", 2: "ANY_ENDPOINT", 3: "DEFAULT_SUBSET", 4: "KEYS_SUBSET", } Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_value = map[string]int32{ "NOT_DEFINED": 0, "NO_FALLBACK": 1, "ANY_ENDPOINT": 2, "DEFAULT_SUBSET": 3, "KEYS_SUBSET": 4, } ) func (x Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Enum() *Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { p := new(Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) *p = x return p } func (x Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[2].Descriptor() } func (Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Type() protoreflect.EnumType { return &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes[2] } func (x Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy.Descriptor instead. func (Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP(), []int{0, 0, 0} } // Optionally divide the endpoints in this cluster into subsets defined by // endpoint metadata and selected by route and weighted cluster metadata. // [#next-free-field: 11] type Subset struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The behavior used when no endpoint subset matches the selected route's // metadata. The value defaults to // :ref:`NO_FALLBACK`. FallbackPolicy Subset_LbSubsetFallbackPolicy `protobuf:"varint,1,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.extensions.load_balancing_policies.subset.v3.Subset_LbSubsetFallbackPolicy" json:"fallback_policy,omitempty"` // Specifies the default subset of endpoints used during fallback if // fallback_policy is // :ref:`DEFAULT_SUBSET`. // Each field in default_subset is // compared to the matching LbEndpoint.Metadata under the “envoy.lb“ // namespace. It is valid for no hosts to match, in which case the behavior // is the same as a fallback_policy of // :ref:`NO_FALLBACK`. DefaultSubset *_struct.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" json:"default_subset,omitempty"` // For each entry, LbEndpoint.Metadata's // “envoy.lb“ namespace is traversed and a subset is created for each unique // combination of key and value. For example: // // .. code-block:: json // // { "subset_selectors": [ // { "keys": [ "version" ] }, // { "keys": [ "stage", "hardware_type" ] } // ]} // // A subset is matched when the metadata from the selected route and // weighted cluster contains the same keys and values as the subset's // metadata. The same host may appear in multiple subsets. SubsetSelectors []*Subset_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors,proto3" json:"subset_selectors,omitempty"` // By default, only when the request metadata has exactly the **same** keys as one of subset selectors and // the values of the related keys are matched, the load balancer will have a valid subset for the request. // For example, given the following subset selectors: // // .. code-block:: json // // { "subset_selectors": [ // { "keys": [ "version" ] }, // { "keys": [ "stage", "version" ] } // ]} // // A request with metadata “{"redundant-key": "redundant-value", "stage": "prod", "version": "v1"}“ or // “{"redundant-key": "redundant-value", "version": "v1"}“ will not have a valid subset even if the values // of keys “stage“ and “version“ are matched because of the redundant key/value pair in the request // metadata. // // By setting this field to true, the most appropriate keys will be filtered out from the request metadata // according to the subset selectors. And then the filtered keys and related values will be matched to find // the valid host subset. By this way, redundant key/value pairs are allowed in the request metadata. The keys // of a request metadata could be superset of the keys of the subset selectors and need not to be exactly the // same as the keys of the subset selectors. // // More specifically, if the keys of a request metadata is a superset of one of the subset selectors, then only // the values of the keys that in the selector keys will be matched. Take the above example, if the request // metadata is “{"redundant-key": "redundant-value", "stage": "prod", "version": "v1"}“, the load balancer // will only match the values of “stage“ and “version“ to find an appropriate subset because “stage“ // “version“ are contained by the second subset selector and the redundant “redundant-key“ will be // ignored. // // .. note:: // // If the keys of request metadata is superset of multiple different subset selectors keys, the subset // selector with most keys to win. For example, given subset selectors // ``{"subset_selectors": ["keys": ["A", "B", "C"], ["A", "B"]]}`` and request metadata ``{"A": "-", // "B": "-", "C": "-", "D": "-"}``, keys ``A``, ``B``, ``C`` will be evaluated. // If the keys of request metadata is superset of multiple different subset selectors keys and the number // of selector keys are same, then the one placed in front to win. For example, given subset selectors // ``{"subset_selectors": ["keys": ["A", "B"], ["C", "D"]]}`` and request metadata ``{"A": "-", "B": "-", // "C": "-", "D": "-"}``, keys ``A``, ``B`` will be evaluated. AllowRedundantKeys bool `protobuf:"varint,10,opt,name=allow_redundant_keys,json=allowRedundantKeys,proto3" json:"allow_redundant_keys,omitempty"` // If true, routing to subsets will take into account the localities and locality weights of the // endpoints when making the routing decision. // // There are some potential pitfalls associated with enabling this feature, as the resulting // traffic split after applying both a subset match and locality weights might be undesirable. // // Consider for example a situation in which you have 50/50 split across two localities X/Y // which have 100 hosts each without subsetting. If the subset LB results in X having only 1 // host selected but Y having 100, then a lot more load is being dumped on the single host in X // than originally anticipated in the load balancing assignment delivered via EDS. LocalityWeightAware bool `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"` // When used with locality_weight_aware, scales the weight of each locality by the ratio // of hosts in the subset vs hosts in the original subset. This aims to even out the load // going to an individual locality if said locality is disproportionately affected by the // subset predicate. ScaleLocalityWeight bool `protobuf:"varint,5,opt,name=scale_locality_weight,json=scaleLocalityWeight,proto3" json:"scale_locality_weight,omitempty"` // If true, when a fallback policy is configured and its corresponding subset fails to find // a host this will cause any host to be selected instead. // // This is useful when using the default subset as the fallback policy, given the default // subset might become empty. With this option enabled, if that happens the LB will attempt // to select a host from the entire cluster. PanicModeAny bool `protobuf:"varint,6,opt,name=panic_mode_any,json=panicModeAny,proto3" json:"panic_mode_any,omitempty"` // If true, metadata specified for a metadata key will be matched against the corresponding // endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value // and any of the elements in the list matches the criteria. ListAsAny bool `protobuf:"varint,7,opt,name=list_as_any,json=listAsAny,proto3" json:"list_as_any,omitempty"` // Fallback mechanism that allows to try different route metadata until a host is found. // If load balancing process, including all its mechanisms (like // :ref:`fallback_policy`) // fails to select a host, this policy decides if and how the process is repeated using another metadata. // // The value defaults to // :ref:`METADATA_NO_FALLBACK // `. MetadataFallbackPolicy Subset_LbSubsetMetadataFallbackPolicy `protobuf:"varint,8,opt,name=metadata_fallback_policy,json=metadataFallbackPolicy,proto3,enum=envoy.extensions.load_balancing_policies.subset.v3.Subset_LbSubsetMetadataFallbackPolicy" json:"metadata_fallback_policy,omitempty"` // The child LB policy to create for endpoint-picking within the chosen subset. SubsetLbPolicy *v3.LoadBalancingPolicy `protobuf:"bytes,9,opt,name=subset_lb_policy,json=subsetLbPolicy,proto3" json:"subset_lb_policy,omitempty"` } func (x *Subset) Reset() { *x = Subset{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Subset) String() string { return protoimpl.X.MessageStringOf(x) } func (*Subset) ProtoMessage() {} func (x *Subset) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Subset.ProtoReflect.Descriptor instead. func (*Subset) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP(), []int{0} } func (x *Subset) GetFallbackPolicy() Subset_LbSubsetFallbackPolicy { if x != nil { return x.FallbackPolicy } return Subset_NO_FALLBACK } func (x *Subset) GetDefaultSubset() *_struct.Struct { if x != nil { return x.DefaultSubset } return nil } func (x *Subset) GetSubsetSelectors() []*Subset_LbSubsetSelector { if x != nil { return x.SubsetSelectors } return nil } func (x *Subset) GetAllowRedundantKeys() bool { if x != nil { return x.AllowRedundantKeys } return false } func (x *Subset) GetLocalityWeightAware() bool { if x != nil { return x.LocalityWeightAware } return false } func (x *Subset) GetScaleLocalityWeight() bool { if x != nil { return x.ScaleLocalityWeight } return false } func (x *Subset) GetPanicModeAny() bool { if x != nil { return x.PanicModeAny } return false } func (x *Subset) GetListAsAny() bool { if x != nil { return x.ListAsAny } return false } func (x *Subset) GetMetadataFallbackPolicy() Subset_LbSubsetMetadataFallbackPolicy { if x != nil { return x.MetadataFallbackPolicy } return Subset_METADATA_NO_FALLBACK } func (x *Subset) GetSubsetLbPolicy() *v3.LoadBalancingPolicy { if x != nil { return x.SubsetLbPolicy } return nil } // Specifications for subsets. type Subset_LbSubsetSelector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of keys to match with the weighted cluster metadata. Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // Selects a mode of operation in which each subset has only one host. This mode uses the same rules for // choosing a host, but updating hosts is faster, especially for large numbers of hosts. // // If a match is found to a host, that host will be used regardless of priority levels. // // When this mode is enabled, configurations that contain more than one host with the same metadata value for the single key in “keys“ // will use only one of the hosts with the given key; no requests will be routed to the others. The cluster gauge // :ref:`lb_subsets_single_host_per_subset_duplicate` indicates how many duplicates are // present in the current configuration. SingleHostPerSubset bool `protobuf:"varint,4,opt,name=single_host_per_subset,json=singleHostPerSubset,proto3" json:"single_host_per_subset,omitempty"` // The behavior used when no endpoint subset matches the selected route's // metadata. FallbackPolicy Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy `protobuf:"varint,2,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.extensions.load_balancing_policies.subset.v3.Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy" json:"fallback_policy,omitempty"` // Subset of // :ref:`keys` used by // :ref:`KEYS_SUBSET` // fallback policy. // It has to be a non empty list if KEYS_SUBSET fallback policy is selected. // For any other fallback policy the parameter is not used and should not be set. // Only values also present in // :ref:`keys` are allowed, but // “fallback_keys_subset“ cannot be equal to “keys“. FallbackKeysSubset []string `protobuf:"bytes,3,rep,name=fallback_keys_subset,json=fallbackKeysSubset,proto3" json:"fallback_keys_subset,omitempty"` } func (x *Subset_LbSubsetSelector) Reset() { *x = Subset_LbSubsetSelector{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Subset_LbSubsetSelector) String() string { return protoimpl.X.MessageStringOf(x) } func (*Subset_LbSubsetSelector) ProtoMessage() {} func (x *Subset_LbSubsetSelector) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Subset_LbSubsetSelector.ProtoReflect.Descriptor instead. func (*Subset_LbSubsetSelector) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP(), []int{0, 0} } func (x *Subset_LbSubsetSelector) GetKeys() []string { if x != nil { return x.Keys } return nil } func (x *Subset_LbSubsetSelector) GetSingleHostPerSubset() bool { if x != nil { return x.SingleHostPerSubset } return false } func (x *Subset_LbSubsetSelector) GetFallbackPolicy() Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy { if x != nil { return x.FallbackPolicy } return Subset_LbSubsetSelector_NOT_DEFINED } func (x *Subset_LbSubsetSelector) GetFallbackKeysSubset() []string { if x != nil { return x.FallbackKeysSubset } return nil } var File_envoy_extensions_load_balancing_policies_subset_v3_subset_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x0b, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x76, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x61, 0x6e, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x41, 0x6e, 0x79, 0x12, 0x9d, 0x01, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x60, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xa8, 0x03, 0x0a, 0x10, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x9d, 0x01, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x6a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x22, 0x79, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, 0x45, 0x59, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x4f, 0x0a, 0x16, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, 0x59, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x10, 0x02, 0x22, 0x4d, 0x0a, 0x1e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xbd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescData = file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_goTypes = []interface{}{ (Subset_LbSubsetFallbackPolicy)(0), // 0: envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetFallbackPolicy (Subset_LbSubsetMetadataFallbackPolicy)(0), // 1: envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetMetadataFallbackPolicy (Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy)(0), // 2: envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetSelector.LbSubsetSelectorFallbackPolicy (*Subset)(nil), // 3: envoy.extensions.load_balancing_policies.subset.v3.Subset (*Subset_LbSubsetSelector)(nil), // 4: envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetSelector (*_struct.Struct)(nil), // 5: google.protobuf.Struct (*v3.LoadBalancingPolicy)(nil), // 6: envoy.config.cluster.v3.LoadBalancingPolicy } var file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.load_balancing_policies.subset.v3.Subset.fallback_policy:type_name -> envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetFallbackPolicy 5, // 1: envoy.extensions.load_balancing_policies.subset.v3.Subset.default_subset:type_name -> google.protobuf.Struct 4, // 2: envoy.extensions.load_balancing_policies.subset.v3.Subset.subset_selectors:type_name -> envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetSelector 1, // 3: envoy.extensions.load_balancing_policies.subset.v3.Subset.metadata_fallback_policy:type_name -> envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetMetadataFallbackPolicy 6, // 4: envoy.extensions.load_balancing_policies.subset.v3.Subset.subset_lb_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy 2, // 5: envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetSelector.fallback_policy:type_name -> envoy.extensions.load_balancing_policies.subset.v3.Subset.LbSubsetSelector.LbSubsetSelectorFallbackPolicy 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_init() } func file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_init() { if File_envoy_extensions_load_balancing_policies_subset_v3_subset_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Subset); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Subset_LbSubsetSelector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDesc, NumEnums: 3, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_depIdxs, EnumInfos: file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_enumTypes, MessageInfos: file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_subset_v3_subset_proto = out.File file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_subset_v3_subset_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/subset/v3/subset.pb.validate.go000077500000000000000000000235531454502223200330100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/subset/v3/subset.proto package subsetv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Subset with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Subset) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Subset with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SubsetMultiError, or nil if none found. func (m *Subset) ValidateAll() error { return m.validate(true) } func (m *Subset) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := Subset_LbSubsetFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := SubsetValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultSubset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubsetValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubsetValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultSubset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubsetValidationError{ field: "DefaultSubset", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSubsetSelectors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubsetValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubsetValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubsetValidationError{ field: fmt.Sprintf("SubsetSelectors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for AllowRedundantKeys // no validation rules for LocalityWeightAware // no validation rules for ScaleLocalityWeight // no validation rules for PanicModeAny // no validation rules for ListAsAny if _, ok := Subset_LbSubsetMetadataFallbackPolicy_name[int32(m.GetMetadataFallbackPolicy())]; !ok { err := SubsetValidationError{ field: "MetadataFallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if m.GetSubsetLbPolicy() == nil { err := SubsetValidationError{ field: "SubsetLbPolicy", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSubsetLbPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubsetValidationError{ field: "SubsetLbPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubsetValidationError{ field: "SubsetLbPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSubsetLbPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubsetValidationError{ field: "SubsetLbPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SubsetMultiError(errors) } return nil } // SubsetMultiError is an error wrapping multiple validation errors returned by // Subset.ValidateAll() if the designated constraints aren't met. type SubsetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubsetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubsetMultiError) AllErrors() []error { return m } // SubsetValidationError is the validation error returned by Subset.Validate if // the designated constraints aren't met. type SubsetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubsetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubsetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubsetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubsetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubsetValidationError) ErrorName() string { return "SubsetValidationError" } // Error satisfies the builtin error interface func (e SubsetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubset.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubsetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubsetValidationError{} // Validate checks the field values on Subset_LbSubsetSelector with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Subset_LbSubsetSelector) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Subset_LbSubsetSelector with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Subset_LbSubsetSelectorMultiError, or nil if none found. func (m *Subset_LbSubsetSelector) ValidateAll() error { return m.validate(true) } func (m *Subset_LbSubsetSelector) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SingleHostPerSubset if _, ok := Subset_LbSubsetSelector_LbSubsetSelectorFallbackPolicy_name[int32(m.GetFallbackPolicy())]; !ok { err := Subset_LbSubsetSelectorValidationError{ field: "FallbackPolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return Subset_LbSubsetSelectorMultiError(errors) } return nil } // Subset_LbSubsetSelectorMultiError is an error wrapping multiple validation // errors returned by Subset_LbSubsetSelector.ValidateAll() if the designated // constraints aren't met. type Subset_LbSubsetSelectorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Subset_LbSubsetSelectorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Subset_LbSubsetSelectorMultiError) AllErrors() []error { return m } // Subset_LbSubsetSelectorValidationError is the validation error returned by // Subset_LbSubsetSelector.Validate if the designated constraints aren't met. type Subset_LbSubsetSelectorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Subset_LbSubsetSelectorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Subset_LbSubsetSelectorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Subset_LbSubsetSelectorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Subset_LbSubsetSelectorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Subset_LbSubsetSelectorValidationError) ErrorName() string { return "Subset_LbSubsetSelectorValidationError" } // Error satisfies the builtin error interface func (e Subset_LbSubsetSelectorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubset_LbSubsetSelector.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Subset_LbSubsetSelectorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Subset_LbSubsetSelectorValidationError{} go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/wrr_locality/000077500000000000000000000000001454502223200276265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/wrr_locality/v3/000077500000000000000000000000001454502223200301565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.pb.go000077500000000000000000000230361454502223200336260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.proto package wrr_localityv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the wrr_locality LB policy. See the :ref:`load balancing architecture overview // ` for more information. type WrrLocality struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The child LB policy to create for endpoint-picking within the chosen locality. EndpointPickingPolicy *v3.LoadBalancingPolicy `protobuf:"bytes,1,opt,name=endpoint_picking_policy,json=endpointPickingPolicy,proto3" json:"endpoint_picking_policy,omitempty"` } func (x *WrrLocality) Reset() { *x = WrrLocality{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WrrLocality) String() string { return protoimpl.X.MessageStringOf(x) } func (*WrrLocality) ProtoMessage() {} func (x *WrrLocality) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WrrLocality.ProtoReflect.Descriptor instead. func (*WrrLocality) Descriptor() ([]byte, []int) { return file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescGZIP(), []int{0} } func (x *WrrLocality) GetEndpointPickingPolicy() *v3.LoadBalancingPolicy { if x != nil { return x.EndpointPickingPolicy } return nil } var File_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto protoreflect.FileDescriptor var file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0b, 0x57, 0x72, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x6e, 0x0a, 0x17, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x15, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0xd4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x46, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x57, 0x72, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x72, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescOnce sync.Once file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescData = file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDesc ) func file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescGZIP() []byte { file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescOnce.Do(func() { file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescData) }) return file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDescData } var file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_goTypes = []interface{}{ (*WrrLocality)(nil), // 0: envoy.extensions.load_balancing_policies.wrr_locality.v3.WrrLocality (*v3.LoadBalancingPolicy)(nil), // 1: envoy.config.cluster.v3.LoadBalancingPolicy } var file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.load_balancing_policies.wrr_locality.v3.WrrLocality.endpoint_picking_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_init() } func file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_init() { if File_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WrrLocality); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_goTypes, DependencyIndexes: file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_depIdxs, MessageInfos: file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_msgTypes, }.Build() File_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto = out.File file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_rawDesc = nil file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_goTypes = nil file_envoy_extensions_load_balancing_policies_wrr_locality_v3_wrr_locality_proto_depIdxs = nil } wrr_locality.pb.validate.go000077500000000000000000000104331454502223200353340ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/load_balancing_policies/wrr_locality/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.proto package wrr_localityv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on WrrLocality with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *WrrLocality) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WrrLocality with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WrrLocalityMultiError, or // nil if none found. func (m *WrrLocality) ValidateAll() error { return m.validate(true) } func (m *WrrLocality) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetEndpointPickingPolicy() == nil { err := WrrLocalityValidationError{ field: "EndpointPickingPolicy", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpointPickingPolicy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WrrLocalityValidationError{ field: "EndpointPickingPolicy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WrrLocalityValidationError{ field: "EndpointPickingPolicy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointPickingPolicy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WrrLocalityValidationError{ field: "EndpointPickingPolicy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WrrLocalityMultiError(errors) } return nil } // WrrLocalityMultiError is an error wrapping multiple validation errors // returned by WrrLocality.ValidateAll() if the designated constraints aren't met. type WrrLocalityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WrrLocalityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WrrLocalityMultiError) AllErrors() []error { return m } // WrrLocalityValidationError is the validation error returned by // WrrLocality.Validate if the designated constraints aren't met. type WrrLocalityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WrrLocalityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WrrLocalityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WrrLocalityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WrrLocalityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WrrLocalityValidationError) ErrorName() string { return "WrrLocalityValidationError" } // Error satisfies the builtin error interface func (e WrrLocalityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWrrLocality.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WrrLocalityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WrrLocalityValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/000077500000000000000000000000001454502223200221025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/000077500000000000000000000000001454502223200247745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/environment_variable/000077500000000000000000000000001454502223200312055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/environment_variable/v3/000077500000000000000000000000001454502223200315355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/environment_variable/v3/input.pb.go000077500000000000000000000204401454502223200336260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/common_inputs/environment_variable/v3/input.proto package environment_variablev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Reads an environment variable to provide an input for matching. type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the environment variable to read from. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescGZIP(), []int{0} } func (x *Config) GetName() string { if x != nil { return x.Name } return "" } var File_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x25, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xe4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescOnce sync.Once file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescData = file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDesc ) func file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescData) }) return file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDescData } var file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.matching.common_inputs.environment_variable.v3.Config } var file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_init() } func file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_init() { if File_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_msgTypes, }.Build() File_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto = out.File file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_rawDesc = nil file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_goTypes = nil file_envoy_extensions_matching_common_inputs_environment_variable_v3_input_proto_depIdxs = nil } input.pb.validate.go000077500000000000000000000064601454502223200353450ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/environment_variable/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/common_inputs/environment_variable/v3/input.proto package environment_variablev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := ConfigValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/network/000077500000000000000000000000001454502223200264655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/network/v3/000077500000000000000000000000001454502223200270155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/network/v3/network_inputs.pb.go000077500000000000000000000646631454502223200330610ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/common_inputs/network/v3/network_inputs.proto package networkv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies that matching should be performed by the destination IP address. // [#extension: envoy.matching.inputs.destination_ip] type DestinationIPInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DestinationIPInput) Reset() { *x = DestinationIPInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestinationIPInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestinationIPInput) ProtoMessage() {} func (x *DestinationIPInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DestinationIPInput.ProtoReflect.Descriptor instead. func (*DestinationIPInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{0} } // Specifies that matching should be performed by the destination port. // [#extension: envoy.matching.inputs.destination_port] type DestinationPortInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DestinationPortInput) Reset() { *x = DestinationPortInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestinationPortInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestinationPortInput) ProtoMessage() {} func (x *DestinationPortInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DestinationPortInput.ProtoReflect.Descriptor instead. func (*DestinationPortInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{1} } // Specifies that matching should be performed by the source IP address. // [#extension: envoy.matching.inputs.source_ip] type SourceIPInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SourceIPInput) Reset() { *x = SourceIPInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SourceIPInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SourceIPInput) ProtoMessage() {} func (x *SourceIPInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SourceIPInput.ProtoReflect.Descriptor instead. func (*SourceIPInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{2} } // Specifies that matching should be performed by the source port. // [#extension: envoy.matching.inputs.source_port] type SourcePortInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SourcePortInput) Reset() { *x = SourcePortInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SourcePortInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SourcePortInput) ProtoMessage() {} func (x *SourcePortInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SourcePortInput.ProtoReflect.Descriptor instead. func (*SourcePortInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{3} } // Input that matches by the directly connected source IP address (this // will only be different from the source IP address when using a listener // filter that overrides the source address, such as the :ref:`Proxy Protocol // listener filter `). // [#extension: envoy.matching.inputs.direct_source_ip] type DirectSourceIPInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DirectSourceIPInput) Reset() { *x = DirectSourceIPInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DirectSourceIPInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectSourceIPInput) ProtoMessage() {} func (x *DirectSourceIPInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DirectSourceIPInput.ProtoReflect.Descriptor instead. func (*DirectSourceIPInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{4} } // Input that matches by the source IP type. // Specifies the source IP match type. The values include: // // * “local“ - matches a connection originating from the same host, // [#extension: envoy.matching.inputs.source_type] type SourceTypeInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SourceTypeInput) Reset() { *x = SourceTypeInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SourceTypeInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SourceTypeInput) ProtoMessage() {} func (x *SourceTypeInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SourceTypeInput.ProtoReflect.Descriptor instead. func (*SourceTypeInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{5} } // Input that matches by the requested server name (e.g. SNI in TLS). // // :ref:`TLS Inspector ` provides the requested server name based on SNI, // when TLS protocol is detected. // [#extension: envoy.matching.inputs.server_name] type ServerNameInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ServerNameInput) Reset() { *x = ServerNameInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerNameInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerNameInput) ProtoMessage() {} func (x *ServerNameInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerNameInput.ProtoReflect.Descriptor instead. func (*ServerNameInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{6} } // Input that matches by the transport protocol. // // Suggested values include: // // - “raw_buffer“ - default, used when no transport protocol is detected, // - “tls“ - set by :ref:`envoy.filters.listener.tls_inspector ` // when TLS protocol is detected. // // [#extension: envoy.matching.inputs.transport_protocol] type TransportProtocolInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TransportProtocolInput) Reset() { *x = TransportProtocolInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransportProtocolInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransportProtocolInput) ProtoMessage() {} func (x *TransportProtocolInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TransportProtocolInput.ProtoReflect.Descriptor instead. func (*TransportProtocolInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{7} } // List of quoted and comma-separated requested application protocols. The list consists of a // single negotiated application protocol once the network stream is established. // // Examples: // // * “'h2','http/1.1'“ // * “'h2c'“ // // Suggested values in the list include: // // - “http/1.1“ - set by :ref:`envoy.filters.listener.tls_inspector // ` and :ref:`envoy.filters.listener.http_inspector // `, // - “h2“ - set by :ref:`envoy.filters.listener.tls_inspector ` // - “h2c“ - set by :ref:`envoy.filters.listener.http_inspector ` // // .. attention:: // // Currently, :ref:`TLS Inspector ` provides // application protocol detection based on the requested // `ALPN `_ values. // // However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet, // and matching on values other than ``h2`` is going to lead to a lot of false negatives, // unless all connecting clients are known to use ALPN. // // [#extension: envoy.matching.inputs.application_protocol] type ApplicationProtocolInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ApplicationProtocolInput) Reset() { *x = ApplicationProtocolInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationProtocolInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationProtocolInput) ProtoMessage() {} func (x *ApplicationProtocolInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApplicationProtocolInput.ProtoReflect.Descriptor instead. func (*ApplicationProtocolInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{8} } // Input that matches by a specific filter state key. // The value of the provided filter state key will be the raw string representation of the filter state object // [#extension: envoy.matching.inputs.filter_state] type FilterStateInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *FilterStateInput) Reset() { *x = FilterStateInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterStateInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterStateInput) ProtoMessage() {} func (x *FilterStateInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterStateInput.ProtoReflect.Descriptor instead. func (*FilterStateInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP(), []int{9} } func (x *FilterStateInput) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x50, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x2d, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0xc5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x76, 0x33, 0x3b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescOnce sync.Once file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescData = file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDesc ) func file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescData) }) return file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDescData } var file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_goTypes = []interface{}{ (*DestinationIPInput)(nil), // 0: envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput (*DestinationPortInput)(nil), // 1: envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput (*SourceIPInput)(nil), // 2: envoy.extensions.matching.common_inputs.network.v3.SourceIPInput (*SourcePortInput)(nil), // 3: envoy.extensions.matching.common_inputs.network.v3.SourcePortInput (*DirectSourceIPInput)(nil), // 4: envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput (*SourceTypeInput)(nil), // 5: envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput (*ServerNameInput)(nil), // 6: envoy.extensions.matching.common_inputs.network.v3.ServerNameInput (*TransportProtocolInput)(nil), // 7: envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput (*ApplicationProtocolInput)(nil), // 8: envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput (*FilterStateInput)(nil), // 9: envoy.extensions.matching.common_inputs.network.v3.FilterStateInput } var file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_init() } func file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_init() { if File_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestinationIPInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestinationPortInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceIPInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourcePortInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DirectSourceIPInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceTypeInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerNameInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransportProtocolInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationProtocolInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterStateInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDesc, NumEnums: 0, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_msgTypes, }.Build() File_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto = out.File file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_rawDesc = nil file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_goTypes = nil file_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto_depIdxs = nil } network_inputs.pb.validate.go000077500000000000000000000707071454502223200345660ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/network/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/common_inputs/network/v3/network_inputs.proto package networkv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DestinationIPInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DestinationIPInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DestinationIPInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DestinationIPInputMultiError, or nil if none found. func (m *DestinationIPInput) ValidateAll() error { return m.validate(true) } func (m *DestinationIPInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DestinationIPInputMultiError(errors) } return nil } // DestinationIPInputMultiError is an error wrapping multiple validation errors // returned by DestinationIPInput.ValidateAll() if the designated constraints // aren't met. type DestinationIPInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DestinationIPInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DestinationIPInputMultiError) AllErrors() []error { return m } // DestinationIPInputValidationError is the validation error returned by // DestinationIPInput.Validate if the designated constraints aren't met. type DestinationIPInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DestinationIPInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DestinationIPInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DestinationIPInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DestinationIPInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DestinationIPInputValidationError) ErrorName() string { return "DestinationIPInputValidationError" } // Error satisfies the builtin error interface func (e DestinationIPInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDestinationIPInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DestinationIPInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DestinationIPInputValidationError{} // Validate checks the field values on DestinationPortInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DestinationPortInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DestinationPortInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DestinationPortInputMultiError, or nil if none found. func (m *DestinationPortInput) ValidateAll() error { return m.validate(true) } func (m *DestinationPortInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DestinationPortInputMultiError(errors) } return nil } // DestinationPortInputMultiError is an error wrapping multiple validation // errors returned by DestinationPortInput.ValidateAll() if the designated // constraints aren't met. type DestinationPortInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DestinationPortInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DestinationPortInputMultiError) AllErrors() []error { return m } // DestinationPortInputValidationError is the validation error returned by // DestinationPortInput.Validate if the designated constraints aren't met. type DestinationPortInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DestinationPortInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DestinationPortInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DestinationPortInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DestinationPortInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DestinationPortInputValidationError) ErrorName() string { return "DestinationPortInputValidationError" } // Error satisfies the builtin error interface func (e DestinationPortInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDestinationPortInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DestinationPortInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DestinationPortInputValidationError{} // Validate checks the field values on SourceIPInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SourceIPInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SourceIPInput with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SourceIPInputMultiError, or // nil if none found. func (m *SourceIPInput) ValidateAll() error { return m.validate(true) } func (m *SourceIPInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SourceIPInputMultiError(errors) } return nil } // SourceIPInputMultiError is an error wrapping multiple validation errors // returned by SourceIPInput.ValidateAll() if the designated constraints // aren't met. type SourceIPInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SourceIPInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SourceIPInputMultiError) AllErrors() []error { return m } // SourceIPInputValidationError is the validation error returned by // SourceIPInput.Validate if the designated constraints aren't met. type SourceIPInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SourceIPInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SourceIPInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SourceIPInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SourceIPInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SourceIPInputValidationError) ErrorName() string { return "SourceIPInputValidationError" } // Error satisfies the builtin error interface func (e SourceIPInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSourceIPInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SourceIPInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SourceIPInputValidationError{} // Validate checks the field values on SourcePortInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SourcePortInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SourcePortInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SourcePortInputMultiError, or nil if none found. func (m *SourcePortInput) ValidateAll() error { return m.validate(true) } func (m *SourcePortInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SourcePortInputMultiError(errors) } return nil } // SourcePortInputMultiError is an error wrapping multiple validation errors // returned by SourcePortInput.ValidateAll() if the designated constraints // aren't met. type SourcePortInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SourcePortInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SourcePortInputMultiError) AllErrors() []error { return m } // SourcePortInputValidationError is the validation error returned by // SourcePortInput.Validate if the designated constraints aren't met. type SourcePortInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SourcePortInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SourcePortInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SourcePortInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SourcePortInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SourcePortInputValidationError) ErrorName() string { return "SourcePortInputValidationError" } // Error satisfies the builtin error interface func (e SourcePortInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSourcePortInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SourcePortInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SourcePortInputValidationError{} // Validate checks the field values on DirectSourceIPInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DirectSourceIPInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DirectSourceIPInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DirectSourceIPInputMultiError, or nil if none found. func (m *DirectSourceIPInput) ValidateAll() error { return m.validate(true) } func (m *DirectSourceIPInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DirectSourceIPInputMultiError(errors) } return nil } // DirectSourceIPInputMultiError is an error wrapping multiple validation // errors returned by DirectSourceIPInput.ValidateAll() if the designated // constraints aren't met. type DirectSourceIPInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DirectSourceIPInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DirectSourceIPInputMultiError) AllErrors() []error { return m } // DirectSourceIPInputValidationError is the validation error returned by // DirectSourceIPInput.Validate if the designated constraints aren't met. type DirectSourceIPInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DirectSourceIPInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DirectSourceIPInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DirectSourceIPInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DirectSourceIPInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DirectSourceIPInputValidationError) ErrorName() string { return "DirectSourceIPInputValidationError" } // Error satisfies the builtin error interface func (e DirectSourceIPInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDirectSourceIPInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DirectSourceIPInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DirectSourceIPInputValidationError{} // Validate checks the field values on SourceTypeInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SourceTypeInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SourceTypeInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SourceTypeInputMultiError, or nil if none found. func (m *SourceTypeInput) ValidateAll() error { return m.validate(true) } func (m *SourceTypeInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SourceTypeInputMultiError(errors) } return nil } // SourceTypeInputMultiError is an error wrapping multiple validation errors // returned by SourceTypeInput.ValidateAll() if the designated constraints // aren't met. type SourceTypeInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SourceTypeInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SourceTypeInputMultiError) AllErrors() []error { return m } // SourceTypeInputValidationError is the validation error returned by // SourceTypeInput.Validate if the designated constraints aren't met. type SourceTypeInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SourceTypeInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SourceTypeInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SourceTypeInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SourceTypeInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SourceTypeInputValidationError) ErrorName() string { return "SourceTypeInputValidationError" } // Error satisfies the builtin error interface func (e SourceTypeInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSourceTypeInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SourceTypeInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SourceTypeInputValidationError{} // Validate checks the field values on ServerNameInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ServerNameInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ServerNameInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ServerNameInputMultiError, or nil if none found. func (m *ServerNameInput) ValidateAll() error { return m.validate(true) } func (m *ServerNameInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ServerNameInputMultiError(errors) } return nil } // ServerNameInputMultiError is an error wrapping multiple validation errors // returned by ServerNameInput.ValidateAll() if the designated constraints // aren't met. type ServerNameInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ServerNameInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ServerNameInputMultiError) AllErrors() []error { return m } // ServerNameInputValidationError is the validation error returned by // ServerNameInput.Validate if the designated constraints aren't met. type ServerNameInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ServerNameInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ServerNameInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ServerNameInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ServerNameInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ServerNameInputValidationError) ErrorName() string { return "ServerNameInputValidationError" } // Error satisfies the builtin error interface func (e ServerNameInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sServerNameInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ServerNameInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ServerNameInputValidationError{} // Validate checks the field values on TransportProtocolInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TransportProtocolInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TransportProtocolInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TransportProtocolInputMultiError, or nil if none found. func (m *TransportProtocolInput) ValidateAll() error { return m.validate(true) } func (m *TransportProtocolInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TransportProtocolInputMultiError(errors) } return nil } // TransportProtocolInputMultiError is an error wrapping multiple validation // errors returned by TransportProtocolInput.ValidateAll() if the designated // constraints aren't met. type TransportProtocolInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TransportProtocolInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TransportProtocolInputMultiError) AllErrors() []error { return m } // TransportProtocolInputValidationError is the validation error returned by // TransportProtocolInput.Validate if the designated constraints aren't met. type TransportProtocolInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TransportProtocolInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TransportProtocolInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TransportProtocolInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TransportProtocolInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TransportProtocolInputValidationError) ErrorName() string { return "TransportProtocolInputValidationError" } // Error satisfies the builtin error interface func (e TransportProtocolInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTransportProtocolInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TransportProtocolInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TransportProtocolInputValidationError{} // Validate checks the field values on ApplicationProtocolInput with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ApplicationProtocolInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ApplicationProtocolInput with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ApplicationProtocolInputMultiError, or nil if none found. func (m *ApplicationProtocolInput) ValidateAll() error { return m.validate(true) } func (m *ApplicationProtocolInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ApplicationProtocolInputMultiError(errors) } return nil } // ApplicationProtocolInputMultiError is an error wrapping multiple validation // errors returned by ApplicationProtocolInput.ValidateAll() if the designated // constraints aren't met. type ApplicationProtocolInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ApplicationProtocolInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ApplicationProtocolInputMultiError) AllErrors() []error { return m } // ApplicationProtocolInputValidationError is the validation error returned by // ApplicationProtocolInput.Validate if the designated constraints aren't met. type ApplicationProtocolInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ApplicationProtocolInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ApplicationProtocolInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ApplicationProtocolInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ApplicationProtocolInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ApplicationProtocolInputValidationError) ErrorName() string { return "ApplicationProtocolInputValidationError" } // Error satisfies the builtin error interface func (e ApplicationProtocolInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sApplicationProtocolInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ApplicationProtocolInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ApplicationProtocolInputValidationError{} // Validate checks the field values on FilterStateInput with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FilterStateInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterStateInput with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterStateInputMultiError, or nil if none found. func (m *FilterStateInput) ValidateAll() error { return m.validate(true) } func (m *FilterStateInput) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := FilterStateInputValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilterStateInputMultiError(errors) } return nil } // FilterStateInputMultiError is an error wrapping multiple validation errors // returned by FilterStateInput.ValidateAll() if the designated constraints // aren't met. type FilterStateInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterStateInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterStateInputMultiError) AllErrors() []error { return m } // FilterStateInputValidationError is the validation error returned by // FilterStateInput.Validate if the designated constraints aren't met. type FilterStateInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterStateInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterStateInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterStateInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterStateInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterStateInputValidationError) ErrorName() string { return "FilterStateInputValidationError" } // Error satisfies the builtin error interface func (e FilterStateInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterStateInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterStateInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterStateInputValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/ssl/000077500000000000000000000000001454502223200255755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/ssl/v3/000077500000000000000000000000001454502223200261255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/ssl/v3/ssl_inputs.pb.go000077500000000000000000000247021454502223200312670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/common_inputs/ssl/v3/ssl_inputs.proto package sslv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // List of comma-delimited URIs in the SAN field of the peer certificate for a downstream. // [#extension: envoy.matching.inputs.uri_san] type UriSanInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UriSanInput) Reset() { *x = UriSanInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UriSanInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*UriSanInput) ProtoMessage() {} func (x *UriSanInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UriSanInput.ProtoReflect.Descriptor instead. func (*UriSanInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescGZIP(), []int{0} } // List of comma-delimited DNS entries in the SAN field of the peer certificate for a downstream. // [#extension: envoy.matching.inputs.dns_san] type DnsSanInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DnsSanInput) Reset() { *x = DnsSanInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DnsSanInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*DnsSanInput) ProtoMessage() {} func (x *DnsSanInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DnsSanInput.ProtoReflect.Descriptor instead. func (*DnsSanInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescGZIP(), []int{1} } // Input that matches the subject field of the peer certificate in RFC 2253 format for a // downstream. // [#extension: envoy.matching.inputs.subject] type SubjectInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SubjectInput) Reset() { *x = SubjectInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubjectInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubjectInput) ProtoMessage() {} func (x *SubjectInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubjectInput.ProtoReflect.Descriptor instead. func (*SubjectInput) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescGZIP(), []int{2} } var File_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x73, 0x73, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x73, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x73, 0x73, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x72, 0x69, 0x53, 0x61, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x44, 0x6e, 0x73, 0x53, 0x61, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0xb5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x73, 0x73, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x53, 0x73, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x73, 0x73, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x73, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescOnce sync.Once file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescData = file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDesc ) func file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescData) }) return file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDescData } var file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_goTypes = []interface{}{ (*UriSanInput)(nil), // 0: envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput (*DnsSanInput)(nil), // 1: envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput (*SubjectInput)(nil), // 2: envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput } var file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_init() } func file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_init() { if File_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UriSanInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DnsSanInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubjectInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_msgTypes, }.Build() File_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto = out.File file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_rawDesc = nil file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_goTypes = nil file_envoy_extensions_matching_common_inputs_ssl_v3_ssl_inputs_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/matching/common_inputs/ssl/v3/ssl_inputs.pb.validate.go000077500000000000000000000206261454502223200330600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/common_inputs/ssl/v3/ssl_inputs.proto package sslv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UriSanInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *UriSanInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UriSanInput with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in UriSanInputMultiError, or // nil if none found. func (m *UriSanInput) ValidateAll() error { return m.validate(true) } func (m *UriSanInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UriSanInputMultiError(errors) } return nil } // UriSanInputMultiError is an error wrapping multiple validation errors // returned by UriSanInput.ValidateAll() if the designated constraints aren't met. type UriSanInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UriSanInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UriSanInputMultiError) AllErrors() []error { return m } // UriSanInputValidationError is the validation error returned by // UriSanInput.Validate if the designated constraints aren't met. type UriSanInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UriSanInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UriSanInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UriSanInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UriSanInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UriSanInputValidationError) ErrorName() string { return "UriSanInputValidationError" } // Error satisfies the builtin error interface func (e UriSanInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUriSanInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UriSanInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UriSanInputValidationError{} // Validate checks the field values on DnsSanInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DnsSanInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DnsSanInput with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DnsSanInputMultiError, or // nil if none found. func (m *DnsSanInput) ValidateAll() error { return m.validate(true) } func (m *DnsSanInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DnsSanInputMultiError(errors) } return nil } // DnsSanInputMultiError is an error wrapping multiple validation errors // returned by DnsSanInput.ValidateAll() if the designated constraints aren't met. type DnsSanInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DnsSanInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DnsSanInputMultiError) AllErrors() []error { return m } // DnsSanInputValidationError is the validation error returned by // DnsSanInput.Validate if the designated constraints aren't met. type DnsSanInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DnsSanInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DnsSanInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DnsSanInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DnsSanInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DnsSanInputValidationError) ErrorName() string { return "DnsSanInputValidationError" } // Error satisfies the builtin error interface func (e DnsSanInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDnsSanInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DnsSanInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DnsSanInputValidationError{} // Validate checks the field values on SubjectInput with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SubjectInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubjectInput with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SubjectInputMultiError, or // nil if none found. func (m *SubjectInput) ValidateAll() error { return m.validate(true) } func (m *SubjectInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SubjectInputMultiError(errors) } return nil } // SubjectInputMultiError is an error wrapping multiple validation errors // returned by SubjectInput.ValidateAll() if the designated constraints aren't met. type SubjectInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubjectInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubjectInputMultiError) AllErrors() []error { return m } // SubjectInputValidationError is the validation error returned by // SubjectInput.Validate if the designated constraints aren't met. type SubjectInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubjectInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubjectInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubjectInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubjectInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubjectInputValidationError) ErrorName() string { return "SubjectInputValidationError" } // Error satisfies the builtin error interface func (e SubjectInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubjectInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubjectInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubjectInputValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/000077500000000000000000000000001454502223200251275ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/consistent_hashing/000077500000000000000000000000001454502223200310215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/consistent_hashing/v3/000077500000000000000000000000001454502223200313515ustar00rootroot00000000000000consistent_hashing.pb.go000077500000000000000000000252401454502223200361210ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/consistent_hashing/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/input_matchers/consistent_hashing/v3/consistent_hashing.proto package consistent_hashingv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The consistent hashing matchers computes a consistent hash from the input and matches if the resulting hash // is within the configured threshold. // More specifically, this matcher evaluates to true if hash(input, seed) % modulo >= threshold. // Note that the consistency of the match result relies on the internal hash function (xxhash) remaining // unchanged. While this is unlikely to happen intentionally, this could cause inconsistent match results // between deployments. type ConsistentHashing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The threshold the resulting hash must be over in order for this matcher to evaluate to true. // This value must be below the configured modulo value. // Setting this to 0 is equivalent to this matcher always matching. Threshold uint32 `protobuf:"varint,1,opt,name=threshold,proto3" json:"threshold,omitempty"` // The value to use for the modulus in the calculation. This effectively bounds the hash output, // specifying the range of possible values. // This value must be above the configured threshold. Modulo uint32 `protobuf:"varint,2,opt,name=modulo,proto3" json:"modulo,omitempty"` // Optional seed passed through the hash function. This allows using additional information when computing // the hash value: by changing the seed value, a different partition of matching and non-matching inputs will // be created that remains consistent for that seed value. Seed uint64 `protobuf:"varint,3,opt,name=seed,proto3" json:"seed,omitempty"` } func (x *ConsistentHashing) Reset() { *x = ConsistentHashing{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConsistentHashing) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConsistentHashing) ProtoMessage() {} func (x *ConsistentHashing) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConsistentHashing.ProtoReflect.Descriptor instead. func (*ConsistentHashing) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescGZIP(), []int{0} } func (x *ConsistentHashing) GetThreshold() uint32 { if x != nil { return x.Threshold } return 0 } func (x *ConsistentHashing) GetModulo() uint32 { if x != nil { return x.Modulo } return 0 } func (x *ConsistentHashing) GetSeed() uint64 { if x != nil { return x.Seed } return 0 } var File_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDesc = []byte{ 0x0a, 0x57, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x42, 0xec, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescOnce sync.Once file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescData = file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDesc ) func file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescData) }) return file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDescData } var file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_goTypes = []interface{}{ (*ConsistentHashing)(nil), // 0: envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing } var file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_init() } func file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_init() { if File_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConsistentHashing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_msgTypes, }.Build() File_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto = out.File file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_rawDesc = nil file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_goTypes = nil file_envoy_extensions_matching_input_matchers_consistent_hashing_v3_consistent_hashing_proto_depIdxs = nil } consistent_hashing.pb.validate.go000077500000000000000000000072141454502223200377120ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/consistent_hashing/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/input_matchers/consistent_hashing/v3/consistent_hashing.proto package consistent_hashingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ConsistentHashing with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ConsistentHashing) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ConsistentHashing with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ConsistentHashingMultiError, or nil if none found. func (m *ConsistentHashing) ValidateAll() error { return m.validate(true) } func (m *ConsistentHashing) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Threshold if m.GetModulo() <= 0 { err := ConsistentHashingValidationError{ field: "Modulo", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } // no validation rules for Seed if len(errors) > 0 { return ConsistentHashingMultiError(errors) } return nil } // ConsistentHashingMultiError is an error wrapping multiple validation errors // returned by ConsistentHashing.ValidateAll() if the designated constraints // aren't met. type ConsistentHashingMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConsistentHashingMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConsistentHashingMultiError) AllErrors() []error { return m } // ConsistentHashingValidationError is the validation error returned by // ConsistentHashing.Validate if the designated constraints aren't met. type ConsistentHashingValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConsistentHashingValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConsistentHashingValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConsistentHashingValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConsistentHashingValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConsistentHashingValidationError) ErrorName() string { return "ConsistentHashingValidationError" } // Error satisfies the builtin error interface func (e ConsistentHashingValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConsistentHashing.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConsistentHashingValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConsistentHashingValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/ip/000077500000000000000000000000001454502223200255375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/ip/v3/000077500000000000000000000000001454502223200260675ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/ip/v3/ip.pb.go000077500000000000000000000221501454502223200274310ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/input_matchers/ip/v3/ip.proto package ipv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This input matcher matches IPv4 or IPv6 addresses against a list of CIDR // ranges. It returns true if and only if the input IP belongs to at least one // of these CIDR ranges. Internally, it uses a Level-Compressed trie, as // described in the paper `IP-address lookup using LC-tries // `_ // by S. Nilsson and G. Karlsson. For "big" lists of IPs, this matcher is more // efficient than multiple single IP matcher, that would have a linear cost. type Ip struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Match if the IP belongs to any of these CIDR ranges. CidrRanges []*v3.CidrRange `protobuf:"bytes,1,rep,name=cidr_ranges,json=cidrRanges,proto3" json:"cidr_ranges,omitempty"` // The human readable prefix to use when emitting statistics for the IP input // matcher. Names in the table below are concatenated to this prefix. // // .. csv-table:: // // :header: Name, Type, Description // :widths: 1, 1, 2 // // ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` } func (x *Ip) Reset() { *x = Ip{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ip) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ip) ProtoMessage() {} func (x *Ip) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Ip.ProtoReflect.Descriptor instead. func (*Ip) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescGZIP(), []int{0} } func (x *Ip) GetCidrRanges() []*v3.CidrRange { if x != nil { return x.CidrRanges } return nil } func (x *Ip) GetStatPrefix() string { if x != nil { return x.StatPrefix } return "" } var File_envoy_extensions_matching_input_matchers_ip_v3_ip_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDesc = []byte{ 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x02, 0x49, 0x70, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0xad, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x69, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x07, 0x49, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x69, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescOnce sync.Once file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescData = file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDesc ) func file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescData) }) return file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDescData } var file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_goTypes = []interface{}{ (*Ip)(nil), // 0: envoy.extensions.matching.input_matchers.ip.v3.Ip (*v3.CidrRange)(nil), // 1: envoy.config.core.v3.CidrRange } var file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.matching.input_matchers.ip.v3.Ip.cidr_ranges:type_name -> envoy.config.core.v3.CidrRange 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_init() } func file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_init() { if File_envoy_extensions_matching_input_matchers_ip_v3_ip_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ip); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_msgTypes, }.Build() File_envoy_extensions_matching_input_matchers_ip_v3_ip_proto = out.File file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_rawDesc = nil file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_goTypes = nil file_envoy_extensions_matching_input_matchers_ip_v3_ip_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/ip/v3/ip.pb.validate.go000077500000000000000000000104501454502223200312210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/input_matchers/ip/v3/ip.proto package ipv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Ip with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Ip) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Ip with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in IpMultiError, or nil if none found. func (m *Ip) ValidateAll() error { return m.validate(true) } func (m *Ip) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetCidrRanges()) < 1 { err := IpValidationError{ field: "CidrRanges", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetCidrRanges() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, IpValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, IpValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return IpValidationError{ field: fmt.Sprintf("CidrRanges[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if utf8.RuneCountInString(m.GetStatPrefix()) < 1 { err := IpValidationError{ field: "StatPrefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return IpMultiError(errors) } return nil } // IpMultiError is an error wrapping multiple validation errors returned by // Ip.ValidateAll() if the designated constraints aren't met. type IpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m IpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m IpMultiError) AllErrors() []error { return m } // IpValidationError is the validation error returned by Ip.Validate if the // designated constraints aren't met. type IpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e IpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e IpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e IpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e IpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e IpValidationError) ErrorName() string { return "IpValidationError" } // Error satisfies the builtin error interface func (e IpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sIp.%s: %s%s", key, e.field, e.reason, cause) } var _ error = IpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = IpValidationError{} go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/runtime_fraction/000077500000000000000000000000001454502223200304775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/runtime_fraction/v3/000077500000000000000000000000001454502223200310275ustar00rootroot00000000000000runtime_fraction.pb.go000077500000000000000000000257351454502223200352660ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/runtime_fraction/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/matching/input_matchers/runtime_fraction/v3/runtime_fraction.proto package runtime_fractionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The runtime fraction matchers computes a hash from the input and matches if runtime feature is enabled // for the the resulting hash. Every time the input is considered for a match, its hash must fall within // the percentage of matches indicated by this field. For a fraction N/D, a number is computed as a hash // of the input on a field in the range [0,D). If the number is less than or equal to the value of the // numerator N, the matcher evaluates to true. A runtime_fraction input matcher can be used to gradually // roll out matcher changes without requiring full code or configuration deployments. // Note that distribution of matching results is only as good as one of the input. type RuntimeFraction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Match the input against the given runtime key. The specified default value is used if key is not // present in the runtime configuration. RuntimeFraction *v3.RuntimeFractionalPercent `protobuf:"bytes,1,opt,name=runtime_fraction,json=runtimeFraction,proto3" json:"runtime_fraction,omitempty"` // Optional seed passed through the hash function. This allows using additional information when computing // the hash value: by changing the seed value, a potentially different outcome can be achieved for the same input. Seed uint64 `protobuf:"varint,2,opt,name=seed,proto3" json:"seed,omitempty"` } func (x *RuntimeFraction) Reset() { *x = RuntimeFraction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RuntimeFraction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RuntimeFraction) ProtoMessage() {} func (x *RuntimeFraction) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RuntimeFraction.ProtoReflect.Descriptor instead. func (*RuntimeFraction) Descriptor() ([]byte, []int) { return file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescGZIP(), []int{0} } func (x *RuntimeFraction) GetRuntimeFraction() *v3.RuntimeFractionalPercent { if x != nil { return x.RuntimeFraction } return nil } func (x *RuntimeFraction) GetSeed() uint64 { if x != nil { return x.Seed } return 0 } var File_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto protoreflect.FileDescriptor var file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDesc = []byte{ 0x0a, 0x53, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x42, 0xe4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x76, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescOnce sync.Once file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescData = file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDesc ) func file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescGZIP() []byte { file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescOnce.Do(func() { file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescData) }) return file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDescData } var file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_goTypes = []interface{}{ (*RuntimeFraction)(nil), // 0: envoy.extensions.matching.input_matchers.runtime_fraction.v3.RuntimeFraction (*v3.RuntimeFractionalPercent)(nil), // 1: envoy.config.core.v3.RuntimeFractionalPercent } var file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.matching.input_matchers.runtime_fraction.v3.RuntimeFraction.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_init() } func file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_init() { if File_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeFraction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_goTypes, DependencyIndexes: file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_depIdxs, MessageInfos: file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_msgTypes, }.Build() File_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto = out.File file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_rawDesc = nil file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_goTypes = nil file_envoy_extensions_matching_input_matchers_runtime_fraction_v3_runtime_fraction_proto_depIdxs = nil } runtime_fraction.pb.validate.go000077500000000000000000000106261454502223200370470ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/matching/input_matchers/runtime_fraction/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/matching/input_matchers/runtime_fraction/v3/runtime_fraction.proto package runtime_fractionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RuntimeFraction with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RuntimeFraction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RuntimeFraction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RuntimeFractionMultiError, or nil if none found. func (m *RuntimeFraction) ValidateAll() error { return m.validate(true) } func (m *RuntimeFraction) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetRuntimeFraction() == nil { err := RuntimeFractionValidationError{ field: "RuntimeFraction", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRuntimeFraction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeFractionValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeFractionValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRuntimeFraction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeFractionValidationError{ field: "RuntimeFraction", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Seed if len(errors) > 0 { return RuntimeFractionMultiError(errors) } return nil } // RuntimeFractionMultiError is an error wrapping multiple validation errors // returned by RuntimeFraction.ValidateAll() if the designated constraints // aren't met. type RuntimeFractionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeFractionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeFractionMultiError) AllErrors() []error { return m } // RuntimeFractionValidationError is the validation error returned by // RuntimeFraction.Validate if the designated constraints aren't met. type RuntimeFractionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeFractionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeFractionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeFractionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeFractionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeFractionValidationError) ErrorName() string { return "RuntimeFractionValidationError" } // Error satisfies the builtin error interface func (e RuntimeFractionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntimeFraction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeFractionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeFractionValidationError{} go-control-plane-0.12.0/envoy/extensions/network/000077500000000000000000000000001454502223200220015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/000077500000000000000000000000001454502223200245065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/apple/000077500000000000000000000000001454502223200256075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/apple/v3/000077500000000000000000000000001454502223200261375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.pb.go000077500000000000000000000210751454502223200327640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto package applev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for apple DNS resolver. type AppleDnsResolverConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The resolver will avoid the system's heuristics to only return // IPv4 or IPv6 addresses that it considers to be "routable", instead // returning all possible IPv4 or IPv6 addresses. This setting is // ignored if the DNS lookup family is set to v4-only or v6-only. // This should remain false in the vast majority of cases, but may be // useful when performing custom filtering of addresses, such as with // Happy Eyeballs. IncludeUnroutableFamilies bool `protobuf:"varint,1,opt,name=include_unroutable_families,json=includeUnroutableFamilies,proto3" json:"include_unroutable_families,omitempty"` } func (x *AppleDnsResolverConfig) Reset() { *x = AppleDnsResolverConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AppleDnsResolverConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AppleDnsResolverConfig) ProtoMessage() {} func (x *AppleDnsResolverConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AppleDnsResolverConfig.ProtoReflect.Descriptor instead. func (*AppleDnsResolverConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescGZIP(), []int{0} } func (x *AppleDnsResolverConfig) GetIncludeUnroutableFamilies() bool { if x != nil { return x.IncludeUnroutableFamilies } return false } var File_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto protoreflect.FileDescriptor var file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x75, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescOnce sync.Once file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescData = file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDesc ) func file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescGZIP() []byte { file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescOnce.Do(func() { file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescData) }) return file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDescData } var file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_goTypes = []interface{}{ (*AppleDnsResolverConfig)(nil), // 0: envoy.extensions.network.dns_resolver.apple.v3.AppleDnsResolverConfig } var file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_init() } func file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_init() { if File_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppleDnsResolverConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_goTypes, DependencyIndexes: file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_depIdxs, MessageInfos: file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_msgTypes, }.Build() File_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto = out.File file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_rawDesc = nil file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_goTypes = nil file_envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver_proto_depIdxs = nil } apple_dns_resolver.pb.validate.go000077500000000000000000000070211454502223200344700ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/apple/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto package applev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AppleDnsResolverConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AppleDnsResolverConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AppleDnsResolverConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AppleDnsResolverConfigMultiError, or nil if none found. func (m *AppleDnsResolverConfig) ValidateAll() error { return m.validate(true) } func (m *AppleDnsResolverConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IncludeUnroutableFamilies if len(errors) > 0 { return AppleDnsResolverConfigMultiError(errors) } return nil } // AppleDnsResolverConfigMultiError is an error wrapping multiple validation // errors returned by AppleDnsResolverConfig.ValidateAll() if the designated // constraints aren't met. type AppleDnsResolverConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AppleDnsResolverConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AppleDnsResolverConfigMultiError) AllErrors() []error { return m } // AppleDnsResolverConfigValidationError is the validation error returned by // AppleDnsResolverConfig.Validate if the designated constraints aren't met. type AppleDnsResolverConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AppleDnsResolverConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AppleDnsResolverConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AppleDnsResolverConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AppleDnsResolverConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AppleDnsResolverConfigValidationError) ErrorName() string { return "AppleDnsResolverConfigValidationError" } // Error satisfies the builtin error interface func (e AppleDnsResolverConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAppleDnsResolverConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AppleDnsResolverConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AppleDnsResolverConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/cares/000077500000000000000000000000001454502223200256035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/cares/v3/000077500000000000000000000000001454502223200261335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.pb.go000077500000000000000000000307701454502223200327560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto package caresv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for c-ares DNS resolver. type CaresDnsResolverConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A list of dns resolver addresses. // :ref:`use_resolvers_as_fallback` // below dictates if the DNS client should override system defaults or only use the provided // resolvers if the system defaults are not available, i.e., as a fallback. Resolvers []*v3.Address `protobuf:"bytes,1,rep,name=resolvers,proto3" json:"resolvers,omitempty"` // If true use the resolvers listed in the // :ref:`resolvers` // field only if c-ares is unable to obtain a // nameserver from the system (e.g., /etc/resolv.conf). // Otherwise, the resolvers listed in the resolvers list will override the default system // resolvers. Defaults to false. UseResolversAsFallback bool `protobuf:"varint,3,opt,name=use_resolvers_as_fallback,json=useResolversAsFallback,proto3" json:"use_resolvers_as_fallback,omitempty"` // The resolver will query available network interfaces and determine if there are no available // interfaces for a given IP family. It will then filter these addresses from the results it // presents. e.g., if there are no available IPv4 network interfaces, the resolver will not // provide IPv4 addresses. FilterUnroutableFamilies bool `protobuf:"varint,4,opt,name=filter_unroutable_families,json=filterUnroutableFamilies,proto3" json:"filter_unroutable_families,omitempty"` // Configuration of DNS resolver option flags which control the behavior of the DNS resolver. DnsResolverOptions *v3.DnsResolverOptions `protobuf:"bytes,2,opt,name=dns_resolver_options,json=dnsResolverOptions,proto3" json:"dns_resolver_options,omitempty"` } func (x *CaresDnsResolverConfig) Reset() { *x = CaresDnsResolverConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CaresDnsResolverConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CaresDnsResolverConfig) ProtoMessage() {} func (x *CaresDnsResolverConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CaresDnsResolverConfig.ProtoReflect.Descriptor instead. func (*CaresDnsResolverConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescGZIP(), []int{0} } func (x *CaresDnsResolverConfig) GetResolvers() []*v3.Address { if x != nil { return x.Resolvers } return nil } func (x *CaresDnsResolverConfig) GetUseResolversAsFallback() bool { if x != nil { return x.UseResolversAsFallback } return false } func (x *CaresDnsResolverConfig) GetFilterUnroutableFamilies() bool { if x != nil { return x.FilterUnroutableFamilies } return false } func (x *CaresDnsResolverConfig) GetDnsResolverOptions() *v3.DnsResolverOptions { if x != nil { return x.DnsResolverOptions } return nil } var File_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto protoreflect.FileDescriptor var file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x72, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 0x0a, 0x16, 0x43, 0x61, 0x72, 0x65, 0x73, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x41, 0x73, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x1a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x64, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x72, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x43, 0x61, 0x72, 0x65, 0x73, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x61, 0x72, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescOnce sync.Once file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescData = file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDesc ) func file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescGZIP() []byte { file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescOnce.Do(func() { file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescData) }) return file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDescData } var file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_goTypes = []interface{}{ (*CaresDnsResolverConfig)(nil), // 0: envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig (*v3.Address)(nil), // 1: envoy.config.core.v3.Address (*v3.DnsResolverOptions)(nil), // 2: envoy.config.core.v3.DnsResolverOptions } var file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig.resolvers:type_name -> envoy.config.core.v3.Address 2, // 1: envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig.dns_resolver_options:type_name -> envoy.config.core.v3.DnsResolverOptions 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_init() } func file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_init() { if File_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CaresDnsResolverConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_goTypes, DependencyIndexes: file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_depIdxs, MessageInfos: file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_msgTypes, }.Build() File_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto = out.File file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_rawDesc = nil file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_goTypes = nil file_envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver_proto_depIdxs = nil } cares_dns_resolver.pb.validate.go000077500000000000000000000132171454502223200344640ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/cares/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto package caresv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CaresDnsResolverConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CaresDnsResolverConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CaresDnsResolverConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CaresDnsResolverConfigMultiError, or nil if none found. func (m *CaresDnsResolverConfig) ValidateAll() error { return m.validate(true) } func (m *CaresDnsResolverConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetResolvers()) < 1 { err := CaresDnsResolverConfigValidationError{ field: "Resolvers", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetResolvers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CaresDnsResolverConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CaresDnsResolverConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CaresDnsResolverConfigValidationError{ field: fmt.Sprintf("Resolvers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for UseResolversAsFallback // no validation rules for FilterUnroutableFamilies if all { switch v := interface{}(m.GetDnsResolverOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CaresDnsResolverConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CaresDnsResolverConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDnsResolverOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CaresDnsResolverConfigValidationError{ field: "DnsResolverOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CaresDnsResolverConfigMultiError(errors) } return nil } // CaresDnsResolverConfigMultiError is an error wrapping multiple validation // errors returned by CaresDnsResolverConfig.ValidateAll() if the designated // constraints aren't met. type CaresDnsResolverConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CaresDnsResolverConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CaresDnsResolverConfigMultiError) AllErrors() []error { return m } // CaresDnsResolverConfigValidationError is the validation error returned by // CaresDnsResolverConfig.Validate if the designated constraints aren't met. type CaresDnsResolverConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CaresDnsResolverConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CaresDnsResolverConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CaresDnsResolverConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CaresDnsResolverConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CaresDnsResolverConfigValidationError) ErrorName() string { return "CaresDnsResolverConfigValidationError" } // Error satisfies the builtin error interface func (e CaresDnsResolverConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCaresDnsResolverConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CaresDnsResolverConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CaresDnsResolverConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/getaddrinfo/000077500000000000000000000000001454502223200267745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/getaddrinfo/v3/000077500000000000000000000000001454502223200273245ustar00rootroot00000000000000getaddrinfo_dns_resolver.pb.go000077500000000000000000000212541454502223200352560ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/getaddrinfo/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/network/dns_resolver/getaddrinfo/v3/getaddrinfo_dns_resolver.proto package getaddrinfov3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for getaddrinfo DNS resolver. This resolver will use the system's getaddrinfo() // function to resolve hosts. // // .. attention:: // // This resolver uses a single background thread to do resolutions. As such, it is not currently // advised for use in situations requiring a high resolution rate. A thread pool can be added // in the future if needed. // // .. attention:: // // Resolutions currently use a hard coded TTL of 60s because the getaddrinfo() API does not // provide the actual TTL. Configuration for this can be added in the future if needed. type GetAddrInfoDnsResolverConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GetAddrInfoDnsResolverConfig) Reset() { *x = GetAddrInfoDnsResolverConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAddrInfoDnsResolverConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAddrInfoDnsResolverConfig) ProtoMessage() {} func (x *GetAddrInfoDnsResolverConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetAddrInfoDnsResolverConfig.ProtoReflect.Descriptor instead. func (*GetAddrInfoDnsResolverConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto protoreflect.FileDescriptor var file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDesc = []byte{ 0x0a, 0x53, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x33, 0x42, 0x1b, 0x47, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x44, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescOnce sync.Once file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescData = file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDesc ) func file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescGZIP() []byte { file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescOnce.Do(func() { file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescData) }) return file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDescData } var file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_goTypes = []interface{}{ (*GetAddrInfoDnsResolverConfig)(nil), // 0: envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig } var file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_init() } func file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_init() { if File_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAddrInfoDnsResolverConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_goTypes, DependencyIndexes: file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_depIdxs, MessageInfos: file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_msgTypes, }.Build() File_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto = out.File file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_rawDesc = nil file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_goTypes = nil file_envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver_proto_depIdxs = nil } getaddrinfo_dns_resolver.pb.validate.go000077500000000000000000000072051454502223200370460ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/dns_resolver/getaddrinfo/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/network/dns_resolver/getaddrinfo/v3/getaddrinfo_dns_resolver.proto package getaddrinfov3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GetAddrInfoDnsResolverConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GetAddrInfoDnsResolverConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GetAddrInfoDnsResolverConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GetAddrInfoDnsResolverConfigMultiError, or nil if none found. func (m *GetAddrInfoDnsResolverConfig) ValidateAll() error { return m.validate(true) } func (m *GetAddrInfoDnsResolverConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GetAddrInfoDnsResolverConfigMultiError(errors) } return nil } // GetAddrInfoDnsResolverConfigMultiError is an error wrapping multiple // validation errors returned by GetAddrInfoDnsResolverConfig.ValidateAll() if // the designated constraints aren't met. type GetAddrInfoDnsResolverConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GetAddrInfoDnsResolverConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GetAddrInfoDnsResolverConfigMultiError) AllErrors() []error { return m } // GetAddrInfoDnsResolverConfigValidationError is the validation error returned // by GetAddrInfoDnsResolverConfig.Validate if the designated constraints // aren't met. type GetAddrInfoDnsResolverConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GetAddrInfoDnsResolverConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GetAddrInfoDnsResolverConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GetAddrInfoDnsResolverConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GetAddrInfoDnsResolverConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GetAddrInfoDnsResolverConfigValidationError) ErrorName() string { return "GetAddrInfoDnsResolverConfigValidationError" } // Error satisfies the builtin error interface func (e GetAddrInfoDnsResolverConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGetAddrInfoDnsResolverConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GetAddrInfoDnsResolverConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GetAddrInfoDnsResolverConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/network/socket_interface/000077500000000000000000000000001454502223200253115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/socket_interface/v3/000077500000000000000000000000001454502223200256415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/socket_interface/v3/default_socket_interface.pb.go000077500000000000000000000173401454502223200336140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/network/socket_interface/v3/default_socket_interface.proto package socket_interfacev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for default socket interface that relies on OS dependent syscall to create // sockets. type DefaultSocketInterface struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DefaultSocketInterface) Reset() { *x = DefaultSocketInterface{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DefaultSocketInterface) String() string { return protoimpl.X.MessageStringOf(x) } func (*DefaultSocketInterface) ProtoMessage() {} func (x *DefaultSocketInterface) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DefaultSocketInterface.ProtoReflect.Descriptor instead. func (*DefaultSocketInterface) Descriptor() ([]byte, []int) { return file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto protoreflect.FileDescriptor var file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0xcb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x1b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescOnce sync.Once file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescData = file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDesc ) func file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescGZIP() []byte { file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescOnce.Do(func() { file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescData) }) return file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDescData } var file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_goTypes = []interface{}{ (*DefaultSocketInterface)(nil), // 0: envoy.extensions.network.socket_interface.v3.DefaultSocketInterface } var file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_init() } func file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_init() { if File_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DefaultSocketInterface); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_goTypes, DependencyIndexes: file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_depIdxs, MessageInfos: file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_msgTypes, }.Build() File_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto = out.File file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_rawDesc = nil file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_goTypes = nil file_envoy_extensions_network_socket_interface_v3_default_socket_interface_proto_depIdxs = nil } default_socket_interface.pb.validate.go000077500000000000000000000067511454502223200353310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/network/socket_interface/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/network/socket_interface/v3/default_socket_interface.proto package socket_interfacev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DefaultSocketInterface with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DefaultSocketInterface) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DefaultSocketInterface with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DefaultSocketInterfaceMultiError, or nil if none found. func (m *DefaultSocketInterface) ValidateAll() error { return m.validate(true) } func (m *DefaultSocketInterface) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DefaultSocketInterfaceMultiError(errors) } return nil } // DefaultSocketInterfaceMultiError is an error wrapping multiple validation // errors returned by DefaultSocketInterface.ValidateAll() if the designated // constraints aren't met. type DefaultSocketInterfaceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DefaultSocketInterfaceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DefaultSocketInterfaceMultiError) AllErrors() []error { return m } // DefaultSocketInterfaceValidationError is the validation error returned by // DefaultSocketInterface.Validate if the designated constraints aren't met. type DefaultSocketInterfaceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DefaultSocketInterfaceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DefaultSocketInterfaceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DefaultSocketInterfaceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DefaultSocketInterfaceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DefaultSocketInterfaceValidationError) ErrorName() string { return "DefaultSocketInterfaceValidationError" } // Error satisfies the builtin error interface func (e DefaultSocketInterfaceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDefaultSocketInterface.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DefaultSocketInterfaceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DefaultSocketInterfaceValidationError{} go-control-plane-0.12.0/envoy/extensions/path/000077500000000000000000000000001454502223200212445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/match/000077500000000000000000000000001454502223200223405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/match/uri_template/000077500000000000000000000000001454502223200250325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/match/uri_template/v3/000077500000000000000000000000001454502223200253625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/match/uri_template/v3/uri_template_match.pb.go000077500000000000000000000220041454502223200321600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/path/match/uri_template/v3/uri_template_match.proto package uri_templatev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // If specified, the route is a template match rule meaning that the // “:path“ header (without the query string) must match the given // “path_template“ pattern. // // Path template matching types: // // * “*“ : Matches a single path component, up to the next path separator: / // // * “**“ : Matches zero or more path segments. If present, must be the last operator. // // * “{name} or {name=*}“ : A named variable matching one path segment up to the next path separator: /. // // - “{name=videos/*}“ : A named variable matching more than one path segment. // The path component matching videos/* is captured as the named variable. // // * “{name=**}“ : A named variable matching zero or more path segments. // // For example: // // * “/videos/*/*/*.m4s“ would match “videos/123414/hls/1080p5000_00001.m4s“ // // * “/videos/{file}“ would match “/videos/1080p5000_00001.m4s“ // // * “/**.mpd“ would match “/content/123/india/dash/55/manifest.mpd“ type UriTemplateMatchConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PathTemplate string `protobuf:"bytes,1,opt,name=path_template,json=pathTemplate,proto3" json:"path_template,omitempty"` } func (x *UriTemplateMatchConfig) Reset() { *x = UriTemplateMatchConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UriTemplateMatchConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UriTemplateMatchConfig) ProtoMessage() {} func (x *UriTemplateMatchConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UriTemplateMatchConfig.ProtoReflect.Descriptor instead. func (*UriTemplateMatchConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescGZIP(), []int{0} } func (x *UriTemplateMatchConfig) GetPathTemplate() string { if x != nil { return x.PathTemplate } return "" } var File_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto protoreflect.FileDescriptor var file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x16, 0x55, 0x72, 0x69, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x55, 0x72, 0x69, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescOnce sync.Once file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescData = file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDesc ) func file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescGZIP() []byte { file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescOnce.Do(func() { file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescData) }) return file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDescData } var file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_goTypes = []interface{}{ (*UriTemplateMatchConfig)(nil), // 0: envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig } var file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_init() } func file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_init() { if File_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UriTemplateMatchConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_goTypes, DependencyIndexes: file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_depIdxs, MessageInfos: file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_msgTypes, }.Build() File_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto = out.File file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_rawDesc = nil file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_goTypes = nil file_envoy_extensions_path_match_uri_template_v3_uri_template_match_proto_depIdxs = nil } uri_template_match.pb.validate.go000077500000000000000000000073751454502223200337070ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/match/uri_template/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/path/match/uri_template/v3/uri_template_match.proto package uri_templatev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UriTemplateMatchConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UriTemplateMatchConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UriTemplateMatchConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UriTemplateMatchConfigMultiError, or nil if none found. func (m *UriTemplateMatchConfig) ValidateAll() error { return m.validate(true) } func (m *UriTemplateMatchConfig) validate(all bool) error { if m == nil { return nil } var errors []error if l := utf8.RuneCountInString(m.GetPathTemplate()); l < 1 || l > 256 { err := UriTemplateMatchConfigValidationError{ field: "PathTemplate", reason: "value length must be between 1 and 256 runes, inclusive", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return UriTemplateMatchConfigMultiError(errors) } return nil } // UriTemplateMatchConfigMultiError is an error wrapping multiple validation // errors returned by UriTemplateMatchConfig.ValidateAll() if the designated // constraints aren't met. type UriTemplateMatchConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UriTemplateMatchConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UriTemplateMatchConfigMultiError) AllErrors() []error { return m } // UriTemplateMatchConfigValidationError is the validation error returned by // UriTemplateMatchConfig.Validate if the designated constraints aren't met. type UriTemplateMatchConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UriTemplateMatchConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UriTemplateMatchConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UriTemplateMatchConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UriTemplateMatchConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UriTemplateMatchConfigValidationError) ErrorName() string { return "UriTemplateMatchConfigValidationError" } // Error satisfies the builtin error interface func (e UriTemplateMatchConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUriTemplateMatchConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UriTemplateMatchConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UriTemplateMatchConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/path/rewrite/000077500000000000000000000000001454502223200227255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/rewrite/uri_template/000077500000000000000000000000001454502223200254175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/rewrite/uri_template/v3/000077500000000000000000000000001454502223200257475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/rewrite/uri_template/v3/uri_template_rewrite.pb.go000077500000000000000000000246261454502223200331460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/path/rewrite/uri_template/v3/uri_template_rewrite.proto package uri_templatev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Indicates that during forwarding, portions of the path that match the // pattern should be rewritten, even allowing the substitution of variables // from the match pattern into the new path as specified by the rewrite template. // This is useful to allow application paths to be // rewritten in a way that is aware of segments with variable content like // identifiers. The router filter will place the original path as it was // before the rewrite into the :ref:`x-envoy-original-path // ` header. // // Only one of :ref:`prefix_rewrite `, // :ref:`regex_rewrite `, // or *path_template_rewrite* may be specified. // // Template pattern matching types: // // * “*“ : Matches a single path component, up to the next path separator: / // // * “**“ : Matches zero or more path segments. If present, must be the last operator. // // * “{name} or {name=*}“ : A named variable matching one path segment up to the next path separator: /. // // - “{name=videos/*}“ : A named variable matching more than one path segment. // The path component matching videos/* is captured as the named variable. // // * “{name=**}“ : A named variable matching zero or more path segments. // // Only named matches can be used to perform rewrites. // // Examples using path_template_rewrite: // // - The pattern “/{one}/{two}“ paired with a substitution string of “/{two}/{one}“ would // transform “/cat/dog“ into “/dog/cat“. // // - The pattern “/videos/{language=lang/*}/*“ paired with a substitution string of // “/{language}“ would transform “/videos/lang/en/video.m4s“ into “lang/en“. // // - The path pattern “/content/{format}/{lang}/{id}/{file}.vtt“ paired with a substitution // string of “/{lang}/{format}/{file}.vtt“ would transform “/content/hls/en-us/12345/en_193913.vtt“ // into “/en-us/hls/en_193913.vtt“. type UriTemplateRewriteConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PathTemplateRewrite string `protobuf:"bytes,1,opt,name=path_template_rewrite,json=pathTemplateRewrite,proto3" json:"path_template_rewrite,omitempty"` } func (x *UriTemplateRewriteConfig) Reset() { *x = UriTemplateRewriteConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UriTemplateRewriteConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UriTemplateRewriteConfig) ProtoMessage() {} func (x *UriTemplateRewriteConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UriTemplateRewriteConfig.ProtoReflect.Descriptor instead. func (*UriTemplateRewriteConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescGZIP(), []int{0} } func (x *UriTemplateRewriteConfig) GetPathTemplateRewrite() string { if x != nil { return x.PathTemplateRewrite } return "" } var File_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto protoreflect.FileDescriptor var file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x18, 0x55, 0x72, 0x69, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x15, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x13, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xc5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x55, 0x72, 0x69, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescOnce sync.Once file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescData = file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDesc ) func file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescGZIP() []byte { file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescOnce.Do(func() { file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescData) }) return file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDescData } var file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_goTypes = []interface{}{ (*UriTemplateRewriteConfig)(nil), // 0: envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig } var file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_init() } func file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_init() { if File_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UriTemplateRewriteConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_goTypes, DependencyIndexes: file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_depIdxs, MessageInfos: file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_msgTypes, }.Build() File_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto = out.File file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_rawDesc = nil file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_goTypes = nil file_envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite_proto_depIdxs = nil } uri_template_rewrite.pb.validate.go000077500000000000000000000075031454502223200346520ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/path/rewrite/uri_template/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/path/rewrite/uri_template/v3/uri_template_rewrite.proto package uri_templatev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UriTemplateRewriteConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UriTemplateRewriteConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UriTemplateRewriteConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UriTemplateRewriteConfigMultiError, or nil if none found. func (m *UriTemplateRewriteConfig) ValidateAll() error { return m.validate(true) } func (m *UriTemplateRewriteConfig) validate(all bool) error { if m == nil { return nil } var errors []error if l := utf8.RuneCountInString(m.GetPathTemplateRewrite()); l < 1 || l > 256 { err := UriTemplateRewriteConfigValidationError{ field: "PathTemplateRewrite", reason: "value length must be between 1 and 256 runes, inclusive", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return UriTemplateRewriteConfigMultiError(errors) } return nil } // UriTemplateRewriteConfigMultiError is an error wrapping multiple validation // errors returned by UriTemplateRewriteConfig.ValidateAll() if the designated // constraints aren't met. type UriTemplateRewriteConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UriTemplateRewriteConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UriTemplateRewriteConfigMultiError) AllErrors() []error { return m } // UriTemplateRewriteConfigValidationError is the validation error returned by // UriTemplateRewriteConfig.Validate if the designated constraints aren't met. type UriTemplateRewriteConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UriTemplateRewriteConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UriTemplateRewriteConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UriTemplateRewriteConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UriTemplateRewriteConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UriTemplateRewriteConfigValidationError) ErrorName() string { return "UriTemplateRewriteConfigValidationError" } // Error satisfies the builtin error interface func (e UriTemplateRewriteConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUriTemplateRewriteConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UriTemplateRewriteConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UriTemplateRewriteConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/quic/000077500000000000000000000000001454502223200212515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/connection_id_generator/000077500000000000000000000000001454502223200261325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/connection_id_generator/v3/000077500000000000000000000000001454502223200264625ustar00rootroot00000000000000envoy_deterministic_connection_id_generator.pb.go000077500000000000000000000220571454502223200403670ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/connection_id_generator/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/quic/connection_id_generator/v3/envoy_deterministic_connection_id_generator.proto package connection_id_generatorv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for a connection ID generator implementation which issues predictable CIDs with stable first 4 bytes. type DeterministicConnectionIdGeneratorConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DeterministicConnectionIdGeneratorConfig) Reset() { *x = DeterministicConnectionIdGeneratorConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeterministicConnectionIdGeneratorConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeterministicConnectionIdGeneratorConfig) ProtoMessage() {} func (x *DeterministicConnectionIdGeneratorConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeterministicConnectionIdGeneratorConfig.ProtoReflect.Descriptor instead. func (*DeterministicConnectionIdGeneratorConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto protoreflect.FileDescriptor var file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDesc = []byte{ 0x0a, 0x62, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x28, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xeb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x2c, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescOnce sync.Once file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescData = file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDesc ) func file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescGZIP() []byte { file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescOnce.Do(func() { file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescData) }) return file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDescData } var file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_goTypes = []interface{}{ (*DeterministicConnectionIdGeneratorConfig)(nil), // 0: envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig } var file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_init() } func file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_init() { if File_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeterministicConnectionIdGeneratorConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_goTypes, DependencyIndexes: file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_depIdxs, MessageInfos: file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_msgTypes, }.Build() File_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto = out.File file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_rawDesc = nil file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_goTypes = nil file_envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator_proto_depIdxs = nil } envoy_deterministic_connection_id_generator.pb.validate.go000077500000000000000000000077251454502223200421640ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/connection_id_generator/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/quic/connection_id_generator/v3/envoy_deterministic_connection_id_generator.proto package connection_id_generatorv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DeterministicConnectionIdGeneratorConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *DeterministicConnectionIdGeneratorConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // DeterministicConnectionIdGeneratorConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // DeterministicConnectionIdGeneratorConfigMultiError, or nil if none found. func (m *DeterministicConnectionIdGeneratorConfig) ValidateAll() error { return m.validate(true) } func (m *DeterministicConnectionIdGeneratorConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DeterministicConnectionIdGeneratorConfigMultiError(errors) } return nil } // DeterministicConnectionIdGeneratorConfigMultiError is an error wrapping // multiple validation errors returned by // DeterministicConnectionIdGeneratorConfig.ValidateAll() if the designated // constraints aren't met. type DeterministicConnectionIdGeneratorConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeterministicConnectionIdGeneratorConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeterministicConnectionIdGeneratorConfigMultiError) AllErrors() []error { return m } // DeterministicConnectionIdGeneratorConfigValidationError is the validation // error returned by DeterministicConnectionIdGeneratorConfig.Validate if the // designated constraints aren't met. type DeterministicConnectionIdGeneratorConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeterministicConnectionIdGeneratorConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeterministicConnectionIdGeneratorConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeterministicConnectionIdGeneratorConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeterministicConnectionIdGeneratorConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeterministicConnectionIdGeneratorConfigValidationError) ErrorName() string { return "DeterministicConnectionIdGeneratorConfigValidationError" } // Error satisfies the builtin error interface func (e DeterministicConnectionIdGeneratorConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeterministicConnectionIdGeneratorConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeterministicConnectionIdGeneratorConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeterministicConnectionIdGeneratorConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/quic/crypto_stream/000077500000000000000000000000001454502223200241445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/crypto_stream/v3/000077500000000000000000000000001454502223200244745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/crypto_stream/v3/crypto_stream.pb.go000077500000000000000000000157201454502223200303260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/quic/crypto_stream/v3/crypto_stream.proto package crypto_streamv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the default QUIC server crypto stream provided by QUICHE. type CryptoServerStreamConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CryptoServerStreamConfig) Reset() { *x = CryptoServerStreamConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CryptoServerStreamConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CryptoServerStreamConfig) ProtoMessage() {} func (x *CryptoServerStreamConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CryptoServerStreamConfig.ProtoReflect.Descriptor instead. func (*CryptoServerStreamConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto protoreflect.FileDescriptor var file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescOnce sync.Once file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescData = file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDesc ) func file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescGZIP() []byte { file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescOnce.Do(func() { file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescData) }) return file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDescData } var file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_goTypes = []interface{}{ (*CryptoServerStreamConfig)(nil), // 0: envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig } var file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_init() } func file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_init() { if File_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CryptoServerStreamConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_goTypes, DependencyIndexes: file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_depIdxs, MessageInfos: file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_msgTypes, }.Build() File_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto = out.File file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_rawDesc = nil file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_goTypes = nil file_envoy_extensions_quic_crypto_stream_v3_crypto_stream_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/quic/crypto_stream/v3/crypto_stream.pb.validate.go000077500000000000000000000070071454502223200321150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/quic/crypto_stream/v3/crypto_stream.proto package crypto_streamv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CryptoServerStreamConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CryptoServerStreamConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CryptoServerStreamConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CryptoServerStreamConfigMultiError, or nil if none found. func (m *CryptoServerStreamConfig) ValidateAll() error { return m.validate(true) } func (m *CryptoServerStreamConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CryptoServerStreamConfigMultiError(errors) } return nil } // CryptoServerStreamConfigMultiError is an error wrapping multiple validation // errors returned by CryptoServerStreamConfig.ValidateAll() if the designated // constraints aren't met. type CryptoServerStreamConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CryptoServerStreamConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CryptoServerStreamConfigMultiError) AllErrors() []error { return m } // CryptoServerStreamConfigValidationError is the validation error returned by // CryptoServerStreamConfig.Validate if the designated constraints aren't met. type CryptoServerStreamConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CryptoServerStreamConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CryptoServerStreamConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CryptoServerStreamConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CryptoServerStreamConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CryptoServerStreamConfigValidationError) ErrorName() string { return "CryptoServerStreamConfigValidationError" } // Error satisfies the builtin error interface func (e CryptoServerStreamConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCryptoServerStreamConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CryptoServerStreamConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CryptoServerStreamConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/quic/proof_source/000077500000000000000000000000001454502223200237565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/proof_source/v3/000077500000000000000000000000001454502223200243065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/proof_source/v3/proof_source.pb.go000077500000000000000000000153271454502223200277550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/quic/proof_source/v3/proof_source.proto package proof_sourcev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the default QUIC proof source. type ProofSourceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ProofSourceConfig) Reset() { *x = ProofSourceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_quic_proof_source_v3_proof_source_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProofSourceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProofSourceConfig) ProtoMessage() {} func (x *ProofSourceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_quic_proof_source_v3_proof_source_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProofSourceConfig.ProtoReflect.Descriptor instead. func (*ProofSourceConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_quic_proof_source_v3_proof_source_proto protoreflect.FileDescriptor var file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDesc = []byte{ 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x13, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xae, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescOnce sync.Once file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescData = file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDesc ) func file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescGZIP() []byte { file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescOnce.Do(func() { file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescData) }) return file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDescData } var file_envoy_extensions_quic_proof_source_v3_proof_source_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_quic_proof_source_v3_proof_source_proto_goTypes = []interface{}{ (*ProofSourceConfig)(nil), // 0: envoy.extensions.quic.proof_source.v3.ProofSourceConfig } var file_envoy_extensions_quic_proof_source_v3_proof_source_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_quic_proof_source_v3_proof_source_proto_init() } func file_envoy_extensions_quic_proof_source_v3_proof_source_proto_init() { if File_envoy_extensions_quic_proof_source_v3_proof_source_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_quic_proof_source_v3_proof_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProofSourceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_quic_proof_source_v3_proof_source_proto_goTypes, DependencyIndexes: file_envoy_extensions_quic_proof_source_v3_proof_source_proto_depIdxs, MessageInfos: file_envoy_extensions_quic_proof_source_v3_proof_source_proto_msgTypes, }.Build() File_envoy_extensions_quic_proof_source_v3_proof_source_proto = out.File file_envoy_extensions_quic_proof_source_v3_proof_source_proto_rawDesc = nil file_envoy_extensions_quic_proof_source_v3_proof_source_proto_goTypes = nil file_envoy_extensions_quic_proof_source_v3_proof_source_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/quic/proof_source/v3/proof_source.pb.validate.go000077500000000000000000000065251454502223200315450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/quic/proof_source/v3/proof_source.proto package proof_sourcev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProofSourceConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ProofSourceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProofSourceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProofSourceConfigMultiError, or nil if none found. func (m *ProofSourceConfig) ValidateAll() error { return m.validate(true) } func (m *ProofSourceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ProofSourceConfigMultiError(errors) } return nil } // ProofSourceConfigMultiError is an error wrapping multiple validation errors // returned by ProofSourceConfig.ValidateAll() if the designated constraints // aren't met. type ProofSourceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProofSourceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProofSourceConfigMultiError) AllErrors() []error { return m } // ProofSourceConfigValidationError is the validation error returned by // ProofSourceConfig.Validate if the designated constraints aren't met. type ProofSourceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProofSourceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProofSourceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProofSourceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProofSourceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProofSourceConfigValidationError) ErrorName() string { return "ProofSourceConfigValidationError" } // Error satisfies the builtin error interface func (e ProofSourceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProofSourceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProofSourceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProofSourceConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/quic/server_preferred_address/000077500000000000000000000000001454502223200263225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/server_preferred_address/v3/000077500000000000000000000000001454502223200266525ustar00rootroot00000000000000fixed_server_preferred_address_config.pb.go000077500000000000000000000275101454502223200373070ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/server_preferred_address/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/quic/server_preferred_address/v3/fixed_server_preferred_address_config.proto package server_preferred_addressv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for FixedServerPreferredAddressConfig. type FixedServerPreferredAddressConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Ipv4Type: // // *FixedServerPreferredAddressConfig_Ipv4Address Ipv4Type isFixedServerPreferredAddressConfig_Ipv4Type `protobuf_oneof:"ipv4_type"` // Types that are assignable to Ipv6Type: // // *FixedServerPreferredAddressConfig_Ipv6Address Ipv6Type isFixedServerPreferredAddressConfig_Ipv6Type `protobuf_oneof:"ipv6_type"` } func (x *FixedServerPreferredAddressConfig) Reset() { *x = FixedServerPreferredAddressConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FixedServerPreferredAddressConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FixedServerPreferredAddressConfig) ProtoMessage() {} func (x *FixedServerPreferredAddressConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FixedServerPreferredAddressConfig.ProtoReflect.Descriptor instead. func (*FixedServerPreferredAddressConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescGZIP(), []int{0} } func (m *FixedServerPreferredAddressConfig) GetIpv4Type() isFixedServerPreferredAddressConfig_Ipv4Type { if m != nil { return m.Ipv4Type } return nil } func (x *FixedServerPreferredAddressConfig) GetIpv4Address() string { if x, ok := x.GetIpv4Type().(*FixedServerPreferredAddressConfig_Ipv4Address); ok { return x.Ipv4Address } return "" } func (m *FixedServerPreferredAddressConfig) GetIpv6Type() isFixedServerPreferredAddressConfig_Ipv6Type { if m != nil { return m.Ipv6Type } return nil } func (x *FixedServerPreferredAddressConfig) GetIpv6Address() string { if x, ok := x.GetIpv6Type().(*FixedServerPreferredAddressConfig_Ipv6Address); ok { return x.Ipv6Address } return "" } type isFixedServerPreferredAddressConfig_Ipv4Type interface { isFixedServerPreferredAddressConfig_Ipv4Type() } type FixedServerPreferredAddressConfig_Ipv4Address struct { // String representation of IPv4 address, i.e. "127.0.0.2". // If not specified, none will be configured. Ipv4Address string `protobuf:"bytes,1,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"` } func (*FixedServerPreferredAddressConfig_Ipv4Address) isFixedServerPreferredAddressConfig_Ipv4Type() { } type isFixedServerPreferredAddressConfig_Ipv6Type interface { isFixedServerPreferredAddressConfig_Ipv6Type() } type FixedServerPreferredAddressConfig_Ipv6Address struct { // String representation of IPv6 address, i.e. "::1". // If not specified, none will be configured. Ipv6Address string `protobuf:"bytes,2,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"` } func (*FixedServerPreferredAddressConfig_Ipv6Address) isFixedServerPreferredAddressConfig_Ipv6Type() { } var File_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto protoreflect.FileDescriptor var file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDesc = []byte{ 0x0a, 0x5d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x21, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xe8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x26, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x73, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescOnce sync.Once file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescData = file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDesc ) func file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescGZIP() []byte { file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescData) }) return file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDescData } var file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_goTypes = []interface{}{ (*FixedServerPreferredAddressConfig)(nil), // 0: envoy.extensions.quic.server_preferred_address.v3.FixedServerPreferredAddressConfig } var file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_init() } func file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_init() { if File_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixedServerPreferredAddressConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FixedServerPreferredAddressConfig_Ipv4Address)(nil), (*FixedServerPreferredAddressConfig_Ipv6Address)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_depIdxs, MessageInfos: file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_msgTypes, }.Build() File_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto = out.File file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_rawDesc = nil file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_goTypes = nil file_envoy_extensions_quic_server_preferred_address_v3_fixed_server_preferred_address_config_proto_depIdxs = nil } fixed_server_preferred_address_config.pb.validate.go000077500000000000000000000110621454502223200410720ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/quic/server_preferred_address/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/quic/server_preferred_address/v3/fixed_server_preferred_address_config.proto package server_preferred_addressv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FixedServerPreferredAddressConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *FixedServerPreferredAddressConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FixedServerPreferredAddressConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // FixedServerPreferredAddressConfigMultiError, or nil if none found. func (m *FixedServerPreferredAddressConfig) ValidateAll() error { return m.validate(true) } func (m *FixedServerPreferredAddressConfig) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Ipv4Type.(type) { case *FixedServerPreferredAddressConfig_Ipv4Address: if v == nil { err := FixedServerPreferredAddressConfigValidationError{ field: "Ipv4Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Ipv4Address default: _ = v // ensures v is used } switch v := m.Ipv6Type.(type) { case *FixedServerPreferredAddressConfig_Ipv6Address: if v == nil { err := FixedServerPreferredAddressConfigValidationError{ field: "Ipv6Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Ipv6Address default: _ = v // ensures v is used } if len(errors) > 0 { return FixedServerPreferredAddressConfigMultiError(errors) } return nil } // FixedServerPreferredAddressConfigMultiError is an error wrapping multiple // validation errors returned by // FixedServerPreferredAddressConfig.ValidateAll() if the designated // constraints aren't met. type FixedServerPreferredAddressConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FixedServerPreferredAddressConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FixedServerPreferredAddressConfigMultiError) AllErrors() []error { return m } // FixedServerPreferredAddressConfigValidationError is the validation error // returned by FixedServerPreferredAddressConfig.Validate if the designated // constraints aren't met. type FixedServerPreferredAddressConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FixedServerPreferredAddressConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FixedServerPreferredAddressConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FixedServerPreferredAddressConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FixedServerPreferredAddressConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FixedServerPreferredAddressConfigValidationError) ErrorName() string { return "FixedServerPreferredAddressConfigValidationError" } // Error satisfies the builtin error interface func (e FixedServerPreferredAddressConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFixedServerPreferredAddressConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FixedServerPreferredAddressConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FixedServerPreferredAddressConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/rate_limit_descriptors/000077500000000000000000000000001454502223200250625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rate_limit_descriptors/expr/000077500000000000000000000000001454502223200260405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rate_limit_descriptors/expr/v3/000077500000000000000000000000001454502223200263705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rate_limit_descriptors/expr/v3/expr.pb.go000077500000000000000000000252621454502223200303070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/rate_limit_descriptors/expr/v3/expr.proto package exprv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" v1alpha1 "google.golang.org/genproto/googleapis/api/expr/v1alpha1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The following descriptor entry is appended with a value computed // from a symbolic Common Expression Language expression. // See :ref:`attributes ` for the set of // available attributes. // // .. code-block:: cpp // // ("", "") type Descriptor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to use in the descriptor entry. DescriptorKey string `protobuf:"bytes,1,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // If set to true, Envoy skips the descriptor if the expression evaluates to an error. // By default, the rate limit is not applied when an expression produces an error. SkipIfError bool `protobuf:"varint,2,opt,name=skip_if_error,json=skipIfError,proto3" json:"skip_if_error,omitempty"` // Types that are assignable to ExprSpecifier: // // *Descriptor_Text // *Descriptor_Parsed ExprSpecifier isDescriptor_ExprSpecifier `protobuf_oneof:"expr_specifier"` } func (x *Descriptor) Reset() { *x = Descriptor{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Descriptor) String() string { return protoimpl.X.MessageStringOf(x) } func (*Descriptor) ProtoMessage() {} func (x *Descriptor) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Descriptor.ProtoReflect.Descriptor instead. func (*Descriptor) Descriptor() ([]byte, []int) { return file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescGZIP(), []int{0} } func (x *Descriptor) GetDescriptorKey() string { if x != nil { return x.DescriptorKey } return "" } func (x *Descriptor) GetSkipIfError() bool { if x != nil { return x.SkipIfError } return false } func (m *Descriptor) GetExprSpecifier() isDescriptor_ExprSpecifier { if m != nil { return m.ExprSpecifier } return nil } func (x *Descriptor) GetText() string { if x, ok := x.GetExprSpecifier().(*Descriptor_Text); ok { return x.Text } return "" } func (x *Descriptor) GetParsed() *v1alpha1.Expr { if x, ok := x.GetExprSpecifier().(*Descriptor_Parsed); ok { return x.Parsed } return nil } type isDescriptor_ExprSpecifier interface { isDescriptor_ExprSpecifier() } type Descriptor_Text struct { // Expression in a text form, e.g. "connection.requested_server_name". Text string `protobuf:"bytes,3,opt,name=text,proto3,oneof"` } type Descriptor_Parsed struct { // Parsed expression in AST form. Parsed *v1alpha1.Expr `protobuf:"bytes,4,opt,name=parsed,proto3,oneof"` } func (*Descriptor_Text) isDescriptor_ExprSpecifier() {} func (*Descriptor_Parsed) isDescriptor_ExprSpecifier() {} var File_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto protoreflect.FileDescriptor var file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x45, 0x78, 0x70, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x70, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescOnce sync.Once file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescData = file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDesc ) func file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescGZIP() []byte { file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescOnce.Do(func() { file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescData) }) return file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDescData } var file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_goTypes = []interface{}{ (*Descriptor)(nil), // 0: envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor (*v1alpha1.Expr)(nil), // 1: google.api.expr.v1alpha1.Expr } var file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor.parsed:type_name -> google.api.expr.v1alpha1.Expr 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_init() } func file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_init() { if File_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Descriptor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Descriptor_Text)(nil), (*Descriptor_Parsed)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_goTypes, DependencyIndexes: file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_depIdxs, MessageInfos: file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_msgTypes, }.Build() File_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto = out.File file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_rawDesc = nil file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_goTypes = nil file_envoy_extensions_rate_limit_descriptors_expr_v3_expr_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/rate_limit_descriptors/expr/v3/expr.pb.validate.go000077500000000000000000000117771454502223200321050ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/rate_limit_descriptors/expr/v3/expr.proto package exprv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Descriptor with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Descriptor) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Descriptor with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DescriptorMultiError, or // nil if none found. func (m *Descriptor) ValidateAll() error { return m.validate(true) } func (m *Descriptor) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDescriptorKey()) < 1 { err := DescriptorValidationError{ field: "DescriptorKey", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for SkipIfError switch v := m.ExprSpecifier.(type) { case *Descriptor_Text: if v == nil { err := DescriptorValidationError{ field: "ExprSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(m.GetText()) < 1 { err := DescriptorValidationError{ field: "Text", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *Descriptor_Parsed: if v == nil { err := DescriptorValidationError{ field: "ExprSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetParsed()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DescriptorValidationError{ field: "Parsed", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DescriptorValidationError{ field: "Parsed", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetParsed()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DescriptorValidationError{ field: "Parsed", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return DescriptorMultiError(errors) } return nil } // DescriptorMultiError is an error wrapping multiple validation errors // returned by Descriptor.ValidateAll() if the designated constraints aren't met. type DescriptorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DescriptorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DescriptorMultiError) AllErrors() []error { return m } // DescriptorValidationError is the validation error returned by // Descriptor.Validate if the designated constraints aren't met. type DescriptorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DescriptorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DescriptorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DescriptorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DescriptorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DescriptorValidationError) ErrorName() string { return "DescriptorValidationError" } // Error satisfies the builtin error interface func (e DescriptorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDescriptor.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DescriptorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DescriptorValidationError{} go-control-plane-0.12.0/envoy/extensions/rbac/000077500000000000000000000000001454502223200212175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/audit_loggers/000077500000000000000000000000001454502223200240475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/audit_loggers/stream/000077500000000000000000000000001454502223200253425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/audit_loggers/stream/v3/000077500000000000000000000000001454502223200256725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/audit_loggers/stream/v3/stream.pb.go000077500000000000000000000157201454502223200301240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/rbac/audit_loggers/stream/v3/stream.proto package streamv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Custom configuration for the RBAC audit logger that writes log entries // directly to the operating system's standard output. // The logger outputs in JSON format and is currently not configurable. type StdoutAuditLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StdoutAuditLog) Reset() { *x = StdoutAuditLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StdoutAuditLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*StdoutAuditLog) ProtoMessage() {} func (x *StdoutAuditLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StdoutAuditLog.ProtoReflect.Descriptor instead. func (*StdoutAuditLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto protoreflect.FileDescriptor var file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDesc = []byte{ 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0xb3, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescOnce sync.Once file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescData = file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDesc ) func file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescGZIP() []byte { file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescOnce.Do(func() { file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescData) }) return file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDescData } var file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_goTypes = []interface{}{ (*StdoutAuditLog)(nil), // 0: envoy.extensions.rbac.audit_loggers.stream.v3.StdoutAuditLog } var file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_init() } func file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_init() { if File_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StdoutAuditLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_goTypes, DependencyIndexes: file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_depIdxs, MessageInfos: file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_msgTypes, }.Build() File_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto = out.File file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_rawDesc = nil file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_goTypes = nil file_envoy_extensions_rbac_audit_loggers_stream_v3_stream_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/rbac/audit_loggers/stream/v3/stream.pb.validate.go000077500000000000000000000064051454502223200317140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/rbac/audit_loggers/stream/v3/stream.proto package streamv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StdoutAuditLog with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StdoutAuditLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StdoutAuditLog with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StdoutAuditLogMultiError, // or nil if none found. func (m *StdoutAuditLog) ValidateAll() error { return m.validate(true) } func (m *StdoutAuditLog) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StdoutAuditLogMultiError(errors) } return nil } // StdoutAuditLogMultiError is an error wrapping multiple validation errors // returned by StdoutAuditLog.ValidateAll() if the designated constraints // aren't met. type StdoutAuditLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StdoutAuditLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StdoutAuditLogMultiError) AllErrors() []error { return m } // StdoutAuditLogValidationError is the validation error returned by // StdoutAuditLog.Validate if the designated constraints aren't met. type StdoutAuditLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StdoutAuditLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StdoutAuditLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StdoutAuditLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StdoutAuditLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StdoutAuditLogValidationError) ErrorName() string { return "StdoutAuditLogValidationError" } // Error satisfies the builtin error interface func (e StdoutAuditLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStdoutAuditLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StdoutAuditLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StdoutAuditLogValidationError{} go-control-plane-0.12.0/envoy/extensions/rbac/matchers/000077500000000000000000000000001454502223200230255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/matchers/upstream_ip_port/000077500000000000000000000000001454502223200264215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/matchers/upstream_ip_port/v3/000077500000000000000000000000001454502223200267515ustar00rootroot00000000000000upstream_ip_port_matcher.pb.go000077500000000000000000000260071454502223200347300ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/matchers/upstream_ip_port/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/rbac/matchers/upstream_ip_port/v3/upstream_ip_port_matcher.proto package upstream_ip_portv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is configuration for matching upstream ip and port. // Note that although both fields are optional, at least one of IP or port must be supplied. If only // one is supplied the other is a wildcard match. // This matcher requires a filter in the chain to have saved the upstream address in the // filter state before the matcher is executed by RBAC filter. The state should be saved with key // “envoy.stream.upstream_address“ (See // :repo:`upstream_address.h`). // Also, See :repo:`proxy_filter.cc` // for an example of a filter which populates the FilterState. type UpstreamIpPortMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A CIDR block that will be used to match the upstream IP. // Both Ipv4 and Ipv6 ranges can be matched. UpstreamIp *v3.CidrRange `protobuf:"bytes,1,opt,name=upstream_ip,json=upstreamIp,proto3" json:"upstream_ip,omitempty"` // A port range that will be used to match the upstream port. UpstreamPortRange *v31.Int64Range `protobuf:"bytes,2,opt,name=upstream_port_range,json=upstreamPortRange,proto3" json:"upstream_port_range,omitempty"` } func (x *UpstreamIpPortMatcher) Reset() { *x = UpstreamIpPortMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamIpPortMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamIpPortMatcher) ProtoMessage() {} func (x *UpstreamIpPortMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamIpPortMatcher.ProtoReflect.Descriptor instead. func (*UpstreamIpPortMatcher) Descriptor() ([]byte, []int) { return file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescGZIP(), []int{0} } func (x *UpstreamIpPortMatcher) GetUpstreamIp() *v3.CidrRange { if x != nil { return x.UpstreamIp } return nil } func (x *UpstreamIpPortMatcher) GetUpstreamPortRange() *v31.Int64Range { if x != nil { return x.UpstreamPortRange } return nil } var File_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto protoreflect.FileDescriptor var file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDesc = []byte{ 0x0a, 0x51, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x70, 0x12, 0x49, 0x0a, 0x13, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0xd6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x62, 0x61, 0x63, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x62, 0x61, 0x63, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescOnce sync.Once file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescData = file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDesc ) func file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescGZIP() []byte { file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescOnce.Do(func() { file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescData) }) return file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDescData } var file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_goTypes = []interface{}{ (*UpstreamIpPortMatcher)(nil), // 0: envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher (*v3.CidrRange)(nil), // 1: envoy.config.core.v3.CidrRange (*v31.Int64Range)(nil), // 2: envoy.type.v3.Int64Range } var file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher.upstream_ip:type_name -> envoy.config.core.v3.CidrRange 2, // 1: envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher.upstream_port_range:type_name -> envoy.type.v3.Int64Range 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_init() } func file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_init() { if File_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamIpPortMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_goTypes, DependencyIndexes: file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_depIdxs, MessageInfos: file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_msgTypes, }.Build() File_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto = out.File file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_rawDesc = nil file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_goTypes = nil file_envoy_extensions_rbac_matchers_upstream_ip_port_v3_upstream_ip_port_matcher_proto_depIdxs = nil } upstream_ip_port_matcher.pb.validate.go000077500000000000000000000122611454502223200365150ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/rbac/matchers/upstream_ip_port/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/rbac/matchers/upstream_ip_port/v3/upstream_ip_port_matcher.proto package upstream_ip_portv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamIpPortMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamIpPortMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamIpPortMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamIpPortMatcherMultiError, or nil if none found. func (m *UpstreamIpPortMatcher) ValidateAll() error { return m.validate(true) } func (m *UpstreamIpPortMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetUpstreamIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamIpPortMatcherValidationError{ field: "UpstreamIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamIpPortMatcherValidationError{ field: "UpstreamIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamIpPortMatcherValidationError{ field: "UpstreamIp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamPortRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamIpPortMatcherValidationError{ field: "UpstreamPortRange", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamIpPortMatcherValidationError{ field: "UpstreamPortRange", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamPortRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamIpPortMatcherValidationError{ field: "UpstreamPortRange", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamIpPortMatcherMultiError(errors) } return nil } // UpstreamIpPortMatcherMultiError is an error wrapping multiple validation // errors returned by UpstreamIpPortMatcher.ValidateAll() if the designated // constraints aren't met. type UpstreamIpPortMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamIpPortMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamIpPortMatcherMultiError) AllErrors() []error { return m } // UpstreamIpPortMatcherValidationError is the validation error returned by // UpstreamIpPortMatcher.Validate if the designated constraints aren't met. type UpstreamIpPortMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamIpPortMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamIpPortMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamIpPortMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamIpPortMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamIpPortMatcherValidationError) ErrorName() string { return "UpstreamIpPortMatcherValidationError" } // Error satisfies the builtin error interface func (e UpstreamIpPortMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamIpPortMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamIpPortMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamIpPortMatcherValidationError{} go-control-plane-0.12.0/envoy/extensions/regex_engines/000077500000000000000000000000001454502223200231325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/regex_engines/v3/000077500000000000000000000000001454502223200234625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/regex_engines/v3/google_re2.pb.go000077500000000000000000000154371454502223200264520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/regex_engines/v3/google_re2.proto package regex_enginesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Google's `RE2 `_ regex engine. The regex string must adhere to // the documented `syntax `_. The engine is designed // to complete execution in linear time as well as limit the amount of memory used. // // Envoy emits two stats for tracking the program size of regexes: the histogram “re2.program_size“, // which records the program size, and the counter “re2.exceeded_warn_level“, which is incremented // each time the program size exceeds the warn level threshold. type GoogleRE2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GoogleRE2) Reset() { *x = GoogleRE2{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_regex_engines_v3_google_re2_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GoogleRE2) String() string { return protoimpl.X.MessageStringOf(x) } func (*GoogleRE2) ProtoMessage() {} func (x *GoogleRE2) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_regex_engines_v3_google_re2_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GoogleRE2.ProtoReflect.Descriptor instead. func (*GoogleRE2) Descriptor() ([]byte, []int) { return file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_regex_engines_v3_google_re2_proto protoreflect.FileDescriptor var file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescOnce sync.Once file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescData = file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDesc ) func file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescGZIP() []byte { file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescOnce.Do(func() { file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescData) }) return file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDescData } var file_envoy_extensions_regex_engines_v3_google_re2_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_regex_engines_v3_google_re2_proto_goTypes = []interface{}{ (*GoogleRE2)(nil), // 0: envoy.extensions.regex_engines.v3.GoogleRE2 } var file_envoy_extensions_regex_engines_v3_google_re2_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_regex_engines_v3_google_re2_proto_init() } func file_envoy_extensions_regex_engines_v3_google_re2_proto_init() { if File_envoy_extensions_regex_engines_v3_google_re2_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_regex_engines_v3_google_re2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GoogleRE2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_regex_engines_v3_google_re2_proto_goTypes, DependencyIndexes: file_envoy_extensions_regex_engines_v3_google_re2_proto_depIdxs, MessageInfos: file_envoy_extensions_regex_engines_v3_google_re2_proto_msgTypes, }.Build() File_envoy_extensions_regex_engines_v3_google_re2_proto = out.File file_envoy_extensions_regex_engines_v3_google_re2_proto_rawDesc = nil file_envoy_extensions_regex_engines_v3_google_re2_proto_goTypes = nil file_envoy_extensions_regex_engines_v3_google_re2_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/regex_engines/v3/google_re2.pb.validate.go000077500000000000000000000062041454502223200302320ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/regex_engines/v3/google_re2.proto package regex_enginesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GoogleRE2 with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GoogleRE2) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GoogleRE2 with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GoogleRE2MultiError, or nil // if none found. func (m *GoogleRE2) ValidateAll() error { return m.validate(true) } func (m *GoogleRE2) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GoogleRE2MultiError(errors) } return nil } // GoogleRE2MultiError is an error wrapping multiple validation errors returned // by GoogleRE2.ValidateAll() if the designated constraints aren't met. type GoogleRE2MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GoogleRE2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GoogleRE2MultiError) AllErrors() []error { return m } // GoogleRE2ValidationError is the validation error returned by // GoogleRE2.Validate if the designated constraints aren't met. type GoogleRE2ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GoogleRE2ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GoogleRE2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GoogleRE2ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GoogleRE2ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GoogleRE2ValidationError) ErrorName() string { return "GoogleRE2ValidationError" } // Error satisfies the builtin error interface func (e GoogleRE2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGoogleRE2.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GoogleRE2ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GoogleRE2ValidationError{} go-control-plane-0.12.0/envoy/extensions/request_id/000077500000000000000000000000001454502223200224545ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/request_id/uuid/000077500000000000000000000000001454502223200234225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/request_id/uuid/v3/000077500000000000000000000000001454502223200237525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/request_id/uuid/v3/uuid.pb.go000077500000000000000000000241441454502223200256570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/request_id/uuid/v3/uuid.proto package uuidv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the default UUID request ID extension which has the following behavior: // // 1. Request ID is propagated using the :ref:`x-request-id // ` header. // // 2. Request ID is a universally unique identifier `(UUID4) // `_. // // 3. Tracing decision (sampled, forced, etc) is set in 14th nibble of the UUID. By default this will // overwrite existing UUIDs received in the “x-request-id“ header if the trace sampling decision // is changed. The 14th nibble of the UUID4 has been chosen because it is fixed to '4' by the // standard. Thus, '4' indicates a default UUID and no trace status. This nibble is swapped to: // // a. '9': Sampled. // b. 'a': Force traced due to server-side override. // c. 'b': Force traced due to client-side request ID joining. // // See the :ref:`x-request-id ` documentation for // more information. type UuidRequestIdConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether the implementation alters the UUID to contain the trace sampling decision as per the // “UuidRequestIdConfig“ message documentation. This defaults to true. If disabled no // modification to the UUID will be performed. It is important to note that if disabled, // stable sampling of traces, access logs, etc. will no longer work and only random sampling will // be possible. PackTraceReason *wrappers.BoolValue `protobuf:"bytes,1,opt,name=pack_trace_reason,json=packTraceReason,proto3" json:"pack_trace_reason,omitempty"` // Set whether to use :ref:`x-request-id` for sampling or not. // This defaults to true. See the :ref:`context propagation ` // overview for more information. UseRequestIdForTraceSampling *wrappers.BoolValue `protobuf:"bytes,2,opt,name=use_request_id_for_trace_sampling,json=useRequestIdForTraceSampling,proto3" json:"use_request_id_for_trace_sampling,omitempty"` } func (x *UuidRequestIdConfig) Reset() { *x = UuidRequestIdConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_request_id_uuid_v3_uuid_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UuidRequestIdConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UuidRequestIdConfig) ProtoMessage() {} func (x *UuidRequestIdConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_request_id_uuid_v3_uuid_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UuidRequestIdConfig.ProtoReflect.Descriptor instead. func (*UuidRequestIdConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescGZIP(), []int{0} } func (x *UuidRequestIdConfig) GetPackTraceReason() *wrappers.BoolValue { if x != nil { return x.PackTraceReason } return nil } func (x *UuidRequestIdConfig) GetUseRequestIdForTraceSampling() *wrappers.BoolValue { if x != nil { return x.UseRequestIdForTraceSampling } return nil } var File_envoy_extensions_request_id_uuid_v3_uuid_proto protoreflect.FileDescriptor var file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x2f, 0x75, 0x75, 0x69, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x75, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x13, 0x55, 0x75, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x21, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x9b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x55, 0x75, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x2f, 0x75, 0x75, 0x69, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x75, 0x69, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescOnce sync.Once file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescData = file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDesc ) func file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescGZIP() []byte { file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescOnce.Do(func() { file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescData) }) return file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDescData } var file_envoy_extensions_request_id_uuid_v3_uuid_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_request_id_uuid_v3_uuid_proto_goTypes = []interface{}{ (*UuidRequestIdConfig)(nil), // 0: envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig (*wrappers.BoolValue)(nil), // 1: google.protobuf.BoolValue } var file_envoy_extensions_request_id_uuid_v3_uuid_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig.pack_trace_reason:type_name -> google.protobuf.BoolValue 1, // 1: envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig.use_request_id_for_trace_sampling:type_name -> google.protobuf.BoolValue 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_request_id_uuid_v3_uuid_proto_init() } func file_envoy_extensions_request_id_uuid_v3_uuid_proto_init() { if File_envoy_extensions_request_id_uuid_v3_uuid_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_request_id_uuid_v3_uuid_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UuidRequestIdConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_request_id_uuid_v3_uuid_proto_goTypes, DependencyIndexes: file_envoy_extensions_request_id_uuid_v3_uuid_proto_depIdxs, MessageInfos: file_envoy_extensions_request_id_uuid_v3_uuid_proto_msgTypes, }.Build() File_envoy_extensions_request_id_uuid_v3_uuid_proto = out.File file_envoy_extensions_request_id_uuid_v3_uuid_proto_rawDesc = nil file_envoy_extensions_request_id_uuid_v3_uuid_proto_goTypes = nil file_envoy_extensions_request_id_uuid_v3_uuid_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/request_id/uuid/v3/uuid.pb.validate.go000077500000000000000000000122241454502223200274430ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/request_id/uuid/v3/uuid.proto package uuidv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UuidRequestIdConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UuidRequestIdConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UuidRequestIdConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UuidRequestIdConfigMultiError, or nil if none found. func (m *UuidRequestIdConfig) ValidateAll() error { return m.validate(true) } func (m *UuidRequestIdConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPackTraceReason()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UuidRequestIdConfigValidationError{ field: "PackTraceReason", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UuidRequestIdConfigValidationError{ field: "PackTraceReason", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPackTraceReason()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UuidRequestIdConfigValidationError{ field: "PackTraceReason", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUseRequestIdForTraceSampling()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UuidRequestIdConfigValidationError{ field: "UseRequestIdForTraceSampling", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UuidRequestIdConfigValidationError{ field: "UseRequestIdForTraceSampling", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseRequestIdForTraceSampling()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UuidRequestIdConfigValidationError{ field: "UseRequestIdForTraceSampling", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UuidRequestIdConfigMultiError(errors) } return nil } // UuidRequestIdConfigMultiError is an error wrapping multiple validation // errors returned by UuidRequestIdConfig.ValidateAll() if the designated // constraints aren't met. type UuidRequestIdConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UuidRequestIdConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UuidRequestIdConfigMultiError) AllErrors() []error { return m } // UuidRequestIdConfigValidationError is the validation error returned by // UuidRequestIdConfig.Validate if the designated constraints aren't met. type UuidRequestIdConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UuidRequestIdConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UuidRequestIdConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UuidRequestIdConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UuidRequestIdConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UuidRequestIdConfigValidationError) ErrorName() string { return "UuidRequestIdConfigValidationError" } // Error satisfies the builtin error interface func (e UuidRequestIdConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUuidRequestIdConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UuidRequestIdConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UuidRequestIdConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/resource_monitors/000077500000000000000000000000001454502223200240715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/downstream_connections/000077500000000000000000000000001454502223200306565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/downstream_connections/v3/000077500000000000000000000000001454502223200312065ustar00rootroot00000000000000downstream_connections.pb.go000077500000000000000000000242241454502223200366520ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/downstream_connections/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/resource_monitors/downstream_connections/v3/downstream_connections.proto package downstream_connectionsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The downstream connections resource monitor tracks the global number of open downstream connections. type DownstreamConnectionsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum threshold for global open downstream connections, defaults to 0. // If monitor is enabled in Overload manager api, this field should be explicitly configured with value greater than 0. MaxActiveDownstreamConnections int64 `protobuf:"varint,1,opt,name=max_active_downstream_connections,json=maxActiveDownstreamConnections,proto3" json:"max_active_downstream_connections,omitempty"` } func (x *DownstreamConnectionsConfig) Reset() { *x = DownstreamConnectionsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DownstreamConnectionsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DownstreamConnectionsConfig) ProtoMessage() {} func (x *DownstreamConnectionsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DownstreamConnectionsConfig.ProtoReflect.Descriptor instead. func (*DownstreamConnectionsConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescGZIP(), []int{0} } func (x *DownstreamConnectionsConfig) GetMaxActiveDownstreamConnections() int64 { if x != nil { return x.MaxActiveDownstreamConnections } return 0 } var File_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto protoreflect.FileDescriptor var file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDesc = []byte{ 0x0a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x1b, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x21, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x1e, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xf8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x7c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescOnce sync.Once file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescData = file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDesc ) func file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescGZIP() []byte { file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescOnce.Do(func() { file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescData) }) return file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDescData } var file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_goTypes = []interface{}{ (*DownstreamConnectionsConfig)(nil), // 0: envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig } var file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_init() } func file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_init() { if File_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DownstreamConnectionsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_goTypes, DependencyIndexes: file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_depIdxs, MessageInfos: file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_msgTypes, }.Build() File_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto = out.File file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_rawDesc = nil file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_goTypes = nil file_envoy_extensions_resource_monitors_downstream_connections_v3_downstream_connections_proto_depIdxs = nil } downstream_connections.pb.validate.go000077500000000000000000000076001454502223200404410ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/downstream_connections/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/resource_monitors/downstream_connections/v3/downstream_connections.proto package downstream_connectionsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DownstreamConnectionsConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DownstreamConnectionsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DownstreamConnectionsConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DownstreamConnectionsConfigMultiError, or nil if none found. func (m *DownstreamConnectionsConfig) ValidateAll() error { return m.validate(true) } func (m *DownstreamConnectionsConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxActiveDownstreamConnections() <= 0 { err := DownstreamConnectionsConfigValidationError{ field: "MaxActiveDownstreamConnections", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DownstreamConnectionsConfigMultiError(errors) } return nil } // DownstreamConnectionsConfigMultiError is an error wrapping multiple // validation errors returned by DownstreamConnectionsConfig.ValidateAll() if // the designated constraints aren't met. type DownstreamConnectionsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DownstreamConnectionsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DownstreamConnectionsConfigMultiError) AllErrors() []error { return m } // DownstreamConnectionsConfigValidationError is the validation error returned // by DownstreamConnectionsConfig.Validate if the designated constraints // aren't met. type DownstreamConnectionsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DownstreamConnectionsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DownstreamConnectionsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DownstreamConnectionsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DownstreamConnectionsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DownstreamConnectionsConfigValidationError) ErrorName() string { return "DownstreamConnectionsConfigValidationError" } // Error satisfies the builtin error interface func (e DownstreamConnectionsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDownstreamConnectionsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DownstreamConnectionsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DownstreamConnectionsConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/resource_monitors/fixed_heap/000077500000000000000000000000001454502223200261655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/fixed_heap/v3/000077500000000000000000000000001454502223200265155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/fixed_heap/v3/fixed_heap.pb.go000077500000000000000000000214121454502223200315430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/resource_monitors/fixed_heap/v3/fixed_heap.proto package fixed_heapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The fixed heap resource monitor reports the Envoy process memory pressure, computed as a // fraction of currently reserved heap memory divided by a statically configured maximum // specified in the FixedHeapConfig. type FixedHeapConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MaxHeapSizeBytes uint64 `protobuf:"varint,1,opt,name=max_heap_size_bytes,json=maxHeapSizeBytes,proto3" json:"max_heap_size_bytes,omitempty"` } func (x *FixedHeapConfig) Reset() { *x = FixedHeapConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FixedHeapConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*FixedHeapConfig) ProtoMessage() {} func (x *FixedHeapConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FixedHeapConfig.ProtoReflect.Descriptor instead. func (*FixedHeapConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescGZIP(), []int{0} } func (x *FixedHeapConfig) GetMaxHeapSizeBytes() uint64 { if x != nil { return x.MaxHeapSizeBytes } return 0 } var File_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto protoreflect.FileDescriptor var file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x78, 0x65, 0x64, 0x48, 0x65, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x48, 0x65, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescOnce sync.Once file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescData = file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDesc ) func file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescGZIP() []byte { file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescOnce.Do(func() { file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescData) }) return file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDescData } var file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_goTypes = []interface{}{ (*FixedHeapConfig)(nil), // 0: envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig } var file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_init() } func file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_init() { if File_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixedHeapConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_goTypes, DependencyIndexes: file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_depIdxs, MessageInfos: file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_msgTypes, }.Build() File_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto = out.File file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_rawDesc = nil file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_goTypes = nil file_envoy_extensions_resource_monitors_fixed_heap_v3_fixed_heap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/resource_monitors/fixed_heap/v3/fixed_heap.pb.validate.go000077500000000000000000000070041454502223200333340ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/resource_monitors/fixed_heap/v3/fixed_heap.proto package fixed_heapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FixedHeapConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FixedHeapConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FixedHeapConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FixedHeapConfigMultiError, or nil if none found. func (m *FixedHeapConfig) ValidateAll() error { return m.validate(true) } func (m *FixedHeapConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxHeapSizeBytes() <= 0 { err := FixedHeapConfigValidationError{ field: "MaxHeapSizeBytes", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FixedHeapConfigMultiError(errors) } return nil } // FixedHeapConfigMultiError is an error wrapping multiple validation errors // returned by FixedHeapConfig.ValidateAll() if the designated constraints // aren't met. type FixedHeapConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FixedHeapConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FixedHeapConfigMultiError) AllErrors() []error { return m } // FixedHeapConfigValidationError is the validation error returned by // FixedHeapConfig.Validate if the designated constraints aren't met. type FixedHeapConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FixedHeapConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FixedHeapConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FixedHeapConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FixedHeapConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FixedHeapConfigValidationError) ErrorName() string { return "FixedHeapConfigValidationError" } // Error satisfies the builtin error interface func (e FixedHeapConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFixedHeapConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FixedHeapConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FixedHeapConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/resource_monitors/injected_resource/000077500000000000000000000000001454502223200275655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/injected_resource/v3/000077500000000000000000000000001454502223200301155ustar00rootroot00000000000000injected_resource.pb.go000077500000000000000000000231771454502223200344760ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/injected_resource/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/resource_monitors/injected_resource/v3/injected_resource.proto package injected_resourcev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // The injected resource monitor allows injecting a synthetic resource pressure into Envoy // via a text file, which must contain a floating-point number in the range [0..1] representing // the resource pressure and be updated atomically by a symbolic link swap. // This is intended primarily for integration tests to force Envoy into an overloaded state. type InjectedResourceConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` } func (x *InjectedResourceConfig) Reset() { *x = InjectedResourceConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InjectedResourceConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*InjectedResourceConfig) ProtoMessage() {} func (x *InjectedResourceConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InjectedResourceConfig.ProtoReflect.Descriptor instead. func (*InjectedResourceConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescGZIP(), []int{0} } func (x *InjectedResourceConfig) GetFilename() string { if x != nil { return x.Filename } return "" } var File_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto protoreflect.FileDescriptor var file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x55, 0x9a, 0xc5, 0x88, 0x1e, 0x50, 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xdc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescOnce sync.Once file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescData = file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDesc ) func file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescGZIP() []byte { file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescOnce.Do(func() { file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescData) }) return file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDescData } var file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_goTypes = []interface{}{ (*InjectedResourceConfig)(nil), // 0: envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig } var file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_init() } func file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_init() { if File_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InjectedResourceConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_goTypes, DependencyIndexes: file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_depIdxs, MessageInfos: file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_msgTypes, }.Build() File_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto = out.File file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_rawDesc = nil file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_goTypes = nil file_envoy_extensions_resource_monitors_injected_resource_v3_injected_resource_proto_depIdxs = nil } injected_resource.pb.validate.go000077500000000000000000000073401454502223200362600ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/resource_monitors/injected_resource/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/resource_monitors/injected_resource/v3/injected_resource.proto package injected_resourcev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on InjectedResourceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *InjectedResourceConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on InjectedResourceConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // InjectedResourceConfigMultiError, or nil if none found. func (m *InjectedResourceConfig) ValidateAll() error { return m.validate(true) } func (m *InjectedResourceConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetFilename()) < 1 { err := InjectedResourceConfigValidationError{ field: "Filename", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return InjectedResourceConfigMultiError(errors) } return nil } // InjectedResourceConfigMultiError is an error wrapping multiple validation // errors returned by InjectedResourceConfig.ValidateAll() if the designated // constraints aren't met. type InjectedResourceConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InjectedResourceConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InjectedResourceConfigMultiError) AllErrors() []error { return m } // InjectedResourceConfigValidationError is the validation error returned by // InjectedResourceConfig.Validate if the designated constraints aren't met. type InjectedResourceConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InjectedResourceConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InjectedResourceConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InjectedResourceConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InjectedResourceConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InjectedResourceConfigValidationError) ErrorName() string { return "InjectedResourceConfigValidationError" } // Error satisfies the builtin error interface func (e InjectedResourceConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInjectedResourceConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InjectedResourceConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InjectedResourceConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/retry/000077500000000000000000000000001454502223200214555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/000077500000000000000000000000001454502223200224325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_canary_hosts/000077500000000000000000000000001454502223200261575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_canary_hosts/v3/000077500000000000000000000000001454502223200265075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.pb.go000077500000000000000000000203511454502223200331670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto package omit_canary_hostsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type OmitCanaryHostsPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OmitCanaryHostsPredicate) Reset() { *x = OmitCanaryHostsPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OmitCanaryHostsPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OmitCanaryHostsPredicate) ProtoMessage() {} func (x *OmitCanaryHostsPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OmitCanaryHostsPredicate.ProtoReflect.Descriptor instead. func (*OmitCanaryHostsPredicate) Descriptor() ([]byte, []int) { return file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto protoreflect.FileDescriptor var file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x18, 0x4f, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0xcd, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x4f, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescOnce sync.Once file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescData = file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDesc ) func file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescGZIP() []byte { file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescOnce.Do(func() { file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescData) }) return file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDescData } var file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_goTypes = []interface{}{ (*OmitCanaryHostsPredicate)(nil), // 0: envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate } var file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_init() } func file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_init() { if File_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OmitCanaryHostsPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_goTypes, DependencyIndexes: file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_depIdxs, MessageInfos: file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_msgTypes, }.Build() File_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto = out.File file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_rawDesc = nil file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_goTypes = nil file_envoy_extensions_retry_host_omit_canary_hosts_v3_omit_canary_hosts_proto_depIdxs = nil } omit_canary_hosts.pb.validate.go000077500000000000000000000070311454502223200347000ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_canary_hosts/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto package omit_canary_hostsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OmitCanaryHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OmitCanaryHostsPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OmitCanaryHostsPredicate with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OmitCanaryHostsPredicateMultiError, or nil if none found. func (m *OmitCanaryHostsPredicate) ValidateAll() error { return m.validate(true) } func (m *OmitCanaryHostsPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return OmitCanaryHostsPredicateMultiError(errors) } return nil } // OmitCanaryHostsPredicateMultiError is an error wrapping multiple validation // errors returned by OmitCanaryHostsPredicate.ValidateAll() if the designated // constraints aren't met. type OmitCanaryHostsPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OmitCanaryHostsPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OmitCanaryHostsPredicateMultiError) AllErrors() []error { return m } // OmitCanaryHostsPredicateValidationError is the validation error returned by // OmitCanaryHostsPredicate.Validate if the designated constraints aren't met. type OmitCanaryHostsPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OmitCanaryHostsPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OmitCanaryHostsPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OmitCanaryHostsPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OmitCanaryHostsPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OmitCanaryHostsPredicateValidationError) ErrorName() string { return "OmitCanaryHostsPredicateValidationError" } // Error satisfies the builtin error interface func (e OmitCanaryHostsPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOmitCanaryHostsPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OmitCanaryHostsPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OmitCanaryHostsPredicateValidationError{} go-control-plane-0.12.0/envoy/extensions/retry/host/omit_host_metadata/000077500000000000000000000000001454502223200262775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_host_metadata/v3/000077500000000000000000000000001454502223200266275ustar00rootroot00000000000000omit_host_metadata_config.pb.go000077500000000000000000000241641454502223200347030ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_host_metadata/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/retry/host/omit_host_metadata/v3/omit_host_metadata_config.proto package omit_host_metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A retry host predicate that can be used to reject a host based on // predefined metadata match criteria. // [#extension: envoy.retry_host_predicates.omit_host_metadata] type OmitHostMetadataConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Retry host predicate metadata match criteria. The hosts in // the upstream cluster with matching metadata will be omitted while // attempting a retry of a failed request. The metadata should be specified // under the “envoy.lb“ key. MetadataMatch *v3.Metadata `protobuf:"bytes,1,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"` } func (x *OmitHostMetadataConfig) Reset() { *x = OmitHostMetadataConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OmitHostMetadataConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OmitHostMetadataConfig) ProtoMessage() {} func (x *OmitHostMetadataConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OmitHostMetadataConfig.ProtoReflect.Descriptor instead. func (*OmitHostMetadataConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescGZIP(), []int{0} } func (x *OmitHostMetadataConfig) GetMetadataMatch() *v3.Metadata { if x != nil { return x.MetadataMatch } return nil } var File_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto protoreflect.FileDescriptor var file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDesc = []byte{ 0x0a, 0x51, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x4f, 0x6d, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x6d, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xd7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x1b, 0x4f, 0x6d, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescOnce sync.Once file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescData = file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDesc ) func file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescGZIP() []byte { file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescData) }) return file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDescData } var file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_goTypes = []interface{}{ (*OmitHostMetadataConfig)(nil), // 0: envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig (*v3.Metadata)(nil), // 1: envoy.config.core.v3.Metadata } var file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig.metadata_match:type_name -> envoy.config.core.v3.Metadata 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_init() } func file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_init() { if File_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OmitHostMetadataConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_depIdxs, MessageInfos: file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_msgTypes, }.Build() File_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto = out.File file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_rawDesc = nil file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_goTypes = nil file_envoy_extensions_retry_host_omit_host_metadata_v3_omit_host_metadata_config_proto_depIdxs = nil } omit_host_metadata_config.pb.validate.go000077500000000000000000000105371454502223200364720ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/omit_host_metadata/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/retry/host/omit_host_metadata/v3/omit_host_metadata_config.proto package omit_host_metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on OmitHostMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *OmitHostMetadataConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OmitHostMetadataConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // OmitHostMetadataConfigMultiError, or nil if none found. func (m *OmitHostMetadataConfig) ValidateAll() error { return m.validate(true) } func (m *OmitHostMetadataConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMetadataMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OmitHostMetadataConfigValidationError{ field: "MetadataMatch", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return OmitHostMetadataConfigMultiError(errors) } return nil } // OmitHostMetadataConfigMultiError is an error wrapping multiple validation // errors returned by OmitHostMetadataConfig.ValidateAll() if the designated // constraints aren't met. type OmitHostMetadataConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OmitHostMetadataConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OmitHostMetadataConfigMultiError) AllErrors() []error { return m } // OmitHostMetadataConfigValidationError is the validation error returned by // OmitHostMetadataConfig.Validate if the designated constraints aren't met. type OmitHostMetadataConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OmitHostMetadataConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OmitHostMetadataConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OmitHostMetadataConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OmitHostMetadataConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OmitHostMetadataConfigValidationError) ErrorName() string { return "OmitHostMetadataConfigValidationError" } // Error satisfies the builtin error interface func (e OmitHostMetadataConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOmitHostMetadataConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OmitHostMetadataConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OmitHostMetadataConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/retry/host/previous_hosts/000077500000000000000000000000001454502223200255265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/previous_hosts/v3/000077500000000000000000000000001454502223200260565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.pb.go000077500000000000000000000175731454502223200321210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto package previous_hostsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PreviousHostsPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PreviousHostsPredicate) Reset() { *x = PreviousHostsPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreviousHostsPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreviousHostsPredicate) ProtoMessage() {} func (x *PreviousHostsPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreviousHostsPredicate.ProtoReflect.Descriptor instead. func (*PreviousHostsPredicate) Descriptor() ([]byte, []int) { return file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto protoreflect.FileDescriptor var file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDesc = []byte{ 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3a, 0x42, 0x9a, 0xc5, 0x88, 0x1e, 0x3d, 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0xc2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescOnce sync.Once file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescData = file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDesc ) func file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescGZIP() []byte { file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescOnce.Do(func() { file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescData) }) return file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDescData } var file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_goTypes = []interface{}{ (*PreviousHostsPredicate)(nil), // 0: envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate } var file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_init() } func file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_init() { if File_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviousHostsPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_goTypes, DependencyIndexes: file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_depIdxs, MessageInfos: file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_msgTypes, }.Build() File_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto = out.File file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_rawDesc = nil file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_goTypes = nil file_envoy_extensions_retry_host_previous_hosts_v3_previous_hosts_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.pb.validate.go000077500000000000000000000067361454502223200337100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto package previous_hostsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreviousHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreviousHostsPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreviousHostsPredicate with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreviousHostsPredicateMultiError, or nil if none found. func (m *PreviousHostsPredicate) ValidateAll() error { return m.validate(true) } func (m *PreviousHostsPredicate) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PreviousHostsPredicateMultiError(errors) } return nil } // PreviousHostsPredicateMultiError is an error wrapping multiple validation // errors returned by PreviousHostsPredicate.ValidateAll() if the designated // constraints aren't met. type PreviousHostsPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreviousHostsPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreviousHostsPredicateMultiError) AllErrors() []error { return m } // PreviousHostsPredicateValidationError is the validation error returned by // PreviousHostsPredicate.Validate if the designated constraints aren't met. type PreviousHostsPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreviousHostsPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreviousHostsPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreviousHostsPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreviousHostsPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreviousHostsPredicateValidationError) ErrorName() string { return "PreviousHostsPredicateValidationError" } // Error satisfies the builtin error interface func (e PreviousHostsPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreviousHostsPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreviousHostsPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreviousHostsPredicateValidationError{} go-control-plane-0.12.0/envoy/extensions/retry/priority/000077500000000000000000000000001454502223200233365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/priority/previous_priorities/000077500000000000000000000000001454502223200274635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/priority/previous_priorities/v3/000077500000000000000000000000001454502223200300135ustar00rootroot00000000000000previous_priorities_config.pb.go000077500000000000000000000300001454502223200363310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/priority/previous_priorities/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/retry/priority/previous_priorities/v3/previous_priorities_config.proto package previous_prioritiesv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A retry host selector that attempts to spread retries between priorities, even if certain // priorities would not normally be attempted due to higher priorities being available. // // As priorities get excluded, load will be distributed amongst the remaining healthy priorities // based on the relative health of the priorities, matching how load is distributed during regular // host selection. For example, given priority healths of {100, 50, 50}, the original load will be // {100, 0, 0} (since P0 has capacity to handle 100% of the traffic). If P0 is excluded, the load // changes to {0, 50, 50}, because P1 is only able to handle 50% of the traffic, causing the // remaining to spill over to P2. // // Each priority attempted will be excluded until there are no healthy priorities left, at which // point the list of attempted priorities will be reset, essentially starting from the beginning. // For example, given three priorities P0, P1, P2 with healthy % of 100, 0 and 50 respectively, the // following sequence of priorities would be selected (assuming update_frequency = 1): // Attempt 1: P0 (P0 is 100% healthy) // Attempt 2: P2 (P0 already attempted, P2 only healthy priority) // Attempt 3: P0 (no healthy priorities, reset) // Attempt 4: P2 // // In the case of all upstream hosts being unhealthy, no adjustments will be made to the original // priority load, so behavior should be identical to not using this plugin. // // Using this PriorityFilter requires rebuilding the priority load, which runs in O(# of // priorities), which might incur significant overhead for clusters with many priorities. // [#extension: envoy.retry_priorities.previous_priorities] type PreviousPrioritiesConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How often the priority load should be updated based on previously attempted priorities. Useful // to allow each priorities to receive more than one request before being excluded or to reduce // the number of times that the priority load has to be recomputed. // // For example, by setting this to 2, then the first two attempts (initial attempt and first // retry) will use the unmodified priority load. The third and fourth attempt will use priority // load which excludes the priorities routed to with the first two attempts, and the fifth and // sixth attempt will use the priority load excluding the priorities used for the first four // attempts. // // Must be greater than 0. UpdateFrequency int32 `protobuf:"varint,1,opt,name=update_frequency,json=updateFrequency,proto3" json:"update_frequency,omitempty"` } func (x *PreviousPrioritiesConfig) Reset() { *x = PreviousPrioritiesConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PreviousPrioritiesConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PreviousPrioritiesConfig) ProtoMessage() {} func (x *PreviousPrioritiesConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PreviousPrioritiesConfig.ProtoReflect.Descriptor instead. func (*PreviousPrioritiesConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescGZIP(), []int{0} } func (x *PreviousPrioritiesConfig) GetUpdateFrequency() int32 { if x != nil { return x.UpdateFrequency } return 0 } var File_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto protoreflect.FileDescriptor var file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDesc = []byte{ 0x0a, 0x57, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x20, 0x00, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x3a, 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x44, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x1d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x73, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescOnce sync.Once file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescData = file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDesc ) func file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescGZIP() []byte { file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescData) }) return file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDescData } var file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_goTypes = []interface{}{ (*PreviousPrioritiesConfig)(nil), // 0: envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig } var file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_init() } func file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_init() { if File_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviousPrioritiesConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_depIdxs, MessageInfos: file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_msgTypes, }.Build() File_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto = out.File file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_rawDesc = nil file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_goTypes = nil file_envoy_extensions_retry_priority_previous_priorities_v3_previous_priorities_config_proto_depIdxs = nil } previous_priorities_config.pb.validate.go000077500000000000000000000074141454502223200401360ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/retry/priority/previous_priorities/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/retry/priority/previous_priorities/v3/previous_priorities_config.proto package previous_prioritiesv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PreviousPrioritiesConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PreviousPrioritiesConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PreviousPrioritiesConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PreviousPrioritiesConfigMultiError, or nil if none found. func (m *PreviousPrioritiesConfig) ValidateAll() error { return m.validate(true) } func (m *PreviousPrioritiesConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetUpdateFrequency() <= 0 { err := PreviousPrioritiesConfigValidationError{ field: "UpdateFrequency", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PreviousPrioritiesConfigMultiError(errors) } return nil } // PreviousPrioritiesConfigMultiError is an error wrapping multiple validation // errors returned by PreviousPrioritiesConfig.ValidateAll() if the designated // constraints aren't met. type PreviousPrioritiesConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PreviousPrioritiesConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PreviousPrioritiesConfigMultiError) AllErrors() []error { return m } // PreviousPrioritiesConfigValidationError is the validation error returned by // PreviousPrioritiesConfig.Validate if the designated constraints aren't met. type PreviousPrioritiesConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PreviousPrioritiesConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PreviousPrioritiesConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PreviousPrioritiesConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PreviousPrioritiesConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PreviousPrioritiesConfigValidationError) ErrorName() string { return "PreviousPrioritiesConfigValidationError" } // Error satisfies the builtin error interface func (e PreviousPrioritiesConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPreviousPrioritiesConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PreviousPrioritiesConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PreviousPrioritiesConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/router/000077500000000000000000000000001454502223200216305ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/router/cluster_specifiers/000077500000000000000000000000001454502223200255255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/router/cluster_specifiers/lua/000077500000000000000000000000001454502223200263065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/router/cluster_specifiers/lua/v3/000077500000000000000000000000001454502223200266365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/router/cluster_specifiers/lua/v3/lua.pb.go000077500000000000000000000212741454502223200303570ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/router/cluster_specifiers/lua/v3/lua.proto package luav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type LuaConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The lua code that Envoy will execute to select cluster. SourceCode *v3.DataSource `protobuf:"bytes,1,opt,name=source_code,json=sourceCode,proto3" json:"source_code,omitempty"` // Default cluster. It will be used when the lua code execute failure. DefaultCluster string `protobuf:"bytes,2,opt,name=default_cluster,json=defaultCluster,proto3" json:"default_cluster,omitempty"` } func (x *LuaConfig) Reset() { *x = LuaConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LuaConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*LuaConfig) ProtoMessage() {} func (x *LuaConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LuaConfig.ProtoReflect.Descriptor instead. func (*LuaConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescGZIP(), []int{0} } func (x *LuaConfig) GetSourceCode() *v3.DataSource { if x != nil { return x.SourceCode } return nil } func (x *LuaConfig) GetDefaultCluster() string { if x != nil { return x.DefaultCluster } return "" } var File_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto protoreflect.FileDescriptor var file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDesc = []byte{ 0x0a, 0x3b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x75, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x09, 0x4c, 0x75, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xb5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2e, 0x6c, 0x75, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x4c, 0x75, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2f, 0x6c, 0x75, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x75, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescOnce sync.Once file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescData = file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDesc ) func file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescGZIP() []byte { file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescOnce.Do(func() { file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescData) }) return file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDescData } var file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_goTypes = []interface{}{ (*LuaConfig)(nil), // 0: envoy.extensions.router.cluster_specifiers.lua.v3.LuaConfig (*v3.DataSource)(nil), // 1: envoy.config.core.v3.DataSource } var file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.router.cluster_specifiers.lua.v3.LuaConfig.source_code:type_name -> envoy.config.core.v3.DataSource 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_init() } func file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_init() { if File_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LuaConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_goTypes, DependencyIndexes: file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_depIdxs, MessageInfos: file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_msgTypes, }.Build() File_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto = out.File file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_rawDesc = nil file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_goTypes = nil file_envoy_extensions_router_cluster_specifiers_lua_v3_lua_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/router/cluster_specifiers/lua/v3/lua.pb.validate.go000077500000000000000000000102471454502223200321450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/router/cluster_specifiers/lua/v3/lua.proto package luav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LuaConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LuaConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LuaConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LuaConfigMultiError, or nil // if none found. func (m *LuaConfig) ValidateAll() error { return m.validate(true) } func (m *LuaConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetSourceCode() == nil { err := LuaConfigValidationError{ field: "SourceCode", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSourceCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LuaConfigValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LuaConfigValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LuaConfigValidationError{ field: "SourceCode", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultCluster if len(errors) > 0 { return LuaConfigMultiError(errors) } return nil } // LuaConfigMultiError is an error wrapping multiple validation errors returned // by LuaConfig.ValidateAll() if the designated constraints aren't met. type LuaConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LuaConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LuaConfigMultiError) AllErrors() []error { return m } // LuaConfigValidationError is the validation error returned by // LuaConfig.Validate if the designated constraints aren't met. type LuaConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LuaConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LuaConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LuaConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LuaConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LuaConfigValidationError) ErrorName() string { return "LuaConfigValidationError" } // Error satisfies the builtin error interface func (e LuaConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLuaConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LuaConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LuaConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/stat_sinks/000077500000000000000000000000001454502223200224725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/graphite_statsd/000077500000000000000000000000001454502223200256575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/graphite_statsd/v3/000077500000000000000000000000001454502223200262075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/graphite_statsd/v3/graphite_statsd.pb.go000077500000000000000000000272221454502223200323330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/stat_sinks/graphite_statsd/v3/graphite_statsd.proto package graphite_statsdv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GraphiteStatsdSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to StatsdSpecifier: // // *GraphiteStatsdSink_Address StatsdSpecifier isGraphiteStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"` // Optional custom metric name prefix. See :ref:`StatsdSink's prefix field // ` for more details. Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // Optional max datagram size to use when sending UDP messages. By default Envoy // will emit one metric per datagram. By specifying a max-size larger than a single // metric, Envoy will emit multiple, new-line separated metrics. The max datagram // size should not exceed your network's MTU. // // Note that this value may not be respected if smaller than a single metric. MaxBytesPerDatagram *wrappers.UInt64Value `protobuf:"bytes,4,opt,name=max_bytes_per_datagram,json=maxBytesPerDatagram,proto3" json:"max_bytes_per_datagram,omitempty"` } func (x *GraphiteStatsdSink) Reset() { *x = GraphiteStatsdSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GraphiteStatsdSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*GraphiteStatsdSink) ProtoMessage() {} func (x *GraphiteStatsdSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GraphiteStatsdSink.ProtoReflect.Descriptor instead. func (*GraphiteStatsdSink) Descriptor() ([]byte, []int) { return file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescGZIP(), []int{0} } func (m *GraphiteStatsdSink) GetStatsdSpecifier() isGraphiteStatsdSink_StatsdSpecifier { if m != nil { return m.StatsdSpecifier } return nil } func (x *GraphiteStatsdSink) GetAddress() *v3.Address { if x, ok := x.GetStatsdSpecifier().(*GraphiteStatsdSink_Address); ok { return x.Address } return nil } func (x *GraphiteStatsdSink) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *GraphiteStatsdSink) GetMaxBytesPerDatagram() *wrappers.UInt64Value { if x != nil { return x.MaxBytesPerDatagram } return nil } type isGraphiteStatsdSink_StatsdSpecifier interface { isGraphiteStatsdSink_StatsdSpecifier() } type GraphiteStatsdSink_Address struct { // The UDP address of a running Graphite-compliant listener. If specified, // statistics will be flushed to this address. Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3,oneof"` } func (*GraphiteStatsdSink_Address) isGraphiteStatsdSink_StatsdSpecifier() {} var File_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto protoreflect.FileDescriptor var file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDesc = []byte{ 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x17, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xc6, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescOnce sync.Once file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescData = file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDesc ) func file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescGZIP() []byte { file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescOnce.Do(func() { file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescData) }) return file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDescData } var file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_goTypes = []interface{}{ (*GraphiteStatsdSink)(nil), // 0: envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink (*v3.Address)(nil), // 1: envoy.config.core.v3.Address (*wrappers.UInt64Value)(nil), // 2: google.protobuf.UInt64Value } var file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink.address:type_name -> envoy.config.core.v3.Address 2, // 1: envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink.max_bytes_per_datagram:type_name -> google.protobuf.UInt64Value 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_init() } func file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_init() { if File_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GraphiteStatsdSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes[0].OneofWrappers = []interface{}{ (*GraphiteStatsdSink_Address)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_goTypes, DependencyIndexes: file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_depIdxs, MessageInfos: file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_msgTypes, }.Build() File_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto = out.File file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_rawDesc = nil file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_goTypes = nil file_envoy_extensions_stat_sinks_graphite_statsd_v3_graphite_statsd_proto_depIdxs = nil } graphite_statsd.pb.validate.go000077500000000000000000000122221454502223200340360ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/graphite_statsd/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/stat_sinks/graphite_statsd/v3/graphite_statsd.proto package graphite_statsdv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GraphiteStatsdSink with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GraphiteStatsdSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GraphiteStatsdSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GraphiteStatsdSinkMultiError, or nil if none found. func (m *GraphiteStatsdSink) ValidateAll() error { return m.validate(true) } func (m *GraphiteStatsdSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Prefix if wrapper := m.GetMaxBytesPerDatagram(); wrapper != nil { if wrapper.GetValue() <= 0 { err := GraphiteStatsdSinkValidationError{ field: "MaxBytesPerDatagram", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } oneofStatsdSpecifierPresent := false switch v := m.StatsdSpecifier.(type) { case *GraphiteStatsdSink_Address: if v == nil { err := GraphiteStatsdSinkValidationError{ field: "StatsdSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStatsdSpecifierPresent = true if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GraphiteStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GraphiteStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GraphiteStatsdSinkValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofStatsdSpecifierPresent { err := GraphiteStatsdSinkValidationError{ field: "StatsdSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return GraphiteStatsdSinkMultiError(errors) } return nil } // GraphiteStatsdSinkMultiError is an error wrapping multiple validation errors // returned by GraphiteStatsdSink.ValidateAll() if the designated constraints // aren't met. type GraphiteStatsdSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GraphiteStatsdSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GraphiteStatsdSinkMultiError) AllErrors() []error { return m } // GraphiteStatsdSinkValidationError is the validation error returned by // GraphiteStatsdSink.Validate if the designated constraints aren't met. type GraphiteStatsdSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GraphiteStatsdSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GraphiteStatsdSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GraphiteStatsdSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GraphiteStatsdSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GraphiteStatsdSinkValidationError) ErrorName() string { return "GraphiteStatsdSinkValidationError" } // Error satisfies the builtin error interface func (e GraphiteStatsdSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGraphiteStatsdSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GraphiteStatsdSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GraphiteStatsdSinkValidationError{} go-control-plane-0.12.0/envoy/extensions/stat_sinks/open_telemetry/000077500000000000000000000000001454502223200255255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/open_telemetry/v3/000077500000000000000000000000001454502223200260555ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/open_telemetry/v3/open_telemetry.pb.go000077500000000000000000000343211454502223200320450ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/stat_sinks/open_telemetry/v3/open_telemetry.proto package open_telemetryv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-free-field: 7] type SinkConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ProtocolSpecifier: // // *SinkConfig_GrpcService ProtocolSpecifier isSinkConfig_ProtocolSpecifier `protobuf_oneof:"protocol_specifier"` // If set to true, counters will be emitted as deltas, and the OTLP message will have // “AGGREGATION_TEMPORALITY_DELTA“ set as AggregationTemporality. ReportCountersAsDeltas bool `protobuf:"varint,2,opt,name=report_counters_as_deltas,json=reportCountersAsDeltas,proto3" json:"report_counters_as_deltas,omitempty"` // If set to true, histograms will be emitted as deltas, and the OTLP message will have // “AGGREGATION_TEMPORALITY_DELTA“ set as AggregationTemporality. ReportHistogramsAsDeltas bool `protobuf:"varint,3,opt,name=report_histograms_as_deltas,json=reportHistogramsAsDeltas,proto3" json:"report_histograms_as_deltas,omitempty"` // If set to true, metrics will have their tags emitted as OTLP attributes, which may // contain values used by the tag extractor or additional tags added during stats creation. // Otherwise, no attributes will be associated with the export message. Default value is true. EmitTagsAsAttributes *wrappers.BoolValue `protobuf:"bytes,4,opt,name=emit_tags_as_attributes,json=emitTagsAsAttributes,proto3" json:"emit_tags_as_attributes,omitempty"` // If set to true, metric names will be represented as the tag extracted name instead // of the full metric name. Default value is true. UseTagExtractedName *wrappers.BoolValue `protobuf:"bytes,5,opt,name=use_tag_extracted_name,json=useTagExtractedName,proto3" json:"use_tag_extracted_name,omitempty"` // If set, emitted stats names will be prepended with a prefix, so full stat name will be // .. For example, if the stat name is "foo.bar" and prefix is // "pre", the full stat name will be "pre.foo.bar". If this field is not set, there is no // prefix added. According to the example, the full stat name will remain "foo.bar". Prefix string `protobuf:"bytes,6,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *SinkConfig) Reset() { *x = SinkConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SinkConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SinkConfig) ProtoMessage() {} func (x *SinkConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SinkConfig.ProtoReflect.Descriptor instead. func (*SinkConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescGZIP(), []int{0} } func (m *SinkConfig) GetProtocolSpecifier() isSinkConfig_ProtocolSpecifier { if m != nil { return m.ProtocolSpecifier } return nil } func (x *SinkConfig) GetGrpcService() *v3.GrpcService { if x, ok := x.GetProtocolSpecifier().(*SinkConfig_GrpcService); ok { return x.GrpcService } return nil } func (x *SinkConfig) GetReportCountersAsDeltas() bool { if x != nil { return x.ReportCountersAsDeltas } return false } func (x *SinkConfig) GetReportHistogramsAsDeltas() bool { if x != nil { return x.ReportHistogramsAsDeltas } return false } func (x *SinkConfig) GetEmitTagsAsAttributes() *wrappers.BoolValue { if x != nil { return x.EmitTagsAsAttributes } return nil } func (x *SinkConfig) GetUseTagExtractedName() *wrappers.BoolValue { if x != nil { return x.UseTagExtractedName } return nil } func (x *SinkConfig) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isSinkConfig_ProtocolSpecifier interface { isSinkConfig_ProtocolSpecifier() } type SinkConfig_GrpcService struct { // The upstream gRPC cluster that implements the OTLP/gRPC collector. GrpcService *v3.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3,oneof"` } func (*SinkConfig_GrpcService) isSinkConfig_ProtocolSpecifier() {} var File_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto protoreflect.FileDescriptor var file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDesc = []byte{ 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x03, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x41, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x41, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x51, 0x0a, 0x17, 0x65, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x65, 0x6d, 0x69, 0x74, 0x54, 0x61, 0x67, 0x73, 0x41, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x75, 0x73, 0x65, 0x54, 0x61, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x19, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xc2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescOnce sync.Once file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescData = file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDesc ) func file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescGZIP() []byte { file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescOnce.Do(func() { file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescData) }) return file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDescData } var file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_goTypes = []interface{}{ (*SinkConfig)(nil), // 0: envoy.extensions.stat_sinks.open_telemetry.v3.SinkConfig (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue } var file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.stat_sinks.open_telemetry.v3.SinkConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService 2, // 1: envoy.extensions.stat_sinks.open_telemetry.v3.SinkConfig.emit_tags_as_attributes:type_name -> google.protobuf.BoolValue 2, // 2: envoy.extensions.stat_sinks.open_telemetry.v3.SinkConfig.use_tag_extracted_name:type_name -> google.protobuf.BoolValue 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_init() } func file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_init() { if File_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SinkConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes[0].OneofWrappers = []interface{}{ (*SinkConfig_GrpcService)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_goTypes, DependencyIndexes: file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_depIdxs, MessageInfos: file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_msgTypes, }.Build() File_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto = out.File file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_rawDesc = nil file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_goTypes = nil file_envoy_extensions_stat_sinks_open_telemetry_v3_open_telemetry_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/stat_sinks/open_telemetry/v3/open_telemetry.pb.validate.go000077500000000000000000000152341454502223200336370ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/stat_sinks/open_telemetry/v3/open_telemetry.proto package open_telemetryv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SinkConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SinkConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SinkConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SinkConfigMultiError, or // nil if none found. func (m *SinkConfig) ValidateAll() error { return m.validate(true) } func (m *SinkConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ReportCountersAsDeltas // no validation rules for ReportHistogramsAsDeltas if all { switch v := interface{}(m.GetEmitTagsAsAttributes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "EmitTagsAsAttributes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "EmitTagsAsAttributes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEmitTagsAsAttributes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SinkConfigValidationError{ field: "EmitTagsAsAttributes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUseTagExtractedName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "UseTagExtractedName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "UseTagExtractedName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseTagExtractedName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SinkConfigValidationError{ field: "UseTagExtractedName", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Prefix oneofProtocolSpecifierPresent := false switch v := m.ProtocolSpecifier.(type) { case *SinkConfig_GrpcService: if v == nil { err := SinkConfigValidationError{ field: "ProtocolSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolSpecifierPresent = true if m.GetGrpcService() == nil { err := SinkConfigValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SinkConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SinkConfigValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofProtocolSpecifierPresent { err := SinkConfigValidationError{ field: "ProtocolSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return SinkConfigMultiError(errors) } return nil } // SinkConfigMultiError is an error wrapping multiple validation errors // returned by SinkConfig.ValidateAll() if the designated constraints aren't met. type SinkConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SinkConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SinkConfigMultiError) AllErrors() []error { return m } // SinkConfigValidationError is the validation error returned by // SinkConfig.Validate if the designated constraints aren't met. type SinkConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SinkConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SinkConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SinkConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SinkConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SinkConfigValidationError) ErrorName() string { return "SinkConfigValidationError" } // Error satisfies the builtin error interface func (e SinkConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSinkConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SinkConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SinkConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/stat_sinks/wasm/000077500000000000000000000000001454502223200234415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/wasm/v3/000077500000000000000000000000001454502223200237715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/stat_sinks/wasm/v3/wasm.pb.go000077500000000000000000000160471454502223200257020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/stat_sinks/wasm/v3/wasm.proto package wasmv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/wasm/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Wasm struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // General Plugin configuration. Config *v3.PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *Wasm) Reset() { *x = Wasm{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Wasm) String() string { return protoimpl.X.MessageStringOf(x) } func (*Wasm) ProtoMessage() {} func (x *Wasm) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Wasm.ProtoReflect.Descriptor instead. func (*Wasm) Descriptor() ([]byte, []int) { return file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescGZIP(), []int{0} } func (x *Wasm) GetConfig() *v3.PluginConfig { if x != nil { return x.Config } return nil } var File_envoy_extensions_stat_sinks_wasm_v3_wasm_proto protoreflect.FileDescriptor var file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x04, 0x57, 0x61, 0x73, 0x6d, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x9b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x57, 0x61, 0x73, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x73, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescOnce sync.Once file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescData = file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDesc ) func file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescGZIP() []byte { file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescOnce.Do(func() { file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescData) }) return file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDescData } var file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_goTypes = []interface{}{ (*Wasm)(nil), // 0: envoy.extensions.stat_sinks.wasm.v3.Wasm (*v3.PluginConfig)(nil), // 1: envoy.extensions.wasm.v3.PluginConfig } var file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.stat_sinks.wasm.v3.Wasm.config:type_name -> envoy.extensions.wasm.v3.PluginConfig 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_init() } func file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_init() { if File_envoy_extensions_stat_sinks_wasm_v3_wasm_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Wasm); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_goTypes, DependencyIndexes: file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_depIdxs, MessageInfos: file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_msgTypes, }.Build() File_envoy_extensions_stat_sinks_wasm_v3_wasm_proto = out.File file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_rawDesc = nil file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_goTypes = nil file_envoy_extensions_stat_sinks_wasm_v3_wasm_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/stat_sinks/wasm/v3/wasm.pb.validate.go000077500000000000000000000074141454502223200274700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/stat_sinks/wasm/v3/wasm.proto package wasmv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Wasm with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Wasm) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Wasm with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in WasmMultiError, or nil if none found. func (m *Wasm) ValidateAll() error { return m.validate(true) } func (m *Wasm) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WasmValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return WasmMultiError(errors) } return nil } // WasmMultiError is an error wrapping multiple validation errors returned by // Wasm.ValidateAll() if the designated constraints aren't met. type WasmMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WasmMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WasmMultiError) AllErrors() []error { return m } // WasmValidationError is the validation error returned by Wasm.Validate if the // designated constraints aren't met. type WasmValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WasmValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WasmValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WasmValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WasmValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WasmValidationError) ErrorName() string { return "WasmValidationError" } // Error satisfies the builtin error interface func (e WasmValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWasm.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WasmValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WasmValidationError{} go-control-plane-0.12.0/envoy/extensions/tracers/000077500000000000000000000000001454502223200217535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/000077500000000000000000000000001454502223200246475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/000077500000000000000000000000001454502223200305525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/v3/000077500000000000000000000000001454502223200311025ustar00rootroot00000000000000dynatrace_resource_detector.pb.go000077500000000000000000000222441454502223200375330ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/dynatrace_resource_detector.proto package resource_detectorsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the Dynatrace Resource Detector extension. // The resource detector reads from the Dynatrace enrichment files // and adds host/process related attributes to the OpenTelemetry resource. // // See: // // `Enrich ingested data with Dynatrace-specific dimensions `_ // // [#extension: envoy.tracers.opentelemetry.resource_detectors.dynatrace] type DynatraceResourceDetectorConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DynatraceResourceDetectorConfig) Reset() { *x = DynatraceResourceDetectorConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynatraceResourceDetectorConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynatraceResourceDetectorConfig) ProtoMessage() {} func (x *DynatraceResourceDetectorConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynatraceResourceDetectorConfig.ProtoReflect.Descriptor instead. func (*DynatraceResourceDetectorConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto protoreflect.FileDescriptor var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDesc = []byte{ 0x0a, 0x5e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x79, 0x6e, 0x61, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x79, 0x6e, 0x61, 0x74, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xf0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x1e, 0x44, 0x79, 0x6e, 0x61, 0x74, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x78, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescOnce sync.Once file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescData = file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDesc ) func file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescGZIP() []byte { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescOnce.Do(func() { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescData) }) return file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDescData } var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_goTypes = []interface{}{ (*DynatraceResourceDetectorConfig)(nil), // 0: envoy.extensions.tracers.opentelemetry.resource_detectors.v3.DynatraceResourceDetectorConfig } var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_init() } func file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_init() { if File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynatraceResourceDetectorConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_goTypes, DependencyIndexes: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_depIdxs, MessageInfos: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_msgTypes, }.Build() File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto = out.File file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_rawDesc = nil file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_goTypes = nil file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_dynatrace_resource_detector_proto_depIdxs = nil } dynatrace_resource_detector.pb.validate.go000077500000000000000000000073421454502223200413250ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/dynatrace_resource_detector.proto package resource_detectorsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DynatraceResourceDetectorConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DynatraceResourceDetectorConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DynatraceResourceDetectorConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // DynatraceResourceDetectorConfigMultiError, or nil if none found. func (m *DynatraceResourceDetectorConfig) ValidateAll() error { return m.validate(true) } func (m *DynatraceResourceDetectorConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DynatraceResourceDetectorConfigMultiError(errors) } return nil } // DynatraceResourceDetectorConfigMultiError is an error wrapping multiple // validation errors returned by DynatraceResourceDetectorConfig.ValidateAll() // if the designated constraints aren't met. type DynatraceResourceDetectorConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynatraceResourceDetectorConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynatraceResourceDetectorConfigMultiError) AllErrors() []error { return m } // DynatraceResourceDetectorConfigValidationError is the validation error // returned by DynatraceResourceDetectorConfig.Validate if the designated // constraints aren't met. type DynatraceResourceDetectorConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynatraceResourceDetectorConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynatraceResourceDetectorConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynatraceResourceDetectorConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynatraceResourceDetectorConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynatraceResourceDetectorConfigValidationError) ErrorName() string { return "DynatraceResourceDetectorConfigValidationError" } // Error satisfies the builtin error interface func (e DynatraceResourceDetectorConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynatraceResourceDetectorConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynatraceResourceDetectorConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynatraceResourceDetectorConfigValidationError{} environment_resource_detector.pb.go000077500000000000000000000225351454502223200401300ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.proto package resource_detectorsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the Environment Resource detector extension. // The resource detector reads from the “OTEL_RESOURCE_ATTRIBUTES“ // environment variable, as per the OpenTelemetry specification. // // See: // // `OpenTelemetry specification `_ // // [#extension: envoy.tracers.opentelemetry.resource_detectors.environment] type EnvironmentResourceDetectorConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *EnvironmentResourceDetectorConfig) Reset() { *x = EnvironmentResourceDetectorConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnvironmentResourceDetectorConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnvironmentResourceDetectorConfig) ProtoMessage() {} func (x *EnvironmentResourceDetectorConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EnvironmentResourceDetectorConfig.ProtoReflect.Descriptor instead. func (*EnvironmentResourceDetectorConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto protoreflect.FileDescriptor var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDesc = []byte{ 0x0a, 0x60, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, 0x21, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xf2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x4a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x20, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x78, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescOnce sync.Once file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescData = file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDesc ) func file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescGZIP() []byte { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescOnce.Do(func() { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescData) }) return file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDescData } var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_goTypes = []interface{}{ (*EnvironmentResourceDetectorConfig)(nil), // 0: envoy.extensions.tracers.opentelemetry.resource_detectors.v3.EnvironmentResourceDetectorConfig } var file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_init() } func file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_init() { if File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvironmentResourceDetectorConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_goTypes, DependencyIndexes: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_depIdxs, MessageInfos: file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_msgTypes, }.Build() File_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto = out.File file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_rawDesc = nil file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_goTypes = nil file_envoy_extensions_tracers_opentelemetry_resource_detectors_v3_environment_resource_detector_proto_depIdxs = nil } environment_resource_detector.pb.validate.go000077500000000000000000000074341454502223200417210ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/resource_detectors/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.proto package resource_detectorsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EnvironmentResourceDetectorConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *EnvironmentResourceDetectorConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EnvironmentResourceDetectorConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // EnvironmentResourceDetectorConfigMultiError, or nil if none found. func (m *EnvironmentResourceDetectorConfig) ValidateAll() error { return m.validate(true) } func (m *EnvironmentResourceDetectorConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EnvironmentResourceDetectorConfigMultiError(errors) } return nil } // EnvironmentResourceDetectorConfigMultiError is an error wrapping multiple // validation errors returned by // EnvironmentResourceDetectorConfig.ValidateAll() if the designated // constraints aren't met. type EnvironmentResourceDetectorConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EnvironmentResourceDetectorConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EnvironmentResourceDetectorConfigMultiError) AllErrors() []error { return m } // EnvironmentResourceDetectorConfigValidationError is the validation error // returned by EnvironmentResourceDetectorConfig.Validate if the designated // constraints aren't met. type EnvironmentResourceDetectorConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EnvironmentResourceDetectorConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EnvironmentResourceDetectorConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EnvironmentResourceDetectorConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EnvironmentResourceDetectorConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EnvironmentResourceDetectorConfigValidationError) ErrorName() string { return "EnvironmentResourceDetectorConfigValidationError" } // Error satisfies the builtin error interface func (e EnvironmentResourceDetectorConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEnvironmentResourceDetectorConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EnvironmentResourceDetectorConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EnvironmentResourceDetectorConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/samplers/000077500000000000000000000000001454502223200264755ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/samplers/v3/000077500000000000000000000000001454502223200270255ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/samplers/v3/always_on_sampler.pb.go000077500000000000000000000171241454502223200335030ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/tracers/opentelemetry/samplers/v3/always_on_sampler.proto package samplersv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type AlwaysOnSamplerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AlwaysOnSamplerConfig) Reset() { *x = AlwaysOnSamplerConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlwaysOnSamplerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlwaysOnSamplerConfig) ProtoMessage() {} func (x *AlwaysOnSamplerConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AlwaysOnSamplerConfig.ProtoReflect.Descriptor instead. func (*AlwaysOnSamplerConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto protoreflect.FileDescriptor var file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDesc = []byte{ 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4f, 0x6e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4f, 0x6e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescOnce sync.Once file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescData = file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDesc ) func file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescGZIP() []byte { file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescOnce.Do(func() { file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescData) }) return file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDescData } var file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_goTypes = []interface{}{ (*AlwaysOnSamplerConfig)(nil), // 0: envoy.extensions.tracers.opentelemetry.samplers.v3.AlwaysOnSamplerConfig } var file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_init() } func file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_init() { if File_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlwaysOnSamplerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_goTypes, DependencyIndexes: file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_depIdxs, MessageInfos: file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_msgTypes, }.Build() File_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto = out.File file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_rawDesc = nil file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_goTypes = nil file_envoy_extensions_tracers_opentelemetry_samplers_v3_always_on_sampler_proto_depIdxs = nil } always_on_sampler.pb.validate.go000077500000000000000000000067071454502223200352210ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/tracers/opentelemetry/samplers/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/tracers/opentelemetry/samplers/v3/always_on_sampler.proto package samplersv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AlwaysOnSamplerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AlwaysOnSamplerConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AlwaysOnSamplerConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AlwaysOnSamplerConfigMultiError, or nil if none found. func (m *AlwaysOnSamplerConfig) ValidateAll() error { return m.validate(true) } func (m *AlwaysOnSamplerConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return AlwaysOnSamplerConfigMultiError(errors) } return nil } // AlwaysOnSamplerConfigMultiError is an error wrapping multiple validation // errors returned by AlwaysOnSamplerConfig.ValidateAll() if the designated // constraints aren't met. type AlwaysOnSamplerConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AlwaysOnSamplerConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AlwaysOnSamplerConfigMultiError) AllErrors() []error { return m } // AlwaysOnSamplerConfigValidationError is the validation error returned by // AlwaysOnSamplerConfig.Validate if the designated constraints aren't met. type AlwaysOnSamplerConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AlwaysOnSamplerConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AlwaysOnSamplerConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AlwaysOnSamplerConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AlwaysOnSamplerConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AlwaysOnSamplerConfigValidationError) ErrorName() string { return "AlwaysOnSamplerConfigValidationError" } // Error satisfies the builtin error interface func (e AlwaysOnSamplerConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAlwaysOnSamplerConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AlwaysOnSamplerConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AlwaysOnSamplerConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/000077500000000000000000000000001454502223200240775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/alts/000077500000000000000000000000001454502223200250425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/alts/v3/000077500000000000000000000000001454502223200253725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/alts/v3/alts.pb.go000077500000000000000000000214511454502223200272720ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/alts/v3/alts.proto package altsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for ALTS transport socket. This provides Google's ALTS protocol to Envoy. // Store the peer identity in dynamic metadata, namespace is "envoy.transport_socket.peer_information", key is "peer_identity". // https://cloud.google.com/security/encryption-in-transit/application-layer-transport-security/ type Alts struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The location of a handshaker service, this is usually 169.254.169.254:8080 // on GCE. HandshakerService string `protobuf:"bytes,1,opt,name=handshaker_service,json=handshakerService,proto3" json:"handshaker_service,omitempty"` // The acceptable service accounts from peer, peers not in the list will be rejected in the // handshake validation step. If empty, no validation will be performed. PeerServiceAccounts []string `protobuf:"bytes,2,rep,name=peer_service_accounts,json=peerServiceAccounts,proto3" json:"peer_service_accounts,omitempty"` } func (x *Alts) Reset() { *x = Alts{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_alts_v3_alts_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Alts) String() string { return protoimpl.X.MessageStringOf(x) } func (*Alts) ProtoMessage() {} func (x *Alts) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_alts_v3_alts_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Alts.ProtoReflect.Descriptor instead. func (*Alts) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescGZIP(), []int{0} } func (x *Alts) GetHandshakerService() string { if x != nil { return x.HandshakerService } return "" } func (x *Alts) GetPeerServiceAccounts() []string { if x != nil { return x.PeerServiceAccounts } return nil } var File_envoy_extensions_transport_sockets_alts_v3_alts_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDesc = []byte{ 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x04, 0x41, 0x6c, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x12, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x6c, 0x74, 0x73, 0x42, 0xa9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x61, 0x6c, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x41, 0x6c, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x6c, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescData = file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDesc ) func file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDescData } var file_envoy_extensions_transport_sockets_alts_v3_alts_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_alts_v3_alts_proto_goTypes = []interface{}{ (*Alts)(nil), // 0: envoy.extensions.transport_sockets.alts.v3.Alts } var file_envoy_extensions_transport_sockets_alts_v3_alts_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_alts_v3_alts_proto_init() } func file_envoy_extensions_transport_sockets_alts_v3_alts_proto_init() { if File_envoy_extensions_transport_sockets_alts_v3_alts_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_alts_v3_alts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Alts); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_alts_v3_alts_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_alts_v3_alts_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_alts_v3_alts_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_alts_v3_alts_proto = out.File file_envoy_extensions_transport_sockets_alts_v3_alts_proto_rawDesc = nil file_envoy_extensions_transport_sockets_alts_v3_alts_proto_goTypes = nil file_envoy_extensions_transport_sockets_alts_v3_alts_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/alts/v3/alts.pb.validate.go000077500000000000000000000063601454502223200310640ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/alts/v3/alts.proto package altsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Alts with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Alts) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Alts with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in AltsMultiError, or nil if none found. func (m *Alts) ValidateAll() error { return m.validate(true) } func (m *Alts) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetHandshakerService()) < 1 { err := AltsValidationError{ field: "HandshakerService", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return AltsMultiError(errors) } return nil } // AltsMultiError is an error wrapping multiple validation errors returned by // Alts.ValidateAll() if the designated constraints aren't met. type AltsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AltsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AltsMultiError) AllErrors() []error { return m } // AltsValidationError is the validation error returned by Alts.Validate if the // designated constraints aren't met. type AltsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AltsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AltsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AltsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AltsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AltsValidationError) ErrorName() string { return "AltsValidationError" } // Error satisfies the builtin error interface func (e AltsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAlts.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AltsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AltsValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/http_11_proxy/000077500000000000000000000000001454502223200266205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/http_11_proxy/v3/000077500000000000000000000000001454502223200271505ustar00rootroot00000000000000upstream_http_11_connect.pb.go000077500000000000000000000247201454502223200347410ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/http_11_proxy/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.proto package http_11_proxyv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for HTTP/1.1 proxy transport sockets. // This is intended for use in Envoy Mobile, though may eventually be extended // for upstream Envoy use. // If this transport socket is configured, and an intermediate filter adds the // stream info necessary for proxying to the stream info (as the test filter // does :repo:`here `) then // // - Upstream connections will be directed to the specified proxy address rather // than the host's address // - Upstream TLS connections will have a raw HTTP/1.1 CONNECT header prefaced // to the payload, and 200 response stripped (if less than 200 bytes) // - Plaintext HTTP/1.1 connections will be sent with a fully qualified URL. // // This transport socket is not compatible with HTTP/3, plaintext HTTP/2, or raw TCP. type Http11ProxyUpstreamTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The underlying transport socket being wrapped. TransportSocket *v3.TransportSocket `protobuf:"bytes,1,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *Http11ProxyUpstreamTransport) Reset() { *x = Http11ProxyUpstreamTransport{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Http11ProxyUpstreamTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*Http11ProxyUpstreamTransport) ProtoMessage() {} func (x *Http11ProxyUpstreamTransport) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Http11ProxyUpstreamTransport.ProtoReflect.Descriptor instead. func (*Http11ProxyUpstreamTransport) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescGZIP(), []int{0} } func (x *Http11ProxyUpstreamTransport) GetTransportSocket() *v3.TransportSocket { if x != nil { return x.TransportSocket } return nil } var File_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x1c, 0x48, 0x74, 0x74, 0x70, 0x31, 0x31, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0xd5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x41, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x31, 0x31, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x31, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescData = file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDesc ) func file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDescData } var file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_goTypes = []interface{}{ (*Http11ProxyUpstreamTransport)(nil), // 0: envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport (*v3.TransportSocket)(nil), // 1: envoy.config.core.v3.TransportSocket } var file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_init() } func file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_init() { if File_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Http11ProxyUpstreamTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto = out.File file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_rawDesc = nil file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_goTypes = nil file_envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect_proto_depIdxs = nil } upstream_http_11_connect.pb.validate.go000077500000000000000000000113551454502223200365310ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/http_11_proxy/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.proto package http_11_proxyv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Http11ProxyUpstreamTransport with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Http11ProxyUpstreamTransport) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Http11ProxyUpstreamTransport with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Http11ProxyUpstreamTransportMultiError, or nil if none found. func (m *Http11ProxyUpstreamTransport) ValidateAll() error { return m.validate(true) } func (m *Http11ProxyUpstreamTransport) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTransportSocket() == nil { err := Http11ProxyUpstreamTransportValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, Http11ProxyUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, Http11ProxyUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return Http11ProxyUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return Http11ProxyUpstreamTransportMultiError(errors) } return nil } // Http11ProxyUpstreamTransportMultiError is an error wrapping multiple // validation errors returned by Http11ProxyUpstreamTransport.ValidateAll() if // the designated constraints aren't met. type Http11ProxyUpstreamTransportMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Http11ProxyUpstreamTransportMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Http11ProxyUpstreamTransportMultiError) AllErrors() []error { return m } // Http11ProxyUpstreamTransportValidationError is the validation error returned // by Http11ProxyUpstreamTransport.Validate if the designated constraints // aren't met. type Http11ProxyUpstreamTransportValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Http11ProxyUpstreamTransportValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Http11ProxyUpstreamTransportValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Http11ProxyUpstreamTransportValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Http11ProxyUpstreamTransportValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Http11ProxyUpstreamTransportValidationError) ErrorName() string { return "Http11ProxyUpstreamTransportValidationError" } // Error satisfies the builtin error interface func (e Http11ProxyUpstreamTransportValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttp11ProxyUpstreamTransport.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Http11ProxyUpstreamTransportValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Http11ProxyUpstreamTransportValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/internal_upstream/000077500000000000000000000000001454502223200276335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/internal_upstream/v3/000077500000000000000000000000001454502223200301635ustar00rootroot00000000000000internal_upstream.pb.go000077500000000000000000000376121454502223200346030ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/internal_upstream/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/internal_upstream/v3/internal_upstream.proto package internal_upstreamv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the internal upstream address. An internal address defines // a loopback user space socket residing in the same proxy instance. This // extension allows passing additional structured state across the user space // socket in addition to the regular byte stream. The purpose is to facilitate // communication between filters on the downstream and the upstream internal // connections. All filter state objects that are shared with the upstream // connection are also shared with the downstream internal connection using // this transport socket. type InternalUpstreamTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the metadata namespaces and values to insert into the downstream // internal connection dynamic metadata when an internal address is used as a // host. If the destination name is repeated across two metadata source // locations, and both locations contain the metadata with the given name, // then the latter in the list overrides the former. PassthroughMetadata []*InternalUpstreamTransport_MetadataValueSource `protobuf:"bytes,1,rep,name=passthrough_metadata,json=passthroughMetadata,proto3" json:"passthrough_metadata,omitempty"` // The underlying transport socket being wrapped. TransportSocket *v3.TransportSocket `protobuf:"bytes,3,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *InternalUpstreamTransport) Reset() { *x = InternalUpstreamTransport{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InternalUpstreamTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*InternalUpstreamTransport) ProtoMessage() {} func (x *InternalUpstreamTransport) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InternalUpstreamTransport.ProtoReflect.Descriptor instead. func (*InternalUpstreamTransport) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescGZIP(), []int{0} } func (x *InternalUpstreamTransport) GetPassthroughMetadata() []*InternalUpstreamTransport_MetadataValueSource { if x != nil { return x.PassthroughMetadata } return nil } func (x *InternalUpstreamTransport) GetTransportSocket() *v3.TransportSocket { if x != nil { return x.TransportSocket } return nil } // Describes the location of the imported metadata value. // If the metadata with the given name is not present at the source location, // then no metadata is passed through for this particular instance. type InternalUpstreamTransport_MetadataValueSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies what kind of metadata. Kind *v31.MetadataKind `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` // Name is the filter namespace used in the dynamic metadata. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *InternalUpstreamTransport_MetadataValueSource) Reset() { *x = InternalUpstreamTransport_MetadataValueSource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InternalUpstreamTransport_MetadataValueSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*InternalUpstreamTransport_MetadataValueSource) ProtoMessage() {} func (x *InternalUpstreamTransport_MetadataValueSource) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InternalUpstreamTransport_MetadataValueSource.ProtoReflect.Descriptor instead. func (*InternalUpstreamTransport_MetadataValueSource) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescGZIP(), []int{0, 0} } func (x *InternalUpstreamTransport_MetadataValueSource) GetKind() *v31.MetadataKind { if x != nil { return x.Kind } return nil } func (x *InternalUpstreamTransport_MetadataValueSource) GetName() string { if x != nil { return x.Name } return "" } var File_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDesc = []byte{ 0x0a, 0x4f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x03, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x76, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xdc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x45, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescData = file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDesc ) func file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDescData } var file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_goTypes = []interface{}{ (*InternalUpstreamTransport)(nil), // 0: envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport (*InternalUpstreamTransport_MetadataValueSource)(nil), // 1: envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport.MetadataValueSource (*v3.TransportSocket)(nil), // 2: envoy.config.core.v3.TransportSocket (*v31.MetadataKind)(nil), // 3: envoy.type.metadata.v3.MetadataKind } var file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport.passthrough_metadata:type_name -> envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport.MetadataValueSource 2, // 1: envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 3, // 2: envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport.MetadataValueSource.kind:type_name -> envoy.type.metadata.v3.MetadataKind 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_init() } func file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_init() { if File_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InternalUpstreamTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InternalUpstreamTransport_MetadataValueSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto = out.File file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_rawDesc = nil file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_goTypes = nil file_envoy_extensions_transport_sockets_internal_upstream_v3_internal_upstream_proto_depIdxs = nil } internal_upstream.pb.validate.go000077500000000000000000000247171454502223200363750ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/internal_upstream/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/internal_upstream/v3/internal_upstream.proto package internal_upstreamv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on InternalUpstreamTransport with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *InternalUpstreamTransport) Validate() error { return m.validate(false) } // ValidateAll checks the field values on InternalUpstreamTransport with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // InternalUpstreamTransportMultiError, or nil if none found. func (m *InternalUpstreamTransport) ValidateAll() error { return m.validate(true) } func (m *InternalUpstreamTransport) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetPassthroughMetadata() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, InternalUpstreamTransportValidationError{ field: fmt.Sprintf("PassthroughMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, InternalUpstreamTransportValidationError{ field: fmt.Sprintf("PassthroughMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return InternalUpstreamTransportValidationError{ field: fmt.Sprintf("PassthroughMetadata[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetTransportSocket() == nil { err := InternalUpstreamTransportValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, InternalUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, InternalUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return InternalUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return InternalUpstreamTransportMultiError(errors) } return nil } // InternalUpstreamTransportMultiError is an error wrapping multiple validation // errors returned by InternalUpstreamTransport.ValidateAll() if the // designated constraints aren't met. type InternalUpstreamTransportMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InternalUpstreamTransportMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InternalUpstreamTransportMultiError) AllErrors() []error { return m } // InternalUpstreamTransportValidationError is the validation error returned by // InternalUpstreamTransport.Validate if the designated constraints aren't met. type InternalUpstreamTransportValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InternalUpstreamTransportValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InternalUpstreamTransportValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InternalUpstreamTransportValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InternalUpstreamTransportValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InternalUpstreamTransportValidationError) ErrorName() string { return "InternalUpstreamTransportValidationError" } // Error satisfies the builtin error interface func (e InternalUpstreamTransportValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInternalUpstreamTransport.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InternalUpstreamTransportValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InternalUpstreamTransportValidationError{} // Validate checks the field values on // InternalUpstreamTransport_MetadataValueSource with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *InternalUpstreamTransport_MetadataValueSource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // InternalUpstreamTransport_MetadataValueSource with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // InternalUpstreamTransport_MetadataValueSourceMultiError, or nil if none found. func (m *InternalUpstreamTransport_MetadataValueSource) ValidateAll() error { return m.validate(true) } func (m *InternalUpstreamTransport_MetadataValueSource) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetKind() == nil { err := InternalUpstreamTransport_MetadataValueSourceValidationError{ field: "Kind", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetKind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, InternalUpstreamTransport_MetadataValueSourceValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, InternalUpstreamTransport_MetadataValueSourceValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return InternalUpstreamTransport_MetadataValueSourceValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetName()) < 1 { err := InternalUpstreamTransport_MetadataValueSourceValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return InternalUpstreamTransport_MetadataValueSourceMultiError(errors) } return nil } // InternalUpstreamTransport_MetadataValueSourceMultiError is an error wrapping // multiple validation errors returned by // InternalUpstreamTransport_MetadataValueSource.ValidateAll() if the // designated constraints aren't met. type InternalUpstreamTransport_MetadataValueSourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m InternalUpstreamTransport_MetadataValueSourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m InternalUpstreamTransport_MetadataValueSourceMultiError) AllErrors() []error { return m } // InternalUpstreamTransport_MetadataValueSourceValidationError is the // validation error returned by // InternalUpstreamTransport_MetadataValueSource.Validate if the designated // constraints aren't met. type InternalUpstreamTransport_MetadataValueSourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e InternalUpstreamTransport_MetadataValueSourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e InternalUpstreamTransport_MetadataValueSourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e InternalUpstreamTransport_MetadataValueSourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e InternalUpstreamTransport_MetadataValueSourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e InternalUpstreamTransport_MetadataValueSourceValidationError) ErrorName() string { return "InternalUpstreamTransport_MetadataValueSourceValidationError" } // Error satisfies the builtin error interface func (e InternalUpstreamTransport_MetadataValueSourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInternalUpstreamTransport_MetadataValueSource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = InternalUpstreamTransport_MetadataValueSourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = InternalUpstreamTransport_MetadataValueSourceValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/proxy_protocol/000077500000000000000000000000001454502223200272015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/proxy_protocol/v3/000077500000000000000000000000001454502223200275315ustar00rootroot00000000000000upstream_proxy_protocol.pb.go000077500000000000000000000256241454502223200354370ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/proxy_protocol/v3// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto package proxy_protocolv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for PROXY protocol socket type ProxyProtocolUpstreamTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The PROXY protocol settings Config *v3.ProxyProtocolConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` // The underlying transport socket being wrapped. TransportSocket *v3.TransportSocket `protobuf:"bytes,2,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *ProxyProtocolUpstreamTransport) Reset() { *x = ProxyProtocolUpstreamTransport{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProxyProtocolUpstreamTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProxyProtocolUpstreamTransport) ProtoMessage() {} func (x *ProxyProtocolUpstreamTransport) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProxyProtocolUpstreamTransport.ProtoReflect.Descriptor instead. func (*ProxyProtocolUpstreamTransport) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescGZIP(), []int{0} } func (x *ProxyProtocolUpstreamTransport) GetConfig() *v3.ProxyProtocolConfig { if x != nil { return x.Config } return nil } func (x *ProxyProtocolUpstreamTransport) GetTransportSocket() *v3.TransportSocket { if x != nil { return x.TransportSocket } return nil } var File_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDesc = []byte{ 0x0a, 0x52, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0xd8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x42, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescData = file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDesc ) func file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDescData } var file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_goTypes = []interface{}{ (*ProxyProtocolUpstreamTransport)(nil), // 0: envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport (*v3.ProxyProtocolConfig)(nil), // 1: envoy.config.core.v3.ProxyProtocolConfig (*v3.TransportSocket)(nil), // 2: envoy.config.core.v3.TransportSocket } var file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport.config:type_name -> envoy.config.core.v3.ProxyProtocolConfig 2, // 1: envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_init() } func file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_init() { if File_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProxyProtocolUpstreamTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto = out.File file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_rawDesc = nil file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_goTypes = nil file_envoy_extensions_transport_sockets_proxy_protocol_v3_upstream_proxy_protocol_proto_depIdxs = nil } upstream_proxy_protocol.pb.validate.go000077500000000000000000000132131454502223200372160ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/proxy_protocol/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto package proxy_protocolv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProxyProtocolUpstreamTransport with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProxyProtocolUpstreamTransport) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProxyProtocolUpstreamTransport with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ProxyProtocolUpstreamTransportMultiError, or nil if none found. func (m *ProxyProtocolUpstreamTransport) ValidateAll() error { return m.validate(true) } func (m *ProxyProtocolUpstreamTransport) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocolUpstreamTransportValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocolUpstreamTransportValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocolUpstreamTransportValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } if m.GetTransportSocket() == nil { err := ProxyProtocolUpstreamTransportValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProxyProtocolUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProxyProtocolUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProxyProtocolUpstreamTransportValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ProxyProtocolUpstreamTransportMultiError(errors) } return nil } // ProxyProtocolUpstreamTransportMultiError is an error wrapping multiple // validation errors returned by ProxyProtocolUpstreamTransport.ValidateAll() // if the designated constraints aren't met. type ProxyProtocolUpstreamTransportMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProxyProtocolUpstreamTransportMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProxyProtocolUpstreamTransportMultiError) AllErrors() []error { return m } // ProxyProtocolUpstreamTransportValidationError is the validation error // returned by ProxyProtocolUpstreamTransport.Validate if the designated // constraints aren't met. type ProxyProtocolUpstreamTransportValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProxyProtocolUpstreamTransportValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProxyProtocolUpstreamTransportValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProxyProtocolUpstreamTransportValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProxyProtocolUpstreamTransportValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProxyProtocolUpstreamTransportValidationError) ErrorName() string { return "ProxyProtocolUpstreamTransportValidationError" } // Error satisfies the builtin error interface func (e ProxyProtocolUpstreamTransportValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProxyProtocolUpstreamTransport.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProxyProtocolUpstreamTransportValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProxyProtocolUpstreamTransportValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/quic/000077500000000000000000000000001454502223200250405ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/quic/v3/000077500000000000000000000000001454502223200253705ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/quic/v3/quic_transport.pb.go000077500000000000000000000332021454502223200313770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/quic/v3/quic_transport.proto package quicv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for Downstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. type QuicDownstreamTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DownstreamTlsContext *v3.DownstreamTlsContext `protobuf:"bytes,1,opt,name=downstream_tls_context,json=downstreamTlsContext,proto3" json:"downstream_tls_context,omitempty"` // If false, QUIC will tell TLS to reject any early data and to stop issuing 0-RTT credentials with resumption session tickets. This will prevent clients from sending 0-RTT requests. // Default to true. EnableEarlyData *wrappers.BoolValue `protobuf:"bytes,2,opt,name=enable_early_data,json=enableEarlyData,proto3" json:"enable_early_data,omitempty"` } func (x *QuicDownstreamTransport) Reset() { *x = QuicDownstreamTransport{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicDownstreamTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicDownstreamTransport) ProtoMessage() {} func (x *QuicDownstreamTransport) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicDownstreamTransport.ProtoReflect.Descriptor instead. func (*QuicDownstreamTransport) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescGZIP(), []int{0} } func (x *QuicDownstreamTransport) GetDownstreamTlsContext() *v3.DownstreamTlsContext { if x != nil { return x.DownstreamTlsContext } return nil } func (x *QuicDownstreamTransport) GetEnableEarlyData() *wrappers.BoolValue { if x != nil { return x.EnableEarlyData } return nil } // Configuration for Upstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. type QuicUpstreamTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UpstreamTlsContext *v3.UpstreamTlsContext `protobuf:"bytes,1,opt,name=upstream_tls_context,json=upstreamTlsContext,proto3" json:"upstream_tls_context,omitempty"` } func (x *QuicUpstreamTransport) Reset() { *x = QuicUpstreamTransport{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuicUpstreamTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuicUpstreamTransport) ProtoMessage() {} func (x *QuicUpstreamTransport) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuicUpstreamTransport.ProtoReflect.Descriptor instead. func (*QuicUpstreamTransport) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescGZIP(), []int{1} } func (x *QuicUpstreamTransport) GetUpstreamTlsContext() *v3.UpstreamTlsContext { if x != nil { return x.UpstreamTlsContext } return nil } var File_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x17, 0x51, 0x75, 0x69, 0x63, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x7f, 0x0a, 0x16, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x92, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x79, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0xb2, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x51, 0x75, 0x69, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x71, 0x75, 0x69, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescData = file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDesc ) func file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDescData } var file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_goTypes = []interface{}{ (*QuicDownstreamTransport)(nil), // 0: envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport (*QuicUpstreamTransport)(nil), // 1: envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport (*v3.DownstreamTlsContext)(nil), // 2: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext (*wrappers.BoolValue)(nil), // 3: google.protobuf.BoolValue (*v3.UpstreamTlsContext)(nil), // 4: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext } var file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport.downstream_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext 3, // 1: envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport.enable_early_data:type_name -> google.protobuf.BoolValue 4, // 2: envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport.upstream_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_init() } func file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_init() { if File_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicDownstreamTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicUpstreamTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto = out.File file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_rawDesc = nil file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_goTypes = nil file_envoy_extensions_transport_sockets_quic_v3_quic_transport_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/quic/v3/quic_transport.pb.validate.go000077500000000000000000000226331454502223200331750ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/quic/v3/quic_transport.proto package quicv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on QuicDownstreamTransport with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicDownstreamTransport) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicDownstreamTransport with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicDownstreamTransportMultiError, or nil if none found. func (m *QuicDownstreamTransport) ValidateAll() error { return m.validate(true) } func (m *QuicDownstreamTransport) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDownstreamTlsContext() == nil { err := QuicDownstreamTransportValidationError{ field: "DownstreamTlsContext", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDownstreamTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicDownstreamTransportValidationError{ field: "DownstreamTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicDownstreamTransportValidationError{ field: "DownstreamTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDownstreamTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicDownstreamTransportValidationError{ field: "DownstreamTlsContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetEnableEarlyData()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicDownstreamTransportValidationError{ field: "EnableEarlyData", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicDownstreamTransportValidationError{ field: "EnableEarlyData", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnableEarlyData()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicDownstreamTransportValidationError{ field: "EnableEarlyData", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return QuicDownstreamTransportMultiError(errors) } return nil } // QuicDownstreamTransportMultiError is an error wrapping multiple validation // errors returned by QuicDownstreamTransport.ValidateAll() if the designated // constraints aren't met. type QuicDownstreamTransportMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicDownstreamTransportMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicDownstreamTransportMultiError) AllErrors() []error { return m } // QuicDownstreamTransportValidationError is the validation error returned by // QuicDownstreamTransport.Validate if the designated constraints aren't met. type QuicDownstreamTransportValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicDownstreamTransportValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicDownstreamTransportValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicDownstreamTransportValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicDownstreamTransportValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicDownstreamTransportValidationError) ErrorName() string { return "QuicDownstreamTransportValidationError" } // Error satisfies the builtin error interface func (e QuicDownstreamTransportValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicDownstreamTransport.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicDownstreamTransportValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicDownstreamTransportValidationError{} // Validate checks the field values on QuicUpstreamTransport with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *QuicUpstreamTransport) Validate() error { return m.validate(false) } // ValidateAll checks the field values on QuicUpstreamTransport with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // QuicUpstreamTransportMultiError, or nil if none found. func (m *QuicUpstreamTransport) ValidateAll() error { return m.validate(true) } func (m *QuicUpstreamTransport) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetUpstreamTlsContext() == nil { err := QuicUpstreamTransportValidationError{ field: "UpstreamTlsContext", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetUpstreamTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, QuicUpstreamTransportValidationError{ field: "UpstreamTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, QuicUpstreamTransportValidationError{ field: "UpstreamTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return QuicUpstreamTransportValidationError{ field: "UpstreamTlsContext", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return QuicUpstreamTransportMultiError(errors) } return nil } // QuicUpstreamTransportMultiError is an error wrapping multiple validation // errors returned by QuicUpstreamTransport.ValidateAll() if the designated // constraints aren't met. type QuicUpstreamTransportMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m QuicUpstreamTransportMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m QuicUpstreamTransportMultiError) AllErrors() []error { return m } // QuicUpstreamTransportValidationError is the validation error returned by // QuicUpstreamTransport.Validate if the designated constraints aren't met. type QuicUpstreamTransportValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e QuicUpstreamTransportValidationError) Field() string { return e.field } // Reason function returns reason value. func (e QuicUpstreamTransportValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e QuicUpstreamTransportValidationError) Cause() error { return e.cause } // Key function returns key value. func (e QuicUpstreamTransportValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e QuicUpstreamTransportValidationError) ErrorName() string { return "QuicUpstreamTransportValidationError" } // Error satisfies the builtin error interface func (e QuicUpstreamTransportValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sQuicUpstreamTransport.%s: %s%s", key, e.field, e.reason, cause) } var _ error = QuicUpstreamTransportValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = QuicUpstreamTransportValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/raw_buffer/000077500000000000000000000000001454502223200262215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/raw_buffer/v3/000077500000000000000000000000001454502223200265515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.pb.go000077500000000000000000000172151454502223200316330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.proto package raw_bufferv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for raw buffer transport socket. type RawBuffer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RawBuffer) Reset() { *x = RawBuffer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RawBuffer) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawBuffer) ProtoMessage() {} func (x *RawBuffer) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawBuffer.ProtoReflect.Descriptor instead. func (*RawBuffer) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDesc = []byte{ 0x0a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x09, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescData = file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDesc ) func file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDescData } var file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_goTypes = []interface{}{ (*RawBuffer)(nil), // 0: envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer } var file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_init() } func file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_init() { if File_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RawBuffer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto = out.File file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_rawDesc = nil file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_goTypes = nil file_envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.pb.validate.go000077500000000000000000000062201454502223200334150ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.proto package raw_bufferv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RawBuffer with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RawBuffer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RawBuffer with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RawBufferMultiError, or nil // if none found. func (m *RawBuffer) ValidateAll() error { return m.validate(true) } func (m *RawBuffer) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RawBufferMultiError(errors) } return nil } // RawBufferMultiError is an error wrapping multiple validation errors returned // by RawBuffer.ValidateAll() if the designated constraints aren't met. type RawBufferMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RawBufferMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RawBufferMultiError) AllErrors() []error { return m } // RawBufferValidationError is the validation error returned by // RawBuffer.Validate if the designated constraints aren't met. type RawBufferValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RawBufferValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RawBufferValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RawBufferValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RawBufferValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RawBufferValidationError) ErrorName() string { return "RawBufferValidationError" } // Error satisfies the builtin error interface func (e RawBufferValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRawBuffer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RawBufferValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RawBufferValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/s2a/000077500000000000000000000000001454502223200245645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/s2a/v3/000077500000000000000000000000001454502223200251145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/s2a/v3/s2a.pb.go000077500000000000000000000166351454502223200265460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/s2a/v3/s2a.proto package s2av3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] // Configuration for S2A transport socket. This allows Envoy clients to // configure how to offload mTLS handshakes to the S2A service. // https://github.com/google/s2a-go#readme type S2AConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address of the S2A. This can be an IP address or a hostname, // followed by a port number. S2AAddress string `protobuf:"bytes,1,opt,name=s2a_address,json=s2aAddress,proto3" json:"s2a_address,omitempty"` } func (x *S2AConfiguration) Reset() { *x = S2AConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *S2AConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*S2AConfiguration) ProtoMessage() {} func (x *S2AConfiguration) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use S2AConfiguration.ProtoReflect.Descriptor instead. func (*S2AConfiguration) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescGZIP(), []int{0} } func (x *S2AConfiguration) GetS2AAddress() string { if x != nil { return x.S2AAddress } return "" } var File_envoy_extensions_transport_sockets_s2a_v3_s2a_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x73, 0x32, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x10, 0x53, 0x32, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x32, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x32, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x53, 0x32, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x73, 0x32, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x32, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescData = file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDesc ) func file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDescData } var file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_goTypes = []interface{}{ (*S2AConfiguration)(nil), // 0: envoy.extensions.transport_sockets.s2a.v3.S2AConfiguration } var file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_init() } func file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_init() { if File_envoy_extensions_transport_sockets_s2a_v3_s2a_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*S2AConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_s2a_v3_s2a_proto = out.File file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_rawDesc = nil file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_goTypes = nil file_envoy_extensions_transport_sockets_s2a_v3_s2a_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/s2a/v3/s2a.pb.validate.go000077500000000000000000000070351454502223200303300ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/s2a/v3/s2a.proto package s2av3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on S2AConfiguration with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *S2AConfiguration) Validate() error { return m.validate(false) } // ValidateAll checks the field values on S2AConfiguration with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // S2AConfigurationMultiError, or nil if none found. func (m *S2AConfiguration) ValidateAll() error { return m.validate(true) } func (m *S2AConfiguration) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetS2AAddress()) < 1 { err := S2AConfigurationValidationError{ field: "S2AAddress", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return S2AConfigurationMultiError(errors) } return nil } // S2AConfigurationMultiError is an error wrapping multiple validation errors // returned by S2AConfiguration.ValidateAll() if the designated constraints // aren't met. type S2AConfigurationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m S2AConfigurationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m S2AConfigurationMultiError) AllErrors() []error { return m } // S2AConfigurationValidationError is the validation error returned by // S2AConfiguration.Validate if the designated constraints aren't met. type S2AConfigurationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e S2AConfigurationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e S2AConfigurationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e S2AConfigurationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e S2AConfigurationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e S2AConfigurationValidationError) ErrorName() string { return "S2AConfigurationValidationError" } // Error satisfies the builtin error interface func (e S2AConfigurationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sS2AConfiguration.%s: %s%s", key, e.field, e.reason, cause) } var _ error = S2AConfigurationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = S2AConfigurationValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/starttls/000077500000000000000000000000001454502223200257575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/starttls/v3/000077500000000000000000000000001454502223200263075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/starttls/v3/starttls.pb.go000077500000000000000000000366571454502223200311420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/starttls/v3/starttls.proto package starttlsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/raw_buffer/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for a downstream StartTls transport socket. // StartTls transport socket wraps two sockets: // * raw_buffer socket which is used at the beginning of the session // * TLS socket used when a protocol negotiates a switch to encrypted traffic. type StartTlsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // (optional) Configuration for clear-text socket used at the beginning of the session. CleartextSocketConfig *v3.RawBuffer `protobuf:"bytes,1,opt,name=cleartext_socket_config,json=cleartextSocketConfig,proto3" json:"cleartext_socket_config,omitempty"` // Configuration for a downstream TLS socket. TlsSocketConfig *v31.DownstreamTlsContext `protobuf:"bytes,2,opt,name=tls_socket_config,json=tlsSocketConfig,proto3" json:"tls_socket_config,omitempty"` } func (x *StartTlsConfig) Reset() { *x = StartTlsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StartTlsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*StartTlsConfig) ProtoMessage() {} func (x *StartTlsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StartTlsConfig.ProtoReflect.Descriptor instead. func (*StartTlsConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescGZIP(), []int{0} } func (x *StartTlsConfig) GetCleartextSocketConfig() *v3.RawBuffer { if x != nil { return x.CleartextSocketConfig } return nil } func (x *StartTlsConfig) GetTlsSocketConfig() *v31.DownstreamTlsContext { if x != nil { return x.TlsSocketConfig } return nil } // Configuration for an upstream StartTls transport socket. // StartTls transport socket wraps two sockets: // * raw_buffer socket which is used at the beginning of the session // * TLS socket used when a protocol negotiates a switch to encrypted traffic. type UpstreamStartTlsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // (optional) Configuration for clear-text socket used at the beginning of the session. CleartextSocketConfig *v3.RawBuffer `protobuf:"bytes,1,opt,name=cleartext_socket_config,json=cleartextSocketConfig,proto3" json:"cleartext_socket_config,omitempty"` // Configuration for an upstream TLS socket. TlsSocketConfig *v31.UpstreamTlsContext `protobuf:"bytes,2,opt,name=tls_socket_config,json=tlsSocketConfig,proto3" json:"tls_socket_config,omitempty"` } func (x *UpstreamStartTlsConfig) Reset() { *x = UpstreamStartTlsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamStartTlsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamStartTlsConfig) ProtoMessage() {} func (x *UpstreamStartTlsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamStartTlsConfig.ProtoReflect.Descriptor instead. func (*UpstreamStartTlsConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescGZIP(), []int{1} } func (x *UpstreamStartTlsConfig) GetCleartextSocketConfig() *v3.RawBuffer { if x != nil { return x.CleartextSocketConfig } return nil } func (x *UpstreamStartTlsConfig) GetTlsSocketConfig() *v31.UpstreamTlsContext { if x != nil { return x.TlsSocketConfig } return nil } var File_envoy_extensions_transport_sockets_starttls_v3_starttls_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDesc = []byte{ 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x41, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x17, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x15, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x74, 0x65, 0x78, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x11, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x82, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x17, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x15, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x74, 0x65, 0x78, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x11, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xb9, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescData = file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDesc ) func file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDescData } var file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_goTypes = []interface{}{ (*StartTlsConfig)(nil), // 0: envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig (*UpstreamStartTlsConfig)(nil), // 1: envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig (*v3.RawBuffer)(nil), // 2: envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer (*v31.DownstreamTlsContext)(nil), // 3: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext (*v31.UpstreamTlsContext)(nil), // 4: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext } var file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_depIdxs = []int32{ 2, // 0: envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig.cleartext_socket_config:type_name -> envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer 3, // 1: envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig.tls_socket_config:type_name -> envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext 2, // 2: envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig.cleartext_socket_config:type_name -> envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer 4, // 3: envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig.tls_socket_config:type_name -> envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_init() } func file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_init() { if File_envoy_extensions_transport_sockets_starttls_v3_starttls_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartTlsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamStartTlsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_starttls_v3_starttls_proto = out.File file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_rawDesc = nil file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_goTypes = nil file_envoy_extensions_transport_sockets_starttls_v3_starttls_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/starttls/v3/starttls.pb.validate.go000077500000000000000000000240251454502223200327140ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/starttls/v3/starttls.proto package starttlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StartTlsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StartTlsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StartTlsConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StartTlsConfigMultiError, // or nil if none found. func (m *StartTlsConfig) ValidateAll() error { return m.validate(true) } func (m *StartTlsConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCleartextSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCleartextSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetTlsSocketConfig() == nil { err := StartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTlsSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StartTlsConfigMultiError(errors) } return nil } // StartTlsConfigMultiError is an error wrapping multiple validation errors // returned by StartTlsConfig.ValidateAll() if the designated constraints // aren't met. type StartTlsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StartTlsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StartTlsConfigMultiError) AllErrors() []error { return m } // StartTlsConfigValidationError is the validation error returned by // StartTlsConfig.Validate if the designated constraints aren't met. type StartTlsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StartTlsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StartTlsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StartTlsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StartTlsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StartTlsConfigValidationError) ErrorName() string { return "StartTlsConfigValidationError" } // Error satisfies the builtin error interface func (e StartTlsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStartTlsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StartTlsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StartTlsConfigValidationError{} // Validate checks the field values on UpstreamStartTlsConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamStartTlsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamStartTlsConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamStartTlsConfigMultiError, or nil if none found. func (m *UpstreamStartTlsConfig) ValidateAll() error { return m.validate(true) } func (m *UpstreamStartTlsConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCleartextSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamStartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamStartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCleartextSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamStartTlsConfigValidationError{ field: "CleartextSocketConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetTlsSocketConfig() == nil { err := UpstreamStartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTlsSocketConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamStartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamStartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsSocketConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamStartTlsConfigValidationError{ field: "TlsSocketConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamStartTlsConfigMultiError(errors) } return nil } // UpstreamStartTlsConfigMultiError is an error wrapping multiple validation // errors returned by UpstreamStartTlsConfig.ValidateAll() if the designated // constraints aren't met. type UpstreamStartTlsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamStartTlsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamStartTlsConfigMultiError) AllErrors() []error { return m } // UpstreamStartTlsConfigValidationError is the validation error returned by // UpstreamStartTlsConfig.Validate if the designated constraints aren't met. type UpstreamStartTlsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamStartTlsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamStartTlsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamStartTlsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamStartTlsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamStartTlsConfigValidationError) ErrorName() string { return "UpstreamStartTlsConfigValidationError" } // Error satisfies the builtin error interface func (e UpstreamStartTlsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamStartTlsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamStartTlsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamStartTlsConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tap/000077500000000000000000000000001454502223200246635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tap/v3/000077500000000000000000000000001454502223200252135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tap/v3/tap.pb.go000077500000000000000000000237021454502223200267350ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tap/v3/tap.proto package tapv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/tap/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for tap transport socket. This wraps another transport socket, providing the // ability to interpose and record in plain text any traffic that is surfaced to Envoy. type Tap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common configuration for the tap transport socket. CommonConfig *v3.CommonExtensionConfig `protobuf:"bytes,1,opt,name=common_config,json=commonConfig,proto3" json:"common_config,omitempty"` // The underlying transport socket being wrapped. TransportSocket *v31.TransportSocket `protobuf:"bytes,2,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` } func (x *Tap) Reset() { *x = Tap{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tap_v3_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Tap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Tap) ProtoMessage() {} func (x *Tap) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tap_v3_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Tap.ProtoReflect.Descriptor instead. func (*Tap) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescGZIP(), []int{0} } func (x *Tap) GetCommonConfig() *v3.CommonExtensionConfig { if x != nil { return x.CommonConfig } return nil } func (x *Tap) GetTransportSocket() *v31.TransportSocket { if x != nil { return x.TransportSocket } return nil } var File_envoy_extensions_transport_sockets_tap_v3_tap_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x03, 0x54, 0x61, 0x70, 0x12, 0x64, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x61, 0x70, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescData = file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDescData } var file_envoy_extensions_transport_sockets_tap_v3_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_tap_v3_tap_proto_goTypes = []interface{}{ (*Tap)(nil), // 0: envoy.extensions.transport_sockets.tap.v3.Tap (*v3.CommonExtensionConfig)(nil), // 1: envoy.extensions.common.tap.v3.CommonExtensionConfig (*v31.TransportSocket)(nil), // 2: envoy.config.core.v3.TransportSocket } var file_envoy_extensions_transport_sockets_tap_v3_tap_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.tap.v3.Tap.common_config:type_name -> envoy.extensions.common.tap.v3.CommonExtensionConfig 2, // 1: envoy.extensions.transport_sockets.tap.v3.Tap.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tap_v3_tap_proto_init() } func file_envoy_extensions_transport_sockets_tap_v3_tap_proto_init() { if File_envoy_extensions_transport_sockets_tap_v3_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tap_v3_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tap_v3_tap_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tap_v3_tap_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_tap_v3_tap_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tap_v3_tap_proto = out.File file_envoy_extensions_transport_sockets_tap_v3_tap_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tap_v3_tap_proto_goTypes = nil file_envoy_extensions_transport_sockets_tap_v3_tap_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tap/v3/tap.pb.validate.go000077500000000000000000000117231454502223200305250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tap/v3/tap.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Tap with the rules defined in the proto // definition for this message. If any rules are violated, the first error // encountered is returned, or nil if there are no violations. func (m *Tap) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Tap with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in TapMultiError, or nil if none found. func (m *Tap) ValidateAll() error { return m.validate(true) } func (m *Tap) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetCommonConfig() == nil { err := TapValidationError{ field: "CommonConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCommonConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "CommonConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetTransportSocket() == nil { err := TapValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapMultiError(errors) } return nil } // TapMultiError is an error wrapping multiple validation errors returned by // Tap.ValidateAll() if the designated constraints aren't met. type TapMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapMultiError) AllErrors() []error { return m } // TapValidationError is the validation error returned by Tap.Validate if the // designated constraints aren't met. type TapValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapValidationError) ErrorName() string { return "TapValidationError" } // Error satisfies the builtin error interface func (e TapValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTap.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tcp_stats/000077500000000000000000000000001454502223200261035ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tcp_stats/v3/000077500000000000000000000000001454502223200264335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tcp_stats/v3/tcp_stats.pb.go000077500000000000000000000241471454502223200314010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tcp_stats/v3/tcp_stats.proto package tcp_statsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the TCP Stats transport socket wrapper, which wraps another transport socket for // all communication, but emits stats about the underlying TCP connection. // // The stats are documented :ref:`here ` for listeners and // :ref:`here ` for clusters. // // This transport socket is currently only supported on Linux. type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The underlying transport socket being wrapped. TransportSocket *v3.TransportSocket `protobuf:"bytes,1,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` // Period to update stats while the connection is open. If unset, updates only happen when the // connection is closed. Stats are always updated one final time when the connection is closed. UpdatePeriod *duration.Duration `protobuf:"bytes,2,opt,name=update_period,json=updatePeriod,proto3" json:"update_period,omitempty"` } func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescGZIP(), []int{0} } func (x *Config) GetTransportSocket() *v3.TransportSocket { if x != nil { return x.TransportSocket } return nil } func (x *Config) GetUpdatePeriod() *duration.Duration { if x != nil { return x.UpdatePeriod } return nil } var File_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDesc = []byte{ 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0xaa, 0x01, 0x06, 0x32, 0x04, 0x10, 0xc0, 0x84, 0x3d, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0xbc, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x54, 0x63, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescData = file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDescData } var file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_goTypes = []interface{}{ (*Config)(nil), // 0: envoy.extensions.transport_sockets.tcp_stats.v3.Config (*v3.TransportSocket)(nil), // 1: envoy.config.core.v3.TransportSocket (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.tcp_stats.v3.Config.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 2, // 1: envoy.extensions.transport_sockets.tcp_stats.v3.Config.update_period:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_init() } func file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_init() { if File_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Config); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto = out.File file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_goTypes = nil file_envoy_extensions_transport_sockets_tcp_stats_v3_tcp_stats_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tcp_stats/v3/tcp_stats.pb.validate.go000077500000000000000000000112511454502223200331610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tcp_stats/v3/tcp_stats.proto package tcp_statsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Config) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Config with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in ConfigMultiError, or nil if none found. func (m *Config) ValidateAll() error { return m.validate(true) } func (m *Config) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetTransportSocket() == nil { err := ConfigValidationError{ field: "TransportSocket", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTransportSocket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ConfigValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ConfigValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTransportSocket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ConfigValidationError{ field: "TransportSocket", reason: "embedded message failed validation", cause: err, } } } if d := m.GetUpdatePeriod(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = ConfigValidationError{ field: "UpdatePeriod", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 1000000*time.Nanosecond) if dur < gte { err := ConfigValidationError{ field: "UpdatePeriod", reason: "value must be greater than or equal to 1ms", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return ConfigMultiError(errors) } return nil } // ConfigMultiError is an error wrapping multiple validation errors returned by // Config.ValidateAll() if the designated constraints aren't met. type ConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ConfigMultiError) AllErrors() []error { return m } // ConfigValidationError is the validation error returned by Config.Validate if // the designated constraints aren't met. type ConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } // Error satisfies the builtin error interface func (e ConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/000077500000000000000000000000001454502223200247015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/000077500000000000000000000000001454502223200252315ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/cert.pb.go000077500000000000000000000117141454502223200271240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tls/v3/cert.proto package tlsv3 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_extensions_transport_sockets_tls_v3_cert_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tls_v3_cert_proto_rawDesc = []byte{ 0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x9e, 0x01, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x43, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x50, 0x00, 0x50, 0x01, 0x50, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_extensions_transport_sockets_tls_v3_cert_proto_goTypes = []interface{}{} var file_envoy_extensions_transport_sockets_tls_v3_cert_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tls_v3_cert_proto_init() } func file_envoy_extensions_transport_sockets_tls_v3_cert_proto_init() { if File_envoy_extensions_transport_sockets_tls_v3_cert_proto != nil { return } file_envoy_extensions_transport_sockets_tls_v3_common_proto_init() file_envoy_extensions_transport_sockets_tls_v3_secret_proto_init() file_envoy_extensions_transport_sockets_tls_v3_tls_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tls_v3_cert_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tls_v3_cert_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tls_v3_cert_proto_depIdxs, }.Build() File_envoy_extensions_transport_sockets_tls_v3_cert_proto = out.File file_envoy_extensions_transport_sockets_tls_v3_cert_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tls_v3_cert_proto_goTypes = nil file_envoy_extensions_transport_sockets_tls_v3_cert_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/cert.pb.validate.go000077500000000000000000000011141454502223200307050ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tls/v3/cert.proto package tlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/common.pb.go000077500000000000000000002420721454502223200274620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tls/v3/common.proto package tlsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TlsParameters_TlsProtocol int32 const ( // Envoy will choose the optimal TLS version. TlsParameters_TLS_AUTO TlsParameters_TlsProtocol = 0 // TLS 1.0 TlsParameters_TLSv1_0 TlsParameters_TlsProtocol = 1 // TLS 1.1 TlsParameters_TLSv1_1 TlsParameters_TlsProtocol = 2 // TLS 1.2 TlsParameters_TLSv1_2 TlsParameters_TlsProtocol = 3 // TLS 1.3 TlsParameters_TLSv1_3 TlsParameters_TlsProtocol = 4 ) // Enum value maps for TlsParameters_TlsProtocol. var ( TlsParameters_TlsProtocol_name = map[int32]string{ 0: "TLS_AUTO", 1: "TLSv1_0", 2: "TLSv1_1", 3: "TLSv1_2", 4: "TLSv1_3", } TlsParameters_TlsProtocol_value = map[string]int32{ "TLS_AUTO": 0, "TLSv1_0": 1, "TLSv1_1": 2, "TLSv1_2": 3, "TLSv1_3": 4, } ) func (x TlsParameters_TlsProtocol) Enum() *TlsParameters_TlsProtocol { p := new(TlsParameters_TlsProtocol) *p = x return p } func (x TlsParameters_TlsProtocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TlsParameters_TlsProtocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[0].Descriptor() } func (TlsParameters_TlsProtocol) Type() protoreflect.EnumType { return &file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[0] } func (x TlsParameters_TlsProtocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TlsParameters_TlsProtocol.Descriptor instead. func (TlsParameters_TlsProtocol) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{0, 0} } // Indicates the choice of GeneralName as defined in section 4.2.1.5 of RFC 5280 to match // against. type SubjectAltNameMatcher_SanType int32 const ( SubjectAltNameMatcher_SAN_TYPE_UNSPECIFIED SubjectAltNameMatcher_SanType = 0 SubjectAltNameMatcher_EMAIL SubjectAltNameMatcher_SanType = 1 SubjectAltNameMatcher_DNS SubjectAltNameMatcher_SanType = 2 SubjectAltNameMatcher_URI SubjectAltNameMatcher_SanType = 3 SubjectAltNameMatcher_IP_ADDRESS SubjectAltNameMatcher_SanType = 4 ) // Enum value maps for SubjectAltNameMatcher_SanType. var ( SubjectAltNameMatcher_SanType_name = map[int32]string{ 0: "SAN_TYPE_UNSPECIFIED", 1: "EMAIL", 2: "DNS", 3: "URI", 4: "IP_ADDRESS", } SubjectAltNameMatcher_SanType_value = map[string]int32{ "SAN_TYPE_UNSPECIFIED": 0, "EMAIL": 1, "DNS": 2, "URI": 3, "IP_ADDRESS": 4, } ) func (x SubjectAltNameMatcher_SanType) Enum() *SubjectAltNameMatcher_SanType { p := new(SubjectAltNameMatcher_SanType) *p = x return p } func (x SubjectAltNameMatcher_SanType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SubjectAltNameMatcher_SanType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[1].Descriptor() } func (SubjectAltNameMatcher_SanType) Type() protoreflect.EnumType { return &file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[1] } func (x SubjectAltNameMatcher_SanType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SubjectAltNameMatcher_SanType.Descriptor instead. func (SubjectAltNameMatcher_SanType) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{5, 0} } // Peer certificate verification mode. type CertificateValidationContext_TrustChainVerification int32 const ( // Perform default certificate verification (e.g., against CA / verification lists) CertificateValidationContext_VERIFY_TRUST_CHAIN CertificateValidationContext_TrustChainVerification = 0 // Connections where the certificate fails verification will be permitted. // For HTTP connections, the result of certificate verification can be used in route matching. ( // see :ref:`validated ` ). CertificateValidationContext_ACCEPT_UNTRUSTED CertificateValidationContext_TrustChainVerification = 1 ) // Enum value maps for CertificateValidationContext_TrustChainVerification. var ( CertificateValidationContext_TrustChainVerification_name = map[int32]string{ 0: "VERIFY_TRUST_CHAIN", 1: "ACCEPT_UNTRUSTED", } CertificateValidationContext_TrustChainVerification_value = map[string]int32{ "VERIFY_TRUST_CHAIN": 0, "ACCEPT_UNTRUSTED": 1, } ) func (x CertificateValidationContext_TrustChainVerification) Enum() *CertificateValidationContext_TrustChainVerification { p := new(CertificateValidationContext_TrustChainVerification) *p = x return p } func (x CertificateValidationContext_TrustChainVerification) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CertificateValidationContext_TrustChainVerification) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[2].Descriptor() } func (CertificateValidationContext_TrustChainVerification) Type() protoreflect.EnumType { return &file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes[2] } func (x CertificateValidationContext_TrustChainVerification) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CertificateValidationContext_TrustChainVerification.Descriptor instead. func (CertificateValidationContext_TrustChainVerification) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{6, 0} } // [#next-free-field: 6] type TlsParameters struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Minimum TLS protocol version. By default, it's “TLSv1_2“ for both clients and servers. // // TLS protocol versions below TLSv1_2 require setting compatible ciphers with the // “cipher_suites“ setting as the default ciphers no longer include compatible ciphers. // // .. attention:: // // Using TLS protocol versions below TLSv1_2 has serious security considerations and risks. TlsMinimumProtocolVersion TlsParameters_TlsProtocol `protobuf:"varint,1,opt,name=tls_minimum_protocol_version,json=tlsMinimumProtocolVersion,proto3,enum=envoy.extensions.transport_sockets.tls.v3.TlsParameters_TlsProtocol" json:"tls_minimum_protocol_version,omitempty"` // Maximum TLS protocol version. By default, it's “TLSv1_2“ for clients and “TLSv1_3“ for // servers. TlsMaximumProtocolVersion TlsParameters_TlsProtocol `protobuf:"varint,2,opt,name=tls_maximum_protocol_version,json=tlsMaximumProtocolVersion,proto3,enum=envoy.extensions.transport_sockets.tls.v3.TlsParameters_TlsProtocol" json:"tls_maximum_protocol_version,omitempty"` // If specified, the TLS listener will only support the specified `cipher list // `_ // when negotiating TLS 1.0-1.2 (this setting has no effect when negotiating TLS 1.3). // // If not specified, a default list will be used. Defaults are different for server (downstream) and // client (upstream) TLS configurations. // Defaults will change over time in response to security considerations; If you care, configure // it instead of using the default. // // In non-FIPS builds, the default server cipher list is: // // .. code-block:: none // // [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305] // [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 // // In builds using :ref:`BoringSSL FIPS `, the default server cipher list is: // // .. code-block:: none // // ECDHE-ECDSA-AES128-GCM-SHA256 // ECDHE-RSA-AES128-GCM-SHA256 // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 // // In non-FIPS builds, the default client cipher list is: // // .. code-block:: none // // [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305] // [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305] // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 // // In builds using :ref:`BoringSSL FIPS `, the default client cipher list is: // // .. code-block:: none // // ECDHE-ECDSA-AES128-GCM-SHA256 // ECDHE-RSA-AES128-GCM-SHA256 // ECDHE-ECDSA-AES256-GCM-SHA384 // ECDHE-RSA-AES256-GCM-SHA384 CipherSuites []string `protobuf:"bytes,3,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` // If specified, the TLS connection will only support the specified ECDH // curves. If not specified, the default curves will be used. // // In non-FIPS builds, the default curves are: // // .. code-block:: none // // X25519 // P-256 // // In builds using :ref:`BoringSSL FIPS `, the default curve is: // // .. code-block:: none // // P-256 EcdhCurves []string `protobuf:"bytes,4,rep,name=ecdh_curves,json=ecdhCurves,proto3" json:"ecdh_curves,omitempty"` // If specified, the TLS connection will only support the specified signature algorithms. // The list is ordered by preference. // If not specified, the default signature algorithms defined by BoringSSL will be used. // // Default signature algorithms selected by BoringSSL (may be out of date): // // .. code-block:: none // // ecdsa_secp256r1_sha256 // rsa_pss_rsae_sha256 // rsa_pkcs1_sha256 // ecdsa_secp384r1_sha384 // rsa_pss_rsae_sha384 // rsa_pkcs1_sha384 // rsa_pss_rsae_sha512 // rsa_pkcs1_sha512 // rsa_pkcs1_sha1 // // Signature algorithms supported by BoringSSL (may be out of date): // // .. code-block:: none // // rsa_pkcs1_sha256 // rsa_pkcs1_sha384 // rsa_pkcs1_sha512 // ecdsa_secp256r1_sha256 // ecdsa_secp384r1_sha384 // ecdsa_secp521r1_sha512 // rsa_pss_rsae_sha256 // rsa_pss_rsae_sha384 // rsa_pss_rsae_sha512 // ed25519 // rsa_pkcs1_sha1 // ecdsa_sha1 SignatureAlgorithms []string `protobuf:"bytes,5,rep,name=signature_algorithms,json=signatureAlgorithms,proto3" json:"signature_algorithms,omitempty"` } func (x *TlsParameters) Reset() { *x = TlsParameters{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsParameters) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsParameters) ProtoMessage() {} func (x *TlsParameters) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsParameters.ProtoReflect.Descriptor instead. func (*TlsParameters) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{0} } func (x *TlsParameters) GetTlsMinimumProtocolVersion() TlsParameters_TlsProtocol { if x != nil { return x.TlsMinimumProtocolVersion } return TlsParameters_TLS_AUTO } func (x *TlsParameters) GetTlsMaximumProtocolVersion() TlsParameters_TlsProtocol { if x != nil { return x.TlsMaximumProtocolVersion } return TlsParameters_TLS_AUTO } func (x *TlsParameters) GetCipherSuites() []string { if x != nil { return x.CipherSuites } return nil } func (x *TlsParameters) GetEcdhCurves() []string { if x != nil { return x.EcdhCurves } return nil } func (x *TlsParameters) GetSignatureAlgorithms() []string { if x != nil { return x.SignatureAlgorithms } return nil } // BoringSSL private key method configuration. The private key methods are used for external // (potentially asynchronous) signing and decryption operations. Some use cases for private key // methods would be TPM support and TLS acceleration. type PrivateKeyProvider struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Private key method provider name. The name must match a // supported private key method provider type. ProviderName string `protobuf:"bytes,1,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"` // Private key method provider specific configuration. // // Types that are assignable to ConfigType: // // *PrivateKeyProvider_TypedConfig ConfigType isPrivateKeyProvider_ConfigType `protobuf_oneof:"config_type"` // If the private key provider isn't available (eg. the required hardware capability doesn't existed), // Envoy will fallback to the BoringSSL default implementation when the “fallback“ is true. // The default value is “false“. Fallback bool `protobuf:"varint,4,opt,name=fallback,proto3" json:"fallback,omitempty"` } func (x *PrivateKeyProvider) Reset() { *x = PrivateKeyProvider{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PrivateKeyProvider) String() string { return protoimpl.X.MessageStringOf(x) } func (*PrivateKeyProvider) ProtoMessage() {} func (x *PrivateKeyProvider) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PrivateKeyProvider.ProtoReflect.Descriptor instead. func (*PrivateKeyProvider) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{1} } func (x *PrivateKeyProvider) GetProviderName() string { if x != nil { return x.ProviderName } return "" } func (m *PrivateKeyProvider) GetConfigType() isPrivateKeyProvider_ConfigType { if m != nil { return m.ConfigType } return nil } func (x *PrivateKeyProvider) GetTypedConfig() *any1.Any { if x, ok := x.GetConfigType().(*PrivateKeyProvider_TypedConfig); ok { return x.TypedConfig } return nil } func (x *PrivateKeyProvider) GetFallback() bool { if x != nil { return x.Fallback } return false } type isPrivateKeyProvider_ConfigType interface { isPrivateKeyProvider_ConfigType() } type PrivateKeyProvider_TypedConfig struct { TypedConfig *any1.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*PrivateKeyProvider_TypedConfig) isPrivateKeyProvider_ConfigType() {} // [#next-free-field: 9] type TlsCertificate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The TLS certificate chain. // // If “certificate_chain“ is a filesystem path, a watch will be added to the // parent directory for any file moves to support rotation. This currently // only applies to dynamic secrets, when the “TlsCertificate“ is delivered via // SDS. CertificateChain *v3.DataSource `protobuf:"bytes,1,opt,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"` // The TLS private key. // // If “private_key“ is a filesystem path, a watch will be added to the parent // directory for any file moves to support rotation. This currently only // applies to dynamic secrets, when the “TlsCertificate“ is delivered via SDS. PrivateKey *v3.DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` // “Pkcs12“ data containing TLS certificate, chain, and private key. // // If “pkcs12“ is a filesystem path, the file will be read, but no watch will // be added to the parent directory, since “pkcs12“ isn't used by SDS. // This field is mutually exclusive with “certificate_chain“, “private_key“ and “private_key_provider“. // This can't be marked as “oneof“ due to API compatibility reasons. Setting // both :ref:`private_key `, // :ref:`certificate_chain `, // or :ref:`private_key_provider ` // and :ref:`pkcs12 ` // fields will result in an error. Use :ref:`password // ` // to specify the password to unprotect the “PKCS12“ data, if necessary. Pkcs12 *v3.DataSource `protobuf:"bytes,8,opt,name=pkcs12,proto3" json:"pkcs12,omitempty"` // If specified, updates of file-based “certificate_chain“ and “private_key“ // sources will be triggered by this watch. The certificate/key pair will be // read together and validated for atomic read consistency (i.e. no // intervening modification occurred between cert/key read, verified by file // hash comparisons). This allows explicit control over the path watched, by // default the parent directories of the filesystem paths in // “certificate_chain“ and “private_key“ are watched if this field is not // specified. This only applies when a “TlsCertificate“ is delivered by SDS // with references to filesystem paths. See the :ref:`SDS key rotation // ` documentation for further details. WatchedDirectory *v3.WatchedDirectory `protobuf:"bytes,7,opt,name=watched_directory,json=watchedDirectory,proto3" json:"watched_directory,omitempty"` // BoringSSL private key method provider. This is an alternative to :ref:`private_key // ` field. This can't be // marked as “oneof“ due to API compatibility reasons. Setting both :ref:`private_key // ` and // :ref:`private_key_provider // ` fields will result in an // error. PrivateKeyProvider *PrivateKeyProvider `protobuf:"bytes,6,opt,name=private_key_provider,json=privateKeyProvider,proto3" json:"private_key_provider,omitempty"` // The password to decrypt the TLS private key. If this field is not set, it is assumed that the // TLS private key is not password encrypted. Password *v3.DataSource `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // The OCSP response to be stapled with this certificate during the handshake. // The response must be DER-encoded and may only be provided via “filename“ or // “inline_bytes“. The response may pertain to only one certificate. OcspStaple *v3.DataSource `protobuf:"bytes,4,opt,name=ocsp_staple,json=ocspStaple,proto3" json:"ocsp_staple,omitempty"` // [#not-implemented-hide:] SignedCertificateTimestamp []*v3.DataSource `protobuf:"bytes,5,rep,name=signed_certificate_timestamp,json=signedCertificateTimestamp,proto3" json:"signed_certificate_timestamp,omitempty"` } func (x *TlsCertificate) Reset() { *x = TlsCertificate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsCertificate) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsCertificate) ProtoMessage() {} func (x *TlsCertificate) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsCertificate.ProtoReflect.Descriptor instead. func (*TlsCertificate) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{2} } func (x *TlsCertificate) GetCertificateChain() *v3.DataSource { if x != nil { return x.CertificateChain } return nil } func (x *TlsCertificate) GetPrivateKey() *v3.DataSource { if x != nil { return x.PrivateKey } return nil } func (x *TlsCertificate) GetPkcs12() *v3.DataSource { if x != nil { return x.Pkcs12 } return nil } func (x *TlsCertificate) GetWatchedDirectory() *v3.WatchedDirectory { if x != nil { return x.WatchedDirectory } return nil } func (x *TlsCertificate) GetPrivateKeyProvider() *PrivateKeyProvider { if x != nil { return x.PrivateKeyProvider } return nil } func (x *TlsCertificate) GetPassword() *v3.DataSource { if x != nil { return x.Password } return nil } func (x *TlsCertificate) GetOcspStaple() *v3.DataSource { if x != nil { return x.OcspStaple } return nil } func (x *TlsCertificate) GetSignedCertificateTimestamp() []*v3.DataSource { if x != nil { return x.SignedCertificateTimestamp } return nil } type TlsSessionTicketKeys struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Keys for encrypting and decrypting TLS session tickets. The // first key in the array contains the key to encrypt all new sessions created by this context. // All keys are candidates for decrypting received tickets. This allows for easy rotation of keys // by, for example, putting the new key first, and the previous key second. // // If :ref:`session_ticket_keys ` // is not specified, the TLS library will still support resuming sessions via tickets, but it will // use an internally-generated and managed key, so sessions cannot be resumed across hot restarts // or on different hosts. // // Each key must contain exactly 80 bytes of cryptographically-secure random data. For // example, the output of “openssl rand 80“. // // .. attention:: // // Using this feature has serious security considerations and risks. Improper handling of keys // may result in loss of secrecy in connections, even if ciphers supporting perfect forward // secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some // discussion. To minimize the risk, you must: // // * Keep the session ticket keys at least as secure as your TLS certificate private keys // * Rotate session ticket keys at least daily, and preferably hourly // * Always generate keys using a cryptographically-secure random data source Keys []*v3.DataSource `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` } func (x *TlsSessionTicketKeys) Reset() { *x = TlsSessionTicketKeys{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsSessionTicketKeys) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsSessionTicketKeys) ProtoMessage() {} func (x *TlsSessionTicketKeys) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsSessionTicketKeys.ProtoReflect.Descriptor instead. func (*TlsSessionTicketKeys) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{3} } func (x *TlsSessionTicketKeys) GetKeys() []*v3.DataSource { if x != nil { return x.Keys } return nil } // Indicates a certificate to be obtained from a named CertificateProvider plugin instance. // The plugin instances are defined in the client's bootstrap file. // The plugin allows certificates to be fetched/refreshed over the network asynchronously with // respect to the TLS handshake. // [#not-implemented-hide:] type CertificateProviderPluginInstance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Provider instance name. If not present, defaults to "default". // // Instance names should generally be defined not in terms of the underlying provider // implementation (e.g., "file_watcher") but rather in terms of the function of the // certificates (e.g., "foo_deployment_identity"). InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` // Opaque name used to specify certificate instances or types. For example, "ROOTCA" to specify // a root-certificate (validation context) or "example.com" to specify a certificate for a // particular domain. Not all provider instances will actually use this field, so the value // defaults to the empty string. CertificateName string `protobuf:"bytes,2,opt,name=certificate_name,json=certificateName,proto3" json:"certificate_name,omitempty"` } func (x *CertificateProviderPluginInstance) Reset() { *x = CertificateProviderPluginInstance{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateProviderPluginInstance) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateProviderPluginInstance) ProtoMessage() {} func (x *CertificateProviderPluginInstance) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateProviderPluginInstance.ProtoReflect.Descriptor instead. func (*CertificateProviderPluginInstance) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{4} } func (x *CertificateProviderPluginInstance) GetInstanceName() string { if x != nil { return x.InstanceName } return "" } func (x *CertificateProviderPluginInstance) GetCertificateName() string { if x != nil { return x.CertificateName } return "" } // Matcher for subject alternative names, to match both type and value of the SAN. type SubjectAltNameMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specification of type of SAN. Note that the default enum value is an invalid choice. SanType SubjectAltNameMatcher_SanType `protobuf:"varint,1,opt,name=san_type,json=sanType,proto3,enum=envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher_SanType" json:"san_type,omitempty"` // Matcher for SAN value. Matcher *v31.StringMatcher `protobuf:"bytes,2,opt,name=matcher,proto3" json:"matcher,omitempty"` } func (x *SubjectAltNameMatcher) Reset() { *x = SubjectAltNameMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubjectAltNameMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubjectAltNameMatcher) ProtoMessage() {} func (x *SubjectAltNameMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubjectAltNameMatcher.ProtoReflect.Descriptor instead. func (*SubjectAltNameMatcher) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{5} } func (x *SubjectAltNameMatcher) GetSanType() SubjectAltNameMatcher_SanType { if x != nil { return x.SanType } return SubjectAltNameMatcher_SAN_TYPE_UNSPECIFIED } func (x *SubjectAltNameMatcher) GetMatcher() *v31.StringMatcher { if x != nil { return x.Matcher } return nil } // [#next-free-field: 17] type CertificateValidationContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // TLS certificate data containing certificate authority certificates to use in verifying // a presented peer certificate (e.g. server certificate for clusters or client certificate // for listeners). If not specified and a peer certificate is presented it will not be // verified. By default, a client certificate is optional, unless one of the additional // options (:ref:`require_client_certificate // `, // :ref:`verify_certificate_spki // `, // :ref:`verify_certificate_hash // `, or // :ref:`match_typed_subject_alt_names // `) is also // specified. // // It can optionally contain certificate revocation lists, in which case Envoy will verify // that the presented peer certificate has not been revoked by one of the included CRLs. Note // that if a CRL is provided for any certificate authority in a trust chain, a CRL must be // provided for all certificate authorities in that chain. Failure to do so will result in // verification failure for both revoked and unrevoked certificates from that chain. // The behavior of requiring all certificates to contain CRLs can be altered by // setting :ref:`only_verify_leaf_cert_crl ` // true. If set to true, only the final certificate in the chain undergoes CRL verification. // // See :ref:`the TLS overview ` for a list of common // system CA locations. // // If “trusted_ca“ is a filesystem path, a watch will be added to the parent // directory for any file moves to support rotation. This currently only // applies to dynamic secrets, when the “CertificateValidationContext“ is // delivered via SDS. // // X509_V_FLAG_PARTIAL_CHAIN is set by default, so non-root/intermediate ca certificate in “trusted_ca“ // can be treated as trust anchor as well. It allows verification with building valid partial chain instead // of a full chain. // // Only one of “trusted_ca“ and “ca_certificate_provider_instance“ may be specified. // // [#next-major-version: This field and watched_directory below should ideally be moved into a // separate sub-message, since there's no point in specifying the latter field without this one.] TrustedCa *v3.DataSource `protobuf:"bytes,1,opt,name=trusted_ca,json=trustedCa,proto3" json:"trusted_ca,omitempty"` // Certificate provider instance for fetching TLS certificates. // // Only one of “trusted_ca“ and “ca_certificate_provider_instance“ may be specified. // [#not-implemented-hide:] CaCertificateProviderInstance *CertificateProviderPluginInstance `protobuf:"bytes,13,opt,name=ca_certificate_provider_instance,json=caCertificateProviderInstance,proto3" json:"ca_certificate_provider_instance,omitempty"` // If specified, updates of a file-based “trusted_ca“ source will be triggered // by this watch. This allows explicit control over the path watched, by // default the parent directory of the filesystem path in “trusted_ca“ is // watched if this field is not specified. This only applies when a // “CertificateValidationContext“ is delivered by SDS with references to // filesystem paths. See the :ref:`SDS key rotation ` // documentation for further details. WatchedDirectory *v3.WatchedDirectory `protobuf:"bytes,11,opt,name=watched_directory,json=watchedDirectory,proto3" json:"watched_directory,omitempty"` // An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the // SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate // matches one of the specified values. // // A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate // can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -noout -pubkey // | openssl pkey -pubin -outform DER // | openssl dgst -sha256 -binary // | openssl enc -base64 // NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A= // // This is the format used in HTTP Public Key Pinning. // // When both: // :ref:`verify_certificate_hash // ` and // :ref:`verify_certificate_spki // ` are specified, // a hash matching value from either of the lists will result in the certificate being accepted. // // .. attention:: // // This option is preferred over :ref:`verify_certificate_hash // `, // because SPKI is tied to a private key, so it doesn't change when the certificate // is renewed using the same private key. VerifyCertificateSpki []string `protobuf:"bytes,3,rep,name=verify_certificate_spki,json=verifyCertificateSpki,proto3" json:"verify_certificate_spki,omitempty"` // An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that // the SHA-256 of the DER-encoded presented certificate matches one of the specified values. // // A hex-encoded SHA-256 of the certificate can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2 // df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a // // A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate // can be generated with the following command: // // .. code-block:: bash // // $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2 // DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A // // Both of those formats are acceptable. // // When both: // :ref:`verify_certificate_hash // ` and // :ref:`verify_certificate_spki // ` are specified, // a hash matching value from either of the lists will result in the certificate being accepted. VerifyCertificateHash []string `protobuf:"bytes,2,rep,name=verify_certificate_hash,json=verifyCertificateHash,proto3" json:"verify_certificate_hash,omitempty"` // An optional list of Subject Alternative name matchers. If specified, Envoy will verify that the // Subject Alternative Name of the presented certificate matches one of the specified matchers. // The matching uses "any" semantics, that is to say, the SAN is verified if at least one matcher is // matched. // // When a certificate has wildcard DNS SAN entries, to match a specific client, it should be // configured with exact match type in the :ref:`string matcher `. // For example if the certificate has "\*.example.com" as DNS SAN entry, to allow only "api.example.com", // it should be configured as shown below. // // .. code-block:: yaml // // match_typed_subject_alt_names: // - san_type: DNS // matcher: // exact: "api.example.com" // // .. attention:: // // Subject Alternative Names are easily spoofable and verifying only them is insecure, // therefore this option must be used together with :ref:`trusted_ca // `. MatchTypedSubjectAltNames []*SubjectAltNameMatcher `protobuf:"bytes,15,rep,name=match_typed_subject_alt_names,json=matchTypedSubjectAltNames,proto3" json:"match_typed_subject_alt_names,omitempty"` // This field is deprecated in favor of // :ref:`match_typed_subject_alt_names // `. // Note that if both this field and :ref:`match_typed_subject_alt_names // ` // are specified, the former (deprecated field) is ignored. // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/common.proto. MatchSubjectAltNames []*v31.StringMatcher `protobuf:"bytes,9,rep,name=match_subject_alt_names,json=matchSubjectAltNames,proto3" json:"match_subject_alt_names,omitempty"` // [#not-implemented-hide:] Must present signed certificate time-stamp. RequireSignedCertificateTimestamp *wrappers.BoolValue `protobuf:"bytes,6,opt,name=require_signed_certificate_timestamp,json=requireSignedCertificateTimestamp,proto3" json:"require_signed_certificate_timestamp,omitempty"` // An optional `certificate revocation list // `_ // (in PEM format). If specified, Envoy will verify that the presented peer // certificate has not been revoked by this CRL. If this DataSource contains // multiple CRLs, all of them will be used. Note that if a CRL is provided // for any certificate authority in a trust chain, a CRL must be provided // for all certificate authorities in that chain. Failure to do so will // result in verification failure for both revoked and unrevoked certificates // from that chain. This default behavior can be altered by setting // :ref:`only_verify_leaf_cert_crl ` to // true. // // If “crl“ is a filesystem path, a watch will be added to the parent // directory for any file moves to support rotation. This currently only // applies to dynamic secrets, when the “CertificateValidationContext“ is // delivered via SDS. Crl *v3.DataSource `protobuf:"bytes,7,opt,name=crl,proto3" json:"crl,omitempty"` // If specified, Envoy will not reject expired certificates. AllowExpiredCertificate bool `protobuf:"varint,8,opt,name=allow_expired_certificate,json=allowExpiredCertificate,proto3" json:"allow_expired_certificate,omitempty"` // Certificate trust chain verification mode. TrustChainVerification CertificateValidationContext_TrustChainVerification `protobuf:"varint,10,opt,name=trust_chain_verification,json=trustChainVerification,proto3,enum=envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext_TrustChainVerification" json:"trust_chain_verification,omitempty"` // The configuration of an extension specific certificate validator. // If specified, all validation is done by the specified validator, // and the behavior of all other validation settings is defined by the specified validator (and may be entirely ignored, unused, and unvalidated). // Refer to the documentation for the specified validator. If you do not want a custom validation algorithm, do not set this field. // [#extension-category: envoy.tls.cert_validator] CustomValidatorConfig *v3.TypedExtensionConfig `protobuf:"bytes,12,opt,name=custom_validator_config,json=customValidatorConfig,proto3" json:"custom_validator_config,omitempty"` // If this option is set to true, only the certificate at the end of the // certificate chain will be subject to validation by :ref:`CRL `. OnlyVerifyLeafCertCrl bool `protobuf:"varint,14,opt,name=only_verify_leaf_cert_crl,json=onlyVerifyLeafCertCrl,proto3" json:"only_verify_leaf_cert_crl,omitempty"` // Defines maximum depth of a certificate chain accepted in verification, the default limit is 100, though this can be system-dependent. // This number does not include the leaf but includes the trust anchor, so a depth of 1 allows the leaf and one CA certificate. If a trusted issuer // appears in the chain, but in a depth larger than configured, the certificate validation will fail. // This matches the semantics of “SSL_CTX_set_verify_depth“ in OpenSSL 1.0.x and older versions of BoringSSL. It differs from “SSL_CTX_set_verify_depth“ // in OpenSSL 1.1.x and newer versions of BoringSSL in that the trust anchor is included. // Trusted issues are specified by setting :ref:`trusted_ca ` MaxVerifyDepth *wrappers.UInt32Value `protobuf:"bytes,16,opt,name=max_verify_depth,json=maxVerifyDepth,proto3" json:"max_verify_depth,omitempty"` } func (x *CertificateValidationContext) Reset() { *x = CertificateValidationContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CertificateValidationContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CertificateValidationContext) ProtoMessage() {} func (x *CertificateValidationContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CertificateValidationContext.ProtoReflect.Descriptor instead. func (*CertificateValidationContext) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP(), []int{6} } func (x *CertificateValidationContext) GetTrustedCa() *v3.DataSource { if x != nil { return x.TrustedCa } return nil } func (x *CertificateValidationContext) GetCaCertificateProviderInstance() *CertificateProviderPluginInstance { if x != nil { return x.CaCertificateProviderInstance } return nil } func (x *CertificateValidationContext) GetWatchedDirectory() *v3.WatchedDirectory { if x != nil { return x.WatchedDirectory } return nil } func (x *CertificateValidationContext) GetVerifyCertificateSpki() []string { if x != nil { return x.VerifyCertificateSpki } return nil } func (x *CertificateValidationContext) GetVerifyCertificateHash() []string { if x != nil { return x.VerifyCertificateHash } return nil } func (x *CertificateValidationContext) GetMatchTypedSubjectAltNames() []*SubjectAltNameMatcher { if x != nil { return x.MatchTypedSubjectAltNames } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/common.proto. func (x *CertificateValidationContext) GetMatchSubjectAltNames() []*v31.StringMatcher { if x != nil { return x.MatchSubjectAltNames } return nil } func (x *CertificateValidationContext) GetRequireSignedCertificateTimestamp() *wrappers.BoolValue { if x != nil { return x.RequireSignedCertificateTimestamp } return nil } func (x *CertificateValidationContext) GetCrl() *v3.DataSource { if x != nil { return x.Crl } return nil } func (x *CertificateValidationContext) GetAllowExpiredCertificate() bool { if x != nil { return x.AllowExpiredCertificate } return false } func (x *CertificateValidationContext) GetTrustChainVerification() CertificateValidationContext_TrustChainVerification { if x != nil { return x.TrustChainVerification } return CertificateValidationContext_VERIFY_TRUST_CHAIN } func (x *CertificateValidationContext) GetCustomValidatorConfig() *v3.TypedExtensionConfig { if x != nil { return x.CustomValidatorConfig } return nil } func (x *CertificateValidationContext) GetOnlyVerifyLeafCertCrl() bool { if x != nil { return x.OnlyVerifyLeafCertCrl } return false } func (x *CertificateValidationContext) GetMaxVerifyDepth() *wrappers.UInt32Value { if x != nil { return x.MaxVerifyDepth } return nil } var File_envoy_extensions_transport_sockets_tls_v3_common_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = []byte{ 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x04, 0x0a, 0x0d, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1c, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x19, 0x74, 0x6c, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8f, 0x01, 0x0a, 0x1c, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x19, 0x74, 0x6c, 0x73, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x63, 0x64, 0x68, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x63, 0x64, 0x68, 0x43, 0x75, 0x72, 0x76, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0x4f, 0x0a, 0x0b, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x30, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x33, 0x10, 0x04, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc8, 0x05, 0x0a, 0x0e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x6b, 0x63, 0x73, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x06, 0x70, 0x6b, 0x63, 0x73, 0x31, 0x32, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6f, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x12, 0x62, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x1a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x73, 0x0a, 0x21, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x08, 0x73, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, 0x52, 0x07, 0x73, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x07, 0x53, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x52, 0x49, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x04, 0x22, 0x90, 0x0c, 0x0a, 0x1c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x16, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x10, 0x12, 0x0e, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x12, 0xad, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x16, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x10, 0x12, 0x0e, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x1d, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x6b, 0x69, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, 0x72, 0x04, 0x10, 0x2c, 0x28, 0x2c, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x70, 0x6b, 0x69, 0x12, 0x46, 0x0a, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x22, 0x06, 0x72, 0x04, 0x10, 0x40, 0x28, 0x5f, 0x52, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x82, 0x01, 0x0a, 0x1d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x19, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x17, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x24, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x32, 0x0a, 0x03, 0x63, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x03, 0x63, 0x72, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x16, 0x74, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x19, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6f, 0x6e, 0x6c, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4c, 0x65, 0x61, 0x66, 0x43, 0x65, 0x72, 0x74, 0x43, 0x72, 0x6c, 0x12, 0x4f, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x65, 0x70, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x16, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x54, 0x52, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xa8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescData = file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDescData } var file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_extensions_transport_sockets_tls_v3_common_proto_goTypes = []interface{}{ (TlsParameters_TlsProtocol)(0), // 0: envoy.extensions.transport_sockets.tls.v3.TlsParameters.TlsProtocol (SubjectAltNameMatcher_SanType)(0), // 1: envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher.SanType (CertificateValidationContext_TrustChainVerification)(0), // 2: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.TrustChainVerification (*TlsParameters)(nil), // 3: envoy.extensions.transport_sockets.tls.v3.TlsParameters (*PrivateKeyProvider)(nil), // 4: envoy.extensions.transport_sockets.tls.v3.PrivateKeyProvider (*TlsCertificate)(nil), // 5: envoy.extensions.transport_sockets.tls.v3.TlsCertificate (*TlsSessionTicketKeys)(nil), // 6: envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys (*CertificateProviderPluginInstance)(nil), // 7: envoy.extensions.transport_sockets.tls.v3.CertificateProviderPluginInstance (*SubjectAltNameMatcher)(nil), // 8: envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher (*CertificateValidationContext)(nil), // 9: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext (*any1.Any)(nil), // 10: google.protobuf.Any (*v3.DataSource)(nil), // 11: envoy.config.core.v3.DataSource (*v3.WatchedDirectory)(nil), // 12: envoy.config.core.v3.WatchedDirectory (*v31.StringMatcher)(nil), // 13: envoy.type.matcher.v3.StringMatcher (*wrappers.BoolValue)(nil), // 14: google.protobuf.BoolValue (*v3.TypedExtensionConfig)(nil), // 15: envoy.config.core.v3.TypedExtensionConfig (*wrappers.UInt32Value)(nil), // 16: google.protobuf.UInt32Value } var file_envoy_extensions_transport_sockets_tls_v3_common_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.transport_sockets.tls.v3.TlsParameters.tls_minimum_protocol_version:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsParameters.TlsProtocol 0, // 1: envoy.extensions.transport_sockets.tls.v3.TlsParameters.tls_maximum_protocol_version:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsParameters.TlsProtocol 10, // 2: envoy.extensions.transport_sockets.tls.v3.PrivateKeyProvider.typed_config:type_name -> google.protobuf.Any 11, // 3: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.certificate_chain:type_name -> envoy.config.core.v3.DataSource 11, // 4: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.private_key:type_name -> envoy.config.core.v3.DataSource 11, // 5: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.pkcs12:type_name -> envoy.config.core.v3.DataSource 12, // 6: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.watched_directory:type_name -> envoy.config.core.v3.WatchedDirectory 4, // 7: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.private_key_provider:type_name -> envoy.extensions.transport_sockets.tls.v3.PrivateKeyProvider 11, // 8: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.password:type_name -> envoy.config.core.v3.DataSource 11, // 9: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.ocsp_staple:type_name -> envoy.config.core.v3.DataSource 11, // 10: envoy.extensions.transport_sockets.tls.v3.TlsCertificate.signed_certificate_timestamp:type_name -> envoy.config.core.v3.DataSource 11, // 11: envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys.keys:type_name -> envoy.config.core.v3.DataSource 1, // 12: envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher.san_type:type_name -> envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher.SanType 13, // 13: envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher.matcher:type_name -> envoy.type.matcher.v3.StringMatcher 11, // 14: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.trusted_ca:type_name -> envoy.config.core.v3.DataSource 7, // 15: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.ca_certificate_provider_instance:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateProviderPluginInstance 12, // 16: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.watched_directory:type_name -> envoy.config.core.v3.WatchedDirectory 8, // 17: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.match_typed_subject_alt_names:type_name -> envoy.extensions.transport_sockets.tls.v3.SubjectAltNameMatcher 13, // 18: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.match_subject_alt_names:type_name -> envoy.type.matcher.v3.StringMatcher 14, // 19: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.require_signed_certificate_timestamp:type_name -> google.protobuf.BoolValue 11, // 20: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.crl:type_name -> envoy.config.core.v3.DataSource 2, // 21: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.trust_chain_verification:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.TrustChainVerification 15, // 22: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.custom_validator_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 16, // 23: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.max_verify_depth:type_name -> google.protobuf.UInt32Value 24, // [24:24] is the sub-list for method output_type 24, // [24:24] is the sub-list for method input_type 24, // [24:24] is the sub-list for extension type_name 24, // [24:24] is the sub-list for extension extendee 0, // [0:24] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tls_v3_common_proto_init() } func file_envoy_extensions_transport_sockets_tls_v3_common_proto_init() { if File_envoy_extensions_transport_sockets_tls_v3_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsParameters); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrivateKeyProvider); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsCertificate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsSessionTicketKeys); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateProviderPluginInstance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubjectAltNameMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CertificateValidationContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PrivateKeyProvider_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc, NumEnums: 3, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tls_v3_common_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tls_v3_common_proto_depIdxs, EnumInfos: file_envoy_extensions_transport_sockets_tls_v3_common_proto_enumTypes, MessageInfos: file_envoy_extensions_transport_sockets_tls_v3_common_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tls_v3_common_proto = out.File file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tls_v3_common_proto_goTypes = nil file_envoy_extensions_transport_sockets_tls_v3_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/common.pb.validate.go000077500000000000000000001233201454502223200312440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tls/v3/common.proto package tlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TlsParameters with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsParameters) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsParameters with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsParametersMultiError, or // nil if none found. func (m *TlsParameters) ValidateAll() error { return m.validate(true) } func (m *TlsParameters) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := TlsParameters_TlsProtocol_name[int32(m.GetTlsMinimumProtocolVersion())]; !ok { err := TlsParametersValidationError{ field: "TlsMinimumProtocolVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if _, ok := TlsParameters_TlsProtocol_name[int32(m.GetTlsMaximumProtocolVersion())]; !ok { err := TlsParametersValidationError{ field: "TlsMaximumProtocolVersion", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return TlsParametersMultiError(errors) } return nil } // TlsParametersMultiError is an error wrapping multiple validation errors // returned by TlsParameters.ValidateAll() if the designated constraints // aren't met. type TlsParametersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsParametersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsParametersMultiError) AllErrors() []error { return m } // TlsParametersValidationError is the validation error returned by // TlsParameters.Validate if the designated constraints aren't met. type TlsParametersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsParametersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsParametersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsParametersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsParametersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsParametersValidationError) ErrorName() string { return "TlsParametersValidationError" } // Error satisfies the builtin error interface func (e TlsParametersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsParameters.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsParametersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsParametersValidationError{} // Validate checks the field values on PrivateKeyProvider with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PrivateKeyProvider) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PrivateKeyProvider with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PrivateKeyProviderMultiError, or nil if none found. func (m *PrivateKeyProvider) ValidateAll() error { return m.validate(true) } func (m *PrivateKeyProvider) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetProviderName()) < 1 { err := PrivateKeyProviderValidationError{ field: "ProviderName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for Fallback switch v := m.ConfigType.(type) { case *PrivateKeyProvider_TypedConfig: if v == nil { err := PrivateKeyProviderValidationError{ field: "ConfigType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PrivateKeyProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PrivateKeyProviderMultiError(errors) } return nil } // PrivateKeyProviderMultiError is an error wrapping multiple validation errors // returned by PrivateKeyProvider.ValidateAll() if the designated constraints // aren't met. type PrivateKeyProviderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PrivateKeyProviderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PrivateKeyProviderMultiError) AllErrors() []error { return m } // PrivateKeyProviderValidationError is the validation error returned by // PrivateKeyProvider.Validate if the designated constraints aren't met. type PrivateKeyProviderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PrivateKeyProviderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PrivateKeyProviderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PrivateKeyProviderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PrivateKeyProviderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PrivateKeyProviderValidationError) ErrorName() string { return "PrivateKeyProviderValidationError" } // Error satisfies the builtin error interface func (e PrivateKeyProviderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPrivateKeyProvider.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PrivateKeyProviderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PrivateKeyProviderValidationError{} // Validate checks the field values on TlsCertificate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsCertificate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsCertificate with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsCertificateMultiError, // or nil if none found. func (m *TlsCertificate) ValidateAll() error { return m.validate(true) } func (m *TlsCertificate) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCertificateChain()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCertificateChain()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "CertificateChain", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "PrivateKey", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPkcs12()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Pkcs12", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Pkcs12", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPkcs12()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "Pkcs12", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWatchedDirectory()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchedDirectory()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPrivateKeyProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPrivateKeyProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "PrivateKeyProvider", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetPassword()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPassword()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "Password", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOcspStaple()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOcspStaple()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: "OcspStaple", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSignedCertificateTimestamp() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsCertificateValidationError{ field: fmt.Sprintf("SignedCertificateTimestamp[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TlsCertificateMultiError(errors) } return nil } // TlsCertificateMultiError is an error wrapping multiple validation errors // returned by TlsCertificate.ValidateAll() if the designated constraints // aren't met. type TlsCertificateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsCertificateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsCertificateMultiError) AllErrors() []error { return m } // TlsCertificateValidationError is the validation error returned by // TlsCertificate.Validate if the designated constraints aren't met. type TlsCertificateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsCertificateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsCertificateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsCertificateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsCertificateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsCertificateValidationError) ErrorName() string { return "TlsCertificateValidationError" } // Error satisfies the builtin error interface func (e TlsCertificateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsCertificate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsCertificateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsCertificateValidationError{} // Validate checks the field values on TlsSessionTicketKeys with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TlsSessionTicketKeys) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsSessionTicketKeys with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TlsSessionTicketKeysMultiError, or nil if none found. func (m *TlsSessionTicketKeys) ValidateAll() error { return m.validate(true) } func (m *TlsSessionTicketKeys) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetKeys()) < 1 { err := TlsSessionTicketKeysValidationError{ field: "Keys", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetKeys() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsSessionTicketKeysValidationError{ field: fmt.Sprintf("Keys[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TlsSessionTicketKeysMultiError(errors) } return nil } // TlsSessionTicketKeysMultiError is an error wrapping multiple validation // errors returned by TlsSessionTicketKeys.ValidateAll() if the designated // constraints aren't met. type TlsSessionTicketKeysMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsSessionTicketKeysMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsSessionTicketKeysMultiError) AllErrors() []error { return m } // TlsSessionTicketKeysValidationError is the validation error returned by // TlsSessionTicketKeys.Validate if the designated constraints aren't met. type TlsSessionTicketKeysValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsSessionTicketKeysValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsSessionTicketKeysValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsSessionTicketKeysValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsSessionTicketKeysValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsSessionTicketKeysValidationError) ErrorName() string { return "TlsSessionTicketKeysValidationError" } // Error satisfies the builtin error interface func (e TlsSessionTicketKeysValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsSessionTicketKeys.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsSessionTicketKeysValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsSessionTicketKeysValidationError{} // Validate checks the field values on CertificateProviderPluginInstance with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *CertificateProviderPluginInstance) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateProviderPluginInstance // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // CertificateProviderPluginInstanceMultiError, or nil if none found. func (m *CertificateProviderPluginInstance) ValidateAll() error { return m.validate(true) } func (m *CertificateProviderPluginInstance) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for InstanceName // no validation rules for CertificateName if len(errors) > 0 { return CertificateProviderPluginInstanceMultiError(errors) } return nil } // CertificateProviderPluginInstanceMultiError is an error wrapping multiple // validation errors returned by // CertificateProviderPluginInstance.ValidateAll() if the designated // constraints aren't met. type CertificateProviderPluginInstanceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateProviderPluginInstanceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateProviderPluginInstanceMultiError) AllErrors() []error { return m } // CertificateProviderPluginInstanceValidationError is the validation error // returned by CertificateProviderPluginInstance.Validate if the designated // constraints aren't met. type CertificateProviderPluginInstanceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateProviderPluginInstanceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateProviderPluginInstanceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateProviderPluginInstanceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateProviderPluginInstanceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateProviderPluginInstanceValidationError) ErrorName() string { return "CertificateProviderPluginInstanceValidationError" } // Error satisfies the builtin error interface func (e CertificateProviderPluginInstanceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateProviderPluginInstance.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateProviderPluginInstanceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateProviderPluginInstanceValidationError{} // Validate checks the field values on SubjectAltNameMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SubjectAltNameMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SubjectAltNameMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SubjectAltNameMatcherMultiError, or nil if none found. func (m *SubjectAltNameMatcher) ValidateAll() error { return m.validate(true) } func (m *SubjectAltNameMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := _SubjectAltNameMatcher_SanType_NotInLookup[m.GetSanType()]; ok { err := SubjectAltNameMatcherValidationError{ field: "SanType", reason: "value must not be in list [SAN_TYPE_UNSPECIFIED]", } if !all { return err } errors = append(errors, err) } if _, ok := SubjectAltNameMatcher_SanType_name[int32(m.GetSanType())]; !ok { err := SubjectAltNameMatcherValidationError{ field: "SanType", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if m.GetMatcher() == nil { err := SubjectAltNameMatcherValidationError{ field: "Matcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatcher()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SubjectAltNameMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SubjectAltNameMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatcher()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SubjectAltNameMatcherValidationError{ field: "Matcher", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SubjectAltNameMatcherMultiError(errors) } return nil } // SubjectAltNameMatcherMultiError is an error wrapping multiple validation // errors returned by SubjectAltNameMatcher.ValidateAll() if the designated // constraints aren't met. type SubjectAltNameMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SubjectAltNameMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SubjectAltNameMatcherMultiError) AllErrors() []error { return m } // SubjectAltNameMatcherValidationError is the validation error returned by // SubjectAltNameMatcher.Validate if the designated constraints aren't met. type SubjectAltNameMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SubjectAltNameMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SubjectAltNameMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SubjectAltNameMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SubjectAltNameMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SubjectAltNameMatcherValidationError) ErrorName() string { return "SubjectAltNameMatcherValidationError" } // Error satisfies the builtin error interface func (e SubjectAltNameMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSubjectAltNameMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SubjectAltNameMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SubjectAltNameMatcherValidationError{} var _SubjectAltNameMatcher_SanType_NotInLookup = map[SubjectAltNameMatcher_SanType]struct{}{ 0: {}, } // Validate checks the field values on CertificateValidationContext with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CertificateValidationContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CertificateValidationContext with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CertificateValidationContextMultiError, or nil if none found. func (m *CertificateValidationContext) ValidateAll() error { return m.validate(true) } func (m *CertificateValidationContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTrustedCa()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrustedCa()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "TrustedCa", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCaCertificateProviderInstance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "CaCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "CaCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCaCertificateProviderInstance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "CaCertificateProviderInstance", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetWatchedDirectory()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWatchedDirectory()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "WatchedDirectory", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetVerifyCertificateSpki() { _, _ = idx, item if utf8.RuneCountInString(item) < 44 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateSpki[%v]", idx), reason: "value length must be at least 44 runes", } if !all { return err } errors = append(errors, err) } if len(item) > 44 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateSpki[%v]", idx), reason: "value length must be at most 44 bytes", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetVerifyCertificateHash() { _, _ = idx, item if utf8.RuneCountInString(item) < 64 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateHash[%v]", idx), reason: "value length must be at least 64 runes", } if !all { return err } errors = append(errors, err) } if len(item) > 95 { err := CertificateValidationContextValidationError{ field: fmt.Sprintf("VerifyCertificateHash[%v]", idx), reason: "value length must be at most 95 bytes", } if !all { return err } errors = append(errors, err) } } for idx, item := range m.GetMatchTypedSubjectAltNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchTypedSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchTypedSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchTypedSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetMatchSubjectAltNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: fmt.Sprintf("MatchSubjectAltNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetRequireSignedCertificateTimestamp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireSignedCertificateTimestamp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "RequireSignedCertificateTimestamp", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCrl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCrl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "Crl", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowExpiredCertificate if _, ok := CertificateValidationContext_TrustChainVerification_name[int32(m.GetTrustChainVerification())]; !ok { err := CertificateValidationContextValidationError{ field: "TrustChainVerification", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCustomValidatorConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "CustomValidatorConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CertificateValidationContextValidationError{ field: "CustomValidatorConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomValidatorConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CertificateValidationContextValidationError{ field: "CustomValidatorConfig", reason: "embedded message failed validation", cause: err, } } } // no validation rules for OnlyVerifyLeafCertCrl if wrapper := m.GetMaxVerifyDepth(); wrapper != nil { if wrapper.GetValue() > 100 { err := CertificateValidationContextValidationError{ field: "MaxVerifyDepth", reason: "value must be less than or equal to 100", } if !all { return err } errors = append(errors, err) } } if len(errors) > 0 { return CertificateValidationContextMultiError(errors) } return nil } // CertificateValidationContextMultiError is an error wrapping multiple // validation errors returned by CertificateValidationContext.ValidateAll() if // the designated constraints aren't met. type CertificateValidationContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CertificateValidationContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CertificateValidationContextMultiError) AllErrors() []error { return m } // CertificateValidationContextValidationError is the validation error returned // by CertificateValidationContext.Validate if the designated constraints // aren't met. type CertificateValidationContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CertificateValidationContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CertificateValidationContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CertificateValidationContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CertificateValidationContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CertificateValidationContextValidationError) ErrorName() string { return "CertificateValidationContextValidationError" } // Error satisfies the builtin error interface func (e CertificateValidationContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCertificateValidationContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CertificateValidationContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CertificateValidationContextValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/secret.pb.go000077500000000000000000000477631454502223200274710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tls/v3/secret.proto package tlsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GenericSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Secret of generic type and is available to filters. Secret *v3.DataSource `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *GenericSecret) Reset() { *x = GenericSecret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericSecret) ProtoMessage() {} func (x *GenericSecret) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericSecret.ProtoReflect.Descriptor instead. func (*GenericSecret) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescGZIP(), []int{0} } func (x *GenericSecret) GetSecret() *v3.DataSource { if x != nil { return x.Secret } return nil } type SdsSecretConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name by which the secret can be uniquely referred to. When both name and config are specified, // then secret can be fetched and/or reloaded via SDS. When only name is specified, then secret // will be loaded from static resources. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` SdsConfig *v3.ConfigSource `protobuf:"bytes,2,opt,name=sds_config,json=sdsConfig,proto3" json:"sds_config,omitempty"` } func (x *SdsSecretConfig) Reset() { *x = SdsSecretConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SdsSecretConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SdsSecretConfig) ProtoMessage() {} func (x *SdsSecretConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SdsSecretConfig.ProtoReflect.Descriptor instead. func (*SdsSecretConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescGZIP(), []int{1} } func (x *SdsSecretConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *SdsSecretConfig) GetSdsConfig() *v3.ConfigSource { if x != nil { return x.SdsConfig } return nil } // [#next-free-field: 6] type Secret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Type: // // *Secret_TlsCertificate // *Secret_SessionTicketKeys // *Secret_ValidationContext // *Secret_GenericSecret Type isSecret_Type `protobuf_oneof:"type"` } func (x *Secret) Reset() { *x = Secret{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Secret) String() string { return protoimpl.X.MessageStringOf(x) } func (*Secret) ProtoMessage() {} func (x *Secret) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Secret.ProtoReflect.Descriptor instead. func (*Secret) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescGZIP(), []int{2} } func (x *Secret) GetName() string { if x != nil { return x.Name } return "" } func (m *Secret) GetType() isSecret_Type { if m != nil { return m.Type } return nil } func (x *Secret) GetTlsCertificate() *TlsCertificate { if x, ok := x.GetType().(*Secret_TlsCertificate); ok { return x.TlsCertificate } return nil } func (x *Secret) GetSessionTicketKeys() *TlsSessionTicketKeys { if x, ok := x.GetType().(*Secret_SessionTicketKeys); ok { return x.SessionTicketKeys } return nil } func (x *Secret) GetValidationContext() *CertificateValidationContext { if x, ok := x.GetType().(*Secret_ValidationContext); ok { return x.ValidationContext } return nil } func (x *Secret) GetGenericSecret() *GenericSecret { if x, ok := x.GetType().(*Secret_GenericSecret); ok { return x.GenericSecret } return nil } type isSecret_Type interface { isSecret_Type() } type Secret_TlsCertificate struct { TlsCertificate *TlsCertificate `protobuf:"bytes,2,opt,name=tls_certificate,json=tlsCertificate,proto3,oneof"` } type Secret_SessionTicketKeys struct { SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,3,opt,name=session_ticket_keys,json=sessionTicketKeys,proto3,oneof"` } type Secret_ValidationContext struct { ValidationContext *CertificateValidationContext `protobuf:"bytes,4,opt,name=validation_context,json=validationContext,proto3,oneof"` } type Secret_GenericSecret struct { GenericSecret *GenericSecret `protobuf:"bytes,5,opt,name=generic_secret,json=genericSecret,proto3,oneof"` } func (*Secret_TlsCertificate) isSecret_Type() {} func (*Secret_SessionTicketKeys) isSecret_Type() {} func (*Secret_ValidationContext) isSecret_Type() {} func (*Secret_GenericSecret) isSecret_Type() {} var File_envoy_extensions_transport_sockets_tls_v3_secret_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDesc = []byte{ 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xb8, 0xb7, 0x8b, 0xa4, 0x02, 0x01, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x73, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfb, 0x03, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x78, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x61, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x1f, 0x9a, 0xc5, 0x88, 0x1e, 0x1a, 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0xa8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescData = file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDescData } var file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_extensions_transport_sockets_tls_v3_secret_proto_goTypes = []interface{}{ (*GenericSecret)(nil), // 0: envoy.extensions.transport_sockets.tls.v3.GenericSecret (*SdsSecretConfig)(nil), // 1: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig (*Secret)(nil), // 2: envoy.extensions.transport_sockets.tls.v3.Secret (*v3.DataSource)(nil), // 3: envoy.config.core.v3.DataSource (*v3.ConfigSource)(nil), // 4: envoy.config.core.v3.ConfigSource (*TlsCertificate)(nil), // 5: envoy.extensions.transport_sockets.tls.v3.TlsCertificate (*TlsSessionTicketKeys)(nil), // 6: envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys (*CertificateValidationContext)(nil), // 7: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext } var file_envoy_extensions_transport_sockets_tls_v3_secret_proto_depIdxs = []int32{ 3, // 0: envoy.extensions.transport_sockets.tls.v3.GenericSecret.secret:type_name -> envoy.config.core.v3.DataSource 4, // 1: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig.sds_config:type_name -> envoy.config.core.v3.ConfigSource 5, // 2: envoy.extensions.transport_sockets.tls.v3.Secret.tls_certificate:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsCertificate 6, // 3: envoy.extensions.transport_sockets.tls.v3.Secret.session_ticket_keys:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys 7, // 4: envoy.extensions.transport_sockets.tls.v3.Secret.validation_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext 0, // 5: envoy.extensions.transport_sockets.tls.v3.Secret.generic_secret:type_name -> envoy.extensions.transport_sockets.tls.v3.GenericSecret 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tls_v3_secret_proto_init() } func file_envoy_extensions_transport_sockets_tls_v3_secret_proto_init() { if File_envoy_extensions_transport_sockets_tls_v3_secret_proto != nil { return } file_envoy_extensions_transport_sockets_tls_v3_common_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SdsSecretConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Secret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Secret_TlsCertificate)(nil), (*Secret_SessionTicketKeys)(nil), (*Secret_ValidationContext)(nil), (*Secret_GenericSecret)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tls_v3_secret_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tls_v3_secret_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_tls_v3_secret_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tls_v3_secret_proto = out.File file_envoy_extensions_transport_sockets_tls_v3_secret_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tls_v3_secret_proto_goTypes = nil file_envoy_extensions_transport_sockets_tls_v3_secret_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/secret.pb.validate.go000077500000000000000000000351501454502223200312440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tls/v3/secret.proto package tlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GenericSecret with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GenericSecret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericSecret with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GenericSecretMultiError, or // nil if none found. func (m *GenericSecret) ValidateAll() error { return m.validate(true) } func (m *GenericSecret) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return GenericSecretValidationError{ field: "Secret", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return GenericSecretMultiError(errors) } return nil } // GenericSecretMultiError is an error wrapping multiple validation errors // returned by GenericSecret.ValidateAll() if the designated constraints // aren't met. type GenericSecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericSecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericSecretMultiError) AllErrors() []error { return m } // GenericSecretValidationError is the validation error returned by // GenericSecret.Validate if the designated constraints aren't met. type GenericSecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericSecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericSecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericSecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericSecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericSecretValidationError) ErrorName() string { return "GenericSecretValidationError" } // Error satisfies the builtin error interface func (e GenericSecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericSecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericSecretValidationError{} // Validate checks the field values on SdsSecretConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SdsSecretConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SdsSecretConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SdsSecretConfigMultiError, or nil if none found. func (m *SdsSecretConfig) ValidateAll() error { return m.validate(true) } func (m *SdsSecretConfig) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := SdsSecretConfigValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SdsSecretConfigValidationError{ field: "SdsConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SdsSecretConfigMultiError(errors) } return nil } // SdsSecretConfigMultiError is an error wrapping multiple validation errors // returned by SdsSecretConfig.ValidateAll() if the designated constraints // aren't met. type SdsSecretConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SdsSecretConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SdsSecretConfigMultiError) AllErrors() []error { return m } // SdsSecretConfigValidationError is the validation error returned by // SdsSecretConfig.Validate if the designated constraints aren't met. type SdsSecretConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SdsSecretConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SdsSecretConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SdsSecretConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SdsSecretConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SdsSecretConfigValidationError) ErrorName() string { return "SdsSecretConfigValidationError" } // Error satisfies the builtin error interface func (e SdsSecretConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSdsSecretConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SdsSecretConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SdsSecretConfigValidationError{} // Validate checks the field values on Secret with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Secret) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Secret with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in SecretMultiError, or nil if none found. func (m *Secret) ValidateAll() error { return m.validate(true) } func (m *Secret) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name switch v := m.Type.(type) { case *Secret_TlsCertificate: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTlsCertificate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCertificate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "TlsCertificate", reason: "embedded message failed validation", cause: err, } } } case *Secret_SessionTicketKeys: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, } } } case *Secret_ValidationContext: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, } } } case *Secret_GenericSecret: if v == nil { err := SecretValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGenericSecret()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGenericSecret()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SecretValidationError{ field: "GenericSecret", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return SecretMultiError(errors) } return nil } // SecretMultiError is an error wrapping multiple validation errors returned by // Secret.ValidateAll() if the designated constraints aren't met. type SecretMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SecretMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SecretMultiError) AllErrors() []error { return m } // SecretValidationError is the validation error returned by Secret.Validate if // the designated constraints aren't met. type SecretValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SecretValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SecretValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SecretValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SecretValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SecretValidationError) ErrorName() string { return "SecretValidationError" } // Error satisfies the builtin error interface func (e SecretValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSecret.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SecretValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SecretValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/tls.pb.go000077500000000000000000002524171454502223200270000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tls/v3/tls.proto package tlsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type DownstreamTlsContext_OcspStaplePolicy int32 const ( // OCSP responses are optional. If an OCSP response is absent // or expired, the associated certificate will be used for // connections without an OCSP staple. DownstreamTlsContext_LENIENT_STAPLING DownstreamTlsContext_OcspStaplePolicy = 0 // OCSP responses are optional. If an OCSP response is absent, // the associated certificate will be used without an // OCSP staple. If a response is provided but is expired, // the associated certificate will not be used for // subsequent connections. If no suitable certificate is found, // the connection is rejected. DownstreamTlsContext_STRICT_STAPLING DownstreamTlsContext_OcspStaplePolicy = 1 // OCSP responses are required. Configuration will fail if // a certificate is provided without an OCSP response. If a // response expires, the associated certificate will not be // used connections. If no suitable certificate is found, the // connection is rejected. DownstreamTlsContext_MUST_STAPLE DownstreamTlsContext_OcspStaplePolicy = 2 ) // Enum value maps for DownstreamTlsContext_OcspStaplePolicy. var ( DownstreamTlsContext_OcspStaplePolicy_name = map[int32]string{ 0: "LENIENT_STAPLING", 1: "STRICT_STAPLING", 2: "MUST_STAPLE", } DownstreamTlsContext_OcspStaplePolicy_value = map[string]int32{ "LENIENT_STAPLING": 0, "STRICT_STAPLING": 1, "MUST_STAPLE": 2, } ) func (x DownstreamTlsContext_OcspStaplePolicy) Enum() *DownstreamTlsContext_OcspStaplePolicy { p := new(DownstreamTlsContext_OcspStaplePolicy) *p = x return p } func (x DownstreamTlsContext_OcspStaplePolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DownstreamTlsContext_OcspStaplePolicy) Descriptor() protoreflect.EnumDescriptor { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_enumTypes[0].Descriptor() } func (DownstreamTlsContext_OcspStaplePolicy) Type() protoreflect.EnumType { return &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_enumTypes[0] } func (x DownstreamTlsContext_OcspStaplePolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DownstreamTlsContext_OcspStaplePolicy.Descriptor instead. func (DownstreamTlsContext_OcspStaplePolicy) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{1, 0} } // [#next-free-field: 6] type UpstreamTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common TLS context settings. // // .. attention:: // // Server certificate verification is not enabled by default. Configure // :ref:`trusted_ca` to enable // verification. CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext,proto3" json:"common_tls_context,omitempty"` // SNI string to use when creating TLS backend connections. Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"` // If true, server-initiated TLS renegotiation will be allowed. // // .. attention:: // // TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary. AllowRenegotiation bool `protobuf:"varint,3,opt,name=allow_renegotiation,json=allowRenegotiation,proto3" json:"allow_renegotiation,omitempty"` // Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets // for TLSv1.2 and older) to store for the purpose of session resumption. // // Defaults to 1, setting this to 0 disables session resumption. MaxSessionKeys *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_session_keys,json=maxSessionKeys,proto3" json:"max_session_keys,omitempty"` // This field is used to control the enforcement, whereby the handshake will fail if the keyUsage extension // is present and incompatible with the TLS usage. Currently, the default value is false (i.e., enforcement off) // but it is expected to be changed to true by default in a future release. // “ssl.was_key_usage_invalid“ in :ref:`listener metrics ` will be set for certificate // configurations that would fail if this option were set to true. EnforceRsaKeyUsage *wrappers.BoolValue `protobuf:"bytes,5,opt,name=enforce_rsa_key_usage,json=enforceRsaKeyUsage,proto3" json:"enforce_rsa_key_usage,omitempty"` } func (x *UpstreamTlsContext) Reset() { *x = UpstreamTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamTlsContext) ProtoMessage() {} func (x *UpstreamTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpstreamTlsContext.ProtoReflect.Descriptor instead. func (*UpstreamTlsContext) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{0} } func (x *UpstreamTlsContext) GetCommonTlsContext() *CommonTlsContext { if x != nil { return x.CommonTlsContext } return nil } func (x *UpstreamTlsContext) GetSni() string { if x != nil { return x.Sni } return "" } func (x *UpstreamTlsContext) GetAllowRenegotiation() bool { if x != nil { return x.AllowRenegotiation } return false } func (x *UpstreamTlsContext) GetMaxSessionKeys() *wrappers.UInt32Value { if x != nil { return x.MaxSessionKeys } return nil } func (x *UpstreamTlsContext) GetEnforceRsaKeyUsage() *wrappers.BoolValue { if x != nil { return x.EnforceRsaKeyUsage } return nil } // [#next-free-field: 11] type DownstreamTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Common TLS context settings. CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext,proto3" json:"common_tls_context,omitempty"` // If specified, Envoy will reject connections without a valid client // certificate. RequireClientCertificate *wrappers.BoolValue `protobuf:"bytes,2,opt,name=require_client_certificate,json=requireClientCertificate,proto3" json:"require_client_certificate,omitempty"` // If specified, Envoy will reject connections without a valid and matching SNI. // [#not-implemented-hide:] RequireSni *wrappers.BoolValue `protobuf:"bytes,3,opt,name=require_sni,json=requireSni,proto3" json:"require_sni,omitempty"` // Types that are assignable to SessionTicketKeysType: // // *DownstreamTlsContext_SessionTicketKeys // *DownstreamTlsContext_SessionTicketKeysSdsSecretConfig // *DownstreamTlsContext_DisableStatelessSessionResumption SessionTicketKeysType isDownstreamTlsContext_SessionTicketKeysType `protobuf_oneof:"session_ticket_keys_type"` // If set to true, the TLS server will not maintain a session cache of TLS sessions. (This is // relevant only for TLSv1.2 and earlier.) DisableStatefulSessionResumption bool `protobuf:"varint,10,opt,name=disable_stateful_session_resumption,json=disableStatefulSessionResumption,proto3" json:"disable_stateful_session_resumption,omitempty"` // If specified, “session_timeout“ will change the maximum lifetime (in seconds) of the TLS session. // Currently this value is used as a hint for the `TLS session ticket lifetime (for TLSv1.2) `_. // Only seconds can be specified (fractional seconds are ignored). SessionTimeout *duration.Duration `protobuf:"bytes,6,opt,name=session_timeout,json=sessionTimeout,proto3" json:"session_timeout,omitempty"` // Config for whether to use certificates if they do not have // an accompanying OCSP response or if the response expires at runtime. // Defaults to LENIENT_STAPLING OcspStaplePolicy DownstreamTlsContext_OcspStaplePolicy `protobuf:"varint,8,opt,name=ocsp_staple_policy,json=ocspStaplePolicy,proto3,enum=envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext_OcspStaplePolicy" json:"ocsp_staple_policy,omitempty"` // Multiple certificates are allowed in Downstream transport socket to serve different SNI. // If the client provides SNI but no such cert matched, it will decide to full scan certificates or not based on this config. // Defaults to false. See more details in :ref:`Multiple TLS certificates `. FullScanCertsOnSniMismatch *wrappers.BoolValue `protobuf:"bytes,9,opt,name=full_scan_certs_on_sni_mismatch,json=fullScanCertsOnSniMismatch,proto3" json:"full_scan_certs_on_sni_mismatch,omitempty"` } func (x *DownstreamTlsContext) Reset() { *x = DownstreamTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DownstreamTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*DownstreamTlsContext) ProtoMessage() {} func (x *DownstreamTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DownstreamTlsContext.ProtoReflect.Descriptor instead. func (*DownstreamTlsContext) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{1} } func (x *DownstreamTlsContext) GetCommonTlsContext() *CommonTlsContext { if x != nil { return x.CommonTlsContext } return nil } func (x *DownstreamTlsContext) GetRequireClientCertificate() *wrappers.BoolValue { if x != nil { return x.RequireClientCertificate } return nil } func (x *DownstreamTlsContext) GetRequireSni() *wrappers.BoolValue { if x != nil { return x.RequireSni } return nil } func (m *DownstreamTlsContext) GetSessionTicketKeysType() isDownstreamTlsContext_SessionTicketKeysType { if m != nil { return m.SessionTicketKeysType } return nil } func (x *DownstreamTlsContext) GetSessionTicketKeys() *TlsSessionTicketKeys { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_SessionTicketKeys); ok { return x.SessionTicketKeys } return nil } func (x *DownstreamTlsContext) GetSessionTicketKeysSdsSecretConfig() *SdsSecretConfig { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig); ok { return x.SessionTicketKeysSdsSecretConfig } return nil } func (x *DownstreamTlsContext) GetDisableStatelessSessionResumption() bool { if x, ok := x.GetSessionTicketKeysType().(*DownstreamTlsContext_DisableStatelessSessionResumption); ok { return x.DisableStatelessSessionResumption } return false } func (x *DownstreamTlsContext) GetDisableStatefulSessionResumption() bool { if x != nil { return x.DisableStatefulSessionResumption } return false } func (x *DownstreamTlsContext) GetSessionTimeout() *duration.Duration { if x != nil { return x.SessionTimeout } return nil } func (x *DownstreamTlsContext) GetOcspStaplePolicy() DownstreamTlsContext_OcspStaplePolicy { if x != nil { return x.OcspStaplePolicy } return DownstreamTlsContext_LENIENT_STAPLING } func (x *DownstreamTlsContext) GetFullScanCertsOnSniMismatch() *wrappers.BoolValue { if x != nil { return x.FullScanCertsOnSniMismatch } return nil } type isDownstreamTlsContext_SessionTicketKeysType interface { isDownstreamTlsContext_SessionTicketKeysType() } type DownstreamTlsContext_SessionTicketKeys struct { // TLS session ticket key settings. SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,4,opt,name=session_ticket_keys,json=sessionTicketKeys,proto3,oneof"` } type DownstreamTlsContext_SessionTicketKeysSdsSecretConfig struct { // Config for fetching TLS session ticket keys via SDS API. SessionTicketKeysSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,5,opt,name=session_ticket_keys_sds_secret_config,json=sessionTicketKeysSdsSecretConfig,proto3,oneof"` } type DownstreamTlsContext_DisableStatelessSessionResumption struct { // Config for controlling stateless TLS session resumption: setting this to true will cause the TLS // server to not issue TLS session tickets for the purposes of stateless TLS session resumption. // If set to false, the TLS server will issue TLS session tickets and encrypt/decrypt them using // the keys specified through either :ref:`session_ticket_keys ` // or :ref:`session_ticket_keys_sds_secret_config `. // If this config is set to false and no keys are explicitly configured, the TLS server will issue // TLS session tickets and encrypt/decrypt them using an internally-generated and managed key, with the // implication that sessions cannot be resumed across hot restarts or on different hosts. DisableStatelessSessionResumption bool `protobuf:"varint,7,opt,name=disable_stateless_session_resumption,json=disableStatelessSessionResumption,proto3,oneof"` } func (*DownstreamTlsContext_SessionTicketKeys) isDownstreamTlsContext_SessionTicketKeysType() {} func (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig) isDownstreamTlsContext_SessionTicketKeysType() { } func (*DownstreamTlsContext_DisableStatelessSessionResumption) isDownstreamTlsContext_SessionTicketKeysType() { } // TLS key log configuration. // The key log file format is "format used by NSS for its SSLKEYLOGFILE debugging output" (text taken from openssl man page) type TlsKeyLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The path to save the TLS key log. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The local IP address that will be used to filter the connection which should save the TLS key log // If it is not set, any local IP address will be matched. LocalAddressRange []*v3.CidrRange `protobuf:"bytes,2,rep,name=local_address_range,json=localAddressRange,proto3" json:"local_address_range,omitempty"` // The remote IP address that will be used to filter the connection which should save the TLS key log // If it is not set, any remote IP address will be matched. RemoteAddressRange []*v3.CidrRange `protobuf:"bytes,3,rep,name=remote_address_range,json=remoteAddressRange,proto3" json:"remote_address_range,omitempty"` } func (x *TlsKeyLog) Reset() { *x = TlsKeyLog{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TlsKeyLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*TlsKeyLog) ProtoMessage() {} func (x *TlsKeyLog) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TlsKeyLog.ProtoReflect.Descriptor instead. func (*TlsKeyLog) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{2} } func (x *TlsKeyLog) GetPath() string { if x != nil { return x.Path } return "" } func (x *TlsKeyLog) GetLocalAddressRange() []*v3.CidrRange { if x != nil { return x.LocalAddressRange } return nil } func (x *TlsKeyLog) GetRemoteAddressRange() []*v3.CidrRange { if x != nil { return x.RemoteAddressRange } return nil } // TLS context shared by both client and server TLS contexts. // [#next-free-field: 16] type CommonTlsContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // TLS protocol versions, cipher suites etc. TlsParams *TlsParameters `protobuf:"bytes,1,opt,name=tls_params,json=tlsParams,proto3" json:"tls_params,omitempty"` // Only a single TLS certificate is supported in client contexts. In server contexts, // :ref:`Multiple TLS certificates ` can be associated with the // same context to allow both RSA and ECDSA certificates and support SNI-based selection. // // Only one of “tls_certificates“, “tls_certificate_sds_secret_configs“, // and “tls_certificate_provider_instance“ may be used. // [#next-major-version: These mutually exclusive fields should ideally be in a oneof, but it's // not legal to put a repeated field in a oneof. In the next major version, we should rework // this to avoid this problem.] TlsCertificates []*TlsCertificate `protobuf:"bytes,2,rep,name=tls_certificates,json=tlsCertificates,proto3" json:"tls_certificates,omitempty"` // Configs for fetching TLS certificates via SDS API. Note SDS API allows certificates to be // fetched/refreshed over the network asynchronously with respect to the TLS handshake. // // The same number and types of certificates as :ref:`tls_certificates ` // are valid in the the certificates fetched through this setting. // // Only one of “tls_certificates“, “tls_certificate_sds_secret_configs“, // and “tls_certificate_provider_instance“ may be used. // [#next-major-version: These mutually exclusive fields should ideally be in a oneof, but it's // not legal to put a repeated field in a oneof. In the next major version, we should rework // this to avoid this problem.] TlsCertificateSdsSecretConfigs []*SdsSecretConfig `protobuf:"bytes,6,rep,name=tls_certificate_sds_secret_configs,json=tlsCertificateSdsSecretConfigs,proto3" json:"tls_certificate_sds_secret_configs,omitempty"` // Certificate provider instance for fetching TLS certs. // // Only one of “tls_certificates“, “tls_certificate_sds_secret_configs“, // and “tls_certificate_provider_instance“ may be used. // [#not-implemented-hide:] TlsCertificateProviderInstance *CertificateProviderPluginInstance `protobuf:"bytes,14,opt,name=tls_certificate_provider_instance,json=tlsCertificateProviderInstance,proto3" json:"tls_certificate_provider_instance,omitempty"` // Certificate provider for fetching TLS certificates. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. TlsCertificateCertificateProvider *CommonTlsContext_CertificateProvider `protobuf:"bytes,9,opt,name=tls_certificate_certificate_provider,json=tlsCertificateCertificateProvider,proto3" json:"tls_certificate_certificate_provider,omitempty"` // Certificate provider instance for fetching TLS certificates. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. TlsCertificateCertificateProviderInstance *CommonTlsContext_CertificateProviderInstance `protobuf:"bytes,11,opt,name=tls_certificate_certificate_provider_instance,json=tlsCertificateCertificateProviderInstance,proto3" json:"tls_certificate_certificate_provider_instance,omitempty"` // Types that are assignable to ValidationContextType: // // *CommonTlsContext_ValidationContext // *CommonTlsContext_ValidationContextSdsSecretConfig // *CommonTlsContext_CombinedValidationContext // *CommonTlsContext_ValidationContextCertificateProvider // *CommonTlsContext_ValidationContextCertificateProviderInstance ValidationContextType isCommonTlsContext_ValidationContextType `protobuf_oneof:"validation_context_type"` // Supplies the list of ALPN protocols that the listener should expose. In // practice this is likely to be set to one of two values (see the // :ref:`codec_type // ` // parameter in the HTTP connection manager for more information): // // * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1. // * "http/1.1" If the listener is only going to support HTTP/1.1. // // There is no default for this parameter. If empty, Envoy will not expose ALPN. AlpnProtocols []string `protobuf:"bytes,4,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"` // Custom TLS handshaker. If empty, defaults to native TLS handshaking // behavior. CustomHandshaker *v3.TypedExtensionConfig `protobuf:"bytes,13,opt,name=custom_handshaker,json=customHandshaker,proto3" json:"custom_handshaker,omitempty"` // TLS key log configuration KeyLog *TlsKeyLog `protobuf:"bytes,15,opt,name=key_log,json=keyLog,proto3" json:"key_log,omitempty"` } func (x *CommonTlsContext) Reset() { *x = CommonTlsContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext) ProtoMessage() {} func (x *CommonTlsContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext.ProtoReflect.Descriptor instead. func (*CommonTlsContext) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{3} } func (x *CommonTlsContext) GetTlsParams() *TlsParameters { if x != nil { return x.TlsParams } return nil } func (x *CommonTlsContext) GetTlsCertificates() []*TlsCertificate { if x != nil { return x.TlsCertificates } return nil } func (x *CommonTlsContext) GetTlsCertificateSdsSecretConfigs() []*SdsSecretConfig { if x != nil { return x.TlsCertificateSdsSecretConfigs } return nil } func (x *CommonTlsContext) GetTlsCertificateProviderInstance() *CertificateProviderPluginInstance { if x != nil { return x.TlsCertificateProviderInstance } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext) GetTlsCertificateCertificateProvider() *CommonTlsContext_CertificateProvider { if x != nil { return x.TlsCertificateCertificateProvider } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext) GetTlsCertificateCertificateProviderInstance() *CommonTlsContext_CertificateProviderInstance { if x != nil { return x.TlsCertificateCertificateProviderInstance } return nil } func (m *CommonTlsContext) GetValidationContextType() isCommonTlsContext_ValidationContextType { if m != nil { return m.ValidationContextType } return nil } func (x *CommonTlsContext) GetValidationContext() *CertificateValidationContext { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContext); ok { return x.ValidationContext } return nil } func (x *CommonTlsContext) GetValidationContextSdsSecretConfig() *SdsSecretConfig { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContextSdsSecretConfig); ok { return x.ValidationContextSdsSecretConfig } return nil } func (x *CommonTlsContext) GetCombinedValidationContext() *CommonTlsContext_CombinedCertificateValidationContext { if x, ok := x.GetValidationContextType().(*CommonTlsContext_CombinedValidationContext); ok { return x.CombinedValidationContext } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext) GetValidationContextCertificateProvider() *CommonTlsContext_CertificateProvider { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContextCertificateProvider); ok { return x.ValidationContextCertificateProvider } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext) GetValidationContextCertificateProviderInstance() *CommonTlsContext_CertificateProviderInstance { if x, ok := x.GetValidationContextType().(*CommonTlsContext_ValidationContextCertificateProviderInstance); ok { return x.ValidationContextCertificateProviderInstance } return nil } func (x *CommonTlsContext) GetAlpnProtocols() []string { if x != nil { return x.AlpnProtocols } return nil } func (x *CommonTlsContext) GetCustomHandshaker() *v3.TypedExtensionConfig { if x != nil { return x.CustomHandshaker } return nil } func (x *CommonTlsContext) GetKeyLog() *TlsKeyLog { if x != nil { return x.KeyLog } return nil } type isCommonTlsContext_ValidationContextType interface { isCommonTlsContext_ValidationContextType() } type CommonTlsContext_ValidationContext struct { // How to validate peer certificates. ValidationContext *CertificateValidationContext `protobuf:"bytes,3,opt,name=validation_context,json=validationContext,proto3,oneof"` } type CommonTlsContext_ValidationContextSdsSecretConfig struct { // Config for fetching validation context via SDS API. Note SDS API allows certificates to be // fetched/refreshed over the network asynchronously with respect to the TLS handshake. ValidationContextSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,7,opt,name=validation_context_sds_secret_config,json=validationContextSdsSecretConfig,proto3,oneof"` } type CommonTlsContext_CombinedValidationContext struct { // Combined certificate validation context holds a default CertificateValidationContext // and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic // and default CertificateValidationContext are merged into a new CertificateValidationContext // for validation. This merge is done by Message::MergeFrom(), so dynamic // CertificateValidationContext overwrites singular fields in default // CertificateValidationContext, and concatenates repeated fields to default // CertificateValidationContext, and logical OR is applied to boolean fields. CombinedValidationContext *CommonTlsContext_CombinedCertificateValidationContext `protobuf:"bytes,8,opt,name=combined_validation_context,json=combinedValidationContext,proto3,oneof"` } type CommonTlsContext_ValidationContextCertificateProvider struct { // Certificate provider for fetching validation context. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. ValidationContextCertificateProvider *CommonTlsContext_CertificateProvider `protobuf:"bytes,10,opt,name=validation_context_certificate_provider,json=validationContextCertificateProvider,proto3,oneof"` } type CommonTlsContext_ValidationContextCertificateProviderInstance struct { // Certificate provider instance for fetching validation context. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. ValidationContextCertificateProviderInstance *CommonTlsContext_CertificateProviderInstance `protobuf:"bytes,12,opt,name=validation_context_certificate_provider_instance,json=validationContextCertificateProviderInstance,proto3,oneof"` } func (*CommonTlsContext_ValidationContext) isCommonTlsContext_ValidationContextType() {} func (*CommonTlsContext_ValidationContextSdsSecretConfig) isCommonTlsContext_ValidationContextType() { } func (*CommonTlsContext_CombinedValidationContext) isCommonTlsContext_ValidationContextType() {} func (*CommonTlsContext_ValidationContextCertificateProvider) isCommonTlsContext_ValidationContextType() { } func (*CommonTlsContext_ValidationContextCertificateProviderInstance) isCommonTlsContext_ValidationContextType() { } // Config for Certificate provider to get certificates. This provider should allow certificates to be // fetched/refreshed over the network asynchronously with respect to the TLS handshake. // // DEPRECATED: This message is not currently used, but if we ever do need it, we will want to // move it out of CommonTlsContext and into common.proto, similar to the existing // CertificateProviderPluginInstance message. // // [#not-implemented-hide:] type CommonTlsContext_CertificateProvider struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // opaque name used to specify certificate instances or types. For example, "ROOTCA" to specify // a root-certificate (validation context) or "TLS" to specify a new tls-certificate. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Provider specific config. // Note: an implementation is expected to dedup multiple instances of the same config // to maintain a single certificate-provider instance. The sharing can happen, for // example, among multiple clusters or between the tls_certificate and validation_context // certificate providers of a cluster. // This config could be supplied inline or (in future) a named xDS resource. // // Types that are assignable to Config: // // *CommonTlsContext_CertificateProvider_TypedConfig Config isCommonTlsContext_CertificateProvider_Config `protobuf_oneof:"config"` } func (x *CommonTlsContext_CertificateProvider) Reset() { *x = CommonTlsContext_CertificateProvider{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext_CertificateProvider) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext_CertificateProvider) ProtoMessage() {} func (x *CommonTlsContext_CertificateProvider) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext_CertificateProvider.ProtoReflect.Descriptor instead. func (*CommonTlsContext_CertificateProvider) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{3, 0} } func (x *CommonTlsContext_CertificateProvider) GetName() string { if x != nil { return x.Name } return "" } func (m *CommonTlsContext_CertificateProvider) GetConfig() isCommonTlsContext_CertificateProvider_Config { if m != nil { return m.Config } return nil } func (x *CommonTlsContext_CertificateProvider) GetTypedConfig() *v3.TypedExtensionConfig { if x, ok := x.GetConfig().(*CommonTlsContext_CertificateProvider_TypedConfig); ok { return x.TypedConfig } return nil } type isCommonTlsContext_CertificateProvider_Config interface { isCommonTlsContext_CertificateProvider_Config() } type CommonTlsContext_CertificateProvider_TypedConfig struct { TypedConfig *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3,oneof"` } func (*CommonTlsContext_CertificateProvider_TypedConfig) isCommonTlsContext_CertificateProvider_Config() { } // Similar to CertificateProvider above, but allows the provider instances to be configured on // the client side instead of being sent from the control plane. // // DEPRECATED: This message was moved outside of CommonTlsContext // and now lives in common.proto. // // [#not-implemented-hide:] type CommonTlsContext_CertificateProviderInstance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Provider instance name. This name must be defined in the client's configuration (e.g., a // bootstrap file) to correspond to a provider instance (i.e., the same data in the typed_config // field that would be sent in the CertificateProvider message if the config was sent by the // control plane). If not present, defaults to "default". // // Instance names should generally be defined not in terms of the underlying provider // implementation (e.g., "file_watcher") but rather in terms of the function of the // certificates (e.g., "foo_deployment_identity"). InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` // Opaque name used to specify certificate instances or types. For example, "ROOTCA" to specify // a root-certificate (validation context) or "example.com" to specify a certificate for a // particular domain. Not all provider instances will actually use this field, so the value // defaults to the empty string. CertificateName string `protobuf:"bytes,2,opt,name=certificate_name,json=certificateName,proto3" json:"certificate_name,omitempty"` } func (x *CommonTlsContext_CertificateProviderInstance) Reset() { *x = CommonTlsContext_CertificateProviderInstance{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext_CertificateProviderInstance) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext_CertificateProviderInstance) ProtoMessage() {} func (x *CommonTlsContext_CertificateProviderInstance) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext_CertificateProviderInstance.ProtoReflect.Descriptor instead. func (*CommonTlsContext_CertificateProviderInstance) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{3, 1} } func (x *CommonTlsContext_CertificateProviderInstance) GetInstanceName() string { if x != nil { return x.InstanceName } return "" } func (x *CommonTlsContext_CertificateProviderInstance) GetCertificateName() string { if x != nil { return x.CertificateName } return "" } type CommonTlsContext_CombinedCertificateValidationContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How to validate peer certificates. DefaultValidationContext *CertificateValidationContext `protobuf:"bytes,1,opt,name=default_validation_context,json=defaultValidationContext,proto3" json:"default_validation_context,omitempty"` // Config for fetching validation context via SDS API. Note SDS API allows certificates to be // fetched/refreshed over the network asynchronously with respect to the TLS handshake. ValidationContextSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,2,opt,name=validation_context_sds_secret_config,json=validationContextSdsSecretConfig,proto3" json:"validation_context_sds_secret_config,omitempty"` // Certificate provider for fetching CA certs. This will populate the // “default_validation_context.trusted_ca“ field. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. ValidationContextCertificateProvider *CommonTlsContext_CertificateProvider `protobuf:"bytes,3,opt,name=validation_context_certificate_provider,json=validationContextCertificateProvider,proto3" json:"validation_context_certificate_provider,omitempty"` // Certificate provider instance for fetching CA certs. This will populate the // “default_validation_context.trusted_ca“ field. // [#not-implemented-hide:] // // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. ValidationContextCertificateProviderInstance *CommonTlsContext_CertificateProviderInstance `protobuf:"bytes,4,opt,name=validation_context_certificate_provider_instance,json=validationContextCertificateProviderInstance,proto3" json:"validation_context_certificate_provider_instance,omitempty"` } func (x *CommonTlsContext_CombinedCertificateValidationContext) Reset() { *x = CommonTlsContext_CombinedCertificateValidationContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonTlsContext_CombinedCertificateValidationContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonTlsContext_CombinedCertificateValidationContext) ProtoMessage() {} func (x *CommonTlsContext_CombinedCertificateValidationContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonTlsContext_CombinedCertificateValidationContext.ProtoReflect.Descriptor instead. func (*CommonTlsContext_CombinedCertificateValidationContext) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP(), []int{3, 2} } func (x *CommonTlsContext_CombinedCertificateValidationContext) GetDefaultValidationContext() *CertificateValidationContext { if x != nil { return x.DefaultValidationContext } return nil } func (x *CommonTlsContext_CombinedCertificateValidationContext) GetValidationContextSdsSecretConfig() *SdsSecretConfig { if x != nil { return x.ValidationContextSdsSecretConfig } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext_CombinedCertificateValidationContext) GetValidationContextCertificateProvider() *CommonTlsContext_CertificateProvider { if x != nil { return x.ValidationContextCertificateProvider } return nil } // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *CommonTlsContext_CombinedCertificateValidationContext) GetValidationContextCertificateProviderInstance() *CommonTlsContext_CertificateProviderInstance { if x != nil { return x.ValidationContextCertificateProviderInstance } return nil } var File_envoy_extensions_transport_sockets_tls_v3_tls_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDesc = []byte{ 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x69, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0xff, 0x01, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, 0x15, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x73, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x73, 0x61, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x9a, 0x09, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x69, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x6e, 0x69, 0x12, 0x71, 0x0a, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x25, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x24, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x21, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x23, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0xaa, 0x01, 0x0a, 0x1a, 0x06, 0x08, 0x80, 0x80, 0x80, 0x80, 0x10, 0x32, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x12, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5f, 0x0a, 0x1f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x5f, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x61, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x73, 0x4f, 0x6e, 0x53, 0x6e, 0x69, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x4e, 0x0a, 0x10, 0x4f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x4e, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x50, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x50, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x50, 0x4c, 0x45, 0x10, 0x02, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x09, 0x54, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xea, 0x17, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x22, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x21, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x1e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x24, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x21, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0xc6, 0x01, 0x0a, 0x2d, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x29, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x78, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa2, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x27, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0xce, 0x01, 0x0a, 0x30, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x4c, 0x6f, 0x67, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x4c, 0x6f, 0x67, 0x1a, 0x92, 0x01, 0x0a, 0x13, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x6d, 0x0a, 0x1b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xa4, 0x06, 0x0a, 0x24, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x53, 0x64, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xb3, 0x01, 0x0a, 0x27, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x24, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0xcc, 0x01, 0x0a, 0x30, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x2c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x4e, 0x9a, 0xc5, 0x88, 0x1e, 0x49, 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x42, 0xa5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x54, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescData = file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDescData } var file_envoy_extensions_transport_sockets_tls_v3_tls_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_extensions_transport_sockets_tls_v3_tls_proto_goTypes = []interface{}{ (DownstreamTlsContext_OcspStaplePolicy)(0), // 0: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.OcspStaplePolicy (*UpstreamTlsContext)(nil), // 1: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext (*DownstreamTlsContext)(nil), // 2: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext (*TlsKeyLog)(nil), // 3: envoy.extensions.transport_sockets.tls.v3.TlsKeyLog (*CommonTlsContext)(nil), // 4: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext (*CommonTlsContext_CertificateProvider)(nil), // 5: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider (*CommonTlsContext_CertificateProviderInstance)(nil), // 6: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance (*CommonTlsContext_CombinedCertificateValidationContext)(nil), // 7: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue (*TlsSessionTicketKeys)(nil), // 10: envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys (*SdsSecretConfig)(nil), // 11: envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig (*duration.Duration)(nil), // 12: google.protobuf.Duration (*v3.CidrRange)(nil), // 13: envoy.config.core.v3.CidrRange (*TlsParameters)(nil), // 14: envoy.extensions.transport_sockets.tls.v3.TlsParameters (*TlsCertificate)(nil), // 15: envoy.extensions.transport_sockets.tls.v3.TlsCertificate (*CertificateProviderPluginInstance)(nil), // 16: envoy.extensions.transport_sockets.tls.v3.CertificateProviderPluginInstance (*CertificateValidationContext)(nil), // 17: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext (*v3.TypedExtensionConfig)(nil), // 18: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_extensions_transport_sockets_tls_v3_tls_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext.common_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext 8, // 1: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext.max_session_keys:type_name -> google.protobuf.UInt32Value 9, // 2: envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext.enforce_rsa_key_usage:type_name -> google.protobuf.BoolValue 4, // 3: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.common_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext 9, // 4: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.require_client_certificate:type_name -> google.protobuf.BoolValue 9, // 5: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.require_sni:type_name -> google.protobuf.BoolValue 10, // 6: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.session_ticket_keys:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsSessionTicketKeys 11, // 7: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.session_ticket_keys_sds_secret_config:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 12, // 8: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.session_timeout:type_name -> google.protobuf.Duration 0, // 9: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.ocsp_staple_policy:type_name -> envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.OcspStaplePolicy 9, // 10: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext.full_scan_certs_on_sni_mismatch:type_name -> google.protobuf.BoolValue 13, // 11: envoy.extensions.transport_sockets.tls.v3.TlsKeyLog.local_address_range:type_name -> envoy.config.core.v3.CidrRange 13, // 12: envoy.extensions.transport_sockets.tls.v3.TlsKeyLog.remote_address_range:type_name -> envoy.config.core.v3.CidrRange 14, // 13: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_params:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsParameters 15, // 14: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_certificates:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsCertificate 11, // 15: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_certificate_sds_secret_configs:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 16, // 16: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_certificate_provider_instance:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateProviderPluginInstance 5, // 17: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_certificate_certificate_provider:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider 6, // 18: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.tls_certificate_certificate_provider_instance:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance 17, // 19: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.validation_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext 11, // 20: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.validation_context_sds_secret_config:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 7, // 21: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.combined_validation_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext 5, // 22: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.validation_context_certificate_provider:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider 6, // 23: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.validation_context_certificate_provider_instance:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance 18, // 24: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.custom_handshaker:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 25: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.key_log:type_name -> envoy.extensions.transport_sockets.tls.v3.TlsKeyLog 18, // 26: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider.typed_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 17, // 27: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext.default_validation_context:type_name -> envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext 11, // 28: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext.validation_context_sds_secret_config:type_name -> envoy.extensions.transport_sockets.tls.v3.SdsSecretConfig 5, // 29: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext.validation_context_certificate_provider:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider 6, // 30: envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CombinedCertificateValidationContext.validation_context_certificate_provider_instance:type_name -> envoy.extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProviderInstance 31, // [31:31] is the sub-list for method output_type 31, // [31:31] is the sub-list for method input_type 31, // [31:31] is the sub-list for extension type_name 31, // [31:31] is the sub-list for extension extendee 0, // [0:31] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tls_v3_tls_proto_init() } func file_envoy_extensions_transport_sockets_tls_v3_tls_proto_init() { if File_envoy_extensions_transport_sockets_tls_v3_tls_proto != nil { return } file_envoy_extensions_transport_sockets_tls_v3_common_proto_init() file_envoy_extensions_transport_sockets_tls_v3_secret_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DownstreamTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlsKeyLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext_CertificateProvider); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext_CertificateProviderInstance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTlsContext_CombinedCertificateValidationContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DownstreamTlsContext_SessionTicketKeys)(nil), (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig)(nil), (*DownstreamTlsContext_DisableStatelessSessionResumption)(nil), } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CommonTlsContext_ValidationContext)(nil), (*CommonTlsContext_ValidationContextSdsSecretConfig)(nil), (*CommonTlsContext_CombinedValidationContext)(nil), (*CommonTlsContext_ValidationContextCertificateProvider)(nil), (*CommonTlsContext_ValidationContextCertificateProviderInstance)(nil), } file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes[4].OneofWrappers = []interface{}{ (*CommonTlsContext_CertificateProvider_TypedConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDesc, NumEnums: 1, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tls_v3_tls_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tls_v3_tls_proto_depIdxs, EnumInfos: file_envoy_extensions_transport_sockets_tls_v3_tls_proto_enumTypes, MessageInfos: file_envoy_extensions_transport_sockets_tls_v3_tls_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tls_v3_tls_proto = out.File file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tls_v3_tls_proto_goTypes = nil file_envoy_extensions_transport_sockets_tls_v3_tls_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/tls.pb.validate.go000077500000000000000000001543721454502223200305710ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tls/v3/tls.proto package tlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UpstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UpstreamTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UpstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UpstreamTlsContextMultiError, or nil if none found. func (m *UpstreamTlsContext) ValidateAll() error { return m.validate(true) } func (m *UpstreamTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, } } } if len(m.GetSni()) > 255 { err := UpstreamTlsContextValidationError{ field: "Sni", reason: "value length must be at most 255 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for AllowRenegotiation if all { switch v := interface{}(m.GetMaxSessionKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxSessionKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamTlsContextValidationError{ field: "MaxSessionKeys", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetEnforceRsaKeyUsage()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "EnforceRsaKeyUsage", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, UpstreamTlsContextValidationError{ field: "EnforceRsaKeyUsage", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnforceRsaKeyUsage()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return UpstreamTlsContextValidationError{ field: "EnforceRsaKeyUsage", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return UpstreamTlsContextMultiError(errors) } return nil } // UpstreamTlsContextMultiError is an error wrapping multiple validation errors // returned by UpstreamTlsContext.ValidateAll() if the designated constraints // aren't met. type UpstreamTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UpstreamTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UpstreamTlsContextMultiError) AllErrors() []error { return m } // UpstreamTlsContextValidationError is the validation error returned by // UpstreamTlsContext.Validate if the designated constraints aren't met. type UpstreamTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UpstreamTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UpstreamTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UpstreamTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UpstreamTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UpstreamTlsContextValidationError) ErrorName() string { return "UpstreamTlsContextValidationError" } // Error satisfies the builtin error interface func (e UpstreamTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUpstreamTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UpstreamTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UpstreamTlsContextValidationError{} // Validate checks the field values on DownstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DownstreamTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DownstreamTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DownstreamTlsContextMultiError, or nil if none found. func (m *DownstreamTlsContext) ValidateAll() error { return m.validate(true) } func (m *DownstreamTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonTlsContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonTlsContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "CommonTlsContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequireClientCertificate()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireClientCertificate()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "RequireClientCertificate", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequireSni()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequireSni()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "RequireSni", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DisableStatefulSessionResumption if d := m.GetSessionTimeout(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = DownstreamTlsContextValidationError{ field: "SessionTimeout", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { lt := time.Duration(4294967296*time.Second + 0*time.Nanosecond) gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte || dur >= lt { err := DownstreamTlsContextValidationError{ field: "SessionTimeout", reason: "value must be inside range [0s, 1193046h28m16s)", } if !all { return err } errors = append(errors, err) } } } if _, ok := DownstreamTlsContext_OcspStaplePolicy_name[int32(m.GetOcspStaplePolicy())]; !ok { err := DownstreamTlsContextValidationError{ field: "OcspStaplePolicy", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetFullScanCertsOnSniMismatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "FullScanCertsOnSniMismatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "FullScanCertsOnSniMismatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFullScanCertsOnSniMismatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "FullScanCertsOnSniMismatch", reason: "embedded message failed validation", cause: err, } } } switch v := m.SessionTicketKeysType.(type) { case *DownstreamTlsContext_SessionTicketKeys: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeys()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeys()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "SessionTicketKeys", reason: "embedded message failed validation", cause: err, } } } case *DownstreamTlsContext_SessionTicketKeysSdsSecretConfig: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSessionTicketKeysSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSessionTicketKeysSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DownstreamTlsContextValidationError{ field: "SessionTicketKeysSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } case *DownstreamTlsContext_DisableStatelessSessionResumption: if v == nil { err := DownstreamTlsContextValidationError{ field: "SessionTicketKeysType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for DisableStatelessSessionResumption default: _ = v // ensures v is used } if len(errors) > 0 { return DownstreamTlsContextMultiError(errors) } return nil } // DownstreamTlsContextMultiError is an error wrapping multiple validation // errors returned by DownstreamTlsContext.ValidateAll() if the designated // constraints aren't met. type DownstreamTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DownstreamTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DownstreamTlsContextMultiError) AllErrors() []error { return m } // DownstreamTlsContextValidationError is the validation error returned by // DownstreamTlsContext.Validate if the designated constraints aren't met. type DownstreamTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DownstreamTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DownstreamTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DownstreamTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DownstreamTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DownstreamTlsContextValidationError) ErrorName() string { return "DownstreamTlsContextValidationError" } // Error satisfies the builtin error interface func (e DownstreamTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDownstreamTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DownstreamTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DownstreamTlsContextValidationError{} // Validate checks the field values on TlsKeyLog with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TlsKeyLog) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TlsKeyLog with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TlsKeyLogMultiError, or nil // if none found. func (m *TlsKeyLog) ValidateAll() error { return m.validate(true) } func (m *TlsKeyLog) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetPath()) < 1 { err := TlsKeyLogValidationError{ field: "Path", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLocalAddressRange() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsKeyLogValidationError{ field: fmt.Sprintf("LocalAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsKeyLogValidationError{ field: fmt.Sprintf("LocalAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsKeyLogValidationError{ field: fmt.Sprintf("LocalAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRemoteAddressRange() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TlsKeyLogValidationError{ field: fmt.Sprintf("RemoteAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TlsKeyLogValidationError{ field: fmt.Sprintf("RemoteAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TlsKeyLogValidationError{ field: fmt.Sprintf("RemoteAddressRange[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return TlsKeyLogMultiError(errors) } return nil } // TlsKeyLogMultiError is an error wrapping multiple validation errors returned // by TlsKeyLog.ValidateAll() if the designated constraints aren't met. type TlsKeyLogMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TlsKeyLogMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TlsKeyLogMultiError) AllErrors() []error { return m } // TlsKeyLogValidationError is the validation error returned by // TlsKeyLog.Validate if the designated constraints aren't met. type TlsKeyLogValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TlsKeyLogValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TlsKeyLogValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TlsKeyLogValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TlsKeyLogValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TlsKeyLogValidationError) ErrorName() string { return "TlsKeyLogValidationError" } // Error satisfies the builtin error interface func (e TlsKeyLogValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTlsKeyLog.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TlsKeyLogValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TlsKeyLogValidationError{} // Validate checks the field values on CommonTlsContext with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CommonTlsContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonTlsContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonTlsContextMultiError, or nil if none found. func (m *CommonTlsContext) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTlsParams()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsParams()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "TlsParams", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetTlsCertificates() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificates[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetTlsCertificateSdsSecretConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: fmt.Sprintf("TlsCertificateSdsSecretConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetTlsCertificateProviderInstance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCertificateProviderInstance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "TlsCertificateProviderInstance", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsCertificateCertificateProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateCertificateProvider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateCertificateProvider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCertificateCertificateProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "TlsCertificateCertificateProvider", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsCertificateCertificateProviderInstance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "TlsCertificateCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsCertificateCertificateProviderInstance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "TlsCertificateCertificateProviderInstance", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCustomHandshaker()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CustomHandshaker", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CustomHandshaker", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCustomHandshaker()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "CustomHandshaker", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetKeyLog()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "KeyLog", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "KeyLog", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKeyLog()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "KeyLog", reason: "embedded message failed validation", cause: err, } } } switch v := m.ValidationContextType.(type) { case *CommonTlsContext_ValidationContext: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContext", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_ValidationContextSdsSecretConfig: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_CombinedValidationContext: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetCombinedValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCombinedValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "CombinedValidationContext", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_ValidationContextCertificateProvider: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextCertificateProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextCertificateProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, } } } case *CommonTlsContext_ValidationContextCertificateProviderInstance: if v == nil { err := CommonTlsContextValidationError{ field: "ValidationContextType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextCertificateProviderInstance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextCertificateProviderInstance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CommonTlsContextMultiError(errors) } return nil } // CommonTlsContextMultiError is an error wrapping multiple validation errors // returned by CommonTlsContext.ValidateAll() if the designated constraints // aren't met. type CommonTlsContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContextMultiError) AllErrors() []error { return m } // CommonTlsContextValidationError is the validation error returned by // CommonTlsContext.Validate if the designated constraints aren't met. type CommonTlsContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContextValidationError) ErrorName() string { return "CommonTlsContextValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContextValidationError{} // Validate checks the field values on CommonTlsContext_CertificateProvider // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *CommonTlsContext_CertificateProvider) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonTlsContext_CertificateProvider // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // CommonTlsContext_CertificateProviderMultiError, or nil if none found. func (m *CommonTlsContext_CertificateProvider) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext_CertificateProvider) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := CommonTlsContext_CertificateProviderValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofConfigPresent := false switch v := m.Config.(type) { case *CommonTlsContext_CertificateProvider_TypedConfig: if v == nil { err := CommonTlsContext_CertificateProviderValidationError{ field: "Config", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConfigPresent = true if all { switch v := interface{}(m.GetTypedConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CertificateProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CertificateProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTypedConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CertificateProviderValidationError{ field: "TypedConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConfigPresent { err := CommonTlsContext_CertificateProviderValidationError{ field: "Config", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CommonTlsContext_CertificateProviderMultiError(errors) } return nil } // CommonTlsContext_CertificateProviderMultiError is an error wrapping multiple // validation errors returned by // CommonTlsContext_CertificateProvider.ValidateAll() if the designated // constraints aren't met. type CommonTlsContext_CertificateProviderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContext_CertificateProviderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContext_CertificateProviderMultiError) AllErrors() []error { return m } // CommonTlsContext_CertificateProviderValidationError is the validation error // returned by CommonTlsContext_CertificateProvider.Validate if the designated // constraints aren't met. type CommonTlsContext_CertificateProviderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContext_CertificateProviderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContext_CertificateProviderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContext_CertificateProviderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContext_CertificateProviderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContext_CertificateProviderValidationError) ErrorName() string { return "CommonTlsContext_CertificateProviderValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContext_CertificateProviderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext_CertificateProvider.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContext_CertificateProviderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContext_CertificateProviderValidationError{} // Validate checks the field values on // CommonTlsContext_CertificateProviderInstance with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CommonTlsContext_CertificateProviderInstance) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CommonTlsContext_CertificateProviderInstance with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // CommonTlsContext_CertificateProviderInstanceMultiError, or nil if none found. func (m *CommonTlsContext_CertificateProviderInstance) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext_CertificateProviderInstance) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for InstanceName // no validation rules for CertificateName if len(errors) > 0 { return CommonTlsContext_CertificateProviderInstanceMultiError(errors) } return nil } // CommonTlsContext_CertificateProviderInstanceMultiError is an error wrapping // multiple validation errors returned by // CommonTlsContext_CertificateProviderInstance.ValidateAll() if the // designated constraints aren't met. type CommonTlsContext_CertificateProviderInstanceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContext_CertificateProviderInstanceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContext_CertificateProviderInstanceMultiError) AllErrors() []error { return m } // CommonTlsContext_CertificateProviderInstanceValidationError is the // validation error returned by // CommonTlsContext_CertificateProviderInstance.Validate if the designated // constraints aren't met. type CommonTlsContext_CertificateProviderInstanceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContext_CertificateProviderInstanceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContext_CertificateProviderInstanceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContext_CertificateProviderInstanceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContext_CertificateProviderInstanceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContext_CertificateProviderInstanceValidationError) ErrorName() string { return "CommonTlsContext_CertificateProviderInstanceValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContext_CertificateProviderInstanceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext_CertificateProviderInstance.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContext_CertificateProviderInstanceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContext_CertificateProviderInstanceValidationError{} // Validate checks the field values on // CommonTlsContext_CombinedCertificateValidationContext with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CommonTlsContext_CombinedCertificateValidationContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // CommonTlsContext_CombinedCertificateValidationContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CommonTlsContext_CombinedCertificateValidationContextMultiError, or nil if // none found. func (m *CommonTlsContext_CombinedCertificateValidationContext) ValidateAll() error { return m.validate(true) } func (m *CommonTlsContext_CombinedCertificateValidationContext) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetDefaultValidationContext() == nil { err := CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDefaultValidationContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDefaultValidationContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "DefaultValidationContext", reason: "embedded message failed validation", cause: err, } } } if m.GetValidationContextSdsSecretConfig() == nil { err := CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidationContextSdsSecretConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextSdsSecretConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextSdsSecretConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetValidationContextCertificateProvider()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextCertificateProvider()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProvider", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetValidationContextCertificateProviderInstance()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidationContextCertificateProviderInstance()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonTlsContext_CombinedCertificateValidationContextValidationError{ field: "ValidationContextCertificateProviderInstance", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CommonTlsContext_CombinedCertificateValidationContextMultiError(errors) } return nil } // CommonTlsContext_CombinedCertificateValidationContextMultiError is an error // wrapping multiple validation errors returned by // CommonTlsContext_CombinedCertificateValidationContext.ValidateAll() if the // designated constraints aren't met. type CommonTlsContext_CombinedCertificateValidationContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonTlsContext_CombinedCertificateValidationContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonTlsContext_CombinedCertificateValidationContextMultiError) AllErrors() []error { return m } // CommonTlsContext_CombinedCertificateValidationContextValidationError is the // validation error returned by // CommonTlsContext_CombinedCertificateValidationContext.Validate if the // designated constraints aren't met. type CommonTlsContext_CombinedCertificateValidationContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) ErrorName() string { return "CommonTlsContext_CombinedCertificateValidationContextValidationError" } // Error satisfies the builtin error interface func (e CommonTlsContext_CombinedCertificateValidationContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonTlsContext_CombinedCertificateValidationContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonTlsContext_CombinedCertificateValidationContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonTlsContext_CombinedCertificateValidationContextValidationError{} go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.go000077500000000000000000000350171454502223200337210ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.proto package tlsv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration specific to the `SPIFFE `_ certificate validator. // // Example: // // .. validated-code-block:: yaml // // :type-name: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext // // custom_validator_config: // name: envoy.tls.cert_validator.spiffe // typed_config: // "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig // trust_domains: // - name: foo.com // trust_bundle: // filename: "foo.pem" // - name: envoy.com // trust_bundle: // filename: "envoy.pem" // // In this example, a presented peer certificate whose SAN matches “spiffe://foo.com/**“ is validated against // the "foo.pem" x.509 certificate. All the trust bundles are isolated from each other, so no trust domain can mint // a SVID belonging to another trust domain. That means, in this example, a SVID signed by “envoy.com“'s CA with “spiffe://foo.com/**“ // SAN would be rejected since Envoy selects the trust bundle according to the presented SAN before validate the certificate. // // Note that SPIFFE validator inherits and uses the following options from :ref:`CertificateValidationContext `. // // - :ref:`allow_expired_certificate ` to allow expired certificates. // - :ref:`match_typed_subject_alt_names ` to match **URI** SAN of certificates. Unlike the default validator, SPIFFE validator only matches **URI** SAN (which equals to SVID in SPIFFE terminology) and ignore other SAN types. type SPIFFECertValidatorConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field specifies trust domains used for validating incoming X.509-SVID(s). TrustDomains []*SPIFFECertValidatorConfig_TrustDomain `protobuf:"bytes,1,rep,name=trust_domains,json=trustDomains,proto3" json:"trust_domains,omitempty"` } func (x *SPIFFECertValidatorConfig) Reset() { *x = SPIFFECertValidatorConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SPIFFECertValidatorConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SPIFFECertValidatorConfig) ProtoMessage() {} func (x *SPIFFECertValidatorConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SPIFFECertValidatorConfig.ProtoReflect.Descriptor instead. func (*SPIFFECertValidatorConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescGZIP(), []int{0} } func (x *SPIFFECertValidatorConfig) GetTrustDomains() []*SPIFFECertValidatorConfig_TrustDomain { if x != nil { return x.TrustDomains } return nil } type SPIFFECertValidatorConfig_TrustDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the trust domain, “example.com“, “foo.bar.gov“ for example. // Note that this must *not* have "spiffe://" prefix. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Specify a data source holding x.509 trust bundle used for validating incoming SVID(s) in this trust domain. TrustBundle *v3.DataSource `protobuf:"bytes,2,opt,name=trust_bundle,json=trustBundle,proto3" json:"trust_bundle,omitempty"` } func (x *SPIFFECertValidatorConfig_TrustDomain) Reset() { *x = SPIFFECertValidatorConfig_TrustDomain{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SPIFFECertValidatorConfig_TrustDomain) String() string { return protoimpl.X.MessageStringOf(x) } func (*SPIFFECertValidatorConfig_TrustDomain) ProtoMessage() {} func (x *SPIFFECertValidatorConfig_TrustDomain) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SPIFFECertValidatorConfig_TrustDomain.ProtoReflect.Descriptor instead. func (*SPIFFECertValidatorConfig_TrustDomain) Descriptor() ([]byte, []int) { return file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescGZIP(), []int{0, 0} } func (x *SPIFFECertValidatorConfig_TrustDomain) GetName() string { if x != nil { return x.Name } return "" } func (x *SPIFFECertValidatorConfig_TrustDomain) GetTrustBundle() *v3.DataSource { if x != nil { return x.TrustBundle } return nil } var File_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto protoreflect.FileDescriptor var file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDesc = []byte{ 0x0a, 0x4b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x70, 0x69, 0x66, 0x66, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x19, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x43, 0x65, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7f, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x43, 0x65, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x6f, 0x0a, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x75, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0xba, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x1d, 0x54, 0x6c, 0x73, 0x53, 0x70, 0x69, 0x66, 0x66, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x6c, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescOnce sync.Once file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescData = file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDesc ) func file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescGZIP() []byte { file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescOnce.Do(func() { file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescData) }) return file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDescData } var file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_goTypes = []interface{}{ (*SPIFFECertValidatorConfig)(nil), // 0: envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig (*SPIFFECertValidatorConfig_TrustDomain)(nil), // 1: envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain (*v3.DataSource)(nil), // 2: envoy.config.core.v3.DataSource } var file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.trust_domains:type_name -> envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain 2, // 1: envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain.trust_bundle:type_name -> envoy.config.core.v3.DataSource 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_init() } func file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_init() { if File_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SPIFFECertValidatorConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SPIFFECertValidatorConfig_TrustDomain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_goTypes, DependencyIndexes: file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_depIdxs, MessageInfos: file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_msgTypes, }.Build() File_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto = out.File file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDesc = nil file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_goTypes = nil file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_depIdxs = nil } tls_spiffe_validator_config.pb.validate.go000077500000000000000000000222141454502223200354250ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/transport_sockets/tls/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.proto package tlsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SPIFFECertValidatorConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SPIFFECertValidatorConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SPIFFECertValidatorConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SPIFFECertValidatorConfigMultiError, or nil if none found. func (m *SPIFFECertValidatorConfig) ValidateAll() error { return m.validate(true) } func (m *SPIFFECertValidatorConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetTrustDomains()) < 1 { err := SPIFFECertValidatorConfigValidationError{ field: "TrustDomains", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetTrustDomains() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SPIFFECertValidatorConfigValidationError{ field: fmt.Sprintf("TrustDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SPIFFECertValidatorConfigValidationError{ field: fmt.Sprintf("TrustDomains[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SPIFFECertValidatorConfigValidationError{ field: fmt.Sprintf("TrustDomains[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return SPIFFECertValidatorConfigMultiError(errors) } return nil } // SPIFFECertValidatorConfigMultiError is an error wrapping multiple validation // errors returned by SPIFFECertValidatorConfig.ValidateAll() if the // designated constraints aren't met. type SPIFFECertValidatorConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SPIFFECertValidatorConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SPIFFECertValidatorConfigMultiError) AllErrors() []error { return m } // SPIFFECertValidatorConfigValidationError is the validation error returned by // SPIFFECertValidatorConfig.Validate if the designated constraints aren't met. type SPIFFECertValidatorConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SPIFFECertValidatorConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SPIFFECertValidatorConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SPIFFECertValidatorConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SPIFFECertValidatorConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SPIFFECertValidatorConfigValidationError) ErrorName() string { return "SPIFFECertValidatorConfigValidationError" } // Error satisfies the builtin error interface func (e SPIFFECertValidatorConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSPIFFECertValidatorConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SPIFFECertValidatorConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SPIFFECertValidatorConfigValidationError{} // Validate checks the field values on SPIFFECertValidatorConfig_TrustDomain // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *SPIFFECertValidatorConfig_TrustDomain) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SPIFFECertValidatorConfig_TrustDomain // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // SPIFFECertValidatorConfig_TrustDomainMultiError, or nil if none found. func (m *SPIFFECertValidatorConfig_TrustDomain) ValidateAll() error { return m.validate(true) } func (m *SPIFFECertValidatorConfig_TrustDomain) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := SPIFFECertValidatorConfig_TrustDomainValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetTrustBundle()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, SPIFFECertValidatorConfig_TrustDomainValidationError{ field: "TrustBundle", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, SPIFFECertValidatorConfig_TrustDomainValidationError{ field: "TrustBundle", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrustBundle()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return SPIFFECertValidatorConfig_TrustDomainValidationError{ field: "TrustBundle", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return SPIFFECertValidatorConfig_TrustDomainMultiError(errors) } return nil } // SPIFFECertValidatorConfig_TrustDomainMultiError is an error wrapping // multiple validation errors returned by // SPIFFECertValidatorConfig_TrustDomain.ValidateAll() if the designated // constraints aren't met. type SPIFFECertValidatorConfig_TrustDomainMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SPIFFECertValidatorConfig_TrustDomainMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SPIFFECertValidatorConfig_TrustDomainMultiError) AllErrors() []error { return m } // SPIFFECertValidatorConfig_TrustDomainValidationError is the validation error // returned by SPIFFECertValidatorConfig_TrustDomain.Validate if the // designated constraints aren't met. type SPIFFECertValidatorConfig_TrustDomainValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SPIFFECertValidatorConfig_TrustDomainValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SPIFFECertValidatorConfig_TrustDomainValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SPIFFECertValidatorConfig_TrustDomainValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SPIFFECertValidatorConfig_TrustDomainValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SPIFFECertValidatorConfig_TrustDomainValidationError) ErrorName() string { return "SPIFFECertValidatorConfig_TrustDomainValidationError" } // Error satisfies the builtin error interface func (e SPIFFECertValidatorConfig_TrustDomainValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSPIFFECertValidatorConfig_TrustDomain.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SPIFFECertValidatorConfig_TrustDomainValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SPIFFECertValidatorConfig_TrustDomainValidationError{} go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/000077500000000000000000000000001454502223200240235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/v3/000077500000000000000000000000001454502223200243535ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory.pb.go000077500000000000000000000167351454502223200327400ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory.proto package udp_packet_writerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the default UDP packet writer factory which simply // uses the kernel's sendmsg() to send UDP packets. type UdpDefaultWriterFactory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UdpDefaultWriterFactory) Reset() { *x = UdpDefaultWriterFactory{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpDefaultWriterFactory) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpDefaultWriterFactory) ProtoMessage() {} func (x *UdpDefaultWriterFactory) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpDefaultWriterFactory.ProtoReflect.Descriptor instead. func (*UdpDefaultWriterFactory) Descriptor() ([]byte, []int) { return file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto protoreflect.FileDescriptor var file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDesc = []byte{ 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x64, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x42, 0xbf, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x1c, 0x55, 0x64, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescOnce sync.Once file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescData = file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDesc ) func file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescGZIP() []byte { file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescOnce.Do(func() { file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescData) }) return file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDescData } var file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_goTypes = []interface{}{ (*UdpDefaultWriterFactory)(nil), // 0: envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory } var file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_init() } func file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_init() { if File_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpDefaultWriterFactory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_goTypes, DependencyIndexes: file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_depIdxs, MessageInfos: file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_msgTypes, }.Build() File_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto = out.File file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_rawDesc = nil file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_goTypes = nil file_envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory_proto_depIdxs = nil } udp_default_writer_factory.pb.validate.go000077500000000000000000000067761454502223200344550ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory.proto package udp_packet_writerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpDefaultWriterFactory with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UdpDefaultWriterFactory) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpDefaultWriterFactory with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpDefaultWriterFactoryMultiError, or nil if none found. func (m *UdpDefaultWriterFactory) ValidateAll() error { return m.validate(true) } func (m *UdpDefaultWriterFactory) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UdpDefaultWriterFactoryMultiError(errors) } return nil } // UdpDefaultWriterFactoryMultiError is an error wrapping multiple validation // errors returned by UdpDefaultWriterFactory.ValidateAll() if the designated // constraints aren't met. type UdpDefaultWriterFactoryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpDefaultWriterFactoryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpDefaultWriterFactoryMultiError) AllErrors() []error { return m } // UdpDefaultWriterFactoryValidationError is the validation error returned by // UdpDefaultWriterFactory.Validate if the designated constraints aren't met. type UdpDefaultWriterFactoryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpDefaultWriterFactoryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpDefaultWriterFactoryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpDefaultWriterFactoryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpDefaultWriterFactoryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpDefaultWriterFactoryValidationError) ErrorName() string { return "UdpDefaultWriterFactoryValidationError" } // Error satisfies the builtin error interface func (e UdpDefaultWriterFactoryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpDefaultWriterFactory.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpDefaultWriterFactoryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpDefaultWriterFactoryValidationError{} go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory.pb.go000077500000000000000000000167741454502223200332500ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory.proto package udp_packet_writerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the UDP GSO batch packet writer factory. type UdpGsoBatchWriterFactory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UdpGsoBatchWriterFactory) Reset() { *x = UdpGsoBatchWriterFactory{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpGsoBatchWriterFactory) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpGsoBatchWriterFactory) ProtoMessage() {} func (x *UdpGsoBatchWriterFactory) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpGsoBatchWriterFactory.ProtoReflect.Descriptor instead. func (*UdpGsoBatchWriterFactory) Descriptor() ([]byte, []int) { return file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto protoreflect.FileDescriptor var file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x67, 0x73, 0x6f, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x64, 0x70, 0x47, 0x73, 0x6f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x42, 0xc0, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x1d, 0x55, 0x64, 0x70, 0x47, 0x73, 0x6f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x64, 0x70, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescOnce sync.Once file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescData = file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDesc ) func file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescGZIP() []byte { file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescOnce.Do(func() { file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescData) }) return file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDescData } var file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_goTypes = []interface{}{ (*UdpGsoBatchWriterFactory)(nil), // 0: envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory } var file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_init() } func file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_init() { if File_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpGsoBatchWriterFactory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_goTypes, DependencyIndexes: file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_depIdxs, MessageInfos: file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_msgTypes, }.Build() File_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto = out.File file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_rawDesc = nil file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_goTypes = nil file_envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory_proto_depIdxs = nil } udp_gso_batch_writer_factory.pb.validate.go000077500000000000000000000070311454502223200347430ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/udp_packet_writer/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory.proto package udp_packet_writerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpGsoBatchWriterFactory with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UdpGsoBatchWriterFactory) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpGsoBatchWriterFactory with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpGsoBatchWriterFactoryMultiError, or nil if none found. func (m *UdpGsoBatchWriterFactory) ValidateAll() error { return m.validate(true) } func (m *UdpGsoBatchWriterFactory) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UdpGsoBatchWriterFactoryMultiError(errors) } return nil } // UdpGsoBatchWriterFactoryMultiError is an error wrapping multiple validation // errors returned by UdpGsoBatchWriterFactory.ValidateAll() if the designated // constraints aren't met. type UdpGsoBatchWriterFactoryMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpGsoBatchWriterFactoryMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpGsoBatchWriterFactoryMultiError) AllErrors() []error { return m } // UdpGsoBatchWriterFactoryValidationError is the validation error returned by // UdpGsoBatchWriterFactory.Validate if the designated constraints aren't met. type UdpGsoBatchWriterFactoryValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpGsoBatchWriterFactoryValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpGsoBatchWriterFactoryValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpGsoBatchWriterFactoryValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpGsoBatchWriterFactoryValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpGsoBatchWriterFactoryValidationError) ErrorName() string { return "UdpGsoBatchWriterFactoryValidationError" } // Error satisfies the builtin error interface func (e UdpGsoBatchWriterFactoryValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpGsoBatchWriterFactory.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpGsoBatchWriterFactoryValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpGsoBatchWriterFactoryValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/000077500000000000000000000000001454502223200223335ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/000077500000000000000000000000001454502223200233125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/generic/000077500000000000000000000000001454502223200247265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/generic/v3/000077500000000000000000000000001454502223200252565ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/generic/v3/generic_connection_pool.pb.go000077500000000000000000000173121454502223200331000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/http/generic/v3/generic_connection_pool.proto package genericv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A connection pool which forwards downstream HTTP as TCP, UDP or HTTP to upstream, // based on CONNECT configuration. // [#extension: envoy.upstreams.http.generic] type GenericConnectionPoolProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GenericConnectionPoolProto) Reset() { *x = GenericConnectionPoolProto{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericConnectionPoolProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericConnectionPoolProto) ProtoMessage() {} func (x *GenericConnectionPoolProto) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericConnectionPoolProto.ProtoReflect.Descriptor instead. func (*GenericConnectionPoolProto) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDesc = []byte{ 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xc7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x24, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescData = file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDesc ) func file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescData) }) return file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDescData } var file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_goTypes = []interface{}{ (*GenericConnectionPoolProto)(nil), // 0: envoy.extensions.upstreams.http.generic.v3.GenericConnectionPoolProto } var file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_init() } func file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_init() { if File_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericConnectionPoolProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto = out.File file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_rawDesc = nil file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_goTypes = nil file_envoy_extensions_upstreams_http_generic_v3_generic_connection_pool_proto_depIdxs = nil } generic_connection_pool.pb.validate.go000077500000000000000000000071011454502223200346040ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/generic/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/http/generic/v3/generic_connection_pool.proto package genericv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GenericConnectionPoolProto with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GenericConnectionPoolProto) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericConnectionPoolProto with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GenericConnectionPoolProtoMultiError, or nil if none found. func (m *GenericConnectionPoolProto) ValidateAll() error { return m.validate(true) } func (m *GenericConnectionPoolProto) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GenericConnectionPoolProtoMultiError(errors) } return nil } // GenericConnectionPoolProtoMultiError is an error wrapping multiple // validation errors returned by GenericConnectionPoolProto.ValidateAll() if // the designated constraints aren't met. type GenericConnectionPoolProtoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericConnectionPoolProtoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericConnectionPoolProtoMultiError) AllErrors() []error { return m } // GenericConnectionPoolProtoValidationError is the validation error returned // by GenericConnectionPoolProto.Validate if the designated constraints aren't met. type GenericConnectionPoolProtoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericConnectionPoolProtoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericConnectionPoolProtoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericConnectionPoolProtoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericConnectionPoolProtoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericConnectionPoolProtoValidationError) ErrorName() string { return "GenericConnectionPoolProtoValidationError" } // Error satisfies the builtin error interface func (e GenericConnectionPoolProtoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericConnectionPoolProto.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericConnectionPoolProtoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericConnectionPoolProtoValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/http/http/000077500000000000000000000000001454502223200242715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/http/v3/000077500000000000000000000000001454502223200246215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/http/v3/http_connection_pool.pb.go000077500000000000000000000164611454502223200320120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/http/http/v3/http_connection_pool.proto package httpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A connection pool which forwards downstream HTTP as HTTP to upstream. // [#extension: envoy.upstreams.http.http] type HttpConnectionPoolProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HttpConnectionPoolProto) Reset() { *x = HttpConnectionPoolProto{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpConnectionPoolProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpConnectionPoolProto) ProtoMessage() {} func (x *HttpConnectionPoolProto) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpConnectionPoolProto.ProtoReflect.Descriptor instead. func (*HttpConnectionPoolProto) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDesc = []byte{ 0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xbb, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x21, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x01, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescData = file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDesc ) func file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescData) }) return file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDescData } var file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_goTypes = []interface{}{ (*HttpConnectionPoolProto)(nil), // 0: envoy.extensions.upstreams.http.http.v3.HttpConnectionPoolProto } var file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_init() } func file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_init() { if File_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpConnectionPoolProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto = out.File file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_rawDesc = nil file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_goTypes = nil file_envoy_extensions_upstreams_http_http_v3_http_connection_pool_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/upstreams/http/http/v3/http_connection_pool.pb.validate.go000077500000000000000000000067551454502223200336070ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/http/http/v3/http_connection_pool.proto package httpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpConnectionPoolProto with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpConnectionPoolProto) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpConnectionPoolProto with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpConnectionPoolProtoMultiError, or nil if none found. func (m *HttpConnectionPoolProto) ValidateAll() error { return m.validate(true) } func (m *HttpConnectionPoolProto) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HttpConnectionPoolProtoMultiError(errors) } return nil } // HttpConnectionPoolProtoMultiError is an error wrapping multiple validation // errors returned by HttpConnectionPoolProto.ValidateAll() if the designated // constraints aren't met. type HttpConnectionPoolProtoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpConnectionPoolProtoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpConnectionPoolProtoMultiError) AllErrors() []error { return m } // HttpConnectionPoolProtoValidationError is the validation error returned by // HttpConnectionPoolProto.Validate if the designated constraints aren't met. type HttpConnectionPoolProtoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpConnectionPoolProtoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpConnectionPoolProtoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpConnectionPoolProtoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpConnectionPoolProtoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpConnectionPoolProtoValidationError) ErrorName() string { return "HttpConnectionPoolProtoValidationError" } // Error satisfies the builtin error interface func (e HttpConnectionPoolProtoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpConnectionPoolProto.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpConnectionPoolProtoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpConnectionPoolProtoValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/http/tcp/000077500000000000000000000000001454502223200241005ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/tcp/v3/000077500000000000000000000000001454502223200244305ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.pb.go000077500000000000000000000162701454502223200314260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.proto package tcpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A connection pool which forwards downstream HTTP as TCP to upstream, // [#extension: envoy.upstreams.http.tcp] type TcpConnectionPoolProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *TcpConnectionPoolProto) Reset() { *x = TcpConnectionPoolProto{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpConnectionPoolProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpConnectionPoolProto) ProtoMessage() {} func (x *TcpConnectionPoolProto) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpConnectionPoolProto.ProtoReflect.Descriptor instead. func (*TcpConnectionPoolProto) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xb7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x20, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x63, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescData = file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDesc ) func file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescData) }) return file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDescData } var file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_goTypes = []interface{}{ (*TcpConnectionPoolProto)(nil), // 0: envoy.extensions.upstreams.http.tcp.v3.TcpConnectionPoolProto } var file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_init() } func file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_init() { if File_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpConnectionPoolProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto = out.File file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_rawDesc = nil file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_goTypes = nil file_envoy_extensions_upstreams_http_tcp_v3_tcp_connection_pool_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.pb.validate.go000077500000000000000000000067211454502223200332160ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.proto package tcpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpConnectionPoolProto with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpConnectionPoolProto) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpConnectionPoolProto with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpConnectionPoolProtoMultiError, or nil if none found. func (m *TcpConnectionPoolProto) ValidateAll() error { return m.validate(true) } func (m *TcpConnectionPoolProto) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return TcpConnectionPoolProtoMultiError(errors) } return nil } // TcpConnectionPoolProtoMultiError is an error wrapping multiple validation // errors returned by TcpConnectionPoolProto.ValidateAll() if the designated // constraints aren't met. type TcpConnectionPoolProtoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpConnectionPoolProtoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpConnectionPoolProtoMultiError) AllErrors() []error { return m } // TcpConnectionPoolProtoValidationError is the validation error returned by // TcpConnectionPoolProto.Validate if the designated constraints aren't met. type TcpConnectionPoolProtoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpConnectionPoolProtoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpConnectionPoolProtoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpConnectionPoolProtoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpConnectionPoolProtoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpConnectionPoolProtoValidationError) ErrorName() string { return "TcpConnectionPoolProtoValidationError" } // Error satisfies the builtin error interface func (e TcpConnectionPoolProtoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpConnectionPoolProto.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpConnectionPoolProtoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpConnectionPoolProtoValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/http/udp/000077500000000000000000000000001454502223200241025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/udp/v3/000077500000000000000000000000001454502223200244325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/udp/v3/udp_connection_pool.pb.go000077500000000000000000000162701454502223200314320ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/http/udp/v3/udp_connection_pool.proto package udpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A connection pool which forwards downstream HTTP as UDP to upstream, // [#extension: envoy.upstreams.http.udp] type UdpConnectionPoolProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UdpConnectionPoolProto) Reset() { *x = UdpConnectionPoolProto{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UdpConnectionPoolProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*UdpConnectionPoolProto) ProtoMessage() {} func (x *UdpConnectionPoolProto) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UdpConnectionPoolProto.ProtoReflect.Descriptor instead. func (*UdpConnectionPoolProto) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xb7, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x75, 0x64, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x20, 0x55, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x75, 0x64, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x64, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescData = file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDesc ) func file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescData) }) return file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDescData } var file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_goTypes = []interface{}{ (*UdpConnectionPoolProto)(nil), // 0: envoy.extensions.upstreams.http.udp.v3.UdpConnectionPoolProto } var file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_init() } func file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_init() { if File_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UdpConnectionPoolProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto = out.File file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_rawDesc = nil file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_goTypes = nil file_envoy_extensions_upstreams_http_udp_v3_udp_connection_pool_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/upstreams/http/udp/v3/udp_connection_pool.pb.validate.go000077500000000000000000000067211454502223200332220ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/http/udp/v3/udp_connection_pool.proto package udpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on UdpConnectionPoolProto with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *UdpConnectionPoolProto) Validate() error { return m.validate(false) } // ValidateAll checks the field values on UdpConnectionPoolProto with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // UdpConnectionPoolProtoMultiError, or nil if none found. func (m *UdpConnectionPoolProto) ValidateAll() error { return m.validate(true) } func (m *UdpConnectionPoolProto) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return UdpConnectionPoolProtoMultiError(errors) } return nil } // UdpConnectionPoolProtoMultiError is an error wrapping multiple validation // errors returned by UdpConnectionPoolProto.ValidateAll() if the designated // constraints aren't met. type UdpConnectionPoolProtoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m UdpConnectionPoolProtoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m UdpConnectionPoolProtoMultiError) AllErrors() []error { return m } // UdpConnectionPoolProtoValidationError is the validation error returned by // UdpConnectionPoolProto.Validate if the designated constraints aren't met. type UdpConnectionPoolProtoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e UdpConnectionPoolProtoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e UdpConnectionPoolProtoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e UdpConnectionPoolProtoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e UdpConnectionPoolProtoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e UdpConnectionPoolProtoValidationError) ErrorName() string { return "UdpConnectionPoolProtoValidationError" } // Error satisfies the builtin error interface func (e UdpConnectionPoolProtoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sUdpConnectionPoolProto.%s: %s%s", key, e.field, e.reason, cause) } var _ error = UdpConnectionPoolProtoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = UdpConnectionPoolProtoValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/http/v3/000077500000000000000000000000001454502223200236425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/http/v3/http_protocol_options.pb.go000077500000000000000000001253731454502223200312620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/http/v3/http_protocol_options.proto package httpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HttpProtocolOptions specifies Http upstream protocol options. This object // is used in // :ref:`typed_extension_protocol_options`, // keyed by the name “envoy.extensions.upstreams.http.v3.HttpProtocolOptions“. // // This controls what protocol(s) should be used for upstream and how said protocol(s) are configured. // // This replaces the prior pattern of explicit protocol configuration directly // in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream: // // .. code:: // // clusters: // - name: some_service // connect_timeout: 5s // upstream_http_protocol_options: // auto_sni: true // common_http_protocol_options: // idle_timeout: 1s // http2_protocol_options: // max_concurrent_streams: 100 // .... [further cluster config] // // Would now look like this: // // .. code:: // // clusters: // - name: some_service // connect_timeout: 5s // typed_extension_protocol_options: // envoy.extensions.upstreams.http.v3.HttpProtocolOptions: // "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions // upstream_http_protocol_options: // auto_sni: true // common_http_protocol_options: // idle_timeout: 1s // explicit_http_config: // http2_protocol_options: // max_concurrent_streams: 100 // .... [further cluster config] // // [#next-free-field: 8] type HttpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This contains options common across HTTP/1 and HTTP/2 CommonHttpProtocolOptions *v3.HttpProtocolOptions `protobuf:"bytes,1,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` // This contains common protocol options which are only applied upstream. UpstreamHttpProtocolOptions *v3.UpstreamHttpProtocolOptions `protobuf:"bytes,2,opt,name=upstream_http_protocol_options,json=upstreamHttpProtocolOptions,proto3" json:"upstream_http_protocol_options,omitempty"` // This controls the actual protocol to be used upstream. // // Types that are assignable to UpstreamProtocolOptions: // // *HttpProtocolOptions_ExplicitHttpConfig_ // *HttpProtocolOptions_UseDownstreamProtocolConfig // *HttpProtocolOptions_AutoConfig UpstreamProtocolOptions isHttpProtocolOptions_UpstreamProtocolOptions `protobuf_oneof:"upstream_protocol_options"` // .. note:: // // Upstream HTTP filters are currently in alpha. // // Optional HTTP filters for the upstream HTTP filter chain. // // These filters will be applied for all HTTP streams which flow through this // cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests. // // If using upstream HTTP filters, please be aware that local errors sent by // upstream HTTP filters will not trigger retries, and local errors sent by // upstream HTTP filters will count as a final response if hedging is configured. // [#extension-category: envoy.filters.http.upstream] HttpFilters []*v31.HttpFilter `protobuf:"bytes,6,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"` // Configuration options for Unified Header Validation (UHV). // UHV is an extensible mechanism for checking validity of HTTP responses. // // [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.] // Leaving this field unspecified, selects the default header validator “envoy.http.header_validators.envoy_default“. // // [#not-implemented-hide:] // [#extension-category: envoy.http.header_validators] HeaderValidationConfig *v3.TypedExtensionConfig `protobuf:"bytes,7,opt,name=header_validation_config,json=headerValidationConfig,proto3" json:"header_validation_config,omitempty"` } func (x *HttpProtocolOptions) Reset() { *x = HttpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions) ProtoMessage() {} func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescGZIP(), []int{0} } func (x *HttpProtocolOptions) GetCommonHttpProtocolOptions() *v3.HttpProtocolOptions { if x != nil { return x.CommonHttpProtocolOptions } return nil } func (x *HttpProtocolOptions) GetUpstreamHttpProtocolOptions() *v3.UpstreamHttpProtocolOptions { if x != nil { return x.UpstreamHttpProtocolOptions } return nil } func (m *HttpProtocolOptions) GetUpstreamProtocolOptions() isHttpProtocolOptions_UpstreamProtocolOptions { if m != nil { return m.UpstreamProtocolOptions } return nil } func (x *HttpProtocolOptions) GetExplicitHttpConfig() *HttpProtocolOptions_ExplicitHttpConfig { if x, ok := x.GetUpstreamProtocolOptions().(*HttpProtocolOptions_ExplicitHttpConfig_); ok { return x.ExplicitHttpConfig } return nil } func (x *HttpProtocolOptions) GetUseDownstreamProtocolConfig() *HttpProtocolOptions_UseDownstreamHttpConfig { if x, ok := x.GetUpstreamProtocolOptions().(*HttpProtocolOptions_UseDownstreamProtocolConfig); ok { return x.UseDownstreamProtocolConfig } return nil } func (x *HttpProtocolOptions) GetAutoConfig() *HttpProtocolOptions_AutoHttpConfig { if x, ok := x.GetUpstreamProtocolOptions().(*HttpProtocolOptions_AutoConfig); ok { return x.AutoConfig } return nil } func (x *HttpProtocolOptions) GetHttpFilters() []*v31.HttpFilter { if x != nil { return x.HttpFilters } return nil } func (x *HttpProtocolOptions) GetHeaderValidationConfig() *v3.TypedExtensionConfig { if x != nil { return x.HeaderValidationConfig } return nil } type isHttpProtocolOptions_UpstreamProtocolOptions interface { isHttpProtocolOptions_UpstreamProtocolOptions() } type HttpProtocolOptions_ExplicitHttpConfig_ struct { // To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use “explicit_http_config“. // If the “explicit_http_config“ is empty, HTTP/1.1 is used. ExplicitHttpConfig *HttpProtocolOptions_ExplicitHttpConfig `protobuf:"bytes,3,opt,name=explicit_http_config,json=explicitHttpConfig,proto3,oneof"` } type HttpProtocolOptions_UseDownstreamProtocolConfig struct { // This allows switching on protocol based on what protocol the downstream // connection used. UseDownstreamProtocolConfig *HttpProtocolOptions_UseDownstreamHttpConfig `protobuf:"bytes,4,opt,name=use_downstream_protocol_config,json=useDownstreamProtocolConfig,proto3,oneof"` } type HttpProtocolOptions_AutoConfig struct { // This allows switching on protocol based on ALPN AutoConfig *HttpProtocolOptions_AutoHttpConfig `protobuf:"bytes,5,opt,name=auto_config,json=autoConfig,proto3,oneof"` } func (*HttpProtocolOptions_ExplicitHttpConfig_) isHttpProtocolOptions_UpstreamProtocolOptions() {} func (*HttpProtocolOptions_UseDownstreamProtocolConfig) isHttpProtocolOptions_UpstreamProtocolOptions() { } func (*HttpProtocolOptions_AutoConfig) isHttpProtocolOptions_UpstreamProtocolOptions() {} // If this is used, the cluster will only operate on one of the possible upstream protocols. // Note that HTTP/2 or above should generally be used for upstream gRPC clusters. type HttpProtocolOptions_ExplicitHttpConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to ProtocolConfig: // // *HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions // *HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions // *HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions ProtocolConfig isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig `protobuf_oneof:"protocol_config"` } func (x *HttpProtocolOptions_ExplicitHttpConfig) Reset() { *x = HttpProtocolOptions_ExplicitHttpConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions_ExplicitHttpConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions_ExplicitHttpConfig) ProtoMessage() {} func (x *HttpProtocolOptions_ExplicitHttpConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions_ExplicitHttpConfig.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions_ExplicitHttpConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescGZIP(), []int{0, 0} } func (m *HttpProtocolOptions_ExplicitHttpConfig) GetProtocolConfig() isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig { if m != nil { return m.ProtocolConfig } return nil } func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions { if x, ok := x.GetProtocolConfig().(*HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions); ok { return x.HttpProtocolOptions } return nil } func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions { if x, ok := x.GetProtocolConfig().(*HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions); ok { return x.Http2ProtocolOptions } return nil } func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions { if x, ok := x.GetProtocolConfig().(*HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions); ok { return x.Http3ProtocolOptions } return nil } type isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig interface { isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig() } type HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions struct { HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3,oneof"` } type HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions struct { Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3,oneof"` } type HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions struct { // .. warning:: // // QUIC upstream support is currently not ready for internet use. // Please see :ref:`here ` for details. Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3,oneof"` } func (*HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions) isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig() { } func (*HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions) isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig() { } func (*HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions) isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig() { } // If this is used, the cluster can use either of the configured protocols, and // will use whichever protocol was used by the downstream connection. // // If HTTP/3 is configured for downstream and not configured for upstream, // HTTP/3 requests will fail over to HTTP/2. type HttpProtocolOptions_UseDownstreamHttpConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // .. warning:: // // QUIC upstream support is currently not ready for internet use. // Please see :ref:`here ` for details. Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"` } func (x *HttpProtocolOptions_UseDownstreamHttpConfig) Reset() { *x = HttpProtocolOptions_UseDownstreamHttpConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions_UseDownstreamHttpConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions_UseDownstreamHttpConfig) ProtoMessage() {} func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions_UseDownstreamHttpConfig.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions_UseDownstreamHttpConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescGZIP(), []int{0, 1} } func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions { if x != nil { return x.Http3ProtocolOptions } return nil } // If this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever // protocol is negotiated by ALPN with the upstream. // Clusters configured with “AutoHttpConfig“ will use the highest available // protocol; HTTP/2 if supported, otherwise HTTP/1. // If the upstream does not support ALPN, “AutoHttpConfig“ will fail over to HTTP/1. // This can only be used with transport sockets which support ALPN. Using a // transport socket which does not support ALPN will result in configuration // failure. The transport layer may be configured with custom ALPN, but the default ALPN // for the cluster (or if custom ALPN fails) will be "h2,http/1.1". type HttpProtocolOptions_AutoHttpConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` // Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is // present, and (soon) only if there is an indication of server side // support. // See :ref:`here ` for more information on // when HTTP/3 will be used, and when Envoy will fail over to TCP. // // .. warning:: // // QUIC upstream support is currently not ready for internet use. // Please see :ref:`here ` for details. Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"` // The presence of alternate protocols cache options causes the use of the // alternate protocols cache, which is responsible for parsing and caching // HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that // advertise supporting it. // // .. note:: // // This is required when HTTP/3 is enabled. AlternateProtocolsCacheOptions *v3.AlternateProtocolsCacheOptions `protobuf:"bytes,4,opt,name=alternate_protocols_cache_options,json=alternateProtocolsCacheOptions,proto3" json:"alternate_protocols_cache_options,omitempty"` } func (x *HttpProtocolOptions_AutoHttpConfig) Reset() { *x = HttpProtocolOptions_AutoHttpConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpProtocolOptions_AutoHttpConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpProtocolOptions_AutoHttpConfig) ProtoMessage() {} func (x *HttpProtocolOptions_AutoHttpConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpProtocolOptions_AutoHttpConfig.ProtoReflect.Descriptor instead. func (*HttpProtocolOptions_AutoHttpConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescGZIP(), []int{0, 2} } func (x *HttpProtocolOptions_AutoHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions { if x != nil { return x.HttpProtocolOptions } return nil } func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions { if x != nil { return x.Http2ProtocolOptions } return nil } func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions { if x != nil { return x.Http3ProtocolOptions } return nil } func (x *HttpProtocolOptions_AutoHttpConfig) GetAlternateProtocolsCacheOptions() *v3.AlternateProtocolsCacheOptions { if x != nil { return x.AlternateProtocolsCacheOptions } return nil } var File_envoy_extensions_upstreams_http_v3_http_protocol_options_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x0f, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x1e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1b, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7e, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x96, 0x01, 0x0a, 0x1e, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1b, 0x75, 0x73, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x64, 0x0a, 0x18, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd6, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x33, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x16, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0xbd, 0x02, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x33, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb5, 0x03, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x33, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7f, 0x0a, 0x21, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x20, 0x0a, 0x19, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xa8, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x30, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x18, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescData = file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDesc ) func file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescData) }) return file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDescData } var file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_goTypes = []interface{}{ (*HttpProtocolOptions)(nil), // 0: envoy.extensions.upstreams.http.v3.HttpProtocolOptions (*HttpProtocolOptions_ExplicitHttpConfig)(nil), // 1: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig (*HttpProtocolOptions_UseDownstreamHttpConfig)(nil), // 2: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig (*HttpProtocolOptions_AutoHttpConfig)(nil), // 3: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig (*v3.HttpProtocolOptions)(nil), // 4: envoy.config.core.v3.HttpProtocolOptions (*v3.UpstreamHttpProtocolOptions)(nil), // 5: envoy.config.core.v3.UpstreamHttpProtocolOptions (*v31.HttpFilter)(nil), // 6: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter (*v3.TypedExtensionConfig)(nil), // 7: envoy.config.core.v3.TypedExtensionConfig (*v3.Http1ProtocolOptions)(nil), // 8: envoy.config.core.v3.Http1ProtocolOptions (*v3.Http2ProtocolOptions)(nil), // 9: envoy.config.core.v3.Http2ProtocolOptions (*v3.Http3ProtocolOptions)(nil), // 10: envoy.config.core.v3.Http3ProtocolOptions (*v3.AlternateProtocolsCacheOptions)(nil), // 11: envoy.config.core.v3.AlternateProtocolsCacheOptions } var file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_depIdxs = []int32{ 4, // 0: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions 5, // 1: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options:type_name -> envoy.config.core.v3.UpstreamHttpProtocolOptions 1, // 2: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.explicit_http_config:type_name -> envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig 2, // 3: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.use_downstream_protocol_config:type_name -> envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig 3, // 4: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.auto_config:type_name -> envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig 6, // 5: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter 7, // 6: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.header_validation_config:type_name -> envoy.config.core.v3.TypedExtensionConfig 8, // 7: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions 9, // 8: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 10, // 9: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions 8, // 10: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions 9, // 11: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 10, // 12: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions 8, // 13: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions 9, // 14: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions 10, // 15: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions 11, // 16: envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.alternate_protocols_cache_options:type_name -> envoy.config.core.v3.AlternateProtocolsCacheOptions 17, // [17:17] is the sub-list for method output_type 17, // [17:17] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_init() } func file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_init() { if File_envoy_extensions_upstreams_http_v3_http_protocol_options_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions_ExplicitHttpConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions_UseDownstreamHttpConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpProtocolOptions_AutoHttpConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HttpProtocolOptions_ExplicitHttpConfig_)(nil), (*HttpProtocolOptions_UseDownstreamProtocolConfig)(nil), (*HttpProtocolOptions_AutoConfig)(nil), } file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes[1].OneofWrappers = []interface{}{ (*HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions)(nil), (*HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions)(nil), (*HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_http_v3_http_protocol_options_proto = out.File file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_rawDesc = nil file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_goTypes = nil file_envoy_extensions_upstreams_http_v3_http_protocol_options_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/upstreams/http/v3/http_protocol_options.pb.validate.go000077500000000000000000000773411454502223200330530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/http/v3/http_protocol_options.proto package httpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpProtocolOptionsMultiError, or nil if none found. func (m *HttpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetCommonHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCommonHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "CommonHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetUpstreamHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "UpstreamHttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHttpFilters() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: fmt.Sprintf("HttpFilters[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetHeaderValidationConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "HeaderValidationConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "HeaderValidationConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderValidationConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "HeaderValidationConfig", reason: "embedded message failed validation", cause: err, } } } oneofUpstreamProtocolOptionsPresent := false switch v := m.UpstreamProtocolOptions.(type) { case *HttpProtocolOptions_ExplicitHttpConfig_: if v == nil { err := HttpProtocolOptionsValidationError{ field: "UpstreamProtocolOptions", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofUpstreamProtocolOptionsPresent = true if all { switch v := interface{}(m.GetExplicitHttpConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "ExplicitHttpConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "ExplicitHttpConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExplicitHttpConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "ExplicitHttpConfig", reason: "embedded message failed validation", cause: err, } } } case *HttpProtocolOptions_UseDownstreamProtocolConfig: if v == nil { err := HttpProtocolOptionsValidationError{ field: "UpstreamProtocolOptions", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofUpstreamProtocolOptionsPresent = true if all { switch v := interface{}(m.GetUseDownstreamProtocolConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "UseDownstreamProtocolConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "UseDownstreamProtocolConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUseDownstreamProtocolConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "UseDownstreamProtocolConfig", reason: "embedded message failed validation", cause: err, } } } case *HttpProtocolOptions_AutoConfig: if v == nil { err := HttpProtocolOptionsValidationError{ field: "UpstreamProtocolOptions", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofUpstreamProtocolOptionsPresent = true if all { switch v := interface{}(m.GetAutoConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "AutoConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptionsValidationError{ field: "AutoConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAutoConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptionsValidationError{ field: "AutoConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofUpstreamProtocolOptionsPresent { err := HttpProtocolOptionsValidationError{ field: "UpstreamProtocolOptions", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpProtocolOptionsMultiError(errors) } return nil } // HttpProtocolOptionsMultiError is an error wrapping multiple validation // errors returned by HttpProtocolOptions.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptionsMultiError) AllErrors() []error { return m } // HttpProtocolOptionsValidationError is the validation error returned by // HttpProtocolOptions.Validate if the designated constraints aren't met. type HttpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptionsValidationError) ErrorName() string { return "HttpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptionsValidationError{} // Validate checks the field values on HttpProtocolOptions_ExplicitHttpConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *HttpProtocolOptions_ExplicitHttpConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpProtocolOptions_ExplicitHttpConfig with the rules defined in the proto // definition for this message. If any rules are violated, the result is a // list of violation errors wrapped in // HttpProtocolOptions_ExplicitHttpConfigMultiError, or nil if none found. func (m *HttpProtocolOptions_ExplicitHttpConfig) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions_ExplicitHttpConfig) validate(all bool) error { if m == nil { return nil } var errors []error oneofProtocolConfigPresent := false switch v := m.ProtocolConfig.(type) { case *HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions: if v == nil { err := HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "ProtocolConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolConfigPresent = true if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } case *HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions: if v == nil { err := HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "ProtocolConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolConfigPresent = true if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } case *HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions: if v == nil { err := HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "ProtocolConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofProtocolConfigPresent = true if all { switch v := interface{}(m.GetHttp3ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp3ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofProtocolConfigPresent { err := HttpProtocolOptions_ExplicitHttpConfigValidationError{ field: "ProtocolConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpProtocolOptions_ExplicitHttpConfigMultiError(errors) } return nil } // HttpProtocolOptions_ExplicitHttpConfigMultiError is an error wrapping // multiple validation errors returned by // HttpProtocolOptions_ExplicitHttpConfig.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptions_ExplicitHttpConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptions_ExplicitHttpConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptions_ExplicitHttpConfigMultiError) AllErrors() []error { return m } // HttpProtocolOptions_ExplicitHttpConfigValidationError is the validation // error returned by HttpProtocolOptions_ExplicitHttpConfig.Validate if the // designated constraints aren't met. type HttpProtocolOptions_ExplicitHttpConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) ErrorName() string { return "HttpProtocolOptions_ExplicitHttpConfigValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptions_ExplicitHttpConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions_ExplicitHttpConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptions_ExplicitHttpConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptions_ExplicitHttpConfigValidationError{} // Validate checks the field values on // HttpProtocolOptions_UseDownstreamHttpConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpProtocolOptions_UseDownstreamHttpConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HttpProtocolOptions_UseDownstreamHttpConfig with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HttpProtocolOptions_UseDownstreamHttpConfigMultiError, or nil if none found. func (m *HttpProtocolOptions_UseDownstreamHttpConfig) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions_UseDownstreamHttpConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp3ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp3ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_UseDownstreamHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpProtocolOptions_UseDownstreamHttpConfigMultiError(errors) } return nil } // HttpProtocolOptions_UseDownstreamHttpConfigMultiError is an error wrapping // multiple validation errors returned by // HttpProtocolOptions_UseDownstreamHttpConfig.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptions_UseDownstreamHttpConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptions_UseDownstreamHttpConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptions_UseDownstreamHttpConfigMultiError) AllErrors() []error { return m } // HttpProtocolOptions_UseDownstreamHttpConfigValidationError is the validation // error returned by HttpProtocolOptions_UseDownstreamHttpConfig.Validate if // the designated constraints aren't met. type HttpProtocolOptions_UseDownstreamHttpConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) ErrorName() string { return "HttpProtocolOptions_UseDownstreamHttpConfigValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptions_UseDownstreamHttpConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions_UseDownstreamHttpConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptions_UseDownstreamHttpConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptions_UseDownstreamHttpConfigValidationError{} // Validate checks the field values on HttpProtocolOptions_AutoHttpConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *HttpProtocolOptions_AutoHttpConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpProtocolOptions_AutoHttpConfig // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpProtocolOptions_AutoHttpConfigMultiError, or nil if none found. func (m *HttpProtocolOptions_AutoHttpConfig) ValidateAll() error { return m.validate(true) } func (m *HttpProtocolOptions_AutoHttpConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHttpProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_AutoHttpConfigValidationError{ field: "HttpProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp2ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp2ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http2ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp3ProtocolOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp3ProtocolOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_AutoHttpConfigValidationError{ field: "Http3ProtocolOptions", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetAlternateProtocolsCacheOptions()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpProtocolOptions_AutoHttpConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAlternateProtocolsCacheOptions()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpProtocolOptions_AutoHttpConfigValidationError{ field: "AlternateProtocolsCacheOptions", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpProtocolOptions_AutoHttpConfigMultiError(errors) } return nil } // HttpProtocolOptions_AutoHttpConfigMultiError is an error wrapping multiple // validation errors returned by // HttpProtocolOptions_AutoHttpConfig.ValidateAll() if the designated // constraints aren't met. type HttpProtocolOptions_AutoHttpConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpProtocolOptions_AutoHttpConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpProtocolOptions_AutoHttpConfigMultiError) AllErrors() []error { return m } // HttpProtocolOptions_AutoHttpConfigValidationError is the validation error // returned by HttpProtocolOptions_AutoHttpConfig.Validate if the designated // constraints aren't met. type HttpProtocolOptions_AutoHttpConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpProtocolOptions_AutoHttpConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpProtocolOptions_AutoHttpConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpProtocolOptions_AutoHttpConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpProtocolOptions_AutoHttpConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpProtocolOptions_AutoHttpConfigValidationError) ErrorName() string { return "HttpProtocolOptions_AutoHttpConfigValidationError" } // Error satisfies the builtin error interface func (e HttpProtocolOptions_AutoHttpConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpProtocolOptions_AutoHttpConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpProtocolOptions_AutoHttpConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpProtocolOptions_AutoHttpConfigValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/000077500000000000000000000000001454502223200231215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/generic/000077500000000000000000000000001454502223200245355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/generic/v3/000077500000000000000000000000001454502223200250655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/generic/v3/generic_connection_pool.pb.go000077500000000000000000000172151454502223200327110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/tcp/generic/v3/generic_connection_pool.proto package genericv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A connection pool which forwards downstream TCP as TCP or HTTP to upstream, // based on CONNECT configuration. // [#extension: envoy.upstreams.tcp.generic] type GenericConnectionPoolProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GenericConnectionPoolProto) Reset() { *x = GenericConnectionPoolProto{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenericConnectionPoolProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenericConnectionPoolProto) ProtoMessage() {} func (x *GenericConnectionPoolProto) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenericConnectionPoolProto.ProtoReflect.Descriptor instead. func (*GenericConnectionPoolProto) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescGZIP(), []int{0} } var File_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDesc = []byte{ 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0xc5, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x37, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x24, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x01, 0x5a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescData = file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDesc ) func file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescData) }) return file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDescData } var file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_goTypes = []interface{}{ (*GenericConnectionPoolProto)(nil), // 0: envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto } var file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_init() } func file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_init() { if File_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenericConnectionPoolProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto = out.File file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_rawDesc = nil file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_goTypes = nil file_envoy_extensions_upstreams_tcp_generic_v3_generic_connection_pool_proto_depIdxs = nil } generic_connection_pool.pb.validate.go000077500000000000000000000071001454502223200344120ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/generic/v3// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/tcp/generic/v3/generic_connection_pool.proto package genericv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on GenericConnectionPoolProto with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *GenericConnectionPoolProto) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GenericConnectionPoolProto with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // GenericConnectionPoolProtoMultiError, or nil if none found. func (m *GenericConnectionPoolProto) ValidateAll() error { return m.validate(true) } func (m *GenericConnectionPoolProto) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return GenericConnectionPoolProtoMultiError(errors) } return nil } // GenericConnectionPoolProtoMultiError is an error wrapping multiple // validation errors returned by GenericConnectionPoolProto.ValidateAll() if // the designated constraints aren't met. type GenericConnectionPoolProtoMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GenericConnectionPoolProtoMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GenericConnectionPoolProtoMultiError) AllErrors() []error { return m } // GenericConnectionPoolProtoValidationError is the validation error returned // by GenericConnectionPoolProto.Validate if the designated constraints aren't met. type GenericConnectionPoolProtoValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GenericConnectionPoolProtoValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GenericConnectionPoolProtoValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GenericConnectionPoolProtoValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GenericConnectionPoolProtoValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GenericConnectionPoolProtoValidationError) ErrorName() string { return "GenericConnectionPoolProtoValidationError" } // Error satisfies the builtin error interface func (e GenericConnectionPoolProtoValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGenericConnectionPoolProto.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GenericConnectionPoolProtoValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GenericConnectionPoolProtoValidationError{} go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/v3/000077500000000000000000000000001454502223200234515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/v3/tcp_protocol_options.pb.go000077500000000000000000000203361454502223200306710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/upstreams/tcp/v3/tcp_protocol_options.proto package tcpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TcpProtocolOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The idle timeout for the connection. The idle timeout is defined as the period in which // the connection is not associated with a downstream connection. When the idle timeout is // reached, the connection will be closed. // // If not set, the default idle timeout is 10 minutes. To disable idle timeouts, explicitly set this to 0. // // .. warning:: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` } func (x *TcpProtocolOptions) Reset() { *x = TcpProtocolOptions{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TcpProtocolOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*TcpProtocolOptions) ProtoMessage() {} func (x *TcpProtocolOptions) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TcpProtocolOptions.ProtoReflect.Descriptor instead. func (*TcpProtocolOptions) Descriptor() ([]byte, []int) { return file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescGZIP(), []int{0} } func (x *TcpProtocolOptions) GetIdleTimeout() *duration.Duration { if x != nil { return x.IdleTimeout } return nil } var File_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto protoreflect.FileDescriptor var file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDesc = []byte{ 0x0a, 0x3c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x12, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0xa4, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x74, 0x63, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x74, 0x63, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x63, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescOnce sync.Once file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescData = file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDesc ) func file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescGZIP() []byte { file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescOnce.Do(func() { file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescData) }) return file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDescData } var file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_goTypes = []interface{}{ (*TcpProtocolOptions)(nil), // 0: envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_init() } func file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_init() { if File_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TcpProtocolOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_goTypes, DependencyIndexes: file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_depIdxs, MessageInfos: file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_msgTypes, }.Build() File_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto = out.File file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_rawDesc = nil file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_goTypes = nil file_envoy_extensions_upstreams_tcp_v3_tcp_protocol_options_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/upstreams/tcp/v3/tcp_protocol_options.pb.validate.go000077500000000000000000000103011454502223200324500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/upstreams/tcp/v3/tcp_protocol_options.proto package tcpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *TcpProtocolOptions) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TcpProtocolOptions with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TcpProtocolOptionsMultiError, or nil if none found. func (m *TcpProtocolOptions) ValidateAll() error { return m.validate(true) } func (m *TcpProtocolOptions) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdleTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TcpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TcpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdleTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TcpProtocolOptionsValidationError{ field: "IdleTimeout", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TcpProtocolOptionsMultiError(errors) } return nil } // TcpProtocolOptionsMultiError is an error wrapping multiple validation errors // returned by TcpProtocolOptions.ValidateAll() if the designated constraints // aren't met. type TcpProtocolOptionsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TcpProtocolOptionsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TcpProtocolOptionsMultiError) AllErrors() []error { return m } // TcpProtocolOptionsValidationError is the validation error returned by // TcpProtocolOptions.Validate if the designated constraints aren't met. type TcpProtocolOptionsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TcpProtocolOptionsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TcpProtocolOptionsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TcpProtocolOptionsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TcpProtocolOptionsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TcpProtocolOptionsValidationError) ErrorName() string { return "TcpProtocolOptionsValidationError" } // Error satisfies the builtin error interface func (e TcpProtocolOptionsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTcpProtocolOptions.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TcpProtocolOptionsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TcpProtocolOptionsValidationError{} go-control-plane-0.12.0/envoy/extensions/wasm/000077500000000000000000000000001454502223200212575ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/wasm/v3/000077500000000000000000000000001454502223200216075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/wasm/v3/wasm.pb.go000077500000000000000000001026041454502223200235130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/wasm/v3/wasm.proto package wasmv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" any1 "github.com/golang/protobuf/ptypes/any" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for restricting Proxy-Wasm capabilities available to modules. type CapabilityRestrictionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The Proxy-Wasm capabilities which will be allowed. Capabilities are mapped by // name. The “SanitizationConfig“ which each capability maps to is currently unimplemented and ignored, // and so should be left empty. // // The capability names are given in the // `Proxy-Wasm ABI `_. // Additionally, the following WASI capabilities from // `this list `_ // are implemented and can be allowed: // “fd_write“, “fd_read“, “fd_seek“, “fd_close“, “fd_fdstat_get“, “environ_get“, “environ_sizes_get“, // “args_get“, “args_sizes_get“, “proc_exit“, “clock_time_get“, “random_get“. AllowedCapabilities map[string]*SanitizationConfig `protobuf:"bytes,1,rep,name=allowed_capabilities,json=allowedCapabilities,proto3" json:"allowed_capabilities,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CapabilityRestrictionConfig) Reset() { *x = CapabilityRestrictionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CapabilityRestrictionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*CapabilityRestrictionConfig) ProtoMessage() {} func (x *CapabilityRestrictionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CapabilityRestrictionConfig.ProtoReflect.Descriptor instead. func (*CapabilityRestrictionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{0} } func (x *CapabilityRestrictionConfig) GetAllowedCapabilities() map[string]*SanitizationConfig { if x != nil { return x.AllowedCapabilities } return nil } // Configuration for sanitization of inputs to an allowed capability. // // NOTE: This is currently unimplemented. type SanitizationConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SanitizationConfig) Reset() { *x = SanitizationConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SanitizationConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SanitizationConfig) ProtoMessage() {} func (x *SanitizationConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SanitizationConfig.ProtoReflect.Descriptor instead. func (*SanitizationConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{1} } // Configuration for a Wasm VM. // [#next-free-field: 8] type VmConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An ID which will be used along with a hash of the wasm code (or the name of the registered Null // VM plugin) to determine which VM will be used for the plugin. All plugins which use the same // “vm_id“ and code will use the same VM. May be left blank. Sharing a VM between plugins can // reduce memory utilization and make sharing of data easier which may have security implications. // [#comment: TODO: add ref for details.] VmId string `protobuf:"bytes,1,opt,name=vm_id,json=vmId,proto3" json:"vm_id,omitempty"` // The Wasm runtime type, defaults to the first available Wasm engine used at Envoy build-time. // The priority to search for the available engine is: v8 -> wasmtime -> wamr -> wavm. // Available Wasm runtime types are registered as extensions. The following runtimes are included // in Envoy code base: // // .. _extension_envoy.wasm.runtime.null: // // **envoy.wasm.runtime.null**: Null sandbox, the Wasm module must be compiled and linked into the // Envoy binary. The registered name is given in the “code“ field as “inline_string“. // // .. _extension_envoy.wasm.runtime.v8: // // **envoy.wasm.runtime.v8**: `V8 `_-based WebAssembly runtime. // // .. _extension_envoy.wasm.runtime.wamr: // // **envoy.wasm.runtime.wamr**: `WAMR `_-based WebAssembly runtime. // This runtime is not enabled in the official build. // // .. _extension_envoy.wasm.runtime.wavm: // // **envoy.wasm.runtime.wavm**: `WAVM `_-based WebAssembly runtime. // This runtime is not enabled in the official build. // // .. _extension_envoy.wasm.runtime.wasmtime: // // **envoy.wasm.runtime.wasmtime**: `Wasmtime `_-based WebAssembly runtime. // This runtime is not enabled in the official build. // // [#extension-category: envoy.wasm.runtime] Runtime string `protobuf:"bytes,2,opt,name=runtime,proto3" json:"runtime,omitempty"` // The Wasm code that Envoy will execute. Code *v3.AsyncDataSource `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` // The Wasm configuration used in initialization of a new VM // (proxy_on_start). “google.protobuf.Struct“ is serialized as JSON before // passing it to the plugin. “google.protobuf.BytesValue“ and // “google.protobuf.StringValue“ are passed directly without the wrapper. Configuration *any1.Any `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"` // Allow the wasm file to include pre-compiled code on VMs which support it. // Warning: this should only be enable for trusted sources as the precompiled code is not // verified. AllowPrecompiled bool `protobuf:"varint,5,opt,name=allow_precompiled,json=allowPrecompiled,proto3" json:"allow_precompiled,omitempty"` // If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration // update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter // warming state. NackOnCodeCacheMiss bool `protobuf:"varint,6,opt,name=nack_on_code_cache_miss,json=nackOnCodeCacheMiss,proto3" json:"nack_on_code_cache_miss,omitempty"` // Specifies environment variables to be injected to this VM which will be available through // WASI's “environ_get“ and “environ_get_sizes“ system calls. Note that these functions are mostly implicitly // called in your language's standard library, so you do not need to call them directly and you can access to env // vars just like when you do on native platforms. // Warning: Envoy rejects the configuration if there's conflict of key space. EnvironmentVariables *EnvironmentVariables `protobuf:"bytes,7,opt,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"` } func (x *VmConfig) Reset() { *x = VmConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VmConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*VmConfig) ProtoMessage() {} func (x *VmConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VmConfig.ProtoReflect.Descriptor instead. func (*VmConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{2} } func (x *VmConfig) GetVmId() string { if x != nil { return x.VmId } return "" } func (x *VmConfig) GetRuntime() string { if x != nil { return x.Runtime } return "" } func (x *VmConfig) GetCode() *v3.AsyncDataSource { if x != nil { return x.Code } return nil } func (x *VmConfig) GetConfiguration() *any1.Any { if x != nil { return x.Configuration } return nil } func (x *VmConfig) GetAllowPrecompiled() bool { if x != nil { return x.AllowPrecompiled } return false } func (x *VmConfig) GetNackOnCodeCacheMiss() bool { if x != nil { return x.NackOnCodeCacheMiss } return false } func (x *VmConfig) GetEnvironmentVariables() *EnvironmentVariables { if x != nil { return x.EnvironmentVariables } return nil } type EnvironmentVariables struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The keys of *Envoy's* environment variables exposed to this VM. In other words, if a key exists in Envoy's environment // variables, then that key-value pair will be injected. Note that if a key does not exist, it will be ignored. HostEnvKeys []string `protobuf:"bytes,1,rep,name=host_env_keys,json=hostEnvKeys,proto3" json:"host_env_keys,omitempty"` // Explicitly given key-value pairs to be injected to this VM in the form of "KEY=VALUE". KeyValues map[string]string `protobuf:"bytes,2,rep,name=key_values,json=keyValues,proto3" json:"key_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *EnvironmentVariables) Reset() { *x = EnvironmentVariables{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnvironmentVariables) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnvironmentVariables) ProtoMessage() {} func (x *EnvironmentVariables) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EnvironmentVariables.ProtoReflect.Descriptor instead. func (*EnvironmentVariables) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{3} } func (x *EnvironmentVariables) GetHostEnvKeys() []string { if x != nil { return x.HostEnvKeys } return nil } func (x *EnvironmentVariables) GetKeyValues() map[string]string { if x != nil { return x.KeyValues } return nil } // Base Configuration for Wasm Plugins e.g. filters and services. // [#next-free-field: 7] type PluginConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A unique name for a filters/services in a VM for use in identifying the filter/service if // multiple filters/services are handled by the same “vm_id“ and “root_id“ and for // logging/debugging. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts // if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all // filters/services with a blank root_id with the same “vm_id“ will share Context(s). RootId string `protobuf:"bytes,2,opt,name=root_id,json=rootId,proto3" json:"root_id,omitempty"` // Configuration for finding or starting VM. // // Types that are assignable to Vm: // // *PluginConfig_VmConfig Vm isPluginConfig_Vm `protobuf_oneof:"vm"` // Filter/service configuration used to configure or reconfigure a plugin // (“proxy_on_configure“). // “google.protobuf.Struct“ is serialized as JSON before // passing it to the plugin. “google.protobuf.BytesValue“ and // “google.protobuf.StringValue“ are passed directly without the wrapper. Configuration *any1.Any `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"` // If there is a fatal error on the VM (e.g. exception, abort(), on_start or on_configure return false), // then all plugins associated with the VM will either fail closed (by default), e.g. by returning an HTTP 503 error, // or fail open (if 'fail_open' is set to true) by bypassing the filter. Note: when on_start or on_configure return false // during xDS updates the xDS configuration will be rejected and when on_start or on_configuration return false on initial // startup the proxy will not start. FailOpen bool `protobuf:"varint,5,opt,name=fail_open,json=failOpen,proto3" json:"fail_open,omitempty"` // Configuration for restricting Proxy-Wasm capabilities available to modules. CapabilityRestrictionConfig *CapabilityRestrictionConfig `protobuf:"bytes,6,opt,name=capability_restriction_config,json=capabilityRestrictionConfig,proto3" json:"capability_restriction_config,omitempty"` } func (x *PluginConfig) Reset() { *x = PluginConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PluginConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PluginConfig) ProtoMessage() {} func (x *PluginConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PluginConfig.ProtoReflect.Descriptor instead. func (*PluginConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{4} } func (x *PluginConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *PluginConfig) GetRootId() string { if x != nil { return x.RootId } return "" } func (m *PluginConfig) GetVm() isPluginConfig_Vm { if m != nil { return m.Vm } return nil } func (x *PluginConfig) GetVmConfig() *VmConfig { if x, ok := x.GetVm().(*PluginConfig_VmConfig); ok { return x.VmConfig } return nil } func (x *PluginConfig) GetConfiguration() *any1.Any { if x != nil { return x.Configuration } return nil } func (x *PluginConfig) GetFailOpen() bool { if x != nil { return x.FailOpen } return false } func (x *PluginConfig) GetCapabilityRestrictionConfig() *CapabilityRestrictionConfig { if x != nil { return x.CapabilityRestrictionConfig } return nil } type isPluginConfig_Vm interface { isPluginConfig_Vm() } type PluginConfig_VmConfig struct { VmConfig *VmConfig `protobuf:"bytes,3,opt,name=vm_config,json=vmConfig,proto3,oneof"` // TODO: add referential VM configurations. } func (*PluginConfig_VmConfig) isPluginConfig_Vm() {} // WasmService is configured as a built-in “envoy.wasm_service“ :ref:`WasmService // ` This opaque configuration will be used to create a Wasm Service. type WasmService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // General plugin configuration. Config *PluginConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` // If true, create a single VM rather than creating one VM per worker. Such a singleton can // not be used with filters. Singleton bool `protobuf:"varint,2,opt,name=singleton,proto3" json:"singleton,omitempty"` } func (x *WasmService) Reset() { *x = WasmService{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WasmService) String() string { return protoimpl.X.MessageStringOf(x) } func (*WasmService) ProtoMessage() {} func (x *WasmService) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WasmService.ProtoReflect.Descriptor instead. func (*WasmService) Descriptor() ([]byte, []int) { return file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP(), []int{5} } func (x *WasmService) GetConfig() *PluginConfig { if x != nil { return x.Config } return nil } func (x *WasmService) GetSingleton() bool { if x != nil { return x.Singleton } return false } var File_envoy_extensions_wasm_v3_wasm_proto protoreflect.FileDescriptor var file_envoy_extensions_wasm_v3_wasm_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x1b, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x74, 0x0a, 0x18, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf8, 0x02, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x13, 0x0a, 0x05, 0x76, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x17, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x61, 0x63, 0x6b, 0x4f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x12, 0x63, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x5c, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x02, 0x0a, 0x0c, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x09, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x76, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x79, 0x0a, 0x1d, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x04, 0x0a, 0x02, 0x76, 0x6d, 0x22, 0x6b, 0x0a, 0x0b, 0x57, 0x61, 0x73, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x73, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x57, 0x61, 0x73, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x73, 0x6d, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x73, 0x6d, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_wasm_v3_wasm_proto_rawDescOnce sync.Once file_envoy_extensions_wasm_v3_wasm_proto_rawDescData = file_envoy_extensions_wasm_v3_wasm_proto_rawDesc ) func file_envoy_extensions_wasm_v3_wasm_proto_rawDescGZIP() []byte { file_envoy_extensions_wasm_v3_wasm_proto_rawDescOnce.Do(func() { file_envoy_extensions_wasm_v3_wasm_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_wasm_v3_wasm_proto_rawDescData) }) return file_envoy_extensions_wasm_v3_wasm_proto_rawDescData } var file_envoy_extensions_wasm_v3_wasm_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_extensions_wasm_v3_wasm_proto_goTypes = []interface{}{ (*CapabilityRestrictionConfig)(nil), // 0: envoy.extensions.wasm.v3.CapabilityRestrictionConfig (*SanitizationConfig)(nil), // 1: envoy.extensions.wasm.v3.SanitizationConfig (*VmConfig)(nil), // 2: envoy.extensions.wasm.v3.VmConfig (*EnvironmentVariables)(nil), // 3: envoy.extensions.wasm.v3.EnvironmentVariables (*PluginConfig)(nil), // 4: envoy.extensions.wasm.v3.PluginConfig (*WasmService)(nil), // 5: envoy.extensions.wasm.v3.WasmService nil, // 6: envoy.extensions.wasm.v3.CapabilityRestrictionConfig.AllowedCapabilitiesEntry nil, // 7: envoy.extensions.wasm.v3.EnvironmentVariables.KeyValuesEntry (*v3.AsyncDataSource)(nil), // 8: envoy.config.core.v3.AsyncDataSource (*any1.Any)(nil), // 9: google.protobuf.Any } var file_envoy_extensions_wasm_v3_wasm_proto_depIdxs = []int32{ 6, // 0: envoy.extensions.wasm.v3.CapabilityRestrictionConfig.allowed_capabilities:type_name -> envoy.extensions.wasm.v3.CapabilityRestrictionConfig.AllowedCapabilitiesEntry 8, // 1: envoy.extensions.wasm.v3.VmConfig.code:type_name -> envoy.config.core.v3.AsyncDataSource 9, // 2: envoy.extensions.wasm.v3.VmConfig.configuration:type_name -> google.protobuf.Any 3, // 3: envoy.extensions.wasm.v3.VmConfig.environment_variables:type_name -> envoy.extensions.wasm.v3.EnvironmentVariables 7, // 4: envoy.extensions.wasm.v3.EnvironmentVariables.key_values:type_name -> envoy.extensions.wasm.v3.EnvironmentVariables.KeyValuesEntry 2, // 5: envoy.extensions.wasm.v3.PluginConfig.vm_config:type_name -> envoy.extensions.wasm.v3.VmConfig 9, // 6: envoy.extensions.wasm.v3.PluginConfig.configuration:type_name -> google.protobuf.Any 0, // 7: envoy.extensions.wasm.v3.PluginConfig.capability_restriction_config:type_name -> envoy.extensions.wasm.v3.CapabilityRestrictionConfig 4, // 8: envoy.extensions.wasm.v3.WasmService.config:type_name -> envoy.extensions.wasm.v3.PluginConfig 1, // 9: envoy.extensions.wasm.v3.CapabilityRestrictionConfig.AllowedCapabilitiesEntry.value:type_name -> envoy.extensions.wasm.v3.SanitizationConfig 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_extensions_wasm_v3_wasm_proto_init() } func file_envoy_extensions_wasm_v3_wasm_proto_init() { if File_envoy_extensions_wasm_v3_wasm_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CapabilityRestrictionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SanitizationConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvironmentVariables); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PluginConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_extensions_wasm_v3_wasm_proto_msgTypes[4].OneofWrappers = []interface{}{ (*PluginConfig_VmConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_wasm_v3_wasm_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_wasm_v3_wasm_proto_goTypes, DependencyIndexes: file_envoy_extensions_wasm_v3_wasm_proto_depIdxs, MessageInfos: file_envoy_extensions_wasm_v3_wasm_proto_msgTypes, }.Build() File_envoy_extensions_wasm_v3_wasm_proto = out.File file_envoy_extensions_wasm_v3_wasm_proto_rawDesc = nil file_envoy_extensions_wasm_v3_wasm_proto_goTypes = nil file_envoy_extensions_wasm_v3_wasm_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/wasm/v3/wasm.pb.validate.go000077500000000000000000000612561454502223200253120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/wasm/v3/wasm.proto package wasmv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CapabilityRestrictionConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CapabilityRestrictionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CapabilityRestrictionConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CapabilityRestrictionConfigMultiError, or nil if none found. func (m *CapabilityRestrictionConfig) ValidateAll() error { return m.validate(true) } func (m *CapabilityRestrictionConfig) validate(all bool) error { if m == nil { return nil } var errors []error { sorted_keys := make([]string, len(m.GetAllowedCapabilities())) i := 0 for key := range m.GetAllowedCapabilities() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetAllowedCapabilities()[key] _ = val // no validation rules for AllowedCapabilities[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CapabilityRestrictionConfigValidationError{ field: fmt.Sprintf("AllowedCapabilities[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CapabilityRestrictionConfigValidationError{ field: fmt.Sprintf("AllowedCapabilities[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CapabilityRestrictionConfigValidationError{ field: fmt.Sprintf("AllowedCapabilities[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } if len(errors) > 0 { return CapabilityRestrictionConfigMultiError(errors) } return nil } // CapabilityRestrictionConfigMultiError is an error wrapping multiple // validation errors returned by CapabilityRestrictionConfig.ValidateAll() if // the designated constraints aren't met. type CapabilityRestrictionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CapabilityRestrictionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CapabilityRestrictionConfigMultiError) AllErrors() []error { return m } // CapabilityRestrictionConfigValidationError is the validation error returned // by CapabilityRestrictionConfig.Validate if the designated constraints // aren't met. type CapabilityRestrictionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CapabilityRestrictionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CapabilityRestrictionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CapabilityRestrictionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CapabilityRestrictionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CapabilityRestrictionConfigValidationError) ErrorName() string { return "CapabilityRestrictionConfigValidationError" } // Error satisfies the builtin error interface func (e CapabilityRestrictionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCapabilityRestrictionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CapabilityRestrictionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CapabilityRestrictionConfigValidationError{} // Validate checks the field values on SanitizationConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *SanitizationConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SanitizationConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SanitizationConfigMultiError, or nil if none found. func (m *SanitizationConfig) ValidateAll() error { return m.validate(true) } func (m *SanitizationConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SanitizationConfigMultiError(errors) } return nil } // SanitizationConfigMultiError is an error wrapping multiple validation errors // returned by SanitizationConfig.ValidateAll() if the designated constraints // aren't met. type SanitizationConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SanitizationConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SanitizationConfigMultiError) AllErrors() []error { return m } // SanitizationConfigValidationError is the validation error returned by // SanitizationConfig.Validate if the designated constraints aren't met. type SanitizationConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SanitizationConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SanitizationConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SanitizationConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SanitizationConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SanitizationConfigValidationError) ErrorName() string { return "SanitizationConfigValidationError" } // Error satisfies the builtin error interface func (e SanitizationConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSanitizationConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SanitizationConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SanitizationConfigValidationError{} // Validate checks the field values on VmConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *VmConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on VmConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in VmConfigMultiError, or nil // if none found. func (m *VmConfig) ValidateAll() error { return m.validate(true) } func (m *VmConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VmId // no validation rules for Runtime if all { switch v := interface{}(m.GetCode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VmConfigValidationError{ field: "Code", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VmConfigValidationError{ field: "Code", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VmConfigValidationError{ field: "Code", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VmConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VmConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VmConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for AllowPrecompiled // no validation rules for NackOnCodeCacheMiss if all { switch v := interface{}(m.GetEnvironmentVariables()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, VmConfigValidationError{ field: "EnvironmentVariables", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, VmConfigValidationError{ field: "EnvironmentVariables", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvironmentVariables()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return VmConfigValidationError{ field: "EnvironmentVariables", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return VmConfigMultiError(errors) } return nil } // VmConfigMultiError is an error wrapping multiple validation errors returned // by VmConfig.ValidateAll() if the designated constraints aren't met. type VmConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m VmConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m VmConfigMultiError) AllErrors() []error { return m } // VmConfigValidationError is the validation error returned by // VmConfig.Validate if the designated constraints aren't met. type VmConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e VmConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e VmConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e VmConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e VmConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e VmConfigValidationError) ErrorName() string { return "VmConfigValidationError" } // Error satisfies the builtin error interface func (e VmConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sVmConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = VmConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = VmConfigValidationError{} // Validate checks the field values on EnvironmentVariables with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EnvironmentVariables) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EnvironmentVariables with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EnvironmentVariablesMultiError, or nil if none found. func (m *EnvironmentVariables) ValidateAll() error { return m.validate(true) } func (m *EnvironmentVariables) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for KeyValues if len(errors) > 0 { return EnvironmentVariablesMultiError(errors) } return nil } // EnvironmentVariablesMultiError is an error wrapping multiple validation // errors returned by EnvironmentVariables.ValidateAll() if the designated // constraints aren't met. type EnvironmentVariablesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EnvironmentVariablesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EnvironmentVariablesMultiError) AllErrors() []error { return m } // EnvironmentVariablesValidationError is the validation error returned by // EnvironmentVariables.Validate if the designated constraints aren't met. type EnvironmentVariablesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EnvironmentVariablesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EnvironmentVariablesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EnvironmentVariablesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EnvironmentVariablesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EnvironmentVariablesValidationError) ErrorName() string { return "EnvironmentVariablesValidationError" } // Error satisfies the builtin error interface func (e EnvironmentVariablesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEnvironmentVariables.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EnvironmentVariablesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EnvironmentVariablesValidationError{} // Validate checks the field values on PluginConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PluginConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PluginConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PluginConfigMultiError, or // nil if none found. func (m *PluginConfig) ValidateAll() error { return m.validate(true) } func (m *PluginConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for RootId if all { switch v := interface{}(m.GetConfiguration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfiguration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PluginConfigValidationError{ field: "Configuration", reason: "embedded message failed validation", cause: err, } } } // no validation rules for FailOpen if all { switch v := interface{}(m.GetCapabilityRestrictionConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "CapabilityRestrictionConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "CapabilityRestrictionConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCapabilityRestrictionConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PluginConfigValidationError{ field: "CapabilityRestrictionConfig", reason: "embedded message failed validation", cause: err, } } } switch v := m.Vm.(type) { case *PluginConfig_VmConfig: if v == nil { err := PluginConfigValidationError{ field: "Vm", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetVmConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "VmConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PluginConfigValidationError{ field: "VmConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetVmConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PluginConfigValidationError{ field: "VmConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PluginConfigMultiError(errors) } return nil } // PluginConfigMultiError is an error wrapping multiple validation errors // returned by PluginConfig.ValidateAll() if the designated constraints aren't met. type PluginConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PluginConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PluginConfigMultiError) AllErrors() []error { return m } // PluginConfigValidationError is the validation error returned by // PluginConfig.Validate if the designated constraints aren't met. type PluginConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PluginConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PluginConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PluginConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PluginConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PluginConfigValidationError) ErrorName() string { return "PluginConfigValidationError" } // Error satisfies the builtin error interface func (e PluginConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPluginConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PluginConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PluginConfigValidationError{} // Validate checks the field values on WasmService with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *WasmService) Validate() error { return m.validate(false) } // ValidateAll checks the field values on WasmService with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in WasmServiceMultiError, or // nil if none found. func (m *WasmService) ValidateAll() error { return m.validate(true) } func (m *WasmService) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, WasmServiceValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, WasmServiceValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return WasmServiceValidationError{ field: "Config", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Singleton if len(errors) > 0 { return WasmServiceMultiError(errors) } return nil } // WasmServiceMultiError is an error wrapping multiple validation errors // returned by WasmService.ValidateAll() if the designated constraints aren't met. type WasmServiceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m WasmServiceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m WasmServiceMultiError) AllErrors() []error { return m } // WasmServiceValidationError is the validation error returned by // WasmService.Validate if the designated constraints aren't met. type WasmServiceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e WasmServiceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e WasmServiceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e WasmServiceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e WasmServiceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e WasmServiceValidationError) ErrorName() string { return "WasmServiceValidationError" } // Error satisfies the builtin error interface func (e WasmServiceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sWasmService.%s: %s%s", key, e.field, e.reason, cause) } var _ error = WasmServiceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = WasmServiceValidationError{} go-control-plane-0.12.0/envoy/extensions/watchdog/000077500000000000000000000000001454502223200221105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/watchdog/profile_action/000077500000000000000000000000001454502223200251055ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/watchdog/profile_action/v3/000077500000000000000000000000001454502223200254355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/extensions/watchdog/profile_action/v3/profile_action.pb.go000077500000000000000000000233021454502223200313640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/extensions/watchdog/profile_action/v3/profile_action.proto package profile_actionv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configuration for the profile watchdog action. type ProfileActionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How long the profile should last. If not set defaults to 5 seconds. ProfileDuration *duration.Duration `protobuf:"bytes,1,opt,name=profile_duration,json=profileDuration,proto3" json:"profile_duration,omitempty"` // File path to the directory to output profiles. ProfilePath string `protobuf:"bytes,2,opt,name=profile_path,json=profilePath,proto3" json:"profile_path,omitempty"` // Limits the max number of profiles that can be generated by this action // over its lifetime to avoid filling the disk. // If not set (i.e. it's 0), a default of 10 will be used. MaxProfiles uint64 `protobuf:"varint,3,opt,name=max_profiles,json=maxProfiles,proto3" json:"max_profiles,omitempty"` } func (x *ProfileActionConfig) Reset() { *x = ProfileActionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProfileActionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProfileActionConfig) ProtoMessage() {} func (x *ProfileActionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProfileActionConfig.ProtoReflect.Descriptor instead. func (*ProfileActionConfig) Descriptor() ([]byte, []int) { return file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescGZIP(), []int{0} } func (x *ProfileActionConfig) GetProfileDuration() *duration.Duration { if x != nil { return x.ProfileDuration } return nil } func (x *ProfileActionConfig) GetProfilePath() string { if x != nil { return x.ProfilePath } return "" } func (x *ProfileActionConfig) GetMaxProfiles() uint64 { if x != nil { return x.MaxProfiles } return 0 } var File_envoy_extensions_watchdog_profile_action_v3_profile_action_proto protoreflect.FileDescriptor var file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDesc = []byte{ 0x0a, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x42, 0xbe, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescOnce sync.Once file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescData = file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDesc ) func file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescGZIP() []byte { file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescOnce.Do(func() { file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescData) }) return file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDescData } var file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_goTypes = []interface{}{ (*ProfileActionConfig)(nil), // 0: envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_depIdxs = []int32{ 1, // 0: envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig.profile_duration:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_init() } func file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_init() { if File_envoy_extensions_watchdog_profile_action_v3_profile_action_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileActionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_goTypes, DependencyIndexes: file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_depIdxs, MessageInfos: file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_msgTypes, }.Build() File_envoy_extensions_watchdog_profile_action_v3_profile_action_proto = out.File file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_rawDesc = nil file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_goTypes = nil file_envoy_extensions_watchdog_profile_action_v3_profile_action_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/extensions/watchdog/profile_action/v3/profile_action.pb.validate.go000077500000000000000000000110361454502223200331550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/extensions/watchdog/profile_action/v3/profile_action.proto package profile_actionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProfileActionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProfileActionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProfileActionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProfileActionConfigMultiError, or nil if none found. func (m *ProfileActionConfig) ValidateAll() error { return m.validate(true) } func (m *ProfileActionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetProfileDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProfileActionConfigValidationError{ field: "ProfileDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProfileActionConfigValidationError{ field: "ProfileDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetProfileDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProfileActionConfigValidationError{ field: "ProfileDuration", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetProfilePath()) < 1 { err := ProfileActionConfigValidationError{ field: "ProfilePath", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for MaxProfiles if len(errors) > 0 { return ProfileActionConfigMultiError(errors) } return nil } // ProfileActionConfigMultiError is an error wrapping multiple validation // errors returned by ProfileActionConfig.ValidateAll() if the designated // constraints aren't met. type ProfileActionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProfileActionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProfileActionConfigMultiError) AllErrors() []error { return m } // ProfileActionConfigValidationError is the validation error returned by // ProfileActionConfig.Validate if the designated constraints aren't met. type ProfileActionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProfileActionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProfileActionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProfileActionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProfileActionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProfileActionConfigValidationError) ErrorName() string { return "ProfileActionConfigValidationError" } // Error satisfies the builtin error interface func (e ProfileActionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProfileActionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProfileActionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProfileActionConfigValidationError{} go-control-plane-0.12.0/envoy/service/000077500000000000000000000000001454502223200175515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/accesslog/000077500000000000000000000000001454502223200215145ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/accesslog/v2/000077500000000000000000000000001454502223200220435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/accesslog/v2/als.pb.go000077500000000000000000000673671454502223200235770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/accesslog/v2/als.proto package accesslogv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Empty response for the StreamAccessLogs API. Will never be sent. See below. type StreamAccessLogsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamAccessLogsResponse) Reset() { *x = StreamAccessLogsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsResponse) ProtoMessage() {} func (x *StreamAccessLogsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsResponse.ProtoReflect.Descriptor instead. func (*StreamAccessLogsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v2_als_proto_rawDescGZIP(), []int{0} } // Stream message for the StreamAccessLogs API. Envoy will open a stream to the server and stream // access logs without ever expecting a response. type StreamAccessLogsMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data that will only be sent in the first message on the stream. This is effectively // structured metadata and is a performance optimization. Identifier *StreamAccessLogsMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // Batches of log entries of a single type. Generally speaking, a given stream should only // ever include one type of log entry. // // Types that are assignable to LogEntries: // // *StreamAccessLogsMessage_HttpLogs // *StreamAccessLogsMessage_TcpLogs LogEntries isStreamAccessLogsMessage_LogEntries `protobuf_oneof:"log_entries"` } func (x *StreamAccessLogsMessage) Reset() { *x = StreamAccessLogsMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage) ProtoMessage() {} func (x *StreamAccessLogsMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v2_als_proto_rawDescGZIP(), []int{1} } func (x *StreamAccessLogsMessage) GetIdentifier() *StreamAccessLogsMessage_Identifier { if x != nil { return x.Identifier } return nil } func (m *StreamAccessLogsMessage) GetLogEntries() isStreamAccessLogsMessage_LogEntries { if m != nil { return m.LogEntries } return nil } func (x *StreamAccessLogsMessage) GetHttpLogs() *StreamAccessLogsMessage_HTTPAccessLogEntries { if x, ok := x.GetLogEntries().(*StreamAccessLogsMessage_HttpLogs); ok { return x.HttpLogs } return nil } func (x *StreamAccessLogsMessage) GetTcpLogs() *StreamAccessLogsMessage_TCPAccessLogEntries { if x, ok := x.GetLogEntries().(*StreamAccessLogsMessage_TcpLogs); ok { return x.TcpLogs } return nil } type isStreamAccessLogsMessage_LogEntries interface { isStreamAccessLogsMessage_LogEntries() } type StreamAccessLogsMessage_HttpLogs struct { HttpLogs *StreamAccessLogsMessage_HTTPAccessLogEntries `protobuf:"bytes,2,opt,name=http_logs,json=httpLogs,proto3,oneof"` } type StreamAccessLogsMessage_TcpLogs struct { TcpLogs *StreamAccessLogsMessage_TCPAccessLogEntries `protobuf:"bytes,3,opt,name=tcp_logs,json=tcpLogs,proto3,oneof"` } func (*StreamAccessLogsMessage_HttpLogs) isStreamAccessLogsMessage_LogEntries() {} func (*StreamAccessLogsMessage_TcpLogs) isStreamAccessLogsMessage_LogEntries() {} type StreamAccessLogsMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the access log messages over the stream. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // The friendly name of the log configured in :ref:`CommonGrpcAccessLogConfig // `. LogName string `protobuf:"bytes,2,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` } func (x *StreamAccessLogsMessage_Identifier) Reset() { *x = StreamAccessLogsMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_Identifier) ProtoMessage() {} func (x *StreamAccessLogsMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v2_als_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamAccessLogsMessage_Identifier) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *StreamAccessLogsMessage_Identifier) GetLogName() string { if x != nil { return x.LogName } return "" } // Wrapper for batches of HTTP access log entries. type StreamAccessLogsMessage_HTTPAccessLogEntries struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LogEntry []*v2.HTTPAccessLogEntry `protobuf:"bytes,1,rep,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) Reset() { *x = StreamAccessLogsMessage_HTTPAccessLogEntries{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_HTTPAccessLogEntries) ProtoMessage() {} func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_HTTPAccessLogEntries.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_HTTPAccessLogEntries) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v2_als_proto_rawDescGZIP(), []int{1, 1} } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) GetLogEntry() []*v2.HTTPAccessLogEntry { if x != nil { return x.LogEntry } return nil } // Wrapper for batches of TCP access log entries. type StreamAccessLogsMessage_TCPAccessLogEntries struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LogEntry []*v2.TCPAccessLogEntry `protobuf:"bytes,1,rep,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) Reset() { *x = StreamAccessLogsMessage_TCPAccessLogEntries{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_TCPAccessLogEntries) ProtoMessage() {} func (x *StreamAccessLogsMessage_TCPAccessLogEntries) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v2_als_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_TCPAccessLogEntries.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_TCPAccessLogEntries) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v2_als_proto_rawDescGZIP(), []int{1, 2} } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) GetLogEntry() []*v2.TCPAccessLogEntry { if x != nil { return x.LogEntry } return nil } var File_envoy_service_accesslog_v2_als_proto protoreflect.FileDescriptor var file_envoy_service_accesslog_v2_als_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x05, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x08, 0x74, 0x63, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x74, 0x63, 0x70, 0x4c, 0x6f, 0x67, 0x73, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x6a, 0x0a, 0x14, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x68, 0x0a, 0x13, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x12, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x32, 0x96, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x41, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_accesslog_v2_als_proto_rawDescOnce sync.Once file_envoy_service_accesslog_v2_als_proto_rawDescData = file_envoy_service_accesslog_v2_als_proto_rawDesc ) func file_envoy_service_accesslog_v2_als_proto_rawDescGZIP() []byte { file_envoy_service_accesslog_v2_als_proto_rawDescOnce.Do(func() { file_envoy_service_accesslog_v2_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_accesslog_v2_als_proto_rawDescData) }) return file_envoy_service_accesslog_v2_als_proto_rawDescData } var file_envoy_service_accesslog_v2_als_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_service_accesslog_v2_als_proto_goTypes = []interface{}{ (*StreamAccessLogsResponse)(nil), // 0: envoy.service.accesslog.v2.StreamAccessLogsResponse (*StreamAccessLogsMessage)(nil), // 1: envoy.service.accesslog.v2.StreamAccessLogsMessage (*StreamAccessLogsMessage_Identifier)(nil), // 2: envoy.service.accesslog.v2.StreamAccessLogsMessage.Identifier (*StreamAccessLogsMessage_HTTPAccessLogEntries)(nil), // 3: envoy.service.accesslog.v2.StreamAccessLogsMessage.HTTPAccessLogEntries (*StreamAccessLogsMessage_TCPAccessLogEntries)(nil), // 4: envoy.service.accesslog.v2.StreamAccessLogsMessage.TCPAccessLogEntries (*core.Node)(nil), // 5: envoy.api.v2.core.Node (*v2.HTTPAccessLogEntry)(nil), // 6: envoy.data.accesslog.v2.HTTPAccessLogEntry (*v2.TCPAccessLogEntry)(nil), // 7: envoy.data.accesslog.v2.TCPAccessLogEntry } var file_envoy_service_accesslog_v2_als_proto_depIdxs = []int32{ 2, // 0: envoy.service.accesslog.v2.StreamAccessLogsMessage.identifier:type_name -> envoy.service.accesslog.v2.StreamAccessLogsMessage.Identifier 3, // 1: envoy.service.accesslog.v2.StreamAccessLogsMessage.http_logs:type_name -> envoy.service.accesslog.v2.StreamAccessLogsMessage.HTTPAccessLogEntries 4, // 2: envoy.service.accesslog.v2.StreamAccessLogsMessage.tcp_logs:type_name -> envoy.service.accesslog.v2.StreamAccessLogsMessage.TCPAccessLogEntries 5, // 3: envoy.service.accesslog.v2.StreamAccessLogsMessage.Identifier.node:type_name -> envoy.api.v2.core.Node 6, // 4: envoy.service.accesslog.v2.StreamAccessLogsMessage.HTTPAccessLogEntries.log_entry:type_name -> envoy.data.accesslog.v2.HTTPAccessLogEntry 7, // 5: envoy.service.accesslog.v2.StreamAccessLogsMessage.TCPAccessLogEntries.log_entry:type_name -> envoy.data.accesslog.v2.TCPAccessLogEntry 1, // 6: envoy.service.accesslog.v2.AccessLogService.StreamAccessLogs:input_type -> envoy.service.accesslog.v2.StreamAccessLogsMessage 0, // 7: envoy.service.accesslog.v2.AccessLogService.StreamAccessLogs:output_type -> envoy.service.accesslog.v2.StreamAccessLogsResponse 7, // [7:8] is the sub-list for method output_type 6, // [6:7] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_service_accesslog_v2_als_proto_init() } func file_envoy_service_accesslog_v2_als_proto_init() { if File_envoy_service_accesslog_v2_als_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_accesslog_v2_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v2_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v2_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v2_als_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_HTTPAccessLogEntries); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v2_als_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_TCPAccessLogEntries); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_accesslog_v2_als_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StreamAccessLogsMessage_HttpLogs)(nil), (*StreamAccessLogsMessage_TcpLogs)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_accesslog_v2_als_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_accesslog_v2_als_proto_goTypes, DependencyIndexes: file_envoy_service_accesslog_v2_als_proto_depIdxs, MessageInfos: file_envoy_service_accesslog_v2_als_proto_msgTypes, }.Build() File_envoy_service_accesslog_v2_als_proto = out.File file_envoy_service_accesslog_v2_als_proto_rawDesc = nil file_envoy_service_accesslog_v2_als_proto_goTypes = nil file_envoy_service_accesslog_v2_als_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AccessLogServiceClient is the client API for AccessLogService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AccessLogServiceClient interface { // Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. In the future we may decide to add a different // API for "critical" access logs in which Envoy will buffer access logs for some period of time // until it gets an ACK so it could then retry. This API is designed for high throughput with the // expectation that it might be lossy. StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error) } type accessLogServiceClient struct { cc grpc.ClientConnInterface } func NewAccessLogServiceClient(cc grpc.ClientConnInterface) AccessLogServiceClient { return &accessLogServiceClient{cc} } func (c *accessLogServiceClient) StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error) { stream, err := c.cc.NewStream(ctx, &_AccessLogService_serviceDesc.Streams[0], "/envoy.service.accesslog.v2.AccessLogService/StreamAccessLogs", opts...) if err != nil { return nil, err } x := &accessLogServiceStreamAccessLogsClient{stream} return x, nil } type AccessLogService_StreamAccessLogsClient interface { Send(*StreamAccessLogsMessage) error CloseAndRecv() (*StreamAccessLogsResponse, error) grpc.ClientStream } type accessLogServiceStreamAccessLogsClient struct { grpc.ClientStream } func (x *accessLogServiceStreamAccessLogsClient) Send(m *StreamAccessLogsMessage) error { return x.ClientStream.SendMsg(m) } func (x *accessLogServiceStreamAccessLogsClient) CloseAndRecv() (*StreamAccessLogsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamAccessLogsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // AccessLogServiceServer is the server API for AccessLogService service. type AccessLogServiceServer interface { // Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. In the future we may decide to add a different // API for "critical" access logs in which Envoy will buffer access logs for some period of time // until it gets an ACK so it could then retry. This API is designed for high throughput with the // expectation that it might be lossy. StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error } // UnimplementedAccessLogServiceServer can be embedded to have forward compatible implementations. type UnimplementedAccessLogServiceServer struct { } func (*UnimplementedAccessLogServiceServer) StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error { return status.Errorf(codes.Unimplemented, "method StreamAccessLogs not implemented") } func RegisterAccessLogServiceServer(s *grpc.Server, srv AccessLogServiceServer) { s.RegisterService(&_AccessLogService_serviceDesc, srv) } func _AccessLogService_StreamAccessLogs_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AccessLogServiceServer).StreamAccessLogs(&accessLogServiceStreamAccessLogsServer{stream}) } type AccessLogService_StreamAccessLogsServer interface { SendAndClose(*StreamAccessLogsResponse) error Recv() (*StreamAccessLogsMessage, error) grpc.ServerStream } type accessLogServiceStreamAccessLogsServer struct { grpc.ServerStream } func (x *accessLogServiceStreamAccessLogsServer) SendAndClose(m *StreamAccessLogsResponse) error { return x.ServerStream.SendMsg(m) } func (x *accessLogServiceStreamAccessLogsServer) Recv() (*StreamAccessLogsMessage, error) { m := new(StreamAccessLogsMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _AccessLogService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.accesslog.v2.AccessLogService", HandlerType: (*AccessLogServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamAccessLogs", Handler: _AccessLogService_StreamAccessLogs_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/accesslog/v2/als.proto", } go-control-plane-0.12.0/envoy/service/accesslog/v2/als.pb.validate.go000077500000000000000000000571611454502223200253560ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/accesslog/v2/als.proto package accesslogv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamAccessLogsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsResponse with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamAccessLogsResponseMultiError, or nil if none found. func (m *StreamAccessLogsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamAccessLogsResponseMultiError(errors) } return nil } // StreamAccessLogsResponseMultiError is an error wrapping multiple validation // errors returned by StreamAccessLogsResponse.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsResponseMultiError) AllErrors() []error { return m } // StreamAccessLogsResponseValidationError is the validation error returned by // StreamAccessLogsResponse.Validate if the designated constraints aren't met. type StreamAccessLogsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsResponseValidationError) ErrorName() string { return "StreamAccessLogsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsResponseValidationError{} // Validate checks the field values on StreamAccessLogsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsMessage with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamAccessLogsMessageMultiError, or nil if none found. func (m *StreamAccessLogsMessage) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } oneofLogEntriesPresent := false switch v := m.LogEntries.(type) { case *StreamAccessLogsMessage_HttpLogs: if v == nil { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogEntriesPresent = true if all { switch v := interface{}(m.GetHttpLogs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpLogs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, } } } case *StreamAccessLogsMessage_TcpLogs: if v == nil { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogEntriesPresent = true if all { switch v := interface{}(m.GetTcpLogs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpLogs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLogEntriesPresent { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StreamAccessLogsMessageMultiError(errors) } return nil } // StreamAccessLogsMessageMultiError is an error wrapping multiple validation // errors returned by StreamAccessLogsMessage.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessageMultiError) AllErrors() []error { return m } // StreamAccessLogsMessageValidationError is the validation error returned by // StreamAccessLogsMessage.Validate if the designated constraints aren't met. type StreamAccessLogsMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessageValidationError) ErrorName() string { return "StreamAccessLogsMessageValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessageValidationError{} // Validate checks the field values on StreamAccessLogsMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *StreamAccessLogsMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsMessage_Identifier // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // StreamAccessLogsMessage_IdentifierMultiError, or nil if none found. func (m *StreamAccessLogsMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(m.GetLogName()) < 1 { err := StreamAccessLogsMessage_IdentifierValidationError{ field: "LogName", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StreamAccessLogsMessage_IdentifierMultiError(errors) } return nil } // StreamAccessLogsMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by // StreamAccessLogsMessage_Identifier.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_IdentifierValidationError is the validation error // returned by StreamAccessLogsMessage_Identifier.Validate if the designated // constraints aren't met. type StreamAccessLogsMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_IdentifierValidationError) ErrorName() string { return "StreamAccessLogsMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_IdentifierValidationError{} // Validate checks the field values on // StreamAccessLogsMessage_HTTPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // StreamAccessLogsMessage_HTTPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError, or nil if none found. func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLogEntry()) < 1 { err := StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: "LogEntry", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLogEntry() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError(errors) } return nil } // StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError is an error wrapping // multiple validation errors returned by // StreamAccessLogsMessage_HTTPAccessLogEntries.ValidateAll() if the // designated constraints aren't met. type StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError is the // validation error returned by // StreamAccessLogsMessage_HTTPAccessLogEntries.Validate if the designated // constraints aren't met. type StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) ErrorName() string { return "StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_HTTPAccessLogEntries.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{} // Validate checks the field values on // StreamAccessLogsMessage_TCPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage_TCPAccessLogEntries) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // StreamAccessLogsMessage_TCPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // StreamAccessLogsMessage_TCPAccessLogEntriesMultiError, or nil if none found. func (m *StreamAccessLogsMessage_TCPAccessLogEntries) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_TCPAccessLogEntries) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLogEntry()) < 1 { err := StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: "LogEntry", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLogEntry() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamAccessLogsMessage_TCPAccessLogEntriesMultiError(errors) } return nil } // StreamAccessLogsMessage_TCPAccessLogEntriesMultiError is an error wrapping // multiple validation errors returned by // StreamAccessLogsMessage_TCPAccessLogEntries.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessage_TCPAccessLogEntriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_TCPAccessLogEntriesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_TCPAccessLogEntriesMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_TCPAccessLogEntriesValidationError is the validation // error returned by StreamAccessLogsMessage_TCPAccessLogEntries.Validate if // the designated constraints aren't met. type StreamAccessLogsMessage_TCPAccessLogEntriesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) ErrorName() string { return "StreamAccessLogsMessage_TCPAccessLogEntriesValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_TCPAccessLogEntries.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{} go-control-plane-0.12.0/envoy/service/accesslog/v3/000077500000000000000000000000001454502223200220445ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/accesslog/v3/als.pb.go000077500000000000000000000740271454502223200235670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/accesslog/v3/als.proto package accesslogv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Empty response for the StreamAccessLogs API. Will never be sent. See below. type StreamAccessLogsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamAccessLogsResponse) Reset() { *x = StreamAccessLogsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsResponse) ProtoMessage() {} func (x *StreamAccessLogsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsResponse.ProtoReflect.Descriptor instead. func (*StreamAccessLogsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v3_als_proto_rawDescGZIP(), []int{0} } // Stream message for the StreamAccessLogs API. Envoy will open a stream to the server and stream // access logs without ever expecting a response. type StreamAccessLogsMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data that will only be sent in the first message on the stream. This is effectively // structured metadata and is a performance optimization. Identifier *StreamAccessLogsMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // Batches of log entries of a single type. Generally speaking, a given stream should only // ever include one type of log entry. // // Types that are assignable to LogEntries: // // *StreamAccessLogsMessage_HttpLogs // *StreamAccessLogsMessage_TcpLogs LogEntries isStreamAccessLogsMessage_LogEntries `protobuf_oneof:"log_entries"` } func (x *StreamAccessLogsMessage) Reset() { *x = StreamAccessLogsMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage) ProtoMessage() {} func (x *StreamAccessLogsMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v3_als_proto_rawDescGZIP(), []int{1} } func (x *StreamAccessLogsMessage) GetIdentifier() *StreamAccessLogsMessage_Identifier { if x != nil { return x.Identifier } return nil } func (m *StreamAccessLogsMessage) GetLogEntries() isStreamAccessLogsMessage_LogEntries { if m != nil { return m.LogEntries } return nil } func (x *StreamAccessLogsMessage) GetHttpLogs() *StreamAccessLogsMessage_HTTPAccessLogEntries { if x, ok := x.GetLogEntries().(*StreamAccessLogsMessage_HttpLogs); ok { return x.HttpLogs } return nil } func (x *StreamAccessLogsMessage) GetTcpLogs() *StreamAccessLogsMessage_TCPAccessLogEntries { if x, ok := x.GetLogEntries().(*StreamAccessLogsMessage_TcpLogs); ok { return x.TcpLogs } return nil } type isStreamAccessLogsMessage_LogEntries interface { isStreamAccessLogsMessage_LogEntries() } type StreamAccessLogsMessage_HttpLogs struct { HttpLogs *StreamAccessLogsMessage_HTTPAccessLogEntries `protobuf:"bytes,2,opt,name=http_logs,json=httpLogs,proto3,oneof"` } type StreamAccessLogsMessage_TcpLogs struct { TcpLogs *StreamAccessLogsMessage_TCPAccessLogEntries `protobuf:"bytes,3,opt,name=tcp_logs,json=tcpLogs,proto3,oneof"` } func (*StreamAccessLogsMessage_HttpLogs) isStreamAccessLogsMessage_LogEntries() {} func (*StreamAccessLogsMessage_TcpLogs) isStreamAccessLogsMessage_LogEntries() {} type StreamAccessLogsMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the access log messages over the stream. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // The friendly name of the log configured in :ref:`CommonGrpcAccessLogConfig // `. LogName string `protobuf:"bytes,2,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` } func (x *StreamAccessLogsMessage_Identifier) Reset() { *x = StreamAccessLogsMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_Identifier) ProtoMessage() {} func (x *StreamAccessLogsMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v3_als_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamAccessLogsMessage_Identifier) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *StreamAccessLogsMessage_Identifier) GetLogName() string { if x != nil { return x.LogName } return "" } // Wrapper for batches of HTTP access log entries. type StreamAccessLogsMessage_HTTPAccessLogEntries struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LogEntry []*v31.HTTPAccessLogEntry `protobuf:"bytes,1,rep,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) Reset() { *x = StreamAccessLogsMessage_HTTPAccessLogEntries{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_HTTPAccessLogEntries) ProtoMessage() {} func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_HTTPAccessLogEntries.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_HTTPAccessLogEntries) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v3_als_proto_rawDescGZIP(), []int{1, 1} } func (x *StreamAccessLogsMessage_HTTPAccessLogEntries) GetLogEntry() []*v31.HTTPAccessLogEntry { if x != nil { return x.LogEntry } return nil } // Wrapper for batches of TCP access log entries. type StreamAccessLogsMessage_TCPAccessLogEntries struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LogEntry []*v31.TCPAccessLogEntry `protobuf:"bytes,1,rep,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) Reset() { *x = StreamAccessLogsMessage_TCPAccessLogEntries{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamAccessLogsMessage_TCPAccessLogEntries) ProtoMessage() {} func (x *StreamAccessLogsMessage_TCPAccessLogEntries) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_accesslog_v3_als_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamAccessLogsMessage_TCPAccessLogEntries.ProtoReflect.Descriptor instead. func (*StreamAccessLogsMessage_TCPAccessLogEntries) Descriptor() ([]byte, []int) { return file_envoy_service_accesslog_v3_als_proto_rawDescGZIP(), []int{1, 2} } func (x *StreamAccessLogsMessage_TCPAccessLogEntries) GetLogEntry() []*v31.TCPAccessLogEntry { if x != nil { return x.LogEntry } return nil } var File_envoy_service_accesslog_v3_als_proto protoreflect.FileDescriptor var file_envoy_service_accesslog_v3_als_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x3a, 0x9a, 0xc5, 0x88, 0x1e, 0x35, 0x0a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc1, 0x07, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x08, 0x74, 0x63, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x74, 0x63, 0x70, 0x4c, 0x6f, 0x67, 0x73, 0x1a, 0xb0, 0x01, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xba, 0x01, 0x0a, 0x14, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x4e, 0x9a, 0xc5, 0x88, 0x1e, 0x49, 0x0a, 0x47, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xb7, 0x01, 0x0a, 0x13, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x43, 0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x32, 0x96, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x41, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_accesslog_v3_als_proto_rawDescOnce sync.Once file_envoy_service_accesslog_v3_als_proto_rawDescData = file_envoy_service_accesslog_v3_als_proto_rawDesc ) func file_envoy_service_accesslog_v3_als_proto_rawDescGZIP() []byte { file_envoy_service_accesslog_v3_als_proto_rawDescOnce.Do(func() { file_envoy_service_accesslog_v3_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_accesslog_v3_als_proto_rawDescData) }) return file_envoy_service_accesslog_v3_als_proto_rawDescData } var file_envoy_service_accesslog_v3_als_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_service_accesslog_v3_als_proto_goTypes = []interface{}{ (*StreamAccessLogsResponse)(nil), // 0: envoy.service.accesslog.v3.StreamAccessLogsResponse (*StreamAccessLogsMessage)(nil), // 1: envoy.service.accesslog.v3.StreamAccessLogsMessage (*StreamAccessLogsMessage_Identifier)(nil), // 2: envoy.service.accesslog.v3.StreamAccessLogsMessage.Identifier (*StreamAccessLogsMessage_HTTPAccessLogEntries)(nil), // 3: envoy.service.accesslog.v3.StreamAccessLogsMessage.HTTPAccessLogEntries (*StreamAccessLogsMessage_TCPAccessLogEntries)(nil), // 4: envoy.service.accesslog.v3.StreamAccessLogsMessage.TCPAccessLogEntries (*v3.Node)(nil), // 5: envoy.config.core.v3.Node (*v31.HTTPAccessLogEntry)(nil), // 6: envoy.data.accesslog.v3.HTTPAccessLogEntry (*v31.TCPAccessLogEntry)(nil), // 7: envoy.data.accesslog.v3.TCPAccessLogEntry } var file_envoy_service_accesslog_v3_als_proto_depIdxs = []int32{ 2, // 0: envoy.service.accesslog.v3.StreamAccessLogsMessage.identifier:type_name -> envoy.service.accesslog.v3.StreamAccessLogsMessage.Identifier 3, // 1: envoy.service.accesslog.v3.StreamAccessLogsMessage.http_logs:type_name -> envoy.service.accesslog.v3.StreamAccessLogsMessage.HTTPAccessLogEntries 4, // 2: envoy.service.accesslog.v3.StreamAccessLogsMessage.tcp_logs:type_name -> envoy.service.accesslog.v3.StreamAccessLogsMessage.TCPAccessLogEntries 5, // 3: envoy.service.accesslog.v3.StreamAccessLogsMessage.Identifier.node:type_name -> envoy.config.core.v3.Node 6, // 4: envoy.service.accesslog.v3.StreamAccessLogsMessage.HTTPAccessLogEntries.log_entry:type_name -> envoy.data.accesslog.v3.HTTPAccessLogEntry 7, // 5: envoy.service.accesslog.v3.StreamAccessLogsMessage.TCPAccessLogEntries.log_entry:type_name -> envoy.data.accesslog.v3.TCPAccessLogEntry 1, // 6: envoy.service.accesslog.v3.AccessLogService.StreamAccessLogs:input_type -> envoy.service.accesslog.v3.StreamAccessLogsMessage 0, // 7: envoy.service.accesslog.v3.AccessLogService.StreamAccessLogs:output_type -> envoy.service.accesslog.v3.StreamAccessLogsResponse 7, // [7:8] is the sub-list for method output_type 6, // [6:7] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_service_accesslog_v3_als_proto_init() } func file_envoy_service_accesslog_v3_als_proto_init() { if File_envoy_service_accesslog_v3_als_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_accesslog_v3_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v3_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v3_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v3_als_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_HTTPAccessLogEntries); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_accesslog_v3_als_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamAccessLogsMessage_TCPAccessLogEntries); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_accesslog_v3_als_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StreamAccessLogsMessage_HttpLogs)(nil), (*StreamAccessLogsMessage_TcpLogs)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_accesslog_v3_als_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_accesslog_v3_als_proto_goTypes, DependencyIndexes: file_envoy_service_accesslog_v3_als_proto_depIdxs, MessageInfos: file_envoy_service_accesslog_v3_als_proto_msgTypes, }.Build() File_envoy_service_accesslog_v3_als_proto = out.File file_envoy_service_accesslog_v3_als_proto_rawDesc = nil file_envoy_service_accesslog_v3_als_proto_goTypes = nil file_envoy_service_accesslog_v3_als_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AccessLogServiceClient is the client API for AccessLogService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AccessLogServiceClient interface { // Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. In the future we may decide to add a different // API for "critical" access logs in which Envoy will buffer access logs for some period of time // until it gets an ACK so it could then retry. This API is designed for high throughput with the // expectation that it might be lossy. StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error) } type accessLogServiceClient struct { cc grpc.ClientConnInterface } func NewAccessLogServiceClient(cc grpc.ClientConnInterface) AccessLogServiceClient { return &accessLogServiceClient{cc} } func (c *accessLogServiceClient) StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error) { stream, err := c.cc.NewStream(ctx, &_AccessLogService_serviceDesc.Streams[0], "/envoy.service.accesslog.v3.AccessLogService/StreamAccessLogs", opts...) if err != nil { return nil, err } x := &accessLogServiceStreamAccessLogsClient{stream} return x, nil } type AccessLogService_StreamAccessLogsClient interface { Send(*StreamAccessLogsMessage) error CloseAndRecv() (*StreamAccessLogsResponse, error) grpc.ClientStream } type accessLogServiceStreamAccessLogsClient struct { grpc.ClientStream } func (x *accessLogServiceStreamAccessLogsClient) Send(m *StreamAccessLogsMessage) error { return x.ClientStream.SendMsg(m) } func (x *accessLogServiceStreamAccessLogsClient) CloseAndRecv() (*StreamAccessLogsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamAccessLogsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // AccessLogServiceServer is the server API for AccessLogService service. type AccessLogServiceServer interface { // Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. In the future we may decide to add a different // API for "critical" access logs in which Envoy will buffer access logs for some period of time // until it gets an ACK so it could then retry. This API is designed for high throughput with the // expectation that it might be lossy. StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error } // UnimplementedAccessLogServiceServer can be embedded to have forward compatible implementations. type UnimplementedAccessLogServiceServer struct { } func (*UnimplementedAccessLogServiceServer) StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error { return status.Errorf(codes.Unimplemented, "method StreamAccessLogs not implemented") } func RegisterAccessLogServiceServer(s *grpc.Server, srv AccessLogServiceServer) { s.RegisterService(&_AccessLogService_serviceDesc, srv) } func _AccessLogService_StreamAccessLogs_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AccessLogServiceServer).StreamAccessLogs(&accessLogServiceStreamAccessLogsServer{stream}) } type AccessLogService_StreamAccessLogsServer interface { SendAndClose(*StreamAccessLogsResponse) error Recv() (*StreamAccessLogsMessage, error) grpc.ServerStream } type accessLogServiceStreamAccessLogsServer struct { grpc.ServerStream } func (x *accessLogServiceStreamAccessLogsServer) SendAndClose(m *StreamAccessLogsResponse) error { return x.ServerStream.SendMsg(m) } func (x *accessLogServiceStreamAccessLogsServer) Recv() (*StreamAccessLogsMessage, error) { m := new(StreamAccessLogsMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _AccessLogService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.accesslog.v3.AccessLogService", HandlerType: (*AccessLogServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamAccessLogs", Handler: _AccessLogService_StreamAccessLogs_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/accesslog/v3/als.proto", } go-control-plane-0.12.0/envoy/service/accesslog/v3/als.pb.validate.go000077500000000000000000000572041454502223200253550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/accesslog/v3/als.proto package accesslogv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamAccessLogsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsResponse with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamAccessLogsResponseMultiError, or nil if none found. func (m *StreamAccessLogsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamAccessLogsResponseMultiError(errors) } return nil } // StreamAccessLogsResponseMultiError is an error wrapping multiple validation // errors returned by StreamAccessLogsResponse.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsResponseMultiError) AllErrors() []error { return m } // StreamAccessLogsResponseValidationError is the validation error returned by // StreamAccessLogsResponse.Validate if the designated constraints aren't met. type StreamAccessLogsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsResponseValidationError) ErrorName() string { return "StreamAccessLogsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsResponseValidationError{} // Validate checks the field values on StreamAccessLogsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsMessage with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamAccessLogsMessageMultiError, or nil if none found. func (m *StreamAccessLogsMessage) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } oneofLogEntriesPresent := false switch v := m.LogEntries.(type) { case *StreamAccessLogsMessage_HttpLogs: if v == nil { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogEntriesPresent = true if all { switch v := interface{}(m.GetHttpLogs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpLogs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "HttpLogs", reason: "embedded message failed validation", cause: err, } } } case *StreamAccessLogsMessage_TcpLogs: if v == nil { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofLogEntriesPresent = true if all { switch v := interface{}(m.GetTcpLogs()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTcpLogs()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessageValidationError{ field: "TcpLogs", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofLogEntriesPresent { err := StreamAccessLogsMessageValidationError{ field: "LogEntries", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StreamAccessLogsMessageMultiError(errors) } return nil } // StreamAccessLogsMessageMultiError is an error wrapping multiple validation // errors returned by StreamAccessLogsMessage.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessageMultiError) AllErrors() []error { return m } // StreamAccessLogsMessageValidationError is the validation error returned by // StreamAccessLogsMessage.Validate if the designated constraints aren't met. type StreamAccessLogsMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessageValidationError) ErrorName() string { return "StreamAccessLogsMessageValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessageValidationError{} // Validate checks the field values on StreamAccessLogsMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *StreamAccessLogsMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamAccessLogsMessage_Identifier // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // StreamAccessLogsMessage_IdentifierMultiError, or nil if none found. func (m *StreamAccessLogsMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if utf8.RuneCountInString(m.GetLogName()) < 1 { err := StreamAccessLogsMessage_IdentifierValidationError{ field: "LogName", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StreamAccessLogsMessage_IdentifierMultiError(errors) } return nil } // StreamAccessLogsMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by // StreamAccessLogsMessage_Identifier.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_IdentifierValidationError is the validation error // returned by StreamAccessLogsMessage_Identifier.Validate if the designated // constraints aren't met. type StreamAccessLogsMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_IdentifierValidationError) ErrorName() string { return "StreamAccessLogsMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_IdentifierValidationError{} // Validate checks the field values on // StreamAccessLogsMessage_HTTPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // StreamAccessLogsMessage_HTTPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError, or nil if none found. func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_HTTPAccessLogEntries) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLogEntry()) < 1 { err := StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: "LogEntry", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLogEntry() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError(errors) } return nil } // StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError is an error wrapping // multiple validation errors returned by // StreamAccessLogsMessage_HTTPAccessLogEntries.ValidateAll() if the // designated constraints aren't met. type StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_HTTPAccessLogEntriesMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError is the // validation error returned by // StreamAccessLogsMessage_HTTPAccessLogEntries.Validate if the designated // constraints aren't met. type StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) ErrorName() string { return "StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_HTTPAccessLogEntries.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_HTTPAccessLogEntriesValidationError{} // Validate checks the field values on // StreamAccessLogsMessage_TCPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StreamAccessLogsMessage_TCPAccessLogEntries) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // StreamAccessLogsMessage_TCPAccessLogEntries with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // StreamAccessLogsMessage_TCPAccessLogEntriesMultiError, or nil if none found. func (m *StreamAccessLogsMessage_TCPAccessLogEntries) ValidateAll() error { return m.validate(true) } func (m *StreamAccessLogsMessage_TCPAccessLogEntries) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetLogEntry()) < 1 { err := StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: "LogEntry", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetLogEntry() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{ field: fmt.Sprintf("LogEntry[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamAccessLogsMessage_TCPAccessLogEntriesMultiError(errors) } return nil } // StreamAccessLogsMessage_TCPAccessLogEntriesMultiError is an error wrapping // multiple validation errors returned by // StreamAccessLogsMessage_TCPAccessLogEntries.ValidateAll() if the designated // constraints aren't met. type StreamAccessLogsMessage_TCPAccessLogEntriesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamAccessLogsMessage_TCPAccessLogEntriesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamAccessLogsMessage_TCPAccessLogEntriesMultiError) AllErrors() []error { return m } // StreamAccessLogsMessage_TCPAccessLogEntriesValidationError is the validation // error returned by StreamAccessLogsMessage_TCPAccessLogEntries.Validate if // the designated constraints aren't met. type StreamAccessLogsMessage_TCPAccessLogEntriesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) ErrorName() string { return "StreamAccessLogsMessage_TCPAccessLogEntriesValidationError" } // Error satisfies the builtin error interface func (e StreamAccessLogsMessage_TCPAccessLogEntriesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamAccessLogsMessage_TCPAccessLogEntries.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamAccessLogsMessage_TCPAccessLogEntriesValidationError{} go-control-plane-0.12.0/envoy/service/auth/000077500000000000000000000000001454502223200205125ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/auth/v2/000077500000000000000000000000001454502223200210415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/auth/v2/attribute_context.pb.go000077500000000000000000000747261454502223200255620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/auth/v2/attribute_context.proto package authv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // An attribute is a piece of metadata that describes an activity on a network. // 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 // of the `AttributeContext`. The `AttributeContext` is a collection of individual attributes // supported by Envoy authorization system. // [#comment: The following items are left out of this proto // Request.Auth field for jwt tokens // Request.Api for api management // Origin peer that originated the request // Caching Protocol // request_context return values to inject back into the filter chain // peer.claims -- from X.509 extensions // Configuration // - field mask to send // - which return values from request_context are copied back // - which return values are copied into request_headers] // [#next-free-field: 12] type AttributeContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. Source *AttributeContext_Peer `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // 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. Destination *AttributeContext_Peer `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` // Represents a network request, such as an HTTP request. Request *AttributeContext_Request `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"` // This is analogous to http_request.headers, however these contents will not be sent to the // upstream server. Context_extensions provide an extension mechanism for sending additional // information to the auth server without modifying the proto definition. It maps to the // internal opaque context in the filter chain. ContextExtensions map[string]string `protobuf:"bytes,10,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Dynamic metadata associated with the request. MetadataContext *core.Metadata `protobuf:"bytes,11,opt,name=metadata_context,json=metadataContext,proto3" json:"metadata_context,omitempty"` } func (x *AttributeContext) Reset() { *x = AttributeContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext) ProtoMessage() {} func (x *AttributeContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext.ProtoReflect.Descriptor instead. func (*AttributeContext) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_attribute_context_proto_rawDescGZIP(), []int{0} } func (x *AttributeContext) GetSource() *AttributeContext_Peer { if x != nil { return x.Source } return nil } func (x *AttributeContext) GetDestination() *AttributeContext_Peer { if x != nil { return x.Destination } return nil } func (x *AttributeContext) GetRequest() *AttributeContext_Request { if x != nil { return x.Request } return nil } func (x *AttributeContext) GetContextExtensions() map[string]string { if x != nil { return x.ContextExtensions } return nil } func (x *AttributeContext) GetMetadataContext() *core.Metadata { if x != nil { return x.MetadataContext } return nil } // 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 the `service`, // `principal`, and `labels` as appropriate. // [#next-free-field: 6] type AttributeContext_Peer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address of the peer, this is typically the IP address. // It can also be UDS path, or others. Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // The canonical service name of the peer. // It should be set to :ref:`the HTTP x-envoy-downstream-service-cluster // ` // If a more trusted source of the service name is available through mTLS/secure naming, it // should be used. Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // The labels associated with the peer. // These could be pod labels for Kubernetes or tags for VMs. // The source of the labels could be an X.509 certificate or other configuration. Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The authenticated identity of this peer. // For example, the identity associated with the workload such as a service account. // If an X.509 certificate is used to assert the identity this field should be sourced from // `URI Subject Alternative Names`, `DNS Subject Alternate Names` or `Subject` in that order. // The primary identity should be the principal. The principal format is issuer specific. // // Example: // * SPIFFE format is `spiffe://trust-domain/path` // * Google account format is `https://accounts.google.com/{userid}` Principal string `protobuf:"bytes,4,opt,name=principal,proto3" json:"principal,omitempty"` // The X.509 certificate used to authenticate the identify of this peer. // When present, the certificate contents are encoded in URL and PEM format. Certificate string `protobuf:"bytes,5,opt,name=certificate,proto3" json:"certificate,omitempty"` } func (x *AttributeContext_Peer) Reset() { *x = AttributeContext_Peer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_Peer) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_Peer) ProtoMessage() {} func (x *AttributeContext_Peer) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_Peer.ProtoReflect.Descriptor instead. func (*AttributeContext_Peer) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_attribute_context_proto_rawDescGZIP(), []int{0, 0} } func (x *AttributeContext_Peer) GetAddress() *core.Address { if x != nil { return x.Address } return nil } func (x *AttributeContext_Peer) GetService() string { if x != nil { return x.Service } return "" } func (x *AttributeContext_Peer) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *AttributeContext_Peer) GetPrincipal() string { if x != nil { return x.Principal } return "" } func (x *AttributeContext_Peer) GetCertificate() string { if x != nil { return x.Certificate } return "" } // Represents a network request, such as an HTTP request. type AttributeContext_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The timestamp when the proxy receives the first byte of the request. Time *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` // Represents an HTTP request or an HTTP-like request. Http *AttributeContext_HttpRequest `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` } func (x *AttributeContext_Request) Reset() { *x = AttributeContext_Request{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_Request) ProtoMessage() {} func (x *AttributeContext_Request) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_Request.ProtoReflect.Descriptor instead. func (*AttributeContext_Request) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_attribute_context_proto_rawDescGZIP(), []int{0, 1} } func (x *AttributeContext_Request) GetTime() *timestamp.Timestamp { if x != nil { return x.Time } return nil } func (x *AttributeContext_Request) GetHttp() *AttributeContext_HttpRequest { if x != nil { return x.Http } return nil } // This message defines attributes for an HTTP request. // HTTP/1.x, HTTP/2, gRPC are all considered as HTTP requests. // [#next-free-field: 12] type AttributeContext_HttpRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. // For HTTP requests, it should be X-Request-ID or equivalent. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The HTTP request method, such as `GET`, `POST`. Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` // 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 // lower-cased, because HTTP header keys are case-insensitive. Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The request target, as it appears in the first line of the HTTP request. This includes // the URL path and query-string. No decoding is performed. Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` // The HTTP request `Host` or 'Authority` header value. Host string `protobuf:"bytes,5,opt,name=host,proto3" json:"host,omitempty"` // The HTTP URL scheme, such as `http` and `https`. This is set for HTTP/2 // requests only. For HTTP/1.1, use "x-forwarded-for" header value to lookup // the scheme of the request. Scheme string `protobuf:"bytes,6,opt,name=scheme,proto3" json:"scheme,omitempty"` // This field is always empty, and exists for compatibility reasons. The HTTP URL query is // included in `path` field. Query string `protobuf:"bytes,7,opt,name=query,proto3" json:"query,omitempty"` // This field is always empty, and exists for compatibility reasons. The URL fragment is // not submitted as part of HTTP requests; it is unknowable. Fragment string `protobuf:"bytes,8,opt,name=fragment,proto3" json:"fragment,omitempty"` // The HTTP request size in bytes. If unknown, it must be -1. Size int64 `protobuf:"varint,9,opt,name=size,proto3" json:"size,omitempty"` // The network protocol used with the request, such as "HTTP/1.0", "HTTP/1.1", or "HTTP/2". // // See :repo:`headers.h:ProtocolStrings ` for a list of all // possible values. Protocol string `protobuf:"bytes,10,opt,name=protocol,proto3" json:"protocol,omitempty"` // The HTTP request body. Body string `protobuf:"bytes,11,opt,name=body,proto3" json:"body,omitempty"` } func (x *AttributeContext_HttpRequest) Reset() { *x = AttributeContext_HttpRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_HttpRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_HttpRequest) ProtoMessage() {} func (x *AttributeContext_HttpRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_attribute_context_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_HttpRequest.ProtoReflect.Descriptor instead. func (*AttributeContext_HttpRequest) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_attribute_context_proto_rawDescGZIP(), []int{0, 2} } func (x *AttributeContext_HttpRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *AttributeContext_HttpRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *AttributeContext_HttpRequest) GetHeaders() map[string]string { if x != nil { return x.Headers } return nil } func (x *AttributeContext_HttpRequest) GetPath() string { if x != nil { return x.Path } return "" } func (x *AttributeContext_HttpRequest) GetHost() string { if x != nil { return x.Host } return "" } func (x *AttributeContext_HttpRequest) GetScheme() string { if x != nil { return x.Scheme } return "" } func (x *AttributeContext_HttpRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *AttributeContext_HttpRequest) GetFragment() string { if x != nil { return x.Fragment } return "" } func (x *AttributeContext_HttpRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *AttributeContext_HttpRequest) GetProtocol() string { if x != nil { return x.Protocol } return "" } func (x *AttributeContext_HttpRequest) GetBody() string { if x != nil { return x.Body } return "" } var File_envoy_service_auth_v2_attribute_context_proto protoreflect.FileDescriptor var file_envoy_service_auth_v2_attribute_context_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x0a, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0xa3, 0x02, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x1a, 0x83, 0x03, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_auth_v2_attribute_context_proto_rawDescOnce sync.Once file_envoy_service_auth_v2_attribute_context_proto_rawDescData = file_envoy_service_auth_v2_attribute_context_proto_rawDesc ) func file_envoy_service_auth_v2_attribute_context_proto_rawDescGZIP() []byte { file_envoy_service_auth_v2_attribute_context_proto_rawDescOnce.Do(func() { file_envoy_service_auth_v2_attribute_context_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_auth_v2_attribute_context_proto_rawDescData) }) return file_envoy_service_auth_v2_attribute_context_proto_rawDescData } var file_envoy_service_auth_v2_attribute_context_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_service_auth_v2_attribute_context_proto_goTypes = []interface{}{ (*AttributeContext)(nil), // 0: envoy.service.auth.v2.AttributeContext (*AttributeContext_Peer)(nil), // 1: envoy.service.auth.v2.AttributeContext.Peer (*AttributeContext_Request)(nil), // 2: envoy.service.auth.v2.AttributeContext.Request (*AttributeContext_HttpRequest)(nil), // 3: envoy.service.auth.v2.AttributeContext.HttpRequest nil, // 4: envoy.service.auth.v2.AttributeContext.ContextExtensionsEntry nil, // 5: envoy.service.auth.v2.AttributeContext.Peer.LabelsEntry nil, // 6: envoy.service.auth.v2.AttributeContext.HttpRequest.HeadersEntry (*core.Metadata)(nil), // 7: envoy.api.v2.core.Metadata (*core.Address)(nil), // 8: envoy.api.v2.core.Address (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_envoy_service_auth_v2_attribute_context_proto_depIdxs = []int32{ 1, // 0: envoy.service.auth.v2.AttributeContext.source:type_name -> envoy.service.auth.v2.AttributeContext.Peer 1, // 1: envoy.service.auth.v2.AttributeContext.destination:type_name -> envoy.service.auth.v2.AttributeContext.Peer 2, // 2: envoy.service.auth.v2.AttributeContext.request:type_name -> envoy.service.auth.v2.AttributeContext.Request 4, // 3: envoy.service.auth.v2.AttributeContext.context_extensions:type_name -> envoy.service.auth.v2.AttributeContext.ContextExtensionsEntry 7, // 4: envoy.service.auth.v2.AttributeContext.metadata_context:type_name -> envoy.api.v2.core.Metadata 8, // 5: envoy.service.auth.v2.AttributeContext.Peer.address:type_name -> envoy.api.v2.core.Address 5, // 6: envoy.service.auth.v2.AttributeContext.Peer.labels:type_name -> envoy.service.auth.v2.AttributeContext.Peer.LabelsEntry 9, // 7: envoy.service.auth.v2.AttributeContext.Request.time:type_name -> google.protobuf.Timestamp 3, // 8: envoy.service.auth.v2.AttributeContext.Request.http:type_name -> envoy.service.auth.v2.AttributeContext.HttpRequest 6, // 9: envoy.service.auth.v2.AttributeContext.HttpRequest.headers:type_name -> envoy.service.auth.v2.AttributeContext.HttpRequest.HeadersEntry 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_service_auth_v2_attribute_context_proto_init() } func file_envoy_service_auth_v2_attribute_context_proto_init() { if File_envoy_service_auth_v2_attribute_context_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_auth_v2_attribute_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_attribute_context_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_Peer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_attribute_context_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_attribute_context_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_HttpRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_auth_v2_attribute_context_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_service_auth_v2_attribute_context_proto_goTypes, DependencyIndexes: file_envoy_service_auth_v2_attribute_context_proto_depIdxs, MessageInfos: file_envoy_service_auth_v2_attribute_context_proto_msgTypes, }.Build() File_envoy_service_auth_v2_attribute_context_proto = out.File file_envoy_service_auth_v2_attribute_context_proto_rawDesc = nil file_envoy_service_auth_v2_attribute_context_proto_goTypes = nil file_envoy_service_auth_v2_attribute_context_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/service/auth/v2/attribute_context.pb.validate.go000077500000000000000000000446331454502223200273440ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/auth/v2/attribute_context.proto package authv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AttributeContext with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AttributeContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContextMultiError, or nil if none found. func (m *AttributeContext) ValidateAll() error { return m.validate(true) } func (m *AttributeContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDestination()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestination()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ContextExtensions if all { switch v := interface{}(m.GetMetadataContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AttributeContextMultiError(errors) } return nil } // AttributeContextMultiError is an error wrapping multiple validation errors // returned by AttributeContext.ValidateAll() if the designated constraints // aren't met. type AttributeContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContextMultiError) AllErrors() []error { return m } // AttributeContextValidationError is the validation error returned by // AttributeContext.Validate if the designated constraints aren't met. type AttributeContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContextValidationError) ErrorName() string { return "AttributeContextValidationError" } // Error satisfies the builtin error interface func (e AttributeContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContextValidationError{} // Validate checks the field values on AttributeContext_Peer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_Peer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_Peer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_PeerMultiError, or nil if none found. func (m *AttributeContext_Peer) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_Peer) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Service // no validation rules for Labels // no validation rules for Principal // no validation rules for Certificate if len(errors) > 0 { return AttributeContext_PeerMultiError(errors) } return nil } // AttributeContext_PeerMultiError is an error wrapping multiple validation // errors returned by AttributeContext_Peer.ValidateAll() if the designated // constraints aren't met. type AttributeContext_PeerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_PeerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_PeerMultiError) AllErrors() []error { return m } // AttributeContext_PeerValidationError is the validation error returned by // AttributeContext_Peer.Validate if the designated constraints aren't met. type AttributeContext_PeerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_PeerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_PeerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_PeerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_PeerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_PeerValidationError) ErrorName() string { return "AttributeContext_PeerValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_PeerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_Peer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_PeerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_PeerValidationError{} // Validate checks the field values on AttributeContext_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_Request) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_Request with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_RequestMultiError, or nil if none found. func (m *AttributeContext_Request) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_Request) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AttributeContext_RequestMultiError(errors) } return nil } // AttributeContext_RequestMultiError is an error wrapping multiple validation // errors returned by AttributeContext_Request.ValidateAll() if the designated // constraints aren't met. type AttributeContext_RequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_RequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_RequestMultiError) AllErrors() []error { return m } // AttributeContext_RequestValidationError is the validation error returned by // AttributeContext_Request.Validate if the designated constraints aren't met. type AttributeContext_RequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_RequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_RequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_RequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_RequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_RequestValidationError) ErrorName() string { return "AttributeContext_RequestValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_RequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_Request.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_RequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_RequestValidationError{} // Validate checks the field values on AttributeContext_HttpRequest with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_HttpRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_HttpRequest with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_HttpRequestMultiError, or nil if none found. func (m *AttributeContext_HttpRequest) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_HttpRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id // no validation rules for Method // no validation rules for Headers // no validation rules for Path // no validation rules for Host // no validation rules for Scheme // no validation rules for Query // no validation rules for Fragment // no validation rules for Size // no validation rules for Protocol // no validation rules for Body if len(errors) > 0 { return AttributeContext_HttpRequestMultiError(errors) } return nil } // AttributeContext_HttpRequestMultiError is an error wrapping multiple // validation errors returned by AttributeContext_HttpRequest.ValidateAll() if // the designated constraints aren't met. type AttributeContext_HttpRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_HttpRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_HttpRequestMultiError) AllErrors() []error { return m } // AttributeContext_HttpRequestValidationError is the validation error returned // by AttributeContext_HttpRequest.Validate if the designated constraints // aren't met. type AttributeContext_HttpRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_HttpRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_HttpRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_HttpRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_HttpRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_HttpRequestValidationError) ErrorName() string { return "AttributeContext_HttpRequestValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_HttpRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_HttpRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_HttpRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_HttpRequestValidationError{} go-control-plane-0.12.0/envoy/service/auth/v2/external_auth.pb.go000077500000000000000000000567511454502223200246540ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/auth/v2/external_auth.proto package authv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" status "google.golang.org/genproto/googleapis/rpc/status" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status1 "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request attributes. Attributes *AttributeContext `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` } func (x *CheckRequest) Reset() { *x = CheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckRequest) ProtoMessage() {} func (x *CheckRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead. func (*CheckRequest) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_external_auth_proto_rawDescGZIP(), []int{0} } func (x *CheckRequest) GetAttributes() *AttributeContext { if x != nil { return x.Attributes } return nil } // HTTP attributes for a denied response. type DeniedHttpResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field allows the authorization service to send a HTTP response status // code to the downstream client other than 403 (Forbidden). Status *_type.HttpStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // This field allows the authorization service to send HTTP response headers // to the downstream client. Note that the `append` field in `HeaderValueOption` defaults to // false when used in this message. Headers []*core.HeaderValueOption `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` // This field allows the authorization service to send a response body data // to the downstream client. Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` } func (x *DeniedHttpResponse) Reset() { *x = DeniedHttpResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeniedHttpResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeniedHttpResponse) ProtoMessage() {} func (x *DeniedHttpResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeniedHttpResponse.ProtoReflect.Descriptor instead. func (*DeniedHttpResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_external_auth_proto_rawDescGZIP(), []int{1} } func (x *DeniedHttpResponse) GetStatus() *_type.HttpStatus { if x != nil { return x.Status } return nil } func (x *DeniedHttpResponse) GetHeaders() []*core.HeaderValueOption { if x != nil { return x.Headers } return nil } func (x *DeniedHttpResponse) GetBody() string { if x != nil { return x.Body } return "" } // HTTP attributes for an ok response. type OkHttpResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP entity headers in addition to the original request headers. This allows the authorization // service to append, to add or to override headers from the original request before // dispatching it to the upstream. Note that the `append` field in `HeaderValueOption` defaults to // false when used in this message. By setting the `append` field to `true`, // the filter will append the correspondent header value to the matched request header. // By leaving `append` as false, the filter will either add a new header, or override an existing // one if there is a match. Headers []*core.HeaderValueOption `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *OkHttpResponse) Reset() { *x = OkHttpResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OkHttpResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OkHttpResponse) ProtoMessage() {} func (x *OkHttpResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OkHttpResponse.ProtoReflect.Descriptor instead. func (*OkHttpResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_external_auth_proto_rawDescGZIP(), []int{2} } func (x *OkHttpResponse) GetHeaders() []*core.HeaderValueOption { if x != nil { return x.Headers } return nil } // Intended for gRPC and Network Authorization servers `only`. type CheckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Status `OK` allows the request. Any other status indicates the request should be denied. Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // An message that contains HTTP response attributes. This message is // used when the authorization service needs to send custom responses to the // downstream client or, to modify/add request headers being dispatched to the upstream. // // Types that are assignable to HttpResponse: // // *CheckResponse_DeniedResponse // *CheckResponse_OkResponse HttpResponse isCheckResponse_HttpResponse `protobuf_oneof:"http_response"` } func (x *CheckResponse) Reset() { *x = CheckResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckResponse) ProtoMessage() {} func (x *CheckResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v2_external_auth_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead. func (*CheckResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v2_external_auth_proto_rawDescGZIP(), []int{3} } func (x *CheckResponse) GetStatus() *status.Status { if x != nil { return x.Status } return nil } func (m *CheckResponse) GetHttpResponse() isCheckResponse_HttpResponse { if m != nil { return m.HttpResponse } return nil } func (x *CheckResponse) GetDeniedResponse() *DeniedHttpResponse { if x, ok := x.GetHttpResponse().(*CheckResponse_DeniedResponse); ok { return x.DeniedResponse } return nil } func (x *CheckResponse) GetOkResponse() *OkHttpResponse { if x, ok := x.GetHttpResponse().(*CheckResponse_OkResponse); ok { return x.OkResponse } return nil } type isCheckResponse_HttpResponse interface { isCheckResponse_HttpResponse() } type CheckResponse_DeniedResponse struct { // Supplies http attributes for a denied response. DeniedResponse *DeniedHttpResponse `protobuf:"bytes,2,opt,name=denied_response,json=deniedResponse,proto3,oneof"` } type CheckResponse_OkResponse struct { // Supplies http attributes for an ok response. OkResponse *OkHttpResponse `protobuf:"bytes,3,opt,name=ok_response,json=okResponse,proto3,oneof"` } func (*CheckResponse_DeniedResponse) isCheckResponse_HttpResponse() {} func (*CheckResponse_OkResponse) isCheckResponse_HttpResponse() {} var File_envoy_service_auth_v2_external_auth_proto protoreflect.FileDescriptor var file_envoy_service_auth_v2_external_auth_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x50, 0x0a, 0x0e, 0x4f, 0x6b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x6b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x65, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_auth_v2_external_auth_proto_rawDescOnce sync.Once file_envoy_service_auth_v2_external_auth_proto_rawDescData = file_envoy_service_auth_v2_external_auth_proto_rawDesc ) func file_envoy_service_auth_v2_external_auth_proto_rawDescGZIP() []byte { file_envoy_service_auth_v2_external_auth_proto_rawDescOnce.Do(func() { file_envoy_service_auth_v2_external_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_auth_v2_external_auth_proto_rawDescData) }) return file_envoy_service_auth_v2_external_auth_proto_rawDescData } var file_envoy_service_auth_v2_external_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_service_auth_v2_external_auth_proto_goTypes = []interface{}{ (*CheckRequest)(nil), // 0: envoy.service.auth.v2.CheckRequest (*DeniedHttpResponse)(nil), // 1: envoy.service.auth.v2.DeniedHttpResponse (*OkHttpResponse)(nil), // 2: envoy.service.auth.v2.OkHttpResponse (*CheckResponse)(nil), // 3: envoy.service.auth.v2.CheckResponse (*AttributeContext)(nil), // 4: envoy.service.auth.v2.AttributeContext (*_type.HttpStatus)(nil), // 5: envoy.type.HttpStatus (*core.HeaderValueOption)(nil), // 6: envoy.api.v2.core.HeaderValueOption (*status.Status)(nil), // 7: google.rpc.Status } var file_envoy_service_auth_v2_external_auth_proto_depIdxs = []int32{ 4, // 0: envoy.service.auth.v2.CheckRequest.attributes:type_name -> envoy.service.auth.v2.AttributeContext 5, // 1: envoy.service.auth.v2.DeniedHttpResponse.status:type_name -> envoy.type.HttpStatus 6, // 2: envoy.service.auth.v2.DeniedHttpResponse.headers:type_name -> envoy.api.v2.core.HeaderValueOption 6, // 3: envoy.service.auth.v2.OkHttpResponse.headers:type_name -> envoy.api.v2.core.HeaderValueOption 7, // 4: envoy.service.auth.v2.CheckResponse.status:type_name -> google.rpc.Status 1, // 5: envoy.service.auth.v2.CheckResponse.denied_response:type_name -> envoy.service.auth.v2.DeniedHttpResponse 2, // 6: envoy.service.auth.v2.CheckResponse.ok_response:type_name -> envoy.service.auth.v2.OkHttpResponse 0, // 7: envoy.service.auth.v2.Authorization.Check:input_type -> envoy.service.auth.v2.CheckRequest 3, // 8: envoy.service.auth.v2.Authorization.Check:output_type -> envoy.service.auth.v2.CheckResponse 8, // [8:9] is the sub-list for method output_type 7, // [7:8] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_service_auth_v2_external_auth_proto_init() } func file_envoy_service_auth_v2_external_auth_proto_init() { if File_envoy_service_auth_v2_external_auth_proto != nil { return } file_envoy_service_auth_v2_attribute_context_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_service_auth_v2_external_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_external_auth_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeniedHttpResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_external_auth_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OkHttpResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v2_external_auth_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_auth_v2_external_auth_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CheckResponse_DeniedResponse)(nil), (*CheckResponse_OkResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_auth_v2_external_auth_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_auth_v2_external_auth_proto_goTypes, DependencyIndexes: file_envoy_service_auth_v2_external_auth_proto_depIdxs, MessageInfos: file_envoy_service_auth_v2_external_auth_proto_msgTypes, }.Build() File_envoy_service_auth_v2_external_auth_proto = out.File file_envoy_service_auth_v2_external_auth_proto_rawDesc = nil file_envoy_service_auth_v2_external_auth_proto_goTypes = nil file_envoy_service_auth_v2_external_auth_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AuthorizationClient is the client API for Authorization service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AuthorizationClient interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) } type authorizationClient struct { cc grpc.ClientConnInterface } func NewAuthorizationClient(cc grpc.ClientConnInterface) AuthorizationClient { return &authorizationClient{cc} } func (c *authorizationClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) { out := new(CheckResponse) err := c.cc.Invoke(ctx, "/envoy.service.auth.v2.Authorization/Check", in, out, opts...) if err != nil { return nil, err } return out, nil } // AuthorizationServer is the server API for Authorization service. type AuthorizationServer interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(context.Context, *CheckRequest) (*CheckResponse, error) } // UnimplementedAuthorizationServer can be embedded to have forward compatible implementations. type UnimplementedAuthorizationServer struct { } func (*UnimplementedAuthorizationServer) Check(context.Context, *CheckRequest) (*CheckResponse, error) { return nil, status1.Errorf(codes.Unimplemented, "method Check not implemented") } func RegisterAuthorizationServer(s *grpc.Server, srv AuthorizationServer) { s.RegisterService(&_Authorization_serviceDesc, srv) } func _Authorization_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CheckRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(AuthorizationServer).Check(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.auth.v2.Authorization/Check", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AuthorizationServer).Check(ctx, req.(*CheckRequest)) } return interceptor(ctx, in, info, handler) } var _Authorization_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.auth.v2.Authorization", HandlerType: (*AuthorizationServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Check", Handler: _Authorization_Check_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "envoy/service/auth/v2/external_auth.proto", } go-control-plane-0.12.0/envoy/service/auth/v2/external_auth.pb.validate.go000077500000000000000000000441101454502223200264260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/auth/v2/external_auth.proto package authv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CheckRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckRequestMultiError, or // nil if none found. func (m *CheckRequest) ValidateAll() error { return m.validate(true) } func (m *CheckRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAttributes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttributes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CheckRequestMultiError(errors) } return nil } // CheckRequestMultiError is an error wrapping multiple validation errors // returned by CheckRequest.ValidateAll() if the designated constraints aren't met. type CheckRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckRequestMultiError) AllErrors() []error { return m } // CheckRequestValidationError is the validation error returned by // CheckRequest.Validate if the designated constraints aren't met. type CheckRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckRequestValidationError) ErrorName() string { return "CheckRequestValidationError" } // Error satisfies the builtin error interface func (e CheckRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckRequestValidationError{} // Validate checks the field values on DeniedHttpResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeniedHttpResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeniedHttpResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeniedHttpResponseMultiError, or nil if none found. func (m *DeniedHttpResponse) ValidateAll() error { return m.validate(true) } func (m *DeniedHttpResponse) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetStatus() == nil { err := DeniedHttpResponseValidationError{ field: "Status", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Body if len(errors) > 0 { return DeniedHttpResponseMultiError(errors) } return nil } // DeniedHttpResponseMultiError is an error wrapping multiple validation errors // returned by DeniedHttpResponse.ValidateAll() if the designated constraints // aren't met. type DeniedHttpResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeniedHttpResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeniedHttpResponseMultiError) AllErrors() []error { return m } // DeniedHttpResponseValidationError is the validation error returned by // DeniedHttpResponse.Validate if the designated constraints aren't met. type DeniedHttpResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeniedHttpResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeniedHttpResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeniedHttpResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeniedHttpResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeniedHttpResponseValidationError) ErrorName() string { return "DeniedHttpResponseValidationError" } // Error satisfies the builtin error interface func (e DeniedHttpResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeniedHttpResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeniedHttpResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeniedHttpResponseValidationError{} // Validate checks the field values on OkHttpResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OkHttpResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OkHttpResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OkHttpResponseMultiError, // or nil if none found. func (m *OkHttpResponse) ValidateAll() error { return m.validate(true) } func (m *OkHttpResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OkHttpResponseMultiError(errors) } return nil } // OkHttpResponseMultiError is an error wrapping multiple validation errors // returned by OkHttpResponse.ValidateAll() if the designated constraints // aren't met. type OkHttpResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OkHttpResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OkHttpResponseMultiError) AllErrors() []error { return m } // OkHttpResponseValidationError is the validation error returned by // OkHttpResponse.Validate if the designated constraints aren't met. type OkHttpResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OkHttpResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OkHttpResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OkHttpResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OkHttpResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OkHttpResponseValidationError) ErrorName() string { return "OkHttpResponseValidationError" } // Error satisfies the builtin error interface func (e OkHttpResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOkHttpResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OkHttpResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OkHttpResponseValidationError{} // Validate checks the field values on CheckResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckResponseMultiError, or // nil if none found. func (m *CheckResponse) ValidateAll() error { return m.validate(true) } func (m *CheckResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } switch v := m.HttpResponse.(type) { case *CheckResponse_DeniedResponse: if v == nil { err := CheckResponseValidationError{ field: "HttpResponse", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDeniedResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeniedResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, } } } case *CheckResponse_OkResponse: if v == nil { err := CheckResponseValidationError{ field: "HttpResponse", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOkResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOkResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CheckResponseMultiError(errors) } return nil } // CheckResponseMultiError is an error wrapping multiple validation errors // returned by CheckResponse.ValidateAll() if the designated constraints // aren't met. type CheckResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckResponseMultiError) AllErrors() []error { return m } // CheckResponseValidationError is the validation error returned by // CheckResponse.Validate if the designated constraints aren't met. type CheckResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckResponseValidationError) ErrorName() string { return "CheckResponseValidationError" } // Error satisfies the builtin error interface func (e CheckResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckResponseValidationError{} go-control-plane-0.12.0/envoy/service/auth/v2alpha/000077500000000000000000000000001454502223200220475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/auth/v2alpha/external_auth.pb.go000077500000000000000000000173331454502223200256530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/auth/v2alpha/external_auth.proto package v2alpha import ( context "context" v2 "github.com/envoyproxy/go-control-plane/envoy/service/auth/v2" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_envoy_service_auth_v2alpha_external_auth_proto protoreflect.FileDescriptor var file_envoy_service_auth_v2alpha_external_auth_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x63, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x7b, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0a, 0x43, 0x65, 0x72, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_envoy_service_auth_v2alpha_external_auth_proto_goTypes = []interface{}{ (*v2.CheckRequest)(nil), // 0: envoy.service.auth.v2.CheckRequest (*v2.CheckResponse)(nil), // 1: envoy.service.auth.v2.CheckResponse } var file_envoy_service_auth_v2alpha_external_auth_proto_depIdxs = []int32{ 0, // 0: envoy.service.auth.v2alpha.Authorization.Check:input_type -> envoy.service.auth.v2.CheckRequest 1, // 1: envoy.service.auth.v2alpha.Authorization.Check:output_type -> envoy.service.auth.v2.CheckResponse 1, // [1:2] is the sub-list for method output_type 0, // [0:1] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_auth_v2alpha_external_auth_proto_init() } func file_envoy_service_auth_v2alpha_external_auth_proto_init() { if File_envoy_service_auth_v2alpha_external_auth_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_auth_v2alpha_external_auth_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_auth_v2alpha_external_auth_proto_goTypes, DependencyIndexes: file_envoy_service_auth_v2alpha_external_auth_proto_depIdxs, }.Build() File_envoy_service_auth_v2alpha_external_auth_proto = out.File file_envoy_service_auth_v2alpha_external_auth_proto_rawDesc = nil file_envoy_service_auth_v2alpha_external_auth_proto_goTypes = nil file_envoy_service_auth_v2alpha_external_auth_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AuthorizationClient is the client API for Authorization service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AuthorizationClient interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(ctx context.Context, in *v2.CheckRequest, opts ...grpc.CallOption) (*v2.CheckResponse, error) } type authorizationClient struct { cc grpc.ClientConnInterface } func NewAuthorizationClient(cc grpc.ClientConnInterface) AuthorizationClient { return &authorizationClient{cc} } func (c *authorizationClient) Check(ctx context.Context, in *v2.CheckRequest, opts ...grpc.CallOption) (*v2.CheckResponse, error) { out := new(v2.CheckResponse) err := c.cc.Invoke(ctx, "/envoy.service.auth.v2alpha.Authorization/Check", in, out, opts...) if err != nil { return nil, err } return out, nil } // AuthorizationServer is the server API for Authorization service. type AuthorizationServer interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(context.Context, *v2.CheckRequest) (*v2.CheckResponse, error) } // UnimplementedAuthorizationServer can be embedded to have forward compatible implementations. type UnimplementedAuthorizationServer struct { } func (*UnimplementedAuthorizationServer) Check(context.Context, *v2.CheckRequest) (*v2.CheckResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Check not implemented") } func RegisterAuthorizationServer(s *grpc.Server, srv AuthorizationServer) { s.RegisterService(&_Authorization_serviceDesc, srv) } func _Authorization_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v2.CheckRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(AuthorizationServer).Check(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.auth.v2alpha.Authorization/Check", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AuthorizationServer).Check(ctx, req.(*v2.CheckRequest)) } return interceptor(ctx, in, info, handler) } var _Authorization_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.auth.v2alpha.Authorization", HandlerType: (*AuthorizationServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Check", Handler: _Authorization_Check_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "envoy/service/auth/v2alpha/external_auth.proto", } go-control-plane-0.12.0/envoy/service/auth/v2alpha/external_auth.pb.validate.go000077500000000000000000000011101454502223200274250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/auth/v2alpha/external_auth.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/service/auth/v3/000077500000000000000000000000001454502223200210425ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/auth/v3/attribute_context.pb.go000077500000000000000000001112261454502223200255460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/auth/v3/attribute_context.proto package authv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" timestamp "github.com/golang/protobuf/ptypes/timestamp" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // An attribute is a piece of metadata that describes an activity on a network. // 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 // of the “AttributeContext“. The “AttributeContext“ is a collection of individual attributes // supported by Envoy authorization system. // [#comment: The following items are left out of this proto // Request.Auth field for jwt tokens // Request.Api for api management // Origin peer that originated the request // Caching Protocol // request_context return values to inject back into the filter chain // peer.claims -- from X.509 extensions // Configuration // - field mask to send // - which return values from request_context are copied back // - which return values are copied into request_headers] // [#next-free-field: 14] type AttributeContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. Source *AttributeContext_Peer `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // 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. Destination *AttributeContext_Peer `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` // Represents a network request, such as an HTTP request. Request *AttributeContext_Request `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"` // This is analogous to http_request.headers, however these contents will not be sent to the // upstream server. Context_extensions provide an extension mechanism for sending additional // information to the auth server without modifying the proto definition. It maps to the // internal opaque context in the filter chain. ContextExtensions map[string]string `protobuf:"bytes,10,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Dynamic metadata associated with the request. MetadataContext *v3.Metadata `protobuf:"bytes,11,opt,name=metadata_context,json=metadataContext,proto3" json:"metadata_context,omitempty"` // Metadata associated with the selected route. RouteMetadataContext *v3.Metadata `protobuf:"bytes,13,opt,name=route_metadata_context,json=routeMetadataContext,proto3" json:"route_metadata_context,omitempty"` // TLS session details of the underlying connection. // This is not populated by default and will be populated if ext_authz filter's // :ref:`include_tls_session ` is set to true. TlsSession *AttributeContext_TLSSession `protobuf:"bytes,12,opt,name=tls_session,json=tlsSession,proto3" json:"tls_session,omitempty"` } func (x *AttributeContext) Reset() { *x = AttributeContext{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext) ProtoMessage() {} func (x *AttributeContext) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext.ProtoReflect.Descriptor instead. func (*AttributeContext) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP(), []int{0} } func (x *AttributeContext) GetSource() *AttributeContext_Peer { if x != nil { return x.Source } return nil } func (x *AttributeContext) GetDestination() *AttributeContext_Peer { if x != nil { return x.Destination } return nil } func (x *AttributeContext) GetRequest() *AttributeContext_Request { if x != nil { return x.Request } return nil } func (x *AttributeContext) GetContextExtensions() map[string]string { if x != nil { return x.ContextExtensions } return nil } func (x *AttributeContext) GetMetadataContext() *v3.Metadata { if x != nil { return x.MetadataContext } return nil } func (x *AttributeContext) GetRouteMetadataContext() *v3.Metadata { if x != nil { return x.RouteMetadataContext } return nil } func (x *AttributeContext) GetTlsSession() *AttributeContext_TLSSession { if x != nil { return x.TlsSession } return nil } // 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 the “service“, // “principal“, and “labels“ as appropriate. // [#next-free-field: 6] type AttributeContext_Peer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The address of the peer, this is typically the IP address. // It can also be UDS path, or others. Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // The canonical service name of the peer. // It should be set to :ref:`the HTTP x-envoy-downstream-service-cluster // ` // If a more trusted source of the service name is available through mTLS/secure naming, it // should be used. Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` // The labels associated with the peer. // These could be pod labels for Kubernetes or tags for VMs. // The source of the labels could be an X.509 certificate or other configuration. Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The authenticated identity of this peer. // For example, the identity associated with the workload such as a service account. // If an X.509 certificate is used to assert the identity this field should be sourced from // “URI Subject Alternative Names“, “DNS Subject Alternate Names“ or “Subject“ in that order. // The primary identity should be the principal. The principal format is issuer specific. // // Examples: // // - SPIFFE format is “spiffe://trust-domain/path“. // - Google account format is “https://accounts.google.com/{userid}“. Principal string `protobuf:"bytes,4,opt,name=principal,proto3" json:"principal,omitempty"` // The X.509 certificate used to authenticate the identify of this peer. // When present, the certificate contents are encoded in URL and PEM format. Certificate string `protobuf:"bytes,5,opt,name=certificate,proto3" json:"certificate,omitempty"` } func (x *AttributeContext_Peer) Reset() { *x = AttributeContext_Peer{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_Peer) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_Peer) ProtoMessage() {} func (x *AttributeContext_Peer) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_Peer.ProtoReflect.Descriptor instead. func (*AttributeContext_Peer) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP(), []int{0, 0} } func (x *AttributeContext_Peer) GetAddress() *v3.Address { if x != nil { return x.Address } return nil } func (x *AttributeContext_Peer) GetService() string { if x != nil { return x.Service } return "" } func (x *AttributeContext_Peer) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *AttributeContext_Peer) GetPrincipal() string { if x != nil { return x.Principal } return "" } func (x *AttributeContext_Peer) GetCertificate() string { if x != nil { return x.Certificate } return "" } // Represents a network request, such as an HTTP request. type AttributeContext_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The timestamp when the proxy receives the first byte of the request. Time *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` // Represents an HTTP request or an HTTP-like request. Http *AttributeContext_HttpRequest `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` } func (x *AttributeContext_Request) Reset() { *x = AttributeContext_Request{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_Request) ProtoMessage() {} func (x *AttributeContext_Request) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_Request.ProtoReflect.Descriptor instead. func (*AttributeContext_Request) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP(), []int{0, 1} } func (x *AttributeContext_Request) GetTime() *timestamp.Timestamp { if x != nil { return x.Time } return nil } func (x *AttributeContext_Request) GetHttp() *AttributeContext_HttpRequest { if x != nil { return x.Http } return nil } // This message defines attributes for an HTTP request. // HTTP/1.x, HTTP/2, gRPC are all considered as HTTP requests. // [#next-free-field: 13] type AttributeContext_HttpRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 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. // For HTTP requests, it should be X-Request-ID or equivalent. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The HTTP request method, such as “GET“, “POST“. Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` // 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 // lower-cased, because HTTP header keys are case-insensitive. Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The request target, as it appears in the first line of the HTTP request. This includes // the URL path and query-string. No decoding is performed. Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` // The HTTP request “Host“ or “:authority“ header value. Host string `protobuf:"bytes,5,opt,name=host,proto3" json:"host,omitempty"` // The HTTP URL scheme, such as “http“ and “https“. Scheme string `protobuf:"bytes,6,opt,name=scheme,proto3" json:"scheme,omitempty"` // This field is always empty, and exists for compatibility reasons. The HTTP URL query is // included in “path“ field. Query string `protobuf:"bytes,7,opt,name=query,proto3" json:"query,omitempty"` // This field is always empty, and exists for compatibility reasons. The URL fragment is // not submitted as part of HTTP requests; it is unknowable. Fragment string `protobuf:"bytes,8,opt,name=fragment,proto3" json:"fragment,omitempty"` // The HTTP request size in bytes. If unknown, it must be -1. Size int64 `protobuf:"varint,9,opt,name=size,proto3" json:"size,omitempty"` // The network protocol used with the request, such as "HTTP/1.0", "HTTP/1.1", or "HTTP/2". // // See :repo:`headers.h:ProtocolStrings ` for a list of all // possible values. Protocol string `protobuf:"bytes,10,opt,name=protocol,proto3" json:"protocol,omitempty"` // The HTTP request body. Body string `protobuf:"bytes,11,opt,name=body,proto3" json:"body,omitempty"` // The HTTP request body in bytes. This is used instead of // :ref:`body ` when // :ref:`pack_as_bytes ` // is set to true. RawBody []byte `protobuf:"bytes,12,opt,name=raw_body,json=rawBody,proto3" json:"raw_body,omitempty"` } func (x *AttributeContext_HttpRequest) Reset() { *x = AttributeContext_HttpRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_HttpRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_HttpRequest) ProtoMessage() {} func (x *AttributeContext_HttpRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_HttpRequest.ProtoReflect.Descriptor instead. func (*AttributeContext_HttpRequest) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP(), []int{0, 2} } func (x *AttributeContext_HttpRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *AttributeContext_HttpRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *AttributeContext_HttpRequest) GetHeaders() map[string]string { if x != nil { return x.Headers } return nil } func (x *AttributeContext_HttpRequest) GetPath() string { if x != nil { return x.Path } return "" } func (x *AttributeContext_HttpRequest) GetHost() string { if x != nil { return x.Host } return "" } func (x *AttributeContext_HttpRequest) GetScheme() string { if x != nil { return x.Scheme } return "" } func (x *AttributeContext_HttpRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *AttributeContext_HttpRequest) GetFragment() string { if x != nil { return x.Fragment } return "" } func (x *AttributeContext_HttpRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *AttributeContext_HttpRequest) GetProtocol() string { if x != nil { return x.Protocol } return "" } func (x *AttributeContext_HttpRequest) GetBody() string { if x != nil { return x.Body } return "" } func (x *AttributeContext_HttpRequest) GetRawBody() []byte { if x != nil { return x.RawBody } return nil } // This message defines attributes for the underlying TLS session. type AttributeContext_TLSSession struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SNI used for TLS session. Sni string `protobuf:"bytes,1,opt,name=sni,proto3" json:"sni,omitempty"` } func (x *AttributeContext_TLSSession) Reset() { *x = AttributeContext_TLSSession{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AttributeContext_TLSSession) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttributeContext_TLSSession) ProtoMessage() {} func (x *AttributeContext_TLSSession) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_attribute_context_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttributeContext_TLSSession.ProtoReflect.Descriptor instead. func (*AttributeContext_TLSSession) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP(), []int{0, 3} } func (x *AttributeContext_TLSSession) GetSni() string { if x != nil { return x.Sni } return "" } var File_envoy_service_auth_v3_attribute_context_proto protoreflect.FileDescriptor var file_envoy_service_auth_v3_attribute_context_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x0d, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x54, 0x0a, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x53, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xda, 0x02, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0xd9, 0x03, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x42, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x39, 0x9a, 0xc5, 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x0a, 0x0a, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_auth_v3_attribute_context_proto_rawDescOnce sync.Once file_envoy_service_auth_v3_attribute_context_proto_rawDescData = file_envoy_service_auth_v3_attribute_context_proto_rawDesc ) func file_envoy_service_auth_v3_attribute_context_proto_rawDescGZIP() []byte { file_envoy_service_auth_v3_attribute_context_proto_rawDescOnce.Do(func() { file_envoy_service_auth_v3_attribute_context_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_auth_v3_attribute_context_proto_rawDescData) }) return file_envoy_service_auth_v3_attribute_context_proto_rawDescData } var file_envoy_service_auth_v3_attribute_context_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_service_auth_v3_attribute_context_proto_goTypes = []interface{}{ (*AttributeContext)(nil), // 0: envoy.service.auth.v3.AttributeContext (*AttributeContext_Peer)(nil), // 1: envoy.service.auth.v3.AttributeContext.Peer (*AttributeContext_Request)(nil), // 2: envoy.service.auth.v3.AttributeContext.Request (*AttributeContext_HttpRequest)(nil), // 3: envoy.service.auth.v3.AttributeContext.HttpRequest (*AttributeContext_TLSSession)(nil), // 4: envoy.service.auth.v3.AttributeContext.TLSSession nil, // 5: envoy.service.auth.v3.AttributeContext.ContextExtensionsEntry nil, // 6: envoy.service.auth.v3.AttributeContext.Peer.LabelsEntry nil, // 7: envoy.service.auth.v3.AttributeContext.HttpRequest.HeadersEntry (*v3.Metadata)(nil), // 8: envoy.config.core.v3.Metadata (*v3.Address)(nil), // 9: envoy.config.core.v3.Address (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp } var file_envoy_service_auth_v3_attribute_context_proto_depIdxs = []int32{ 1, // 0: envoy.service.auth.v3.AttributeContext.source:type_name -> envoy.service.auth.v3.AttributeContext.Peer 1, // 1: envoy.service.auth.v3.AttributeContext.destination:type_name -> envoy.service.auth.v3.AttributeContext.Peer 2, // 2: envoy.service.auth.v3.AttributeContext.request:type_name -> envoy.service.auth.v3.AttributeContext.Request 5, // 3: envoy.service.auth.v3.AttributeContext.context_extensions:type_name -> envoy.service.auth.v3.AttributeContext.ContextExtensionsEntry 8, // 4: envoy.service.auth.v3.AttributeContext.metadata_context:type_name -> envoy.config.core.v3.Metadata 8, // 5: envoy.service.auth.v3.AttributeContext.route_metadata_context:type_name -> envoy.config.core.v3.Metadata 4, // 6: envoy.service.auth.v3.AttributeContext.tls_session:type_name -> envoy.service.auth.v3.AttributeContext.TLSSession 9, // 7: envoy.service.auth.v3.AttributeContext.Peer.address:type_name -> envoy.config.core.v3.Address 6, // 8: envoy.service.auth.v3.AttributeContext.Peer.labels:type_name -> envoy.service.auth.v3.AttributeContext.Peer.LabelsEntry 10, // 9: envoy.service.auth.v3.AttributeContext.Request.time:type_name -> google.protobuf.Timestamp 3, // 10: envoy.service.auth.v3.AttributeContext.Request.http:type_name -> envoy.service.auth.v3.AttributeContext.HttpRequest 7, // 11: envoy.service.auth.v3.AttributeContext.HttpRequest.headers:type_name -> envoy.service.auth.v3.AttributeContext.HttpRequest.HeadersEntry 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_service_auth_v3_attribute_context_proto_init() } func file_envoy_service_auth_v3_attribute_context_proto_init() { if File_envoy_service_auth_v3_attribute_context_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_auth_v3_attribute_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_attribute_context_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_Peer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_attribute_context_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_attribute_context_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_HttpRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_attribute_context_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttributeContext_TLSSession); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_auth_v3_attribute_context_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_service_auth_v3_attribute_context_proto_goTypes, DependencyIndexes: file_envoy_service_auth_v3_attribute_context_proto_depIdxs, MessageInfos: file_envoy_service_auth_v3_attribute_context_proto_msgTypes, }.Build() File_envoy_service_auth_v3_attribute_context_proto = out.File file_envoy_service_auth_v3_attribute_context_proto_rawDesc = nil file_envoy_service_auth_v3_attribute_context_proto_goTypes = nil file_envoy_service_auth_v3_attribute_context_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/service/auth/v3/attribute_context.pb.validate.go000077500000000000000000000562461454502223200273500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/auth/v3/attribute_context.proto package authv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AttributeContext with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AttributeContext) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContextMultiError, or nil if none found. func (m *AttributeContext) ValidateAll() error { return m.validate(true) } func (m *AttributeContext) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetSource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Source", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDestination()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDestination()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Destination", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ContextExtensions if all { switch v := interface{}(m.GetMetadataContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "MetadataContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetRouteMetadataContext()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "RouteMetadataContext", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "RouteMetadataContext", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteMetadataContext()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "RouteMetadataContext", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTlsSession()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "TlsSession", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContextValidationError{ field: "TlsSession", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTlsSession()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContextValidationError{ field: "TlsSession", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AttributeContextMultiError(errors) } return nil } // AttributeContextMultiError is an error wrapping multiple validation errors // returned by AttributeContext.ValidateAll() if the designated constraints // aren't met. type AttributeContextMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContextMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContextMultiError) AllErrors() []error { return m } // AttributeContextValidationError is the validation error returned by // AttributeContext.Validate if the designated constraints aren't met. type AttributeContextValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContextValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContextValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContextValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContextValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContextValidationError) ErrorName() string { return "AttributeContextValidationError" } // Error satisfies the builtin error interface func (e AttributeContextValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContextValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContextValidationError{} // Validate checks the field values on AttributeContext_Peer with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_Peer) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_Peer with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_PeerMultiError, or nil if none found. func (m *AttributeContext_Peer) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_Peer) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAddress()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_PeerValidationError{ field: "Address", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Service // no validation rules for Labels // no validation rules for Principal // no validation rules for Certificate if len(errors) > 0 { return AttributeContext_PeerMultiError(errors) } return nil } // AttributeContext_PeerMultiError is an error wrapping multiple validation // errors returned by AttributeContext_Peer.ValidateAll() if the designated // constraints aren't met. type AttributeContext_PeerMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_PeerMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_PeerMultiError) AllErrors() []error { return m } // AttributeContext_PeerValidationError is the validation error returned by // AttributeContext_Peer.Validate if the designated constraints aren't met. type AttributeContext_PeerValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_PeerValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_PeerValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_PeerValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_PeerValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_PeerValidationError) ErrorName() string { return "AttributeContext_PeerValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_PeerValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_Peer.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_PeerValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_PeerValidationError{} // Validate checks the field values on AttributeContext_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_Request) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_Request with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_RequestMultiError, or nil if none found. func (m *AttributeContext_Request) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_Request) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTime()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTime()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_RequestValidationError{ field: "Time", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHttp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AttributeContext_RequestValidationError{ field: "Http", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AttributeContext_RequestMultiError(errors) } return nil } // AttributeContext_RequestMultiError is an error wrapping multiple validation // errors returned by AttributeContext_Request.ValidateAll() if the designated // constraints aren't met. type AttributeContext_RequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_RequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_RequestMultiError) AllErrors() []error { return m } // AttributeContext_RequestValidationError is the validation error returned by // AttributeContext_Request.Validate if the designated constraints aren't met. type AttributeContext_RequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_RequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_RequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_RequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_RequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_RequestValidationError) ErrorName() string { return "AttributeContext_RequestValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_RequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_Request.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_RequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_RequestValidationError{} // Validate checks the field values on AttributeContext_HttpRequest with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_HttpRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_HttpRequest with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_HttpRequestMultiError, or nil if none found. func (m *AttributeContext_HttpRequest) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_HttpRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Id // no validation rules for Method // no validation rules for Headers // no validation rules for Path // no validation rules for Host // no validation rules for Scheme // no validation rules for Query // no validation rules for Fragment // no validation rules for Size // no validation rules for Protocol // no validation rules for Body // no validation rules for RawBody if len(errors) > 0 { return AttributeContext_HttpRequestMultiError(errors) } return nil } // AttributeContext_HttpRequestMultiError is an error wrapping multiple // validation errors returned by AttributeContext_HttpRequest.ValidateAll() if // the designated constraints aren't met. type AttributeContext_HttpRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_HttpRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_HttpRequestMultiError) AllErrors() []error { return m } // AttributeContext_HttpRequestValidationError is the validation error returned // by AttributeContext_HttpRequest.Validate if the designated constraints // aren't met. type AttributeContext_HttpRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_HttpRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_HttpRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_HttpRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_HttpRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_HttpRequestValidationError) ErrorName() string { return "AttributeContext_HttpRequestValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_HttpRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_HttpRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_HttpRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_HttpRequestValidationError{} // Validate checks the field values on AttributeContext_TLSSession with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *AttributeContext_TLSSession) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AttributeContext_TLSSession with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AttributeContext_TLSSessionMultiError, or nil if none found. func (m *AttributeContext_TLSSession) ValidateAll() error { return m.validate(true) } func (m *AttributeContext_TLSSession) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Sni if len(errors) > 0 { return AttributeContext_TLSSessionMultiError(errors) } return nil } // AttributeContext_TLSSessionMultiError is an error wrapping multiple // validation errors returned by AttributeContext_TLSSession.ValidateAll() if // the designated constraints aren't met. type AttributeContext_TLSSessionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AttributeContext_TLSSessionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AttributeContext_TLSSessionMultiError) AllErrors() []error { return m } // AttributeContext_TLSSessionValidationError is the validation error returned // by AttributeContext_TLSSession.Validate if the designated constraints // aren't met. type AttributeContext_TLSSessionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AttributeContext_TLSSessionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AttributeContext_TLSSessionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AttributeContext_TLSSessionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AttributeContext_TLSSessionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AttributeContext_TLSSessionValidationError) ErrorName() string { return "AttributeContext_TLSSessionValidationError" } // Error satisfies the builtin error interface func (e AttributeContext_TLSSessionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAttributeContext_TLSSession.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AttributeContext_TLSSessionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AttributeContext_TLSSessionValidationError{} go-control-plane-0.12.0/envoy/service/auth/v3/external_auth.pb.go000077500000000000000000001016141454502223200246420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/auth/v3/external_auth.proto package authv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _struct "github.com/golang/protobuf/ptypes/struct" status "google.golang.org/genproto/googleapis/rpc/status" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status1 "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request attributes. Attributes *AttributeContext `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` } func (x *CheckRequest) Reset() { *x = CheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckRequest) ProtoMessage() {} func (x *CheckRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead. func (*CheckRequest) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_external_auth_proto_rawDescGZIP(), []int{0} } func (x *CheckRequest) GetAttributes() *AttributeContext { if x != nil { return x.Attributes } return nil } // HTTP attributes for a denied response. type DeniedHttpResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field allows the authorization service to send an HTTP response status code to the // downstream client. If not set, Envoy sends “403 Forbidden“ HTTP status code by default. Status *v3.HttpStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // This field allows the authorization service to send HTTP response headers // to the downstream client. Note that the :ref:`append field in HeaderValueOption ` defaults to // false when used in this message. Headers []*v31.HeaderValueOption `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` // This field allows the authorization service to send a response body data // to the downstream client. Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` } func (x *DeniedHttpResponse) Reset() { *x = DeniedHttpResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeniedHttpResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeniedHttpResponse) ProtoMessage() {} func (x *DeniedHttpResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeniedHttpResponse.ProtoReflect.Descriptor instead. func (*DeniedHttpResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_external_auth_proto_rawDescGZIP(), []int{1} } func (x *DeniedHttpResponse) GetStatus() *v3.HttpStatus { if x != nil { return x.Status } return nil } func (x *DeniedHttpResponse) GetHeaders() []*v31.HeaderValueOption { if x != nil { return x.Headers } return nil } func (x *DeniedHttpResponse) GetBody() string { if x != nil { return x.Body } return "" } // HTTP attributes for an OK response. // [#next-free-field: 9] type OkHttpResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP entity headers in addition to the original request headers. This allows the authorization // service to append, to add or to override headers from the original request before // dispatching it to the upstream. Note that the :ref:`append field in HeaderValueOption ` defaults to // false when used in this message. By setting the “append“ field to “true“, // the filter will append the correspondent header value to the matched request header. // By leaving “append“ as false, the filter will either add a new header, or override an existing // one if there is a match. Headers []*v31.HeaderValueOption `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"` // HTTP entity headers to remove from the original request before dispatching // it to the upstream. This allows the authorization service to act on auth // related headers (like “Authorization“), process them, and consume them. // Under this model, the upstream will either receive the request (if it's // authorized) or not receive it (if it's not), but will not see headers // containing authorization credentials. // // Pseudo headers (such as “:authority“, “:method“, “:path“ etc), as well as // the header “Host“, may not be removed as that would make the request // malformed. If mentioned in “headers_to_remove“ these special headers will // be ignored. // // When using the HTTP service this must instead be set by the HTTP // authorization service as a comma separated list like so: // “x-envoy-auth-headers-to-remove: one-auth-header, another-auth-header“. HeadersToRemove []string `protobuf:"bytes,5,rep,name=headers_to_remove,json=headersToRemove,proto3" json:"headers_to_remove,omitempty"` // This field has been deprecated in favor of :ref:`CheckResponse.dynamic_metadata // `. Until it is removed, // setting this field overrides :ref:`CheckResponse.dynamic_metadata // `. // // Deprecated: Marked as deprecated in envoy/service/auth/v3/external_auth.proto. DynamicMetadata *_struct.Struct `protobuf:"bytes,3,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"` // This field allows the authorization service to send HTTP response headers // to the downstream client on success. Note that the :ref:`append field in HeaderValueOption ` // defaults to false when used in this message. ResponseHeadersToAdd []*v31.HeaderValueOption `protobuf:"bytes,6,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // This field allows the authorization service to set (and overwrite) query // string parameters on the original request before it is sent upstream. QueryParametersToSet []*v31.QueryParameter `protobuf:"bytes,7,rep,name=query_parameters_to_set,json=queryParametersToSet,proto3" json:"query_parameters_to_set,omitempty"` // This field allows the authorization service to specify which query parameters // should be removed from the original request before it is sent upstream. Each // element in this list is a case-sensitive query parameter name to be removed. QueryParametersToRemove []string `protobuf:"bytes,8,rep,name=query_parameters_to_remove,json=queryParametersToRemove,proto3" json:"query_parameters_to_remove,omitempty"` } func (x *OkHttpResponse) Reset() { *x = OkHttpResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OkHttpResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OkHttpResponse) ProtoMessage() {} func (x *OkHttpResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OkHttpResponse.ProtoReflect.Descriptor instead. func (*OkHttpResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_external_auth_proto_rawDescGZIP(), []int{2} } func (x *OkHttpResponse) GetHeaders() []*v31.HeaderValueOption { if x != nil { return x.Headers } return nil } func (x *OkHttpResponse) GetHeadersToRemove() []string { if x != nil { return x.HeadersToRemove } return nil } // Deprecated: Marked as deprecated in envoy/service/auth/v3/external_auth.proto. func (x *OkHttpResponse) GetDynamicMetadata() *_struct.Struct { if x != nil { return x.DynamicMetadata } return nil } func (x *OkHttpResponse) GetResponseHeadersToAdd() []*v31.HeaderValueOption { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *OkHttpResponse) GetQueryParametersToSet() []*v31.QueryParameter { if x != nil { return x.QueryParametersToSet } return nil } func (x *OkHttpResponse) GetQueryParametersToRemove() []string { if x != nil { return x.QueryParametersToRemove } return nil } // Intended for gRPC and Network Authorization servers “only“. type CheckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Status “OK“ allows the request. Any other status indicates the request should be denied, and // for HTTP filter, if not overridden by :ref:`denied HTTP response status ` // Envoy sends “403 Forbidden“ HTTP status code by default. Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // An message that contains HTTP response attributes. This message is // used when the authorization service needs to send custom responses to the // downstream client or, to modify/add request headers being dispatched to the upstream. // // Types that are assignable to HttpResponse: // // *CheckResponse_DeniedResponse // *CheckResponse_OkResponse HttpResponse isCheckResponse_HttpResponse `protobuf_oneof:"http_response"` // Optional response metadata that will be emitted as dynamic metadata to be consumed by the next // filter. This metadata lives in a namespace specified by the canonical name of extension filter // that requires it: // // - :ref:`envoy.filters.http.ext_authz ` for HTTP filter. // - :ref:`envoy.filters.network.ext_authz ` for network filter. DynamicMetadata *_struct.Struct `protobuf:"bytes,4,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"` } func (x *CheckResponse) Reset() { *x = CheckResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckResponse) ProtoMessage() {} func (x *CheckResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_auth_v3_external_auth_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead. func (*CheckResponse) Descriptor() ([]byte, []int) { return file_envoy_service_auth_v3_external_auth_proto_rawDescGZIP(), []int{3} } func (x *CheckResponse) GetStatus() *status.Status { if x != nil { return x.Status } return nil } func (m *CheckResponse) GetHttpResponse() isCheckResponse_HttpResponse { if m != nil { return m.HttpResponse } return nil } func (x *CheckResponse) GetDeniedResponse() *DeniedHttpResponse { if x, ok := x.GetHttpResponse().(*CheckResponse_DeniedResponse); ok { return x.DeniedResponse } return nil } func (x *CheckResponse) GetOkResponse() *OkHttpResponse { if x, ok := x.GetHttpResponse().(*CheckResponse_OkResponse); ok { return x.OkResponse } return nil } func (x *CheckResponse) GetDynamicMetadata() *_struct.Struct { if x != nil { return x.DynamicMetadata } return nil } type isCheckResponse_HttpResponse interface { isCheckResponse_HttpResponse() } type CheckResponse_DeniedResponse struct { // Supplies http attributes for a denied response. DeniedResponse *DeniedHttpResponse `protobuf:"bytes,2,opt,name=denied_response,json=deniedResponse,proto3,oneof"` } type CheckResponse_OkResponse struct { // Supplies http attributes for an ok response. OkResponse *OkHttpResponse `protobuf:"bytes,3,opt,name=ok_response,json=okResponse,proto3,oneof"` } func (*CheckResponse_DeniedResponse) isCheckResponse_HttpResponse() {} func (*CheckResponse_OkResponse) isCheckResponse_HttpResponse() {} var File_envoy_service_auth_v3_external_auth_proto protoreflect.FileDescriptor var file_envoy_service_auth_v3_external_auth_proto_rawDesc = []byte{ 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf7, 0x03, 0x0a, 0x0e, 0x4f, 0x6b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4f, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x5b, 0x0a, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x6b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x6b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x65, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_auth_v3_external_auth_proto_rawDescOnce sync.Once file_envoy_service_auth_v3_external_auth_proto_rawDescData = file_envoy_service_auth_v3_external_auth_proto_rawDesc ) func file_envoy_service_auth_v3_external_auth_proto_rawDescGZIP() []byte { file_envoy_service_auth_v3_external_auth_proto_rawDescOnce.Do(func() { file_envoy_service_auth_v3_external_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_auth_v3_external_auth_proto_rawDescData) }) return file_envoy_service_auth_v3_external_auth_proto_rawDescData } var file_envoy_service_auth_v3_external_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_service_auth_v3_external_auth_proto_goTypes = []interface{}{ (*CheckRequest)(nil), // 0: envoy.service.auth.v3.CheckRequest (*DeniedHttpResponse)(nil), // 1: envoy.service.auth.v3.DeniedHttpResponse (*OkHttpResponse)(nil), // 2: envoy.service.auth.v3.OkHttpResponse (*CheckResponse)(nil), // 3: envoy.service.auth.v3.CheckResponse (*AttributeContext)(nil), // 4: envoy.service.auth.v3.AttributeContext (*v3.HttpStatus)(nil), // 5: envoy.type.v3.HttpStatus (*v31.HeaderValueOption)(nil), // 6: envoy.config.core.v3.HeaderValueOption (*_struct.Struct)(nil), // 7: google.protobuf.Struct (*v31.QueryParameter)(nil), // 8: envoy.config.core.v3.QueryParameter (*status.Status)(nil), // 9: google.rpc.Status } var file_envoy_service_auth_v3_external_auth_proto_depIdxs = []int32{ 4, // 0: envoy.service.auth.v3.CheckRequest.attributes:type_name -> envoy.service.auth.v3.AttributeContext 5, // 1: envoy.service.auth.v3.DeniedHttpResponse.status:type_name -> envoy.type.v3.HttpStatus 6, // 2: envoy.service.auth.v3.DeniedHttpResponse.headers:type_name -> envoy.config.core.v3.HeaderValueOption 6, // 3: envoy.service.auth.v3.OkHttpResponse.headers:type_name -> envoy.config.core.v3.HeaderValueOption 7, // 4: envoy.service.auth.v3.OkHttpResponse.dynamic_metadata:type_name -> google.protobuf.Struct 6, // 5: envoy.service.auth.v3.OkHttpResponse.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption 8, // 6: envoy.service.auth.v3.OkHttpResponse.query_parameters_to_set:type_name -> envoy.config.core.v3.QueryParameter 9, // 7: envoy.service.auth.v3.CheckResponse.status:type_name -> google.rpc.Status 1, // 8: envoy.service.auth.v3.CheckResponse.denied_response:type_name -> envoy.service.auth.v3.DeniedHttpResponse 2, // 9: envoy.service.auth.v3.CheckResponse.ok_response:type_name -> envoy.service.auth.v3.OkHttpResponse 7, // 10: envoy.service.auth.v3.CheckResponse.dynamic_metadata:type_name -> google.protobuf.Struct 0, // 11: envoy.service.auth.v3.Authorization.Check:input_type -> envoy.service.auth.v3.CheckRequest 3, // 12: envoy.service.auth.v3.Authorization.Check:output_type -> envoy.service.auth.v3.CheckResponse 12, // [12:13] is the sub-list for method output_type 11, // [11:12] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_envoy_service_auth_v3_external_auth_proto_init() } func file_envoy_service_auth_v3_external_auth_proto_init() { if File_envoy_service_auth_v3_external_auth_proto != nil { return } file_envoy_service_auth_v3_attribute_context_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_service_auth_v3_external_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_external_auth_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeniedHttpResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_external_auth_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OkHttpResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_auth_v3_external_auth_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_auth_v3_external_auth_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CheckResponse_DeniedResponse)(nil), (*CheckResponse_OkResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_auth_v3_external_auth_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_auth_v3_external_auth_proto_goTypes, DependencyIndexes: file_envoy_service_auth_v3_external_auth_proto_depIdxs, MessageInfos: file_envoy_service_auth_v3_external_auth_proto_msgTypes, }.Build() File_envoy_service_auth_v3_external_auth_proto = out.File file_envoy_service_auth_v3_external_auth_proto_rawDesc = nil file_envoy_service_auth_v3_external_auth_proto_goTypes = nil file_envoy_service_auth_v3_external_auth_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AuthorizationClient is the client API for Authorization service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AuthorizationClient interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) } type authorizationClient struct { cc grpc.ClientConnInterface } func NewAuthorizationClient(cc grpc.ClientConnInterface) AuthorizationClient { return &authorizationClient{cc} } func (c *authorizationClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) { out := new(CheckResponse) err := c.cc.Invoke(ctx, "/envoy.service.auth.v3.Authorization/Check", in, out, opts...) if err != nil { return nil, err } return out, nil } // AuthorizationServer is the server API for Authorization service. type AuthorizationServer interface { // Performs authorization check based on the attributes associated with the // incoming request, and returns status `OK` or not `OK`. Check(context.Context, *CheckRequest) (*CheckResponse, error) } // UnimplementedAuthorizationServer can be embedded to have forward compatible implementations. type UnimplementedAuthorizationServer struct { } func (*UnimplementedAuthorizationServer) Check(context.Context, *CheckRequest) (*CheckResponse, error) { return nil, status1.Errorf(codes.Unimplemented, "method Check not implemented") } func RegisterAuthorizationServer(s *grpc.Server, srv AuthorizationServer) { s.RegisterService(&_Authorization_serviceDesc, srv) } func _Authorization_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CheckRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(AuthorizationServer).Check(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.auth.v3.Authorization/Check", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AuthorizationServer).Check(ctx, req.(*CheckRequest)) } return interceptor(ctx, in, info, handler) } var _Authorization_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.auth.v3.Authorization", HandlerType: (*AuthorizationServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Check", Handler: _Authorization_Check_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "envoy/service/auth/v3/external_auth.proto", } go-control-plane-0.12.0/envoy/service/auth/v3/external_auth.pb.validate.go000077500000000000000000000530621454502223200264350ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/auth/v3/external_auth.proto package authv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CheckRequest with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckRequestMultiError, or // nil if none found. func (m *CheckRequest) ValidateAll() error { return m.validate(true) } func (m *CheckRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetAttributes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAttributes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckRequestValidationError{ field: "Attributes", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return CheckRequestMultiError(errors) } return nil } // CheckRequestMultiError is an error wrapping multiple validation errors // returned by CheckRequest.ValidateAll() if the designated constraints aren't met. type CheckRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckRequestMultiError) AllErrors() []error { return m } // CheckRequestValidationError is the validation error returned by // CheckRequest.Validate if the designated constraints aren't met. type CheckRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckRequestValidationError) ErrorName() string { return "CheckRequestValidationError" } // Error satisfies the builtin error interface func (e CheckRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckRequestValidationError{} // Validate checks the field values on DeniedHttpResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeniedHttpResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeniedHttpResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeniedHttpResponseMultiError, or nil if none found. func (m *DeniedHttpResponse) ValidateAll() error { return m.validate(true) } func (m *DeniedHttpResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeniedHttpResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeniedHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Body if len(errors) > 0 { return DeniedHttpResponseMultiError(errors) } return nil } // DeniedHttpResponseMultiError is an error wrapping multiple validation errors // returned by DeniedHttpResponse.ValidateAll() if the designated constraints // aren't met. type DeniedHttpResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeniedHttpResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeniedHttpResponseMultiError) AllErrors() []error { return m } // DeniedHttpResponseValidationError is the validation error returned by // DeniedHttpResponse.Validate if the designated constraints aren't met. type DeniedHttpResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeniedHttpResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeniedHttpResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeniedHttpResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeniedHttpResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeniedHttpResponseValidationError) ErrorName() string { return "DeniedHttpResponseValidationError" } // Error satisfies the builtin error interface func (e DeniedHttpResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeniedHttpResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeniedHttpResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeniedHttpResponseValidationError{} // Validate checks the field values on OkHttpResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OkHttpResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OkHttpResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OkHttpResponseMultiError, // or nil if none found. func (m *OkHttpResponse) ValidateAll() error { return m.validate(true) } func (m *OkHttpResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OkHttpResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OkHttpResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OkHttpResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetQueryParametersToSet() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("QueryParametersToSet[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OkHttpResponseValidationError{ field: fmt.Sprintf("QueryParametersToSet[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OkHttpResponseValidationError{ field: fmt.Sprintf("QueryParametersToSet[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OkHttpResponseMultiError(errors) } return nil } // OkHttpResponseMultiError is an error wrapping multiple validation errors // returned by OkHttpResponse.ValidateAll() if the designated constraints // aren't met. type OkHttpResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OkHttpResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OkHttpResponseMultiError) AllErrors() []error { return m } // OkHttpResponseValidationError is the validation error returned by // OkHttpResponse.Validate if the designated constraints aren't met. type OkHttpResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OkHttpResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OkHttpResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OkHttpResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OkHttpResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OkHttpResponseValidationError) ErrorName() string { return "OkHttpResponseValidationError" } // Error satisfies the builtin error interface func (e OkHttpResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOkHttpResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OkHttpResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OkHttpResponseValidationError{} // Validate checks the field values on CheckResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CheckResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CheckResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CheckResponseMultiError, or // nil if none found. func (m *CheckResponse) ValidateAll() error { return m.validate(true) } func (m *CheckResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } switch v := m.HttpResponse.(type) { case *CheckResponse_DeniedResponse: if v == nil { err := CheckResponseValidationError{ field: "HttpResponse", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetDeniedResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDeniedResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "DeniedResponse", reason: "embedded message failed validation", cause: err, } } } case *CheckResponse_OkResponse: if v == nil { err := CheckResponseValidationError{ field: "HttpResponse", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOkResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOkResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CheckResponseValidationError{ field: "OkResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return CheckResponseMultiError(errors) } return nil } // CheckResponseMultiError is an error wrapping multiple validation errors // returned by CheckResponse.ValidateAll() if the designated constraints // aren't met. type CheckResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CheckResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CheckResponseMultiError) AllErrors() []error { return m } // CheckResponseValidationError is the validation error returned by // CheckResponse.Validate if the designated constraints aren't met. type CheckResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CheckResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CheckResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CheckResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CheckResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CheckResponseValidationError) ErrorName() string { return "CheckResponseValidationError" } // Error satisfies the builtin error interface func (e CheckResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCheckResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CheckResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CheckResponseValidationError{} go-control-plane-0.12.0/envoy/service/cluster/000077500000000000000000000000001454502223200212325ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/cluster/v3/000077500000000000000000000000001454502223200215625ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/cluster/v3/cds.pb.go000077500000000000000000000451201454502223200232670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/cluster/v3/cds.proto package clusterv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type CdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CdsDummy) Reset() { *x = CdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_cluster_v3_cds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*CdsDummy) ProtoMessage() {} func (x *CdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_cluster_v3_cds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CdsDummy.ProtoReflect.Descriptor instead. func (*CdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_cluster_v3_cds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_cluster_v3_cds_proto protoreflect.FileDescriptor var file_envoy_service_cluster_v3_cds_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x08, 0x43, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xc7, 0x03, 0x0a, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x73, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x0d, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x27, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x43, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_cluster_v3_cds_proto_rawDescOnce sync.Once file_envoy_service_cluster_v3_cds_proto_rawDescData = file_envoy_service_cluster_v3_cds_proto_rawDesc ) func file_envoy_service_cluster_v3_cds_proto_rawDescGZIP() []byte { file_envoy_service_cluster_v3_cds_proto_rawDescOnce.Do(func() { file_envoy_service_cluster_v3_cds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_cluster_v3_cds_proto_rawDescData) }) return file_envoy_service_cluster_v3_cds_proto_rawDescData } var file_envoy_service_cluster_v3_cds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_cluster_v3_cds_proto_goTypes = []interface{}{ (*CdsDummy)(nil), // 0: envoy.service.cluster.v3.CdsDummy (*v3.DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_cluster_v3_cds_proto_depIdxs = []int32{ 1, // 0: envoy.service.cluster.v3.ClusterDiscoveryService.StreamClusters:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.cluster.v3.ClusterDiscoveryService.DeltaClusters:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 1, // 2: envoy.service.cluster.v3.ClusterDiscoveryService.FetchClusters:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.cluster.v3.ClusterDiscoveryService.StreamClusters:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 4: envoy.service.cluster.v3.ClusterDiscoveryService.DeltaClusters:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 3, // 5: envoy.service.cluster.v3.ClusterDiscoveryService.FetchClusters:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_cluster_v3_cds_proto_init() } func file_envoy_service_cluster_v3_cds_proto_init() { if File_envoy_service_cluster_v3_cds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_cluster_v3_cds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_cluster_v3_cds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_cluster_v3_cds_proto_goTypes, DependencyIndexes: file_envoy_service_cluster_v3_cds_proto_depIdxs, MessageInfos: file_envoy_service_cluster_v3_cds_proto_msgTypes, }.Build() File_envoy_service_cluster_v3_cds_proto = out.File file_envoy_service_cluster_v3_cds_proto_rawDesc = nil file_envoy_service_cluster_v3_cds_proto_goTypes = nil file_envoy_service_cluster_v3_cds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ClusterDiscoveryServiceClient is the client API for ClusterDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ClusterDiscoveryServiceClient interface { StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) DeltaClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_DeltaClustersClient, error) FetchClusters(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type clusterDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewClusterDiscoveryServiceClient(cc grpc.ClientConnInterface) ClusterDiscoveryServiceClient { return &clusterDiscoveryServiceClient{cc} } func (c *clusterDiscoveryServiceClient) StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) { stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[0], "/envoy.service.cluster.v3.ClusterDiscoveryService/StreamClusters", opts...) if err != nil { return nil, err } x := &clusterDiscoveryServiceStreamClustersClient{stream} return x, nil } type ClusterDiscoveryService_StreamClustersClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type clusterDiscoveryServiceStreamClustersClient struct { grpc.ClientStream } func (x *clusterDiscoveryServiceStreamClustersClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *clusterDiscoveryServiceStreamClustersClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clusterDiscoveryServiceClient) DeltaClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_DeltaClustersClient, error) { stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[1], "/envoy.service.cluster.v3.ClusterDiscoveryService/DeltaClusters", opts...) if err != nil { return nil, err } x := &clusterDiscoveryServiceDeltaClustersClient{stream} return x, nil } type ClusterDiscoveryService_DeltaClustersClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type clusterDiscoveryServiceDeltaClustersClient struct { grpc.ClientStream } func (x *clusterDiscoveryServiceDeltaClustersClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *clusterDiscoveryServiceDeltaClustersClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clusterDiscoveryServiceClient) FetchClusters(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.cluster.v3.ClusterDiscoveryService/FetchClusters", in, out, opts...) if err != nil { return nil, err } return out, nil } // ClusterDiscoveryServiceServer is the server API for ClusterDiscoveryService service. type ClusterDiscoveryServiceServer interface { StreamClusters(ClusterDiscoveryService_StreamClustersServer) error DeltaClusters(ClusterDiscoveryService_DeltaClustersServer) error FetchClusters(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedClusterDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedClusterDiscoveryServiceServer struct { } func (*UnimplementedClusterDiscoveryServiceServer) StreamClusters(ClusterDiscoveryService_StreamClustersServer) error { return status.Errorf(codes.Unimplemented, "method StreamClusters not implemented") } func (*UnimplementedClusterDiscoveryServiceServer) DeltaClusters(ClusterDiscoveryService_DeltaClustersServer) error { return status.Errorf(codes.Unimplemented, "method DeltaClusters not implemented") } func (*UnimplementedClusterDiscoveryServiceServer) FetchClusters(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchClusters not implemented") } func RegisterClusterDiscoveryServiceServer(s *grpc.Server, srv ClusterDiscoveryServiceServer) { s.RegisterService(&_ClusterDiscoveryService_serviceDesc, srv) } func _ClusterDiscoveryService_StreamClusters_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClusterDiscoveryServiceServer).StreamClusters(&clusterDiscoveryServiceStreamClustersServer{stream}) } type ClusterDiscoveryService_StreamClustersServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type clusterDiscoveryServiceStreamClustersServer struct { grpc.ServerStream } func (x *clusterDiscoveryServiceStreamClustersServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *clusterDiscoveryServiceStreamClustersServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClusterDiscoveryService_DeltaClusters_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClusterDiscoveryServiceServer).DeltaClusters(&clusterDiscoveryServiceDeltaClustersServer{stream}) } type ClusterDiscoveryService_DeltaClustersServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type clusterDiscoveryServiceDeltaClustersServer struct { grpc.ServerStream } func (x *clusterDiscoveryServiceDeltaClustersServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *clusterDiscoveryServiceDeltaClustersServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClusterDiscoveryService_FetchClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.cluster.v3.ClusterDiscoveryService/FetchClusters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ClusterDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.cluster.v3.ClusterDiscoveryService", HandlerType: (*ClusterDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchClusters", Handler: _ClusterDiscoveryService_FetchClusters_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamClusters", Handler: _ClusterDiscoveryService_StreamClusters_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaClusters", Handler: _ClusterDiscoveryService_DeltaClusters_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/cluster/v3/cds.proto", } go-control-plane-0.12.0/envoy/service/cluster/v3/cds.pb.validate.go000077500000000000000000000061251454502223200250610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/cluster/v3/cds.proto package clusterv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CdsDummyMultiError, or nil // if none found. func (m *CdsDummy) ValidateAll() error { return m.validate(true) } func (m *CdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CdsDummyMultiError(errors) } return nil } // CdsDummyMultiError is an error wrapping multiple validation errors returned // by CdsDummy.ValidateAll() if the designated constraints aren't met. type CdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CdsDummyMultiError) AllErrors() []error { return m } // CdsDummyValidationError is the validation error returned by // CdsDummy.Validate if the designated constraints aren't met. type CdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CdsDummyValidationError) ErrorName() string { return "CdsDummyValidationError" } // Error satisfies the builtin error interface func (e CdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/discovery/000077500000000000000000000000001454502223200215605ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/discovery/v2/000077500000000000000000000000001454502223200221075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/discovery/v2/ads.pb.go000077500000000000000000000364261454502223200236230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v2/ads.proto package discoveryv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type AdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AdsDummy) Reset() { *x = AdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_ads_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdsDummy) ProtoMessage() {} func (x *AdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_ads_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdsDummy.ProtoReflect.Descriptor instead. func (*AdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_ads_proto_rawDescGZIP(), []int{0} } var File_envoy_service_discovery_v2_ads_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v2_ads_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x41, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xed, 0x01, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x41, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v2_ads_proto_rawDescOnce sync.Once file_envoy_service_discovery_v2_ads_proto_rawDescData = file_envoy_service_discovery_v2_ads_proto_rawDesc ) func file_envoy_service_discovery_v2_ads_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v2_ads_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v2_ads_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v2_ads_proto_rawDescData) }) return file_envoy_service_discovery_v2_ads_proto_rawDescData } var file_envoy_service_discovery_v2_ads_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_discovery_v2_ads_proto_goTypes = []interface{}{ (*AdsDummy)(nil), // 0: envoy.service.discovery.v2.AdsDummy (*v2.DiscoveryRequest)(nil), // 1: envoy.api.v2.DiscoveryRequest (*v2.DeltaDiscoveryRequest)(nil), // 2: envoy.api.v2.DeltaDiscoveryRequest (*v2.DiscoveryResponse)(nil), // 3: envoy.api.v2.DiscoveryResponse (*v2.DeltaDiscoveryResponse)(nil), // 4: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_service_discovery_v2_ads_proto_depIdxs = []int32{ 1, // 0: envoy.service.discovery.v2.AggregatedDiscoveryService.StreamAggregatedResources:input_type -> envoy.api.v2.DiscoveryRequest 2, // 1: envoy.service.discovery.v2.AggregatedDiscoveryService.DeltaAggregatedResources:input_type -> envoy.api.v2.DeltaDiscoveryRequest 3, // 2: envoy.service.discovery.v2.AggregatedDiscoveryService.StreamAggregatedResources:output_type -> envoy.api.v2.DiscoveryResponse 4, // 3: envoy.service.discovery.v2.AggregatedDiscoveryService.DeltaAggregatedResources:output_type -> envoy.api.v2.DeltaDiscoveryResponse 2, // [2:4] is the sub-list for method output_type 0, // [0:2] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v2_ads_proto_init() } func file_envoy_service_discovery_v2_ads_proto_init() { if File_envoy_service_discovery_v2_ads_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v2_ads_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v2_ads_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_discovery_v2_ads_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v2_ads_proto_depIdxs, MessageInfos: file_envoy_service_discovery_v2_ads_proto_msgTypes, }.Build() File_envoy_service_discovery_v2_ads_proto = out.File file_envoy_service_discovery_v2_ads_proto_rawDesc = nil file_envoy_service_discovery_v2_ads_proto_goTypes = nil file_envoy_service_discovery_v2_ads_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AggregatedDiscoveryServiceClient is the client API for AggregatedDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AggregatedDiscoveryServiceClient interface { // This is a gRPC-only API. StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_StreamAggregatedResourcesClient, error) DeltaAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_DeltaAggregatedResourcesClient, error) } type aggregatedDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewAggregatedDiscoveryServiceClient(cc grpc.ClientConnInterface) AggregatedDiscoveryServiceClient { return &aggregatedDiscoveryServiceClient{cc} } func (c *aggregatedDiscoveryServiceClient) StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_StreamAggregatedResourcesClient, error) { stream, err := c.cc.NewStream(ctx, &_AggregatedDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources", opts...) if err != nil { return nil, err } x := &aggregatedDiscoveryServiceStreamAggregatedResourcesClient{stream} return x, nil } type AggregatedDiscoveryService_StreamAggregatedResourcesClient interface { Send(*v2.DiscoveryRequest) error Recv() (*v2.DiscoveryResponse, error) grpc.ClientStream } type aggregatedDiscoveryServiceStreamAggregatedResourcesClient struct { grpc.ClientStream } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesClient) Send(m *v2.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesClient) Recv() (*v2.DiscoveryResponse, error) { m := new(v2.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *aggregatedDiscoveryServiceClient) DeltaAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_DeltaAggregatedResourcesClient, error) { stream, err := c.cc.NewStream(ctx, &_AggregatedDiscoveryService_serviceDesc.Streams[1], "/envoy.service.discovery.v2.AggregatedDiscoveryService/DeltaAggregatedResources", opts...) if err != nil { return nil, err } x := &aggregatedDiscoveryServiceDeltaAggregatedResourcesClient{stream} return x, nil } type AggregatedDiscoveryService_DeltaAggregatedResourcesClient interface { Send(*v2.DeltaDiscoveryRequest) error Recv() (*v2.DeltaDiscoveryResponse, error) grpc.ClientStream } type aggregatedDiscoveryServiceDeltaAggregatedResourcesClient struct { grpc.ClientStream } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesClient) Send(m *v2.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesClient) Recv() (*v2.DeltaDiscoveryResponse, error) { m := new(v2.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // AggregatedDiscoveryServiceServer is the server API for AggregatedDiscoveryService service. type AggregatedDiscoveryServiceServer interface { // This is a gRPC-only API. StreamAggregatedResources(AggregatedDiscoveryService_StreamAggregatedResourcesServer) error DeltaAggregatedResources(AggregatedDiscoveryService_DeltaAggregatedResourcesServer) error } // UnimplementedAggregatedDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedAggregatedDiscoveryServiceServer struct { } func (*UnimplementedAggregatedDiscoveryServiceServer) StreamAggregatedResources(AggregatedDiscoveryService_StreamAggregatedResourcesServer) error { return status.Errorf(codes.Unimplemented, "method StreamAggregatedResources not implemented") } func (*UnimplementedAggregatedDiscoveryServiceServer) DeltaAggregatedResources(AggregatedDiscoveryService_DeltaAggregatedResourcesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaAggregatedResources not implemented") } func RegisterAggregatedDiscoveryServiceServer(s *grpc.Server, srv AggregatedDiscoveryServiceServer) { s.RegisterService(&_AggregatedDiscoveryService_serviceDesc, srv) } func _AggregatedDiscoveryService_StreamAggregatedResources_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AggregatedDiscoveryServiceServer).StreamAggregatedResources(&aggregatedDiscoveryServiceStreamAggregatedResourcesServer{stream}) } type AggregatedDiscoveryService_StreamAggregatedResourcesServer interface { Send(*v2.DiscoveryResponse) error Recv() (*v2.DiscoveryRequest, error) grpc.ServerStream } type aggregatedDiscoveryServiceStreamAggregatedResourcesServer struct { grpc.ServerStream } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesServer) Send(m *v2.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesServer) Recv() (*v2.DiscoveryRequest, error) { m := new(v2.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _AggregatedDiscoveryService_DeltaAggregatedResources_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AggregatedDiscoveryServiceServer).DeltaAggregatedResources(&aggregatedDiscoveryServiceDeltaAggregatedResourcesServer{stream}) } type AggregatedDiscoveryService_DeltaAggregatedResourcesServer interface { Send(*v2.DeltaDiscoveryResponse) error Recv() (*v2.DeltaDiscoveryRequest, error) grpc.ServerStream } type aggregatedDiscoveryServiceDeltaAggregatedResourcesServer struct { grpc.ServerStream } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesServer) Send(m *v2.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesServer) Recv() (*v2.DeltaDiscoveryRequest, error) { m := new(v2.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _AggregatedDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.discovery.v2.AggregatedDiscoveryService", HandlerType: (*AggregatedDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamAggregatedResources", Handler: _AggregatedDiscoveryService_StreamAggregatedResources_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaAggregatedResources", Handler: _AggregatedDiscoveryService_DeltaAggregatedResources_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/discovery/v2/ads.proto", } go-control-plane-0.12.0/envoy/service/discovery/v2/ads.pb.validate.go000077500000000000000000000061311454502223200254010ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v2/ads.proto package discoveryv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AdsDummyMultiError, or nil // if none found. func (m *AdsDummy) ValidateAll() error { return m.validate(true) } func (m *AdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return AdsDummyMultiError(errors) } return nil } // AdsDummyMultiError is an error wrapping multiple validation errors returned // by AdsDummy.ValidateAll() if the designated constraints aren't met. type AdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdsDummyMultiError) AllErrors() []error { return m } // AdsDummyValidationError is the validation error returned by // AdsDummy.Validate if the designated constraints aren't met. type AdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdsDummyValidationError) ErrorName() string { return "AdsDummyValidationError" } // Error satisfies the builtin error interface func (e AdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/discovery/v2/hds.pb.go000077500000000000000000001411731454502223200236260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v2/hds.proto package discoveryv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" endpoint "github.com/envoyproxy/go-control-plane/envoy/api/v2/endpoint" duration "github.com/golang/protobuf/ptypes/duration" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Different Envoy instances may have different capabilities (e.g. Redis) // and/or have ports enabled for different protocols. type Capability_Protocol int32 const ( Capability_HTTP Capability_Protocol = 0 Capability_TCP Capability_Protocol = 1 Capability_REDIS Capability_Protocol = 2 ) // Enum value maps for Capability_Protocol. var ( Capability_Protocol_name = map[int32]string{ 0: "HTTP", 1: "TCP", 2: "REDIS", } Capability_Protocol_value = map[string]int32{ "HTTP": 0, "TCP": 1, "REDIS": 2, } ) func (x Capability_Protocol) Enum() *Capability_Protocol { p := new(Capability_Protocol) *p = x return p } func (x Capability_Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Capability_Protocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_discovery_v2_hds_proto_enumTypes[0].Descriptor() } func (Capability_Protocol) Type() protoreflect.EnumType { return &file_envoy_service_discovery_v2_hds_proto_enumTypes[0] } func (x Capability_Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Capability_Protocol.Descriptor instead. func (Capability_Protocol) EnumDescriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0, 0} } // Defines supported protocols etc, so the management server can assign proper // endpoints to healthcheck. type Capability struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HealthCheckProtocols []Capability_Protocol `protobuf:"varint,1,rep,packed,name=health_check_protocols,json=healthCheckProtocols,proto3,enum=envoy.service.discovery.v2.Capability_Protocol" json:"health_check_protocols,omitempty"` } func (x *Capability) Reset() { *x = Capability{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Capability) String() string { return protoimpl.X.MessageStringOf(x) } func (*Capability) ProtoMessage() {} func (x *Capability) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Capability.ProtoReflect.Descriptor instead. func (*Capability) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0} } func (x *Capability) GetHealthCheckProtocols() []Capability_Protocol { if x != nil { return x.HealthCheckProtocols } return nil } type HealthCheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` Capability *Capability `protobuf:"bytes,2,opt,name=capability,proto3" json:"capability,omitempty"` } func (x *HealthCheckRequest) Reset() { *x = HealthCheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckRequest) ProtoMessage() {} func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead. func (*HealthCheckRequest) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{1} } func (x *HealthCheckRequest) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *HealthCheckRequest) GetCapability() *Capability { if x != nil { return x.Capability } return nil } type EndpointHealth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Endpoint *endpoint.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` HealthStatus core.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"health_status,omitempty"` } func (x *EndpointHealth) Reset() { *x = EndpointHealth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointHealth) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointHealth) ProtoMessage() {} func (x *EndpointHealth) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointHealth.ProtoReflect.Descriptor instead. func (*EndpointHealth) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{2} } func (x *EndpointHealth) GetEndpoint() *endpoint.Endpoint { if x != nil { return x.Endpoint } return nil } func (x *EndpointHealth) GetHealthStatus() core.HealthStatus { if x != nil { return x.HealthStatus } return core.HealthStatus(0) } type EndpointHealthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"` } func (x *EndpointHealthResponse) Reset() { *x = EndpointHealthResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointHealthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointHealthResponse) ProtoMessage() {} func (x *EndpointHealthResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointHealthResponse.ProtoReflect.Descriptor instead. func (*EndpointHealthResponse) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{3} } func (x *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth { if x != nil { return x.EndpointsHealth } return nil } type HealthCheckRequestOrEndpointHealthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RequestType: // // *HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest // *HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"` } func (x *HealthCheckRequestOrEndpointHealthResponse) Reset() { *x = HealthCheckRequestOrEndpointHealthResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckRequestOrEndpointHealthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage() {} func (x *HealthCheckRequestOrEndpointHealthResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckRequestOrEndpointHealthResponse.ProtoReflect.Descriptor instead. func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{4} } func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType { if m != nil { return m.RequestType } return nil } func (x *HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest() *HealthCheckRequest { if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest); ok { return x.HealthCheckRequest } return nil } func (x *HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse() *EndpointHealthResponse { if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse); ok { return x.EndpointHealthResponse } return nil } type isHealthCheckRequestOrEndpointHealthResponse_RequestType interface { isHealthCheckRequestOrEndpointHealthResponse_RequestType() } type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct { HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,proto3,oneof"` } type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct { EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,proto3,oneof"` } func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) isHealthCheckRequestOrEndpointHealthResponse_RequestType() { } func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) isHealthCheckRequestOrEndpointHealthResponse_RequestType() { } type LocalityEndpoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Locality *core.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` Endpoints []*endpoint.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` } func (x *LocalityEndpoints) Reset() { *x = LocalityEndpoints{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityEndpoints) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityEndpoints) ProtoMessage() {} func (x *LocalityEndpoints) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityEndpoints.ProtoReflect.Descriptor instead. func (*LocalityEndpoints) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{5} } func (x *LocalityEndpoints) GetLocality() *core.Locality { if x != nil { return x.Locality } return nil } func (x *LocalityEndpoints) GetEndpoints() []*endpoint.Endpoint { if x != nil { return x.Endpoints } return nil } // The cluster name and locality is provided to Envoy for the endpoints that it // health checks to support statistics reporting, logging and debugging by the // Envoy instance (outside of HDS). For maximum usefulness, it should match the // same cluster structure as that provided by EDS. type ClusterHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` HealthChecks []*core.HealthCheck `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` LocalityEndpoints []*LocalityEndpoints `protobuf:"bytes,3,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"` } func (x *ClusterHealthCheck) Reset() { *x = ClusterHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterHealthCheck) ProtoMessage() {} func (x *ClusterHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterHealthCheck.ProtoReflect.Descriptor instead. func (*ClusterHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{6} } func (x *ClusterHealthCheck) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterHealthCheck) GetHealthChecks() []*core.HealthCheck { if x != nil { return x.HealthChecks } return nil } func (x *ClusterHealthCheck) GetLocalityEndpoints() []*LocalityEndpoints { if x != nil { return x.LocalityEndpoints } return nil } type HealthCheckSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClusterHealthChecks []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=cluster_health_checks,json=clusterHealthChecks,proto3" json:"cluster_health_checks,omitempty"` // The default is 1 second. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` } func (x *HealthCheckSpecifier) Reset() { *x = HealthCheckSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckSpecifier) ProtoMessage() {} func (x *HealthCheckSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckSpecifier.ProtoReflect.Descriptor instead. func (*HealthCheckSpecifier) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{7} } func (x *HealthCheckSpecifier) GetClusterHealthChecks() []*ClusterHealthCheck { if x != nil { return x.ClusterHealthChecks } return nil } func (x *HealthCheckSpecifier) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } var File_envoy_service_discovery_v2_hds_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v2_hds_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x65, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x28, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x02, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x90, 0x02, 0x0a, 0x2a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xe4, 0x02, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xb3, 0x01, 0x0a, 0x10, 0x46, 0x65, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0xac, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x48, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v2_hds_proto_rawDescOnce sync.Once file_envoy_service_discovery_v2_hds_proto_rawDescData = file_envoy_service_discovery_v2_hds_proto_rawDesc ) func file_envoy_service_discovery_v2_hds_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v2_hds_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v2_hds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v2_hds_proto_rawDescData) }) return file_envoy_service_discovery_v2_hds_proto_rawDescData } var file_envoy_service_discovery_v2_hds_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_service_discovery_v2_hds_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_service_discovery_v2_hds_proto_goTypes = []interface{}{ (Capability_Protocol)(0), // 0: envoy.service.discovery.v2.Capability.Protocol (*Capability)(nil), // 1: envoy.service.discovery.v2.Capability (*HealthCheckRequest)(nil), // 2: envoy.service.discovery.v2.HealthCheckRequest (*EndpointHealth)(nil), // 3: envoy.service.discovery.v2.EndpointHealth (*EndpointHealthResponse)(nil), // 4: envoy.service.discovery.v2.EndpointHealthResponse (*HealthCheckRequestOrEndpointHealthResponse)(nil), // 5: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse (*LocalityEndpoints)(nil), // 6: envoy.service.discovery.v2.LocalityEndpoints (*ClusterHealthCheck)(nil), // 7: envoy.service.discovery.v2.ClusterHealthCheck (*HealthCheckSpecifier)(nil), // 8: envoy.service.discovery.v2.HealthCheckSpecifier (*core.Node)(nil), // 9: envoy.api.v2.core.Node (*endpoint.Endpoint)(nil), // 10: envoy.api.v2.endpoint.Endpoint (core.HealthStatus)(0), // 11: envoy.api.v2.core.HealthStatus (*core.Locality)(nil), // 12: envoy.api.v2.core.Locality (*core.HealthCheck)(nil), // 13: envoy.api.v2.core.HealthCheck (*duration.Duration)(nil), // 14: google.protobuf.Duration } var file_envoy_service_discovery_v2_hds_proto_depIdxs = []int32{ 0, // 0: envoy.service.discovery.v2.Capability.health_check_protocols:type_name -> envoy.service.discovery.v2.Capability.Protocol 9, // 1: envoy.service.discovery.v2.HealthCheckRequest.node:type_name -> envoy.api.v2.core.Node 1, // 2: envoy.service.discovery.v2.HealthCheckRequest.capability:type_name -> envoy.service.discovery.v2.Capability 10, // 3: envoy.service.discovery.v2.EndpointHealth.endpoint:type_name -> envoy.api.v2.endpoint.Endpoint 11, // 4: envoy.service.discovery.v2.EndpointHealth.health_status:type_name -> envoy.api.v2.core.HealthStatus 3, // 5: envoy.service.discovery.v2.EndpointHealthResponse.endpoints_health:type_name -> envoy.service.discovery.v2.EndpointHealth 2, // 6: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse.health_check_request:type_name -> envoy.service.discovery.v2.HealthCheckRequest 4, // 7: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse.endpoint_health_response:type_name -> envoy.service.discovery.v2.EndpointHealthResponse 12, // 8: envoy.service.discovery.v2.LocalityEndpoints.locality:type_name -> envoy.api.v2.core.Locality 10, // 9: envoy.service.discovery.v2.LocalityEndpoints.endpoints:type_name -> envoy.api.v2.endpoint.Endpoint 13, // 10: envoy.service.discovery.v2.ClusterHealthCheck.health_checks:type_name -> envoy.api.v2.core.HealthCheck 6, // 11: envoy.service.discovery.v2.ClusterHealthCheck.locality_endpoints:type_name -> envoy.service.discovery.v2.LocalityEndpoints 7, // 12: envoy.service.discovery.v2.HealthCheckSpecifier.cluster_health_checks:type_name -> envoy.service.discovery.v2.ClusterHealthCheck 14, // 13: envoy.service.discovery.v2.HealthCheckSpecifier.interval:type_name -> google.protobuf.Duration 5, // 14: envoy.service.discovery.v2.HealthDiscoveryService.StreamHealthCheck:input_type -> envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse 5, // 15: envoy.service.discovery.v2.HealthDiscoveryService.FetchHealthCheck:input_type -> envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse 8, // 16: envoy.service.discovery.v2.HealthDiscoveryService.StreamHealthCheck:output_type -> envoy.service.discovery.v2.HealthCheckSpecifier 8, // 17: envoy.service.discovery.v2.HealthDiscoveryService.FetchHealthCheck:output_type -> envoy.service.discovery.v2.HealthCheckSpecifier 16, // [16:18] is the sub-list for method output_type 14, // [14:16] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v2_hds_proto_init() } func file_envoy_service_discovery_v2_hds_proto_init() { if File_envoy_service_discovery_v2_hds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v2_hds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Capability); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointHealth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointHealthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckRequestOrEndpointHealthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityEndpoints); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_hds_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_discovery_v2_hds_proto_msgTypes[4].OneofWrappers = []interface{}{ (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest)(nil), (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v2_hds_proto_rawDesc, NumEnums: 1, NumMessages: 8, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_discovery_v2_hds_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v2_hds_proto_depIdxs, EnumInfos: file_envoy_service_discovery_v2_hds_proto_enumTypes, MessageInfos: file_envoy_service_discovery_v2_hds_proto_msgTypes, }.Build() File_envoy_service_discovery_v2_hds_proto = out.File file_envoy_service_discovery_v2_hds_proto_rawDesc = nil file_envoy_service_discovery_v2_hds_proto_goTypes = nil file_envoy_service_discovery_v2_hds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // HealthDiscoveryServiceClient is the client API for HealthDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type HealthDiscoveryServiceClient interface { // 1. Envoy starts up and if its can_healthcheck option in the static // bootstrap config is enabled, sends HealthCheckRequest to the management // server. It supplies its capabilities (which protocol it can health check // with, what zone it resides in, etc.). // 2. In response to (1), the management server designates this Envoy as a // healthchecker to health check a subset of all upstream hosts for a given // cluster (for example upstream Host 1 and Host 2). It streams // HealthCheckSpecifier messages with cluster related configuration for all // clusters this Envoy is designated to health check. Subsequent // HealthCheckSpecifier message will be sent on changes to: // a. Endpoints to health checks // b. Per cluster configuration change // 3. Envoy creates a health probe based on the HealthCheck config and sends // it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck // configuration Envoy waits upon the arrival of the probe response and // looks at the content of the response to decide whether the endpoint is // healthy or not. If a response hasn't been received within the timeout // interval, the endpoint health status is considered TIMEOUT. // 4. Envoy reports results back in an EndpointHealthResponse message. // Envoy streams responses as often as the interval configured by the // management server in HealthCheckSpecifier. // 5. The management Server collects health statuses for all endpoints in the // cluster (for all clusters) and uses this information to construct // EndpointDiscoveryResponse messages. // 6. Once Envoy has a list of upstream endpoints to send traffic to, it load // balances traffic to them without additional health checking. It may // use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection // failed to a particular endpoint to account for health status propagation // delay between HDS and EDS). // // By default, can_healthcheck is true. If can_healthcheck is false, Cluster // configuration may not contain HealthCheck message. // TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above // invariant? // TODO(htuch): Add @amb67's diagram. StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) // TODO(htuch): Unlike the gRPC version, there is no stream-based binding of // request/response. Should we add an identifier to the HealthCheckSpecifier // to bind with the response? FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) } type healthDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewHealthDiscoveryServiceClient(cc grpc.ClientConnInterface) HealthDiscoveryServiceClient { return &healthDiscoveryServiceClient{cc} } func (c *healthDiscoveryServiceClient) StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) { stream, err := c.cc.NewStream(ctx, &_HealthDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v2.HealthDiscoveryService/StreamHealthCheck", opts...) if err != nil { return nil, err } x := &healthDiscoveryServiceStreamHealthCheckClient{stream} return x, nil } type HealthDiscoveryService_StreamHealthCheckClient interface { Send(*HealthCheckRequestOrEndpointHealthResponse) error Recv() (*HealthCheckSpecifier, error) grpc.ClientStream } type healthDiscoveryServiceStreamHealthCheckClient struct { grpc.ClientStream } func (x *healthDiscoveryServiceStreamHealthCheckClient) Send(m *HealthCheckRequestOrEndpointHealthResponse) error { return x.ClientStream.SendMsg(m) } func (x *healthDiscoveryServiceStreamHealthCheckClient) Recv() (*HealthCheckSpecifier, error) { m := new(HealthCheckSpecifier) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *healthDiscoveryServiceClient) FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) { out := new(HealthCheckSpecifier) err := c.cc.Invoke(ctx, "/envoy.service.discovery.v2.HealthDiscoveryService/FetchHealthCheck", in, out, opts...) if err != nil { return nil, err } return out, nil } // HealthDiscoveryServiceServer is the server API for HealthDiscoveryService service. type HealthDiscoveryServiceServer interface { // 1. Envoy starts up and if its can_healthcheck option in the static // bootstrap config is enabled, sends HealthCheckRequest to the management // server. It supplies its capabilities (which protocol it can health check // with, what zone it resides in, etc.). // 2. In response to (1), the management server designates this Envoy as a // healthchecker to health check a subset of all upstream hosts for a given // cluster (for example upstream Host 1 and Host 2). It streams // HealthCheckSpecifier messages with cluster related configuration for all // clusters this Envoy is designated to health check. Subsequent // HealthCheckSpecifier message will be sent on changes to: // a. Endpoints to health checks // b. Per cluster configuration change // 3. Envoy creates a health probe based on the HealthCheck config and sends // it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck // configuration Envoy waits upon the arrival of the probe response and // looks at the content of the response to decide whether the endpoint is // healthy or not. If a response hasn't been received within the timeout // interval, the endpoint health status is considered TIMEOUT. // 4. Envoy reports results back in an EndpointHealthResponse message. // Envoy streams responses as often as the interval configured by the // management server in HealthCheckSpecifier. // 5. The management Server collects health statuses for all endpoints in the // cluster (for all clusters) and uses this information to construct // EndpointDiscoveryResponse messages. // 6. Once Envoy has a list of upstream endpoints to send traffic to, it load // balances traffic to them without additional health checking. It may // use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection // failed to a particular endpoint to account for health status propagation // delay between HDS and EDS). // // By default, can_healthcheck is true. If can_healthcheck is false, Cluster // configuration may not contain HealthCheck message. // TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above // invariant? // TODO(htuch): Add @amb67's diagram. StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error // TODO(htuch): Unlike the gRPC version, there is no stream-based binding of // request/response. Should we add an identifier to the HealthCheckSpecifier // to bind with the response? FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) } // UnimplementedHealthDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedHealthDiscoveryServiceServer struct { } func (*UnimplementedHealthDiscoveryServiceServer) StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error { return status.Errorf(codes.Unimplemented, "method StreamHealthCheck not implemented") } func (*UnimplementedHealthDiscoveryServiceServer) FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchHealthCheck not implemented") } func RegisterHealthDiscoveryServiceServer(s *grpc.Server, srv HealthDiscoveryServiceServer) { s.RegisterService(&_HealthDiscoveryService_serviceDesc, srv) } func _HealthDiscoveryService_StreamHealthCheck_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(HealthDiscoveryServiceServer).StreamHealthCheck(&healthDiscoveryServiceStreamHealthCheckServer{stream}) } type HealthDiscoveryService_StreamHealthCheckServer interface { Send(*HealthCheckSpecifier) error Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) grpc.ServerStream } type healthDiscoveryServiceStreamHealthCheckServer struct { grpc.ServerStream } func (x *healthDiscoveryServiceStreamHealthCheckServer) Send(m *HealthCheckSpecifier) error { return x.ServerStream.SendMsg(m) } func (x *healthDiscoveryServiceStreamHealthCheckServer) Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) { m := new(HealthCheckRequestOrEndpointHealthResponse) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _HealthDiscoveryService_FetchHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(HealthCheckRequestOrEndpointHealthResponse) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.discovery.v2.HealthDiscoveryService/FetchHealthCheck", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, req.(*HealthCheckRequestOrEndpointHealthResponse)) } return interceptor(ctx, in, info, handler) } var _HealthDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.discovery.v2.HealthDiscoveryService", HandlerType: (*HealthDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchHealthCheck", Handler: _HealthDiscoveryService_FetchHealthCheck_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamHealthCheck", Handler: _HealthDiscoveryService_StreamHealthCheck_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/discovery/v2/hds.proto", } go-control-plane-0.12.0/envoy/service/discovery/v2/hds.pb.validate.go000077500000000000000000001057331454502223200254200ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v2/hds.proto package discoveryv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = core.HealthStatus(0) ) // Validate checks the field values on Capability with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Capability) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Capability with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CapabilityMultiError, or // nil if none found. func (m *Capability) ValidateAll() error { return m.validate(true) } func (m *Capability) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CapabilityMultiError(errors) } return nil } // CapabilityMultiError is an error wrapping multiple validation errors // returned by Capability.ValidateAll() if the designated constraints aren't met. type CapabilityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CapabilityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CapabilityMultiError) AllErrors() []error { return m } // CapabilityValidationError is the validation error returned by // Capability.Validate if the designated constraints aren't met. type CapabilityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CapabilityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CapabilityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CapabilityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CapabilityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CapabilityValidationError) ErrorName() string { return "CapabilityValidationError" } // Error satisfies the builtin error interface func (e CapabilityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCapability.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CapabilityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CapabilityValidationError{} // Validate checks the field values on HealthCheckRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckRequestMultiError, or nil if none found. func (m *HealthCheckRequest) ValidateAll() error { return m.validate(true) } func (m *HealthCheckRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCapability()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCapability()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HealthCheckRequestMultiError(errors) } return nil } // HealthCheckRequestMultiError is an error wrapping multiple validation errors // returned by HealthCheckRequest.ValidateAll() if the designated constraints // aren't met. type HealthCheckRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckRequestMultiError) AllErrors() []error { return m } // HealthCheckRequestValidationError is the validation error returned by // HealthCheckRequest.Validate if the designated constraints aren't met. type HealthCheckRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckRequestValidationError) ErrorName() string { return "HealthCheckRequestValidationError" } // Error satisfies the builtin error interface func (e HealthCheckRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckRequestValidationError{} // Validate checks the field values on EndpointHealth with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EndpointHealth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointHealth with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EndpointHealthMultiError, // or nil if none found. func (m *EndpointHealth) ValidateAll() error { return m.validate(true) } func (m *EndpointHealth) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HealthStatus if len(errors) > 0 { return EndpointHealthMultiError(errors) } return nil } // EndpointHealthMultiError is an error wrapping multiple validation errors // returned by EndpointHealth.ValidateAll() if the designated constraints // aren't met. type EndpointHealthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointHealthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointHealthMultiError) AllErrors() []error { return m } // EndpointHealthValidationError is the validation error returned by // EndpointHealth.Validate if the designated constraints aren't met. type EndpointHealthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointHealthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointHealthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointHealthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointHealthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointHealthValidationError) ErrorName() string { return "EndpointHealthValidationError" } // Error satisfies the builtin error interface func (e EndpointHealthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointHealth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointHealthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointHealthValidationError{} // Validate checks the field values on EndpointHealthResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EndpointHealthResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointHealthResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EndpointHealthResponseMultiError, or nil if none found. func (m *EndpointHealthResponse) ValidateAll() error { return m.validate(true) } func (m *EndpointHealthResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetEndpointsHealth() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return EndpointHealthResponseMultiError(errors) } return nil } // EndpointHealthResponseMultiError is an error wrapping multiple validation // errors returned by EndpointHealthResponse.ValidateAll() if the designated // constraints aren't met. type EndpointHealthResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointHealthResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointHealthResponseMultiError) AllErrors() []error { return m } // EndpointHealthResponseValidationError is the validation error returned by // EndpointHealthResponse.Validate if the designated constraints aren't met. type EndpointHealthResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointHealthResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointHealthResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointHealthResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointHealthResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointHealthResponseValidationError) ErrorName() string { return "EndpointHealthResponseValidationError" } // Error satisfies the builtin error interface func (e EndpointHealthResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointHealthResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointHealthResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointHealthResponseValidationError{} // Validate checks the field values on // HealthCheckRequestOrEndpointHealthResponse with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheckRequestOrEndpointHealthResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HealthCheckRequestOrEndpointHealthResponse with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HealthCheckRequestOrEndpointHealthResponseMultiError, or nil if none found. func (m *HealthCheckRequestOrEndpointHealthResponse) ValidateAll() error { return m.validate(true) } func (m *HealthCheckRequestOrEndpointHealthResponse) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.RequestType.(type) { case *HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest: if v == nil { err := HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "RequestType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHealthCheckRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse: if v == nil { err := HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "RequestType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpointHealthResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointHealthResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HealthCheckRequestOrEndpointHealthResponseMultiError(errors) } return nil } // HealthCheckRequestOrEndpointHealthResponseMultiError is an error wrapping // multiple validation errors returned by // HealthCheckRequestOrEndpointHealthResponse.ValidateAll() if the designated // constraints aren't met. type HealthCheckRequestOrEndpointHealthResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckRequestOrEndpointHealthResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckRequestOrEndpointHealthResponseMultiError) AllErrors() []error { return m } // HealthCheckRequestOrEndpointHealthResponseValidationError is the validation // error returned by HealthCheckRequestOrEndpointHealthResponse.Validate if // the designated constraints aren't met. type HealthCheckRequestOrEndpointHealthResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) ErrorName() string { return "HealthCheckRequestOrEndpointHealthResponseValidationError" } // Error satisfies the builtin error interface func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckRequestOrEndpointHealthResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckRequestOrEndpointHealthResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckRequestOrEndpointHealthResponseValidationError{} // Validate checks the field values on LocalityEndpoints with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LocalityEndpoints) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityEndpointsMultiError, or nil if none found. func (m *LocalityEndpoints) ValidateAll() error { return m.validate(true) } func (m *LocalityEndpoints) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LocalityEndpointsMultiError(errors) } return nil } // LocalityEndpointsMultiError is an error wrapping multiple validation errors // returned by LocalityEndpoints.ValidateAll() if the designated constraints // aren't met. type LocalityEndpointsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityEndpointsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityEndpointsMultiError) AllErrors() []error { return m } // LocalityEndpointsValidationError is the validation error returned by // LocalityEndpoints.Validate if the designated constraints aren't met. type LocalityEndpointsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityEndpointsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityEndpointsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityEndpointsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityEndpointsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityEndpointsValidationError) ErrorName() string { return "LocalityEndpointsValidationError" } // Error satisfies the builtin error interface func (e LocalityEndpointsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityEndpoints.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityEndpointsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityEndpointsValidationError{} // Validate checks the field values on ClusterHealthCheck with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterHealthCheck with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterHealthCheckMultiError, or nil if none found. func (m *ClusterHealthCheck) ValidateAll() error { return m.validate(true) } func (m *ClusterHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ClusterName for idx, item := range m.GetHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetLocalityEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClusterHealthCheckMultiError(errors) } return nil } // ClusterHealthCheckMultiError is an error wrapping multiple validation errors // returned by ClusterHealthCheck.ValidateAll() if the designated constraints // aren't met. type ClusterHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterHealthCheckMultiError) AllErrors() []error { return m } // ClusterHealthCheckValidationError is the validation error returned by // ClusterHealthCheck.Validate if the designated constraints aren't met. type ClusterHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterHealthCheckValidationError) ErrorName() string { return "ClusterHealthCheckValidationError" } // Error satisfies the builtin error interface func (e ClusterHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterHealthCheckValidationError{} // Validate checks the field values on HealthCheckSpecifier with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckSpecifier with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckSpecifierMultiError, or nil if none found. func (m *HealthCheckSpecifier) ValidateAll() error { return m.validate(true) } func (m *HealthCheckSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetClusterHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HealthCheckSpecifierMultiError(errors) } return nil } // HealthCheckSpecifierMultiError is an error wrapping multiple validation // errors returned by HealthCheckSpecifier.ValidateAll() if the designated // constraints aren't met. type HealthCheckSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckSpecifierMultiError) AllErrors() []error { return m } // HealthCheckSpecifierValidationError is the validation error returned by // HealthCheckSpecifier.Validate if the designated constraints aren't met. type HealthCheckSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckSpecifierValidationError) ErrorName() string { return "HealthCheckSpecifierValidationError" } // Error satisfies the builtin error interface func (e HealthCheckSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckSpecifierValidationError{} go-control-plane-0.12.0/envoy/service/discovery/v2/rtds.pb.go000077500000000000000000000515531454502223200240260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v2/rtds.proto package discoveryv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type RtdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RtdsDummy) Reset() { *x = RtdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_rtds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RtdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RtdsDummy) ProtoMessage() {} func (x *RtdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_rtds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RtdsDummy.ProtoReflect.Descriptor instead. func (*RtdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_rtds_proto_rawDescGZIP(), []int{0} } // RTDS resource type. This describes a layer in the runtime virtual filesystem. type Runtime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime resource name. This makes the Runtime a self-describing xDS // resource. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Layer *_struct.Struct `protobuf:"bytes,2,opt,name=layer,proto3" json:"layer,omitempty"` } func (x *Runtime) Reset() { *x = Runtime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_rtds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runtime) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runtime) ProtoMessage() {} func (x *Runtime) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_rtds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Runtime.ProtoReflect.Descriptor instead. func (*Runtime) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_rtds_proto_rawDescGZIP(), []int{1} } func (x *Runtime) GetName() string { if x != nil { return x.Name } return "" } func (x *Runtime) GetLayer() *_struct.Struct { if x != nil { return x.Layer } return nil } var File_envoy_service_discovery_v2_rtds_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v2_rtds_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x74, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x74, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x55, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x32, 0xf1, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5f, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x2a, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0xae, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x1a, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x74, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v2_rtds_proto_rawDescOnce sync.Once file_envoy_service_discovery_v2_rtds_proto_rawDescData = file_envoy_service_discovery_v2_rtds_proto_rawDesc ) func file_envoy_service_discovery_v2_rtds_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v2_rtds_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v2_rtds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v2_rtds_proto_rawDescData) }) return file_envoy_service_discovery_v2_rtds_proto_rawDescData } var file_envoy_service_discovery_v2_rtds_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_service_discovery_v2_rtds_proto_goTypes = []interface{}{ (*RtdsDummy)(nil), // 0: envoy.service.discovery.v2.RtdsDummy (*Runtime)(nil), // 1: envoy.service.discovery.v2.Runtime (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*v2.DiscoveryRequest)(nil), // 3: envoy.api.v2.DiscoveryRequest (*v2.DeltaDiscoveryRequest)(nil), // 4: envoy.api.v2.DeltaDiscoveryRequest (*v2.DiscoveryResponse)(nil), // 5: envoy.api.v2.DiscoveryResponse (*v2.DeltaDiscoveryResponse)(nil), // 6: envoy.api.v2.DeltaDiscoveryResponse } var file_envoy_service_discovery_v2_rtds_proto_depIdxs = []int32{ 2, // 0: envoy.service.discovery.v2.Runtime.layer:type_name -> google.protobuf.Struct 3, // 1: envoy.service.discovery.v2.RuntimeDiscoveryService.StreamRuntime:input_type -> envoy.api.v2.DiscoveryRequest 4, // 2: envoy.service.discovery.v2.RuntimeDiscoveryService.DeltaRuntime:input_type -> envoy.api.v2.DeltaDiscoveryRequest 3, // 3: envoy.service.discovery.v2.RuntimeDiscoveryService.FetchRuntime:input_type -> envoy.api.v2.DiscoveryRequest 5, // 4: envoy.service.discovery.v2.RuntimeDiscoveryService.StreamRuntime:output_type -> envoy.api.v2.DiscoveryResponse 6, // 5: envoy.service.discovery.v2.RuntimeDiscoveryService.DeltaRuntime:output_type -> envoy.api.v2.DeltaDiscoveryResponse 5, // 6: envoy.service.discovery.v2.RuntimeDiscoveryService.FetchRuntime:output_type -> envoy.api.v2.DiscoveryResponse 4, // [4:7] is the sub-list for method output_type 1, // [1:4] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v2_rtds_proto_init() } func file_envoy_service_discovery_v2_rtds_proto_init() { if File_envoy_service_discovery_v2_rtds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v2_rtds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RtdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v2_rtds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runtime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v2_rtds_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_discovery_v2_rtds_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v2_rtds_proto_depIdxs, MessageInfos: file_envoy_service_discovery_v2_rtds_proto_msgTypes, }.Build() File_envoy_service_discovery_v2_rtds_proto = out.File file_envoy_service_discovery_v2_rtds_proto_rawDesc = nil file_envoy_service_discovery_v2_rtds_proto_goTypes = nil file_envoy_service_discovery_v2_rtds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RuntimeDiscoveryServiceClient is the client API for RuntimeDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RuntimeDiscoveryServiceClient interface { StreamRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_StreamRuntimeClient, error) DeltaRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_DeltaRuntimeClient, error) FetchRuntime(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) } type runtimeDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewRuntimeDiscoveryServiceClient(cc grpc.ClientConnInterface) RuntimeDiscoveryServiceClient { return &runtimeDiscoveryServiceClient{cc} } func (c *runtimeDiscoveryServiceClient) StreamRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_StreamRuntimeClient, error) { stream, err := c.cc.NewStream(ctx, &_RuntimeDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v2.RuntimeDiscoveryService/StreamRuntime", opts...) if err != nil { return nil, err } x := &runtimeDiscoveryServiceStreamRuntimeClient{stream} return x, nil } type RuntimeDiscoveryService_StreamRuntimeClient interface { Send(*v2.DiscoveryRequest) error Recv() (*v2.DiscoveryResponse, error) grpc.ClientStream } type runtimeDiscoveryServiceStreamRuntimeClient struct { grpc.ClientStream } func (x *runtimeDiscoveryServiceStreamRuntimeClient) Send(m *v2.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *runtimeDiscoveryServiceStreamRuntimeClient) Recv() (*v2.DiscoveryResponse, error) { m := new(v2.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *runtimeDiscoveryServiceClient) DeltaRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_DeltaRuntimeClient, error) { stream, err := c.cc.NewStream(ctx, &_RuntimeDiscoveryService_serviceDesc.Streams[1], "/envoy.service.discovery.v2.RuntimeDiscoveryService/DeltaRuntime", opts...) if err != nil { return nil, err } x := &runtimeDiscoveryServiceDeltaRuntimeClient{stream} return x, nil } type RuntimeDiscoveryService_DeltaRuntimeClient interface { Send(*v2.DeltaDiscoveryRequest) error Recv() (*v2.DeltaDiscoveryResponse, error) grpc.ClientStream } type runtimeDiscoveryServiceDeltaRuntimeClient struct { grpc.ClientStream } func (x *runtimeDiscoveryServiceDeltaRuntimeClient) Send(m *v2.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *runtimeDiscoveryServiceDeltaRuntimeClient) Recv() (*v2.DeltaDiscoveryResponse, error) { m := new(v2.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *runtimeDiscoveryServiceClient) FetchRuntime(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) { out := new(v2.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.discovery.v2.RuntimeDiscoveryService/FetchRuntime", in, out, opts...) if err != nil { return nil, err } return out, nil } // RuntimeDiscoveryServiceServer is the server API for RuntimeDiscoveryService service. type RuntimeDiscoveryServiceServer interface { StreamRuntime(RuntimeDiscoveryService_StreamRuntimeServer) error DeltaRuntime(RuntimeDiscoveryService_DeltaRuntimeServer) error FetchRuntime(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) } // UnimplementedRuntimeDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedRuntimeDiscoveryServiceServer struct { } func (*UnimplementedRuntimeDiscoveryServiceServer) StreamRuntime(RuntimeDiscoveryService_StreamRuntimeServer) error { return status.Errorf(codes.Unimplemented, "method StreamRuntime not implemented") } func (*UnimplementedRuntimeDiscoveryServiceServer) DeltaRuntime(RuntimeDiscoveryService_DeltaRuntimeServer) error { return status.Errorf(codes.Unimplemented, "method DeltaRuntime not implemented") } func (*UnimplementedRuntimeDiscoveryServiceServer) FetchRuntime(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchRuntime not implemented") } func RegisterRuntimeDiscoveryServiceServer(s *grpc.Server, srv RuntimeDiscoveryServiceServer) { s.RegisterService(&_RuntimeDiscoveryService_serviceDesc, srv) } func _RuntimeDiscoveryService_StreamRuntime_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RuntimeDiscoveryServiceServer).StreamRuntime(&runtimeDiscoveryServiceStreamRuntimeServer{stream}) } type RuntimeDiscoveryService_StreamRuntimeServer interface { Send(*v2.DiscoveryResponse) error Recv() (*v2.DiscoveryRequest, error) grpc.ServerStream } type runtimeDiscoveryServiceStreamRuntimeServer struct { grpc.ServerStream } func (x *runtimeDiscoveryServiceStreamRuntimeServer) Send(m *v2.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *runtimeDiscoveryServiceStreamRuntimeServer) Recv() (*v2.DiscoveryRequest, error) { m := new(v2.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RuntimeDiscoveryService_DeltaRuntime_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RuntimeDiscoveryServiceServer).DeltaRuntime(&runtimeDiscoveryServiceDeltaRuntimeServer{stream}) } type RuntimeDiscoveryService_DeltaRuntimeServer interface { Send(*v2.DeltaDiscoveryResponse) error Recv() (*v2.DeltaDiscoveryRequest, error) grpc.ServerStream } type runtimeDiscoveryServiceDeltaRuntimeServer struct { grpc.ServerStream } func (x *runtimeDiscoveryServiceDeltaRuntimeServer) Send(m *v2.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *runtimeDiscoveryServiceDeltaRuntimeServer) Recv() (*v2.DeltaDiscoveryRequest, error) { m := new(v2.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RuntimeDiscoveryService_FetchRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v2.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RuntimeDiscoveryServiceServer).FetchRuntime(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.discovery.v2.RuntimeDiscoveryService/FetchRuntime", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RuntimeDiscoveryServiceServer).FetchRuntime(ctx, req.(*v2.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _RuntimeDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.discovery.v2.RuntimeDiscoveryService", HandlerType: (*RuntimeDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchRuntime", Handler: _RuntimeDiscoveryService_FetchRuntime_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamRuntime", Handler: _RuntimeDiscoveryService_StreamRuntime_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaRuntime", Handler: _RuntimeDiscoveryService_DeltaRuntime_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/discovery/v2/rtds.proto", } go-control-plane-0.12.0/envoy/service/discovery/v2/rtds.pb.validate.go000077500000000000000000000151171454502223200256120ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v2/rtds.proto package discoveryv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RtdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RtdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RtdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RtdsDummyMultiError, or nil // if none found. func (m *RtdsDummy) ValidateAll() error { return m.validate(true) } func (m *RtdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RtdsDummyMultiError(errors) } return nil } // RtdsDummyMultiError is an error wrapping multiple validation errors returned // by RtdsDummy.ValidateAll() if the designated constraints aren't met. type RtdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RtdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RtdsDummyMultiError) AllErrors() []error { return m } // RtdsDummyValidationError is the validation error returned by // RtdsDummy.Validate if the designated constraints aren't met. type RtdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RtdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RtdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RtdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RtdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RtdsDummyValidationError) ErrorName() string { return "RtdsDummyValidationError" } // Error satisfies the builtin error interface func (e RtdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRtdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RtdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RtdsDummyValidationError{} // Validate checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Runtime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RuntimeMultiError, or nil if none found. func (m *Runtime) ValidateAll() error { return m.validate(true) } func (m *Runtime) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := RuntimeValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeMultiError(errors) } return nil } // RuntimeMultiError is an error wrapping multiple validation errors returned // by Runtime.ValidateAll() if the designated constraints aren't met. type RuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeMultiError) AllErrors() []error { return m } // RuntimeValidationError is the validation error returned by Runtime.Validate // if the designated constraints aren't met. type RuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeValidationError) ErrorName() string { return "RuntimeValidationError" } // Error satisfies the builtin error interface func (e RuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeValidationError{} go-control-plane-0.12.0/envoy/service/discovery/v2/sds.pb.go000077500000000000000000000433531454502223200236420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v2/sds.proto package discoveryv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type SdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SdsDummy) Reset() { *x = SdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v2_sds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SdsDummy) ProtoMessage() {} func (x *SdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v2_sds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SdsDummy.ProtoReflect.Descriptor instead. func (*SdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v2_sds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_discovery_v2_sds_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v2_sds_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x53, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xe6, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0x20, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x1a, 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0xac, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x53, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v2_sds_proto_rawDescOnce sync.Once file_envoy_service_discovery_v2_sds_proto_rawDescData = file_envoy_service_discovery_v2_sds_proto_rawDesc ) func file_envoy_service_discovery_v2_sds_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v2_sds_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v2_sds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v2_sds_proto_rawDescData) }) return file_envoy_service_discovery_v2_sds_proto_rawDescData } var file_envoy_service_discovery_v2_sds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_discovery_v2_sds_proto_goTypes = []interface{}{ (*SdsDummy)(nil), // 0: envoy.service.discovery.v2.SdsDummy (*v2.DeltaDiscoveryRequest)(nil), // 1: envoy.api.v2.DeltaDiscoveryRequest (*v2.DiscoveryRequest)(nil), // 2: envoy.api.v2.DiscoveryRequest (*v2.DeltaDiscoveryResponse)(nil), // 3: envoy.api.v2.DeltaDiscoveryResponse (*v2.DiscoveryResponse)(nil), // 4: envoy.api.v2.DiscoveryResponse } var file_envoy_service_discovery_v2_sds_proto_depIdxs = []int32{ 1, // 0: envoy.service.discovery.v2.SecretDiscoveryService.DeltaSecrets:input_type -> envoy.api.v2.DeltaDiscoveryRequest 2, // 1: envoy.service.discovery.v2.SecretDiscoveryService.StreamSecrets:input_type -> envoy.api.v2.DiscoveryRequest 2, // 2: envoy.service.discovery.v2.SecretDiscoveryService.FetchSecrets:input_type -> envoy.api.v2.DiscoveryRequest 3, // 3: envoy.service.discovery.v2.SecretDiscoveryService.DeltaSecrets:output_type -> envoy.api.v2.DeltaDiscoveryResponse 4, // 4: envoy.service.discovery.v2.SecretDiscoveryService.StreamSecrets:output_type -> envoy.api.v2.DiscoveryResponse 4, // 5: envoy.service.discovery.v2.SecretDiscoveryService.FetchSecrets:output_type -> envoy.api.v2.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v2_sds_proto_init() } func file_envoy_service_discovery_v2_sds_proto_init() { if File_envoy_service_discovery_v2_sds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v2_sds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v2_sds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_discovery_v2_sds_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v2_sds_proto_depIdxs, MessageInfos: file_envoy_service_discovery_v2_sds_proto_msgTypes, }.Build() File_envoy_service_discovery_v2_sds_proto = out.File file_envoy_service_discovery_v2_sds_proto_rawDesc = nil file_envoy_service_discovery_v2_sds_proto_goTypes = nil file_envoy_service_discovery_v2_sds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // SecretDiscoveryServiceClient is the client API for SecretDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type SecretDiscoveryServiceClient interface { DeltaSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_DeltaSecretsClient, error) StreamSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_StreamSecretsClient, error) FetchSecrets(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) } type secretDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewSecretDiscoveryServiceClient(cc grpc.ClientConnInterface) SecretDiscoveryServiceClient { return &secretDiscoveryServiceClient{cc} } func (c *secretDiscoveryServiceClient) DeltaSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_DeltaSecretsClient, error) { stream, err := c.cc.NewStream(ctx, &_SecretDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v2.SecretDiscoveryService/DeltaSecrets", opts...) if err != nil { return nil, err } x := &secretDiscoveryServiceDeltaSecretsClient{stream} return x, nil } type SecretDiscoveryService_DeltaSecretsClient interface { Send(*v2.DeltaDiscoveryRequest) error Recv() (*v2.DeltaDiscoveryResponse, error) grpc.ClientStream } type secretDiscoveryServiceDeltaSecretsClient struct { grpc.ClientStream } func (x *secretDiscoveryServiceDeltaSecretsClient) Send(m *v2.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *secretDiscoveryServiceDeltaSecretsClient) Recv() (*v2.DeltaDiscoveryResponse, error) { m := new(v2.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *secretDiscoveryServiceClient) StreamSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_StreamSecretsClient, error) { stream, err := c.cc.NewStream(ctx, &_SecretDiscoveryService_serviceDesc.Streams[1], "/envoy.service.discovery.v2.SecretDiscoveryService/StreamSecrets", opts...) if err != nil { return nil, err } x := &secretDiscoveryServiceStreamSecretsClient{stream} return x, nil } type SecretDiscoveryService_StreamSecretsClient interface { Send(*v2.DiscoveryRequest) error Recv() (*v2.DiscoveryResponse, error) grpc.ClientStream } type secretDiscoveryServiceStreamSecretsClient struct { grpc.ClientStream } func (x *secretDiscoveryServiceStreamSecretsClient) Send(m *v2.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *secretDiscoveryServiceStreamSecretsClient) Recv() (*v2.DiscoveryResponse, error) { m := new(v2.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *secretDiscoveryServiceClient) FetchSecrets(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) { out := new(v2.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.discovery.v2.SecretDiscoveryService/FetchSecrets", in, out, opts...) if err != nil { return nil, err } return out, nil } // SecretDiscoveryServiceServer is the server API for SecretDiscoveryService service. type SecretDiscoveryServiceServer interface { DeltaSecrets(SecretDiscoveryService_DeltaSecretsServer) error StreamSecrets(SecretDiscoveryService_StreamSecretsServer) error FetchSecrets(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) } // UnimplementedSecretDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedSecretDiscoveryServiceServer struct { } func (*UnimplementedSecretDiscoveryServiceServer) DeltaSecrets(SecretDiscoveryService_DeltaSecretsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaSecrets not implemented") } func (*UnimplementedSecretDiscoveryServiceServer) StreamSecrets(SecretDiscoveryService_StreamSecretsServer) error { return status.Errorf(codes.Unimplemented, "method StreamSecrets not implemented") } func (*UnimplementedSecretDiscoveryServiceServer) FetchSecrets(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchSecrets not implemented") } func RegisterSecretDiscoveryServiceServer(s *grpc.Server, srv SecretDiscoveryServiceServer) { s.RegisterService(&_SecretDiscoveryService_serviceDesc, srv) } func _SecretDiscoveryService_DeltaSecrets_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(SecretDiscoveryServiceServer).DeltaSecrets(&secretDiscoveryServiceDeltaSecretsServer{stream}) } type SecretDiscoveryService_DeltaSecretsServer interface { Send(*v2.DeltaDiscoveryResponse) error Recv() (*v2.DeltaDiscoveryRequest, error) grpc.ServerStream } type secretDiscoveryServiceDeltaSecretsServer struct { grpc.ServerStream } func (x *secretDiscoveryServiceDeltaSecretsServer) Send(m *v2.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *secretDiscoveryServiceDeltaSecretsServer) Recv() (*v2.DeltaDiscoveryRequest, error) { m := new(v2.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _SecretDiscoveryService_StreamSecrets_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(SecretDiscoveryServiceServer).StreamSecrets(&secretDiscoveryServiceStreamSecretsServer{stream}) } type SecretDiscoveryService_StreamSecretsServer interface { Send(*v2.DiscoveryResponse) error Recv() (*v2.DiscoveryRequest, error) grpc.ServerStream } type secretDiscoveryServiceStreamSecretsServer struct { grpc.ServerStream } func (x *secretDiscoveryServiceStreamSecretsServer) Send(m *v2.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *secretDiscoveryServiceStreamSecretsServer) Recv() (*v2.DiscoveryRequest, error) { m := new(v2.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _SecretDiscoveryService_FetchSecrets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v2.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(SecretDiscoveryServiceServer).FetchSecrets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.discovery.v2.SecretDiscoveryService/FetchSecrets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SecretDiscoveryServiceServer).FetchSecrets(ctx, req.(*v2.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _SecretDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.discovery.v2.SecretDiscoveryService", HandlerType: (*SecretDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchSecrets", Handler: _SecretDiscoveryService_FetchSecrets_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "DeltaSecrets", Handler: _SecretDiscoveryService_DeltaSecrets_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "StreamSecrets", Handler: _SecretDiscoveryService_StreamSecrets_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/discovery/v2/sds.proto", } go-control-plane-0.12.0/envoy/service/discovery/v2/sds.pb.validate.go000077500000000000000000000061311454502223200254230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v2/sds.proto package discoveryv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SdsDummyMultiError, or nil // if none found. func (m *SdsDummy) ValidateAll() error { return m.validate(true) } func (m *SdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SdsDummyMultiError(errors) } return nil } // SdsDummyMultiError is an error wrapping multiple validation errors returned // by SdsDummy.ValidateAll() if the designated constraints aren't met. type SdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SdsDummyMultiError) AllErrors() []error { return m } // SdsDummyValidationError is the validation error returned by // SdsDummy.Validate if the designated constraints aren't met. type SdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SdsDummyValidationError) ErrorName() string { return "SdsDummyValidationError" } // Error satisfies the builtin error interface func (e SdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/discovery/v3/000077500000000000000000000000001454502223200221105ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/discovery/v3/ads.pb.go000077500000000000000000000403061454502223200236140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v3/ads.proto package discoveryv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type AdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AdsDummy) Reset() { *x = AdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_ads_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdsDummy) ProtoMessage() {} func (x *AdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_ads_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AdsDummy.ProtoReflect.Descriptor instead. func (*AdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_ads_proto_rawDescGZIP(), []int{0} } var File_envoy_service_discovery_v3_ads_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v3_ads_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x08, 0x41, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xa6, 0x02, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x41, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v3_ads_proto_rawDescOnce sync.Once file_envoy_service_discovery_v3_ads_proto_rawDescData = file_envoy_service_discovery_v3_ads_proto_rawDesc ) func file_envoy_service_discovery_v3_ads_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v3_ads_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v3_ads_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v3_ads_proto_rawDescData) }) return file_envoy_service_discovery_v3_ads_proto_rawDescData } var file_envoy_service_discovery_v3_ads_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_discovery_v3_ads_proto_goTypes = []interface{}{ (*AdsDummy)(nil), // 0: envoy.service.discovery.v3.AdsDummy (*DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_discovery_v3_ads_proto_depIdxs = []int32{ 1, // 0: envoy.service.discovery.v3.AggregatedDiscoveryService.StreamAggregatedResources:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.discovery.v3.AggregatedDiscoveryService.DeltaAggregatedResources:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 3, // 2: envoy.service.discovery.v3.AggregatedDiscoveryService.StreamAggregatedResources:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 3: envoy.service.discovery.v3.AggregatedDiscoveryService.DeltaAggregatedResources:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 2, // [2:4] is the sub-list for method output_type 0, // [0:2] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v3_ads_proto_init() } func file_envoy_service_discovery_v3_ads_proto_init() { if File_envoy_service_discovery_v3_ads_proto != nil { return } file_envoy_service_discovery_v3_discovery_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v3_ads_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v3_ads_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_discovery_v3_ads_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v3_ads_proto_depIdxs, MessageInfos: file_envoy_service_discovery_v3_ads_proto_msgTypes, }.Build() File_envoy_service_discovery_v3_ads_proto = out.File file_envoy_service_discovery_v3_ads_proto_rawDesc = nil file_envoy_service_discovery_v3_ads_proto_goTypes = nil file_envoy_service_discovery_v3_ads_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // AggregatedDiscoveryServiceClient is the client API for AggregatedDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type AggregatedDiscoveryServiceClient interface { // This is a gRPC-only API. StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_StreamAggregatedResourcesClient, error) DeltaAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_DeltaAggregatedResourcesClient, error) } type aggregatedDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewAggregatedDiscoveryServiceClient(cc grpc.ClientConnInterface) AggregatedDiscoveryServiceClient { return &aggregatedDiscoveryServiceClient{cc} } func (c *aggregatedDiscoveryServiceClient) StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_StreamAggregatedResourcesClient, error) { stream, err := c.cc.NewStream(ctx, &_AggregatedDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v3.AggregatedDiscoveryService/StreamAggregatedResources", opts...) if err != nil { return nil, err } x := &aggregatedDiscoveryServiceStreamAggregatedResourcesClient{stream} return x, nil } type AggregatedDiscoveryService_StreamAggregatedResourcesClient interface { Send(*DiscoveryRequest) error Recv() (*DiscoveryResponse, error) grpc.ClientStream } type aggregatedDiscoveryServiceStreamAggregatedResourcesClient struct { grpc.ClientStream } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesClient) Send(m *DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesClient) Recv() (*DiscoveryResponse, error) { m := new(DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *aggregatedDiscoveryServiceClient) DeltaAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_DeltaAggregatedResourcesClient, error) { stream, err := c.cc.NewStream(ctx, &_AggregatedDiscoveryService_serviceDesc.Streams[1], "/envoy.service.discovery.v3.AggregatedDiscoveryService/DeltaAggregatedResources", opts...) if err != nil { return nil, err } x := &aggregatedDiscoveryServiceDeltaAggregatedResourcesClient{stream} return x, nil } type AggregatedDiscoveryService_DeltaAggregatedResourcesClient interface { Send(*DeltaDiscoveryRequest) error Recv() (*DeltaDiscoveryResponse, error) grpc.ClientStream } type aggregatedDiscoveryServiceDeltaAggregatedResourcesClient struct { grpc.ClientStream } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesClient) Send(m *DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesClient) Recv() (*DeltaDiscoveryResponse, error) { m := new(DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // AggregatedDiscoveryServiceServer is the server API for AggregatedDiscoveryService service. type AggregatedDiscoveryServiceServer interface { // This is a gRPC-only API. StreamAggregatedResources(AggregatedDiscoveryService_StreamAggregatedResourcesServer) error DeltaAggregatedResources(AggregatedDiscoveryService_DeltaAggregatedResourcesServer) error } // UnimplementedAggregatedDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedAggregatedDiscoveryServiceServer struct { } func (*UnimplementedAggregatedDiscoveryServiceServer) StreamAggregatedResources(AggregatedDiscoveryService_StreamAggregatedResourcesServer) error { return status.Errorf(codes.Unimplemented, "method StreamAggregatedResources not implemented") } func (*UnimplementedAggregatedDiscoveryServiceServer) DeltaAggregatedResources(AggregatedDiscoveryService_DeltaAggregatedResourcesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaAggregatedResources not implemented") } func RegisterAggregatedDiscoveryServiceServer(s *grpc.Server, srv AggregatedDiscoveryServiceServer) { s.RegisterService(&_AggregatedDiscoveryService_serviceDesc, srv) } func _AggregatedDiscoveryService_StreamAggregatedResources_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AggregatedDiscoveryServiceServer).StreamAggregatedResources(&aggregatedDiscoveryServiceStreamAggregatedResourcesServer{stream}) } type AggregatedDiscoveryService_StreamAggregatedResourcesServer interface { Send(*DiscoveryResponse) error Recv() (*DiscoveryRequest, error) grpc.ServerStream } type aggregatedDiscoveryServiceStreamAggregatedResourcesServer struct { grpc.ServerStream } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesServer) Send(m *DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceStreamAggregatedResourcesServer) Recv() (*DiscoveryRequest, error) { m := new(DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _AggregatedDiscoveryService_DeltaAggregatedResources_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(AggregatedDiscoveryServiceServer).DeltaAggregatedResources(&aggregatedDiscoveryServiceDeltaAggregatedResourcesServer{stream}) } type AggregatedDiscoveryService_DeltaAggregatedResourcesServer interface { Send(*DeltaDiscoveryResponse) error Recv() (*DeltaDiscoveryRequest, error) grpc.ServerStream } type aggregatedDiscoveryServiceDeltaAggregatedResourcesServer struct { grpc.ServerStream } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesServer) Send(m *DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *aggregatedDiscoveryServiceDeltaAggregatedResourcesServer) Recv() (*DeltaDiscoveryRequest, error) { m := new(DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _AggregatedDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.discovery.v3.AggregatedDiscoveryService", HandlerType: (*AggregatedDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamAggregatedResources", Handler: _AggregatedDiscoveryService_StreamAggregatedResources_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaAggregatedResources", Handler: _AggregatedDiscoveryService_DeltaAggregatedResources_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/discovery/v3/ads.proto", } go-control-plane-0.12.0/envoy/service/discovery/v3/ads.pb.validate.go000077500000000000000000000061311454502223200254020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v3/ads.proto package discoveryv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *AdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in AdsDummyMultiError, or nil // if none found. func (m *AdsDummy) ValidateAll() error { return m.validate(true) } func (m *AdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return AdsDummyMultiError(errors) } return nil } // AdsDummyMultiError is an error wrapping multiple validation errors returned // by AdsDummy.ValidateAll() if the designated constraints aren't met. type AdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AdsDummyMultiError) AllErrors() []error { return m } // AdsDummyValidationError is the validation error returned by // AdsDummy.Validate if the designated constraints aren't met. type AdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AdsDummyValidationError) ErrorName() string { return "AdsDummyValidationError" } // Error satisfies the builtin error interface func (e AdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/discovery/v3/discovery.pb.go000077500000000000000000002343361454502223200250640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/discovery/v3/discovery.proto package discoveryv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" duration "github.com/golang/protobuf/ptypes/duration" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies a resource to be subscribed to. type ResourceLocator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The resource name to subscribe to. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A set of dynamic parameters used to match against the dynamic parameter // constraints on the resource. This allows clients to select between // multiple variants of the same resource. DynamicParameters map[string]string `protobuf:"bytes,2,rep,name=dynamic_parameters,json=dynamicParameters,proto3" json:"dynamic_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ResourceLocator) Reset() { *x = ResourceLocator{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResourceLocator) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResourceLocator) ProtoMessage() {} func (x *ResourceLocator) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResourceLocator.ProtoReflect.Descriptor instead. func (*ResourceLocator) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{0} } func (x *ResourceLocator) GetName() string { if x != nil { return x.Name } return "" } func (x *ResourceLocator) GetDynamicParameters() map[string]string { if x != nil { return x.DynamicParameters } return nil } // Specifies a concrete resource name. type ResourceName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the resource. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Dynamic parameter constraints associated with this resource. To be used by client-side caches // (including xDS proxies) when matching subscribed resource locators. DynamicParameterConstraints *DynamicParameterConstraints `protobuf:"bytes,2,opt,name=dynamic_parameter_constraints,json=dynamicParameterConstraints,proto3" json:"dynamic_parameter_constraints,omitempty"` } func (x *ResourceName) Reset() { *x = ResourceName{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResourceName) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResourceName) ProtoMessage() {} func (x *ResourceName) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ResourceName.ProtoReflect.Descriptor instead. func (*ResourceName) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{1} } func (x *ResourceName) GetName() string { if x != nil { return x.Name } return "" } func (x *ResourceName) GetDynamicParameterConstraints() *DynamicParameterConstraints { if x != nil { return x.DynamicParameterConstraints } return nil } // A DiscoveryRequest requests a set of versioned resources of the same type for // a given Envoy node on some API. // [#next-free-field: 8] type DiscoveryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version_info provided in the request messages will be the version_info // received with the most recent successfully processed response or empty on // the first request. It is expected that no new request is sent after a // response is received until the Envoy instance is ready to ACK/NACK the new // configuration. ACK/NACK takes place by returning the new API config version // as applied or the previous API config version respectively. Each type_url // (see below) has an independent version associated with it. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The node making the request. Node *v3.Node `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` // List of resources to subscribe to, e.g. list of cluster names or a route // configuration name. If this is empty, all resources for the API are // returned. LDS/CDS may have empty resource_names, which will cause all // resources for the Envoy instance to be returned. The LDS and CDS responses // will then imply a number of resources that need to be fetched via EDS/RDS, // which will be explicitly enumerated in resource_names. ResourceNames []string `protobuf:"bytes,3,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"` // [#not-implemented-hide:] // Alternative to “resource_names“ field that allows specifying dynamic // parameters along with each resource name. Clients that populate this // field must be able to handle responses from the server where resources // are wrapped in a Resource message. // Note that it is legal for a request to have some resources listed // in “resource_names“ and others in “resource_locators“. ResourceLocators []*ResourceLocator `protobuf:"bytes,7,rep,name=resource_locators,json=resourceLocators,proto3" json:"resource_locators,omitempty"` // Type of the resource that is being requested, e.g. // "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit // in requests made via singleton xDS APIs such as CDS, LDS, etc. but is // required for ADS. TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // nonce corresponding to DiscoveryResponse being ACK/NACKed. See above // discussion on version_info and the DiscoveryResponse nonce comment. This // may be empty only if 1) this is a non-persistent-stream xDS such as HTTP, // or 2) the client has not yet accepted an update in this xDS stream (unlike // delta, where it is populated only for new explicit ACKs). ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"` // This is populated when the previous :ref:`DiscoveryResponse ` // failed to update configuration. The “message“ field in “error_details“ provides the Envoy // internal exception related to the failure. It is only intended for consumption during manual // debugging, the string provided is not guaranteed to be stable across Envoy versions. ErrorDetail *status.Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` } func (x *DiscoveryRequest) Reset() { *x = DiscoveryRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiscoveryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiscoveryRequest) ProtoMessage() {} func (x *DiscoveryRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiscoveryRequest.ProtoReflect.Descriptor instead. func (*DiscoveryRequest) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{2} } func (x *DiscoveryRequest) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *DiscoveryRequest) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *DiscoveryRequest) GetResourceNames() []string { if x != nil { return x.ResourceNames } return nil } func (x *DiscoveryRequest) GetResourceLocators() []*ResourceLocator { if x != nil { return x.ResourceLocators } return nil } func (x *DiscoveryRequest) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DiscoveryRequest) GetResponseNonce() string { if x != nil { return x.ResponseNonce } return "" } func (x *DiscoveryRequest) GetErrorDetail() *status.Status { if x != nil { return x.ErrorDetail } return nil } // [#next-free-field: 7] type DiscoveryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version of the response data. VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The response resources. These resources are typed and depend on the API being called. Resources []*any1.Any `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` // [#not-implemented-hide:] // Canary is used to support two Envoy command line flags: // // - --terminate-on-canary-transition-failure. When set, Envoy is able to // terminate if it detects that configuration is stuck at canary. Consider // this example sequence of updates: // - Management server applies a canary config successfully. // - Management server rolls back to a production config. // - Envoy rejects the new production config. // Since there is no sensible way to continue receiving configuration // updates, Envoy will then terminate and apply production config from a // clean slate. // - --dry-run-canary. When set, a canary response will never be applied, only // validated via a dry run. Canary bool `protobuf:"varint,3,opt,name=canary,proto3" json:"canary,omitempty"` // Type URL for resources. Identifies the xDS API when muxing over ADS. // Must be consistent with the type_url in the 'resources' repeated Any (if non-empty). TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // For gRPC based subscriptions, the nonce provides a way to explicitly ack a // specific DiscoveryResponse in a following DiscoveryRequest. Additional // messages may have been sent by Envoy to the management server for the // previous version on the stream prior to this DiscoveryResponse, that were // unprocessed at response send time. The nonce allows the management server // to ignore any further DiscoveryRequests for the previous version until a // DiscoveryRequest bearing the nonce. The nonce is optional and is not // required for non-stream based xDS implementations. Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` // The control plane instance that sent the response. ControlPlane *v3.ControlPlane `protobuf:"bytes,6,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"` } func (x *DiscoveryResponse) Reset() { *x = DiscoveryResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiscoveryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiscoveryResponse) ProtoMessage() {} func (x *DiscoveryResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiscoveryResponse.ProtoReflect.Descriptor instead. func (*DiscoveryResponse) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{3} } func (x *DiscoveryResponse) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *DiscoveryResponse) GetResources() []*any1.Any { if x != nil { return x.Resources } return nil } func (x *DiscoveryResponse) GetCanary() bool { if x != nil { return x.Canary } return false } func (x *DiscoveryResponse) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DiscoveryResponse) GetNonce() string { if x != nil { return x.Nonce } return "" } func (x *DiscoveryResponse) GetControlPlane() *v3.ControlPlane { if x != nil { return x.ControlPlane } return nil } // DeltaDiscoveryRequest and DeltaDiscoveryResponse are used in a new gRPC // endpoint for Delta xDS. // // With Delta xDS, the DeltaDiscoveryResponses do not need to include a full // snapshot of the tracked resources. Instead, DeltaDiscoveryResponses are a // diff to the state of a xDS client. // In Delta XDS there are per-resource versions, which allow tracking state at // the resource granularity. // An xDS Delta session is always in the context of a gRPC bidirectional // stream. This allows the xDS server to keep track of the state of xDS clients // connected to it. // // In Delta xDS the nonce field is required and used to pair // DeltaDiscoveryResponse to a DeltaDiscoveryRequest ACK or NACK. // Optionally, a response message level system_version_info is present for // debugging purposes only. // // DeltaDiscoveryRequest plays two independent roles. Any DeltaDiscoveryRequest // can be either or both of: [1] informing the server of what resources the // client has gained/lost interest in (using resource_names_subscribe and // resource_names_unsubscribe), or [2] (N)ACKing an earlier resource update from // the server (using response_nonce, with presence of error_detail making it a NACK). // Additionally, the first message (for a given type_url) of a reconnected gRPC stream // has a third role: informing the server of the resources (and their versions) // that the client already possesses, using the initial_resource_versions field. // // As with state-of-the-world, when multiple resource types are multiplexed (ADS), // all requests/acknowledgments/updates are logically walled off by type_url: // a Cluster ACK exists in a completely separate world from a prior Route NACK. // In particular, initial_resource_versions being sent at the "start" of every // gRPC stream actually entails a message for each type_url, each with its own // initial_resource_versions. // [#next-free-field: 10] type DeltaDiscoveryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node making the request. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // Type of the resource that is being requested, e.g. // “type.googleapis.com/envoy.api.v2.ClusterLoadAssignment“. This does not need to be set if // resources are only referenced via “xds_resource_subscribe“ and // “xds_resources_unsubscribe“. TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // DeltaDiscoveryRequests allow the client to add or remove individual // resources to the set of tracked resources in the context of a stream. // All resource names in the resource_names_subscribe list are added to the // set of tracked resources and all resource names in the resource_names_unsubscribe // list are removed from the set of tracked resources. // // *Unlike* state-of-the-world xDS, an empty resource_names_subscribe or // resource_names_unsubscribe list simply means that no resources are to be // added or removed to the resource list. // *Like* state-of-the-world xDS, the server must send updates for all tracked // resources, but can also send updates for resources the client has not subscribed to. // // NOTE: the server must respond with all resources listed in resource_names_subscribe, // even if it believes the client has the most recent version of them. The reason: // the client may have dropped them, but then regained interest before it had a chance // to send the unsubscribe message. See DeltaSubscriptionStateTest.RemoveThenAdd. // // These two fields can be set in any DeltaDiscoveryRequest, including ACKs // and initial_resource_versions. // // A list of Resource names to add to the list of tracked resources. ResourceNamesSubscribe []string `protobuf:"bytes,3,rep,name=resource_names_subscribe,json=resourceNamesSubscribe,proto3" json:"resource_names_subscribe,omitempty"` // A list of Resource names to remove from the list of tracked resources. ResourceNamesUnsubscribe []string `protobuf:"bytes,4,rep,name=resource_names_unsubscribe,json=resourceNamesUnsubscribe,proto3" json:"resource_names_unsubscribe,omitempty"` // [#not-implemented-hide:] // Alternative to “resource_names_subscribe“ field that allows specifying dynamic parameters // along with each resource name. // Note that it is legal for a request to have some resources listed // in “resource_names_subscribe“ and others in “resource_locators_subscribe“. ResourceLocatorsSubscribe []*ResourceLocator `protobuf:"bytes,8,rep,name=resource_locators_subscribe,json=resourceLocatorsSubscribe,proto3" json:"resource_locators_subscribe,omitempty"` // [#not-implemented-hide:] // Alternative to “resource_names_unsubscribe“ field that allows specifying dynamic parameters // along with each resource name. // Note that it is legal for a request to have some resources listed // in “resource_names_unsubscribe“ and others in “resource_locators_unsubscribe“. ResourceLocatorsUnsubscribe []*ResourceLocator `protobuf:"bytes,9,rep,name=resource_locators_unsubscribe,json=resourceLocatorsUnsubscribe,proto3" json:"resource_locators_unsubscribe,omitempty"` // Informs the server of the versions of the resources the xDS client knows of, to enable the // client to continue the same logical xDS session even in the face of gRPC stream reconnection. // It will not be populated: [1] in the very first stream of a session, since the client will // not yet have any resources, [2] in any message after the first in a stream (for a given // type_url), since the server will already be correctly tracking the client's state. // (In ADS, the first message *of each type_url* of a reconnected stream populates this map.) // The map's keys are names of xDS resources known to the xDS client. // The map's values are opaque resource versions. InitialResourceVersions map[string]string `protobuf:"bytes,5,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When the DeltaDiscoveryRequest is a ACK or NACK message in response // to a previous DeltaDiscoveryResponse, the response_nonce must be the // nonce in the DeltaDiscoveryResponse. // Otherwise (unlike in DiscoveryRequest) response_nonce must be omitted. ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"` // This is populated when the previous :ref:`DiscoveryResponse ` // failed to update configuration. The “message“ field in “error_details“ // provides the Envoy internal exception related to the failure. ErrorDetail *status.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"` } func (x *DeltaDiscoveryRequest) Reset() { *x = DeltaDiscoveryRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeltaDiscoveryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeltaDiscoveryRequest) ProtoMessage() {} func (x *DeltaDiscoveryRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeltaDiscoveryRequest.ProtoReflect.Descriptor instead. func (*DeltaDiscoveryRequest) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{4} } func (x *DeltaDiscoveryRequest) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *DeltaDiscoveryRequest) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DeltaDiscoveryRequest) GetResourceNamesSubscribe() []string { if x != nil { return x.ResourceNamesSubscribe } return nil } func (x *DeltaDiscoveryRequest) GetResourceNamesUnsubscribe() []string { if x != nil { return x.ResourceNamesUnsubscribe } return nil } func (x *DeltaDiscoveryRequest) GetResourceLocatorsSubscribe() []*ResourceLocator { if x != nil { return x.ResourceLocatorsSubscribe } return nil } func (x *DeltaDiscoveryRequest) GetResourceLocatorsUnsubscribe() []*ResourceLocator { if x != nil { return x.ResourceLocatorsUnsubscribe } return nil } func (x *DeltaDiscoveryRequest) GetInitialResourceVersions() map[string]string { if x != nil { return x.InitialResourceVersions } return nil } func (x *DeltaDiscoveryRequest) GetResponseNonce() string { if x != nil { return x.ResponseNonce } return "" } func (x *DeltaDiscoveryRequest) GetErrorDetail() *status.Status { if x != nil { return x.ErrorDetail } return nil } // [#next-free-field: 9] type DeltaDiscoveryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The version of the response data (used for debugging). SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"` // The response resources. These are typed resources, whose types must match // the type_url field. Resources []*Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` // Type URL for resources. Identifies the xDS API when muxing over ADS. // Must be consistent with the type_url in the Any within 'resources' if 'resources' is non-empty. TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // Resources names of resources that have be deleted and to be removed from the xDS Client. // Removed resources for missing resources can be ignored. RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"` // Alternative to removed_resources that allows specifying which variant of // a resource is being removed. This variant must be used for any resource // for which dynamic parameter constraints were sent to the client. RemovedResourceNames []*ResourceName `protobuf:"bytes,8,rep,name=removed_resource_names,json=removedResourceNames,proto3" json:"removed_resource_names,omitempty"` // The nonce provides a way for DeltaDiscoveryRequests to uniquely // reference a DeltaDiscoveryResponse when (N)ACKing. The nonce is required. Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` // [#not-implemented-hide:] // The control plane instance that sent the response. ControlPlane *v3.ControlPlane `protobuf:"bytes,7,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"` } func (x *DeltaDiscoveryResponse) Reset() { *x = DeltaDiscoveryResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeltaDiscoveryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeltaDiscoveryResponse) ProtoMessage() {} func (x *DeltaDiscoveryResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeltaDiscoveryResponse.ProtoReflect.Descriptor instead. func (*DeltaDiscoveryResponse) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{5} } func (x *DeltaDiscoveryResponse) GetSystemVersionInfo() string { if x != nil { return x.SystemVersionInfo } return "" } func (x *DeltaDiscoveryResponse) GetResources() []*Resource { if x != nil { return x.Resources } return nil } func (x *DeltaDiscoveryResponse) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *DeltaDiscoveryResponse) GetRemovedResources() []string { if x != nil { return x.RemovedResources } return nil } func (x *DeltaDiscoveryResponse) GetRemovedResourceNames() []*ResourceName { if x != nil { return x.RemovedResourceNames } return nil } func (x *DeltaDiscoveryResponse) GetNonce() string { if x != nil { return x.Nonce } return "" } func (x *DeltaDiscoveryResponse) GetControlPlane() *v3.ControlPlane { if x != nil { return x.ControlPlane } return nil } // A set of dynamic parameter constraints associated with a variant of an individual xDS resource. // These constraints determine whether the resource matches a subscription based on the set of // dynamic parameters in the subscription, as specified in the // :ref:`ResourceLocator.dynamic_parameters` // field. This allows xDS implementations (clients, servers, and caching proxies) to determine // which variant of a resource is appropriate for a given client. type DynamicParameterConstraints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Type: // // *DynamicParameterConstraints_Constraint // *DynamicParameterConstraints_OrConstraints // *DynamicParameterConstraints_AndConstraints // *DynamicParameterConstraints_NotConstraints Type isDynamicParameterConstraints_Type `protobuf_oneof:"type"` } func (x *DynamicParameterConstraints) Reset() { *x = DynamicParameterConstraints{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicParameterConstraints) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicParameterConstraints) ProtoMessage() {} func (x *DynamicParameterConstraints) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicParameterConstraints.ProtoReflect.Descriptor instead. func (*DynamicParameterConstraints) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{6} } func (m *DynamicParameterConstraints) GetType() isDynamicParameterConstraints_Type { if m != nil { return m.Type } return nil } func (x *DynamicParameterConstraints) GetConstraint() *DynamicParameterConstraints_SingleConstraint { if x, ok := x.GetType().(*DynamicParameterConstraints_Constraint); ok { return x.Constraint } return nil } func (x *DynamicParameterConstraints) GetOrConstraints() *DynamicParameterConstraints_ConstraintList { if x, ok := x.GetType().(*DynamicParameterConstraints_OrConstraints); ok { return x.OrConstraints } return nil } func (x *DynamicParameterConstraints) GetAndConstraints() *DynamicParameterConstraints_ConstraintList { if x, ok := x.GetType().(*DynamicParameterConstraints_AndConstraints); ok { return x.AndConstraints } return nil } func (x *DynamicParameterConstraints) GetNotConstraints() *DynamicParameterConstraints { if x, ok := x.GetType().(*DynamicParameterConstraints_NotConstraints); ok { return x.NotConstraints } return nil } type isDynamicParameterConstraints_Type interface { isDynamicParameterConstraints_Type() } type DynamicParameterConstraints_Constraint struct { // A single constraint to evaluate. Constraint *DynamicParameterConstraints_SingleConstraint `protobuf:"bytes,1,opt,name=constraint,proto3,oneof"` } type DynamicParameterConstraints_OrConstraints struct { // A list of constraints that match if any one constraint in the list // matches. OrConstraints *DynamicParameterConstraints_ConstraintList `protobuf:"bytes,2,opt,name=or_constraints,json=orConstraints,proto3,oneof"` } type DynamicParameterConstraints_AndConstraints struct { // A list of constraints that must all match. AndConstraints *DynamicParameterConstraints_ConstraintList `protobuf:"bytes,3,opt,name=and_constraints,json=andConstraints,proto3,oneof"` } type DynamicParameterConstraints_NotConstraints struct { // The inverse (NOT) of a set of constraints. NotConstraints *DynamicParameterConstraints `protobuf:"bytes,4,opt,name=not_constraints,json=notConstraints,proto3,oneof"` } func (*DynamicParameterConstraints_Constraint) isDynamicParameterConstraints_Type() {} func (*DynamicParameterConstraints_OrConstraints) isDynamicParameterConstraints_Type() {} func (*DynamicParameterConstraints_AndConstraints) isDynamicParameterConstraints_Type() {} func (*DynamicParameterConstraints_NotConstraints) isDynamicParameterConstraints_Type() {} // [#next-free-field: 10] type Resource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The resource's name, to distinguish it from others of the same type of resource. // Only one of “name“ or “resource_name“ may be set. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Alternative to the “name“ field, to be used when the server supports // multiple variants of the named resource that are differentiated by // dynamic parameter constraints. // Only one of “name“ or “resource_name“ may be set. ResourceName *ResourceName `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` // The aliases are a list of other names that this resource can go by. Aliases []string `protobuf:"bytes,4,rep,name=aliases,proto3" json:"aliases,omitempty"` // The resource level version. It allows xDS to track the state of individual // resources. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // The resource being tracked. Resource *any1.Any `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` // Time-to-live value for the resource. For each resource, a timer is started. The timer is // reset each time the resource is received with a new TTL. If the resource is received with // no TTL set, the timer is removed for the resource. Upon expiration of the timer, the // configuration for the resource will be removed. // // The TTL can be refreshed or changed by sending a response that doesn't change the resource // version. In this case the resource field does not need to be populated, which allows for // light-weight "heartbeat" updates to keep a resource with a TTL alive. // // The TTL feature is meant to support configurations that should be removed in the event of // a management server failure. For example, the feature may be used for fault injection // testing where the fault injection should be terminated in the event that Envoy loses contact // with the management server. Ttl *duration.Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"` // Cache control properties for the resource. // [#not-implemented-hide:] CacheControl *Resource_CacheControl `protobuf:"bytes,7,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"` // The Metadata field can be used to provide additional information for the resource. // E.g. the trace data for debugging. Metadata *v3.Metadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *Resource) Reset() { *x = Resource{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Resource) String() string { return protoimpl.X.MessageStringOf(x) } func (*Resource) ProtoMessage() {} func (x *Resource) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Resource.ProtoReflect.Descriptor instead. func (*Resource) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{7} } func (x *Resource) GetName() string { if x != nil { return x.Name } return "" } func (x *Resource) GetResourceName() *ResourceName { if x != nil { return x.ResourceName } return nil } func (x *Resource) GetAliases() []string { if x != nil { return x.Aliases } return nil } func (x *Resource) GetVersion() string { if x != nil { return x.Version } return "" } func (x *Resource) GetResource() *any1.Any { if x != nil { return x.Resource } return nil } func (x *Resource) GetTtl() *duration.Duration { if x != nil { return x.Ttl } return nil } func (x *Resource) GetCacheControl() *Resource_CacheControl { if x != nil { return x.CacheControl } return nil } func (x *Resource) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata } return nil } // A single constraint for a given key. type DynamicParameterConstraints_SingleConstraint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key to match against. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Types that are assignable to ConstraintType: // // *DynamicParameterConstraints_SingleConstraint_Value // *DynamicParameterConstraints_SingleConstraint_Exists_ ConstraintType isDynamicParameterConstraints_SingleConstraint_ConstraintType `protobuf_oneof:"constraint_type"` } func (x *DynamicParameterConstraints_SingleConstraint) Reset() { *x = DynamicParameterConstraints_SingleConstraint{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicParameterConstraints_SingleConstraint) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicParameterConstraints_SingleConstraint) ProtoMessage() {} func (x *DynamicParameterConstraints_SingleConstraint) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicParameterConstraints_SingleConstraint.ProtoReflect.Descriptor instead. func (*DynamicParameterConstraints_SingleConstraint) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{6, 0} } func (x *DynamicParameterConstraints_SingleConstraint) GetKey() string { if x != nil { return x.Key } return "" } func (m *DynamicParameterConstraints_SingleConstraint) GetConstraintType() isDynamicParameterConstraints_SingleConstraint_ConstraintType { if m != nil { return m.ConstraintType } return nil } func (x *DynamicParameterConstraints_SingleConstraint) GetValue() string { if x, ok := x.GetConstraintType().(*DynamicParameterConstraints_SingleConstraint_Value); ok { return x.Value } return "" } func (x *DynamicParameterConstraints_SingleConstraint) GetExists() *DynamicParameterConstraints_SingleConstraint_Exists { if x, ok := x.GetConstraintType().(*DynamicParameterConstraints_SingleConstraint_Exists_); ok { return x.Exists } return nil } type isDynamicParameterConstraints_SingleConstraint_ConstraintType interface { isDynamicParameterConstraints_SingleConstraint_ConstraintType() } type DynamicParameterConstraints_SingleConstraint_Value struct { // Matches this exact value. Value string `protobuf:"bytes,2,opt,name=value,proto3,oneof"` } type DynamicParameterConstraints_SingleConstraint_Exists_ struct { // Key is present (matches any value except for the key being absent). // This allows setting a default constraint for clients that do // not send a key at all, while there may be other clients that need // special configuration based on that key. Exists *DynamicParameterConstraints_SingleConstraint_Exists `protobuf:"bytes,3,opt,name=exists,proto3,oneof"` } func (*DynamicParameterConstraints_SingleConstraint_Value) isDynamicParameterConstraints_SingleConstraint_ConstraintType() { } func (*DynamicParameterConstraints_SingleConstraint_Exists_) isDynamicParameterConstraints_SingleConstraint_ConstraintType() { } type DynamicParameterConstraints_ConstraintList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Constraints []*DynamicParameterConstraints `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` } func (x *DynamicParameterConstraints_ConstraintList) Reset() { *x = DynamicParameterConstraints_ConstraintList{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicParameterConstraints_ConstraintList) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicParameterConstraints_ConstraintList) ProtoMessage() {} func (x *DynamicParameterConstraints_ConstraintList) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicParameterConstraints_ConstraintList.ProtoReflect.Descriptor instead. func (*DynamicParameterConstraints_ConstraintList) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{6, 1} } func (x *DynamicParameterConstraints_ConstraintList) GetConstraints() []*DynamicParameterConstraints { if x != nil { return x.Constraints } return nil } type DynamicParameterConstraints_SingleConstraint_Exists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DynamicParameterConstraints_SingleConstraint_Exists) Reset() { *x = DynamicParameterConstraints_SingleConstraint_Exists{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DynamicParameterConstraints_SingleConstraint_Exists) String() string { return protoimpl.X.MessageStringOf(x) } func (*DynamicParameterConstraints_SingleConstraint_Exists) ProtoMessage() {} func (x *DynamicParameterConstraints_SingleConstraint_Exists) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DynamicParameterConstraints_SingleConstraint_Exists.ProtoReflect.Descriptor instead. func (*DynamicParameterConstraints_SingleConstraint_Exists) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{6, 0, 0} } // Cache control properties for the resource. // [#not-implemented-hide:] type Resource_CacheControl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, xDS proxies may not cache this resource. // Note that this does not apply to clients other than xDS proxies, which must cache resources // for their own use, regardless of the value of this field. DoNotCache bool `protobuf:"varint,1,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"` } func (x *Resource_CacheControl) Reset() { *x = Resource_CacheControl{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Resource_CacheControl) String() string { return protoimpl.X.MessageStringOf(x) } func (*Resource_CacheControl) ProtoMessage() {} func (x *Resource_CacheControl) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Resource_CacheControl.ProtoReflect.Descriptor instead. func (*Resource_CacheControl) Descriptor() ([]byte, []int) { return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{7, 0} } func (x *Resource_CacheControl) GetDoNotCache() bool { if x != nil { return x.DoNotCache } return false } var File_envoy_service_discovery_v3_discovery_proto protoreflect.FileDescriptor var file_envoy_service_discovery_v3_discovery_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x12, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7b, 0x0a, 0x1d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x1b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x02, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x06, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x6b, 0x0a, 0x1b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x6f, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x1b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0x4a, 0x0a, 0x1c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbf, 0x03, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x06, 0x0a, 0x1b, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x0f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x0f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0xc9, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x69, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x1a, 0x08, 0x0a, 0x06, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x42, 0x16, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x1a, 0x6b, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe4, 0x03, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x30, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x93, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_discovery_v3_discovery_proto_rawDescOnce sync.Once file_envoy_service_discovery_v3_discovery_proto_rawDescData = file_envoy_service_discovery_v3_discovery_proto_rawDesc ) func file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP() []byte { file_envoy_service_discovery_v3_discovery_proto_rawDescOnce.Do(func() { file_envoy_service_discovery_v3_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v3_discovery_proto_rawDescData) }) return file_envoy_service_discovery_v3_discovery_proto_rawDescData } var file_envoy_service_discovery_v3_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_envoy_service_discovery_v3_discovery_proto_goTypes = []interface{}{ (*ResourceLocator)(nil), // 0: envoy.service.discovery.v3.ResourceLocator (*ResourceName)(nil), // 1: envoy.service.discovery.v3.ResourceName (*DiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DiscoveryRequest (*DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*DeltaDiscoveryRequest)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryRequest (*DeltaDiscoveryResponse)(nil), // 5: envoy.service.discovery.v3.DeltaDiscoveryResponse (*DynamicParameterConstraints)(nil), // 6: envoy.service.discovery.v3.DynamicParameterConstraints (*Resource)(nil), // 7: envoy.service.discovery.v3.Resource nil, // 8: envoy.service.discovery.v3.ResourceLocator.DynamicParametersEntry nil, // 9: envoy.service.discovery.v3.DeltaDiscoveryRequest.InitialResourceVersionsEntry (*DynamicParameterConstraints_SingleConstraint)(nil), // 10: envoy.service.discovery.v3.DynamicParameterConstraints.SingleConstraint (*DynamicParameterConstraints_ConstraintList)(nil), // 11: envoy.service.discovery.v3.DynamicParameterConstraints.ConstraintList (*DynamicParameterConstraints_SingleConstraint_Exists)(nil), // 12: envoy.service.discovery.v3.DynamicParameterConstraints.SingleConstraint.Exists (*Resource_CacheControl)(nil), // 13: envoy.service.discovery.v3.Resource.CacheControl (*v3.Node)(nil), // 14: envoy.config.core.v3.Node (*status.Status)(nil), // 15: google.rpc.Status (*any1.Any)(nil), // 16: google.protobuf.Any (*v3.ControlPlane)(nil), // 17: envoy.config.core.v3.ControlPlane (*duration.Duration)(nil), // 18: google.protobuf.Duration (*v3.Metadata)(nil), // 19: envoy.config.core.v3.Metadata } var file_envoy_service_discovery_v3_discovery_proto_depIdxs = []int32{ 8, // 0: envoy.service.discovery.v3.ResourceLocator.dynamic_parameters:type_name -> envoy.service.discovery.v3.ResourceLocator.DynamicParametersEntry 6, // 1: envoy.service.discovery.v3.ResourceName.dynamic_parameter_constraints:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints 14, // 2: envoy.service.discovery.v3.DiscoveryRequest.node:type_name -> envoy.config.core.v3.Node 0, // 3: envoy.service.discovery.v3.DiscoveryRequest.resource_locators:type_name -> envoy.service.discovery.v3.ResourceLocator 15, // 4: envoy.service.discovery.v3.DiscoveryRequest.error_detail:type_name -> google.rpc.Status 16, // 5: envoy.service.discovery.v3.DiscoveryResponse.resources:type_name -> google.protobuf.Any 17, // 6: envoy.service.discovery.v3.DiscoveryResponse.control_plane:type_name -> envoy.config.core.v3.ControlPlane 14, // 7: envoy.service.discovery.v3.DeltaDiscoveryRequest.node:type_name -> envoy.config.core.v3.Node 0, // 8: envoy.service.discovery.v3.DeltaDiscoveryRequest.resource_locators_subscribe:type_name -> envoy.service.discovery.v3.ResourceLocator 0, // 9: envoy.service.discovery.v3.DeltaDiscoveryRequest.resource_locators_unsubscribe:type_name -> envoy.service.discovery.v3.ResourceLocator 9, // 10: envoy.service.discovery.v3.DeltaDiscoveryRequest.initial_resource_versions:type_name -> envoy.service.discovery.v3.DeltaDiscoveryRequest.InitialResourceVersionsEntry 15, // 11: envoy.service.discovery.v3.DeltaDiscoveryRequest.error_detail:type_name -> google.rpc.Status 7, // 12: envoy.service.discovery.v3.DeltaDiscoveryResponse.resources:type_name -> envoy.service.discovery.v3.Resource 1, // 13: envoy.service.discovery.v3.DeltaDiscoveryResponse.removed_resource_names:type_name -> envoy.service.discovery.v3.ResourceName 17, // 14: envoy.service.discovery.v3.DeltaDiscoveryResponse.control_plane:type_name -> envoy.config.core.v3.ControlPlane 10, // 15: envoy.service.discovery.v3.DynamicParameterConstraints.constraint:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints.SingleConstraint 11, // 16: envoy.service.discovery.v3.DynamicParameterConstraints.or_constraints:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints.ConstraintList 11, // 17: envoy.service.discovery.v3.DynamicParameterConstraints.and_constraints:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints.ConstraintList 6, // 18: envoy.service.discovery.v3.DynamicParameterConstraints.not_constraints:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints 1, // 19: envoy.service.discovery.v3.Resource.resource_name:type_name -> envoy.service.discovery.v3.ResourceName 16, // 20: envoy.service.discovery.v3.Resource.resource:type_name -> google.protobuf.Any 18, // 21: envoy.service.discovery.v3.Resource.ttl:type_name -> google.protobuf.Duration 13, // 22: envoy.service.discovery.v3.Resource.cache_control:type_name -> envoy.service.discovery.v3.Resource.CacheControl 19, // 23: envoy.service.discovery.v3.Resource.metadata:type_name -> envoy.config.core.v3.Metadata 12, // 24: envoy.service.discovery.v3.DynamicParameterConstraints.SingleConstraint.exists:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints.SingleConstraint.Exists 6, // 25: envoy.service.discovery.v3.DynamicParameterConstraints.ConstraintList.constraints:type_name -> envoy.service.discovery.v3.DynamicParameterConstraints 26, // [26:26] is the sub-list for method output_type 26, // [26:26] is the sub-list for method input_type 26, // [26:26] is the sub-list for extension type_name 26, // [26:26] is the sub-list for extension extendee 0, // [0:26] is the sub-list for field type_name } func init() { file_envoy_service_discovery_v3_discovery_proto_init() } func file_envoy_service_discovery_v3_discovery_proto_init() { if File_envoy_service_discovery_v3_discovery_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_discovery_v3_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceLocator); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscoveryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscoveryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeltaDiscoveryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeltaDiscoveryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicParameterConstraints); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Resource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicParameterConstraints_SingleConstraint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicParameterConstraints_ConstraintList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DynamicParameterConstraints_SingleConstraint_Exists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Resource_CacheControl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_discovery_v3_discovery_proto_msgTypes[6].OneofWrappers = []interface{}{ (*DynamicParameterConstraints_Constraint)(nil), (*DynamicParameterConstraints_OrConstraints)(nil), (*DynamicParameterConstraints_AndConstraints)(nil), (*DynamicParameterConstraints_NotConstraints)(nil), } file_envoy_service_discovery_v3_discovery_proto_msgTypes[10].OneofWrappers = []interface{}{ (*DynamicParameterConstraints_SingleConstraint_Value)(nil), (*DynamicParameterConstraints_SingleConstraint_Exists_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_discovery_v3_discovery_proto_rawDesc, NumEnums: 0, NumMessages: 14, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_service_discovery_v3_discovery_proto_goTypes, DependencyIndexes: file_envoy_service_discovery_v3_discovery_proto_depIdxs, MessageInfos: file_envoy_service_discovery_v3_discovery_proto_msgTypes, }.Build() File_envoy_service_discovery_v3_discovery_proto = out.File file_envoy_service_discovery_v3_discovery_proto_rawDesc = nil file_envoy_service_discovery_v3_discovery_proto_goTypes = nil file_envoy_service_discovery_v3_discovery_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/service/discovery/v3/discovery.pb.validate.go000077500000000000000000001701361454502223200266510ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/discovery/v3/discovery.proto package discoveryv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ResourceLocator with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ResourceLocator) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResourceLocator with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ResourceLocatorMultiError, or nil if none found. func (m *ResourceLocator) ValidateAll() error { return m.validate(true) } func (m *ResourceLocator) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for DynamicParameters if len(errors) > 0 { return ResourceLocatorMultiError(errors) } return nil } // ResourceLocatorMultiError is an error wrapping multiple validation errors // returned by ResourceLocator.ValidateAll() if the designated constraints // aren't met. type ResourceLocatorMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceLocatorMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceLocatorMultiError) AllErrors() []error { return m } // ResourceLocatorValidationError is the validation error returned by // ResourceLocator.Validate if the designated constraints aren't met. type ResourceLocatorValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceLocatorValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceLocatorValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceLocatorValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceLocatorValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceLocatorValidationError) ErrorName() string { return "ResourceLocatorValidationError" } // Error satisfies the builtin error interface func (e ResourceLocatorValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResourceLocator.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceLocatorValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceLocatorValidationError{} // Validate checks the field values on ResourceName with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ResourceName) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ResourceName with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResourceNameMultiError, or // nil if none found. func (m *ResourceName) ValidateAll() error { return m.validate(true) } func (m *ResourceName) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetDynamicParameterConstraints()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceNameValidationError{ field: "DynamicParameterConstraints", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceNameValidationError{ field: "DynamicParameterConstraints", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicParameterConstraints()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceNameValidationError{ field: "DynamicParameterConstraints", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ResourceNameMultiError(errors) } return nil } // ResourceNameMultiError is an error wrapping multiple validation errors // returned by ResourceName.ValidateAll() if the designated constraints aren't met. type ResourceNameMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceNameMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceNameMultiError) AllErrors() []error { return m } // ResourceNameValidationError is the validation error returned by // ResourceName.Validate if the designated constraints aren't met. type ResourceNameValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceNameValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceNameValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceNameValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceNameValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceNameValidationError) ErrorName() string { return "ResourceNameValidationError" } // Error satisfies the builtin error interface func (e ResourceNameValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResourceName.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceNameValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceNameValidationError{} // Validate checks the field values on DiscoveryRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DiscoveryRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DiscoveryRequestMultiError, or nil if none found. func (m *DiscoveryRequest) ValidateAll() error { return m.validate(true) } func (m *DiscoveryRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetResourceLocators() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocators[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocators[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocators[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for TypeUrl // no validation rules for ResponseNonce if all { switch v := interface{}(m.GetErrorDetail()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorDetail()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DiscoveryRequestMultiError(errors) } return nil } // DiscoveryRequestMultiError is an error wrapping multiple validation errors // returned by DiscoveryRequest.ValidateAll() if the designated constraints // aren't met. type DiscoveryRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DiscoveryRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DiscoveryRequestMultiError) AllErrors() []error { return m } // DiscoveryRequestValidationError is the validation error returned by // DiscoveryRequest.Validate if the designated constraints aren't met. type DiscoveryRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DiscoveryRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DiscoveryRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DiscoveryRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DiscoveryRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DiscoveryRequestValidationError) ErrorName() string { return "DiscoveryRequestValidationError" } // Error satisfies the builtin error interface func (e DiscoveryRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDiscoveryRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DiscoveryRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DiscoveryRequestValidationError{} // Validate checks the field values on DiscoveryResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DiscoveryResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DiscoveryResponseMultiError, or nil if none found. func (m *DiscoveryResponse) ValidateAll() error { return m.validate(true) } func (m *DiscoveryResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for VersionInfo for idx, item := range m.GetResources() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Canary // no validation rules for TypeUrl // no validation rules for Nonce if all { switch v := interface{}(m.GetControlPlane()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetControlPlane()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DiscoveryResponseMultiError(errors) } return nil } // DiscoveryResponseMultiError is an error wrapping multiple validation errors // returned by DiscoveryResponse.ValidateAll() if the designated constraints // aren't met. type DiscoveryResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DiscoveryResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DiscoveryResponseMultiError) AllErrors() []error { return m } // DiscoveryResponseValidationError is the validation error returned by // DiscoveryResponse.Validate if the designated constraints aren't met. type DiscoveryResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DiscoveryResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DiscoveryResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DiscoveryResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DiscoveryResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DiscoveryResponseValidationError) ErrorName() string { return "DiscoveryResponseValidationError" } // Error satisfies the builtin error interface func (e DiscoveryResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDiscoveryResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DiscoveryResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DiscoveryResponseValidationError{} // Validate checks the field values on DeltaDiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeltaDiscoveryRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeltaDiscoveryRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeltaDiscoveryRequestMultiError, or nil if none found. func (m *DeltaDiscoveryRequest) ValidateAll() error { return m.validate(true) } func (m *DeltaDiscoveryRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TypeUrl for idx, item := range m.GetResourceLocatorsSubscribe() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsSubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsSubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsSubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResourceLocatorsUnsubscribe() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsUnsubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsUnsubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: fmt.Sprintf("ResourceLocatorsUnsubscribe[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for InitialResourceVersions // no validation rules for ResponseNonce if all { switch v := interface{}(m.GetErrorDetail()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorDetail()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryRequestValidationError{ field: "ErrorDetail", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DeltaDiscoveryRequestMultiError(errors) } return nil } // DeltaDiscoveryRequestMultiError is an error wrapping multiple validation // errors returned by DeltaDiscoveryRequest.ValidateAll() if the designated // constraints aren't met. type DeltaDiscoveryRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeltaDiscoveryRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeltaDiscoveryRequestMultiError) AllErrors() []error { return m } // DeltaDiscoveryRequestValidationError is the validation error returned by // DeltaDiscoveryRequest.Validate if the designated constraints aren't met. type DeltaDiscoveryRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeltaDiscoveryRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeltaDiscoveryRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeltaDiscoveryRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeltaDiscoveryRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeltaDiscoveryRequestValidationError) ErrorName() string { return "DeltaDiscoveryRequestValidationError" } // Error satisfies the builtin error interface func (e DeltaDiscoveryRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeltaDiscoveryRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeltaDiscoveryRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeltaDiscoveryRequestValidationError{} // Validate checks the field values on DeltaDiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DeltaDiscoveryResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DeltaDiscoveryResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DeltaDiscoveryResponseMultiError, or nil if none found. func (m *DeltaDiscoveryResponse) ValidateAll() error { return m.validate(true) } func (m *DeltaDiscoveryResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SystemVersionInfo for idx, item := range m.GetResources() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("Resources[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for TypeUrl for idx, item := range m.GetRemovedResourceNames() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("RemovedResourceNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("RemovedResourceNames[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryResponseValidationError{ field: fmt.Sprintf("RemovedResourceNames[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for Nonce if all { switch v := interface{}(m.GetControlPlane()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DeltaDiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetControlPlane()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DeltaDiscoveryResponseValidationError{ field: "ControlPlane", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return DeltaDiscoveryResponseMultiError(errors) } return nil } // DeltaDiscoveryResponseMultiError is an error wrapping multiple validation // errors returned by DeltaDiscoveryResponse.ValidateAll() if the designated // constraints aren't met. type DeltaDiscoveryResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DeltaDiscoveryResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DeltaDiscoveryResponseMultiError) AllErrors() []error { return m } // DeltaDiscoveryResponseValidationError is the validation error returned by // DeltaDiscoveryResponse.Validate if the designated constraints aren't met. type DeltaDiscoveryResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DeltaDiscoveryResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DeltaDiscoveryResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DeltaDiscoveryResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DeltaDiscoveryResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DeltaDiscoveryResponseValidationError) ErrorName() string { return "DeltaDiscoveryResponseValidationError" } // Error satisfies the builtin error interface func (e DeltaDiscoveryResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDeltaDiscoveryResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DeltaDiscoveryResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DeltaDiscoveryResponseValidationError{} // Validate checks the field values on DynamicParameterConstraints with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *DynamicParameterConstraints) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DynamicParameterConstraints with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // DynamicParameterConstraintsMultiError, or nil if none found. func (m *DynamicParameterConstraints) ValidateAll() error { return m.validate(true) } func (m *DynamicParameterConstraints) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Type.(type) { case *DynamicParameterConstraints_Constraint: if v == nil { err := DynamicParameterConstraintsValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetConstraint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "Constraint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "Constraint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetConstraint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraintsValidationError{ field: "Constraint", reason: "embedded message failed validation", cause: err, } } } case *DynamicParameterConstraints_OrConstraints: if v == nil { err := DynamicParameterConstraintsValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOrConstraints()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "OrConstraints", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "OrConstraints", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrConstraints()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraintsValidationError{ field: "OrConstraints", reason: "embedded message failed validation", cause: err, } } } case *DynamicParameterConstraints_AndConstraints: if v == nil { err := DynamicParameterConstraintsValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetAndConstraints()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "AndConstraints", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "AndConstraints", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndConstraints()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraintsValidationError{ field: "AndConstraints", reason: "embedded message failed validation", cause: err, } } } case *DynamicParameterConstraints_NotConstraints: if v == nil { err := DynamicParameterConstraintsValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNotConstraints()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "NotConstraints", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraintsValidationError{ field: "NotConstraints", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotConstraints()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraintsValidationError{ field: "NotConstraints", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return DynamicParameterConstraintsMultiError(errors) } return nil } // DynamicParameterConstraintsMultiError is an error wrapping multiple // validation errors returned by DynamicParameterConstraints.ValidateAll() if // the designated constraints aren't met. type DynamicParameterConstraintsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicParameterConstraintsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicParameterConstraintsMultiError) AllErrors() []error { return m } // DynamicParameterConstraintsValidationError is the validation error returned // by DynamicParameterConstraints.Validate if the designated constraints // aren't met. type DynamicParameterConstraintsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicParameterConstraintsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicParameterConstraintsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicParameterConstraintsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicParameterConstraintsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicParameterConstraintsValidationError) ErrorName() string { return "DynamicParameterConstraintsValidationError" } // Error satisfies the builtin error interface func (e DynamicParameterConstraintsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicParameterConstraints.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicParameterConstraintsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicParameterConstraintsValidationError{} // Validate checks the field values on Resource with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Resource) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Resource with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ResourceMultiError, or nil // if none found. func (m *Resource) ValidateAll() error { return m.validate(true) } func (m *Resource) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name if all { switch v := interface{}(m.GetResourceName()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "ResourceName", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "ResourceName", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResourceName()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "ResourceName", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Version if all { switch v := interface{}(m.GetResource()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResource()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "Resource", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTtl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTtl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "Ttl", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCacheControl()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "CacheControl", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "CacheControl", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCacheControl()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "CacheControl", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ResourceValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ResourceValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ResourceValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ResourceMultiError(errors) } return nil } // ResourceMultiError is an error wrapping multiple validation errors returned // by Resource.ValidateAll() if the designated constraints aren't met. type ResourceMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ResourceMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ResourceMultiError) AllErrors() []error { return m } // ResourceValidationError is the validation error returned by // Resource.Validate if the designated constraints aren't met. type ResourceValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ResourceValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ResourceValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ResourceValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ResourceValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ResourceValidationError) ErrorName() string { return "ResourceValidationError" } // Error satisfies the builtin error interface func (e ResourceValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResource.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ResourceValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ResourceValidationError{} // Validate checks the field values on // DynamicParameterConstraints_SingleConstraint with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DynamicParameterConstraints_SingleConstraint) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // DynamicParameterConstraints_SingleConstraint with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // DynamicParameterConstraints_SingleConstraintMultiError, or nil if none found. func (m *DynamicParameterConstraints_SingleConstraint) ValidateAll() error { return m.validate(true) } func (m *DynamicParameterConstraints_SingleConstraint) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Key oneofConstraintTypePresent := false switch v := m.ConstraintType.(type) { case *DynamicParameterConstraints_SingleConstraint_Value: if v == nil { err := DynamicParameterConstraints_SingleConstraintValidationError{ field: "ConstraintType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConstraintTypePresent = true // no validation rules for Value case *DynamicParameterConstraints_SingleConstraint_Exists_: if v == nil { err := DynamicParameterConstraints_SingleConstraintValidationError{ field: "ConstraintType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofConstraintTypePresent = true if all { switch v := interface{}(m.GetExists()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraints_SingleConstraintValidationError{ field: "Exists", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraints_SingleConstraintValidationError{ field: "Exists", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetExists()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraints_SingleConstraintValidationError{ field: "Exists", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofConstraintTypePresent { err := DynamicParameterConstraints_SingleConstraintValidationError{ field: "ConstraintType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DynamicParameterConstraints_SingleConstraintMultiError(errors) } return nil } // DynamicParameterConstraints_SingleConstraintMultiError is an error wrapping // multiple validation errors returned by // DynamicParameterConstraints_SingleConstraint.ValidateAll() if the // designated constraints aren't met. type DynamicParameterConstraints_SingleConstraintMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicParameterConstraints_SingleConstraintMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicParameterConstraints_SingleConstraintMultiError) AllErrors() []error { return m } // DynamicParameterConstraints_SingleConstraintValidationError is the // validation error returned by // DynamicParameterConstraints_SingleConstraint.Validate if the designated // constraints aren't met. type DynamicParameterConstraints_SingleConstraintValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicParameterConstraints_SingleConstraintValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicParameterConstraints_SingleConstraintValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicParameterConstraints_SingleConstraintValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicParameterConstraints_SingleConstraintValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicParameterConstraints_SingleConstraintValidationError) ErrorName() string { return "DynamicParameterConstraints_SingleConstraintValidationError" } // Error satisfies the builtin error interface func (e DynamicParameterConstraints_SingleConstraintValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicParameterConstraints_SingleConstraint.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicParameterConstraints_SingleConstraintValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicParameterConstraints_SingleConstraintValidationError{} // Validate checks the field values on // DynamicParameterConstraints_ConstraintList with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DynamicParameterConstraints_ConstraintList) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // DynamicParameterConstraints_ConstraintList with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // DynamicParameterConstraints_ConstraintListMultiError, or nil if none found. func (m *DynamicParameterConstraints_ConstraintList) ValidateAll() error { return m.validate(true) } func (m *DynamicParameterConstraints_ConstraintList) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetConstraints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DynamicParameterConstraints_ConstraintListValidationError{ field: fmt.Sprintf("Constraints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DynamicParameterConstraints_ConstraintListValidationError{ field: fmt.Sprintf("Constraints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DynamicParameterConstraints_ConstraintListValidationError{ field: fmt.Sprintf("Constraints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return DynamicParameterConstraints_ConstraintListMultiError(errors) } return nil } // DynamicParameterConstraints_ConstraintListMultiError is an error wrapping // multiple validation errors returned by // DynamicParameterConstraints_ConstraintList.ValidateAll() if the designated // constraints aren't met. type DynamicParameterConstraints_ConstraintListMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicParameterConstraints_ConstraintListMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicParameterConstraints_ConstraintListMultiError) AllErrors() []error { return m } // DynamicParameterConstraints_ConstraintListValidationError is the validation // error returned by DynamicParameterConstraints_ConstraintList.Validate if // the designated constraints aren't met. type DynamicParameterConstraints_ConstraintListValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicParameterConstraints_ConstraintListValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicParameterConstraints_ConstraintListValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicParameterConstraints_ConstraintListValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicParameterConstraints_ConstraintListValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicParameterConstraints_ConstraintListValidationError) ErrorName() string { return "DynamicParameterConstraints_ConstraintListValidationError" } // Error satisfies the builtin error interface func (e DynamicParameterConstraints_ConstraintListValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicParameterConstraints_ConstraintList.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicParameterConstraints_ConstraintListValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicParameterConstraints_ConstraintListValidationError{} // Validate checks the field values on // DynamicParameterConstraints_SingleConstraint_Exists with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *DynamicParameterConstraints_SingleConstraint_Exists) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // DynamicParameterConstraints_SingleConstraint_Exists with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // DynamicParameterConstraints_SingleConstraint_ExistsMultiError, or nil if // none found. func (m *DynamicParameterConstraints_SingleConstraint_Exists) ValidateAll() error { return m.validate(true) } func (m *DynamicParameterConstraints_SingleConstraint_Exists) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return DynamicParameterConstraints_SingleConstraint_ExistsMultiError(errors) } return nil } // DynamicParameterConstraints_SingleConstraint_ExistsMultiError is an error // wrapping multiple validation errors returned by // DynamicParameterConstraints_SingleConstraint_Exists.ValidateAll() if the // designated constraints aren't met. type DynamicParameterConstraints_SingleConstraint_ExistsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DynamicParameterConstraints_SingleConstraint_ExistsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DynamicParameterConstraints_SingleConstraint_ExistsMultiError) AllErrors() []error { return m } // DynamicParameterConstraints_SingleConstraint_ExistsValidationError is the // validation error returned by // DynamicParameterConstraints_SingleConstraint_Exists.Validate if the // designated constraints aren't met. type DynamicParameterConstraints_SingleConstraint_ExistsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) ErrorName() string { return "DynamicParameterConstraints_SingleConstraint_ExistsValidationError" } // Error satisfies the builtin error interface func (e DynamicParameterConstraints_SingleConstraint_ExistsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDynamicParameterConstraints_SingleConstraint_Exists.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DynamicParameterConstraints_SingleConstraint_ExistsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DynamicParameterConstraints_SingleConstraint_ExistsValidationError{} // Validate checks the field values on Resource_CacheControl with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *Resource_CacheControl) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Resource_CacheControl with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // Resource_CacheControlMultiError, or nil if none found. func (m *Resource_CacheControl) ValidateAll() error { return m.validate(true) } func (m *Resource_CacheControl) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for DoNotCache if len(errors) > 0 { return Resource_CacheControlMultiError(errors) } return nil } // Resource_CacheControlMultiError is an error wrapping multiple validation // errors returned by Resource_CacheControl.ValidateAll() if the designated // constraints aren't met. type Resource_CacheControlMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Resource_CacheControlMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Resource_CacheControlMultiError) AllErrors() []error { return m } // Resource_CacheControlValidationError is the validation error returned by // Resource_CacheControl.Validate if the designated constraints aren't met. type Resource_CacheControlValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Resource_CacheControlValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Resource_CacheControlValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Resource_CacheControlValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Resource_CacheControlValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Resource_CacheControlValidationError) ErrorName() string { return "Resource_CacheControlValidationError" } // Error satisfies the builtin error interface func (e Resource_CacheControlValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sResource_CacheControl.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Resource_CacheControlValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Resource_CacheControlValidationError{} go-control-plane-0.12.0/envoy/service/endpoint/000077500000000000000000000000001454502223200213715ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/endpoint/v3/000077500000000000000000000000001454502223200217215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/endpoint/v3/eds.pb.go000077500000000000000000000461741454502223200234420ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/endpoint/v3/eds.proto package endpointv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type EdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *EdsDummy) Reset() { *x = EdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_endpoint_v3_eds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*EdsDummy) ProtoMessage() {} func (x *EdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_endpoint_v3_eds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EdsDummy.ProtoReflect.Descriptor instead. func (*EdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_endpoint_v3_eds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_endpoint_v3_eds_proto protoreflect.FileDescriptor var file_envoy_service_endpoint_v3_eds_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x08, 0x45, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xdb, 0x03, 0x0a, 0x18, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x36, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x8a, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x45, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_endpoint_v3_eds_proto_rawDescOnce sync.Once file_envoy_service_endpoint_v3_eds_proto_rawDescData = file_envoy_service_endpoint_v3_eds_proto_rawDesc ) func file_envoy_service_endpoint_v3_eds_proto_rawDescGZIP() []byte { file_envoy_service_endpoint_v3_eds_proto_rawDescOnce.Do(func() { file_envoy_service_endpoint_v3_eds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_endpoint_v3_eds_proto_rawDescData) }) return file_envoy_service_endpoint_v3_eds_proto_rawDescData } var file_envoy_service_endpoint_v3_eds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_endpoint_v3_eds_proto_goTypes = []interface{}{ (*EdsDummy)(nil), // 0: envoy.service.endpoint.v3.EdsDummy (*v3.DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_endpoint_v3_eds_proto_depIdxs = []int32{ 1, // 0: envoy.service.endpoint.v3.EndpointDiscoveryService.StreamEndpoints:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.endpoint.v3.EndpointDiscoveryService.DeltaEndpoints:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 1, // 2: envoy.service.endpoint.v3.EndpointDiscoveryService.FetchEndpoints:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.endpoint.v3.EndpointDiscoveryService.StreamEndpoints:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 4: envoy.service.endpoint.v3.EndpointDiscoveryService.DeltaEndpoints:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 3, // 5: envoy.service.endpoint.v3.EndpointDiscoveryService.FetchEndpoints:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_endpoint_v3_eds_proto_init() } func file_envoy_service_endpoint_v3_eds_proto_init() { if File_envoy_service_endpoint_v3_eds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_endpoint_v3_eds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_endpoint_v3_eds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_endpoint_v3_eds_proto_goTypes, DependencyIndexes: file_envoy_service_endpoint_v3_eds_proto_depIdxs, MessageInfos: file_envoy_service_endpoint_v3_eds_proto_msgTypes, }.Build() File_envoy_service_endpoint_v3_eds_proto = out.File file_envoy_service_endpoint_v3_eds_proto_rawDesc = nil file_envoy_service_endpoint_v3_eds_proto_goTypes = nil file_envoy_service_endpoint_v3_eds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // EndpointDiscoveryServiceClient is the client API for EndpointDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type EndpointDiscoveryServiceClient interface { // The resource_names field in DiscoveryRequest specifies a list of clusters // to subscribe to updates for. StreamEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamEndpointsClient, error) DeltaEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_DeltaEndpointsClient, error) FetchEndpoints(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type endpointDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewEndpointDiscoveryServiceClient(cc grpc.ClientConnInterface) EndpointDiscoveryServiceClient { return &endpointDiscoveryServiceClient{cc} } func (c *endpointDiscoveryServiceClient) StreamEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamEndpointsClient, error) { stream, err := c.cc.NewStream(ctx, &_EndpointDiscoveryService_serviceDesc.Streams[0], "/envoy.service.endpoint.v3.EndpointDiscoveryService/StreamEndpoints", opts...) if err != nil { return nil, err } x := &endpointDiscoveryServiceStreamEndpointsClient{stream} return x, nil } type EndpointDiscoveryService_StreamEndpointsClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type endpointDiscoveryServiceStreamEndpointsClient struct { grpc.ClientStream } func (x *endpointDiscoveryServiceStreamEndpointsClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *endpointDiscoveryServiceStreamEndpointsClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *endpointDiscoveryServiceClient) DeltaEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_DeltaEndpointsClient, error) { stream, err := c.cc.NewStream(ctx, &_EndpointDiscoveryService_serviceDesc.Streams[1], "/envoy.service.endpoint.v3.EndpointDiscoveryService/DeltaEndpoints", opts...) if err != nil { return nil, err } x := &endpointDiscoveryServiceDeltaEndpointsClient{stream} return x, nil } type EndpointDiscoveryService_DeltaEndpointsClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type endpointDiscoveryServiceDeltaEndpointsClient struct { grpc.ClientStream } func (x *endpointDiscoveryServiceDeltaEndpointsClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *endpointDiscoveryServiceDeltaEndpointsClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *endpointDiscoveryServiceClient) FetchEndpoints(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.endpoint.v3.EndpointDiscoveryService/FetchEndpoints", in, out, opts...) if err != nil { return nil, err } return out, nil } // EndpointDiscoveryServiceServer is the server API for EndpointDiscoveryService service. type EndpointDiscoveryServiceServer interface { // The resource_names field in DiscoveryRequest specifies a list of clusters // to subscribe to updates for. StreamEndpoints(EndpointDiscoveryService_StreamEndpointsServer) error DeltaEndpoints(EndpointDiscoveryService_DeltaEndpointsServer) error FetchEndpoints(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedEndpointDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedEndpointDiscoveryServiceServer struct { } func (*UnimplementedEndpointDiscoveryServiceServer) StreamEndpoints(EndpointDiscoveryService_StreamEndpointsServer) error { return status.Errorf(codes.Unimplemented, "method StreamEndpoints not implemented") } func (*UnimplementedEndpointDiscoveryServiceServer) DeltaEndpoints(EndpointDiscoveryService_DeltaEndpointsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaEndpoints not implemented") } func (*UnimplementedEndpointDiscoveryServiceServer) FetchEndpoints(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchEndpoints not implemented") } func RegisterEndpointDiscoveryServiceServer(s *grpc.Server, srv EndpointDiscoveryServiceServer) { s.RegisterService(&_EndpointDiscoveryService_serviceDesc, srv) } func _EndpointDiscoveryService_StreamEndpoints_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EndpointDiscoveryServiceServer).StreamEndpoints(&endpointDiscoveryServiceStreamEndpointsServer{stream}) } type EndpointDiscoveryService_StreamEndpointsServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type endpointDiscoveryServiceStreamEndpointsServer struct { grpc.ServerStream } func (x *endpointDiscoveryServiceStreamEndpointsServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *endpointDiscoveryServiceStreamEndpointsServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _EndpointDiscoveryService_DeltaEndpoints_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EndpointDiscoveryServiceServer).DeltaEndpoints(&endpointDiscoveryServiceDeltaEndpointsServer{stream}) } type EndpointDiscoveryService_DeltaEndpointsServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type endpointDiscoveryServiceDeltaEndpointsServer struct { grpc.ServerStream } func (x *endpointDiscoveryServiceDeltaEndpointsServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *endpointDiscoveryServiceDeltaEndpointsServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _EndpointDiscoveryService_FetchEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EndpointDiscoveryServiceServer).FetchEndpoints(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.endpoint.v3.EndpointDiscoveryService/FetchEndpoints", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EndpointDiscoveryServiceServer).FetchEndpoints(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _EndpointDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.endpoint.v3.EndpointDiscoveryService", HandlerType: (*EndpointDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchEndpoints", Handler: _EndpointDiscoveryService_FetchEndpoints_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamEndpoints", Handler: _EndpointDiscoveryService_StreamEndpoints_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaEndpoints", Handler: _EndpointDiscoveryService_DeltaEndpoints_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/endpoint/v3/eds.proto", } go-control-plane-0.12.0/envoy/service/endpoint/v3/eds.pb.validate.go000077500000000000000000000061271454502223200252240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/endpoint/v3/eds.proto package endpointv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EdsDummyMultiError, or nil // if none found. func (m *EdsDummy) ValidateAll() error { return m.validate(true) } func (m *EdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EdsDummyMultiError(errors) } return nil } // EdsDummyMultiError is an error wrapping multiple validation errors returned // by EdsDummy.ValidateAll() if the designated constraints aren't met. type EdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EdsDummyMultiError) AllErrors() []error { return m } // EdsDummyValidationError is the validation error returned by // EdsDummy.Validate if the designated constraints aren't met. type EdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EdsDummyValidationError) ErrorName() string { return "EdsDummyValidationError" } // Error satisfies the builtin error interface func (e EdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/endpoint/v3/leds.pb.go000077500000000000000000000317651454502223200236160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/endpoint/v3/leds.proto package endpointv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type LedsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *LedsDummy) Reset() { *x = LedsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_endpoint_v3_leds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LedsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LedsDummy) ProtoMessage() {} func (x *LedsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_endpoint_v3_leds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LedsDummy.ProtoReflect.Descriptor instead. func (*LedsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_endpoint_v3_leds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_endpoint_v3_leds_proto protoreflect.FileDescriptor var file_envoy_service_endpoint_v3_leds_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x65, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x4c, 0x65, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xd7, 0x01, 0x0a, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x2b, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x62, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x8b, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x4c, 0x65, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_endpoint_v3_leds_proto_rawDescOnce sync.Once file_envoy_service_endpoint_v3_leds_proto_rawDescData = file_envoy_service_endpoint_v3_leds_proto_rawDesc ) func file_envoy_service_endpoint_v3_leds_proto_rawDescGZIP() []byte { file_envoy_service_endpoint_v3_leds_proto_rawDescOnce.Do(func() { file_envoy_service_endpoint_v3_leds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_endpoint_v3_leds_proto_rawDescData) }) return file_envoy_service_endpoint_v3_leds_proto_rawDescData } var file_envoy_service_endpoint_v3_leds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_endpoint_v3_leds_proto_goTypes = []interface{}{ (*LedsDummy)(nil), // 0: envoy.service.endpoint.v3.LedsDummy (*v3.DeltaDiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DeltaDiscoveryResponse)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_endpoint_v3_leds_proto_depIdxs = []int32{ 1, // 0: envoy.service.endpoint.v3.LocalityEndpointDiscoveryService.DeltaLocalityEndpoints:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 2, // 1: envoy.service.endpoint.v3.LocalityEndpointDiscoveryService.DeltaLocalityEndpoints:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 1, // [1:2] is the sub-list for method output_type 0, // [0:1] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_endpoint_v3_leds_proto_init() } func file_envoy_service_endpoint_v3_leds_proto_init() { if File_envoy_service_endpoint_v3_leds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_endpoint_v3_leds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LedsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_endpoint_v3_leds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_endpoint_v3_leds_proto_goTypes, DependencyIndexes: file_envoy_service_endpoint_v3_leds_proto_depIdxs, MessageInfos: file_envoy_service_endpoint_v3_leds_proto_msgTypes, }.Build() File_envoy_service_endpoint_v3_leds_proto = out.File file_envoy_service_endpoint_v3_leds_proto_rawDesc = nil file_envoy_service_endpoint_v3_leds_proto_goTypes = nil file_envoy_service_endpoint_v3_leds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // LocalityEndpointDiscoveryServiceClient is the client API for LocalityEndpointDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type LocalityEndpointDiscoveryServiceClient interface { // The resource_names_subscribe resource_names_unsubscribe fields in DeltaDiscoveryRequest // specify a list of glob collections to subscribe to updates for. DeltaLocalityEndpoints(ctx context.Context, opts ...grpc.CallOption) (LocalityEndpointDiscoveryService_DeltaLocalityEndpointsClient, error) } type localityEndpointDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewLocalityEndpointDiscoveryServiceClient(cc grpc.ClientConnInterface) LocalityEndpointDiscoveryServiceClient { return &localityEndpointDiscoveryServiceClient{cc} } func (c *localityEndpointDiscoveryServiceClient) DeltaLocalityEndpoints(ctx context.Context, opts ...grpc.CallOption) (LocalityEndpointDiscoveryService_DeltaLocalityEndpointsClient, error) { stream, err := c.cc.NewStream(ctx, &_LocalityEndpointDiscoveryService_serviceDesc.Streams[0], "/envoy.service.endpoint.v3.LocalityEndpointDiscoveryService/DeltaLocalityEndpoints", opts...) if err != nil { return nil, err } x := &localityEndpointDiscoveryServiceDeltaLocalityEndpointsClient{stream} return x, nil } type LocalityEndpointDiscoveryService_DeltaLocalityEndpointsClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type localityEndpointDiscoveryServiceDeltaLocalityEndpointsClient struct { grpc.ClientStream } func (x *localityEndpointDiscoveryServiceDeltaLocalityEndpointsClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *localityEndpointDiscoveryServiceDeltaLocalityEndpointsClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // LocalityEndpointDiscoveryServiceServer is the server API for LocalityEndpointDiscoveryService service. type LocalityEndpointDiscoveryServiceServer interface { // The resource_names_subscribe resource_names_unsubscribe fields in DeltaDiscoveryRequest // specify a list of glob collections to subscribe to updates for. DeltaLocalityEndpoints(LocalityEndpointDiscoveryService_DeltaLocalityEndpointsServer) error } // UnimplementedLocalityEndpointDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedLocalityEndpointDiscoveryServiceServer struct { } func (*UnimplementedLocalityEndpointDiscoveryServiceServer) DeltaLocalityEndpoints(LocalityEndpointDiscoveryService_DeltaLocalityEndpointsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaLocalityEndpoints not implemented") } func RegisterLocalityEndpointDiscoveryServiceServer(s *grpc.Server, srv LocalityEndpointDiscoveryServiceServer) { s.RegisterService(&_LocalityEndpointDiscoveryService_serviceDesc, srv) } func _LocalityEndpointDiscoveryService_DeltaLocalityEndpoints_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(LocalityEndpointDiscoveryServiceServer).DeltaLocalityEndpoints(&localityEndpointDiscoveryServiceDeltaLocalityEndpointsServer{stream}) } type LocalityEndpointDiscoveryService_DeltaLocalityEndpointsServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type localityEndpointDiscoveryServiceDeltaLocalityEndpointsServer struct { grpc.ServerStream } func (x *localityEndpointDiscoveryServiceDeltaLocalityEndpointsServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *localityEndpointDiscoveryServiceDeltaLocalityEndpointsServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _LocalityEndpointDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.endpoint.v3.LocalityEndpointDiscoveryService", HandlerType: (*LocalityEndpointDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "DeltaLocalityEndpoints", Handler: _LocalityEndpointDiscoveryService_DeltaLocalityEndpoints_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/endpoint/v3/leds.proto", } go-control-plane-0.12.0/envoy/service/endpoint/v3/leds.pb.validate.go000077500000000000000000000061611454502223200253760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/endpoint/v3/leds.proto package endpointv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LedsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LedsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LedsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LedsDummyMultiError, or nil // if none found. func (m *LedsDummy) ValidateAll() error { return m.validate(true) } func (m *LedsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return LedsDummyMultiError(errors) } return nil } // LedsDummyMultiError is an error wrapping multiple validation errors returned // by LedsDummy.ValidateAll() if the designated constraints aren't met. type LedsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LedsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LedsDummyMultiError) AllErrors() []error { return m } // LedsDummyValidationError is the validation error returned by // LedsDummy.Validate if the designated constraints aren't met. type LedsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LedsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LedsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LedsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LedsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LedsDummyValidationError) ErrorName() string { return "LedsDummyValidationError" } // Error satisfies the builtin error interface func (e LedsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLedsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LedsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LedsDummyValidationError{} go-control-plane-0.12.0/envoy/service/event_reporting/000077500000000000000000000000001454502223200227635ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/event_reporting/v2alpha/000077500000000000000000000000001454502223200243205ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/event_reporting/v2alpha/event_reporting_service.pb.go000077500000000000000000000514161454502223200322130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/event_reporting/v2alpha/event_reporting_service.proto package v2alpha import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] // An events envoy sends to the management server. type StreamEventsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data that will only be sent in the first message on the stream. This is effectively // structured metadata and is a performance optimization. Identifier *StreamEventsRequest_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // Batch of events. When the stream is already active, it will be the events occurred // since the last message had been sent. If the server receives unknown event type, it should // silently ignore it. // // The following events are supported: // // * :ref:`HealthCheckEvent ` // * :ref:`OutlierDetectionEvent ` Events []*any1.Any `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` } func (x *StreamEventsRequest) Reset() { *x = StreamEventsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest) ProtoMessage() {} func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsRequest.ProtoReflect.Descriptor instead. func (*StreamEventsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescGZIP(), []int{0} } func (x *StreamEventsRequest) GetIdentifier() *StreamEventsRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamEventsRequest) GetEvents() []*any1.Any { if x != nil { return x.Events } return nil } // [#not-implemented-hide:] // The management server may send envoy a StreamEventsResponse to tell which events the server // is interested in. In future, with aggregated event reporting service, this message will // contain, for example, clusters the envoy should send events for, or event types the server // wants to process. type StreamEventsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamEventsResponse) Reset() { *x = StreamEventsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsResponse) ProtoMessage() {} func (x *StreamEventsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsResponse.ProtoReflect.Descriptor instead. func (*StreamEventsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescGZIP(), []int{1} } type StreamEventsRequest_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the event messages over the stream. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamEventsRequest_Identifier) Reset() { *x = StreamEventsRequest_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest_Identifier) ProtoMessage() {} func (x *StreamEventsRequest_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsRequest_Identifier.ProtoReflect.Descriptor instead. func (*StreamEventsRequest_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescGZIP(), []int{0, 0} } func (x *StreamEventsRequest_Identifier) GetNode() *core.Node { if x != nil { return x.Node } return nil } var File_envoy_service_event_reporting_v2alpha_event_reporting_service_proto protoreflect.FileDescriptor var file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDesc = []byte{ 0x0a, 0x43, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0xd1, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x22, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x33, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x1a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescOnce sync.Once file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescData = file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDesc ) func file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescGZIP() []byte { file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescOnce.Do(func() { file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescData) }) return file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDescData } var file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_goTypes = []interface{}{ (*StreamEventsRequest)(nil), // 0: envoy.service.event_reporting.v2alpha.StreamEventsRequest (*StreamEventsResponse)(nil), // 1: envoy.service.event_reporting.v2alpha.StreamEventsResponse (*StreamEventsRequest_Identifier)(nil), // 2: envoy.service.event_reporting.v2alpha.StreamEventsRequest.Identifier (*any1.Any)(nil), // 3: google.protobuf.Any (*core.Node)(nil), // 4: envoy.api.v2.core.Node } var file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.event_reporting.v2alpha.StreamEventsRequest.identifier:type_name -> envoy.service.event_reporting.v2alpha.StreamEventsRequest.Identifier 3, // 1: envoy.service.event_reporting.v2alpha.StreamEventsRequest.events:type_name -> google.protobuf.Any 4, // 2: envoy.service.event_reporting.v2alpha.StreamEventsRequest.Identifier.node:type_name -> envoy.api.v2.core.Node 0, // 3: envoy.service.event_reporting.v2alpha.EventReportingService.StreamEvents:input_type -> envoy.service.event_reporting.v2alpha.StreamEventsRequest 1, // 4: envoy.service.event_reporting.v2alpha.EventReportingService.StreamEvents:output_type -> envoy.service.event_reporting.v2alpha.StreamEventsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_init() } func file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_init() { if File_envoy_service_event_reporting_v2alpha_event_reporting_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_goTypes, DependencyIndexes: file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_depIdxs, MessageInfos: file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_msgTypes, }.Build() File_envoy_service_event_reporting_v2alpha_event_reporting_service_proto = out.File file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_rawDesc = nil file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_goTypes = nil file_envoy_service_event_reporting_v2alpha_event_reporting_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // EventReportingServiceClient is the client API for EventReportingService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type EventReportingServiceClient interface { // Envoy will connect and send StreamEventsRequest messages forever. // The management server may send StreamEventsResponse to configure event stream. See below. // This API is designed for high throughput with the expectation that it might be lossy. StreamEvents(ctx context.Context, opts ...grpc.CallOption) (EventReportingService_StreamEventsClient, error) } type eventReportingServiceClient struct { cc grpc.ClientConnInterface } func NewEventReportingServiceClient(cc grpc.ClientConnInterface) EventReportingServiceClient { return &eventReportingServiceClient{cc} } func (c *eventReportingServiceClient) StreamEvents(ctx context.Context, opts ...grpc.CallOption) (EventReportingService_StreamEventsClient, error) { stream, err := c.cc.NewStream(ctx, &_EventReportingService_serviceDesc.Streams[0], "/envoy.service.event_reporting.v2alpha.EventReportingService/StreamEvents", opts...) if err != nil { return nil, err } x := &eventReportingServiceStreamEventsClient{stream} return x, nil } type EventReportingService_StreamEventsClient interface { Send(*StreamEventsRequest) error Recv() (*StreamEventsResponse, error) grpc.ClientStream } type eventReportingServiceStreamEventsClient struct { grpc.ClientStream } func (x *eventReportingServiceStreamEventsClient) Send(m *StreamEventsRequest) error { return x.ClientStream.SendMsg(m) } func (x *eventReportingServiceStreamEventsClient) Recv() (*StreamEventsResponse, error) { m := new(StreamEventsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // EventReportingServiceServer is the server API for EventReportingService service. type EventReportingServiceServer interface { // Envoy will connect and send StreamEventsRequest messages forever. // The management server may send StreamEventsResponse to configure event stream. See below. // This API is designed for high throughput with the expectation that it might be lossy. StreamEvents(EventReportingService_StreamEventsServer) error } // UnimplementedEventReportingServiceServer can be embedded to have forward compatible implementations. type UnimplementedEventReportingServiceServer struct { } func (*UnimplementedEventReportingServiceServer) StreamEvents(EventReportingService_StreamEventsServer) error { return status.Errorf(codes.Unimplemented, "method StreamEvents not implemented") } func RegisterEventReportingServiceServer(s *grpc.Server, srv EventReportingServiceServer) { s.RegisterService(&_EventReportingService_serviceDesc, srv) } func _EventReportingService_StreamEvents_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EventReportingServiceServer).StreamEvents(&eventReportingServiceStreamEventsServer{stream}) } type EventReportingService_StreamEventsServer interface { Send(*StreamEventsResponse) error Recv() (*StreamEventsRequest, error) grpc.ServerStream } type eventReportingServiceStreamEventsServer struct { grpc.ServerStream } func (x *eventReportingServiceStreamEventsServer) Send(m *StreamEventsResponse) error { return x.ServerStream.SendMsg(m) } func (x *eventReportingServiceStreamEventsServer) Recv() (*StreamEventsRequest, error) { m := new(StreamEventsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _EventReportingService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.event_reporting.v2alpha.EventReportingService", HandlerType: (*EventReportingServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamEvents", Handler: _EventReportingService_StreamEvents_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/event_reporting/v2alpha/event_reporting_service.proto", } go-control-plane-0.12.0/envoy/service/event_reporting/v2alpha/event_reporting_service.pb.validate.go000077500000000000000000000304641454502223200340030ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/event_reporting/v2alpha/event_reporting_service.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamEventsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamEventsRequestMultiError, or nil if none found. func (m *StreamEventsRequest) ValidateAll() error { return m.validate(true) } func (m *StreamEventsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } if len(m.GetEvents()) < 1 { err := StreamEventsRequestValidationError{ field: "Events", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEvents() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamEventsRequestMultiError(errors) } return nil } // StreamEventsRequestMultiError is an error wrapping multiple validation // errors returned by StreamEventsRequest.ValidateAll() if the designated // constraints aren't met. type StreamEventsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsRequestMultiError) AllErrors() []error { return m } // StreamEventsRequestValidationError is the validation error returned by // StreamEventsRequest.Validate if the designated constraints aren't met. type StreamEventsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsRequestValidationError) ErrorName() string { return "StreamEventsRequestValidationError" } // Error satisfies the builtin error interface func (e StreamEventsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsRequestValidationError{} // Validate checks the field values on StreamEventsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamEventsResponseMultiError, or nil if none found. func (m *StreamEventsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamEventsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamEventsResponseMultiError(errors) } return nil } // StreamEventsResponseMultiError is an error wrapping multiple validation // errors returned by StreamEventsResponse.ValidateAll() if the designated // constraints aren't met. type StreamEventsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsResponseMultiError) AllErrors() []error { return m } // StreamEventsResponseValidationError is the validation error returned by // StreamEventsResponse.Validate if the designated constraints aren't met. type StreamEventsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsResponseValidationError) ErrorName() string { return "StreamEventsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamEventsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsResponseValidationError{} // Validate checks the field values on StreamEventsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsRequest_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsRequest_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamEventsRequest_IdentifierMultiError, or nil if none found. func (m *StreamEventsRequest_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamEventsRequest_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamEventsRequest_IdentifierMultiError(errors) } return nil } // StreamEventsRequest_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamEventsRequest_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamEventsRequest_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsRequest_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsRequest_IdentifierMultiError) AllErrors() []error { return m } // StreamEventsRequest_IdentifierValidationError is the validation error // returned by StreamEventsRequest_Identifier.Validate if the designated // constraints aren't met. type StreamEventsRequest_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsRequest_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsRequest_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsRequest_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsRequest_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsRequest_IdentifierValidationError) ErrorName() string { return "StreamEventsRequest_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamEventsRequest_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsRequest_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsRequest_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsRequest_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/event_reporting/v3/000077500000000000000000000000001454502223200233135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/event_reporting/v3/event_reporting_service.pb.go000077500000000000000000000527641454502223200312150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/event_reporting/v3/event_reporting_service.proto package event_reportingv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" any1 "github.com/golang/protobuf/ptypes/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] // An events envoy sends to the management server. type StreamEventsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data that will only be sent in the first message on the stream. This is effectively // structured metadata and is a performance optimization. Identifier *StreamEventsRequest_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // Batch of events. When the stream is already active, it will be the events occurred // since the last message had been sent. If the server receives unknown event type, it should // silently ignore it. // // The following events are supported: // // * :ref:`HealthCheckEvent ` // * :ref:`OutlierDetectionEvent ` Events []*any1.Any `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` } func (x *StreamEventsRequest) Reset() { *x = StreamEventsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest) ProtoMessage() {} func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsRequest.ProtoReflect.Descriptor instead. func (*StreamEventsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescGZIP(), []int{0} } func (x *StreamEventsRequest) GetIdentifier() *StreamEventsRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamEventsRequest) GetEvents() []*any1.Any { if x != nil { return x.Events } return nil } // [#not-implemented-hide:] // The management server may send envoy a StreamEventsResponse to tell which events the server // is interested in. In future, with aggregated event reporting service, this message will // contain, for example, clusters the envoy should send events for, or event types the server // wants to process. type StreamEventsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamEventsResponse) Reset() { *x = StreamEventsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsResponse) ProtoMessage() {} func (x *StreamEventsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsResponse.ProtoReflect.Descriptor instead. func (*StreamEventsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescGZIP(), []int{1} } type StreamEventsRequest_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the event messages over the stream. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamEventsRequest_Identifier) Reset() { *x = StreamEventsRequest_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest_Identifier) ProtoMessage() {} func (x *StreamEventsRequest_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEventsRequest_Identifier.ProtoReflect.Descriptor instead. func (*StreamEventsRequest_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescGZIP(), []int{0, 0} } func (x *StreamEventsRequest_Identifier) GetNode() *v3.Node { if x != nil { return x.Node } return nil } var File_envoy_service_event_reporting_v3_event_reporting_service_proto protoreflect.FileDescriptor var file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDesc = []byte{ 0x0a, 0x3e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x93, 0x01, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x3a, 0x4b, 0x9a, 0xc5, 0x88, 0x1e, 0x46, 0x0a, 0x44, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x40, 0x9a, 0xc5, 0x88, 0x1e, 0x3b, 0x0a, 0x39, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x41, 0x9a, 0xc5, 0x88, 0x1e, 0x3c, 0x0a, 0x3a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9d, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0xb1, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x1a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescOnce sync.Once file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescData = file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDesc ) func file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescGZIP() []byte { file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescOnce.Do(func() { file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescData) }) return file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDescData } var file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_event_reporting_v3_event_reporting_service_proto_goTypes = []interface{}{ (*StreamEventsRequest)(nil), // 0: envoy.service.event_reporting.v3.StreamEventsRequest (*StreamEventsResponse)(nil), // 1: envoy.service.event_reporting.v3.StreamEventsResponse (*StreamEventsRequest_Identifier)(nil), // 2: envoy.service.event_reporting.v3.StreamEventsRequest.Identifier (*any1.Any)(nil), // 3: google.protobuf.Any (*v3.Node)(nil), // 4: envoy.config.core.v3.Node } var file_envoy_service_event_reporting_v3_event_reporting_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.event_reporting.v3.StreamEventsRequest.identifier:type_name -> envoy.service.event_reporting.v3.StreamEventsRequest.Identifier 3, // 1: envoy.service.event_reporting.v3.StreamEventsRequest.events:type_name -> google.protobuf.Any 4, // 2: envoy.service.event_reporting.v3.StreamEventsRequest.Identifier.node:type_name -> envoy.config.core.v3.Node 0, // 3: envoy.service.event_reporting.v3.EventReportingService.StreamEvents:input_type -> envoy.service.event_reporting.v3.StreamEventsRequest 1, // 4: envoy.service.event_reporting.v3.EventReportingService.StreamEvents:output_type -> envoy.service.event_reporting.v3.StreamEventsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_event_reporting_v3_event_reporting_service_proto_init() } func file_envoy_service_event_reporting_v3_event_reporting_service_proto_init() { if File_envoy_service_event_reporting_v3_event_reporting_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_event_reporting_v3_event_reporting_service_proto_goTypes, DependencyIndexes: file_envoy_service_event_reporting_v3_event_reporting_service_proto_depIdxs, MessageInfos: file_envoy_service_event_reporting_v3_event_reporting_service_proto_msgTypes, }.Build() File_envoy_service_event_reporting_v3_event_reporting_service_proto = out.File file_envoy_service_event_reporting_v3_event_reporting_service_proto_rawDesc = nil file_envoy_service_event_reporting_v3_event_reporting_service_proto_goTypes = nil file_envoy_service_event_reporting_v3_event_reporting_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // EventReportingServiceClient is the client API for EventReportingService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type EventReportingServiceClient interface { // Envoy will connect and send StreamEventsRequest messages forever. // The management server may send StreamEventsResponse to configure event stream. See below. // This API is designed for high throughput with the expectation that it might be lossy. StreamEvents(ctx context.Context, opts ...grpc.CallOption) (EventReportingService_StreamEventsClient, error) } type eventReportingServiceClient struct { cc grpc.ClientConnInterface } func NewEventReportingServiceClient(cc grpc.ClientConnInterface) EventReportingServiceClient { return &eventReportingServiceClient{cc} } func (c *eventReportingServiceClient) StreamEvents(ctx context.Context, opts ...grpc.CallOption) (EventReportingService_StreamEventsClient, error) { stream, err := c.cc.NewStream(ctx, &_EventReportingService_serviceDesc.Streams[0], "/envoy.service.event_reporting.v3.EventReportingService/StreamEvents", opts...) if err != nil { return nil, err } x := &eventReportingServiceStreamEventsClient{stream} return x, nil } type EventReportingService_StreamEventsClient interface { Send(*StreamEventsRequest) error Recv() (*StreamEventsResponse, error) grpc.ClientStream } type eventReportingServiceStreamEventsClient struct { grpc.ClientStream } func (x *eventReportingServiceStreamEventsClient) Send(m *StreamEventsRequest) error { return x.ClientStream.SendMsg(m) } func (x *eventReportingServiceStreamEventsClient) Recv() (*StreamEventsResponse, error) { m := new(StreamEventsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // EventReportingServiceServer is the server API for EventReportingService service. type EventReportingServiceServer interface { // Envoy will connect and send StreamEventsRequest messages forever. // The management server may send StreamEventsResponse to configure event stream. See below. // This API is designed for high throughput with the expectation that it might be lossy. StreamEvents(EventReportingService_StreamEventsServer) error } // UnimplementedEventReportingServiceServer can be embedded to have forward compatible implementations. type UnimplementedEventReportingServiceServer struct { } func (*UnimplementedEventReportingServiceServer) StreamEvents(EventReportingService_StreamEventsServer) error { return status.Errorf(codes.Unimplemented, "method StreamEvents not implemented") } func RegisterEventReportingServiceServer(s *grpc.Server, srv EventReportingServiceServer) { s.RegisterService(&_EventReportingService_serviceDesc, srv) } func _EventReportingService_StreamEvents_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(EventReportingServiceServer).StreamEvents(&eventReportingServiceStreamEventsServer{stream}) } type EventReportingService_StreamEventsServer interface { Send(*StreamEventsResponse) error Recv() (*StreamEventsRequest, error) grpc.ServerStream } type eventReportingServiceStreamEventsServer struct { grpc.ServerStream } func (x *eventReportingServiceStreamEventsServer) Send(m *StreamEventsResponse) error { return x.ServerStream.SendMsg(m) } func (x *eventReportingServiceStreamEventsServer) Recv() (*StreamEventsRequest, error) { m := new(StreamEventsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _EventReportingService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.event_reporting.v3.EventReportingService", HandlerType: (*EventReportingServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamEvents", Handler: _EventReportingService_StreamEvents_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/event_reporting/v3/event_reporting_service.proto", } go-control-plane-0.12.0/envoy/service/event_reporting/v3/event_reporting_service.pb.validate.go000077500000000000000000000304711454502223200327740ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/event_reporting/v3/event_reporting_service.proto package event_reportingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamEventsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamEventsRequestMultiError, or nil if none found. func (m *StreamEventsRequest) ValidateAll() error { return m.validate(true) } func (m *StreamEventsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } if len(m.GetEvents()) < 1 { err := StreamEventsRequestValidationError{ field: "Events", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetEvents() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequestValidationError{ field: fmt.Sprintf("Events[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamEventsRequestMultiError(errors) } return nil } // StreamEventsRequestMultiError is an error wrapping multiple validation // errors returned by StreamEventsRequest.ValidateAll() if the designated // constraints aren't met. type StreamEventsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsRequestMultiError) AllErrors() []error { return m } // StreamEventsRequestValidationError is the validation error returned by // StreamEventsRequest.Validate if the designated constraints aren't met. type StreamEventsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsRequestValidationError) ErrorName() string { return "StreamEventsRequestValidationError" } // Error satisfies the builtin error interface func (e StreamEventsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsRequestValidationError{} // Validate checks the field values on StreamEventsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamEventsResponseMultiError, or nil if none found. func (m *StreamEventsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamEventsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamEventsResponseMultiError(errors) } return nil } // StreamEventsResponseMultiError is an error wrapping multiple validation // errors returned by StreamEventsResponse.ValidateAll() if the designated // constraints aren't met. type StreamEventsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsResponseMultiError) AllErrors() []error { return m } // StreamEventsResponseValidationError is the validation error returned by // StreamEventsResponse.Validate if the designated constraints aren't met. type StreamEventsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsResponseValidationError) ErrorName() string { return "StreamEventsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamEventsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsResponseValidationError{} // Validate checks the field values on StreamEventsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamEventsRequest_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamEventsRequest_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamEventsRequest_IdentifierMultiError, or nil if none found. func (m *StreamEventsRequest_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamEventsRequest_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamEventsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamEventsRequest_IdentifierMultiError(errors) } return nil } // StreamEventsRequest_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamEventsRequest_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamEventsRequest_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamEventsRequest_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamEventsRequest_IdentifierMultiError) AllErrors() []error { return m } // StreamEventsRequest_IdentifierValidationError is the validation error // returned by StreamEventsRequest_Identifier.Validate if the designated // constraints aren't met. type StreamEventsRequest_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamEventsRequest_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamEventsRequest_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamEventsRequest_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamEventsRequest_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamEventsRequest_IdentifierValidationError) ErrorName() string { return "StreamEventsRequest_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamEventsRequest_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamEventsRequest_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamEventsRequest_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamEventsRequest_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/ext_proc/000077500000000000000000000000001454502223200213745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/ext_proc/v3/000077500000000000000000000000001454502223200217245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/ext_proc/v3/external_processor.pb.go000077500000000000000000002410021454502223200265760ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/ext_proc/v3/external_processor.proto package ext_procv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/ext_proc/v3" v32 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CommonResponse_ResponseStatus int32 const ( // Apply the mutation instructions in this message to the // request or response, and then continue processing the filter // stream as normal. This is the default. CommonResponse_CONTINUE CommonResponse_ResponseStatus = 0 // Apply the specified header mutation, replace the body with the body // specified in the body mutation (if present), and do not send any // further messages for this request or response even if the processing // mode is configured to do so. // // When used in response to a request_headers or response_headers message, // this status makes it possible to either completely replace the body // while discarding the original body, or to add a body to a message that // formerly did not have one. // // In other words, this response makes it possible to turn an HTTP GET // into a POST, PUT, or PATCH. CommonResponse_CONTINUE_AND_REPLACE CommonResponse_ResponseStatus = 1 ) // Enum value maps for CommonResponse_ResponseStatus. var ( CommonResponse_ResponseStatus_name = map[int32]string{ 0: "CONTINUE", 1: "CONTINUE_AND_REPLACE", } CommonResponse_ResponseStatus_value = map[string]int32{ "CONTINUE": 0, "CONTINUE_AND_REPLACE": 1, } ) func (x CommonResponse_ResponseStatus) Enum() *CommonResponse_ResponseStatus { p := new(CommonResponse_ResponseStatus) *p = x return p } func (x CommonResponse_ResponseStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommonResponse_ResponseStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_ext_proc_v3_external_processor_proto_enumTypes[0].Descriptor() } func (CommonResponse_ResponseStatus) Type() protoreflect.EnumType { return &file_envoy_service_ext_proc_v3_external_processor_proto_enumTypes[0] } func (x CommonResponse_ResponseStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommonResponse_ResponseStatus.Descriptor instead. func (CommonResponse_ResponseStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{8, 0} } // This represents the different types of messages that Envoy can send // to an external processing server. // [#next-free-field: 8] type ProcessingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify whether the filter that sent this request is running in synchronous // or asynchronous mode. The choice of synchronous or asynchronous mode // can be set in the filter configuration, and defaults to false. // // - A value of “false“ indicates that the server must respond // to this message by either sending back a matching ProcessingResponse message, // or by closing the stream. // - A value of “true“ indicates that the server must not respond to this // message, although it may still close the stream to indicate that no more messages // are needed. AsyncMode bool `protobuf:"varint,1,opt,name=async_mode,json=asyncMode,proto3" json:"async_mode,omitempty"` // Each request message will include one of the following sub-messages. Which // ones are set for a particular HTTP request/response depend on the // processing mode. // // Types that are assignable to Request: // // *ProcessingRequest_RequestHeaders // *ProcessingRequest_ResponseHeaders // *ProcessingRequest_RequestBody // *ProcessingRequest_ResponseBody // *ProcessingRequest_RequestTrailers // *ProcessingRequest_ResponseTrailers Request isProcessingRequest_Request `protobuf_oneof:"request"` } func (x *ProcessingRequest) Reset() { *x = ProcessingRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProcessingRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProcessingRequest) ProtoMessage() {} func (x *ProcessingRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProcessingRequest.ProtoReflect.Descriptor instead. func (*ProcessingRequest) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{0} } func (x *ProcessingRequest) GetAsyncMode() bool { if x != nil { return x.AsyncMode } return false } func (m *ProcessingRequest) GetRequest() isProcessingRequest_Request { if m != nil { return m.Request } return nil } func (x *ProcessingRequest) GetRequestHeaders() *HttpHeaders { if x, ok := x.GetRequest().(*ProcessingRequest_RequestHeaders); ok { return x.RequestHeaders } return nil } func (x *ProcessingRequest) GetResponseHeaders() *HttpHeaders { if x, ok := x.GetRequest().(*ProcessingRequest_ResponseHeaders); ok { return x.ResponseHeaders } return nil } func (x *ProcessingRequest) GetRequestBody() *HttpBody { if x, ok := x.GetRequest().(*ProcessingRequest_RequestBody); ok { return x.RequestBody } return nil } func (x *ProcessingRequest) GetResponseBody() *HttpBody { if x, ok := x.GetRequest().(*ProcessingRequest_ResponseBody); ok { return x.ResponseBody } return nil } func (x *ProcessingRequest) GetRequestTrailers() *HttpTrailers { if x, ok := x.GetRequest().(*ProcessingRequest_RequestTrailers); ok { return x.RequestTrailers } return nil } func (x *ProcessingRequest) GetResponseTrailers() *HttpTrailers { if x, ok := x.GetRequest().(*ProcessingRequest_ResponseTrailers); ok { return x.ResponseTrailers } return nil } type isProcessingRequest_Request interface { isProcessingRequest_Request() } type ProcessingRequest_RequestHeaders struct { // Information about the HTTP request headers, as well as peer info and additional // properties. Unless “async_mode“ is “true“, the server must send back a // HeaderResponse message, an ImmediateResponse message, or close the stream. RequestHeaders *HttpHeaders `protobuf:"bytes,2,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type ProcessingRequest_ResponseHeaders struct { // Information about the HTTP response headers, as well as peer info and additional // properties. Unless “async_mode“ is “true“, the server must send back a // HeaderResponse message or close the stream. ResponseHeaders *HttpHeaders `protobuf:"bytes,3,opt,name=response_headers,json=responseHeaders,proto3,oneof"` } type ProcessingRequest_RequestBody struct { // A chunk of the HTTP request body. Unless “async_mode“ is true, the server must send back // a BodyResponse message, an ImmediateResponse message, or close the stream. RequestBody *HttpBody `protobuf:"bytes,4,opt,name=request_body,json=requestBody,proto3,oneof"` } type ProcessingRequest_ResponseBody struct { // A chunk of the HTTP request body. Unless “async_mode“ is “true“, the server must send back // a BodyResponse message or close the stream. ResponseBody *HttpBody `protobuf:"bytes,5,opt,name=response_body,json=responseBody,proto3,oneof"` } type ProcessingRequest_RequestTrailers struct { // The HTTP trailers for the request path. Unless “async_mode“ is “true“, the server // must send back a TrailerResponse message or close the stream. // // This message is only sent if the trailers processing mode is set to “SEND“. // If there are no trailers on the original downstream request, then this message // will only be sent (with empty trailers waiting to be populated) if the // processing mode is set before the request headers are sent, such as // in the filter configuration. RequestTrailers *HttpTrailers `protobuf:"bytes,6,opt,name=request_trailers,json=requestTrailers,proto3,oneof"` } type ProcessingRequest_ResponseTrailers struct { // The HTTP trailers for the response path. Unless “async_mode“ is “true“, the server // must send back a TrailerResponse message or close the stream. // // This message is only sent if the trailers processing mode is set to “SEND“. // If there are no trailers on the original downstream request, then this message // will only be sent (with empty trailers waiting to be populated) if the // processing mode is set before the request headers are sent, such as // in the filter configuration. ResponseTrailers *HttpTrailers `protobuf:"bytes,7,opt,name=response_trailers,json=responseTrailers,proto3,oneof"` } func (*ProcessingRequest_RequestHeaders) isProcessingRequest_Request() {} func (*ProcessingRequest_ResponseHeaders) isProcessingRequest_Request() {} func (*ProcessingRequest_RequestBody) isProcessingRequest_Request() {} func (*ProcessingRequest_ResponseBody) isProcessingRequest_Request() {} func (*ProcessingRequest_RequestTrailers) isProcessingRequest_Request() {} func (*ProcessingRequest_ResponseTrailers) isProcessingRequest_Request() {} // For every ProcessingRequest received by the server with the “async_mode“ field // set to false, the server must send back exactly one ProcessingResponse message. // [#next-free-field: 11] type ProcessingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *ProcessingResponse_RequestHeaders // *ProcessingResponse_ResponseHeaders // *ProcessingResponse_RequestBody // *ProcessingResponse_ResponseBody // *ProcessingResponse_RequestTrailers // *ProcessingResponse_ResponseTrailers // *ProcessingResponse_ImmediateResponse Response isProcessingResponse_Response `protobuf_oneof:"response"` // [#not-implemented-hide:] // Optional metadata that will be emitted as dynamic metadata to be consumed by the next // filter. This metadata will be placed in the namespace “envoy.filters.http.ext_proc“. DynamicMetadata *_struct.Struct `protobuf:"bytes,8,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"` // Override how parts of the HTTP request and response are processed // for the duration of this particular request/response only. Servers // may use this to intelligently control how requests are processed // based on the headers and other metadata that they see. // This field is only applicable when servers responding to the header requests. // If it is set in the response to the body or trailer requests, it will be ignored by Envoy. // It is also ignored by Envoy when the ext_proc filter config // :ref:`allow_mode_override // ` // is set to false. ModeOverride *v3.ProcessingMode `protobuf:"bytes,9,opt,name=mode_override,json=modeOverride,proto3" json:"mode_override,omitempty"` // When ext_proc server receives a request message, in case it needs more // time to process the message, it sends back a ProcessingResponse message // with a new timeout value. When Envoy receives this response message, // it ignores other fields in the response, just stop the original timer, // which has the timeout value specified in // :ref:`message_timeout // ` // and start a new timer with this “override_message_timeout“ value and keep the // Envoy ext_proc filter state machine intact. // Has to be >= 1ms and <= // :ref:`max_message_timeout ` // Such message can be sent at most once in a particular Envoy ext_proc filter processing state. // To enable this API, one has to set “max_message_timeout“ to a number >= 1ms. OverrideMessageTimeout *duration.Duration `protobuf:"bytes,10,opt,name=override_message_timeout,json=overrideMessageTimeout,proto3" json:"override_message_timeout,omitempty"` } func (x *ProcessingResponse) Reset() { *x = ProcessingResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProcessingResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProcessingResponse) ProtoMessage() {} func (x *ProcessingResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProcessingResponse.ProtoReflect.Descriptor instead. func (*ProcessingResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{1} } func (m *ProcessingResponse) GetResponse() isProcessingResponse_Response { if m != nil { return m.Response } return nil } func (x *ProcessingResponse) GetRequestHeaders() *HeadersResponse { if x, ok := x.GetResponse().(*ProcessingResponse_RequestHeaders); ok { return x.RequestHeaders } return nil } func (x *ProcessingResponse) GetResponseHeaders() *HeadersResponse { if x, ok := x.GetResponse().(*ProcessingResponse_ResponseHeaders); ok { return x.ResponseHeaders } return nil } func (x *ProcessingResponse) GetRequestBody() *BodyResponse { if x, ok := x.GetResponse().(*ProcessingResponse_RequestBody); ok { return x.RequestBody } return nil } func (x *ProcessingResponse) GetResponseBody() *BodyResponse { if x, ok := x.GetResponse().(*ProcessingResponse_ResponseBody); ok { return x.ResponseBody } return nil } func (x *ProcessingResponse) GetRequestTrailers() *TrailersResponse { if x, ok := x.GetResponse().(*ProcessingResponse_RequestTrailers); ok { return x.RequestTrailers } return nil } func (x *ProcessingResponse) GetResponseTrailers() *TrailersResponse { if x, ok := x.GetResponse().(*ProcessingResponse_ResponseTrailers); ok { return x.ResponseTrailers } return nil } func (x *ProcessingResponse) GetImmediateResponse() *ImmediateResponse { if x, ok := x.GetResponse().(*ProcessingResponse_ImmediateResponse); ok { return x.ImmediateResponse } return nil } func (x *ProcessingResponse) GetDynamicMetadata() *_struct.Struct { if x != nil { return x.DynamicMetadata } return nil } func (x *ProcessingResponse) GetModeOverride() *v3.ProcessingMode { if x != nil { return x.ModeOverride } return nil } func (x *ProcessingResponse) GetOverrideMessageTimeout() *duration.Duration { if x != nil { return x.OverrideMessageTimeout } return nil } type isProcessingResponse_Response interface { isProcessingResponse_Response() } type ProcessingResponse_RequestHeaders struct { // The server must send back this message in response to a message with the // “request_headers“ field set. RequestHeaders *HeadersResponse `protobuf:"bytes,1,opt,name=request_headers,json=requestHeaders,proto3,oneof"` } type ProcessingResponse_ResponseHeaders struct { // The server must send back this message in response to a message with the // “response_headers“ field set. ResponseHeaders *HeadersResponse `protobuf:"bytes,2,opt,name=response_headers,json=responseHeaders,proto3,oneof"` } type ProcessingResponse_RequestBody struct { // The server must send back this message in response to a message with // the “request_body“ field set. RequestBody *BodyResponse `protobuf:"bytes,3,opt,name=request_body,json=requestBody,proto3,oneof"` } type ProcessingResponse_ResponseBody struct { // The server must send back this message in response to a message with // the “response_body“ field set. ResponseBody *BodyResponse `protobuf:"bytes,4,opt,name=response_body,json=responseBody,proto3,oneof"` } type ProcessingResponse_RequestTrailers struct { // The server must send back this message in response to a message with // the “request_trailers“ field set. RequestTrailers *TrailersResponse `protobuf:"bytes,5,opt,name=request_trailers,json=requestTrailers,proto3,oneof"` } type ProcessingResponse_ResponseTrailers struct { // The server must send back this message in response to a message with // the “response_trailers“ field set. ResponseTrailers *TrailersResponse `protobuf:"bytes,6,opt,name=response_trailers,json=responseTrailers,proto3,oneof"` } type ProcessingResponse_ImmediateResponse struct { // If specified, attempt to create a locally generated response, send it // downstream, and stop processing additional filters and ignore any // additional messages received from the remote server for this request or // response. If a response has already started -- for example, if this // message is sent response to a “response_body“ message -- then // this will either ship the reply directly to the downstream codec, // or reset the stream. ImmediateResponse *ImmediateResponse `protobuf:"bytes,7,opt,name=immediate_response,json=immediateResponse,proto3,oneof"` } func (*ProcessingResponse_RequestHeaders) isProcessingResponse_Response() {} func (*ProcessingResponse_ResponseHeaders) isProcessingResponse_Response() {} func (*ProcessingResponse_RequestBody) isProcessingResponse_Response() {} func (*ProcessingResponse_ResponseBody) isProcessingResponse_Response() {} func (*ProcessingResponse_RequestTrailers) isProcessingResponse_Response() {} func (*ProcessingResponse_ResponseTrailers) isProcessingResponse_Response() {} func (*ProcessingResponse_ImmediateResponse) isProcessingResponse_Response() {} // This message is sent to the external server when the HTTP request and responses // are first received. type HttpHeaders struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The HTTP request headers. All header keys will be // lower-cased, because HTTP header keys are case-insensitive. // The “headers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value ` field. // When it is false, the header value is encoded in the // :ref:`value ` field. Headers *v31.HeaderMap `protobuf:"bytes,1,opt,name=headers,proto3" json:"headers,omitempty"` // [#not-implemented-hide:] // The values of properties selected by the “request_attributes“ // or “response_attributes“ list in the configuration. Each entry // in the list is populated // from the standard :ref:`attributes ` // supported across Envoy. Attributes map[string]*_struct.Struct `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // If true, then there is no message body associated with this // request or response. EndOfStream bool `protobuf:"varint,3,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"` } func (x *HttpHeaders) Reset() { *x = HttpHeaders{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpHeaders) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpHeaders) ProtoMessage() {} func (x *HttpHeaders) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpHeaders.ProtoReflect.Descriptor instead. func (*HttpHeaders) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{2} } func (x *HttpHeaders) GetHeaders() *v31.HeaderMap { if x != nil { return x.Headers } return nil } func (x *HttpHeaders) GetAttributes() map[string]*_struct.Struct { if x != nil { return x.Attributes } return nil } func (x *HttpHeaders) GetEndOfStream() bool { if x != nil { return x.EndOfStream } return false } // This message contains the message body that Envoy sends to the external server. type HttpBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` EndOfStream bool `protobuf:"varint,2,opt,name=end_of_stream,json=endOfStream,proto3" json:"end_of_stream,omitempty"` } func (x *HttpBody) Reset() { *x = HttpBody{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpBody) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpBody) ProtoMessage() {} func (x *HttpBody) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpBody.ProtoReflect.Descriptor instead. func (*HttpBody) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{3} } func (x *HttpBody) GetBody() []byte { if x != nil { return x.Body } return nil } func (x *HttpBody) GetEndOfStream() bool { if x != nil { return x.EndOfStream } return false } // This message contains the trailers. type HttpTrailers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The “trailers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value ` field. // When it is false, the header value is encoded in the // :ref:`value ` field. Trailers *v31.HeaderMap `protobuf:"bytes,1,opt,name=trailers,proto3" json:"trailers,omitempty"` } func (x *HttpTrailers) Reset() { *x = HttpTrailers{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpTrailers) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpTrailers) ProtoMessage() {} func (x *HttpTrailers) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpTrailers.ProtoReflect.Descriptor instead. func (*HttpTrailers) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{4} } func (x *HttpTrailers) GetTrailers() *v31.HeaderMap { if x != nil { return x.Trailers } return nil } // This message must be sent in response to an HttpHeaders message. type HeadersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (x *HeadersResponse) Reset() { *x = HeadersResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeadersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadersResponse) ProtoMessage() {} func (x *HeadersResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeadersResponse.ProtoReflect.Descriptor instead. func (*HeadersResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{5} } func (x *HeadersResponse) GetResponse() *CommonResponse { if x != nil { return x.Response } return nil } // This message must be sent in response to an HttpTrailers message. type TrailersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Instructions on how to manipulate the trailers HeaderMutation *HeaderMutation `protobuf:"bytes,1,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"` } func (x *TrailersResponse) Reset() { *x = TrailersResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TrailersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TrailersResponse) ProtoMessage() {} func (x *TrailersResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TrailersResponse.ProtoReflect.Descriptor instead. func (*TrailersResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{6} } func (x *TrailersResponse) GetHeaderMutation() *HeaderMutation { if x != nil { return x.HeaderMutation } return nil } // This message must be sent in response to an HttpBody message. type BodyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Response *CommonResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (x *BodyResponse) Reset() { *x = BodyResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BodyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BodyResponse) ProtoMessage() {} func (x *BodyResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BodyResponse.ProtoReflect.Descriptor instead. func (*BodyResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{7} } func (x *BodyResponse) GetResponse() *CommonResponse { if x != nil { return x.Response } return nil } // This message contains common fields between header and body responses. // [#next-free-field: 6] type CommonResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If set, provide additional direction on how the Envoy proxy should // handle the rest of the HTTP filter chain. Status CommonResponse_ResponseStatus `protobuf:"varint,1,opt,name=status,proto3,enum=envoy.service.ext_proc.v3.CommonResponse_ResponseStatus" json:"status,omitempty"` // Instructions on how to manipulate the headers. When responding to an // HttpBody request, header mutations will only take effect if // the current processing mode for the body is BUFFERED. HeaderMutation *HeaderMutation `protobuf:"bytes,2,opt,name=header_mutation,json=headerMutation,proto3" json:"header_mutation,omitempty"` // Replace the body of the last message sent to the remote server on this // stream. If responding to an HttpBody request, simply replace or clear // the body chunk that was sent with that request. Body mutations may take // effect in response either to “header“ or “body“ messages. When it is // in response to “header“ messages, it only take effect if the // :ref:`status ` // is set to CONTINUE_AND_REPLACE. BodyMutation *BodyMutation `protobuf:"bytes,3,opt,name=body_mutation,json=bodyMutation,proto3" json:"body_mutation,omitempty"` // [#not-implemented-hide:] // Add new trailers to the message. This may be used when responding to either a // HttpHeaders or HttpBody message, but only if this message is returned // along with the CONTINUE_AND_REPLACE status. // The “trailers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value ` field. // When it is false, the header value is encoded in the // :ref:`value ` field. Trailers *v31.HeaderMap `protobuf:"bytes,4,opt,name=trailers,proto3" json:"trailers,omitempty"` // Clear the route cache for the current client request. This is necessary // if the remote server modified headers that are used to calculate the route. // This field is ignored in the response direction. ClearRouteCache bool `protobuf:"varint,5,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` } func (x *CommonResponse) Reset() { *x = CommonResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonResponse) ProtoMessage() {} func (x *CommonResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. func (*CommonResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{8} } func (x *CommonResponse) GetStatus() CommonResponse_ResponseStatus { if x != nil { return x.Status } return CommonResponse_CONTINUE } func (x *CommonResponse) GetHeaderMutation() *HeaderMutation { if x != nil { return x.HeaderMutation } return nil } func (x *CommonResponse) GetBodyMutation() *BodyMutation { if x != nil { return x.BodyMutation } return nil } func (x *CommonResponse) GetTrailers() *v31.HeaderMap { if x != nil { return x.Trailers } return nil } func (x *CommonResponse) GetClearRouteCache() bool { if x != nil { return x.ClearRouteCache } return false } // This message causes the filter to attempt to create a locally // generated response, send it downstream, stop processing // additional filters, and ignore any additional messages received // from the remote server for this request or response. If a response // has already started, then this will either ship the reply directly // to the downstream codec, or reset the stream. // [#next-free-field: 6] type ImmediateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The response code to return Status *v32.HttpStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // Apply changes to the default headers, which will include content-type. Headers *HeaderMutation `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"` // The message body to return with the response which is sent using the // text/plain content type, or encoded in the grpc-message header. Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` // If set, then include a gRPC status trailer. GrpcStatus *GrpcStatus `protobuf:"bytes,4,opt,name=grpc_status,json=grpcStatus,proto3" json:"grpc_status,omitempty"` // A string detailing why this local reply was sent, which may be included // in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS% // command operator field for use in access logging). Details string `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"` } func (x *ImmediateResponse) Reset() { *x = ImmediateResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ImmediateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ImmediateResponse) ProtoMessage() {} func (x *ImmediateResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ImmediateResponse.ProtoReflect.Descriptor instead. func (*ImmediateResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{9} } func (x *ImmediateResponse) GetStatus() *v32.HttpStatus { if x != nil { return x.Status } return nil } func (x *ImmediateResponse) GetHeaders() *HeaderMutation { if x != nil { return x.Headers } return nil } func (x *ImmediateResponse) GetBody() string { if x != nil { return x.Body } return "" } func (x *ImmediateResponse) GetGrpcStatus() *GrpcStatus { if x != nil { return x.GrpcStatus } return nil } func (x *ImmediateResponse) GetDetails() string { if x != nil { return x.Details } return "" } // This message specifies a gRPC status for an ImmediateResponse message. type GrpcStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The actual gRPC status Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` } func (x *GrpcStatus) Reset() { *x = GrpcStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrpcStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrpcStatus) ProtoMessage() {} func (x *GrpcStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GrpcStatus.ProtoReflect.Descriptor instead. func (*GrpcStatus) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{10} } func (x *GrpcStatus) GetStatus() uint32 { if x != nil { return x.Status } return 0 } // Change HTTP headers or trailers by appending, replacing, or removing // headers. type HeaderMutation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Add or replace HTTP headers. Attempts to set the value of // any “x-envoy“ header, and attempts to set the “:method“, // “:authority“, “:scheme“, or “host“ headers will be ignored. // The “set_headers“ encoding is based on the runtime guard // envoy_reloadable_features_send_header_raw_value setting. // When it is true, the header value is encoded in the // :ref:`raw_value ` field. // When it is false, the header value is encoded in the // :ref:`value ` field. SetHeaders []*v31.HeaderValueOption `protobuf:"bytes,1,rep,name=set_headers,json=setHeaders,proto3" json:"set_headers,omitempty"` // Remove these HTTP headers. Attempts to remove system headers -- // any header starting with “:“, plus “host“ -- will be ignored. RemoveHeaders []string `protobuf:"bytes,2,rep,name=remove_headers,json=removeHeaders,proto3" json:"remove_headers,omitempty"` } func (x *HeaderMutation) Reset() { *x = HeaderMutation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeaderMutation) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderMutation) ProtoMessage() {} func (x *HeaderMutation) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead. func (*HeaderMutation) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{11} } func (x *HeaderMutation) GetSetHeaders() []*v31.HeaderValueOption { if x != nil { return x.SetHeaders } return nil } func (x *HeaderMutation) GetRemoveHeaders() []string { if x != nil { return x.RemoveHeaders } return nil } // Replace the entire message body chunk received in the corresponding // HttpBody message with this new body, or clear the body. type BodyMutation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Mutation: // // *BodyMutation_Body // *BodyMutation_ClearBody Mutation isBodyMutation_Mutation `protobuf_oneof:"mutation"` } func (x *BodyMutation) Reset() { *x = BodyMutation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BodyMutation) String() string { return protoimpl.X.MessageStringOf(x) } func (*BodyMutation) ProtoMessage() {} func (x *BodyMutation) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BodyMutation.ProtoReflect.Descriptor instead. func (*BodyMutation) Descriptor() ([]byte, []int) { return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP(), []int{12} } func (m *BodyMutation) GetMutation() isBodyMutation_Mutation { if m != nil { return m.Mutation } return nil } func (x *BodyMutation) GetBody() []byte { if x, ok := x.GetMutation().(*BodyMutation_Body); ok { return x.Body } return nil } func (x *BodyMutation) GetClearBody() bool { if x, ok := x.GetMutation().(*BodyMutation_ClearBody); ok { return x.ClearBody } return false } type isBodyMutation_Mutation interface { isBodyMutation_Mutation() } type BodyMutation_Body struct { // The entire body to replace Body []byte `protobuf:"bytes,1,opt,name=body,proto3,oneof"` } type BodyMutation_ClearBody struct { // Clear the corresponding body chunk ClearBody bool `protobuf:"varint,2,opt,name=clear_body,json=clearBody,proto3,oneof"` } func (*BodyMutation_Body) isBodyMutation_Mutation() {} func (*BodyMutation_ClearBody) isBodyMutation_Mutation() {} var File_envoy_service_ext_proc_v3_external_processor_proto protoreflect.FileDescriptor var file_envoy_service_ext_proc_v3_external_processor_proto_rawDesc = []byte{ 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x04, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x81, 0x07, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x53, 0x0a, 0x18, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x9c, 0x02, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x56, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x4b, 0x0a, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x22, 0x58, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0c, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0d, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x62, 0x6f, 0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x22, 0x8b, 0x02, 0x0a, 0x11, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x24, 0x0a, 0x0a, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x51, 0x0a, 0x0c, 0x42, 0x6f, 0x64, 0x79, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x81, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x98, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_ext_proc_v3_external_processor_proto_rawDescOnce sync.Once file_envoy_service_ext_proc_v3_external_processor_proto_rawDescData = file_envoy_service_ext_proc_v3_external_processor_proto_rawDesc ) func file_envoy_service_ext_proc_v3_external_processor_proto_rawDescGZIP() []byte { file_envoy_service_ext_proc_v3_external_processor_proto_rawDescOnce.Do(func() { file_envoy_service_ext_proc_v3_external_processor_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_ext_proc_v3_external_processor_proto_rawDescData) }) return file_envoy_service_ext_proc_v3_external_processor_proto_rawDescData } var file_envoy_service_ext_proc_v3_external_processor_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_envoy_service_ext_proc_v3_external_processor_proto_goTypes = []interface{}{ (CommonResponse_ResponseStatus)(0), // 0: envoy.service.ext_proc.v3.CommonResponse.ResponseStatus (*ProcessingRequest)(nil), // 1: envoy.service.ext_proc.v3.ProcessingRequest (*ProcessingResponse)(nil), // 2: envoy.service.ext_proc.v3.ProcessingResponse (*HttpHeaders)(nil), // 3: envoy.service.ext_proc.v3.HttpHeaders (*HttpBody)(nil), // 4: envoy.service.ext_proc.v3.HttpBody (*HttpTrailers)(nil), // 5: envoy.service.ext_proc.v3.HttpTrailers (*HeadersResponse)(nil), // 6: envoy.service.ext_proc.v3.HeadersResponse (*TrailersResponse)(nil), // 7: envoy.service.ext_proc.v3.TrailersResponse (*BodyResponse)(nil), // 8: envoy.service.ext_proc.v3.BodyResponse (*CommonResponse)(nil), // 9: envoy.service.ext_proc.v3.CommonResponse (*ImmediateResponse)(nil), // 10: envoy.service.ext_proc.v3.ImmediateResponse (*GrpcStatus)(nil), // 11: envoy.service.ext_proc.v3.GrpcStatus (*HeaderMutation)(nil), // 12: envoy.service.ext_proc.v3.HeaderMutation (*BodyMutation)(nil), // 13: envoy.service.ext_proc.v3.BodyMutation nil, // 14: envoy.service.ext_proc.v3.HttpHeaders.AttributesEntry (*_struct.Struct)(nil), // 15: google.protobuf.Struct (*v3.ProcessingMode)(nil), // 16: envoy.extensions.filters.http.ext_proc.v3.ProcessingMode (*duration.Duration)(nil), // 17: google.protobuf.Duration (*v31.HeaderMap)(nil), // 18: envoy.config.core.v3.HeaderMap (*v32.HttpStatus)(nil), // 19: envoy.type.v3.HttpStatus (*v31.HeaderValueOption)(nil), // 20: envoy.config.core.v3.HeaderValueOption } var file_envoy_service_ext_proc_v3_external_processor_proto_depIdxs = []int32{ 3, // 0: envoy.service.ext_proc.v3.ProcessingRequest.request_headers:type_name -> envoy.service.ext_proc.v3.HttpHeaders 3, // 1: envoy.service.ext_proc.v3.ProcessingRequest.response_headers:type_name -> envoy.service.ext_proc.v3.HttpHeaders 4, // 2: envoy.service.ext_proc.v3.ProcessingRequest.request_body:type_name -> envoy.service.ext_proc.v3.HttpBody 4, // 3: envoy.service.ext_proc.v3.ProcessingRequest.response_body:type_name -> envoy.service.ext_proc.v3.HttpBody 5, // 4: envoy.service.ext_proc.v3.ProcessingRequest.request_trailers:type_name -> envoy.service.ext_proc.v3.HttpTrailers 5, // 5: envoy.service.ext_proc.v3.ProcessingRequest.response_trailers:type_name -> envoy.service.ext_proc.v3.HttpTrailers 6, // 6: envoy.service.ext_proc.v3.ProcessingResponse.request_headers:type_name -> envoy.service.ext_proc.v3.HeadersResponse 6, // 7: envoy.service.ext_proc.v3.ProcessingResponse.response_headers:type_name -> envoy.service.ext_proc.v3.HeadersResponse 8, // 8: envoy.service.ext_proc.v3.ProcessingResponse.request_body:type_name -> envoy.service.ext_proc.v3.BodyResponse 8, // 9: envoy.service.ext_proc.v3.ProcessingResponse.response_body:type_name -> envoy.service.ext_proc.v3.BodyResponse 7, // 10: envoy.service.ext_proc.v3.ProcessingResponse.request_trailers:type_name -> envoy.service.ext_proc.v3.TrailersResponse 7, // 11: envoy.service.ext_proc.v3.ProcessingResponse.response_trailers:type_name -> envoy.service.ext_proc.v3.TrailersResponse 10, // 12: envoy.service.ext_proc.v3.ProcessingResponse.immediate_response:type_name -> envoy.service.ext_proc.v3.ImmediateResponse 15, // 13: envoy.service.ext_proc.v3.ProcessingResponse.dynamic_metadata:type_name -> google.protobuf.Struct 16, // 14: envoy.service.ext_proc.v3.ProcessingResponse.mode_override:type_name -> envoy.extensions.filters.http.ext_proc.v3.ProcessingMode 17, // 15: envoy.service.ext_proc.v3.ProcessingResponse.override_message_timeout:type_name -> google.protobuf.Duration 18, // 16: envoy.service.ext_proc.v3.HttpHeaders.headers:type_name -> envoy.config.core.v3.HeaderMap 14, // 17: envoy.service.ext_proc.v3.HttpHeaders.attributes:type_name -> envoy.service.ext_proc.v3.HttpHeaders.AttributesEntry 18, // 18: envoy.service.ext_proc.v3.HttpTrailers.trailers:type_name -> envoy.config.core.v3.HeaderMap 9, // 19: envoy.service.ext_proc.v3.HeadersResponse.response:type_name -> envoy.service.ext_proc.v3.CommonResponse 12, // 20: envoy.service.ext_proc.v3.TrailersResponse.header_mutation:type_name -> envoy.service.ext_proc.v3.HeaderMutation 9, // 21: envoy.service.ext_proc.v3.BodyResponse.response:type_name -> envoy.service.ext_proc.v3.CommonResponse 0, // 22: envoy.service.ext_proc.v3.CommonResponse.status:type_name -> envoy.service.ext_proc.v3.CommonResponse.ResponseStatus 12, // 23: envoy.service.ext_proc.v3.CommonResponse.header_mutation:type_name -> envoy.service.ext_proc.v3.HeaderMutation 13, // 24: envoy.service.ext_proc.v3.CommonResponse.body_mutation:type_name -> envoy.service.ext_proc.v3.BodyMutation 18, // 25: envoy.service.ext_proc.v3.CommonResponse.trailers:type_name -> envoy.config.core.v3.HeaderMap 19, // 26: envoy.service.ext_proc.v3.ImmediateResponse.status:type_name -> envoy.type.v3.HttpStatus 12, // 27: envoy.service.ext_proc.v3.ImmediateResponse.headers:type_name -> envoy.service.ext_proc.v3.HeaderMutation 11, // 28: envoy.service.ext_proc.v3.ImmediateResponse.grpc_status:type_name -> envoy.service.ext_proc.v3.GrpcStatus 20, // 29: envoy.service.ext_proc.v3.HeaderMutation.set_headers:type_name -> envoy.config.core.v3.HeaderValueOption 15, // 30: envoy.service.ext_proc.v3.HttpHeaders.AttributesEntry.value:type_name -> google.protobuf.Struct 1, // 31: envoy.service.ext_proc.v3.ExternalProcessor.Process:input_type -> envoy.service.ext_proc.v3.ProcessingRequest 2, // 32: envoy.service.ext_proc.v3.ExternalProcessor.Process:output_type -> envoy.service.ext_proc.v3.ProcessingResponse 32, // [32:33] is the sub-list for method output_type 31, // [31:32] is the sub-list for method input_type 31, // [31:31] is the sub-list for extension type_name 31, // [31:31] is the sub-list for extension extendee 0, // [0:31] is the sub-list for field type_name } func init() { file_envoy_service_ext_proc_v3_external_processor_proto_init() } func file_envoy_service_ext_proc_v3_external_processor_proto_init() { if File_envoy_service_ext_proc_v3_external_processor_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProcessingRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProcessingResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeaders); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpBody); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpTrailers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeadersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TrailersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImmediateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrpcStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderMutation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BodyMutation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ProcessingRequest_RequestHeaders)(nil), (*ProcessingRequest_ResponseHeaders)(nil), (*ProcessingRequest_RequestBody)(nil), (*ProcessingRequest_ResponseBody)(nil), (*ProcessingRequest_RequestTrailers)(nil), (*ProcessingRequest_ResponseTrailers)(nil), } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ProcessingResponse_RequestHeaders)(nil), (*ProcessingResponse_ResponseHeaders)(nil), (*ProcessingResponse_RequestBody)(nil), (*ProcessingResponse_ResponseBody)(nil), (*ProcessingResponse_RequestTrailers)(nil), (*ProcessingResponse_ResponseTrailers)(nil), (*ProcessingResponse_ImmediateResponse)(nil), } file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes[12].OneofWrappers = []interface{}{ (*BodyMutation_Body)(nil), (*BodyMutation_ClearBody)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_ext_proc_v3_external_processor_proto_rawDesc, NumEnums: 1, NumMessages: 14, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_ext_proc_v3_external_processor_proto_goTypes, DependencyIndexes: file_envoy_service_ext_proc_v3_external_processor_proto_depIdxs, EnumInfos: file_envoy_service_ext_proc_v3_external_processor_proto_enumTypes, MessageInfos: file_envoy_service_ext_proc_v3_external_processor_proto_msgTypes, }.Build() File_envoy_service_ext_proc_v3_external_processor_proto = out.File file_envoy_service_ext_proc_v3_external_processor_proto_rawDesc = nil file_envoy_service_ext_proc_v3_external_processor_proto_goTypes = nil file_envoy_service_ext_proc_v3_external_processor_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ExternalProcessorClient is the client API for ExternalProcessor service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ExternalProcessorClient interface { // This begins the bidirectional stream that Envoy will use to // give the server control over what the filter does. The actual // protocol is described by the ProcessingRequest and ProcessingResponse // messages below. Process(ctx context.Context, opts ...grpc.CallOption) (ExternalProcessor_ProcessClient, error) } type externalProcessorClient struct { cc grpc.ClientConnInterface } func NewExternalProcessorClient(cc grpc.ClientConnInterface) ExternalProcessorClient { return &externalProcessorClient{cc} } func (c *externalProcessorClient) Process(ctx context.Context, opts ...grpc.CallOption) (ExternalProcessor_ProcessClient, error) { stream, err := c.cc.NewStream(ctx, &_ExternalProcessor_serviceDesc.Streams[0], "/envoy.service.ext_proc.v3.ExternalProcessor/Process", opts...) if err != nil { return nil, err } x := &externalProcessorProcessClient{stream} return x, nil } type ExternalProcessor_ProcessClient interface { Send(*ProcessingRequest) error Recv() (*ProcessingResponse, error) grpc.ClientStream } type externalProcessorProcessClient struct { grpc.ClientStream } func (x *externalProcessorProcessClient) Send(m *ProcessingRequest) error { return x.ClientStream.SendMsg(m) } func (x *externalProcessorProcessClient) Recv() (*ProcessingResponse, error) { m := new(ProcessingResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // ExternalProcessorServer is the server API for ExternalProcessor service. type ExternalProcessorServer interface { // This begins the bidirectional stream that Envoy will use to // give the server control over what the filter does. The actual // protocol is described by the ProcessingRequest and ProcessingResponse // messages below. Process(ExternalProcessor_ProcessServer) error } // UnimplementedExternalProcessorServer can be embedded to have forward compatible implementations. type UnimplementedExternalProcessorServer struct { } func (*UnimplementedExternalProcessorServer) Process(ExternalProcessor_ProcessServer) error { return status.Errorf(codes.Unimplemented, "method Process not implemented") } func RegisterExternalProcessorServer(s *grpc.Server, srv ExternalProcessorServer) { s.RegisterService(&_ExternalProcessor_serviceDesc, srv) } func _ExternalProcessor_Process_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ExternalProcessorServer).Process(&externalProcessorProcessServer{stream}) } type ExternalProcessor_ProcessServer interface { Send(*ProcessingResponse) error Recv() (*ProcessingRequest, error) grpc.ServerStream } type externalProcessorProcessServer struct { grpc.ServerStream } func (x *externalProcessorProcessServer) Send(m *ProcessingResponse) error { return x.ServerStream.SendMsg(m) } func (x *externalProcessorProcessServer) Recv() (*ProcessingRequest, error) { m := new(ProcessingRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _ExternalProcessor_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.ext_proc.v3.ExternalProcessor", HandlerType: (*ExternalProcessorServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "Process", Handler: _ExternalProcessor_Process_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/ext_proc/v3/external_processor.proto", } go-control-plane-0.12.0/envoy/service/ext_proc/v3/external_processor.pb.validate.go000077500000000000000000002034771454502223200304040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/ext_proc/v3/external_processor.proto package ext_procv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ProcessingRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ProcessingRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProcessingRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProcessingRequestMultiError, or nil if none found. func (m *ProcessingRequest) ValidateAll() error { return m.validate(true) } func (m *ProcessingRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for AsyncMode oneofRequestPresent := false switch v := m.Request.(type) { case *ProcessingRequest_RequestHeaders: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *ProcessingRequest_ResponseHeaders: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetResponseHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, } } } case *ProcessingRequest_RequestBody: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetRequestBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, } } } case *ProcessingRequest_ResponseBody: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetResponseBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, } } } case *ProcessingRequest_RequestTrailers: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetRequestTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, } } } case *ProcessingRequest_ResponseTrailers: if v == nil { err := ProcessingRequestValidationError{ field: "Request", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRequestPresent = true if all { switch v := interface{}(m.GetResponseTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingRequestValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingRequestValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRequestPresent { err := ProcessingRequestValidationError{ field: "Request", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ProcessingRequestMultiError(errors) } return nil } // ProcessingRequestMultiError is an error wrapping multiple validation errors // returned by ProcessingRequest.ValidateAll() if the designated constraints // aren't met. type ProcessingRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProcessingRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProcessingRequestMultiError) AllErrors() []error { return m } // ProcessingRequestValidationError is the validation error returned by // ProcessingRequest.Validate if the designated constraints aren't met. type ProcessingRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProcessingRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProcessingRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProcessingRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProcessingRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProcessingRequestValidationError) ErrorName() string { return "ProcessingRequestValidationError" } // Error satisfies the builtin error interface func (e ProcessingRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProcessingRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProcessingRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProcessingRequestValidationError{} // Validate checks the field values on ProcessingResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ProcessingResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ProcessingResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ProcessingResponseMultiError, or nil if none found. func (m *ProcessingResponse) ValidateAll() error { return m.validate(true) } func (m *ProcessingResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetModeOverride()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ModeOverride", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ModeOverride", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetModeOverride()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "ModeOverride", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetOverrideMessageTimeout()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "OverrideMessageTimeout", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "OverrideMessageTimeout", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOverrideMessageTimeout()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "OverrideMessageTimeout", reason: "embedded message failed validation", cause: err, } } } oneofResponsePresent := false switch v := m.Response.(type) { case *ProcessingResponse_RequestHeaders: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetRequestHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "RequestHeaders", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_ResponseHeaders: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetResponseHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "ResponseHeaders", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_RequestBody: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetRequestBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "RequestBody", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_ResponseBody: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetResponseBody()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseBody()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "ResponseBody", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_RequestTrailers: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetRequestTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "RequestTrailers", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_ResponseTrailers: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetResponseTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponseTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "ResponseTrailers", reason: "embedded message failed validation", cause: err, } } } case *ProcessingResponse_ImmediateResponse: if v == nil { err := ProcessingResponseValidationError{ field: "Response", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofResponsePresent = true if all { switch v := interface{}(m.GetImmediateResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ImmediateResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ProcessingResponseValidationError{ field: "ImmediateResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetImmediateResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ProcessingResponseValidationError{ field: "ImmediateResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofResponsePresent { err := ProcessingResponseValidationError{ field: "Response", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ProcessingResponseMultiError(errors) } return nil } // ProcessingResponseMultiError is an error wrapping multiple validation errors // returned by ProcessingResponse.ValidateAll() if the designated constraints // aren't met. type ProcessingResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ProcessingResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ProcessingResponseMultiError) AllErrors() []error { return m } // ProcessingResponseValidationError is the validation error returned by // ProcessingResponse.Validate if the designated constraints aren't met. type ProcessingResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ProcessingResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ProcessingResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ProcessingResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ProcessingResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ProcessingResponseValidationError) ErrorName() string { return "ProcessingResponseValidationError" } // Error satisfies the builtin error interface func (e ProcessingResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sProcessingResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ProcessingResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ProcessingResponseValidationError{} // Validate checks the field values on HttpHeaders with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpHeaders) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpHeaders with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpHeadersMultiError, or // nil if none found. func (m *HttpHeaders) ValidateAll() error { return m.validate(true) } func (m *HttpHeaders) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpHeadersValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpHeadersValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpHeadersValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, } } } { sorted_keys := make([]string, len(m.GetAttributes())) i := 0 for key := range m.GetAttributes() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetAttributes()[key] _ = val // no validation rules for Attributes[key] if all { switch v := interface{}(val).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpHeadersValidationError{ field: fmt.Sprintf("Attributes[%v]", key), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpHeadersValidationError{ field: fmt.Sprintf("Attributes[%v]", key), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpHeadersValidationError{ field: fmt.Sprintf("Attributes[%v]", key), reason: "embedded message failed validation", cause: err, } } } } } // no validation rules for EndOfStream if len(errors) > 0 { return HttpHeadersMultiError(errors) } return nil } // HttpHeadersMultiError is an error wrapping multiple validation errors // returned by HttpHeaders.ValidateAll() if the designated constraints aren't met. type HttpHeadersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpHeadersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpHeadersMultiError) AllErrors() []error { return m } // HttpHeadersValidationError is the validation error returned by // HttpHeaders.Validate if the designated constraints aren't met. type HttpHeadersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpHeadersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpHeadersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpHeadersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpHeadersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpHeadersValidationError) ErrorName() string { return "HttpHeadersValidationError" } // Error satisfies the builtin error interface func (e HttpHeadersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpHeaders.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpHeadersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpHeadersValidationError{} // Validate checks the field values on HttpBody with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpBody) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpBody with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpBodyMultiError, or nil // if none found. func (m *HttpBody) ValidateAll() error { return m.validate(true) } func (m *HttpBody) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Body // no validation rules for EndOfStream if len(errors) > 0 { return HttpBodyMultiError(errors) } return nil } // HttpBodyMultiError is an error wrapping multiple validation errors returned // by HttpBody.ValidateAll() if the designated constraints aren't met. type HttpBodyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpBodyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpBodyMultiError) AllErrors() []error { return m } // HttpBodyValidationError is the validation error returned by // HttpBody.Validate if the designated constraints aren't met. type HttpBodyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpBodyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpBodyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpBodyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpBodyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpBodyValidationError) ErrorName() string { return "HttpBodyValidationError" } // Error satisfies the builtin error interface func (e HttpBodyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpBody.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpBodyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpBodyValidationError{} // Validate checks the field values on HttpTrailers with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpTrailers) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpTrailers with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpTrailersMultiError, or // nil if none found. func (m *HttpTrailers) ValidateAll() error { return m.validate(true) } func (m *HttpTrailers) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpTrailersValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpTrailersValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpTrailersValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HttpTrailersMultiError(errors) } return nil } // HttpTrailersMultiError is an error wrapping multiple validation errors // returned by HttpTrailers.ValidateAll() if the designated constraints aren't met. type HttpTrailersMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpTrailersMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpTrailersMultiError) AllErrors() []error { return m } // HttpTrailersValidationError is the validation error returned by // HttpTrailers.Validate if the designated constraints aren't met. type HttpTrailersValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpTrailersValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpTrailersValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpTrailersValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpTrailersValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpTrailersValidationError) ErrorName() string { return "HttpTrailersValidationError" } // Error satisfies the builtin error interface func (e HttpTrailersValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpTrailers.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpTrailersValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpTrailersValidationError{} // Validate checks the field values on HeadersResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HeadersResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeadersResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HeadersResponseMultiError, or nil if none found. func (m *HeadersResponse) ValidateAll() error { return m.validate(true) } func (m *HeadersResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeadersResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeadersResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeadersResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HeadersResponseMultiError(errors) } return nil } // HeadersResponseMultiError is an error wrapping multiple validation errors // returned by HeadersResponse.ValidateAll() if the designated constraints // aren't met. type HeadersResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeadersResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeadersResponseMultiError) AllErrors() []error { return m } // HeadersResponseValidationError is the validation error returned by // HeadersResponse.Validate if the designated constraints aren't met. type HeadersResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeadersResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeadersResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeadersResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeadersResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeadersResponseValidationError) ErrorName() string { return "HeadersResponseValidationError" } // Error satisfies the builtin error interface func (e HeadersResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeadersResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeadersResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeadersResponseValidationError{} // Validate checks the field values on TrailersResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *TrailersResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TrailersResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // TrailersResponseMultiError, or nil if none found. func (m *TrailersResponse) ValidateAll() error { return m.validate(true) } func (m *TrailersResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetHeaderMutation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TrailersResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TrailersResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderMutation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TrailersResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TrailersResponseMultiError(errors) } return nil } // TrailersResponseMultiError is an error wrapping multiple validation errors // returned by TrailersResponse.ValidateAll() if the designated constraints // aren't met. type TrailersResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TrailersResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TrailersResponseMultiError) AllErrors() []error { return m } // TrailersResponseValidationError is the validation error returned by // TrailersResponse.Validate if the designated constraints aren't met. type TrailersResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TrailersResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TrailersResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TrailersResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TrailersResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TrailersResponseValidationError) ErrorName() string { return "TrailersResponseValidationError" } // Error satisfies the builtin error interface func (e TrailersResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTrailersResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TrailersResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TrailersResponseValidationError{} // Validate checks the field values on BodyResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BodyResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BodyResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BodyResponseMultiError, or // nil if none found. func (m *BodyResponse) ValidateAll() error { return m.validate(true) } func (m *BodyResponse) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, BodyResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, BodyResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return BodyResponseValidationError{ field: "Response", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return BodyResponseMultiError(errors) } return nil } // BodyResponseMultiError is an error wrapping multiple validation errors // returned by BodyResponse.ValidateAll() if the designated constraints aren't met. type BodyResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BodyResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BodyResponseMultiError) AllErrors() []error { return m } // BodyResponseValidationError is the validation error returned by // BodyResponse.Validate if the designated constraints aren't met. type BodyResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BodyResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BodyResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BodyResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BodyResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BodyResponseValidationError) ErrorName() string { return "BodyResponseValidationError" } // Error satisfies the builtin error interface func (e BodyResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBodyResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BodyResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BodyResponseValidationError{} // Validate checks the field values on CommonResponse with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CommonResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CommonResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CommonResponseMultiError, // or nil if none found. func (m *CommonResponse) ValidateAll() error { return m.validate(true) } func (m *CommonResponse) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := CommonResponse_ResponseStatus_name[int32(m.GetStatus())]; !ok { err := CommonResponseValidationError{ field: "Status", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHeaderMutation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaderMutation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonResponseValidationError{ field: "HeaderMutation", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetBodyMutation()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "BodyMutation", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "BodyMutation", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBodyMutation()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonResponseValidationError{ field: "BodyMutation", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTrailers()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CommonResponseValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrailers()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CommonResponseValidationError{ field: "Trailers", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ClearRouteCache if len(errors) > 0 { return CommonResponseMultiError(errors) } return nil } // CommonResponseMultiError is an error wrapping multiple validation errors // returned by CommonResponse.ValidateAll() if the designated constraints // aren't met. type CommonResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CommonResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CommonResponseMultiError) AllErrors() []error { return m } // CommonResponseValidationError is the validation error returned by // CommonResponse.Validate if the designated constraints aren't met. type CommonResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CommonResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CommonResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CommonResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CommonResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CommonResponseValidationError) ErrorName() string { return "CommonResponseValidationError" } // Error satisfies the builtin error interface func (e CommonResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCommonResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CommonResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CommonResponseValidationError{} // Validate checks the field values on ImmediateResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ImmediateResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ImmediateResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ImmediateResponseMultiError, or nil if none found. func (m *ImmediateResponse) ValidateAll() error { return m.validate(true) } func (m *ImmediateResponse) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetStatus() == nil { err := ImmediateResponseValidationError{ field: "Status", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ImmediateResponseValidationError{ field: "Status", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetHeaders()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHeaders()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ImmediateResponseValidationError{ field: "Headers", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Body if all { switch v := interface{}(m.GetGrpcStatus()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ImmediateResponseValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcStatus()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ImmediateResponseValidationError{ field: "GrpcStatus", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Details if len(errors) > 0 { return ImmediateResponseMultiError(errors) } return nil } // ImmediateResponseMultiError is an error wrapping multiple validation errors // returned by ImmediateResponse.ValidateAll() if the designated constraints // aren't met. type ImmediateResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ImmediateResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ImmediateResponseMultiError) AllErrors() []error { return m } // ImmediateResponseValidationError is the validation error returned by // ImmediateResponse.Validate if the designated constraints aren't met. type ImmediateResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ImmediateResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ImmediateResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ImmediateResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ImmediateResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ImmediateResponseValidationError) ErrorName() string { return "ImmediateResponseValidationError" } // Error satisfies the builtin error interface func (e ImmediateResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sImmediateResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ImmediateResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ImmediateResponseValidationError{} // Validate checks the field values on GrpcStatus with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *GrpcStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on GrpcStatus with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in GrpcStatusMultiError, or // nil if none found. func (m *GrpcStatus) ValidateAll() error { return m.validate(true) } func (m *GrpcStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Status if len(errors) > 0 { return GrpcStatusMultiError(errors) } return nil } // GrpcStatusMultiError is an error wrapping multiple validation errors // returned by GrpcStatus.ValidateAll() if the designated constraints aren't met. type GrpcStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m GrpcStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m GrpcStatusMultiError) AllErrors() []error { return m } // GrpcStatusValidationError is the validation error returned by // GrpcStatus.Validate if the designated constraints aren't met. type GrpcStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e GrpcStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e GrpcStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e GrpcStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e GrpcStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e GrpcStatusValidationError) ErrorName() string { return "GrpcStatusValidationError" } // Error satisfies the builtin error interface func (e GrpcStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sGrpcStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = GrpcStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = GrpcStatusValidationError{} // Validate checks the field values on HeaderMutation with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HeaderMutation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HeaderMutation with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HeaderMutationMultiError, // or nil if none found. func (m *HeaderMutation) ValidateAll() error { return m.validate(true) } func (m *HeaderMutation) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetSetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: fmt.Sprintf("SetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HeaderMutationValidationError{ field: fmt.Sprintf("SetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HeaderMutationValidationError{ field: fmt.Sprintf("SetHeaders[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HeaderMutationMultiError(errors) } return nil } // HeaderMutationMultiError is an error wrapping multiple validation errors // returned by HeaderMutation.ValidateAll() if the designated constraints // aren't met. type HeaderMutationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HeaderMutationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HeaderMutationMultiError) AllErrors() []error { return m } // HeaderMutationValidationError is the validation error returned by // HeaderMutation.Validate if the designated constraints aren't met. type HeaderMutationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HeaderMutationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HeaderMutationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HeaderMutationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HeaderMutationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HeaderMutationValidationError) ErrorName() string { return "HeaderMutationValidationError" } // Error satisfies the builtin error interface func (e HeaderMutationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHeaderMutation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HeaderMutationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HeaderMutationValidationError{} // Validate checks the field values on BodyMutation with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BodyMutation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BodyMutation with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BodyMutationMultiError, or // nil if none found. func (m *BodyMutation) ValidateAll() error { return m.validate(true) } func (m *BodyMutation) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.Mutation.(type) { case *BodyMutation_Body: if v == nil { err := BodyMutationValidationError{ field: "Mutation", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for Body case *BodyMutation_ClearBody: if v == nil { err := BodyMutationValidationError{ field: "Mutation", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } // no validation rules for ClearBody default: _ = v // ensures v is used } if len(errors) > 0 { return BodyMutationMultiError(errors) } return nil } // BodyMutationMultiError is an error wrapping multiple validation errors // returned by BodyMutation.ValidateAll() if the designated constraints aren't met. type BodyMutationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BodyMutationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BodyMutationMultiError) AllErrors() []error { return m } // BodyMutationValidationError is the validation error returned by // BodyMutation.Validate if the designated constraints aren't met. type BodyMutationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BodyMutationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BodyMutationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BodyMutationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BodyMutationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BodyMutationValidationError) ErrorName() string { return "BodyMutationValidationError" } // Error satisfies the builtin error interface func (e BodyMutationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBodyMutation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BodyMutationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BodyMutationValidationError{} go-control-plane-0.12.0/envoy/service/extension/000077500000000000000000000000001454502223200215655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/extension/v3/000077500000000000000000000000001454502223200221155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/extension/v3/config_discovery.pb.go000077500000000000000000000504441454502223200264120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/extension/v3/config_discovery.proto package extensionv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue // with importing services: https://github.com/google/protobuf/issues/4221 and // protoxform to upgrade the file. type EcdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *EcdsDummy) Reset() { *x = EcdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_extension_v3_config_discovery_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EcdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*EcdsDummy) ProtoMessage() {} func (x *EcdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_extension_v3_config_discovery_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EcdsDummy.ProtoReflect.Descriptor instead. func (*EcdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_extension_v3_config_discovery_proto_rawDescGZIP(), []int{0} } var File_envoy_service_extension_v3_config_discovery_proto protoreflect.FileDescriptor var file_envoy_service_extension_v3_config_discovery_proto_rawDesc = []byte{ 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x63, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xfb, 0x03, 0x0a, 0x1f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa0, 0x01, 0x0a, 0x15, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x31, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x99, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_extension_v3_config_discovery_proto_rawDescOnce sync.Once file_envoy_service_extension_v3_config_discovery_proto_rawDescData = file_envoy_service_extension_v3_config_discovery_proto_rawDesc ) func file_envoy_service_extension_v3_config_discovery_proto_rawDescGZIP() []byte { file_envoy_service_extension_v3_config_discovery_proto_rawDescOnce.Do(func() { file_envoy_service_extension_v3_config_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_extension_v3_config_discovery_proto_rawDescData) }) return file_envoy_service_extension_v3_config_discovery_proto_rawDescData } var file_envoy_service_extension_v3_config_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_extension_v3_config_discovery_proto_goTypes = []interface{}{ (*EcdsDummy)(nil), // 0: envoy.service.extension.v3.EcdsDummy (*v3.DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_extension_v3_config_discovery_proto_depIdxs = []int32{ 1, // 0: envoy.service.extension.v3.ExtensionConfigDiscoveryService.StreamExtensionConfigs:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.extension.v3.ExtensionConfigDiscoveryService.DeltaExtensionConfigs:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 1, // 2: envoy.service.extension.v3.ExtensionConfigDiscoveryService.FetchExtensionConfigs:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.extension.v3.ExtensionConfigDiscoveryService.StreamExtensionConfigs:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 4: envoy.service.extension.v3.ExtensionConfigDiscoveryService.DeltaExtensionConfigs:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 3, // 5: envoy.service.extension.v3.ExtensionConfigDiscoveryService.FetchExtensionConfigs:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_extension_v3_config_discovery_proto_init() } func file_envoy_service_extension_v3_config_discovery_proto_init() { if File_envoy_service_extension_v3_config_discovery_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_extension_v3_config_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EcdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_extension_v3_config_discovery_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_extension_v3_config_discovery_proto_goTypes, DependencyIndexes: file_envoy_service_extension_v3_config_discovery_proto_depIdxs, MessageInfos: file_envoy_service_extension_v3_config_discovery_proto_msgTypes, }.Build() File_envoy_service_extension_v3_config_discovery_proto = out.File file_envoy_service_extension_v3_config_discovery_proto_rawDesc = nil file_envoy_service_extension_v3_config_discovery_proto_goTypes = nil file_envoy_service_extension_v3_config_discovery_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ExtensionConfigDiscoveryServiceClient is the client API for ExtensionConfigDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ExtensionConfigDiscoveryServiceClient interface { StreamExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (ExtensionConfigDiscoveryService_StreamExtensionConfigsClient, error) DeltaExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient, error) FetchExtensionConfigs(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type extensionConfigDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewExtensionConfigDiscoveryServiceClient(cc grpc.ClientConnInterface) ExtensionConfigDiscoveryServiceClient { return &extensionConfigDiscoveryServiceClient{cc} } func (c *extensionConfigDiscoveryServiceClient) StreamExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (ExtensionConfigDiscoveryService_StreamExtensionConfigsClient, error) { stream, err := c.cc.NewStream(ctx, &_ExtensionConfigDiscoveryService_serviceDesc.Streams[0], "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/StreamExtensionConfigs", opts...) if err != nil { return nil, err } x := &extensionConfigDiscoveryServiceStreamExtensionConfigsClient{stream} return x, nil } type ExtensionConfigDiscoveryService_StreamExtensionConfigsClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type extensionConfigDiscoveryServiceStreamExtensionConfigsClient struct { grpc.ClientStream } func (x *extensionConfigDiscoveryServiceStreamExtensionConfigsClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *extensionConfigDiscoveryServiceStreamExtensionConfigsClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *extensionConfigDiscoveryServiceClient) DeltaExtensionConfigs(ctx context.Context, opts ...grpc.CallOption) (ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient, error) { stream, err := c.cc.NewStream(ctx, &_ExtensionConfigDiscoveryService_serviceDesc.Streams[1], "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/DeltaExtensionConfigs", opts...) if err != nil { return nil, err } x := &extensionConfigDiscoveryServiceDeltaExtensionConfigsClient{stream} return x, nil } type ExtensionConfigDiscoveryService_DeltaExtensionConfigsClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type extensionConfigDiscoveryServiceDeltaExtensionConfigsClient struct { grpc.ClientStream } func (x *extensionConfigDiscoveryServiceDeltaExtensionConfigsClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *extensionConfigDiscoveryServiceDeltaExtensionConfigsClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *extensionConfigDiscoveryServiceClient) FetchExtensionConfigs(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/FetchExtensionConfigs", in, out, opts...) if err != nil { return nil, err } return out, nil } // ExtensionConfigDiscoveryServiceServer is the server API for ExtensionConfigDiscoveryService service. type ExtensionConfigDiscoveryServiceServer interface { StreamExtensionConfigs(ExtensionConfigDiscoveryService_StreamExtensionConfigsServer) error DeltaExtensionConfigs(ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer) error FetchExtensionConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedExtensionConfigDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedExtensionConfigDiscoveryServiceServer struct { } func (*UnimplementedExtensionConfigDiscoveryServiceServer) StreamExtensionConfigs(ExtensionConfigDiscoveryService_StreamExtensionConfigsServer) error { return status.Errorf(codes.Unimplemented, "method StreamExtensionConfigs not implemented") } func (*UnimplementedExtensionConfigDiscoveryServiceServer) DeltaExtensionConfigs(ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaExtensionConfigs not implemented") } func (*UnimplementedExtensionConfigDiscoveryServiceServer) FetchExtensionConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchExtensionConfigs not implemented") } func RegisterExtensionConfigDiscoveryServiceServer(s *grpc.Server, srv ExtensionConfigDiscoveryServiceServer) { s.RegisterService(&_ExtensionConfigDiscoveryService_serviceDesc, srv) } func _ExtensionConfigDiscoveryService_StreamExtensionConfigs_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ExtensionConfigDiscoveryServiceServer).StreamExtensionConfigs(&extensionConfigDiscoveryServiceStreamExtensionConfigsServer{stream}) } type ExtensionConfigDiscoveryService_StreamExtensionConfigsServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type extensionConfigDiscoveryServiceStreamExtensionConfigsServer struct { grpc.ServerStream } func (x *extensionConfigDiscoveryServiceStreamExtensionConfigsServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *extensionConfigDiscoveryServiceStreamExtensionConfigsServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ExtensionConfigDiscoveryService_DeltaExtensionConfigs_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ExtensionConfigDiscoveryServiceServer).DeltaExtensionConfigs(&extensionConfigDiscoveryServiceDeltaExtensionConfigsServer{stream}) } type ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type extensionConfigDiscoveryServiceDeltaExtensionConfigsServer struct { grpc.ServerStream } func (x *extensionConfigDiscoveryServiceDeltaExtensionConfigsServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *extensionConfigDiscoveryServiceDeltaExtensionConfigsServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ExtensionConfigDiscoveryService_FetchExtensionConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ExtensionConfigDiscoveryServiceServer).FetchExtensionConfigs(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.extension.v3.ExtensionConfigDiscoveryService/FetchExtensionConfigs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExtensionConfigDiscoveryServiceServer).FetchExtensionConfigs(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ExtensionConfigDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.extension.v3.ExtensionConfigDiscoveryService", HandlerType: (*ExtensionConfigDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_FetchExtensionConfigs_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_StreamExtensionConfigs_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaExtensionConfigs", Handler: _ExtensionConfigDiscoveryService_DeltaExtensionConfigs_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/extension/v3/config_discovery.proto", } go-control-plane-0.12.0/envoy/service/extension/v3/config_discovery.pb.validate.go000077500000000000000000000061771454502223200302060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/extension/v3/config_discovery.proto package extensionv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on EcdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EcdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EcdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EcdsDummyMultiError, or nil // if none found. func (m *EcdsDummy) ValidateAll() error { return m.validate(true) } func (m *EcdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return EcdsDummyMultiError(errors) } return nil } // EcdsDummyMultiError is an error wrapping multiple validation errors returned // by EcdsDummy.ValidateAll() if the designated constraints aren't met. type EcdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EcdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EcdsDummyMultiError) AllErrors() []error { return m } // EcdsDummyValidationError is the validation error returned by // EcdsDummy.Validate if the designated constraints aren't met. type EcdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EcdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EcdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EcdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EcdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EcdsDummyValidationError) ErrorName() string { return "EcdsDummyValidationError" } // Error satisfies the builtin error interface func (e EcdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEcdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EcdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EcdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/health/000077500000000000000000000000001454502223200210165ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/health/v3/000077500000000000000000000000001454502223200213465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/health/v3/hds.pb.go000077500000000000000000001776471454502223200231040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/health/v3/hds.proto package healthv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" duration "github.com/golang/protobuf/ptypes/duration" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Different Envoy instances may have different capabilities (e.g. Redis) // and/or have ports enabled for different protocols. type Capability_Protocol int32 const ( Capability_HTTP Capability_Protocol = 0 Capability_TCP Capability_Protocol = 1 Capability_REDIS Capability_Protocol = 2 ) // Enum value maps for Capability_Protocol. var ( Capability_Protocol_name = map[int32]string{ 0: "HTTP", 1: "TCP", 2: "REDIS", } Capability_Protocol_value = map[string]int32{ "HTTP": 0, "TCP": 1, "REDIS": 2, } ) func (x Capability_Protocol) Enum() *Capability_Protocol { p := new(Capability_Protocol) *p = x return p } func (x Capability_Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Capability_Protocol) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_health_v3_hds_proto_enumTypes[0].Descriptor() } func (Capability_Protocol) Type() protoreflect.EnumType { return &file_envoy_service_health_v3_hds_proto_enumTypes[0] } func (x Capability_Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Capability_Protocol.Descriptor instead. func (Capability_Protocol) EnumDescriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{0, 0} } // Defines supported protocols etc, so the management server can assign proper // endpoints to healthcheck. type Capability struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HealthCheckProtocols []Capability_Protocol `protobuf:"varint,1,rep,packed,name=health_check_protocols,json=healthCheckProtocols,proto3,enum=envoy.service.health.v3.Capability_Protocol" json:"health_check_protocols,omitempty"` } func (x *Capability) Reset() { *x = Capability{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Capability) String() string { return protoimpl.X.MessageStringOf(x) } func (*Capability) ProtoMessage() {} func (x *Capability) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Capability.ProtoReflect.Descriptor instead. func (*Capability) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{0} } func (x *Capability) GetHealthCheckProtocols() []Capability_Protocol { if x != nil { return x.HealthCheckProtocols } return nil } type HealthCheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` Capability *Capability `protobuf:"bytes,2,opt,name=capability,proto3" json:"capability,omitempty"` } func (x *HealthCheckRequest) Reset() { *x = HealthCheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckRequest) ProtoMessage() {} func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead. func (*HealthCheckRequest) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{1} } func (x *HealthCheckRequest) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *HealthCheckRequest) GetCapability() *Capability { if x != nil { return x.Capability } return nil } type EndpointHealth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Endpoint *v31.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` HealthStatus v3.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.config.core.v3.HealthStatus" json:"health_status,omitempty"` } func (x *EndpointHealth) Reset() { *x = EndpointHealth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointHealth) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointHealth) ProtoMessage() {} func (x *EndpointHealth) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointHealth.ProtoReflect.Descriptor instead. func (*EndpointHealth) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{2} } func (x *EndpointHealth) GetEndpoint() *v31.Endpoint { if x != nil { return x.Endpoint } return nil } func (x *EndpointHealth) GetHealthStatus() v3.HealthStatus { if x != nil { return x.HealthStatus } return v3.HealthStatus(0) } // Group endpoint health by locality under each cluster. type LocalityEndpointsHealth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` EndpointsHealth []*EndpointHealth `protobuf:"bytes,2,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"` } func (x *LocalityEndpointsHealth) Reset() { *x = LocalityEndpointsHealth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityEndpointsHealth) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityEndpointsHealth) ProtoMessage() {} func (x *LocalityEndpointsHealth) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityEndpointsHealth.ProtoReflect.Descriptor instead. func (*LocalityEndpointsHealth) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{3} } func (x *LocalityEndpointsHealth) GetLocality() *v3.Locality { if x != nil { return x.Locality } return nil } func (x *LocalityEndpointsHealth) GetEndpointsHealth() []*EndpointHealth { if x != nil { return x.EndpointsHealth } return nil } // The health status of endpoints in a cluster. The cluster name and locality // should match the corresponding fields in ClusterHealthCheck message. type ClusterEndpointsHealth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` LocalityEndpointsHealth []*LocalityEndpointsHealth `protobuf:"bytes,2,rep,name=locality_endpoints_health,json=localityEndpointsHealth,proto3" json:"locality_endpoints_health,omitempty"` } func (x *ClusterEndpointsHealth) Reset() { *x = ClusterEndpointsHealth{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterEndpointsHealth) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterEndpointsHealth) ProtoMessage() {} func (x *ClusterEndpointsHealth) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterEndpointsHealth.ProtoReflect.Descriptor instead. func (*ClusterEndpointsHealth) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{4} } func (x *ClusterEndpointsHealth) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterEndpointsHealth) GetLocalityEndpointsHealth() []*LocalityEndpointsHealth { if x != nil { return x.LocalityEndpointsHealth } return nil } type EndpointHealthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deprecated - Flat list of endpoint health information. // // Deprecated: Marked as deprecated in envoy/service/health/v3/hds.proto. EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"` // Organize Endpoint health information by cluster. ClusterEndpointsHealth []*ClusterEndpointsHealth `protobuf:"bytes,2,rep,name=cluster_endpoints_health,json=clusterEndpointsHealth,proto3" json:"cluster_endpoints_health,omitempty"` } func (x *EndpointHealthResponse) Reset() { *x = EndpointHealthResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EndpointHealthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EndpointHealthResponse) ProtoMessage() {} func (x *EndpointHealthResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EndpointHealthResponse.ProtoReflect.Descriptor instead. func (*EndpointHealthResponse) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{5} } // Deprecated: Marked as deprecated in envoy/service/health/v3/hds.proto. func (x *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth { if x != nil { return x.EndpointsHealth } return nil } func (x *EndpointHealthResponse) GetClusterEndpointsHealth() []*ClusterEndpointsHealth { if x != nil { return x.ClusterEndpointsHealth } return nil } type HealthCheckRequestOrEndpointHealthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to RequestType: // // *HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest // *HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"` } func (x *HealthCheckRequestOrEndpointHealthResponse) Reset() { *x = HealthCheckRequestOrEndpointHealthResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckRequestOrEndpointHealthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage() {} func (x *HealthCheckRequestOrEndpointHealthResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckRequestOrEndpointHealthResponse.ProtoReflect.Descriptor instead. func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{6} } func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType { if m != nil { return m.RequestType } return nil } func (x *HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest() *HealthCheckRequest { if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest); ok { return x.HealthCheckRequest } return nil } func (x *HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse() *EndpointHealthResponse { if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse); ok { return x.EndpointHealthResponse } return nil } type isHealthCheckRequestOrEndpointHealthResponse_RequestType interface { isHealthCheckRequestOrEndpointHealthResponse_RequestType() } type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct { HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,proto3,oneof"` } type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct { EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,proto3,oneof"` } func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) isHealthCheckRequestOrEndpointHealthResponse_RequestType() { } func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) isHealthCheckRequestOrEndpointHealthResponse_RequestType() { } type LocalityEndpoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` Endpoints []*v31.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` } func (x *LocalityEndpoints) Reset() { *x = LocalityEndpoints{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LocalityEndpoints) String() string { return protoimpl.X.MessageStringOf(x) } func (*LocalityEndpoints) ProtoMessage() {} func (x *LocalityEndpoints) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalityEndpoints.ProtoReflect.Descriptor instead. func (*LocalityEndpoints) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{7} } func (x *LocalityEndpoints) GetLocality() *v3.Locality { if x != nil { return x.Locality } return nil } func (x *LocalityEndpoints) GetEndpoints() []*v31.Endpoint { if x != nil { return x.Endpoints } return nil } // The cluster name and locality is provided to Envoy for the endpoints that it // health checks to support statistics reporting, logging and debugging by the // Envoy instance (outside of HDS). For maximum usefulness, it should match the // same cluster structure as that provided by EDS. // [#next-free-field: 6] type ClusterHealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` HealthChecks []*v3.HealthCheck `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` LocalityEndpoints []*LocalityEndpoints `protobuf:"bytes,3,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"` // Optional map that gets filtered by :ref:`health_checks.transport_socket_match_criteria ` // on connection when health checking. For more details, see // :ref:`config.cluster.v3.Cluster.transport_socket_matches `. TransportSocketMatches []*v32.Cluster_TransportSocketMatch `protobuf:"bytes,4,rep,name=transport_socket_matches,json=transportSocketMatches,proto3" json:"transport_socket_matches,omitempty"` // Optional configuration used to bind newly established upstream connections. // If the address and port are empty, no bind will be performed. UpstreamBindConfig *v3.BindConfig `protobuf:"bytes,5,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"` } func (x *ClusterHealthCheck) Reset() { *x = ClusterHealthCheck{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClusterHealthCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClusterHealthCheck) ProtoMessage() {} func (x *ClusterHealthCheck) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterHealthCheck.ProtoReflect.Descriptor instead. func (*ClusterHealthCheck) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{8} } func (x *ClusterHealthCheck) GetClusterName() string { if x != nil { return x.ClusterName } return "" } func (x *ClusterHealthCheck) GetHealthChecks() []*v3.HealthCheck { if x != nil { return x.HealthChecks } return nil } func (x *ClusterHealthCheck) GetLocalityEndpoints() []*LocalityEndpoints { if x != nil { return x.LocalityEndpoints } return nil } func (x *ClusterHealthCheck) GetTransportSocketMatches() []*v32.Cluster_TransportSocketMatch { if x != nil { return x.TransportSocketMatches } return nil } func (x *ClusterHealthCheck) GetUpstreamBindConfig() *v3.BindConfig { if x != nil { return x.UpstreamBindConfig } return nil } type HealthCheckSpecifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClusterHealthChecks []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=cluster_health_checks,json=clusterHealthChecks,proto3" json:"cluster_health_checks,omitempty"` // The default is 1 second. Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` } func (x *HealthCheckSpecifier) Reset() { *x = HealthCheckSpecifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthCheckSpecifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthCheckSpecifier) ProtoMessage() {} func (x *HealthCheckSpecifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HealthCheckSpecifier.ProtoReflect.Descriptor instead. func (*HealthCheckSpecifier) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{9} } func (x *HealthCheckSpecifier) GetClusterHealthChecks() []*ClusterHealthCheck { if x != nil { return x.ClusterHealthChecks } return nil } func (x *HealthCheckSpecifier) GetInterval() *duration.Duration { if x != nil { return x.Interval } return nil } // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type HdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HdsDummy) Reset() { *x = HdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HdsDummy) ProtoMessage() {} func (x *HdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_health_v3_hds_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HdsDummy.ProtoReflect.Descriptor instead. func (*HdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{10} } var File_envoy_service_health_v3_hds_proto protoreflect.FileDescriptor var file_envoy_service_health_v3_hds_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x62, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x28, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x02, 0x3a, 0x2c, 0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xbf, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xa9, 0x01, 0x0a, 0x17, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xa9, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6c, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x17, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x9e, 0x02, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x69, 0x0a, 0x18, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x16, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd8, 0x02, 0x0a, 0x2a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x4c, 0x9a, 0xc5, 0x88, 0x1e, 0x47, 0x0a, 0x45, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xd5, 0x03, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x14, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x0a, 0x0a, 0x08, 0x48, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xd8, 0x02, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x46, 0x65, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x48, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_health_v3_hds_proto_rawDescOnce sync.Once file_envoy_service_health_v3_hds_proto_rawDescData = file_envoy_service_health_v3_hds_proto_rawDesc ) func file_envoy_service_health_v3_hds_proto_rawDescGZIP() []byte { file_envoy_service_health_v3_hds_proto_rawDescOnce.Do(func() { file_envoy_service_health_v3_hds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_health_v3_hds_proto_rawDescData) }) return file_envoy_service_health_v3_hds_proto_rawDescData } var file_envoy_service_health_v3_hds_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_service_health_v3_hds_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_envoy_service_health_v3_hds_proto_goTypes = []interface{}{ (Capability_Protocol)(0), // 0: envoy.service.health.v3.Capability.Protocol (*Capability)(nil), // 1: envoy.service.health.v3.Capability (*HealthCheckRequest)(nil), // 2: envoy.service.health.v3.HealthCheckRequest (*EndpointHealth)(nil), // 3: envoy.service.health.v3.EndpointHealth (*LocalityEndpointsHealth)(nil), // 4: envoy.service.health.v3.LocalityEndpointsHealth (*ClusterEndpointsHealth)(nil), // 5: envoy.service.health.v3.ClusterEndpointsHealth (*EndpointHealthResponse)(nil), // 6: envoy.service.health.v3.EndpointHealthResponse (*HealthCheckRequestOrEndpointHealthResponse)(nil), // 7: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse (*LocalityEndpoints)(nil), // 8: envoy.service.health.v3.LocalityEndpoints (*ClusterHealthCheck)(nil), // 9: envoy.service.health.v3.ClusterHealthCheck (*HealthCheckSpecifier)(nil), // 10: envoy.service.health.v3.HealthCheckSpecifier (*HdsDummy)(nil), // 11: envoy.service.health.v3.HdsDummy (*v3.Node)(nil), // 12: envoy.config.core.v3.Node (*v31.Endpoint)(nil), // 13: envoy.config.endpoint.v3.Endpoint (v3.HealthStatus)(0), // 14: envoy.config.core.v3.HealthStatus (*v3.Locality)(nil), // 15: envoy.config.core.v3.Locality (*v3.HealthCheck)(nil), // 16: envoy.config.core.v3.HealthCheck (*v32.Cluster_TransportSocketMatch)(nil), // 17: envoy.config.cluster.v3.Cluster.TransportSocketMatch (*v3.BindConfig)(nil), // 18: envoy.config.core.v3.BindConfig (*duration.Duration)(nil), // 19: google.protobuf.Duration } var file_envoy_service_health_v3_hds_proto_depIdxs = []int32{ 0, // 0: envoy.service.health.v3.Capability.health_check_protocols:type_name -> envoy.service.health.v3.Capability.Protocol 12, // 1: envoy.service.health.v3.HealthCheckRequest.node:type_name -> envoy.config.core.v3.Node 1, // 2: envoy.service.health.v3.HealthCheckRequest.capability:type_name -> envoy.service.health.v3.Capability 13, // 3: envoy.service.health.v3.EndpointHealth.endpoint:type_name -> envoy.config.endpoint.v3.Endpoint 14, // 4: envoy.service.health.v3.EndpointHealth.health_status:type_name -> envoy.config.core.v3.HealthStatus 15, // 5: envoy.service.health.v3.LocalityEndpointsHealth.locality:type_name -> envoy.config.core.v3.Locality 3, // 6: envoy.service.health.v3.LocalityEndpointsHealth.endpoints_health:type_name -> envoy.service.health.v3.EndpointHealth 4, // 7: envoy.service.health.v3.ClusterEndpointsHealth.locality_endpoints_health:type_name -> envoy.service.health.v3.LocalityEndpointsHealth 3, // 8: envoy.service.health.v3.EndpointHealthResponse.endpoints_health:type_name -> envoy.service.health.v3.EndpointHealth 5, // 9: envoy.service.health.v3.EndpointHealthResponse.cluster_endpoints_health:type_name -> envoy.service.health.v3.ClusterEndpointsHealth 2, // 10: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse.health_check_request:type_name -> envoy.service.health.v3.HealthCheckRequest 6, // 11: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse.endpoint_health_response:type_name -> envoy.service.health.v3.EndpointHealthResponse 15, // 12: envoy.service.health.v3.LocalityEndpoints.locality:type_name -> envoy.config.core.v3.Locality 13, // 13: envoy.service.health.v3.LocalityEndpoints.endpoints:type_name -> envoy.config.endpoint.v3.Endpoint 16, // 14: envoy.service.health.v3.ClusterHealthCheck.health_checks:type_name -> envoy.config.core.v3.HealthCheck 8, // 15: envoy.service.health.v3.ClusterHealthCheck.locality_endpoints:type_name -> envoy.service.health.v3.LocalityEndpoints 17, // 16: envoy.service.health.v3.ClusterHealthCheck.transport_socket_matches:type_name -> envoy.config.cluster.v3.Cluster.TransportSocketMatch 18, // 17: envoy.service.health.v3.ClusterHealthCheck.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig 9, // 18: envoy.service.health.v3.HealthCheckSpecifier.cluster_health_checks:type_name -> envoy.service.health.v3.ClusterHealthCheck 19, // 19: envoy.service.health.v3.HealthCheckSpecifier.interval:type_name -> google.protobuf.Duration 7, // 20: envoy.service.health.v3.HealthDiscoveryService.StreamHealthCheck:input_type -> envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse 7, // 21: envoy.service.health.v3.HealthDiscoveryService.FetchHealthCheck:input_type -> envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse 10, // 22: envoy.service.health.v3.HealthDiscoveryService.StreamHealthCheck:output_type -> envoy.service.health.v3.HealthCheckSpecifier 10, // 23: envoy.service.health.v3.HealthDiscoveryService.FetchHealthCheck:output_type -> envoy.service.health.v3.HealthCheckSpecifier 22, // [22:24] is the sub-list for method output_type 20, // [20:22] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_service_health_v3_hds_proto_init() } func file_envoy_service_health_v3_hds_proto_init() { if File_envoy_service_health_v3_hds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_health_v3_hds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Capability); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointHealth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityEndpointsHealth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterEndpointsHealth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndpointHealthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckRequestOrEndpointHealthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalityEndpoints); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterHealthCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckSpecifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_health_v3_hds_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_health_v3_hds_proto_msgTypes[6].OneofWrappers = []interface{}{ (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest)(nil), (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_health_v3_hds_proto_rawDesc, NumEnums: 1, NumMessages: 11, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_health_v3_hds_proto_goTypes, DependencyIndexes: file_envoy_service_health_v3_hds_proto_depIdxs, EnumInfos: file_envoy_service_health_v3_hds_proto_enumTypes, MessageInfos: file_envoy_service_health_v3_hds_proto_msgTypes, }.Build() File_envoy_service_health_v3_hds_proto = out.File file_envoy_service_health_v3_hds_proto_rawDesc = nil file_envoy_service_health_v3_hds_proto_goTypes = nil file_envoy_service_health_v3_hds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // HealthDiscoveryServiceClient is the client API for HealthDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type HealthDiscoveryServiceClient interface { // 1. Envoy starts up and if its can_healthcheck option in the static // bootstrap config is enabled, sends HealthCheckRequest to the management // server. It supplies its capabilities (which protocol it can health check // with, what zone it resides in, etc.). // 2. In response to (1), the management server designates this Envoy as a // healthchecker to health check a subset of all upstream hosts for a given // cluster (for example upstream Host 1 and Host 2). It streams // HealthCheckSpecifier messages with cluster related configuration for all // clusters this Envoy is designated to health check. Subsequent // HealthCheckSpecifier message will be sent on changes to: // a. Endpoints to health checks // b. Per cluster configuration change // 3. Envoy creates a health probe based on the HealthCheck config and sends // it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck // configuration Envoy waits upon the arrival of the probe response and // looks at the content of the response to decide whether the endpoint is // healthy or not. If a response hasn't been received within the timeout // interval, the endpoint health status is considered TIMEOUT. // 4. Envoy reports results back in an EndpointHealthResponse message. // Envoy streams responses as often as the interval configured by the // management server in HealthCheckSpecifier. // 5. The management Server collects health statuses for all endpoints in the // cluster (for all clusters) and uses this information to construct // EndpointDiscoveryResponse messages. // 6. Once Envoy has a list of upstream endpoints to send traffic to, it load // balances traffic to them without additional health checking. It may // use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection // failed to a particular endpoint to account for health status propagation // delay between HDS and EDS). // // By default, can_healthcheck is true. If can_healthcheck is false, Cluster // configuration may not contain HealthCheck message. // TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above // invariant? // TODO(htuch): Add @amb67's diagram. StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) // TODO(htuch): Unlike the gRPC version, there is no stream-based binding of // request/response. Should we add an identifier to the HealthCheckSpecifier // to bind with the response? FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) } type healthDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewHealthDiscoveryServiceClient(cc grpc.ClientConnInterface) HealthDiscoveryServiceClient { return &healthDiscoveryServiceClient{cc} } func (c *healthDiscoveryServiceClient) StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) { stream, err := c.cc.NewStream(ctx, &_HealthDiscoveryService_serviceDesc.Streams[0], "/envoy.service.health.v3.HealthDiscoveryService/StreamHealthCheck", opts...) if err != nil { return nil, err } x := &healthDiscoveryServiceStreamHealthCheckClient{stream} return x, nil } type HealthDiscoveryService_StreamHealthCheckClient interface { Send(*HealthCheckRequestOrEndpointHealthResponse) error Recv() (*HealthCheckSpecifier, error) grpc.ClientStream } type healthDiscoveryServiceStreamHealthCheckClient struct { grpc.ClientStream } func (x *healthDiscoveryServiceStreamHealthCheckClient) Send(m *HealthCheckRequestOrEndpointHealthResponse) error { return x.ClientStream.SendMsg(m) } func (x *healthDiscoveryServiceStreamHealthCheckClient) Recv() (*HealthCheckSpecifier, error) { m := new(HealthCheckSpecifier) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *healthDiscoveryServiceClient) FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) { out := new(HealthCheckSpecifier) err := c.cc.Invoke(ctx, "/envoy.service.health.v3.HealthDiscoveryService/FetchHealthCheck", in, out, opts...) if err != nil { return nil, err } return out, nil } // HealthDiscoveryServiceServer is the server API for HealthDiscoveryService service. type HealthDiscoveryServiceServer interface { // 1. Envoy starts up and if its can_healthcheck option in the static // bootstrap config is enabled, sends HealthCheckRequest to the management // server. It supplies its capabilities (which protocol it can health check // with, what zone it resides in, etc.). // 2. In response to (1), the management server designates this Envoy as a // healthchecker to health check a subset of all upstream hosts for a given // cluster (for example upstream Host 1 and Host 2). It streams // HealthCheckSpecifier messages with cluster related configuration for all // clusters this Envoy is designated to health check. Subsequent // HealthCheckSpecifier message will be sent on changes to: // a. Endpoints to health checks // b. Per cluster configuration change // 3. Envoy creates a health probe based on the HealthCheck config and sends // it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck // configuration Envoy waits upon the arrival of the probe response and // looks at the content of the response to decide whether the endpoint is // healthy or not. If a response hasn't been received within the timeout // interval, the endpoint health status is considered TIMEOUT. // 4. Envoy reports results back in an EndpointHealthResponse message. // Envoy streams responses as often as the interval configured by the // management server in HealthCheckSpecifier. // 5. The management Server collects health statuses for all endpoints in the // cluster (for all clusters) and uses this information to construct // EndpointDiscoveryResponse messages. // 6. Once Envoy has a list of upstream endpoints to send traffic to, it load // balances traffic to them without additional health checking. It may // use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection // failed to a particular endpoint to account for health status propagation // delay between HDS and EDS). // // By default, can_healthcheck is true. If can_healthcheck is false, Cluster // configuration may not contain HealthCheck message. // TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above // invariant? // TODO(htuch): Add @amb67's diagram. StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error // TODO(htuch): Unlike the gRPC version, there is no stream-based binding of // request/response. Should we add an identifier to the HealthCheckSpecifier // to bind with the response? FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) } // UnimplementedHealthDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedHealthDiscoveryServiceServer struct { } func (*UnimplementedHealthDiscoveryServiceServer) StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error { return status.Errorf(codes.Unimplemented, "method StreamHealthCheck not implemented") } func (*UnimplementedHealthDiscoveryServiceServer) FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchHealthCheck not implemented") } func RegisterHealthDiscoveryServiceServer(s *grpc.Server, srv HealthDiscoveryServiceServer) { s.RegisterService(&_HealthDiscoveryService_serviceDesc, srv) } func _HealthDiscoveryService_StreamHealthCheck_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(HealthDiscoveryServiceServer).StreamHealthCheck(&healthDiscoveryServiceStreamHealthCheckServer{stream}) } type HealthDiscoveryService_StreamHealthCheckServer interface { Send(*HealthCheckSpecifier) error Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) grpc.ServerStream } type healthDiscoveryServiceStreamHealthCheckServer struct { grpc.ServerStream } func (x *healthDiscoveryServiceStreamHealthCheckServer) Send(m *HealthCheckSpecifier) error { return x.ServerStream.SendMsg(m) } func (x *healthDiscoveryServiceStreamHealthCheckServer) Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) { m := new(HealthCheckRequestOrEndpointHealthResponse) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _HealthDiscoveryService_FetchHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(HealthCheckRequestOrEndpointHealthResponse) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.health.v3.HealthDiscoveryService/FetchHealthCheck", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, req.(*HealthCheckRequestOrEndpointHealthResponse)) } return interceptor(ctx, in, info, handler) } var _HealthDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.health.v3.HealthDiscoveryService", HandlerType: (*HealthDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchHealthCheck", Handler: _HealthDiscoveryService_FetchHealthCheck_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamHealthCheck", Handler: _HealthDiscoveryService_StreamHealthCheck_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/health/v3/hds.proto", } go-control-plane-0.12.0/envoy/service/health/v3/hds.pb.validate.go000077500000000000000000001420551454502223200246550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/health/v3/hds.proto package healthv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.HealthStatus(0) ) // Validate checks the field values on Capability with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Capability) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Capability with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CapabilityMultiError, or // nil if none found. func (m *Capability) ValidateAll() error { return m.validate(true) } func (m *Capability) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return CapabilityMultiError(errors) } return nil } // CapabilityMultiError is an error wrapping multiple validation errors // returned by Capability.ValidateAll() if the designated constraints aren't met. type CapabilityMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CapabilityMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CapabilityMultiError) AllErrors() []error { return m } // CapabilityValidationError is the validation error returned by // Capability.Validate if the designated constraints aren't met. type CapabilityValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CapabilityValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CapabilityValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CapabilityValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CapabilityValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CapabilityValidationError) ErrorName() string { return "CapabilityValidationError" } // Error satisfies the builtin error interface func (e CapabilityValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCapability.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CapabilityValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CapabilityValidationError{} // Validate checks the field values on HealthCheckRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckRequestMultiError, or nil if none found. func (m *HealthCheckRequest) ValidateAll() error { return m.validate(true) } func (m *HealthCheckRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetCapability()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCapability()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestValidationError{ field: "Capability", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HealthCheckRequestMultiError(errors) } return nil } // HealthCheckRequestMultiError is an error wrapping multiple validation errors // returned by HealthCheckRequest.ValidateAll() if the designated constraints // aren't met. type HealthCheckRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckRequestMultiError) AllErrors() []error { return m } // HealthCheckRequestValidationError is the validation error returned by // HealthCheckRequest.Validate if the designated constraints aren't met. type HealthCheckRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckRequestValidationError) ErrorName() string { return "HealthCheckRequestValidationError" } // Error satisfies the builtin error interface func (e HealthCheckRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckRequestValidationError{} // Validate checks the field values on EndpointHealth with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *EndpointHealth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointHealth with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in EndpointHealthMultiError, // or nil if none found. func (m *EndpointHealth) ValidateAll() error { return m.validate(true) } func (m *EndpointHealth) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetEndpoint()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpoint()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointHealthValidationError{ field: "Endpoint", reason: "embedded message failed validation", cause: err, } } } // no validation rules for HealthStatus if len(errors) > 0 { return EndpointHealthMultiError(errors) } return nil } // EndpointHealthMultiError is an error wrapping multiple validation errors // returned by EndpointHealth.ValidateAll() if the designated constraints // aren't met. type EndpointHealthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointHealthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointHealthMultiError) AllErrors() []error { return m } // EndpointHealthValidationError is the validation error returned by // EndpointHealth.Validate if the designated constraints aren't met. type EndpointHealthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointHealthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointHealthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointHealthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointHealthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointHealthValidationError) ErrorName() string { return "EndpointHealthValidationError" } // Error satisfies the builtin error interface func (e EndpointHealthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointHealth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointHealthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointHealthValidationError{} // Validate checks the field values on LocalityEndpointsHealth with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *LocalityEndpointsHealth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityEndpointsHealth with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityEndpointsHealthMultiError, or nil if none found. func (m *LocalityEndpointsHealth) ValidateAll() error { return m.validate(true) } func (m *LocalityEndpointsHealth) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsHealthValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsHealthValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsHealthValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEndpointsHealth() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsHealthValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsHealthValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsHealthValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LocalityEndpointsHealthMultiError(errors) } return nil } // LocalityEndpointsHealthMultiError is an error wrapping multiple validation // errors returned by LocalityEndpointsHealth.ValidateAll() if the designated // constraints aren't met. type LocalityEndpointsHealthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityEndpointsHealthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityEndpointsHealthMultiError) AllErrors() []error { return m } // LocalityEndpointsHealthValidationError is the validation error returned by // LocalityEndpointsHealth.Validate if the designated constraints aren't met. type LocalityEndpointsHealthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityEndpointsHealthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityEndpointsHealthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityEndpointsHealthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityEndpointsHealthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityEndpointsHealthValidationError) ErrorName() string { return "LocalityEndpointsHealthValidationError" } // Error satisfies the builtin error interface func (e LocalityEndpointsHealthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityEndpointsHealth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityEndpointsHealthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityEndpointsHealthValidationError{} // Validate checks the field values on ClusterEndpointsHealth with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterEndpointsHealth) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterEndpointsHealth with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterEndpointsHealthMultiError, or nil if none found. func (m *ClusterEndpointsHealth) ValidateAll() error { return m.validate(true) } func (m *ClusterEndpointsHealth) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ClusterName for idx, item := range m.GetLocalityEndpointsHealth() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterEndpointsHealthValidationError{ field: fmt.Sprintf("LocalityEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterEndpointsHealthValidationError{ field: fmt.Sprintf("LocalityEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterEndpointsHealthValidationError{ field: fmt.Sprintf("LocalityEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClusterEndpointsHealthMultiError(errors) } return nil } // ClusterEndpointsHealthMultiError is an error wrapping multiple validation // errors returned by ClusterEndpointsHealth.ValidateAll() if the designated // constraints aren't met. type ClusterEndpointsHealthMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterEndpointsHealthMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterEndpointsHealthMultiError) AllErrors() []error { return m } // ClusterEndpointsHealthValidationError is the validation error returned by // ClusterEndpointsHealth.Validate if the designated constraints aren't met. type ClusterEndpointsHealthValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterEndpointsHealthValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterEndpointsHealthValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterEndpointsHealthValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterEndpointsHealthValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterEndpointsHealthValidationError) ErrorName() string { return "ClusterEndpointsHealthValidationError" } // Error satisfies the builtin error interface func (e ClusterEndpointsHealthValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterEndpointsHealth.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterEndpointsHealthValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterEndpointsHealthValidationError{} // Validate checks the field values on EndpointHealthResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *EndpointHealthResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on EndpointHealthResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // EndpointHealthResponseMultiError, or nil if none found. func (m *EndpointHealthResponse) ValidateAll() error { return m.validate(true) } func (m *EndpointHealthResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetEndpointsHealth() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointHealthResponseValidationError{ field: fmt.Sprintf("EndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetClusterEndpointsHealth() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("ClusterEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, EndpointHealthResponseValidationError{ field: fmt.Sprintf("ClusterEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return EndpointHealthResponseValidationError{ field: fmt.Sprintf("ClusterEndpointsHealth[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return EndpointHealthResponseMultiError(errors) } return nil } // EndpointHealthResponseMultiError is an error wrapping multiple validation // errors returned by EndpointHealthResponse.ValidateAll() if the designated // constraints aren't met. type EndpointHealthResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m EndpointHealthResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m EndpointHealthResponseMultiError) AllErrors() []error { return m } // EndpointHealthResponseValidationError is the validation error returned by // EndpointHealthResponse.Validate if the designated constraints aren't met. type EndpointHealthResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e EndpointHealthResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e EndpointHealthResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e EndpointHealthResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e EndpointHealthResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e EndpointHealthResponseValidationError) ErrorName() string { return "EndpointHealthResponseValidationError" } // Error satisfies the builtin error interface func (e EndpointHealthResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sEndpointHealthResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = EndpointHealthResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = EndpointHealthResponseValidationError{} // Validate checks the field values on // HealthCheckRequestOrEndpointHealthResponse with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HealthCheckRequestOrEndpointHealthResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // HealthCheckRequestOrEndpointHealthResponse with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // HealthCheckRequestOrEndpointHealthResponseMultiError, or nil if none found. func (m *HealthCheckRequestOrEndpointHealthResponse) ValidateAll() error { return m.validate(true) } func (m *HealthCheckRequestOrEndpointHealthResponse) validate(all bool) error { if m == nil { return nil } var errors []error switch v := m.RequestType.(type) { case *HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest: if v == nil { err := HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "RequestType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetHealthCheckRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHealthCheckRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "HealthCheckRequest", reason: "embedded message failed validation", cause: err, } } } case *HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse: if v == nil { err := HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "RequestType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpointHealthResponse()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointHealthResponse()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckRequestOrEndpointHealthResponseValidationError{ field: "EndpointHealthResponse", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return HealthCheckRequestOrEndpointHealthResponseMultiError(errors) } return nil } // HealthCheckRequestOrEndpointHealthResponseMultiError is an error wrapping // multiple validation errors returned by // HealthCheckRequestOrEndpointHealthResponse.ValidateAll() if the designated // constraints aren't met. type HealthCheckRequestOrEndpointHealthResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckRequestOrEndpointHealthResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckRequestOrEndpointHealthResponseMultiError) AllErrors() []error { return m } // HealthCheckRequestOrEndpointHealthResponseValidationError is the validation // error returned by HealthCheckRequestOrEndpointHealthResponse.Validate if // the designated constraints aren't met. type HealthCheckRequestOrEndpointHealthResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckRequestOrEndpointHealthResponseValidationError) ErrorName() string { return "HealthCheckRequestOrEndpointHealthResponseValidationError" } // Error satisfies the builtin error interface func (e HealthCheckRequestOrEndpointHealthResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckRequestOrEndpointHealthResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckRequestOrEndpointHealthResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckRequestOrEndpointHealthResponseValidationError{} // Validate checks the field values on LocalityEndpoints with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LocalityEndpoints) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LocalityEndpoints with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LocalityEndpointsMultiError, or nil if none found. func (m *LocalityEndpoints) ValidateAll() error { return m.validate(true) } func (m *LocalityEndpoints) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetLocality()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLocality()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsValidationError{ field: "Locality", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LocalityEndpointsValidationError{ field: fmt.Sprintf("Endpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LocalityEndpointsMultiError(errors) } return nil } // LocalityEndpointsMultiError is an error wrapping multiple validation errors // returned by LocalityEndpoints.ValidateAll() if the designated constraints // aren't met. type LocalityEndpointsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LocalityEndpointsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LocalityEndpointsMultiError) AllErrors() []error { return m } // LocalityEndpointsValidationError is the validation error returned by // LocalityEndpoints.Validate if the designated constraints aren't met. type LocalityEndpointsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LocalityEndpointsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LocalityEndpointsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LocalityEndpointsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LocalityEndpointsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LocalityEndpointsValidationError) ErrorName() string { return "LocalityEndpointsValidationError" } // Error satisfies the builtin error interface func (e LocalityEndpointsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLocalityEndpoints.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LocalityEndpointsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LocalityEndpointsValidationError{} // Validate checks the field values on ClusterHealthCheck with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClusterHealthCheck) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClusterHealthCheck with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClusterHealthCheckMultiError, or nil if none found. func (m *ClusterHealthCheck) ValidateAll() error { return m.validate(true) } func (m *ClusterHealthCheck) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for ClusterName for idx, item := range m.GetHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: fmt.Sprintf("HealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetLocalityEndpoints() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: fmt.Sprintf("LocalityEndpoints[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetTransportSocketMatches() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: fmt.Sprintf("TransportSocketMatches[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetUpstreamBindConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClusterHealthCheckValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetUpstreamBindConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClusterHealthCheckValidationError{ field: "UpstreamBindConfig", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return ClusterHealthCheckMultiError(errors) } return nil } // ClusterHealthCheckMultiError is an error wrapping multiple validation errors // returned by ClusterHealthCheck.ValidateAll() if the designated constraints // aren't met. type ClusterHealthCheckMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClusterHealthCheckMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClusterHealthCheckMultiError) AllErrors() []error { return m } // ClusterHealthCheckValidationError is the validation error returned by // ClusterHealthCheck.Validate if the designated constraints aren't met. type ClusterHealthCheckValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClusterHealthCheckValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClusterHealthCheckValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClusterHealthCheckValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClusterHealthCheckValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClusterHealthCheckValidationError) ErrorName() string { return "ClusterHealthCheckValidationError" } // Error satisfies the builtin error interface func (e ClusterHealthCheckValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClusterHealthCheck.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClusterHealthCheckValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClusterHealthCheckValidationError{} // Validate checks the field values on HealthCheckSpecifier with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HealthCheckSpecifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HealthCheckSpecifier with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HealthCheckSpecifierMultiError, or nil if none found. func (m *HealthCheckSpecifier) ValidateAll() error { return m.validate(true) } func (m *HealthCheckSpecifier) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetClusterHealthChecks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckSpecifierValidationError{ field: fmt.Sprintf("ClusterHealthChecks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HealthCheckSpecifierValidationError{ field: "Interval", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return HealthCheckSpecifierMultiError(errors) } return nil } // HealthCheckSpecifierMultiError is an error wrapping multiple validation // errors returned by HealthCheckSpecifier.ValidateAll() if the designated // constraints aren't met. type HealthCheckSpecifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HealthCheckSpecifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HealthCheckSpecifierMultiError) AllErrors() []error { return m } // HealthCheckSpecifierValidationError is the validation error returned by // HealthCheckSpecifier.Validate if the designated constraints aren't met. type HealthCheckSpecifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HealthCheckSpecifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HealthCheckSpecifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HealthCheckSpecifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HealthCheckSpecifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HealthCheckSpecifierValidationError) ErrorName() string { return "HealthCheckSpecifierValidationError" } // Error satisfies the builtin error interface func (e HealthCheckSpecifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHealthCheckSpecifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HealthCheckSpecifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HealthCheckSpecifierValidationError{} // Validate checks the field values on HdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HdsDummyMultiError, or nil // if none found. func (m *HdsDummy) ValidateAll() error { return m.validate(true) } func (m *HdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HdsDummyMultiError(errors) } return nil } // HdsDummyMultiError is an error wrapping multiple validation errors returned // by HdsDummy.ValidateAll() if the designated constraints aren't met. type HdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HdsDummyMultiError) AllErrors() []error { return m } // HdsDummyValidationError is the validation error returned by // HdsDummy.Validate if the designated constraints aren't met. type HdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HdsDummyValidationError) ErrorName() string { return "HdsDummyValidationError" } // Error satisfies the builtin error interface func (e HdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/listener/000077500000000000000000000000001454502223200213765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/listener/v3/000077500000000000000000000000001454502223200217265ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/listener/v3/lds.pb.go000077500000000000000000000455171454502223200234560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/listener/v3/lds.proto package listenerv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type LdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *LdsDummy) Reset() { *x = LdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_listener_v3_lds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*LdsDummy) ProtoMessage() {} func (x *LdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_listener_v3_lds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LdsDummy.ProtoReflect.Descriptor instead. func (*LdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_listener_v3_lds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_listener_v3_lds_proto protoreflect.FileDescriptor var file_envoy_service_listener_v3_lds_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x08, 0x4c, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xce, 0x03, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x29, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x8a, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x4c, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_listener_v3_lds_proto_rawDescOnce sync.Once file_envoy_service_listener_v3_lds_proto_rawDescData = file_envoy_service_listener_v3_lds_proto_rawDesc ) func file_envoy_service_listener_v3_lds_proto_rawDescGZIP() []byte { file_envoy_service_listener_v3_lds_proto_rawDescOnce.Do(func() { file_envoy_service_listener_v3_lds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_listener_v3_lds_proto_rawDescData) }) return file_envoy_service_listener_v3_lds_proto_rawDescData } var file_envoy_service_listener_v3_lds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_listener_v3_lds_proto_goTypes = []interface{}{ (*LdsDummy)(nil), // 0: envoy.service.listener.v3.LdsDummy (*v3.DeltaDiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DeltaDiscoveryResponse (*v3.DiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DiscoveryResponse } var file_envoy_service_listener_v3_lds_proto_depIdxs = []int32{ 1, // 0: envoy.service.listener.v3.ListenerDiscoveryService.DeltaListeners:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 2, // 1: envoy.service.listener.v3.ListenerDiscoveryService.StreamListeners:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 2: envoy.service.listener.v3.ListenerDiscoveryService.FetchListeners:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.listener.v3.ListenerDiscoveryService.DeltaListeners:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 4, // 4: envoy.service.listener.v3.ListenerDiscoveryService.StreamListeners:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 5: envoy.service.listener.v3.ListenerDiscoveryService.FetchListeners:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_listener_v3_lds_proto_init() } func file_envoy_service_listener_v3_lds_proto_init() { if File_envoy_service_listener_v3_lds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_listener_v3_lds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_listener_v3_lds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_listener_v3_lds_proto_goTypes, DependencyIndexes: file_envoy_service_listener_v3_lds_proto_depIdxs, MessageInfos: file_envoy_service_listener_v3_lds_proto_msgTypes, }.Build() File_envoy_service_listener_v3_lds_proto = out.File file_envoy_service_listener_v3_lds_proto_rawDesc = nil file_envoy_service_listener_v3_lds_proto_goTypes = nil file_envoy_service_listener_v3_lds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ListenerDiscoveryServiceClient is the client API for ListenerDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ListenerDiscoveryServiceClient interface { DeltaListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_DeltaListenersClient, error) StreamListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_StreamListenersClient, error) FetchListeners(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type listenerDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewListenerDiscoveryServiceClient(cc grpc.ClientConnInterface) ListenerDiscoveryServiceClient { return &listenerDiscoveryServiceClient{cc} } func (c *listenerDiscoveryServiceClient) DeltaListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_DeltaListenersClient, error) { stream, err := c.cc.NewStream(ctx, &_ListenerDiscoveryService_serviceDesc.Streams[0], "/envoy.service.listener.v3.ListenerDiscoveryService/DeltaListeners", opts...) if err != nil { return nil, err } x := &listenerDiscoveryServiceDeltaListenersClient{stream} return x, nil } type ListenerDiscoveryService_DeltaListenersClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type listenerDiscoveryServiceDeltaListenersClient struct { grpc.ClientStream } func (x *listenerDiscoveryServiceDeltaListenersClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *listenerDiscoveryServiceDeltaListenersClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *listenerDiscoveryServiceClient) StreamListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_StreamListenersClient, error) { stream, err := c.cc.NewStream(ctx, &_ListenerDiscoveryService_serviceDesc.Streams[1], "/envoy.service.listener.v3.ListenerDiscoveryService/StreamListeners", opts...) if err != nil { return nil, err } x := &listenerDiscoveryServiceStreamListenersClient{stream} return x, nil } type ListenerDiscoveryService_StreamListenersClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type listenerDiscoveryServiceStreamListenersClient struct { grpc.ClientStream } func (x *listenerDiscoveryServiceStreamListenersClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *listenerDiscoveryServiceStreamListenersClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *listenerDiscoveryServiceClient) FetchListeners(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.listener.v3.ListenerDiscoveryService/FetchListeners", in, out, opts...) if err != nil { return nil, err } return out, nil } // ListenerDiscoveryServiceServer is the server API for ListenerDiscoveryService service. type ListenerDiscoveryServiceServer interface { DeltaListeners(ListenerDiscoveryService_DeltaListenersServer) error StreamListeners(ListenerDiscoveryService_StreamListenersServer) error FetchListeners(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedListenerDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedListenerDiscoveryServiceServer struct { } func (*UnimplementedListenerDiscoveryServiceServer) DeltaListeners(ListenerDiscoveryService_DeltaListenersServer) error { return status.Errorf(codes.Unimplemented, "method DeltaListeners not implemented") } func (*UnimplementedListenerDiscoveryServiceServer) StreamListeners(ListenerDiscoveryService_StreamListenersServer) error { return status.Errorf(codes.Unimplemented, "method StreamListeners not implemented") } func (*UnimplementedListenerDiscoveryServiceServer) FetchListeners(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchListeners not implemented") } func RegisterListenerDiscoveryServiceServer(s *grpc.Server, srv ListenerDiscoveryServiceServer) { s.RegisterService(&_ListenerDiscoveryService_serviceDesc, srv) } func _ListenerDiscoveryService_DeltaListeners_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ListenerDiscoveryServiceServer).DeltaListeners(&listenerDiscoveryServiceDeltaListenersServer{stream}) } type ListenerDiscoveryService_DeltaListenersServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type listenerDiscoveryServiceDeltaListenersServer struct { grpc.ServerStream } func (x *listenerDiscoveryServiceDeltaListenersServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *listenerDiscoveryServiceDeltaListenersServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ListenerDiscoveryService_StreamListeners_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ListenerDiscoveryServiceServer).StreamListeners(&listenerDiscoveryServiceStreamListenersServer{stream}) } type ListenerDiscoveryService_StreamListenersServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type listenerDiscoveryServiceStreamListenersServer struct { grpc.ServerStream } func (x *listenerDiscoveryServiceStreamListenersServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *listenerDiscoveryServiceStreamListenersServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ListenerDiscoveryService_FetchListeners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ListenerDiscoveryServiceServer).FetchListeners(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.listener.v3.ListenerDiscoveryService/FetchListeners", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ListenerDiscoveryServiceServer).FetchListeners(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ListenerDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.listener.v3.ListenerDiscoveryService", HandlerType: (*ListenerDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchListeners", Handler: _ListenerDiscoveryService_FetchListeners_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "DeltaListeners", Handler: _ListenerDiscoveryService_DeltaListeners_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "StreamListeners", Handler: _ListenerDiscoveryService_StreamListeners_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/listener/v3/lds.proto", } go-control-plane-0.12.0/envoy/service/listener/v3/lds.pb.validate.go000077500000000000000000000061271454502223200252400ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/listener/v3/lds.proto package listenerv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *LdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in LdsDummyMultiError, or nil // if none found. func (m *LdsDummy) ValidateAll() error { return m.validate(true) } func (m *LdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return LdsDummyMultiError(errors) } return nil } // LdsDummyMultiError is an error wrapping multiple validation errors returned // by LdsDummy.ValidateAll() if the designated constraints aren't met. type LdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LdsDummyMultiError) AllErrors() []error { return m } // LdsDummyValidationError is the validation error returned by // LdsDummy.Validate if the designated constraints aren't met. type LdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LdsDummyValidationError) ErrorName() string { return "LdsDummyValidationError" } // Error satisfies the builtin error interface func (e LdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/load_stats/000077500000000000000000000000001454502223200217065ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/load_stats/v2/000077500000000000000000000000001454502223200222355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/load_stats/v2/lrs.pb.go000077500000000000000000000537031454502223200237770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/load_stats/v2/lrs.proto package load_statsv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" endpoint "github.com/envoyproxy/go-control-plane/envoy/api/v2/endpoint" duration "github.com/golang/protobuf/ptypes/duration" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A load report Envoy sends to the management server. // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. type LoadStatsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node identifier for Envoy instance. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // A list of load stats to report. ClusterStats []*endpoint.ClusterStats `protobuf:"bytes,2,rep,name=cluster_stats,json=clusterStats,proto3" json:"cluster_stats,omitempty"` } func (x *LoadStatsRequest) Reset() { *x = LoadStatsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_load_stats_v2_lrs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadStatsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadStatsRequest) ProtoMessage() {} func (x *LoadStatsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_load_stats_v2_lrs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadStatsRequest.ProtoReflect.Descriptor instead. func (*LoadStatsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_load_stats_v2_lrs_proto_rawDescGZIP(), []int{0} } func (x *LoadStatsRequest) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *LoadStatsRequest) GetClusterStats() []*endpoint.ClusterStats { if x != nil { return x.ClusterStats } return nil } // The management server sends envoy a LoadStatsResponse with all clusters it // is interested in learning load stats about. // [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs. type LoadStatsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Clusters to report stats for. // Not populated if *send_all_clusters* is true. Clusters []string `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` // If true, the client should send all clusters it knows about. // Only clients that advertise the "envoy.lrs.supports_send_all_clusters" capability in their // :ref:`client_features` field will honor this field. SendAllClusters bool `protobuf:"varint,4,opt,name=send_all_clusters,json=sendAllClusters,proto3" json:"send_all_clusters,omitempty"` // The minimum interval of time to collect stats over. This is only a minimum for two reasons: // 1. There may be some delay from when the timer fires until stats sampling occurs. // 2. For clusters that were already feature in the previous *LoadStatsResponse*, any traffic // that is observed in between the corresponding previous *LoadStatsRequest* and this // *LoadStatsResponse* will also be accumulated and billed to the cluster. This avoids a period // of inobservability that might otherwise exists between the messages. New clusters are not // subject to this consideration. LoadReportingInterval *duration.Duration `protobuf:"bytes,2,opt,name=load_reporting_interval,json=loadReportingInterval,proto3" json:"load_reporting_interval,omitempty"` // Set to *true* if the management server supports endpoint granularity // report. ReportEndpointGranularity bool `protobuf:"varint,3,opt,name=report_endpoint_granularity,json=reportEndpointGranularity,proto3" json:"report_endpoint_granularity,omitempty"` } func (x *LoadStatsResponse) Reset() { *x = LoadStatsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_load_stats_v2_lrs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadStatsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadStatsResponse) ProtoMessage() {} func (x *LoadStatsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_load_stats_v2_lrs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadStatsResponse.ProtoReflect.Descriptor instead. func (*LoadStatsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_load_stats_v2_lrs_proto_rawDescGZIP(), []int{1} } func (x *LoadStatsResponse) GetClusters() []string { if x != nil { return x.Clusters } return nil } func (x *LoadStatsResponse) GetSendAllClusters() bool { if x != nil { return x.SendAllClusters } return false } func (x *LoadStatsResponse) GetLoadReportingInterval() *duration.Duration { if x != nil { return x.LoadReportingInterval } return nil } func (x *LoadStatsResponse) GetReportEndpointGranularity() bool { if x != nil { return x.ReportEndpointGranularity } return false } var File_envoy_service_load_stats_v2_lrs_proto protoreflect.FileDescriptor var file_envoy_service_load_stats_v2_lrs_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xee, 0x01, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x17, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x32, 0x8e, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x29, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x4c, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_load_stats_v2_lrs_proto_rawDescOnce sync.Once file_envoy_service_load_stats_v2_lrs_proto_rawDescData = file_envoy_service_load_stats_v2_lrs_proto_rawDesc ) func file_envoy_service_load_stats_v2_lrs_proto_rawDescGZIP() []byte { file_envoy_service_load_stats_v2_lrs_proto_rawDescOnce.Do(func() { file_envoy_service_load_stats_v2_lrs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_load_stats_v2_lrs_proto_rawDescData) }) return file_envoy_service_load_stats_v2_lrs_proto_rawDescData } var file_envoy_service_load_stats_v2_lrs_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_service_load_stats_v2_lrs_proto_goTypes = []interface{}{ (*LoadStatsRequest)(nil), // 0: envoy.service.load_stats.v2.LoadStatsRequest (*LoadStatsResponse)(nil), // 1: envoy.service.load_stats.v2.LoadStatsResponse (*core.Node)(nil), // 2: envoy.api.v2.core.Node (*endpoint.ClusterStats)(nil), // 3: envoy.api.v2.endpoint.ClusterStats (*duration.Duration)(nil), // 4: google.protobuf.Duration } var file_envoy_service_load_stats_v2_lrs_proto_depIdxs = []int32{ 2, // 0: envoy.service.load_stats.v2.LoadStatsRequest.node:type_name -> envoy.api.v2.core.Node 3, // 1: envoy.service.load_stats.v2.LoadStatsRequest.cluster_stats:type_name -> envoy.api.v2.endpoint.ClusterStats 4, // 2: envoy.service.load_stats.v2.LoadStatsResponse.load_reporting_interval:type_name -> google.protobuf.Duration 0, // 3: envoy.service.load_stats.v2.LoadReportingService.StreamLoadStats:input_type -> envoy.service.load_stats.v2.LoadStatsRequest 1, // 4: envoy.service.load_stats.v2.LoadReportingService.StreamLoadStats:output_type -> envoy.service.load_stats.v2.LoadStatsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_load_stats_v2_lrs_proto_init() } func file_envoy_service_load_stats_v2_lrs_proto_init() { if File_envoy_service_load_stats_v2_lrs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_load_stats_v2_lrs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadStatsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_load_stats_v2_lrs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadStatsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_load_stats_v2_lrs_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_load_stats_v2_lrs_proto_goTypes, DependencyIndexes: file_envoy_service_load_stats_v2_lrs_proto_depIdxs, MessageInfos: file_envoy_service_load_stats_v2_lrs_proto_msgTypes, }.Build() File_envoy_service_load_stats_v2_lrs_proto = out.File file_envoy_service_load_stats_v2_lrs_proto_rawDesc = nil file_envoy_service_load_stats_v2_lrs_proto_goTypes = nil file_envoy_service_load_stats_v2_lrs_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // LoadReportingServiceClient is the client API for LoadReportingService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type LoadReportingServiceClient interface { // Advanced API to allow for multi-dimensional load balancing by remote // server. For receiving LB assignments, the steps are: // 1, The management server is configured with per cluster/zone/load metric // // capacity configuration. The capacity configuration definition is // outside of the scope of this document. // 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters // to balance. // // Independently, Envoy will initiate a StreamLoadStats bidi stream with a // management server: // 1. Once a connection establishes, the management server publishes a // LoadStatsResponse for all clusters it is interested in learning load // stats about. // 2. For each cluster, Envoy load balances incoming traffic to upstream hosts // based on per-zone weights and/or per-instance weights (if specified) // based on intra-zone LbPolicy. This information comes from the above // {Stream,Fetch}Endpoints. // 3. When upstream hosts reply, they optionally add header with ASCII representation of EndpointLoadMetricStats. // 4. Envoy aggregates load reports over the period of time given to it in // LoadStatsResponse.load_reporting_interval. This includes aggregation // stats Envoy maintains by itself (total_requests, rpc_errors etc.) as // well as load metrics from upstream hosts. // 5. When the timer of load_reporting_interval expires, Envoy sends new // LoadStatsRequest filled with load reports for each cluster. // 6. The management server uses the load reports from all reported Envoys // from around the world, computes global assignment and prepares traffic // assignment destined for each zone Envoys are located in. Goto 2. StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error) } type loadReportingServiceClient struct { cc grpc.ClientConnInterface } func NewLoadReportingServiceClient(cc grpc.ClientConnInterface) LoadReportingServiceClient { return &loadReportingServiceClient{cc} } func (c *loadReportingServiceClient) StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error) { stream, err := c.cc.NewStream(ctx, &_LoadReportingService_serviceDesc.Streams[0], "/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats", opts...) if err != nil { return nil, err } x := &loadReportingServiceStreamLoadStatsClient{stream} return x, nil } type LoadReportingService_StreamLoadStatsClient interface { Send(*LoadStatsRequest) error Recv() (*LoadStatsResponse, error) grpc.ClientStream } type loadReportingServiceStreamLoadStatsClient struct { grpc.ClientStream } func (x *loadReportingServiceStreamLoadStatsClient) Send(m *LoadStatsRequest) error { return x.ClientStream.SendMsg(m) } func (x *loadReportingServiceStreamLoadStatsClient) Recv() (*LoadStatsResponse, error) { m := new(LoadStatsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // LoadReportingServiceServer is the server API for LoadReportingService service. type LoadReportingServiceServer interface { // Advanced API to allow for multi-dimensional load balancing by remote // server. For receiving LB assignments, the steps are: // 1, The management server is configured with per cluster/zone/load metric // // capacity configuration. The capacity configuration definition is // outside of the scope of this document. // 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters // to balance. // // Independently, Envoy will initiate a StreamLoadStats bidi stream with a // management server: // 1. Once a connection establishes, the management server publishes a // LoadStatsResponse for all clusters it is interested in learning load // stats about. // 2. For each cluster, Envoy load balances incoming traffic to upstream hosts // based on per-zone weights and/or per-instance weights (if specified) // based on intra-zone LbPolicy. This information comes from the above // {Stream,Fetch}Endpoints. // 3. When upstream hosts reply, they optionally add header with ASCII representation of EndpointLoadMetricStats. // 4. Envoy aggregates load reports over the period of time given to it in // LoadStatsResponse.load_reporting_interval. This includes aggregation // stats Envoy maintains by itself (total_requests, rpc_errors etc.) as // well as load metrics from upstream hosts. // 5. When the timer of load_reporting_interval expires, Envoy sends new // LoadStatsRequest filled with load reports for each cluster. // 6. The management server uses the load reports from all reported Envoys // from around the world, computes global assignment and prepares traffic // assignment destined for each zone Envoys are located in. Goto 2. StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error } // UnimplementedLoadReportingServiceServer can be embedded to have forward compatible implementations. type UnimplementedLoadReportingServiceServer struct { } func (*UnimplementedLoadReportingServiceServer) StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error { return status.Errorf(codes.Unimplemented, "method StreamLoadStats not implemented") } func RegisterLoadReportingServiceServer(s *grpc.Server, srv LoadReportingServiceServer) { s.RegisterService(&_LoadReportingService_serviceDesc, srv) } func _LoadReportingService_StreamLoadStats_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(LoadReportingServiceServer).StreamLoadStats(&loadReportingServiceStreamLoadStatsServer{stream}) } type LoadReportingService_StreamLoadStatsServer interface { Send(*LoadStatsResponse) error Recv() (*LoadStatsRequest, error) grpc.ServerStream } type loadReportingServiceStreamLoadStatsServer struct { grpc.ServerStream } func (x *loadReportingServiceStreamLoadStatsServer) Send(m *LoadStatsResponse) error { return x.ServerStream.SendMsg(m) } func (x *loadReportingServiceStreamLoadStatsServer) Recv() (*LoadStatsRequest, error) { m := new(LoadStatsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _LoadReportingService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.load_stats.v2.LoadReportingService", HandlerType: (*LoadReportingServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamLoadStats", Handler: _LoadReportingService_StreamLoadStats_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/load_stats/v2/lrs.proto", } go-control-plane-0.12.0/envoy/service/load_stats/v2/lrs.pb.validate.go000077500000000000000000000214311454502223200255600ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/load_stats/v2/lrs.proto package load_statsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LoadStatsRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LoadStatsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadStatsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadStatsRequestMultiError, or nil if none found. func (m *LoadStatsRequest) ValidateAll() error { return m.validate(true) } func (m *LoadStatsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetClusterStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LoadStatsRequestMultiError(errors) } return nil } // LoadStatsRequestMultiError is an error wrapping multiple validation errors // returned by LoadStatsRequest.ValidateAll() if the designated constraints // aren't met. type LoadStatsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadStatsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadStatsRequestMultiError) AllErrors() []error { return m } // LoadStatsRequestValidationError is the validation error returned by // LoadStatsRequest.Validate if the designated constraints aren't met. type LoadStatsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadStatsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadStatsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadStatsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadStatsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadStatsRequestValidationError) ErrorName() string { return "LoadStatsRequestValidationError" } // Error satisfies the builtin error interface func (e LoadStatsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadStatsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadStatsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadStatsRequestValidationError{} // Validate checks the field values on LoadStatsResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LoadStatsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadStatsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadStatsResponseMultiError, or nil if none found. func (m *LoadStatsResponse) ValidateAll() error { return m.validate(true) } func (m *LoadStatsResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SendAllClusters if all { switch v := interface{}(m.GetLoadReportingInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadReportingInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ReportEndpointGranularity if len(errors) > 0 { return LoadStatsResponseMultiError(errors) } return nil } // LoadStatsResponseMultiError is an error wrapping multiple validation errors // returned by LoadStatsResponse.ValidateAll() if the designated constraints // aren't met. type LoadStatsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadStatsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadStatsResponseMultiError) AllErrors() []error { return m } // LoadStatsResponseValidationError is the validation error returned by // LoadStatsResponse.Validate if the designated constraints aren't met. type LoadStatsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadStatsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadStatsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadStatsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadStatsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadStatsResponseValidationError) ErrorName() string { return "LoadStatsResponseValidationError" } // Error satisfies the builtin error interface func (e LoadStatsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadStatsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadStatsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadStatsResponseValidationError{} go-control-plane-0.12.0/envoy/service/load_stats/v3/000077500000000000000000000000001454502223200222365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/load_stats/v3/lrs.pb.go000077500000000000000000000553421454502223200240010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/load_stats/v3/lrs.proto package load_statsv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v31 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" duration "github.com/golang/protobuf/ptypes/duration" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A load report Envoy sends to the management server. type LoadStatsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node identifier for Envoy instance. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // A list of load stats to report. ClusterStats []*v31.ClusterStats `protobuf:"bytes,2,rep,name=cluster_stats,json=clusterStats,proto3" json:"cluster_stats,omitempty"` } func (x *LoadStatsRequest) Reset() { *x = LoadStatsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadStatsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadStatsRequest) ProtoMessage() {} func (x *LoadStatsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadStatsRequest.ProtoReflect.Descriptor instead. func (*LoadStatsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP(), []int{0} } func (x *LoadStatsRequest) GetNode() *v3.Node { if x != nil { return x.Node } return nil } func (x *LoadStatsRequest) GetClusterStats() []*v31.ClusterStats { if x != nil { return x.ClusterStats } return nil } // The management server sends envoy a LoadStatsResponse with all clusters it // is interested in learning load stats about. type LoadStatsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Clusters to report stats for. // Not populated if “send_all_clusters“ is true. Clusters []string `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` // If true, the client should send all clusters it knows about. // Only clients that advertise the "envoy.lrs.supports_send_all_clusters" capability in their // :ref:`client_features` field will honor this field. SendAllClusters bool `protobuf:"varint,4,opt,name=send_all_clusters,json=sendAllClusters,proto3" json:"send_all_clusters,omitempty"` // The minimum interval of time to collect stats over. This is only a minimum for two reasons: // // 1. There may be some delay from when the timer fires until stats sampling occurs. // 2. For clusters that were already feature in the previous “LoadStatsResponse“, any traffic // that is observed in between the corresponding previous “LoadStatsRequest“ and this // “LoadStatsResponse“ will also be accumulated and billed to the cluster. This avoids a period // of inobservability that might otherwise exists between the messages. New clusters are not // subject to this consideration. LoadReportingInterval *duration.Duration `protobuf:"bytes,2,opt,name=load_reporting_interval,json=loadReportingInterval,proto3" json:"load_reporting_interval,omitempty"` // Set to “true“ if the management server supports endpoint granularity // report. ReportEndpointGranularity bool `protobuf:"varint,3,opt,name=report_endpoint_granularity,json=reportEndpointGranularity,proto3" json:"report_endpoint_granularity,omitempty"` } func (x *LoadStatsResponse) Reset() { *x = LoadStatsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadStatsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadStatsResponse) ProtoMessage() {} func (x *LoadStatsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadStatsResponse.ProtoReflect.Descriptor instead. func (*LoadStatsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP(), []int{1} } func (x *LoadStatsResponse) GetClusters() []string { if x != nil { return x.Clusters } return nil } func (x *LoadStatsResponse) GetSendAllClusters() bool { if x != nil { return x.SendAllClusters } return false } func (x *LoadStatsResponse) GetLoadReportingInterval() *duration.Duration { if x != nil { return x.LoadReportingInterval } return nil } func (x *LoadStatsResponse) GetReportEndpointGranularity() bool { if x != nil { return x.ReportEndpointGranularity } return false } var File_envoy_service_load_stats_v3_lrs_proto protoreflect.FileDescriptor var file_envoy_service_load_stats_v3_lrs_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x17, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8e, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x90, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x29, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x4c, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_load_stats_v3_lrs_proto_rawDescOnce sync.Once file_envoy_service_load_stats_v3_lrs_proto_rawDescData = file_envoy_service_load_stats_v3_lrs_proto_rawDesc ) func file_envoy_service_load_stats_v3_lrs_proto_rawDescGZIP() []byte { file_envoy_service_load_stats_v3_lrs_proto_rawDescOnce.Do(func() { file_envoy_service_load_stats_v3_lrs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_load_stats_v3_lrs_proto_rawDescData) }) return file_envoy_service_load_stats_v3_lrs_proto_rawDescData } var file_envoy_service_load_stats_v3_lrs_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_service_load_stats_v3_lrs_proto_goTypes = []interface{}{ (*LoadStatsRequest)(nil), // 0: envoy.service.load_stats.v3.LoadStatsRequest (*LoadStatsResponse)(nil), // 1: envoy.service.load_stats.v3.LoadStatsResponse (*v3.Node)(nil), // 2: envoy.config.core.v3.Node (*v31.ClusterStats)(nil), // 3: envoy.config.endpoint.v3.ClusterStats (*duration.Duration)(nil), // 4: google.protobuf.Duration } var file_envoy_service_load_stats_v3_lrs_proto_depIdxs = []int32{ 2, // 0: envoy.service.load_stats.v3.LoadStatsRequest.node:type_name -> envoy.config.core.v3.Node 3, // 1: envoy.service.load_stats.v3.LoadStatsRequest.cluster_stats:type_name -> envoy.config.endpoint.v3.ClusterStats 4, // 2: envoy.service.load_stats.v3.LoadStatsResponse.load_reporting_interval:type_name -> google.protobuf.Duration 0, // 3: envoy.service.load_stats.v3.LoadReportingService.StreamLoadStats:input_type -> envoy.service.load_stats.v3.LoadStatsRequest 1, // 4: envoy.service.load_stats.v3.LoadReportingService.StreamLoadStats:output_type -> envoy.service.load_stats.v3.LoadStatsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_load_stats_v3_lrs_proto_init() } func file_envoy_service_load_stats_v3_lrs_proto_init() { if File_envoy_service_load_stats_v3_lrs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_load_stats_v3_lrs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadStatsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_load_stats_v3_lrs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadStatsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_load_stats_v3_lrs_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_load_stats_v3_lrs_proto_goTypes, DependencyIndexes: file_envoy_service_load_stats_v3_lrs_proto_depIdxs, MessageInfos: file_envoy_service_load_stats_v3_lrs_proto_msgTypes, }.Build() File_envoy_service_load_stats_v3_lrs_proto = out.File file_envoy_service_load_stats_v3_lrs_proto_rawDesc = nil file_envoy_service_load_stats_v3_lrs_proto_goTypes = nil file_envoy_service_load_stats_v3_lrs_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // LoadReportingServiceClient is the client API for LoadReportingService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type LoadReportingServiceClient interface { // Advanced API to allow for multi-dimensional load balancing by remote // server. For receiving LB assignments, the steps are: // 1, The management server is configured with per cluster/zone/load metric // // capacity configuration. The capacity configuration definition is // outside of the scope of this document. // 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters // to balance. // // Independently, Envoy will initiate a StreamLoadStats bidi stream with a // management server: // 1. Once a connection establishes, the management server publishes a // LoadStatsResponse for all clusters it is interested in learning load // stats about. // 2. For each cluster, Envoy load balances incoming traffic to upstream hosts // based on per-zone weights and/or per-instance weights (if specified) // based on intra-zone LbPolicy. This information comes from the above // {Stream,Fetch}Endpoints. // 3. When upstream hosts reply, they optionally add header with ASCII representation of EndpointLoadMetricStats. // 4. Envoy aggregates load reports over the period of time given to it in // LoadStatsResponse.load_reporting_interval. This includes aggregation // stats Envoy maintains by itself (total_requests, rpc_errors etc.) as // well as load metrics from upstream hosts. // 5. When the timer of load_reporting_interval expires, Envoy sends new // LoadStatsRequest filled with load reports for each cluster. // 6. The management server uses the load reports from all reported Envoys // from around the world, computes global assignment and prepares traffic // assignment destined for each zone Envoys are located in. Goto 2. StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error) } type loadReportingServiceClient struct { cc grpc.ClientConnInterface } func NewLoadReportingServiceClient(cc grpc.ClientConnInterface) LoadReportingServiceClient { return &loadReportingServiceClient{cc} } func (c *loadReportingServiceClient) StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (LoadReportingService_StreamLoadStatsClient, error) { stream, err := c.cc.NewStream(ctx, &_LoadReportingService_serviceDesc.Streams[0], "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats", opts...) if err != nil { return nil, err } x := &loadReportingServiceStreamLoadStatsClient{stream} return x, nil } type LoadReportingService_StreamLoadStatsClient interface { Send(*LoadStatsRequest) error Recv() (*LoadStatsResponse, error) grpc.ClientStream } type loadReportingServiceStreamLoadStatsClient struct { grpc.ClientStream } func (x *loadReportingServiceStreamLoadStatsClient) Send(m *LoadStatsRequest) error { return x.ClientStream.SendMsg(m) } func (x *loadReportingServiceStreamLoadStatsClient) Recv() (*LoadStatsResponse, error) { m := new(LoadStatsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // LoadReportingServiceServer is the server API for LoadReportingService service. type LoadReportingServiceServer interface { // Advanced API to allow for multi-dimensional load balancing by remote // server. For receiving LB assignments, the steps are: // 1, The management server is configured with per cluster/zone/load metric // // capacity configuration. The capacity configuration definition is // outside of the scope of this document. // 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters // to balance. // // Independently, Envoy will initiate a StreamLoadStats bidi stream with a // management server: // 1. Once a connection establishes, the management server publishes a // LoadStatsResponse for all clusters it is interested in learning load // stats about. // 2. For each cluster, Envoy load balances incoming traffic to upstream hosts // based on per-zone weights and/or per-instance weights (if specified) // based on intra-zone LbPolicy. This information comes from the above // {Stream,Fetch}Endpoints. // 3. When upstream hosts reply, they optionally add header with ASCII representation of EndpointLoadMetricStats. // 4. Envoy aggregates load reports over the period of time given to it in // LoadStatsResponse.load_reporting_interval. This includes aggregation // stats Envoy maintains by itself (total_requests, rpc_errors etc.) as // well as load metrics from upstream hosts. // 5. When the timer of load_reporting_interval expires, Envoy sends new // LoadStatsRequest filled with load reports for each cluster. // 6. The management server uses the load reports from all reported Envoys // from around the world, computes global assignment and prepares traffic // assignment destined for each zone Envoys are located in. Goto 2. StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error } // UnimplementedLoadReportingServiceServer can be embedded to have forward compatible implementations. type UnimplementedLoadReportingServiceServer struct { } func (*UnimplementedLoadReportingServiceServer) StreamLoadStats(LoadReportingService_StreamLoadStatsServer) error { return status.Errorf(codes.Unimplemented, "method StreamLoadStats not implemented") } func RegisterLoadReportingServiceServer(s *grpc.Server, srv LoadReportingServiceServer) { s.RegisterService(&_LoadReportingService_serviceDesc, srv) } func _LoadReportingService_StreamLoadStats_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(LoadReportingServiceServer).StreamLoadStats(&loadReportingServiceStreamLoadStatsServer{stream}) } type LoadReportingService_StreamLoadStatsServer interface { Send(*LoadStatsResponse) error Recv() (*LoadStatsRequest, error) grpc.ServerStream } type loadReportingServiceStreamLoadStatsServer struct { grpc.ServerStream } func (x *loadReportingServiceStreamLoadStatsServer) Send(m *LoadStatsResponse) error { return x.ServerStream.SendMsg(m) } func (x *loadReportingServiceStreamLoadStatsServer) Recv() (*LoadStatsRequest, error) { m := new(LoadStatsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _LoadReportingService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.load_stats.v3.LoadReportingService", HandlerType: (*LoadReportingServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamLoadStats", Handler: _LoadReportingService_StreamLoadStats_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/load_stats/v3/lrs.proto", } go-control-plane-0.12.0/envoy/service/load_stats/v3/lrs.pb.validate.go000077500000000000000000000214311454502223200255610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/load_stats/v3/lrs.proto package load_statsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on LoadStatsRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LoadStatsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadStatsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadStatsRequestMultiError, or nil if none found. func (m *LoadStatsRequest) ValidateAll() error { return m.validate(true) } func (m *LoadStatsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetClusterStats() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsRequestValidationError{ field: fmt.Sprintf("ClusterStats[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return LoadStatsRequestMultiError(errors) } return nil } // LoadStatsRequestMultiError is an error wrapping multiple validation errors // returned by LoadStatsRequest.ValidateAll() if the designated constraints // aren't met. type LoadStatsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadStatsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadStatsRequestMultiError) AllErrors() []error { return m } // LoadStatsRequestValidationError is the validation error returned by // LoadStatsRequest.Validate if the designated constraints aren't met. type LoadStatsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadStatsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadStatsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadStatsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadStatsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadStatsRequestValidationError) ErrorName() string { return "LoadStatsRequestValidationError" } // Error satisfies the builtin error interface func (e LoadStatsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadStatsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadStatsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadStatsRequestValidationError{} // Validate checks the field values on LoadStatsResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *LoadStatsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on LoadStatsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // LoadStatsResponseMultiError, or nil if none found. func (m *LoadStatsResponse) ValidateAll() error { return m.validate(true) } func (m *LoadStatsResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for SendAllClusters if all { switch v := interface{}(m.GetLoadReportingInterval()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLoadReportingInterval()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return LoadStatsResponseValidationError{ field: "LoadReportingInterval", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ReportEndpointGranularity if len(errors) > 0 { return LoadStatsResponseMultiError(errors) } return nil } // LoadStatsResponseMultiError is an error wrapping multiple validation errors // returned by LoadStatsResponse.ValidateAll() if the designated constraints // aren't met. type LoadStatsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m LoadStatsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m LoadStatsResponseMultiError) AllErrors() []error { return m } // LoadStatsResponseValidationError is the validation error returned by // LoadStatsResponse.Validate if the designated constraints aren't met. type LoadStatsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e LoadStatsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e LoadStatsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e LoadStatsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e LoadStatsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e LoadStatsResponseValidationError) ErrorName() string { return "LoadStatsResponseValidationError" } // Error satisfies the builtin error interface func (e LoadStatsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sLoadStatsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = LoadStatsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = LoadStatsResponseValidationError{} go-control-plane-0.12.0/envoy/service/metrics/000077500000000000000000000000001454502223200212175ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/metrics/v2/000077500000000000000000000000001454502223200215465ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/metrics/v2/metrics_service.pb.go000077500000000000000000000437241454502223200257000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/metrics/v2/metrics_service.proto package metricsv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" _go "github.com/prometheus/client_model/go" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type StreamMetricsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamMetricsResponse) Reset() { *x = StreamMetricsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsResponse) ProtoMessage() {} func (x *StreamMetricsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsResponse.ProtoReflect.Descriptor instead. func (*StreamMetricsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v2_metrics_service_proto_rawDescGZIP(), []int{0} } type StreamMetricsMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. As a performance optimization this will // only be sent in the first message on the stream. Identifier *StreamMetricsMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // A list of metric entries EnvoyMetrics []*_go.MetricFamily `protobuf:"bytes,2,rep,name=envoy_metrics,json=envoyMetrics,proto3" json:"envoy_metrics,omitempty"` } func (x *StreamMetricsMessage) Reset() { *x = StreamMetricsMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsMessage) ProtoMessage() {} func (x *StreamMetricsMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsMessage.ProtoReflect.Descriptor instead. func (*StreamMetricsMessage) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v2_metrics_service_proto_rawDescGZIP(), []int{1} } func (x *StreamMetricsMessage) GetIdentifier() *StreamMetricsMessage_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamMetricsMessage) GetEnvoyMetrics() []*_go.MetricFamily { if x != nil { return x.EnvoyMetrics } return nil } type StreamMetricsMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending metrics over the stream. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamMetricsMessage_Identifier) Reset() { *x = StreamMetricsMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsMessage_Identifier) ProtoMessage() {} func (x *StreamMetricsMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamMetricsMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v2_metrics_service_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamMetricsMessage_Identifier) GetNode() *core.Node { if x != nil { return x.Node } return nil } var File_envoy_service_metrics_v2_metrics_service_proto protoreflect.FileDescriptor var file_envoy_service_metrics_v2_metrics_service_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x69, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x86, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x92, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_metrics_v2_metrics_service_proto_rawDescOnce sync.Once file_envoy_service_metrics_v2_metrics_service_proto_rawDescData = file_envoy_service_metrics_v2_metrics_service_proto_rawDesc ) func file_envoy_service_metrics_v2_metrics_service_proto_rawDescGZIP() []byte { file_envoy_service_metrics_v2_metrics_service_proto_rawDescOnce.Do(func() { file_envoy_service_metrics_v2_metrics_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_metrics_v2_metrics_service_proto_rawDescData) }) return file_envoy_service_metrics_v2_metrics_service_proto_rawDescData } var file_envoy_service_metrics_v2_metrics_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_metrics_v2_metrics_service_proto_goTypes = []interface{}{ (*StreamMetricsResponse)(nil), // 0: envoy.service.metrics.v2.StreamMetricsResponse (*StreamMetricsMessage)(nil), // 1: envoy.service.metrics.v2.StreamMetricsMessage (*StreamMetricsMessage_Identifier)(nil), // 2: envoy.service.metrics.v2.StreamMetricsMessage.Identifier (*_go.MetricFamily)(nil), // 3: io.prometheus.client.MetricFamily (*core.Node)(nil), // 4: envoy.api.v2.core.Node } var file_envoy_service_metrics_v2_metrics_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.metrics.v2.StreamMetricsMessage.identifier:type_name -> envoy.service.metrics.v2.StreamMetricsMessage.Identifier 3, // 1: envoy.service.metrics.v2.StreamMetricsMessage.envoy_metrics:type_name -> io.prometheus.client.MetricFamily 4, // 2: envoy.service.metrics.v2.StreamMetricsMessage.Identifier.node:type_name -> envoy.api.v2.core.Node 1, // 3: envoy.service.metrics.v2.MetricsService.StreamMetrics:input_type -> envoy.service.metrics.v2.StreamMetricsMessage 0, // 4: envoy.service.metrics.v2.MetricsService.StreamMetrics:output_type -> envoy.service.metrics.v2.StreamMetricsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_metrics_v2_metrics_service_proto_init() } func file_envoy_service_metrics_v2_metrics_service_proto_init() { if File_envoy_service_metrics_v2_metrics_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_metrics_v2_metrics_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_metrics_v2_metrics_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_metrics_v2_metrics_service_proto_goTypes, DependencyIndexes: file_envoy_service_metrics_v2_metrics_service_proto_depIdxs, MessageInfos: file_envoy_service_metrics_v2_metrics_service_proto_msgTypes, }.Build() File_envoy_service_metrics_v2_metrics_service_proto = out.File file_envoy_service_metrics_v2_metrics_service_proto_rawDesc = nil file_envoy_service_metrics_v2_metrics_service_proto_goTypes = nil file_envoy_service_metrics_v2_metrics_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // MetricsServiceClient is the client API for MetricsService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MetricsServiceClient interface { // Envoy will connect and send StreamMetricsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. StreamMetrics(ctx context.Context, opts ...grpc.CallOption) (MetricsService_StreamMetricsClient, error) } type metricsServiceClient struct { cc grpc.ClientConnInterface } func NewMetricsServiceClient(cc grpc.ClientConnInterface) MetricsServiceClient { return &metricsServiceClient{cc} } func (c *metricsServiceClient) StreamMetrics(ctx context.Context, opts ...grpc.CallOption) (MetricsService_StreamMetricsClient, error) { stream, err := c.cc.NewStream(ctx, &_MetricsService_serviceDesc.Streams[0], "/envoy.service.metrics.v2.MetricsService/StreamMetrics", opts...) if err != nil { return nil, err } x := &metricsServiceStreamMetricsClient{stream} return x, nil } type MetricsService_StreamMetricsClient interface { Send(*StreamMetricsMessage) error CloseAndRecv() (*StreamMetricsResponse, error) grpc.ClientStream } type metricsServiceStreamMetricsClient struct { grpc.ClientStream } func (x *metricsServiceStreamMetricsClient) Send(m *StreamMetricsMessage) error { return x.ClientStream.SendMsg(m) } func (x *metricsServiceStreamMetricsClient) CloseAndRecv() (*StreamMetricsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamMetricsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // MetricsServiceServer is the server API for MetricsService service. type MetricsServiceServer interface { // Envoy will connect and send StreamMetricsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. StreamMetrics(MetricsService_StreamMetricsServer) error } // UnimplementedMetricsServiceServer can be embedded to have forward compatible implementations. type UnimplementedMetricsServiceServer struct { } func (*UnimplementedMetricsServiceServer) StreamMetrics(MetricsService_StreamMetricsServer) error { return status.Errorf(codes.Unimplemented, "method StreamMetrics not implemented") } func RegisterMetricsServiceServer(s *grpc.Server, srv MetricsServiceServer) { s.RegisterService(&_MetricsService_serviceDesc, srv) } func _MetricsService_StreamMetrics_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(MetricsServiceServer).StreamMetrics(&metricsServiceStreamMetricsServer{stream}) } type MetricsService_StreamMetricsServer interface { SendAndClose(*StreamMetricsResponse) error Recv() (*StreamMetricsMessage, error) grpc.ServerStream } type metricsServiceStreamMetricsServer struct { grpc.ServerStream } func (x *metricsServiceStreamMetricsServer) SendAndClose(m *StreamMetricsResponse) error { return x.ServerStream.SendMsg(m) } func (x *metricsServiceStreamMetricsServer) Recv() (*StreamMetricsMessage, error) { m := new(StreamMetricsMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _MetricsService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.metrics.v2.MetricsService", HandlerType: (*MetricsServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamMetrics", Handler: _MetricsService_StreamMetrics_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/metrics/v2/metrics_service.proto", } go-control-plane-0.12.0/envoy/service/metrics/v2/metrics_service.pb.validate.go000077500000000000000000000302661454502223200274650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/metrics/v2/metrics_service.proto package metricsv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamMetricsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamMetricsResponseMultiError, or nil if none found. func (m *StreamMetricsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamMetricsResponseMultiError(errors) } return nil } // StreamMetricsResponseMultiError is an error wrapping multiple validation // errors returned by StreamMetricsResponse.ValidateAll() if the designated // constraints aren't met. type StreamMetricsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsResponseMultiError) AllErrors() []error { return m } // StreamMetricsResponseValidationError is the validation error returned by // StreamMetricsResponse.Validate if the designated constraints aren't met. type StreamMetricsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsResponseValidationError) ErrorName() string { return "StreamMetricsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsResponseValidationError{} // Validate checks the field values on StreamMetricsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamMetricsMessageMultiError, or nil if none found. func (m *StreamMetricsMessage) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEnvoyMetrics() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamMetricsMessageMultiError(errors) } return nil } // StreamMetricsMessageMultiError is an error wrapping multiple validation // errors returned by StreamMetricsMessage.ValidateAll() if the designated // constraints aren't met. type StreamMetricsMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsMessageMultiError) AllErrors() []error { return m } // StreamMetricsMessageValidationError is the validation error returned by // StreamMetricsMessage.Validate if the designated constraints aren't met. type StreamMetricsMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsMessageValidationError) ErrorName() string { return "StreamMetricsMessageValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsMessageValidationError{} // Validate checks the field values on StreamMetricsMessage_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamMetricsMessage_IdentifierMultiError, or nil if none found. func (m *StreamMetricsMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamMetricsMessage_IdentifierMultiError(errors) } return nil } // StreamMetricsMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamMetricsMessage_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamMetricsMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamMetricsMessage_IdentifierValidationError is the validation error // returned by StreamMetricsMessage_Identifier.Validate if the designated // constraints aren't met. type StreamMetricsMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsMessage_IdentifierValidationError) ErrorName() string { return "StreamMetricsMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsMessage_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/metrics/v3/000077500000000000000000000000001454502223200215475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/metrics/v3/metrics_service.pb.go000077500000000000000000000463641454502223200257040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/metrics/v3/metrics_service.proto package metricsv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _go "github.com/prometheus/client_model/go" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type StreamMetricsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamMetricsResponse) Reset() { *x = StreamMetricsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsResponse) ProtoMessage() {} func (x *StreamMetricsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsResponse.ProtoReflect.Descriptor instead. func (*StreamMetricsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v3_metrics_service_proto_rawDescGZIP(), []int{0} } type StreamMetricsMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. As a performance optimization this will // only be sent in the first message on the stream. Identifier *StreamMetricsMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // A list of metric entries EnvoyMetrics []*_go.MetricFamily `protobuf:"bytes,2,rep,name=envoy_metrics,json=envoyMetrics,proto3" json:"envoy_metrics,omitempty"` } func (x *StreamMetricsMessage) Reset() { *x = StreamMetricsMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsMessage) ProtoMessage() {} func (x *StreamMetricsMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsMessage.ProtoReflect.Descriptor instead. func (*StreamMetricsMessage) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v3_metrics_service_proto_rawDescGZIP(), []int{1} } func (x *StreamMetricsMessage) GetIdentifier() *StreamMetricsMessage_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamMetricsMessage) GetEnvoyMetrics() []*_go.MetricFamily { if x != nil { return x.EnvoyMetrics } return nil } type StreamMetricsMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending metrics over the stream. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamMetricsMessage_Identifier) Reset() { *x = StreamMetricsMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamMetricsMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamMetricsMessage_Identifier) ProtoMessage() {} func (x *StreamMetricsMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamMetricsMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamMetricsMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_metrics_v3_metrics_service_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamMetricsMessage_Identifier) GetNode() *v3.Node { if x != nil { return x.Node } return nil } var File_envoy_service_metrics_v3_metrics_service_proto protoreflect.FileDescriptor var file_envoy_service_metrics_v3_metrics_service_proto_rawDesc = []byte{ 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x69, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfa, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x3a, 0x3f, 0x9a, 0xc5, 0x88, 0x1e, 0x3a, 0x0a, 0x38, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x86, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x92, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_metrics_v3_metrics_service_proto_rawDescOnce sync.Once file_envoy_service_metrics_v3_metrics_service_proto_rawDescData = file_envoy_service_metrics_v3_metrics_service_proto_rawDesc ) func file_envoy_service_metrics_v3_metrics_service_proto_rawDescGZIP() []byte { file_envoy_service_metrics_v3_metrics_service_proto_rawDescOnce.Do(func() { file_envoy_service_metrics_v3_metrics_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_metrics_v3_metrics_service_proto_rawDescData) }) return file_envoy_service_metrics_v3_metrics_service_proto_rawDescData } var file_envoy_service_metrics_v3_metrics_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_metrics_v3_metrics_service_proto_goTypes = []interface{}{ (*StreamMetricsResponse)(nil), // 0: envoy.service.metrics.v3.StreamMetricsResponse (*StreamMetricsMessage)(nil), // 1: envoy.service.metrics.v3.StreamMetricsMessage (*StreamMetricsMessage_Identifier)(nil), // 2: envoy.service.metrics.v3.StreamMetricsMessage.Identifier (*_go.MetricFamily)(nil), // 3: io.prometheus.client.MetricFamily (*v3.Node)(nil), // 4: envoy.config.core.v3.Node } var file_envoy_service_metrics_v3_metrics_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.metrics.v3.StreamMetricsMessage.identifier:type_name -> envoy.service.metrics.v3.StreamMetricsMessage.Identifier 3, // 1: envoy.service.metrics.v3.StreamMetricsMessage.envoy_metrics:type_name -> io.prometheus.client.MetricFamily 4, // 2: envoy.service.metrics.v3.StreamMetricsMessage.Identifier.node:type_name -> envoy.config.core.v3.Node 1, // 3: envoy.service.metrics.v3.MetricsService.StreamMetrics:input_type -> envoy.service.metrics.v3.StreamMetricsMessage 0, // 4: envoy.service.metrics.v3.MetricsService.StreamMetrics:output_type -> envoy.service.metrics.v3.StreamMetricsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_metrics_v3_metrics_service_proto_init() } func file_envoy_service_metrics_v3_metrics_service_proto_init() { if File_envoy_service_metrics_v3_metrics_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_metrics_v3_metrics_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMetricsMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_metrics_v3_metrics_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_metrics_v3_metrics_service_proto_goTypes, DependencyIndexes: file_envoy_service_metrics_v3_metrics_service_proto_depIdxs, MessageInfos: file_envoy_service_metrics_v3_metrics_service_proto_msgTypes, }.Build() File_envoy_service_metrics_v3_metrics_service_proto = out.File file_envoy_service_metrics_v3_metrics_service_proto_rawDesc = nil file_envoy_service_metrics_v3_metrics_service_proto_goTypes = nil file_envoy_service_metrics_v3_metrics_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // MetricsServiceClient is the client API for MetricsService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MetricsServiceClient interface { // Envoy will connect and send StreamMetricsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. StreamMetrics(ctx context.Context, opts ...grpc.CallOption) (MetricsService_StreamMetricsClient, error) } type metricsServiceClient struct { cc grpc.ClientConnInterface } func NewMetricsServiceClient(cc grpc.ClientConnInterface) MetricsServiceClient { return &metricsServiceClient{cc} } func (c *metricsServiceClient) StreamMetrics(ctx context.Context, opts ...grpc.CallOption) (MetricsService_StreamMetricsClient, error) { stream, err := c.cc.NewStream(ctx, &_MetricsService_serviceDesc.Streams[0], "/envoy.service.metrics.v3.MetricsService/StreamMetrics", opts...) if err != nil { return nil, err } x := &metricsServiceStreamMetricsClient{stream} return x, nil } type MetricsService_StreamMetricsClient interface { Send(*StreamMetricsMessage) error CloseAndRecv() (*StreamMetricsResponse, error) grpc.ClientStream } type metricsServiceStreamMetricsClient struct { grpc.ClientStream } func (x *metricsServiceStreamMetricsClient) Send(m *StreamMetricsMessage) error { return x.ClientStream.SendMsg(m) } func (x *metricsServiceStreamMetricsClient) CloseAndRecv() (*StreamMetricsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamMetricsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // MetricsServiceServer is the server API for MetricsService service. type MetricsServiceServer interface { // Envoy will connect and send StreamMetricsMessage messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. StreamMetrics(MetricsService_StreamMetricsServer) error } // UnimplementedMetricsServiceServer can be embedded to have forward compatible implementations. type UnimplementedMetricsServiceServer struct { } func (*UnimplementedMetricsServiceServer) StreamMetrics(MetricsService_StreamMetricsServer) error { return status.Errorf(codes.Unimplemented, "method StreamMetrics not implemented") } func RegisterMetricsServiceServer(s *grpc.Server, srv MetricsServiceServer) { s.RegisterService(&_MetricsService_serviceDesc, srv) } func _MetricsService_StreamMetrics_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(MetricsServiceServer).StreamMetrics(&metricsServiceStreamMetricsServer{stream}) } type MetricsService_StreamMetricsServer interface { SendAndClose(*StreamMetricsResponse) error Recv() (*StreamMetricsMessage, error) grpc.ServerStream } type metricsServiceStreamMetricsServer struct { grpc.ServerStream } func (x *metricsServiceStreamMetricsServer) SendAndClose(m *StreamMetricsResponse) error { return x.ServerStream.SendMsg(m) } func (x *metricsServiceStreamMetricsServer) Recv() (*StreamMetricsMessage, error) { m := new(StreamMetricsMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _MetricsService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.metrics.v3.MetricsService", HandlerType: (*MetricsServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamMetrics", Handler: _MetricsService_StreamMetrics_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/metrics/v3/metrics_service.proto", } go-control-plane-0.12.0/envoy/service/metrics/v3/metrics_service.pb.validate.go000077500000000000000000000302661454502223200274660ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/metrics/v3/metrics_service.proto package metricsv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamMetricsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamMetricsResponseMultiError, or nil if none found. func (m *StreamMetricsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamMetricsResponseMultiError(errors) } return nil } // StreamMetricsResponseMultiError is an error wrapping multiple validation // errors returned by StreamMetricsResponse.ValidateAll() if the designated // constraints aren't met. type StreamMetricsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsResponseMultiError) AllErrors() []error { return m } // StreamMetricsResponseValidationError is the validation error returned by // StreamMetricsResponse.Validate if the designated constraints aren't met. type StreamMetricsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsResponseValidationError) ErrorName() string { return "StreamMetricsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsResponseValidationError{} // Validate checks the field values on StreamMetricsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamMetricsMessageMultiError, or nil if none found. func (m *StreamMetricsMessage) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetEnvoyMetrics() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessageValidationError{ field: fmt.Sprintf("EnvoyMetrics[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamMetricsMessageMultiError(errors) } return nil } // StreamMetricsMessageMultiError is an error wrapping multiple validation // errors returned by StreamMetricsMessage.ValidateAll() if the designated // constraints aren't met. type StreamMetricsMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsMessageMultiError) AllErrors() []error { return m } // StreamMetricsMessageValidationError is the validation error returned by // StreamMetricsMessage.Validate if the designated constraints aren't met. type StreamMetricsMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsMessageValidationError) ErrorName() string { return "StreamMetricsMessageValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsMessageValidationError{} // Validate checks the field values on StreamMetricsMessage_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamMetricsMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamMetricsMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamMetricsMessage_IdentifierMultiError, or nil if none found. func (m *StreamMetricsMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamMetricsMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamMetricsMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamMetricsMessage_IdentifierMultiError(errors) } return nil } // StreamMetricsMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamMetricsMessage_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamMetricsMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamMetricsMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamMetricsMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamMetricsMessage_IdentifierValidationError is the validation error // returned by StreamMetricsMessage_Identifier.Validate if the designated // constraints aren't met. type StreamMetricsMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamMetricsMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamMetricsMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamMetricsMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamMetricsMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamMetricsMessage_IdentifierValidationError) ErrorName() string { return "StreamMetricsMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamMetricsMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamMetricsMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamMetricsMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamMetricsMessage_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/rate_limit_quota/000077500000000000000000000000001454502223200231135ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/rate_limit_quota/v3/000077500000000000000000000000001454502223200234435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/rate_limit_quota/v3/rlqs.pb.go000077500000000000000000001346261454502223200253720ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/rate_limit_quota/v3/rlqs.proto package rate_limit_quotav3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RateLimitQuotaUsageReports struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All quota requests must specify the domain. This enables sharing the quota // server between different applications without fear of overlap. // E.g., "envoy". // // Should only be provided in the first report, all subsequent messages on the same // stream are considered to be in the same domain. In case the domain needs to be // changes, close the stream, and reopen a new one with the different domain. Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // A list of quota usage reports. The list is processed by the RLQS server in the same order // it's provided by the client. BucketQuotaUsages []*RateLimitQuotaUsageReports_BucketQuotaUsage `protobuf:"bytes,2,rep,name=bucket_quota_usages,json=bucketQuotaUsages,proto3" json:"bucket_quota_usages,omitempty"` } func (x *RateLimitQuotaUsageReports) Reset() { *x = RateLimitQuotaUsageReports{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaUsageReports) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaUsageReports) ProtoMessage() {} func (x *RateLimitQuotaUsageReports) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaUsageReports.ProtoReflect.Descriptor instead. func (*RateLimitQuotaUsageReports) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{0} } func (x *RateLimitQuotaUsageReports) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitQuotaUsageReports) GetBucketQuotaUsages() []*RateLimitQuotaUsageReports_BucketQuotaUsage { if x != nil { return x.BucketQuotaUsages } return nil } type RateLimitQuotaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // An ordered list of actions to be applied to the buckets. The actions are applied in the // given order, from top to bottom. BucketAction []*RateLimitQuotaResponse_BucketAction `protobuf:"bytes,1,rep,name=bucket_action,json=bucketAction,proto3" json:"bucket_action,omitempty"` } func (x *RateLimitQuotaResponse) Reset() { *x = RateLimitQuotaResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaResponse) ProtoMessage() {} func (x *RateLimitQuotaResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaResponse.ProtoReflect.Descriptor instead. func (*RateLimitQuotaResponse) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{1} } func (x *RateLimitQuotaResponse) GetBucketAction() []*RateLimitQuotaResponse_BucketAction { if x != nil { return x.BucketAction } return nil } // The identifier for the bucket. Used to match the bucket between the control plane (RLQS server), // and the data plane (RLQS client), f.e.: // // - the data plane sends a usage report for requests matched into the bucket with “BucketId“ // to the control plane // - the control plane sends an assignment for the bucket with “BucketId“ to the data plane // Bucket ID. // // Example: // // .. validated-code-block:: yaml // // :type-name: envoy.service.rate_limit_quota.v3.BucketId // // bucket: // name: my_bucket // env: staging // // .. note:: // // The order of ``BucketId`` keys do not matter. Buckets ``{ a: 'A', b: 'B' }`` and // ``{ b: 'B', a: 'A' }`` are identical. type BucketId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Bucket map[string]string `protobuf:"bytes,1,rep,name=bucket,proto3" json:"bucket,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *BucketId) Reset() { *x = BucketId{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BucketId) String() string { return protoimpl.X.MessageStringOf(x) } func (*BucketId) ProtoMessage() {} func (x *BucketId) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BucketId.ProtoReflect.Descriptor instead. func (*BucketId) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{2} } func (x *BucketId) GetBucket() map[string]string { if x != nil { return x.Bucket } return nil } // The usage report for a bucket. // // .. note:: // // Note that the first report sent for a ``BucketId`` indicates to the RLQS server that // the RLQS client is subscribing for the future assignments for this ``BucketId``. type RateLimitQuotaUsageReports_BucketQuotaUsage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // “BucketId“ for which request quota usage is reported. BucketId *BucketId `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` // Time elapsed since the last report. TimeElapsed *duration.Duration `protobuf:"bytes,2,opt,name=time_elapsed,json=timeElapsed,proto3" json:"time_elapsed,omitempty"` // Requests the data plane has allowed through. NumRequestsAllowed uint64 `protobuf:"varint,3,opt,name=num_requests_allowed,json=numRequestsAllowed,proto3" json:"num_requests_allowed,omitempty"` // Requests throttled. NumRequestsDenied uint64 `protobuf:"varint,4,opt,name=num_requests_denied,json=numRequestsDenied,proto3" json:"num_requests_denied,omitempty"` } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) Reset() { *x = RateLimitQuotaUsageReports_BucketQuotaUsage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaUsageReports_BucketQuotaUsage) ProtoMessage() {} func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaUsageReports_BucketQuotaUsage.ProtoReflect.Descriptor instead. func (*RateLimitQuotaUsageReports_BucketQuotaUsage) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{0, 0} } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) GetBucketId() *BucketId { if x != nil { return x.BucketId } return nil } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) GetTimeElapsed() *duration.Duration { if x != nil { return x.TimeElapsed } return nil } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) GetNumRequestsAllowed() uint64 { if x != nil { return x.NumRequestsAllowed } return 0 } func (x *RateLimitQuotaUsageReports_BucketQuotaUsage) GetNumRequestsDenied() uint64 { if x != nil { return x.NumRequestsDenied } return 0 } // Commands the data plane to apply one of the actions to the bucket with the // :ref:`bucket_id `. type RateLimitQuotaResponse_BucketAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // “BucketId“ for which request the action is applied. BucketId *BucketId `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` // Types that are assignable to BucketAction: // // *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_ // *RateLimitQuotaResponse_BucketAction_AbandonAction_ BucketAction isRateLimitQuotaResponse_BucketAction_BucketAction `protobuf_oneof:"bucket_action"` } func (x *RateLimitQuotaResponse_BucketAction) Reset() { *x = RateLimitQuotaResponse_BucketAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaResponse_BucketAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaResponse_BucketAction) ProtoMessage() {} func (x *RateLimitQuotaResponse_BucketAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaResponse_BucketAction.ProtoReflect.Descriptor instead. func (*RateLimitQuotaResponse_BucketAction) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{1, 0} } func (x *RateLimitQuotaResponse_BucketAction) GetBucketId() *BucketId { if x != nil { return x.BucketId } return nil } func (m *RateLimitQuotaResponse_BucketAction) GetBucketAction() isRateLimitQuotaResponse_BucketAction_BucketAction { if m != nil { return m.BucketAction } return nil } func (x *RateLimitQuotaResponse_BucketAction) GetQuotaAssignmentAction() *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction { if x, ok := x.GetBucketAction().(*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_); ok { return x.QuotaAssignmentAction } return nil } func (x *RateLimitQuotaResponse_BucketAction) GetAbandonAction() *RateLimitQuotaResponse_BucketAction_AbandonAction { if x, ok := x.GetBucketAction().(*RateLimitQuotaResponse_BucketAction_AbandonAction_); ok { return x.AbandonAction } return nil } type isRateLimitQuotaResponse_BucketAction_BucketAction interface { isRateLimitQuotaResponse_BucketAction_BucketAction() } type RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_ struct { // Apply the quota assignment to the bucket. // // Commands the data plane to apply a rate limiting strategy to the bucket. // The process of applying and expiring the rate limiting strategy is detailed in the // :ref:`QuotaAssignmentAction // ` // message. QuotaAssignmentAction *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction `protobuf:"bytes,2,opt,name=quota_assignment_action,json=quotaAssignmentAction,proto3,oneof"` } type RateLimitQuotaResponse_BucketAction_AbandonAction_ struct { // Abandon the bucket. // // Commands the data plane to abandon the bucket. // The process of abandoning the bucket is described in the :ref:`AbandonAction // ` // message. AbandonAction *RateLimitQuotaResponse_BucketAction_AbandonAction `protobuf:"bytes,3,opt,name=abandon_action,json=abandonAction,proto3,oneof"` } func (*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_) isRateLimitQuotaResponse_BucketAction_BucketAction() { } func (*RateLimitQuotaResponse_BucketAction_AbandonAction_) isRateLimitQuotaResponse_BucketAction_BucketAction() { } // Quota assignment for the bucket. Configures the rate limiting strategy and the duration // for the given :ref:`bucket_id // `. // // **Applying the first assignment to the bucket** // // Once the data plane receives the “QuotaAssignmentAction“, it must send the current usage // report for the bucket, and start rate limiting requests matched into the bucket // using the strategy configured in the :ref:`rate_limit_strategy // ` // field. The assignment becomes bucket's “active“ assignment. // // **Expiring the assignment** // // The duration of the assignment defined in the :ref:`assignment_time_to_live // ` // field. When the duration runs off, the assignment is “expired“, and no longer “active“. // The data plane should stop applying the rate limiting strategy to the bucket, and transition // the bucket to the "expired assignment" state. This activates the behavior configured in the // :ref:`expired_assignment_behavior ` // field. // // **Replacing the assignment** // // - If the rate limiting strategy is different from bucket's “active“ assignment, or // the current bucket assignment is “expired“, the data plane must immediately // end the current assignment, report the bucket usage, and apply the new assignment. // The new assignment becomes bucket's “active“ assignment. // - If the rate limiting strategy is the same as the bucket's “active“ (not “expired“) // assignment, the data plane should extend the duration of the “active“ assignment // for the duration of the new assignment provided in the :ref:`assignment_time_to_live // ` // field. The “active“ assignment is considered unchanged. type RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A duration after which the assignment is be considered “expired“. The process of the // expiration is described :ref:`above // `. // // - If unset, the assignment has no expiration date. // - If set to “0“, the assignment expires immediately, forcing the client into the // :ref:`"expired assignment" // ` // state. This may be used by the RLQS server in cases when it needs clients to proactively // fall back to the pre-configured :ref:`ExpiredAssignmentBehavior // `, // f.e. before the server going into restart. // // .. attention:: // // Note that :ref:`expiring // ` // the assignment is not the same as :ref:`abandoning // ` // the assignment. While expiring the assignment just transitions the bucket to // the "expired assignment" state; abandoning the assignment completely erases // the bucket from the data plane memory, and stops the usage reports. AssignmentTimeToLive *duration.Duration `protobuf:"bytes,2,opt,name=assignment_time_to_live,json=assignmentTimeToLive,proto3" json:"assignment_time_to_live,omitempty"` // Configures the local rate limiter for the request matched to the bucket. // If not set, allow all requests. RateLimitStrategy *v3.RateLimitStrategy `protobuf:"bytes,3,opt,name=rate_limit_strategy,json=rateLimitStrategy,proto3" json:"rate_limit_strategy,omitempty"` } func (x *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) Reset() { *x = RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) ProtoMessage() {} func (x *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction.ProtoReflect.Descriptor instead. func (*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{1, 0, 0} } func (x *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) GetAssignmentTimeToLive() *duration.Duration { if x != nil { return x.AssignmentTimeToLive } return nil } func (x *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) GetRateLimitStrategy() *v3.RateLimitStrategy { if x != nil { return x.RateLimitStrategy } return nil } // Abandon action for the bucket. Indicates that the RLQS server will no longer be // sending updates for the given :ref:`bucket_id // `. // // If no requests are reported for a bucket, after some time the server considers the bucket // inactive. The server stops tracking the bucket, and instructs the the data plane to abandon // the bucket via this message. // // **Abandoning the assignment** // // The data plane is to erase the bucket (including its usage data) from the memory. // It should stop tracking the bucket, and stop reporting its usage. This effectively resets // the data plane to the state prior to matching the first request into the bucket. // // **Restarting the subscription** // // If a new request is matched into a bucket previously abandoned, the data plane must behave // as if it has never tracked the bucket, and it's the first request matched into it: // // 1. The process of :ref:`subscription and reporting // ` // starts from the beginning. // // 2. The bucket transitions to the :ref:`"no assignment" // ` // state. // // 3. Once the new assignment is received, it's applied per // "Applying the first assignment to the bucket" section of the :ref:`QuotaAssignmentAction // `. type RateLimitQuotaResponse_BucketAction_AbandonAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RateLimitQuotaResponse_BucketAction_AbandonAction) Reset() { *x = RateLimitQuotaResponse_BucketAction_AbandonAction{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitQuotaResponse_BucketAction_AbandonAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitQuotaResponse_BucketAction_AbandonAction) ProtoMessage() {} func (x *RateLimitQuotaResponse_BucketAction_AbandonAction) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitQuotaResponse_BucketAction_AbandonAction.ProtoReflect.Descriptor instead. func (*RateLimitQuotaResponse_BucketAction_AbandonAction) Descriptor() ([]byte, []int) { return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP(), []int{1, 0, 1} } var File_envoy_service_rate_limit_quota_v3_rlqs_proto protoreflect.FileDescriptor var file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x71, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x03, 0x0a, 0x1a, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x88, 0x01, 0x0a, 0x13, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x11, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x92, 0x02, 0x0a, 0x10, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x22, 0xfb, 0x05, 0x0a, 0x16, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe9, 0x04, 0x0a, 0x0c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x96, 0x01, 0x0a, 0x17, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x0e, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xc5, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x14, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x50, 0x0a, 0x13, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x11, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x1a, 0x0f, 0x0a, 0x0d, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xac, 0x01, 0x0a, 0x08, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x65, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x14, 0xfa, 0x42, 0x11, 0x9a, 0x01, 0x0e, 0x08, 0x01, 0x22, 0x04, 0x72, 0x02, 0x10, 0x01, 0x2a, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xb1, 0x01, 0x0a, 0x15, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0xab, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x2f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x6c, 0x71, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescOnce sync.Once file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescData = file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDesc ) func file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescGZIP() []byte { file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescOnce.Do(func() { file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescData) }) return file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDescData } var file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_envoy_service_rate_limit_quota_v3_rlqs_proto_goTypes = []interface{}{ (*RateLimitQuotaUsageReports)(nil), // 0: envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports (*RateLimitQuotaResponse)(nil), // 1: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse (*BucketId)(nil), // 2: envoy.service.rate_limit_quota.v3.BucketId (*RateLimitQuotaUsageReports_BucketQuotaUsage)(nil), // 3: envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports.BucketQuotaUsage (*RateLimitQuotaResponse_BucketAction)(nil), // 4: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction (*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction)(nil), // 5: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction (*RateLimitQuotaResponse_BucketAction_AbandonAction)(nil), // 6: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction nil, // 7: envoy.service.rate_limit_quota.v3.BucketId.BucketEntry (*duration.Duration)(nil), // 8: google.protobuf.Duration (*v3.RateLimitStrategy)(nil), // 9: envoy.type.v3.RateLimitStrategy } var file_envoy_service_rate_limit_quota_v3_rlqs_proto_depIdxs = []int32{ 3, // 0: envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports.bucket_quota_usages:type_name -> envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports.BucketQuotaUsage 4, // 1: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.bucket_action:type_name -> envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction 7, // 2: envoy.service.rate_limit_quota.v3.BucketId.bucket:type_name -> envoy.service.rate_limit_quota.v3.BucketId.BucketEntry 2, // 3: envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports.BucketQuotaUsage.bucket_id:type_name -> envoy.service.rate_limit_quota.v3.BucketId 8, // 4: envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports.BucketQuotaUsage.time_elapsed:type_name -> google.protobuf.Duration 2, // 5: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id:type_name -> envoy.service.rate_limit_quota.v3.BucketId 5, // 6: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.quota_assignment_action:type_name -> envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction 6, // 7: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.abandon_action:type_name -> envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction 8, // 8: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live:type_name -> google.protobuf.Duration 9, // 9: envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.rate_limit_strategy:type_name -> envoy.type.v3.RateLimitStrategy 0, // 10: envoy.service.rate_limit_quota.v3.RateLimitQuotaService.StreamRateLimitQuotas:input_type -> envoy.service.rate_limit_quota.v3.RateLimitQuotaUsageReports 1, // 11: envoy.service.rate_limit_quota.v3.RateLimitQuotaService.StreamRateLimitQuotas:output_type -> envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse 11, // [11:12] is the sub-list for method output_type 10, // [10:11] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_envoy_service_rate_limit_quota_v3_rlqs_proto_init() } func file_envoy_service_rate_limit_quota_v3_rlqs_proto_init() { if File_envoy_service_rate_limit_quota_v3_rlqs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaUsageReports); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BucketId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaUsageReports_BucketQuotaUsage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaResponse_BucketAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitQuotaResponse_BucketAction_AbandonAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes[4].OneofWrappers = []interface{}{ (*RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_)(nil), (*RateLimitQuotaResponse_BucketAction_AbandonAction_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_rate_limit_quota_v3_rlqs_proto_goTypes, DependencyIndexes: file_envoy_service_rate_limit_quota_v3_rlqs_proto_depIdxs, MessageInfos: file_envoy_service_rate_limit_quota_v3_rlqs_proto_msgTypes, }.Build() File_envoy_service_rate_limit_quota_v3_rlqs_proto = out.File file_envoy_service_rate_limit_quota_v3_rlqs_proto_rawDesc = nil file_envoy_service_rate_limit_quota_v3_rlqs_proto_goTypes = nil file_envoy_service_rate_limit_quota_v3_rlqs_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RateLimitQuotaServiceClient is the client API for RateLimitQuotaService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RateLimitQuotaServiceClient interface { // Main communication channel: the data plane sends usage reports to the RLQS server, // and the server asynchronously responding with the assignments. StreamRateLimitQuotas(ctx context.Context, opts ...grpc.CallOption) (RateLimitQuotaService_StreamRateLimitQuotasClient, error) } type rateLimitQuotaServiceClient struct { cc grpc.ClientConnInterface } func NewRateLimitQuotaServiceClient(cc grpc.ClientConnInterface) RateLimitQuotaServiceClient { return &rateLimitQuotaServiceClient{cc} } func (c *rateLimitQuotaServiceClient) StreamRateLimitQuotas(ctx context.Context, opts ...grpc.CallOption) (RateLimitQuotaService_StreamRateLimitQuotasClient, error) { stream, err := c.cc.NewStream(ctx, &_RateLimitQuotaService_serviceDesc.Streams[0], "/envoy.service.rate_limit_quota.v3.RateLimitQuotaService/StreamRateLimitQuotas", opts...) if err != nil { return nil, err } x := &rateLimitQuotaServiceStreamRateLimitQuotasClient{stream} return x, nil } type RateLimitQuotaService_StreamRateLimitQuotasClient interface { Send(*RateLimitQuotaUsageReports) error Recv() (*RateLimitQuotaResponse, error) grpc.ClientStream } type rateLimitQuotaServiceStreamRateLimitQuotasClient struct { grpc.ClientStream } func (x *rateLimitQuotaServiceStreamRateLimitQuotasClient) Send(m *RateLimitQuotaUsageReports) error { return x.ClientStream.SendMsg(m) } func (x *rateLimitQuotaServiceStreamRateLimitQuotasClient) Recv() (*RateLimitQuotaResponse, error) { m := new(RateLimitQuotaResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // RateLimitQuotaServiceServer is the server API for RateLimitQuotaService service. type RateLimitQuotaServiceServer interface { // Main communication channel: the data plane sends usage reports to the RLQS server, // and the server asynchronously responding with the assignments. StreamRateLimitQuotas(RateLimitQuotaService_StreamRateLimitQuotasServer) error } // UnimplementedRateLimitQuotaServiceServer can be embedded to have forward compatible implementations. type UnimplementedRateLimitQuotaServiceServer struct { } func (*UnimplementedRateLimitQuotaServiceServer) StreamRateLimitQuotas(RateLimitQuotaService_StreamRateLimitQuotasServer) error { return status.Errorf(codes.Unimplemented, "method StreamRateLimitQuotas not implemented") } func RegisterRateLimitQuotaServiceServer(s *grpc.Server, srv RateLimitQuotaServiceServer) { s.RegisterService(&_RateLimitQuotaService_serviceDesc, srv) } func _RateLimitQuotaService_StreamRateLimitQuotas_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RateLimitQuotaServiceServer).StreamRateLimitQuotas(&rateLimitQuotaServiceStreamRateLimitQuotasServer{stream}) } type RateLimitQuotaService_StreamRateLimitQuotasServer interface { Send(*RateLimitQuotaResponse) error Recv() (*RateLimitQuotaUsageReports, error) grpc.ServerStream } type rateLimitQuotaServiceStreamRateLimitQuotasServer struct { grpc.ServerStream } func (x *rateLimitQuotaServiceStreamRateLimitQuotasServer) Send(m *RateLimitQuotaResponse) error { return x.ServerStream.SendMsg(m) } func (x *rateLimitQuotaServiceStreamRateLimitQuotasServer) Recv() (*RateLimitQuotaUsageReports, error) { m := new(RateLimitQuotaUsageReports) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _RateLimitQuotaService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.rate_limit_quota.v3.RateLimitQuotaService", HandlerType: (*RateLimitQuotaServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamRateLimitQuotas", Handler: _RateLimitQuotaService_StreamRateLimitQuotas_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/rate_limit_quota/v3/rlqs.proto", } go-control-plane-0.12.0/envoy/service/rate_limit_quota/v3/rlqs.pb.validate.go000077500000000000000000001043071454502223200271530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/rate_limit_quota/v3/rlqs.proto package rate_limit_quotav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitQuotaUsageReports with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaUsageReports) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaUsageReports with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaUsageReportsMultiError, or nil if none found. func (m *RateLimitQuotaUsageReports) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaUsageReports) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetDomain()) < 1 { err := RateLimitQuotaUsageReportsValidationError{ field: "Domain", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetBucketQuotaUsages()) < 1 { err := RateLimitQuotaUsageReportsValidationError{ field: "BucketQuotaUsages", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetBucketQuotaUsages() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaUsageReportsValidationError{ field: fmt.Sprintf("BucketQuotaUsages[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaUsageReportsValidationError{ field: fmt.Sprintf("BucketQuotaUsages[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaUsageReportsValidationError{ field: fmt.Sprintf("BucketQuotaUsages[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitQuotaUsageReportsMultiError(errors) } return nil } // RateLimitQuotaUsageReportsMultiError is an error wrapping multiple // validation errors returned by RateLimitQuotaUsageReports.ValidateAll() if // the designated constraints aren't met. type RateLimitQuotaUsageReportsMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaUsageReportsMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaUsageReportsMultiError) AllErrors() []error { return m } // RateLimitQuotaUsageReportsValidationError is the validation error returned // by RateLimitQuotaUsageReports.Validate if the designated constraints aren't met. type RateLimitQuotaUsageReportsValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaUsageReportsValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaUsageReportsValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaUsageReportsValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaUsageReportsValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaUsageReportsValidationError) ErrorName() string { return "RateLimitQuotaUsageReportsValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaUsageReportsValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaUsageReports.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaUsageReportsValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaUsageReportsValidationError{} // Validate checks the field values on RateLimitQuotaResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaResponseMultiError, or nil if none found. func (m *RateLimitQuotaResponse) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetBucketAction()) < 1 { err := RateLimitQuotaResponseValidationError{ field: "BucketAction", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetBucketAction() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaResponseValidationError{ field: fmt.Sprintf("BucketAction[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaResponseValidationError{ field: fmt.Sprintf("BucketAction[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaResponseValidationError{ field: fmt.Sprintf("BucketAction[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitQuotaResponseMultiError(errors) } return nil } // RateLimitQuotaResponseMultiError is an error wrapping multiple validation // errors returned by RateLimitQuotaResponse.ValidateAll() if the designated // constraints aren't met. type RateLimitQuotaResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaResponseMultiError) AllErrors() []error { return m } // RateLimitQuotaResponseValidationError is the validation error returned by // RateLimitQuotaResponse.Validate if the designated constraints aren't met. type RateLimitQuotaResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaResponseValidationError) ErrorName() string { return "RateLimitQuotaResponseValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaResponseValidationError{} // Validate checks the field values on BucketId with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *BucketId) Validate() error { return m.validate(false) } // ValidateAll checks the field values on BucketId with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in BucketIdMultiError, or nil // if none found. func (m *BucketId) ValidateAll() error { return m.validate(true) } func (m *BucketId) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetBucket()) < 1 { err := BucketIdValidationError{ field: "Bucket", reason: "value must contain at least 1 pair(s)", } if !all { return err } errors = append(errors, err) } { sorted_keys := make([]string, len(m.GetBucket())) i := 0 for key := range m.GetBucket() { sorted_keys[i] = key i++ } sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) for _, key := range sorted_keys { val := m.GetBucket()[key] _ = val if utf8.RuneCountInString(key) < 1 { err := BucketIdValidationError{ field: fmt.Sprintf("Bucket[%v]", key), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if utf8.RuneCountInString(val) < 1 { err := BucketIdValidationError{ field: fmt.Sprintf("Bucket[%v]", key), reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return BucketIdMultiError(errors) } return nil } // BucketIdMultiError is an error wrapping multiple validation errors returned // by BucketId.ValidateAll() if the designated constraints aren't met. type BucketIdMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m BucketIdMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m BucketIdMultiError) AllErrors() []error { return m } // BucketIdValidationError is the validation error returned by // BucketId.Validate if the designated constraints aren't met. type BucketIdValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e BucketIdValidationError) Field() string { return e.field } // Reason function returns reason value. func (e BucketIdValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e BucketIdValidationError) Cause() error { return e.cause } // Key function returns key value. func (e BucketIdValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e BucketIdValidationError) ErrorName() string { return "BucketIdValidationError" } // Error satisfies the builtin error interface func (e BucketIdValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sBucketId.%s: %s%s", key, e.field, e.reason, cause) } var _ error = BucketIdValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = BucketIdValidationError{} // Validate checks the field values on // RateLimitQuotaUsageReports_BucketQuotaUsage with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaUsageReports_BucketQuotaUsage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaUsageReports_BucketQuotaUsage with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // RateLimitQuotaUsageReports_BucketQuotaUsageMultiError, or nil if none found. func (m *RateLimitQuotaUsageReports_BucketQuotaUsage) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaUsageReports_BucketQuotaUsage) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBucketId() == nil { err := RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "BucketId", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBucketId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBucketId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, } } } if m.GetTimeElapsed() == nil { err := RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "TimeElapsed", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetTimeElapsed(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "TimeElapsed", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{ field: "TimeElapsed", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for NumRequestsAllowed // no validation rules for NumRequestsDenied if len(errors) > 0 { return RateLimitQuotaUsageReports_BucketQuotaUsageMultiError(errors) } return nil } // RateLimitQuotaUsageReports_BucketQuotaUsageMultiError is an error wrapping // multiple validation errors returned by // RateLimitQuotaUsageReports_BucketQuotaUsage.ValidateAll() if the designated // constraints aren't met. type RateLimitQuotaUsageReports_BucketQuotaUsageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaUsageReports_BucketQuotaUsageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaUsageReports_BucketQuotaUsageMultiError) AllErrors() []error { return m } // RateLimitQuotaUsageReports_BucketQuotaUsageValidationError is the validation // error returned by RateLimitQuotaUsageReports_BucketQuotaUsage.Validate if // the designated constraints aren't met. type RateLimitQuotaUsageReports_BucketQuotaUsageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) ErrorName() string { return "RateLimitQuotaUsageReports_BucketQuotaUsageValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaUsageReports_BucketQuotaUsageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaUsageReports_BucketQuotaUsage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaUsageReports_BucketQuotaUsageValidationError{} // Validate checks the field values on RateLimitQuotaResponse_BucketAction with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimitQuotaResponse_BucketAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitQuotaResponse_BucketAction // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitQuotaResponse_BucketActionMultiError, or nil if none found. func (m *RateLimitQuotaResponse_BucketAction) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaResponse_BucketAction) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetBucketId() == nil { err := RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketId", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetBucketId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetBucketId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketId", reason: "embedded message failed validation", cause: err, } } } oneofBucketActionPresent := false switch v := m.BucketAction.(type) { case *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_: if v == nil { err := RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketAction", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBucketActionPresent = true if all { switch v := interface{}(m.GetQuotaAssignmentAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "QuotaAssignmentAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "QuotaAssignmentAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuotaAssignmentAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaResponse_BucketActionValidationError{ field: "QuotaAssignmentAction", reason: "embedded message failed validation", cause: err, } } } case *RateLimitQuotaResponse_BucketAction_AbandonAction_: if v == nil { err := RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketAction", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofBucketActionPresent = true if all { switch v := interface{}(m.GetAbandonAction()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "AbandonAction", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketActionValidationError{ field: "AbandonAction", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAbandonAction()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaResponse_BucketActionValidationError{ field: "AbandonAction", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofBucketActionPresent { err := RateLimitQuotaResponse_BucketActionValidationError{ field: "BucketAction", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitQuotaResponse_BucketActionMultiError(errors) } return nil } // RateLimitQuotaResponse_BucketActionMultiError is an error wrapping multiple // validation errors returned by // RateLimitQuotaResponse_BucketAction.ValidateAll() if the designated // constraints aren't met. type RateLimitQuotaResponse_BucketActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaResponse_BucketActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaResponse_BucketActionMultiError) AllErrors() []error { return m } // RateLimitQuotaResponse_BucketActionValidationError is the validation error // returned by RateLimitQuotaResponse_BucketAction.Validate if the designated // constraints aren't met. type RateLimitQuotaResponse_BucketActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaResponse_BucketActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaResponse_BucketActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaResponse_BucketActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaResponse_BucketActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaResponse_BucketActionValidationError) ErrorName() string { return "RateLimitQuotaResponse_BucketActionValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaResponse_BucketActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaResponse_BucketAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaResponse_BucketActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaResponse_BucketActionValidationError{} // Validate checks the field values on // RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError, or nil // if none found. func (m *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction) validate(all bool) error { if m == nil { return nil } var errors []error if d := m.GetAssignmentTimeToLive(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{ field: "AssignmentTimeToLive", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte { err := RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{ field: "AssignmentTimeToLive", reason: "value must be greater than or equal to 0s", } if !all { return err } errors = append(errors, err) } } } if all { switch v := interface{}(m.GetRateLimitStrategy()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{ field: "RateLimitStrategy", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{ field: "RateLimitStrategy", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRateLimitStrategy()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{ field: "RateLimitStrategy", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError(errors) } return nil } // RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError is an // error wrapping multiple validation errors returned by // RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction.ValidateAll() if // the designated constraints aren't met. type RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionMultiError) AllErrors() []error { return m } // RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError is // the validation error returned by // RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction.Validate if the // designated constraints aren't met. type RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) ErrorName() string { return "RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaResponse_BucketAction_QuotaAssignmentAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaResponse_BucketAction_QuotaAssignmentActionValidationError{} // Validate checks the field values on // RateLimitQuotaResponse_BucketAction_AbandonAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RateLimitQuotaResponse_BucketAction_AbandonAction) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // RateLimitQuotaResponse_BucketAction_AbandonAction with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // RateLimitQuotaResponse_BucketAction_AbandonActionMultiError, or nil if none found. func (m *RateLimitQuotaResponse_BucketAction_AbandonAction) ValidateAll() error { return m.validate(true) } func (m *RateLimitQuotaResponse_BucketAction_AbandonAction) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RateLimitQuotaResponse_BucketAction_AbandonActionMultiError(errors) } return nil } // RateLimitQuotaResponse_BucketAction_AbandonActionMultiError is an error // wrapping multiple validation errors returned by // RateLimitQuotaResponse_BucketAction_AbandonAction.ValidateAll() if the // designated constraints aren't met. type RateLimitQuotaResponse_BucketAction_AbandonActionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitQuotaResponse_BucketAction_AbandonActionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitQuotaResponse_BucketAction_AbandonActionMultiError) AllErrors() []error { return m } // RateLimitQuotaResponse_BucketAction_AbandonActionValidationError is the // validation error returned by // RateLimitQuotaResponse_BucketAction_AbandonAction.Validate if the // designated constraints aren't met. type RateLimitQuotaResponse_BucketAction_AbandonActionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) ErrorName() string { return "RateLimitQuotaResponse_BucketAction_AbandonActionValidationError" } // Error satisfies the builtin error interface func (e RateLimitQuotaResponse_BucketAction_AbandonActionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitQuotaResponse_BucketAction_AbandonAction.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitQuotaResponse_BucketAction_AbandonActionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitQuotaResponse_BucketAction_AbandonActionValidationError{} go-control-plane-0.12.0/envoy/service/ratelimit/000077500000000000000000000000001454502223200215435ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/ratelimit/v2/000077500000000000000000000000001454502223200220725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/ratelimit/v2/rls.pb.go000077500000000000000000000766541454502223200236460ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/ratelimit/v2/rls.proto package ratelimitv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" ratelimit "github.com/envoyproxy/go-control-plane/envoy/api/v2/ratelimit" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RateLimitResponse_Code int32 const ( // The response code is not known. RateLimitResponse_UNKNOWN RateLimitResponse_Code = 0 // The response code to notify that the number of requests are under limit. RateLimitResponse_OK RateLimitResponse_Code = 1 // The response code to notify that the number of requests are over limit. RateLimitResponse_OVER_LIMIT RateLimitResponse_Code = 2 ) // Enum value maps for RateLimitResponse_Code. var ( RateLimitResponse_Code_name = map[int32]string{ 0: "UNKNOWN", 1: "OK", 2: "OVER_LIMIT", } RateLimitResponse_Code_value = map[string]int32{ "UNKNOWN": 0, "OK": 1, "OVER_LIMIT": 2, } ) func (x RateLimitResponse_Code) Enum() *RateLimitResponse_Code { p := new(RateLimitResponse_Code) *p = x return p } func (x RateLimitResponse_Code) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitResponse_Code) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_ratelimit_v2_rls_proto_enumTypes[0].Descriptor() } func (RateLimitResponse_Code) Type() protoreflect.EnumType { return &file_envoy_service_ratelimit_v2_rls_proto_enumTypes[0] } func (x RateLimitResponse_Code) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitResponse_Code.Descriptor instead. func (RateLimitResponse_Code) EnumDescriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0} } type RateLimitResponse_RateLimit_Unit int32 const ( // The time unit is not known. RateLimitResponse_RateLimit_UNKNOWN RateLimitResponse_RateLimit_Unit = 0 // The time unit representing a second. RateLimitResponse_RateLimit_SECOND RateLimitResponse_RateLimit_Unit = 1 // The time unit representing a minute. RateLimitResponse_RateLimit_MINUTE RateLimitResponse_RateLimit_Unit = 2 // The time unit representing an hour. RateLimitResponse_RateLimit_HOUR RateLimitResponse_RateLimit_Unit = 3 // The time unit representing a day. RateLimitResponse_RateLimit_DAY RateLimitResponse_RateLimit_Unit = 4 ) // Enum value maps for RateLimitResponse_RateLimit_Unit. var ( RateLimitResponse_RateLimit_Unit_name = map[int32]string{ 0: "UNKNOWN", 1: "SECOND", 2: "MINUTE", 3: "HOUR", 4: "DAY", } RateLimitResponse_RateLimit_Unit_value = map[string]int32{ "UNKNOWN": 0, "SECOND": 1, "MINUTE": 2, "HOUR": 3, "DAY": 4, } ) func (x RateLimitResponse_RateLimit_Unit) Enum() *RateLimitResponse_RateLimit_Unit { p := new(RateLimitResponse_RateLimit_Unit) *p = x return p } func (x RateLimitResponse_RateLimit_Unit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitResponse_RateLimit_Unit) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_ratelimit_v2_rls_proto_enumTypes[1].Descriptor() } func (RateLimitResponse_RateLimit_Unit) Type() protoreflect.EnumType { return &file_envoy_service_ratelimit_v2_rls_proto_enumTypes[1] } func (x RateLimitResponse_RateLimit_Unit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitResponse_RateLimit_Unit.Descriptor instead. func (RateLimitResponse_RateLimit_Unit) EnumDescriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0, 0} } // Main message for a rate limit request. The rate limit service is designed to be fully generic // in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded // configuration will parse the request and find the most specific limit to apply. In addition, // a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors // are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any // of them are over limit. This enables more complex application level rate limiting scenarios // if desired. type RateLimitRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All rate limit requests must specify a domain. This enables the configuration to be per // application without fear of overlap. E.g., "envoy". Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is // processed by the service (see below). If any of the descriptors are over limit, the entire // request is considered to be over limit. Descriptors []*ratelimit.RateLimitDescriptor `protobuf:"bytes,2,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // Rate limit requests can optionally specify the number of hits a request adds to the matched // limit. If the value is not set in the message, a request increases the matched limit by 1. HitsAddend uint32 `protobuf:"varint,3,opt,name=hits_addend,json=hitsAddend,proto3" json:"hits_addend,omitempty"` } func (x *RateLimitRequest) Reset() { *x = RateLimitRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitRequest) ProtoMessage() {} func (x *RateLimitRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitRequest.ProtoReflect.Descriptor instead. func (*RateLimitRequest) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{0} } func (x *RateLimitRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitRequest) GetDescriptors() []*ratelimit.RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *RateLimitRequest) GetHitsAddend() uint32 { if x != nil { return x.HitsAddend } return 0 } // A response from a ShouldRateLimit call. type RateLimitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The overall response code which takes into account all of the descriptors that were passed // in the RateLimitRequest message. OverallCode RateLimitResponse_Code `protobuf:"varint,1,opt,name=overall_code,json=overallCode,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_Code" json:"overall_code,omitempty"` // A list of DescriptorStatus messages which matches the length of the descriptor list passed // in the RateLimitRequest. This can be used by the caller to determine which individual // descriptors failed and/or what the currently configured limits are for all of them. Statuses []*RateLimitResponse_DescriptorStatus `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"` // A list of headers to add to the response Headers []*core.HeaderValue `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` // A list of headers to add to the request when forwarded RequestHeadersToAdd []*core.HeaderValue `protobuf:"bytes,4,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` } func (x *RateLimitResponse) Reset() { *x = RateLimitResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse) ProtoMessage() {} func (x *RateLimitResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse.ProtoReflect.Descriptor instead. func (*RateLimitResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1} } func (x *RateLimitResponse) GetOverallCode() RateLimitResponse_Code { if x != nil { return x.OverallCode } return RateLimitResponse_UNKNOWN } func (x *RateLimitResponse) GetStatuses() []*RateLimitResponse_DescriptorStatus { if x != nil { return x.Statuses } return nil } func (x *RateLimitResponse) GetHeaders() []*core.HeaderValue { if x != nil { return x.Headers } return nil } func (x *RateLimitResponse) GetRequestHeadersToAdd() []*core.HeaderValue { if x != nil { return x.RequestHeadersToAdd } return nil } // Defines an actual rate limit in terms of requests per unit of time and the unit itself. type RateLimitResponse_RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A name or description of this limit. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The number of requests per unit of time. RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` // The unit of time. Unit RateLimitResponse_RateLimit_Unit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_RateLimit_Unit" json:"unit,omitempty"` } func (x *RateLimitResponse_RateLimit) Reset() { *x = RateLimitResponse_RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse_RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse_RateLimit) ProtoMessage() {} func (x *RateLimitResponse_RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse_RateLimit.ProtoReflect.Descriptor instead. func (*RateLimitResponse_RateLimit) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0} } func (x *RateLimitResponse_RateLimit) GetName() string { if x != nil { return x.Name } return "" } func (x *RateLimitResponse_RateLimit) GetRequestsPerUnit() uint32 { if x != nil { return x.RequestsPerUnit } return 0 } func (x *RateLimitResponse_RateLimit) GetUnit() RateLimitResponse_RateLimit_Unit { if x != nil { return x.Unit } return RateLimitResponse_RateLimit_UNKNOWN } type RateLimitResponse_DescriptorStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The response code for an individual descriptor. Code RateLimitResponse_Code `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_Code" json:"code,omitempty"` // The current limit as configured by the server. Useful for debugging, etc. CurrentLimit *RateLimitResponse_RateLimit `protobuf:"bytes,2,opt,name=current_limit,json=currentLimit,proto3" json:"current_limit,omitempty"` // The limit remaining in the current time unit. LimitRemaining uint32 `protobuf:"varint,3,opt,name=limit_remaining,json=limitRemaining,proto3" json:"limit_remaining,omitempty"` } func (x *RateLimitResponse_DescriptorStatus) Reset() { *x = RateLimitResponse_DescriptorStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse_DescriptorStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse_DescriptorStatus) ProtoMessage() {} func (x *RateLimitResponse_DescriptorStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse_DescriptorStatus.ProtoReflect.Descriptor instead. func (*RateLimitResponse_DescriptorStatus) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 1} } func (x *RateLimitResponse_DescriptorStatus) GetCode() RateLimitResponse_Code { if x != nil { return x.Code } return RateLimitResponse_UNKNOWN } func (x *RateLimitResponse_DescriptorStatus) GetCurrentLimit() *RateLimitResponse_RateLimit { if x != nil { return x.CurrentLimit } return nil } func (x *RateLimitResponse_DescriptorStatus) GetLimitRemaining() uint32 { if x != nil { return x.LimitRemaining } return 0 } var File_envoy_service_ratelimit_v2_rls_proto protoreflect.FileDescriptor var file_envoy_service_ratelimit_v2_rls_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x69, 0x74, 0x73, 0x41, 0x64, 0x64, 0x65, 0x6e, 0x64, 0x22, 0xe7, 0x06, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1f, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x1a, 0xdd, 0x01, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x22, 0x3e, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x04, 0x1a, 0xe1, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x2b, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x32, 0x84, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x70, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x52, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_ratelimit_v2_rls_proto_rawDescOnce sync.Once file_envoy_service_ratelimit_v2_rls_proto_rawDescData = file_envoy_service_ratelimit_v2_rls_proto_rawDesc ) func file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP() []byte { file_envoy_service_ratelimit_v2_rls_proto_rawDescOnce.Do(func() { file_envoy_service_ratelimit_v2_rls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_ratelimit_v2_rls_proto_rawDescData) }) return file_envoy_service_ratelimit_v2_rls_proto_rawDescData } var file_envoy_service_ratelimit_v2_rls_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_service_ratelimit_v2_rls_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_service_ratelimit_v2_rls_proto_goTypes = []interface{}{ (RateLimitResponse_Code)(0), // 0: envoy.service.ratelimit.v2.RateLimitResponse.Code (RateLimitResponse_RateLimit_Unit)(0), // 1: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit (*RateLimitRequest)(nil), // 2: envoy.service.ratelimit.v2.RateLimitRequest (*RateLimitResponse)(nil), // 3: envoy.service.ratelimit.v2.RateLimitResponse (*RateLimitResponse_RateLimit)(nil), // 4: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit (*RateLimitResponse_DescriptorStatus)(nil), // 5: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus (*ratelimit.RateLimitDescriptor)(nil), // 6: envoy.api.v2.ratelimit.RateLimitDescriptor (*core.HeaderValue)(nil), // 7: envoy.api.v2.core.HeaderValue } var file_envoy_service_ratelimit_v2_rls_proto_depIdxs = []int32{ 6, // 0: envoy.service.ratelimit.v2.RateLimitRequest.descriptors:type_name -> envoy.api.v2.ratelimit.RateLimitDescriptor 0, // 1: envoy.service.ratelimit.v2.RateLimitResponse.overall_code:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.Code 5, // 2: envoy.service.ratelimit.v2.RateLimitResponse.statuses:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus 7, // 3: envoy.service.ratelimit.v2.RateLimitResponse.headers:type_name -> envoy.api.v2.core.HeaderValue 7, // 4: envoy.service.ratelimit.v2.RateLimitResponse.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValue 1, // 5: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.unit:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit 0, // 6: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus.code:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.Code 4, // 7: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus.current_limit:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.RateLimit 2, // 8: envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit:input_type -> envoy.service.ratelimit.v2.RateLimitRequest 3, // 9: envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit:output_type -> envoy.service.ratelimit.v2.RateLimitResponse 9, // [9:10] is the sub-list for method output_type 8, // [8:9] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_envoy_service_ratelimit_v2_rls_proto_init() } func file_envoy_service_ratelimit_v2_rls_proto_init() { if File_envoy_service_ratelimit_v2_rls_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_ratelimit_v2_rls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v2_rls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v2_rls_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse_RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v2_rls_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse_DescriptorStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_ratelimit_v2_rls_proto_rawDesc, NumEnums: 2, NumMessages: 4, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_ratelimit_v2_rls_proto_goTypes, DependencyIndexes: file_envoy_service_ratelimit_v2_rls_proto_depIdxs, EnumInfos: file_envoy_service_ratelimit_v2_rls_proto_enumTypes, MessageInfos: file_envoy_service_ratelimit_v2_rls_proto_msgTypes, }.Build() File_envoy_service_ratelimit_v2_rls_proto = out.File file_envoy_service_ratelimit_v2_rls_proto_rawDesc = nil file_envoy_service_ratelimit_v2_rls_proto_goTypes = nil file_envoy_service_ratelimit_v2_rls_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RateLimitServiceClient is the client API for RateLimitService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RateLimitServiceClient interface { // Determine whether rate limiting should take place. ShouldRateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error) } type rateLimitServiceClient struct { cc grpc.ClientConnInterface } func NewRateLimitServiceClient(cc grpc.ClientConnInterface) RateLimitServiceClient { return &rateLimitServiceClient{cc} } func (c *rateLimitServiceClient) ShouldRateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error) { out := new(RateLimitResponse) err := c.cc.Invoke(ctx, "/envoy.service.ratelimit.v2.RateLimitService/ShouldRateLimit", in, out, opts...) if err != nil { return nil, err } return out, nil } // RateLimitServiceServer is the server API for RateLimitService service. type RateLimitServiceServer interface { // Determine whether rate limiting should take place. ShouldRateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error) } // UnimplementedRateLimitServiceServer can be embedded to have forward compatible implementations. type UnimplementedRateLimitServiceServer struct { } func (*UnimplementedRateLimitServiceServer) ShouldRateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ShouldRateLimit not implemented") } func RegisterRateLimitServiceServer(s *grpc.Server, srv RateLimitServiceServer) { s.RegisterService(&_RateLimitService_serviceDesc, srv) } func _RateLimitService_ShouldRateLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RateLimitRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RateLimitServiceServer).ShouldRateLimit(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.ratelimit.v2.RateLimitService/ShouldRateLimit", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RateLimitServiceServer).ShouldRateLimit(ctx, req.(*RateLimitRequest)) } return interceptor(ctx, in, info, handler) } var _RateLimitService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.ratelimit.v2.RateLimitService", HandlerType: (*RateLimitServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ShouldRateLimit", Handler: _RateLimitService_ShouldRateLimit_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "envoy/service/ratelimit/v2/rls.proto", } go-control-plane-0.12.0/envoy/service/ratelimit/v2/rls.pb.validate.go000077500000000000000000000423711454502223200254230ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/ratelimit/v2/rls.proto package ratelimitv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitRequestMultiError, or nil if none found. func (m *RateLimitRequest) ValidateAll() error { return m.validate(true) } func (m *RateLimitRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Domain for idx, item := range m.GetDescriptors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for HitsAddend if len(errors) > 0 { return RateLimitRequestMultiError(errors) } return nil } // RateLimitRequestMultiError is an error wrapping multiple validation errors // returned by RateLimitRequest.ValidateAll() if the designated constraints // aren't met. type RateLimitRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitRequestMultiError) AllErrors() []error { return m } // RateLimitRequestValidationError is the validation error returned by // RateLimitRequest.Validate if the designated constraints aren't met. type RateLimitRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitRequestValidationError) ErrorName() string { return "RateLimitRequestValidationError" } // Error satisfies the builtin error interface func (e RateLimitRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitRequestValidationError{} // Validate checks the field values on RateLimitResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitResponseMultiError, or nil if none found. func (m *RateLimitResponse) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for OverallCode for idx, item := range m.GetStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return RateLimitResponseMultiError(errors) } return nil } // RateLimitResponseMultiError is an error wrapping multiple validation errors // returned by RateLimitResponse.ValidateAll() if the designated constraints // aren't met. type RateLimitResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponseMultiError) AllErrors() []error { return m } // RateLimitResponseValidationError is the validation error returned by // RateLimitResponse.Validate if the designated constraints aren't met. type RateLimitResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponseValidationError) ErrorName() string { return "RateLimitResponseValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponseValidationError{} // Validate checks the field values on RateLimitResponse_RateLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitResponse_RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse_RateLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitResponse_RateLimitMultiError, or nil if none found. func (m *RateLimitResponse_RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse_RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for RequestsPerUnit // no validation rules for Unit if len(errors) > 0 { return RateLimitResponse_RateLimitMultiError(errors) } return nil } // RateLimitResponse_RateLimitMultiError is an error wrapping multiple // validation errors returned by RateLimitResponse_RateLimit.ValidateAll() if // the designated constraints aren't met. type RateLimitResponse_RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponse_RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponse_RateLimitMultiError) AllErrors() []error { return m } // RateLimitResponse_RateLimitValidationError is the validation error returned // by RateLimitResponse_RateLimit.Validate if the designated constraints // aren't met. type RateLimitResponse_RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponse_RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponse_RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponse_RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponse_RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponse_RateLimitValidationError) ErrorName() string { return "RateLimitResponse_RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponse_RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse_RateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponse_RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponse_RateLimitValidationError{} // Validate checks the field values on RateLimitResponse_DescriptorStatus with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimitResponse_DescriptorStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse_DescriptorStatus // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitResponse_DescriptorStatusMultiError, or nil if none found. func (m *RateLimitResponse_DescriptorStatus) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse_DescriptorStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Code if all { switch v := interface{}(m.GetCurrentLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCurrentLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LimitRemaining if len(errors) > 0 { return RateLimitResponse_DescriptorStatusMultiError(errors) } return nil } // RateLimitResponse_DescriptorStatusMultiError is an error wrapping multiple // validation errors returned by // RateLimitResponse_DescriptorStatus.ValidateAll() if the designated // constraints aren't met. type RateLimitResponse_DescriptorStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponse_DescriptorStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponse_DescriptorStatusMultiError) AllErrors() []error { return m } // RateLimitResponse_DescriptorStatusValidationError is the validation error // returned by RateLimitResponse_DescriptorStatus.Validate if the designated // constraints aren't met. type RateLimitResponse_DescriptorStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponse_DescriptorStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponse_DescriptorStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponse_DescriptorStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponse_DescriptorStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponse_DescriptorStatusValidationError) ErrorName() string { return "RateLimitResponse_DescriptorStatusValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponse_DescriptorStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse_DescriptorStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponse_DescriptorStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponse_DescriptorStatusValidationError{} go-control-plane-0.12.0/envoy/service/ratelimit/v3/000077500000000000000000000000001454502223200220735ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/ratelimit/v3/rls.pb.go000077500000000000000000001365361454502223200236430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/ratelimit/v3/rls.proto package ratelimitv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/common/ratelimit/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type RateLimitResponse_Code int32 const ( // The response code is not known. RateLimitResponse_UNKNOWN RateLimitResponse_Code = 0 // The response code to notify that the number of requests are under limit. RateLimitResponse_OK RateLimitResponse_Code = 1 // The response code to notify that the number of requests are over limit. RateLimitResponse_OVER_LIMIT RateLimitResponse_Code = 2 ) // Enum value maps for RateLimitResponse_Code. var ( RateLimitResponse_Code_name = map[int32]string{ 0: "UNKNOWN", 1: "OK", 2: "OVER_LIMIT", } RateLimitResponse_Code_value = map[string]int32{ "UNKNOWN": 0, "OK": 1, "OVER_LIMIT": 2, } ) func (x RateLimitResponse_Code) Enum() *RateLimitResponse_Code { p := new(RateLimitResponse_Code) *p = x return p } func (x RateLimitResponse_Code) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitResponse_Code) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_ratelimit_v3_rls_proto_enumTypes[0].Descriptor() } func (RateLimitResponse_Code) Type() protoreflect.EnumType { return &file_envoy_service_ratelimit_v3_rls_proto_enumTypes[0] } func (x RateLimitResponse_Code) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitResponse_Code.Descriptor instead. func (RateLimitResponse_Code) EnumDescriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1, 0} } // Identifies the unit of of time for rate limit. // [#comment: replace by envoy/type/v3/ratelimit_unit.proto in v4] type RateLimitResponse_RateLimit_Unit int32 const ( // The time unit is not known. RateLimitResponse_RateLimit_UNKNOWN RateLimitResponse_RateLimit_Unit = 0 // The time unit representing a second. RateLimitResponse_RateLimit_SECOND RateLimitResponse_RateLimit_Unit = 1 // The time unit representing a minute. RateLimitResponse_RateLimit_MINUTE RateLimitResponse_RateLimit_Unit = 2 // The time unit representing an hour. RateLimitResponse_RateLimit_HOUR RateLimitResponse_RateLimit_Unit = 3 // The time unit representing a day. RateLimitResponse_RateLimit_DAY RateLimitResponse_RateLimit_Unit = 4 // The time unit representing a month. RateLimitResponse_RateLimit_MONTH RateLimitResponse_RateLimit_Unit = 5 // The time unit representing a year. RateLimitResponse_RateLimit_YEAR RateLimitResponse_RateLimit_Unit = 6 ) // Enum value maps for RateLimitResponse_RateLimit_Unit. var ( RateLimitResponse_RateLimit_Unit_name = map[int32]string{ 0: "UNKNOWN", 1: "SECOND", 2: "MINUTE", 3: "HOUR", 4: "DAY", 5: "MONTH", 6: "YEAR", } RateLimitResponse_RateLimit_Unit_value = map[string]int32{ "UNKNOWN": 0, "SECOND": 1, "MINUTE": 2, "HOUR": 3, "DAY": 4, "MONTH": 5, "YEAR": 6, } ) func (x RateLimitResponse_RateLimit_Unit) Enum() *RateLimitResponse_RateLimit_Unit { p := new(RateLimitResponse_RateLimit_Unit) *p = x return p } func (x RateLimitResponse_RateLimit_Unit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitResponse_RateLimit_Unit) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_ratelimit_v3_rls_proto_enumTypes[1].Descriptor() } func (RateLimitResponse_RateLimit_Unit) Type() protoreflect.EnumType { return &file_envoy_service_ratelimit_v3_rls_proto_enumTypes[1] } func (x RateLimitResponse_RateLimit_Unit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitResponse_RateLimit_Unit.Descriptor instead. func (RateLimitResponse_RateLimit_Unit) EnumDescriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1, 0, 0} } // Main message for a rate limit request. The rate limit service is designed to be fully generic // in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded // configuration will parse the request and find the most specific limit to apply. In addition, // a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors // are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any // of them are over limit. This enables more complex application level rate limiting scenarios // if desired. type RateLimitRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // All rate limit requests must specify a domain. This enables the configuration to be per // application without fear of overlap. E.g., "envoy". Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is // processed by the service (see below). If any of the descriptors are over limit, the entire // request is considered to be over limit. Descriptors []*v3.RateLimitDescriptor `protobuf:"bytes,2,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // Rate limit requests can optionally specify the number of hits a request adds to the matched // limit. If the value is not set in the message, a request increases the matched limit by 1. HitsAddend uint32 `protobuf:"varint,3,opt,name=hits_addend,json=hitsAddend,proto3" json:"hits_addend,omitempty"` } func (x *RateLimitRequest) Reset() { *x = RateLimitRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitRequest) ProtoMessage() {} func (x *RateLimitRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitRequest.ProtoReflect.Descriptor instead. func (*RateLimitRequest) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{0} } func (x *RateLimitRequest) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitRequest) GetDescriptors() []*v3.RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *RateLimitRequest) GetHitsAddend() uint32 { if x != nil { return x.HitsAddend } return 0 } // A response from a ShouldRateLimit call. // [#next-free-field: 8] type RateLimitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The overall response code which takes into account all of the descriptors that were passed // in the RateLimitRequest message. OverallCode RateLimitResponse_Code `protobuf:"varint,1,opt,name=overall_code,json=overallCode,proto3,enum=envoy.service.ratelimit.v3.RateLimitResponse_Code" json:"overall_code,omitempty"` // A list of DescriptorStatus messages which matches the length of the descriptor list passed // in the RateLimitRequest. This can be used by the caller to determine which individual // descriptors failed and/or what the currently configured limits are for all of them. Statuses []*RateLimitResponse_DescriptorStatus `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"` // A list of headers to add to the response ResponseHeadersToAdd []*v31.HeaderValue `protobuf:"bytes,3,rep,name=response_headers_to_add,json=responseHeadersToAdd,proto3" json:"response_headers_to_add,omitempty"` // A list of headers to add to the request when forwarded RequestHeadersToAdd []*v31.HeaderValue `protobuf:"bytes,4,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` // A response body to send to the downstream client when the response code is not OK. RawBody []byte `protobuf:"bytes,5,opt,name=raw_body,json=rawBody,proto3" json:"raw_body,omitempty"` // Optional response metadata that will be emitted as dynamic metadata to be consumed by the next // filter. This metadata lives in a namespace specified by the canonical name of extension filter // that requires it: // // - :ref:`envoy.filters.http.ratelimit ` for HTTP filter. // - :ref:`envoy.filters.network.ratelimit ` for network filter. // - :ref:`envoy.filters.thrift.rate_limit ` for Thrift filter. DynamicMetadata *_struct.Struct `protobuf:"bytes,6,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"` // Quota is available for a request if its entire descriptor set has cached quota available. // This is a union of all descriptors in the descriptor set. Clients can use the quota for future matches if and only if the descriptor set matches what was sent in the request that originated this response. // // If quota is available, a RLS request will not be made and the quota will be reduced by 1. // If quota is not available (i.e., a cached entry doesn't exist for a RLS descriptor set), a RLS request will be triggered. // If the server did not provide a quota, such as the quota message is empty then the request admission is determined by the // :ref:`overall_code `. // // If there is not sufficient quota and the cached entry exists for a RLS descriptor set is out-of-quota but not expired, // the request will be treated as OVER_LIMIT. // [#not-implemented-hide:] Quota *RateLimitResponse_Quota `protobuf:"bytes,7,opt,name=quota,proto3" json:"quota,omitempty"` } func (x *RateLimitResponse) Reset() { *x = RateLimitResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse) ProtoMessage() {} func (x *RateLimitResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse.ProtoReflect.Descriptor instead. func (*RateLimitResponse) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1} } func (x *RateLimitResponse) GetOverallCode() RateLimitResponse_Code { if x != nil { return x.OverallCode } return RateLimitResponse_UNKNOWN } func (x *RateLimitResponse) GetStatuses() []*RateLimitResponse_DescriptorStatus { if x != nil { return x.Statuses } return nil } func (x *RateLimitResponse) GetResponseHeadersToAdd() []*v31.HeaderValue { if x != nil { return x.ResponseHeadersToAdd } return nil } func (x *RateLimitResponse) GetRequestHeadersToAdd() []*v31.HeaderValue { if x != nil { return x.RequestHeadersToAdd } return nil } func (x *RateLimitResponse) GetRawBody() []byte { if x != nil { return x.RawBody } return nil } func (x *RateLimitResponse) GetDynamicMetadata() *_struct.Struct { if x != nil { return x.DynamicMetadata } return nil } func (x *RateLimitResponse) GetQuota() *RateLimitResponse_Quota { if x != nil { return x.Quota } return nil } // Defines an actual rate limit in terms of requests per unit of time and the unit itself. type RateLimitResponse_RateLimit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A name or description of this limit. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The number of requests per unit of time. RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` // The unit of time. Unit RateLimitResponse_RateLimit_Unit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.service.ratelimit.v3.RateLimitResponse_RateLimit_Unit" json:"unit,omitempty"` } func (x *RateLimitResponse_RateLimit) Reset() { *x = RateLimitResponse_RateLimit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse_RateLimit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse_RateLimit) ProtoMessage() {} func (x *RateLimitResponse_RateLimit) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse_RateLimit.ProtoReflect.Descriptor instead. func (*RateLimitResponse_RateLimit) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1, 0} } func (x *RateLimitResponse_RateLimit) GetName() string { if x != nil { return x.Name } return "" } func (x *RateLimitResponse_RateLimit) GetRequestsPerUnit() uint32 { if x != nil { return x.RequestsPerUnit } return 0 } func (x *RateLimitResponse_RateLimit) GetUnit() RateLimitResponse_RateLimit_Unit { if x != nil { return x.Unit } return RateLimitResponse_RateLimit_UNKNOWN } // Cacheable quota for responses. // Quota can be granted at different levels: either for each individual descriptor or for the whole descriptor set. // This is a certain number of requests over a period of time. // The client may cache this result and apply the effective RateLimitResponse to future matching // requests without querying rate limit service. // // When quota expires due to timeout, a new RLS request will also be made. // The implementation may choose to preemptively query the rate limit server for more quota on or // before expiration or before the available quota runs out. // [#not-implemented-hide:] type RateLimitResponse_Quota struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Number of matching requests granted in quota. Must be 1 or more. Requests uint32 `protobuf:"varint,1,opt,name=requests,proto3" json:"requests,omitempty"` // Types that are assignable to ExpirationSpecifier: // // *RateLimitResponse_Quota_ValidUntil ExpirationSpecifier isRateLimitResponse_Quota_ExpirationSpecifier `protobuf_oneof:"expiration_specifier"` // The unique id that is associated with each Quota either at individual descriptor level or whole descriptor set level. // // For a matching policy with boolean logic, for example, match: "request.headers['environment'] == 'staging' || request.headers['environment'] == 'dev'"), // the request_headers action produces a distinct list of descriptors for each possible value of the ‘environment’ header even though the granted quota is same. // Thus, the client will use this id information (returned from RLS server) to correctly correlate the multiple descriptors/descriptor sets that have been granted with same quota (i.e., share the same quota among multiple descriptors or descriptor sets.) // // If id is empty, this id field will be ignored. If quota for the same id changes (e.g. due to configuration update), the old quota will be overridden by the new one. Shared quotas referenced by ID will still adhere to expiration after `valid_until`. Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` } func (x *RateLimitResponse_Quota) Reset() { *x = RateLimitResponse_Quota{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse_Quota) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse_Quota) ProtoMessage() {} func (x *RateLimitResponse_Quota) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse_Quota.ProtoReflect.Descriptor instead. func (*RateLimitResponse_Quota) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1, 1} } func (x *RateLimitResponse_Quota) GetRequests() uint32 { if x != nil { return x.Requests } return 0 } func (m *RateLimitResponse_Quota) GetExpirationSpecifier() isRateLimitResponse_Quota_ExpirationSpecifier { if m != nil { return m.ExpirationSpecifier } return nil } func (x *RateLimitResponse_Quota) GetValidUntil() *timestamp.Timestamp { if x, ok := x.GetExpirationSpecifier().(*RateLimitResponse_Quota_ValidUntil); ok { return x.ValidUntil } return nil } func (x *RateLimitResponse_Quota) GetId() string { if x != nil { return x.Id } return "" } type isRateLimitResponse_Quota_ExpirationSpecifier interface { isRateLimitResponse_Quota_ExpirationSpecifier() } type RateLimitResponse_Quota_ValidUntil struct { // Point in time at which the quota expires. ValidUntil *timestamp.Timestamp `protobuf:"bytes,2,opt,name=valid_until,json=validUntil,proto3,oneof"` } func (*RateLimitResponse_Quota_ValidUntil) isRateLimitResponse_Quota_ExpirationSpecifier() {} // [#next-free-field: 6] type RateLimitResponse_DescriptorStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The response code for an individual descriptor. Code RateLimitResponse_Code `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.service.ratelimit.v3.RateLimitResponse_Code" json:"code,omitempty"` // The current limit as configured by the server. Useful for debugging, etc. CurrentLimit *RateLimitResponse_RateLimit `protobuf:"bytes,2,opt,name=current_limit,json=currentLimit,proto3" json:"current_limit,omitempty"` // The limit remaining in the current time unit. LimitRemaining uint32 `protobuf:"varint,3,opt,name=limit_remaining,json=limitRemaining,proto3" json:"limit_remaining,omitempty"` // Duration until reset of the current limit window. DurationUntilReset *duration.Duration `protobuf:"bytes,4,opt,name=duration_until_reset,json=durationUntilReset,proto3" json:"duration_until_reset,omitempty"` // Quota is available for a request if its descriptor set has cached quota available for all // descriptors. // This is for each individual descriptor in the descriptor set. The client will perform matches for each individual descriptor against available per-descriptor quota. // // If quota is available, a RLS request will not be made and the quota will be reduced by 1 for // all matching descriptors. // // If there is not sufficient quota, there are three cases: // 1. A cached entry exists for a RLS descriptor that is out-of-quota, but not expired. // In this case, the request will be treated as OVER_LIMIT. // 2. Some RLS descriptors have a cached entry that has valid quota but some RLS descriptors // have no cached entry. This will trigger a new RLS request. // When the result is returned, a single unit will be consumed from the quota for all // matching descriptors. // If the server did not provide a quota, such as the quota message is empty for some of // the descriptors, then the request admission is determined by the // :ref:`overall_code `. // 3. All RLS descriptors lack a cached entry, this will trigger a new RLS request, // When the result is returned, a single unit will be consumed from the quota for all // matching descriptors. // If the server did not provide a quota, such as the quota message is empty for some of // the descriptors, then the request admission is determined by the // :ref:`overall_code `. // // [#not-implemented-hide:] Quota *RateLimitResponse_Quota `protobuf:"bytes,5,opt,name=quota,proto3" json:"quota,omitempty"` } func (x *RateLimitResponse_DescriptorStatus) Reset() { *x = RateLimitResponse_DescriptorStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitResponse_DescriptorStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitResponse_DescriptorStatus) ProtoMessage() {} func (x *RateLimitResponse_DescriptorStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_ratelimit_v3_rls_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitResponse_DescriptorStatus.ProtoReflect.Descriptor instead. func (*RateLimitResponse_DescriptorStatus) Descriptor() ([]byte, []int) { return file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP(), []int{1, 2} } func (x *RateLimitResponse_DescriptorStatus) GetCode() RateLimitResponse_Code { if x != nil { return x.Code } return RateLimitResponse_UNKNOWN } func (x *RateLimitResponse_DescriptorStatus) GetCurrentLimit() *RateLimitResponse_RateLimit { if x != nil { return x.CurrentLimit } return nil } func (x *RateLimitResponse_DescriptorStatus) GetLimitRemaining() uint32 { if x != nil { return x.LimitRemaining } return 0 } func (x *RateLimitResponse_DescriptorStatus) GetDurationUntilReset() *duration.Duration { if x != nil { return x.DurationUntilReset } return nil } func (x *RateLimitResponse_DescriptorStatus) GetQuota() *RateLimitResponse_Quota { if x != nil { return x.Quota } return nil } var File_envoy_service_ratelimit_v3_rls_proto protoreflect.FileDescriptor var file_envoy_service_ratelimit_v3_rls_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x5b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x69, 0x74, 0x73, 0x41, 0x64, 0x64, 0x65, 0x6e, 0x64, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x90, 0x0c, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x56, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x42, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x1a, 0xb1, 0x02, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x22, 0x53, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 0x10, 0x06, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x93, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xbf, 0x03, 0x0a, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x14, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x49, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x3a, 0x44, 0x9a, 0xc5, 0x88, 0x1e, 0x3f, 0x0a, 0x3d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2b, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x84, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x70, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x52, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_ratelimit_v3_rls_proto_rawDescOnce sync.Once file_envoy_service_ratelimit_v3_rls_proto_rawDescData = file_envoy_service_ratelimit_v3_rls_proto_rawDesc ) func file_envoy_service_ratelimit_v3_rls_proto_rawDescGZIP() []byte { file_envoy_service_ratelimit_v3_rls_proto_rawDescOnce.Do(func() { file_envoy_service_ratelimit_v3_rls_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_ratelimit_v3_rls_proto_rawDescData) }) return file_envoy_service_ratelimit_v3_rls_proto_rawDescData } var file_envoy_service_ratelimit_v3_rls_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_service_ratelimit_v3_rls_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_service_ratelimit_v3_rls_proto_goTypes = []interface{}{ (RateLimitResponse_Code)(0), // 0: envoy.service.ratelimit.v3.RateLimitResponse.Code (RateLimitResponse_RateLimit_Unit)(0), // 1: envoy.service.ratelimit.v3.RateLimitResponse.RateLimit.Unit (*RateLimitRequest)(nil), // 2: envoy.service.ratelimit.v3.RateLimitRequest (*RateLimitResponse)(nil), // 3: envoy.service.ratelimit.v3.RateLimitResponse (*RateLimitResponse_RateLimit)(nil), // 4: envoy.service.ratelimit.v3.RateLimitResponse.RateLimit (*RateLimitResponse_Quota)(nil), // 5: envoy.service.ratelimit.v3.RateLimitResponse.Quota (*RateLimitResponse_DescriptorStatus)(nil), // 6: envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus (*v3.RateLimitDescriptor)(nil), // 7: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor (*v31.HeaderValue)(nil), // 8: envoy.config.core.v3.HeaderValue (*_struct.Struct)(nil), // 9: google.protobuf.Struct (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp (*duration.Duration)(nil), // 11: google.protobuf.Duration } var file_envoy_service_ratelimit_v3_rls_proto_depIdxs = []int32{ 7, // 0: envoy.service.ratelimit.v3.RateLimitRequest.descriptors:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor 0, // 1: envoy.service.ratelimit.v3.RateLimitResponse.overall_code:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.Code 6, // 2: envoy.service.ratelimit.v3.RateLimitResponse.statuses:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus 8, // 3: envoy.service.ratelimit.v3.RateLimitResponse.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValue 8, // 4: envoy.service.ratelimit.v3.RateLimitResponse.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValue 9, // 5: envoy.service.ratelimit.v3.RateLimitResponse.dynamic_metadata:type_name -> google.protobuf.Struct 5, // 6: envoy.service.ratelimit.v3.RateLimitResponse.quota:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.Quota 1, // 7: envoy.service.ratelimit.v3.RateLimitResponse.RateLimit.unit:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.RateLimit.Unit 10, // 8: envoy.service.ratelimit.v3.RateLimitResponse.Quota.valid_until:type_name -> google.protobuf.Timestamp 0, // 9: envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus.code:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.Code 4, // 10: envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.RateLimit 11, // 11: envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset:type_name -> google.protobuf.Duration 5, // 12: envoy.service.ratelimit.v3.RateLimitResponse.DescriptorStatus.quota:type_name -> envoy.service.ratelimit.v3.RateLimitResponse.Quota 2, // 13: envoy.service.ratelimit.v3.RateLimitService.ShouldRateLimit:input_type -> envoy.service.ratelimit.v3.RateLimitRequest 3, // 14: envoy.service.ratelimit.v3.RateLimitService.ShouldRateLimit:output_type -> envoy.service.ratelimit.v3.RateLimitResponse 14, // [14:15] is the sub-list for method output_type 13, // [13:14] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_service_ratelimit_v3_rls_proto_init() } func file_envoy_service_ratelimit_v3_rls_proto_init() { if File_envoy_service_ratelimit_v3_rls_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_ratelimit_v3_rls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v3_rls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v3_rls_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse_RateLimit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v3_rls_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse_Quota); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_ratelimit_v3_rls_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitResponse_DescriptorStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_ratelimit_v3_rls_proto_msgTypes[3].OneofWrappers = []interface{}{ (*RateLimitResponse_Quota_ValidUntil)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_ratelimit_v3_rls_proto_rawDesc, NumEnums: 2, NumMessages: 5, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_ratelimit_v3_rls_proto_goTypes, DependencyIndexes: file_envoy_service_ratelimit_v3_rls_proto_depIdxs, EnumInfos: file_envoy_service_ratelimit_v3_rls_proto_enumTypes, MessageInfos: file_envoy_service_ratelimit_v3_rls_proto_msgTypes, }.Build() File_envoy_service_ratelimit_v3_rls_proto = out.File file_envoy_service_ratelimit_v3_rls_proto_rawDesc = nil file_envoy_service_ratelimit_v3_rls_proto_goTypes = nil file_envoy_service_ratelimit_v3_rls_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RateLimitServiceClient is the client API for RateLimitService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RateLimitServiceClient interface { // Determine whether rate limiting should take place. ShouldRateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error) } type rateLimitServiceClient struct { cc grpc.ClientConnInterface } func NewRateLimitServiceClient(cc grpc.ClientConnInterface) RateLimitServiceClient { return &rateLimitServiceClient{cc} } func (c *rateLimitServiceClient) ShouldRateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error) { out := new(RateLimitResponse) err := c.cc.Invoke(ctx, "/envoy.service.ratelimit.v3.RateLimitService/ShouldRateLimit", in, out, opts...) if err != nil { return nil, err } return out, nil } // RateLimitServiceServer is the server API for RateLimitService service. type RateLimitServiceServer interface { // Determine whether rate limiting should take place. ShouldRateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error) } // UnimplementedRateLimitServiceServer can be embedded to have forward compatible implementations. type UnimplementedRateLimitServiceServer struct { } func (*UnimplementedRateLimitServiceServer) ShouldRateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ShouldRateLimit not implemented") } func RegisterRateLimitServiceServer(s *grpc.Server, srv RateLimitServiceServer) { s.RegisterService(&_RateLimitService_serviceDesc, srv) } func _RateLimitService_ShouldRateLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RateLimitRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RateLimitServiceServer).ShouldRateLimit(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.ratelimit.v3.RateLimitService/ShouldRateLimit", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RateLimitServiceServer).ShouldRateLimit(ctx, req.(*RateLimitRequest)) } return interceptor(ctx, in, info, handler) } var _RateLimitService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.ratelimit.v3.RateLimitService", HandlerType: (*RateLimitServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ShouldRateLimit", Handler: _RateLimitService_ShouldRateLimit_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "envoy/service/ratelimit/v3/rls.proto", } go-control-plane-0.12.0/envoy/service/ratelimit/v3/rls.pb.validate.go000077500000000000000000000621551454502223200254260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/ratelimit/v3/rls.proto package ratelimitv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitRequestMultiError, or nil if none found. func (m *RateLimitRequest) ValidateAll() error { return m.validate(true) } func (m *RateLimitRequest) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Domain for idx, item := range m.GetDescriptors() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitRequestValidationError{ field: fmt.Sprintf("Descriptors[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for HitsAddend if len(errors) > 0 { return RateLimitRequestMultiError(errors) } return nil } // RateLimitRequestMultiError is an error wrapping multiple validation errors // returned by RateLimitRequest.ValidateAll() if the designated constraints // aren't met. type RateLimitRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitRequestMultiError) AllErrors() []error { return m } // RateLimitRequestValidationError is the validation error returned by // RateLimitRequest.Validate if the designated constraints aren't met. type RateLimitRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitRequestValidationError) ErrorName() string { return "RateLimitRequestValidationError" } // Error satisfies the builtin error interface func (e RateLimitRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitRequestValidationError{} // Validate checks the field values on RateLimitResponse with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitResponseMultiError, or nil if none found. func (m *RateLimitResponse) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for OverallCode for idx, item := range m.GetStatuses() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("Statuses[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetResponseHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("ResponseHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetRequestHeadersToAdd() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: fmt.Sprintf("RequestHeadersToAdd[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } // no validation rules for RawBody if all { switch v := interface{}(m.GetDynamicMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDynamicMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: "DynamicMetadata", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetQuota()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponseValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuota()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponseValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitResponseMultiError(errors) } return nil } // RateLimitResponseMultiError is an error wrapping multiple validation errors // returned by RateLimitResponse.ValidateAll() if the designated constraints // aren't met. type RateLimitResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponseMultiError) AllErrors() []error { return m } // RateLimitResponseValidationError is the validation error returned by // RateLimitResponse.Validate if the designated constraints aren't met. type RateLimitResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponseValidationError) ErrorName() string { return "RateLimitResponseValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponseValidationError{} // Validate checks the field values on RateLimitResponse_RateLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitResponse_RateLimit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse_RateLimit with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitResponse_RateLimitMultiError, or nil if none found. func (m *RateLimitResponse_RateLimit) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse_RateLimit) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Name // no validation rules for RequestsPerUnit // no validation rules for Unit if len(errors) > 0 { return RateLimitResponse_RateLimitMultiError(errors) } return nil } // RateLimitResponse_RateLimitMultiError is an error wrapping multiple // validation errors returned by RateLimitResponse_RateLimit.ValidateAll() if // the designated constraints aren't met. type RateLimitResponse_RateLimitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponse_RateLimitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponse_RateLimitMultiError) AllErrors() []error { return m } // RateLimitResponse_RateLimitValidationError is the validation error returned // by RateLimitResponse_RateLimit.Validate if the designated constraints // aren't met. type RateLimitResponse_RateLimitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponse_RateLimitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponse_RateLimitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponse_RateLimitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponse_RateLimitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponse_RateLimitValidationError) ErrorName() string { return "RateLimitResponse_RateLimitValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponse_RateLimitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse_RateLimit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponse_RateLimitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponse_RateLimitValidationError{} // Validate checks the field values on RateLimitResponse_Quota with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RateLimitResponse_Quota) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse_Quota with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitResponse_QuotaMultiError, or nil if none found. func (m *RateLimitResponse_Quota) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse_Quota) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetRequests() <= 0 { err := RateLimitResponse_QuotaValidationError{ field: "Requests", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } // no validation rules for Id switch v := m.ExpirationSpecifier.(type) { case *RateLimitResponse_Quota_ValidUntil: if v == nil { err := RateLimitResponse_QuotaValidationError{ field: "ExpirationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValidUntil()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponse_QuotaValidationError{ field: "ValidUntil", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponse_QuotaValidationError{ field: "ValidUntil", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValidUntil()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponse_QuotaValidationError{ field: "ValidUntil", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RateLimitResponse_QuotaMultiError(errors) } return nil } // RateLimitResponse_QuotaMultiError is an error wrapping multiple validation // errors returned by RateLimitResponse_Quota.ValidateAll() if the designated // constraints aren't met. type RateLimitResponse_QuotaMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponse_QuotaMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponse_QuotaMultiError) AllErrors() []error { return m } // RateLimitResponse_QuotaValidationError is the validation error returned by // RateLimitResponse_Quota.Validate if the designated constraints aren't met. type RateLimitResponse_QuotaValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponse_QuotaValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponse_QuotaValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponse_QuotaValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponse_QuotaValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponse_QuotaValidationError) ErrorName() string { return "RateLimitResponse_QuotaValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponse_QuotaValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse_Quota.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponse_QuotaValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponse_QuotaValidationError{} // Validate checks the field values on RateLimitResponse_DescriptorStatus with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *RateLimitResponse_DescriptorStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitResponse_DescriptorStatus // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitResponse_DescriptorStatusMultiError, or nil if none found. func (m *RateLimitResponse_DescriptorStatus) ValidateAll() error { return m.validate(true) } func (m *RateLimitResponse_DescriptorStatus) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Code if all { switch v := interface{}(m.GetCurrentLimit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCurrentLimit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponse_DescriptorStatusValidationError{ field: "CurrentLimit", reason: "embedded message failed validation", cause: err, } } } // no validation rules for LimitRemaining if all { switch v := interface{}(m.GetDurationUntilReset()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "DurationUntilReset", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "DurationUntilReset", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDurationUntilReset()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponse_DescriptorStatusValidationError{ field: "DurationUntilReset", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetQuota()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitResponse_DescriptorStatusValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetQuota()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitResponse_DescriptorStatusValidationError{ field: "Quota", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RateLimitResponse_DescriptorStatusMultiError(errors) } return nil } // RateLimitResponse_DescriptorStatusMultiError is an error wrapping multiple // validation errors returned by // RateLimitResponse_DescriptorStatus.ValidateAll() if the designated // constraints aren't met. type RateLimitResponse_DescriptorStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitResponse_DescriptorStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitResponse_DescriptorStatusMultiError) AllErrors() []error { return m } // RateLimitResponse_DescriptorStatusValidationError is the validation error // returned by RateLimitResponse_DescriptorStatus.Validate if the designated // constraints aren't met. type RateLimitResponse_DescriptorStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitResponse_DescriptorStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitResponse_DescriptorStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitResponse_DescriptorStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitResponse_DescriptorStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitResponse_DescriptorStatusValidationError) ErrorName() string { return "RateLimitResponse_DescriptorStatusValidationError" } // Error satisfies the builtin error interface func (e RateLimitResponse_DescriptorStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitResponse_DescriptorStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitResponse_DescriptorStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitResponse_DescriptorStatusValidationError{} go-control-plane-0.12.0/envoy/service/route/000077500000000000000000000000001454502223200207075ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/route/v3/000077500000000000000000000000001454502223200212375ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/route/v3/rds.pb.go000077500000000000000000000567471454502223200230040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/route/v3/rds.proto package routev3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type RdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RdsDummy) Reset() { *x = RdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_route_v3_rds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RdsDummy) ProtoMessage() {} func (x *RdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_route_v3_rds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RdsDummy.ProtoReflect.Descriptor instead. func (*RdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_route_v3_rds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_route_v3_rds_proto protoreflect.FileDescriptor var file_envoy_service_route_v3_rds_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x08, 0x52, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xc6, 0x03, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x30, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xcb, 0x01, 0x0a, 0x1b, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x29, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x81, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x52, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_route_v3_rds_proto_rawDescOnce sync.Once file_envoy_service_route_v3_rds_proto_rawDescData = file_envoy_service_route_v3_rds_proto_rawDesc ) func file_envoy_service_route_v3_rds_proto_rawDescGZIP() []byte { file_envoy_service_route_v3_rds_proto_rawDescOnce.Do(func() { file_envoy_service_route_v3_rds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_route_v3_rds_proto_rawDescData) }) return file_envoy_service_route_v3_rds_proto_rawDescData } var file_envoy_service_route_v3_rds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_route_v3_rds_proto_goTypes = []interface{}{ (*RdsDummy)(nil), // 0: envoy.service.route.v3.RdsDummy (*v3.DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_route_v3_rds_proto_depIdxs = []int32{ 1, // 0: envoy.service.route.v3.RouteDiscoveryService.StreamRoutes:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.route.v3.RouteDiscoveryService.DeltaRoutes:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 1, // 2: envoy.service.route.v3.RouteDiscoveryService.FetchRoutes:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 3: envoy.service.route.v3.VirtualHostDiscoveryService.DeltaVirtualHosts:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 3, // 4: envoy.service.route.v3.RouteDiscoveryService.StreamRoutes:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 5: envoy.service.route.v3.RouteDiscoveryService.DeltaRoutes:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 3, // 6: envoy.service.route.v3.RouteDiscoveryService.FetchRoutes:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 7: envoy.service.route.v3.VirtualHostDiscoveryService.DeltaVirtualHosts:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 4, // [4:8] is the sub-list for method output_type 0, // [0:4] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_route_v3_rds_proto_init() } func file_envoy_service_route_v3_rds_proto_init() { if File_envoy_service_route_v3_rds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_route_v3_rds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_route_v3_rds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 2, }, GoTypes: file_envoy_service_route_v3_rds_proto_goTypes, DependencyIndexes: file_envoy_service_route_v3_rds_proto_depIdxs, MessageInfos: file_envoy_service_route_v3_rds_proto_msgTypes, }.Build() File_envoy_service_route_v3_rds_proto = out.File file_envoy_service_route_v3_rds_proto_rawDesc = nil file_envoy_service_route_v3_rds_proto_goTypes = nil file_envoy_service_route_v3_rds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RouteDiscoveryServiceClient is the client API for RouteDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RouteDiscoveryServiceClient interface { StreamRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_StreamRoutesClient, error) DeltaRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_DeltaRoutesClient, error) FetchRoutes(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type routeDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewRouteDiscoveryServiceClient(cc grpc.ClientConnInterface) RouteDiscoveryServiceClient { return &routeDiscoveryServiceClient{cc} } func (c *routeDiscoveryServiceClient) StreamRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_StreamRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_RouteDiscoveryService_serviceDesc.Streams[0], "/envoy.service.route.v3.RouteDiscoveryService/StreamRoutes", opts...) if err != nil { return nil, err } x := &routeDiscoveryServiceStreamRoutesClient{stream} return x, nil } type RouteDiscoveryService_StreamRoutesClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type routeDiscoveryServiceStreamRoutesClient struct { grpc.ClientStream } func (x *routeDiscoveryServiceStreamRoutesClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *routeDiscoveryServiceStreamRoutesClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *routeDiscoveryServiceClient) DeltaRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_DeltaRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_RouteDiscoveryService_serviceDesc.Streams[1], "/envoy.service.route.v3.RouteDiscoveryService/DeltaRoutes", opts...) if err != nil { return nil, err } x := &routeDiscoveryServiceDeltaRoutesClient{stream} return x, nil } type RouteDiscoveryService_DeltaRoutesClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type routeDiscoveryServiceDeltaRoutesClient struct { grpc.ClientStream } func (x *routeDiscoveryServiceDeltaRoutesClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *routeDiscoveryServiceDeltaRoutesClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *routeDiscoveryServiceClient) FetchRoutes(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.route.v3.RouteDiscoveryService/FetchRoutes", in, out, opts...) if err != nil { return nil, err } return out, nil } // RouteDiscoveryServiceServer is the server API for RouteDiscoveryService service. type RouteDiscoveryServiceServer interface { StreamRoutes(RouteDiscoveryService_StreamRoutesServer) error DeltaRoutes(RouteDiscoveryService_DeltaRoutesServer) error FetchRoutes(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedRouteDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedRouteDiscoveryServiceServer struct { } func (*UnimplementedRouteDiscoveryServiceServer) StreamRoutes(RouteDiscoveryService_StreamRoutesServer) error { return status.Errorf(codes.Unimplemented, "method StreamRoutes not implemented") } func (*UnimplementedRouteDiscoveryServiceServer) DeltaRoutes(RouteDiscoveryService_DeltaRoutesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaRoutes not implemented") } func (*UnimplementedRouteDiscoveryServiceServer) FetchRoutes(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchRoutes not implemented") } func RegisterRouteDiscoveryServiceServer(s *grpc.Server, srv RouteDiscoveryServiceServer) { s.RegisterService(&_RouteDiscoveryService_serviceDesc, srv) } func _RouteDiscoveryService_StreamRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteDiscoveryServiceServer).StreamRoutes(&routeDiscoveryServiceStreamRoutesServer{stream}) } type RouteDiscoveryService_StreamRoutesServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type routeDiscoveryServiceStreamRoutesServer struct { grpc.ServerStream } func (x *routeDiscoveryServiceStreamRoutesServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *routeDiscoveryServiceStreamRoutesServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RouteDiscoveryService_DeltaRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteDiscoveryServiceServer).DeltaRoutes(&routeDiscoveryServiceDeltaRoutesServer{stream}) } type RouteDiscoveryService_DeltaRoutesServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type routeDiscoveryServiceDeltaRoutesServer struct { grpc.ServerStream } func (x *routeDiscoveryServiceDeltaRoutesServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *routeDiscoveryServiceDeltaRoutesServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RouteDiscoveryService_FetchRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RouteDiscoveryServiceServer).FetchRoutes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.route.v3.RouteDiscoveryService/FetchRoutes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RouteDiscoveryServiceServer).FetchRoutes(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _RouteDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.route.v3.RouteDiscoveryService", HandlerType: (*RouteDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchRoutes", Handler: _RouteDiscoveryService_FetchRoutes_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamRoutes", Handler: _RouteDiscoveryService_StreamRoutes_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaRoutes", Handler: _RouteDiscoveryService_DeltaRoutes_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/route/v3/rds.proto", } // VirtualHostDiscoveryServiceClient is the client API for VirtualHostDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type VirtualHostDiscoveryServiceClient interface { DeltaVirtualHosts(ctx context.Context, opts ...grpc.CallOption) (VirtualHostDiscoveryService_DeltaVirtualHostsClient, error) } type virtualHostDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewVirtualHostDiscoveryServiceClient(cc grpc.ClientConnInterface) VirtualHostDiscoveryServiceClient { return &virtualHostDiscoveryServiceClient{cc} } func (c *virtualHostDiscoveryServiceClient) DeltaVirtualHosts(ctx context.Context, opts ...grpc.CallOption) (VirtualHostDiscoveryService_DeltaVirtualHostsClient, error) { stream, err := c.cc.NewStream(ctx, &_VirtualHostDiscoveryService_serviceDesc.Streams[0], "/envoy.service.route.v3.VirtualHostDiscoveryService/DeltaVirtualHosts", opts...) if err != nil { return nil, err } x := &virtualHostDiscoveryServiceDeltaVirtualHostsClient{stream} return x, nil } type VirtualHostDiscoveryService_DeltaVirtualHostsClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type virtualHostDiscoveryServiceDeltaVirtualHostsClient struct { grpc.ClientStream } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // VirtualHostDiscoveryServiceServer is the server API for VirtualHostDiscoveryService service. type VirtualHostDiscoveryServiceServer interface { DeltaVirtualHosts(VirtualHostDiscoveryService_DeltaVirtualHostsServer) error } // UnimplementedVirtualHostDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedVirtualHostDiscoveryServiceServer struct { } func (*UnimplementedVirtualHostDiscoveryServiceServer) DeltaVirtualHosts(VirtualHostDiscoveryService_DeltaVirtualHostsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaVirtualHosts not implemented") } func RegisterVirtualHostDiscoveryServiceServer(s *grpc.Server, srv VirtualHostDiscoveryServiceServer) { s.RegisterService(&_VirtualHostDiscoveryService_serviceDesc, srv) } func _VirtualHostDiscoveryService_DeltaVirtualHosts_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(VirtualHostDiscoveryServiceServer).DeltaVirtualHosts(&virtualHostDiscoveryServiceDeltaVirtualHostsServer{stream}) } type VirtualHostDiscoveryService_DeltaVirtualHostsServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type virtualHostDiscoveryServiceDeltaVirtualHostsServer struct { grpc.ServerStream } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *virtualHostDiscoveryServiceDeltaVirtualHostsServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _VirtualHostDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.route.v3.VirtualHostDiscoveryService", HandlerType: (*VirtualHostDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "DeltaVirtualHosts", Handler: _VirtualHostDiscoveryService_DeltaVirtualHosts_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/route/v3/rds.proto", } go-control-plane-0.12.0/envoy/service/route/v3/rds.pb.validate.go000077500000000000000000000061211454502223200245510ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/route/v3/rds.proto package routev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RdsDummyMultiError, or nil // if none found. func (m *RdsDummy) ValidateAll() error { return m.validate(true) } func (m *RdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RdsDummyMultiError(errors) } return nil } // RdsDummyMultiError is an error wrapping multiple validation errors returned // by RdsDummy.ValidateAll() if the designated constraints aren't met. type RdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RdsDummyMultiError) AllErrors() []error { return m } // RdsDummyValidationError is the validation error returned by // RdsDummy.Validate if the designated constraints aren't met. type RdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RdsDummyValidationError) ErrorName() string { return "RdsDummyValidationError" } // Error satisfies the builtin error interface func (e RdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/route/v3/srds.pb.go000077500000000000000000000465361454502223200231620ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/route/v3/srds.proto package routev3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 and protoxform to upgrade the file. type SrdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SrdsDummy) Reset() { *x = SrdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_route_v3_srds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SrdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SrdsDummy) ProtoMessage() {} func (x *SrdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_route_v3_srds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SrdsDummy.ProtoReflect.Descriptor instead. func (*SrdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_route_v3_srds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_route_v3_srds_proto protoreflect.FileDescriptor var file_envoy_service_route_v3_srds_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x09, 0x53, 0x72, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x72, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xed, 0x03, 0x0a, 0x1c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x2d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x36, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x53, 0x72, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_route_v3_srds_proto_rawDescOnce sync.Once file_envoy_service_route_v3_srds_proto_rawDescData = file_envoy_service_route_v3_srds_proto_rawDesc ) func file_envoy_service_route_v3_srds_proto_rawDescGZIP() []byte { file_envoy_service_route_v3_srds_proto_rawDescOnce.Do(func() { file_envoy_service_route_v3_srds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_route_v3_srds_proto_rawDescData) }) return file_envoy_service_route_v3_srds_proto_rawDescData } var file_envoy_service_route_v3_srds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_route_v3_srds_proto_goTypes = []interface{}{ (*SrdsDummy)(nil), // 0: envoy.service.route.v3.SrdsDummy (*v3.DiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_route_v3_srds_proto_depIdxs = []int32{ 1, // 0: envoy.service.route.v3.ScopedRoutesDiscoveryService.StreamScopedRoutes:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 1: envoy.service.route.v3.ScopedRoutesDiscoveryService.DeltaScopedRoutes:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 1, // 2: envoy.service.route.v3.ScopedRoutesDiscoveryService.FetchScopedRoutes:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.route.v3.ScopedRoutesDiscoveryService.StreamScopedRoutes:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 4: envoy.service.route.v3.ScopedRoutesDiscoveryService.DeltaScopedRoutes:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 3, // 5: envoy.service.route.v3.ScopedRoutesDiscoveryService.FetchScopedRoutes:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_route_v3_srds_proto_init() } func file_envoy_service_route_v3_srds_proto_init() { if File_envoy_service_route_v3_srds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_route_v3_srds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SrdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_route_v3_srds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_route_v3_srds_proto_goTypes, DependencyIndexes: file_envoy_service_route_v3_srds_proto_depIdxs, MessageInfos: file_envoy_service_route_v3_srds_proto_msgTypes, }.Build() File_envoy_service_route_v3_srds_proto = out.File file_envoy_service_route_v3_srds_proto_rawDesc = nil file_envoy_service_route_v3_srds_proto_goTypes = nil file_envoy_service_route_v3_srds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ScopedRoutesDiscoveryServiceClient is the client API for ScopedRoutesDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ScopedRoutesDiscoveryServiceClient interface { StreamScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_StreamScopedRoutesClient, error) DeltaScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_DeltaScopedRoutesClient, error) FetchScopedRoutes(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type scopedRoutesDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewScopedRoutesDiscoveryServiceClient(cc grpc.ClientConnInterface) ScopedRoutesDiscoveryServiceClient { return &scopedRoutesDiscoveryServiceClient{cc} } func (c *scopedRoutesDiscoveryServiceClient) StreamScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_StreamScopedRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_ScopedRoutesDiscoveryService_serviceDesc.Streams[0], "/envoy.service.route.v3.ScopedRoutesDiscoveryService/StreamScopedRoutes", opts...) if err != nil { return nil, err } x := &scopedRoutesDiscoveryServiceStreamScopedRoutesClient{stream} return x, nil } type ScopedRoutesDiscoveryService_StreamScopedRoutesClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type scopedRoutesDiscoveryServiceStreamScopedRoutesClient struct { grpc.ClientStream } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *scopedRoutesDiscoveryServiceClient) DeltaScopedRoutes(ctx context.Context, opts ...grpc.CallOption) (ScopedRoutesDiscoveryService_DeltaScopedRoutesClient, error) { stream, err := c.cc.NewStream(ctx, &_ScopedRoutesDiscoveryService_serviceDesc.Streams[1], "/envoy.service.route.v3.ScopedRoutesDiscoveryService/DeltaScopedRoutes", opts...) if err != nil { return nil, err } x := &scopedRoutesDiscoveryServiceDeltaScopedRoutesClient{stream} return x, nil } type ScopedRoutesDiscoveryService_DeltaScopedRoutesClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type scopedRoutesDiscoveryServiceDeltaScopedRoutesClient struct { grpc.ClientStream } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *scopedRoutesDiscoveryServiceClient) FetchScopedRoutes(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.route.v3.ScopedRoutesDiscoveryService/FetchScopedRoutes", in, out, opts...) if err != nil { return nil, err } return out, nil } // ScopedRoutesDiscoveryServiceServer is the server API for ScopedRoutesDiscoveryService service. type ScopedRoutesDiscoveryServiceServer interface { StreamScopedRoutes(ScopedRoutesDiscoveryService_StreamScopedRoutesServer) error DeltaScopedRoutes(ScopedRoutesDiscoveryService_DeltaScopedRoutesServer) error FetchScopedRoutes(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedScopedRoutesDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedScopedRoutesDiscoveryServiceServer struct { } func (*UnimplementedScopedRoutesDiscoveryServiceServer) StreamScopedRoutes(ScopedRoutesDiscoveryService_StreamScopedRoutesServer) error { return status.Errorf(codes.Unimplemented, "method StreamScopedRoutes not implemented") } func (*UnimplementedScopedRoutesDiscoveryServiceServer) DeltaScopedRoutes(ScopedRoutesDiscoveryService_DeltaScopedRoutesServer) error { return status.Errorf(codes.Unimplemented, "method DeltaScopedRoutes not implemented") } func (*UnimplementedScopedRoutesDiscoveryServiceServer) FetchScopedRoutes(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchScopedRoutes not implemented") } func RegisterScopedRoutesDiscoveryServiceServer(s *grpc.Server, srv ScopedRoutesDiscoveryServiceServer) { s.RegisterService(&_ScopedRoutesDiscoveryService_serviceDesc, srv) } func _ScopedRoutesDiscoveryService_StreamScopedRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ScopedRoutesDiscoveryServiceServer).StreamScopedRoutes(&scopedRoutesDiscoveryServiceStreamScopedRoutesServer{stream}) } type ScopedRoutesDiscoveryService_StreamScopedRoutesServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type scopedRoutesDiscoveryServiceStreamScopedRoutesServer struct { grpc.ServerStream } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceStreamScopedRoutesServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ScopedRoutesDiscoveryService_DeltaScopedRoutes_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ScopedRoutesDiscoveryServiceServer).DeltaScopedRoutes(&scopedRoutesDiscoveryServiceDeltaScopedRoutesServer{stream}) } type ScopedRoutesDiscoveryService_DeltaScopedRoutesServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type scopedRoutesDiscoveryServiceDeltaScopedRoutesServer struct { grpc.ServerStream } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *scopedRoutesDiscoveryServiceDeltaScopedRoutesServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ScopedRoutesDiscoveryService_FetchScopedRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ScopedRoutesDiscoveryServiceServer).FetchScopedRoutes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.route.v3.ScopedRoutesDiscoveryService/FetchScopedRoutes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ScopedRoutesDiscoveryServiceServer).FetchScopedRoutes(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _ScopedRoutesDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.route.v3.ScopedRoutesDiscoveryService", HandlerType: (*ScopedRoutesDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchScopedRoutes", Handler: _ScopedRoutesDiscoveryService_FetchScopedRoutes_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamScopedRoutes", Handler: _ScopedRoutesDiscoveryService_StreamScopedRoutes_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaScopedRoutes", Handler: _ScopedRoutesDiscoveryService_DeltaScopedRoutes_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/route/v3/srds.proto", } go-control-plane-0.12.0/envoy/service/route/v3/srds.pb.validate.go000077500000000000000000000061531454502223200247410ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/route/v3/srds.proto package routev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SrdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SrdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SrdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SrdsDummyMultiError, or nil // if none found. func (m *SrdsDummy) ValidateAll() error { return m.validate(true) } func (m *SrdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SrdsDummyMultiError(errors) } return nil } // SrdsDummyMultiError is an error wrapping multiple validation errors returned // by SrdsDummy.ValidateAll() if the designated constraints aren't met. type SrdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SrdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SrdsDummyMultiError) AllErrors() []error { return m } // SrdsDummyValidationError is the validation error returned by // SrdsDummy.Validate if the designated constraints aren't met. type SrdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SrdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SrdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SrdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SrdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SrdsDummyValidationError) ErrorName() string { return "SrdsDummyValidationError" } // Error satisfies the builtin error interface func (e SrdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSrdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SrdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SrdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/runtime/000077500000000000000000000000001454502223200212345ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/runtime/v3/000077500000000000000000000000001454502223200215645ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/runtime/v3/rtds.pb.go000077500000000000000000000534361454502223200235050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/runtime/v3/rtds.proto package runtimev3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" _struct "github.com/golang/protobuf/ptypes/struct" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type RtdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RtdsDummy) Reset() { *x = RtdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_runtime_v3_rtds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RtdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RtdsDummy) ProtoMessage() {} func (x *RtdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_runtime_v3_rtds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RtdsDummy.ProtoReflect.Descriptor instead. func (*RtdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_runtime_v3_rtds_proto_rawDescGZIP(), []int{0} } // RTDS resource type. This describes a layer in the runtime virtual filesystem. type Runtime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runtime resource name. This makes the Runtime a self-describing xDS // resource. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Layer *_struct.Struct `protobuf:"bytes,2,opt,name=layer,proto3" json:"layer,omitempty"` } func (x *Runtime) Reset() { *x = Runtime{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_runtime_v3_rtds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runtime) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runtime) ProtoMessage() {} func (x *Runtime) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_runtime_v3_rtds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Runtime.ProtoReflect.Descriptor instead. func (*Runtime) Descriptor() ([]byte, []int) { return file_envoy_service_runtime_v3_rtds_proto_rawDescGZIP(), []int{1} } func (x *Runtime) GetName() string { if x != nil { return x.Name } return "" } func (x *Runtime) GetLayer() *_struct.Struct { if x != nil { return x.Layer } return nil } var File_envoy_service_runtime_v3_rtds_proto protoreflect.FileDescriptor var file_envoy_service_runtime_v3_rtds_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x74, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x09, 0x52, 0x74, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x74, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x32, 0xc4, 0x03, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x28, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x88, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x74, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_runtime_v3_rtds_proto_rawDescOnce sync.Once file_envoy_service_runtime_v3_rtds_proto_rawDescData = file_envoy_service_runtime_v3_rtds_proto_rawDesc ) func file_envoy_service_runtime_v3_rtds_proto_rawDescGZIP() []byte { file_envoy_service_runtime_v3_rtds_proto_rawDescOnce.Do(func() { file_envoy_service_runtime_v3_rtds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_runtime_v3_rtds_proto_rawDescData) }) return file_envoy_service_runtime_v3_rtds_proto_rawDescData } var file_envoy_service_runtime_v3_rtds_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_service_runtime_v3_rtds_proto_goTypes = []interface{}{ (*RtdsDummy)(nil), // 0: envoy.service.runtime.v3.RtdsDummy (*Runtime)(nil), // 1: envoy.service.runtime.v3.Runtime (*_struct.Struct)(nil), // 2: google.protobuf.Struct (*v3.DiscoveryRequest)(nil), // 3: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryRequest)(nil), // 4: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryResponse)(nil), // 5: envoy.service.discovery.v3.DiscoveryResponse (*v3.DeltaDiscoveryResponse)(nil), // 6: envoy.service.discovery.v3.DeltaDiscoveryResponse } var file_envoy_service_runtime_v3_rtds_proto_depIdxs = []int32{ 2, // 0: envoy.service.runtime.v3.Runtime.layer:type_name -> google.protobuf.Struct 3, // 1: envoy.service.runtime.v3.RuntimeDiscoveryService.StreamRuntime:input_type -> envoy.service.discovery.v3.DiscoveryRequest 4, // 2: envoy.service.runtime.v3.RuntimeDiscoveryService.DeltaRuntime:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 3, // 3: envoy.service.runtime.v3.RuntimeDiscoveryService.FetchRuntime:input_type -> envoy.service.discovery.v3.DiscoveryRequest 5, // 4: envoy.service.runtime.v3.RuntimeDiscoveryService.StreamRuntime:output_type -> envoy.service.discovery.v3.DiscoveryResponse 6, // 5: envoy.service.runtime.v3.RuntimeDiscoveryService.DeltaRuntime:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 5, // 6: envoy.service.runtime.v3.RuntimeDiscoveryService.FetchRuntime:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // [4:7] is the sub-list for method output_type 1, // [1:4] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_service_runtime_v3_rtds_proto_init() } func file_envoy_service_runtime_v3_rtds_proto_init() { if File_envoy_service_runtime_v3_rtds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_runtime_v3_rtds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RtdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_runtime_v3_rtds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runtime); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_runtime_v3_rtds_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_runtime_v3_rtds_proto_goTypes, DependencyIndexes: file_envoy_service_runtime_v3_rtds_proto_depIdxs, MessageInfos: file_envoy_service_runtime_v3_rtds_proto_msgTypes, }.Build() File_envoy_service_runtime_v3_rtds_proto = out.File file_envoy_service_runtime_v3_rtds_proto_rawDesc = nil file_envoy_service_runtime_v3_rtds_proto_goTypes = nil file_envoy_service_runtime_v3_rtds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RuntimeDiscoveryServiceClient is the client API for RuntimeDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RuntimeDiscoveryServiceClient interface { StreamRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_StreamRuntimeClient, error) DeltaRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_DeltaRuntimeClient, error) FetchRuntime(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type runtimeDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewRuntimeDiscoveryServiceClient(cc grpc.ClientConnInterface) RuntimeDiscoveryServiceClient { return &runtimeDiscoveryServiceClient{cc} } func (c *runtimeDiscoveryServiceClient) StreamRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_StreamRuntimeClient, error) { stream, err := c.cc.NewStream(ctx, &_RuntimeDiscoveryService_serviceDesc.Streams[0], "/envoy.service.runtime.v3.RuntimeDiscoveryService/StreamRuntime", opts...) if err != nil { return nil, err } x := &runtimeDiscoveryServiceStreamRuntimeClient{stream} return x, nil } type RuntimeDiscoveryService_StreamRuntimeClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type runtimeDiscoveryServiceStreamRuntimeClient struct { grpc.ClientStream } func (x *runtimeDiscoveryServiceStreamRuntimeClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *runtimeDiscoveryServiceStreamRuntimeClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *runtimeDiscoveryServiceClient) DeltaRuntime(ctx context.Context, opts ...grpc.CallOption) (RuntimeDiscoveryService_DeltaRuntimeClient, error) { stream, err := c.cc.NewStream(ctx, &_RuntimeDiscoveryService_serviceDesc.Streams[1], "/envoy.service.runtime.v3.RuntimeDiscoveryService/DeltaRuntime", opts...) if err != nil { return nil, err } x := &runtimeDiscoveryServiceDeltaRuntimeClient{stream} return x, nil } type RuntimeDiscoveryService_DeltaRuntimeClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type runtimeDiscoveryServiceDeltaRuntimeClient struct { grpc.ClientStream } func (x *runtimeDiscoveryServiceDeltaRuntimeClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *runtimeDiscoveryServiceDeltaRuntimeClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *runtimeDiscoveryServiceClient) FetchRuntime(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.runtime.v3.RuntimeDiscoveryService/FetchRuntime", in, out, opts...) if err != nil { return nil, err } return out, nil } // RuntimeDiscoveryServiceServer is the server API for RuntimeDiscoveryService service. type RuntimeDiscoveryServiceServer interface { StreamRuntime(RuntimeDiscoveryService_StreamRuntimeServer) error DeltaRuntime(RuntimeDiscoveryService_DeltaRuntimeServer) error FetchRuntime(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedRuntimeDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedRuntimeDiscoveryServiceServer struct { } func (*UnimplementedRuntimeDiscoveryServiceServer) StreamRuntime(RuntimeDiscoveryService_StreamRuntimeServer) error { return status.Errorf(codes.Unimplemented, "method StreamRuntime not implemented") } func (*UnimplementedRuntimeDiscoveryServiceServer) DeltaRuntime(RuntimeDiscoveryService_DeltaRuntimeServer) error { return status.Errorf(codes.Unimplemented, "method DeltaRuntime not implemented") } func (*UnimplementedRuntimeDiscoveryServiceServer) FetchRuntime(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchRuntime not implemented") } func RegisterRuntimeDiscoveryServiceServer(s *grpc.Server, srv RuntimeDiscoveryServiceServer) { s.RegisterService(&_RuntimeDiscoveryService_serviceDesc, srv) } func _RuntimeDiscoveryService_StreamRuntime_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RuntimeDiscoveryServiceServer).StreamRuntime(&runtimeDiscoveryServiceStreamRuntimeServer{stream}) } type RuntimeDiscoveryService_StreamRuntimeServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type runtimeDiscoveryServiceStreamRuntimeServer struct { grpc.ServerStream } func (x *runtimeDiscoveryServiceStreamRuntimeServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *runtimeDiscoveryServiceStreamRuntimeServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RuntimeDiscoveryService_DeltaRuntime_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RuntimeDiscoveryServiceServer).DeltaRuntime(&runtimeDiscoveryServiceDeltaRuntimeServer{stream}) } type RuntimeDiscoveryService_DeltaRuntimeServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type runtimeDiscoveryServiceDeltaRuntimeServer struct { grpc.ServerStream } func (x *runtimeDiscoveryServiceDeltaRuntimeServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *runtimeDiscoveryServiceDeltaRuntimeServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RuntimeDiscoveryService_FetchRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RuntimeDiscoveryServiceServer).FetchRuntime(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.runtime.v3.RuntimeDiscoveryService/FetchRuntime", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RuntimeDiscoveryServiceServer).FetchRuntime(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _RuntimeDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.runtime.v3.RuntimeDiscoveryService", HandlerType: (*RuntimeDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchRuntime", Handler: _RuntimeDiscoveryService_FetchRuntime_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamRuntime", Handler: _RuntimeDiscoveryService_StreamRuntime_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "DeltaRuntime", Handler: _RuntimeDiscoveryService_DeltaRuntime_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/runtime/v3/rtds.proto", } go-control-plane-0.12.0/envoy/service/runtime/v3/rtds.pb.validate.go000077500000000000000000000151361454502223200252700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/runtime/v3/rtds.proto package runtimev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RtdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RtdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RtdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RtdsDummyMultiError, or nil // if none found. func (m *RtdsDummy) ValidateAll() error { return m.validate(true) } func (m *RtdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return RtdsDummyMultiError(errors) } return nil } // RtdsDummyMultiError is an error wrapping multiple validation errors returned // by RtdsDummy.ValidateAll() if the designated constraints aren't met. type RtdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RtdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RtdsDummyMultiError) AllErrors() []error { return m } // RtdsDummyValidationError is the validation error returned by // RtdsDummy.Validate if the designated constraints aren't met. type RtdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RtdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RtdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RtdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RtdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RtdsDummyValidationError) ErrorName() string { return "RtdsDummyValidationError" } // Error satisfies the builtin error interface func (e RtdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRtdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RtdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RtdsDummyValidationError{} // Validate checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Runtime) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Runtime with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in RuntimeMultiError, or nil if none found. func (m *Runtime) ValidateAll() error { return m.validate(true) } func (m *Runtime) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := RuntimeValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetLayer()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLayer()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RuntimeValidationError{ field: "Layer", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RuntimeMultiError(errors) } return nil } // RuntimeMultiError is an error wrapping multiple validation errors returned // by Runtime.ValidateAll() if the designated constraints aren't met. type RuntimeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RuntimeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RuntimeMultiError) AllErrors() []error { return m } // RuntimeValidationError is the validation error returned by Runtime.Validate // if the designated constraints aren't met. type RuntimeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RuntimeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RuntimeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RuntimeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RuntimeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RuntimeValidationError) ErrorName() string { return "RuntimeValidationError" } // Error satisfies the builtin error interface func (e RuntimeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRuntime.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RuntimeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RuntimeValidationError{} go-control-plane-0.12.0/envoy/service/secret/000077500000000000000000000000001454502223200210365ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/secret/v3/000077500000000000000000000000001454502223200213665ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/secret/v3/sds.pb.go000077500000000000000000000447641454502223200231300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/secret/v3/sds.proto package secretv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing // services: https://github.com/google/protobuf/issues/4221 type SdsDummy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SdsDummy) Reset() { *x = SdsDummy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_secret_v3_sds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SdsDummy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SdsDummy) ProtoMessage() {} func (x *SdsDummy) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_secret_v3_sds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SdsDummy.ProtoReflect.Descriptor instead. func (*SdsDummy) Descriptor() ([]byte, []int) { return file_envoy_service_secret_v3_sds_proto_rawDescGZIP(), []int{0} } var File_envoy_service_secret_v3_sds_proto protoreflect.FileDescriptor var file_envoy_service_secret_v3_sds_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x08, 0x53, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x64, 0x73, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0xd3, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0x38, 0x8a, 0xa4, 0x96, 0xf3, 0x07, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x53, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_secret_v3_sds_proto_rawDescOnce sync.Once file_envoy_service_secret_v3_sds_proto_rawDescData = file_envoy_service_secret_v3_sds_proto_rawDesc ) func file_envoy_service_secret_v3_sds_proto_rawDescGZIP() []byte { file_envoy_service_secret_v3_sds_proto_rawDescOnce.Do(func() { file_envoy_service_secret_v3_sds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_secret_v3_sds_proto_rawDescData) }) return file_envoy_service_secret_v3_sds_proto_rawDescData } var file_envoy_service_secret_v3_sds_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_service_secret_v3_sds_proto_goTypes = []interface{}{ (*SdsDummy)(nil), // 0: envoy.service.secret.v3.SdsDummy (*v3.DeltaDiscoveryRequest)(nil), // 1: envoy.service.discovery.v3.DeltaDiscoveryRequest (*v3.DiscoveryRequest)(nil), // 2: envoy.service.discovery.v3.DiscoveryRequest (*v3.DeltaDiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DeltaDiscoveryResponse (*v3.DiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DiscoveryResponse } var file_envoy_service_secret_v3_sds_proto_depIdxs = []int32{ 1, // 0: envoy.service.secret.v3.SecretDiscoveryService.DeltaSecrets:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest 2, // 1: envoy.service.secret.v3.SecretDiscoveryService.StreamSecrets:input_type -> envoy.service.discovery.v3.DiscoveryRequest 2, // 2: envoy.service.secret.v3.SecretDiscoveryService.FetchSecrets:input_type -> envoy.service.discovery.v3.DiscoveryRequest 3, // 3: envoy.service.secret.v3.SecretDiscoveryService.DeltaSecrets:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse 4, // 4: envoy.service.secret.v3.SecretDiscoveryService.StreamSecrets:output_type -> envoy.service.discovery.v3.DiscoveryResponse 4, // 5: envoy.service.secret.v3.SecretDiscoveryService.FetchSecrets:output_type -> envoy.service.discovery.v3.DiscoveryResponse 3, // [3:6] is the sub-list for method output_type 0, // [0:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_service_secret_v3_sds_proto_init() } func file_envoy_service_secret_v3_sds_proto_init() { if File_envoy_service_secret_v3_sds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_secret_v3_sds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SdsDummy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_secret_v3_sds_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_secret_v3_sds_proto_goTypes, DependencyIndexes: file_envoy_service_secret_v3_sds_proto_depIdxs, MessageInfos: file_envoy_service_secret_v3_sds_proto_msgTypes, }.Build() File_envoy_service_secret_v3_sds_proto = out.File file_envoy_service_secret_v3_sds_proto_rawDesc = nil file_envoy_service_secret_v3_sds_proto_goTypes = nil file_envoy_service_secret_v3_sds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // SecretDiscoveryServiceClient is the client API for SecretDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type SecretDiscoveryServiceClient interface { DeltaSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_DeltaSecretsClient, error) StreamSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_StreamSecretsClient, error) FetchSecrets(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type secretDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewSecretDiscoveryServiceClient(cc grpc.ClientConnInterface) SecretDiscoveryServiceClient { return &secretDiscoveryServiceClient{cc} } func (c *secretDiscoveryServiceClient) DeltaSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_DeltaSecretsClient, error) { stream, err := c.cc.NewStream(ctx, &_SecretDiscoveryService_serviceDesc.Streams[0], "/envoy.service.secret.v3.SecretDiscoveryService/DeltaSecrets", opts...) if err != nil { return nil, err } x := &secretDiscoveryServiceDeltaSecretsClient{stream} return x, nil } type SecretDiscoveryService_DeltaSecretsClient interface { Send(*v3.DeltaDiscoveryRequest) error Recv() (*v3.DeltaDiscoveryResponse, error) grpc.ClientStream } type secretDiscoveryServiceDeltaSecretsClient struct { grpc.ClientStream } func (x *secretDiscoveryServiceDeltaSecretsClient) Send(m *v3.DeltaDiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *secretDiscoveryServiceDeltaSecretsClient) Recv() (*v3.DeltaDiscoveryResponse, error) { m := new(v3.DeltaDiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *secretDiscoveryServiceClient) StreamSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_StreamSecretsClient, error) { stream, err := c.cc.NewStream(ctx, &_SecretDiscoveryService_serviceDesc.Streams[1], "/envoy.service.secret.v3.SecretDiscoveryService/StreamSecrets", opts...) if err != nil { return nil, err } x := &secretDiscoveryServiceStreamSecretsClient{stream} return x, nil } type SecretDiscoveryService_StreamSecretsClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type secretDiscoveryServiceStreamSecretsClient struct { grpc.ClientStream } func (x *secretDiscoveryServiceStreamSecretsClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *secretDiscoveryServiceStreamSecretsClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *secretDiscoveryServiceClient) FetchSecrets(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/envoy.service.secret.v3.SecretDiscoveryService/FetchSecrets", in, out, opts...) if err != nil { return nil, err } return out, nil } // SecretDiscoveryServiceServer is the server API for SecretDiscoveryService service. type SecretDiscoveryServiceServer interface { DeltaSecrets(SecretDiscoveryService_DeltaSecretsServer) error StreamSecrets(SecretDiscoveryService_StreamSecretsServer) error FetchSecrets(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedSecretDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedSecretDiscoveryServiceServer struct { } func (*UnimplementedSecretDiscoveryServiceServer) DeltaSecrets(SecretDiscoveryService_DeltaSecretsServer) error { return status.Errorf(codes.Unimplemented, "method DeltaSecrets not implemented") } func (*UnimplementedSecretDiscoveryServiceServer) StreamSecrets(SecretDiscoveryService_StreamSecretsServer) error { return status.Errorf(codes.Unimplemented, "method StreamSecrets not implemented") } func (*UnimplementedSecretDiscoveryServiceServer) FetchSecrets(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchSecrets not implemented") } func RegisterSecretDiscoveryServiceServer(s *grpc.Server, srv SecretDiscoveryServiceServer) { s.RegisterService(&_SecretDiscoveryService_serviceDesc, srv) } func _SecretDiscoveryService_DeltaSecrets_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(SecretDiscoveryServiceServer).DeltaSecrets(&secretDiscoveryServiceDeltaSecretsServer{stream}) } type SecretDiscoveryService_DeltaSecretsServer interface { Send(*v3.DeltaDiscoveryResponse) error Recv() (*v3.DeltaDiscoveryRequest, error) grpc.ServerStream } type secretDiscoveryServiceDeltaSecretsServer struct { grpc.ServerStream } func (x *secretDiscoveryServiceDeltaSecretsServer) Send(m *v3.DeltaDiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *secretDiscoveryServiceDeltaSecretsServer) Recv() (*v3.DeltaDiscoveryRequest, error) { m := new(v3.DeltaDiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _SecretDiscoveryService_StreamSecrets_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(SecretDiscoveryServiceServer).StreamSecrets(&secretDiscoveryServiceStreamSecretsServer{stream}) } type SecretDiscoveryService_StreamSecretsServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type secretDiscoveryServiceStreamSecretsServer struct { grpc.ServerStream } func (x *secretDiscoveryServiceStreamSecretsServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *secretDiscoveryServiceStreamSecretsServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _SecretDiscoveryService_FetchSecrets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(SecretDiscoveryServiceServer).FetchSecrets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.secret.v3.SecretDiscoveryService/FetchSecrets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SecretDiscoveryServiceServer).FetchSecrets(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _SecretDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.secret.v3.SecretDiscoveryService", HandlerType: (*SecretDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchSecrets", Handler: _SecretDiscoveryService_FetchSecrets_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "DeltaSecrets", Handler: _SecretDiscoveryService_DeltaSecrets_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "StreamSecrets", Handler: _SecretDiscoveryService_StreamSecrets_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/secret/v3/sds.proto", } go-control-plane-0.12.0/envoy/service/secret/v3/sds.pb.validate.go000077500000000000000000000061231454502223200247030ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/secret/v3/sds.proto package secretv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SdsDummy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *SdsDummy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SdsDummy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in SdsDummyMultiError, or nil // if none found. func (m *SdsDummy) ValidateAll() error { return m.validate(true) } func (m *SdsDummy) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return SdsDummyMultiError(errors) } return nil } // SdsDummyMultiError is an error wrapping multiple validation errors returned // by SdsDummy.ValidateAll() if the designated constraints aren't met. type SdsDummyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SdsDummyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SdsDummyMultiError) AllErrors() []error { return m } // SdsDummyValidationError is the validation error returned by // SdsDummy.Validate if the designated constraints aren't met. type SdsDummyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SdsDummyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SdsDummyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SdsDummyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SdsDummyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SdsDummyValidationError) ErrorName() string { return "SdsDummyValidationError" } // Error satisfies the builtin error interface func (e SdsDummyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSdsDummy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SdsDummyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SdsDummyValidationError{} go-control-plane-0.12.0/envoy/service/status/000077500000000000000000000000001454502223200210745ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/status/v2/000077500000000000000000000000001454502223200214235ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/status/v2/csds.pb.go000077500000000000000000000756701454502223200233300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/status/v2/csds.proto package statusv2 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v2alpha "github.com/envoyproxy/go-control-plane/envoy/admin/v2alpha" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Status of a config. type ConfigStatus int32 const ( // Status info is not available/unknown. ConfigStatus_UNKNOWN ConfigStatus = 0 // Management server has sent the config to client and received ACK. ConfigStatus_SYNCED ConfigStatus = 1 // Config is not sent. ConfigStatus_NOT_SENT ConfigStatus = 2 // Management server has sent the config to client but hasn’t received // ACK/NACK. ConfigStatus_STALE ConfigStatus = 3 // Management server has sent the config to client but received NACK. ConfigStatus_ERROR ConfigStatus = 4 ) // Enum value maps for ConfigStatus. var ( ConfigStatus_name = map[int32]string{ 0: "UNKNOWN", 1: "SYNCED", 2: "NOT_SENT", 3: "STALE", 4: "ERROR", } ConfigStatus_value = map[string]int32{ "UNKNOWN": 0, "SYNCED": 1, "NOT_SENT": 2, "STALE": 3, "ERROR": 4, } ) func (x ConfigStatus) Enum() *ConfigStatus { p := new(ConfigStatus) *p = x return p } func (x ConfigStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ConfigStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_status_v2_csds_proto_enumTypes[0].Descriptor() } func (ConfigStatus) Type() protoreflect.EnumType { return &file_envoy_service_status_v2_csds_proto_enumTypes[0] } func (x ConfigStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ConfigStatus.Descriptor instead. func (ConfigStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_service_status_v2_csds_proto_rawDescGZIP(), []int{0} } // Request for client status of clients identified by a list of NodeMatchers. type ClientStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Management server can use these match criteria to identify clients. // The match follows OR semantics. NodeMatchers []*matcher.NodeMatcher `protobuf:"bytes,1,rep,name=node_matchers,json=nodeMatchers,proto3" json:"node_matchers,omitempty"` } func (x *ClientStatusRequest) Reset() { *x = ClientStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientStatusRequest) ProtoMessage() {} func (x *ClientStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientStatusRequest.ProtoReflect.Descriptor instead. func (*ClientStatusRequest) Descriptor() ([]byte, []int) { return file_envoy_service_status_v2_csds_proto_rawDescGZIP(), []int{0} } func (x *ClientStatusRequest) GetNodeMatchers() []*matcher.NodeMatcher { if x != nil { return x.NodeMatchers } return nil } // Detailed config (per xDS) with status. // [#next-free-field: 6] type PerXdsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status ConfigStatus `protobuf:"varint,1,opt,name=status,proto3,enum=envoy.service.status.v2.ConfigStatus" json:"status,omitempty"` // Types that are assignable to PerXdsConfig: // // *PerXdsConfig_ListenerConfig // *PerXdsConfig_ClusterConfig // *PerXdsConfig_RouteConfig // *PerXdsConfig_ScopedRouteConfig PerXdsConfig isPerXdsConfig_PerXdsConfig `protobuf_oneof:"per_xds_config"` } func (x *PerXdsConfig) Reset() { *x = PerXdsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerXdsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerXdsConfig) ProtoMessage() {} func (x *PerXdsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerXdsConfig.ProtoReflect.Descriptor instead. func (*PerXdsConfig) Descriptor() ([]byte, []int) { return file_envoy_service_status_v2_csds_proto_rawDescGZIP(), []int{1} } func (x *PerXdsConfig) GetStatus() ConfigStatus { if x != nil { return x.Status } return ConfigStatus_UNKNOWN } func (m *PerXdsConfig) GetPerXdsConfig() isPerXdsConfig_PerXdsConfig { if m != nil { return m.PerXdsConfig } return nil } func (x *PerXdsConfig) GetListenerConfig() *v2alpha.ListenersConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ListenerConfig); ok { return x.ListenerConfig } return nil } func (x *PerXdsConfig) GetClusterConfig() *v2alpha.ClustersConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ClusterConfig); ok { return x.ClusterConfig } return nil } func (x *PerXdsConfig) GetRouteConfig() *v2alpha.RoutesConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_RouteConfig); ok { return x.RouteConfig } return nil } func (x *PerXdsConfig) GetScopedRouteConfig() *v2alpha.ScopedRoutesConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ScopedRouteConfig); ok { return x.ScopedRouteConfig } return nil } type isPerXdsConfig_PerXdsConfig interface { isPerXdsConfig_PerXdsConfig() } type PerXdsConfig_ListenerConfig struct { ListenerConfig *v2alpha.ListenersConfigDump `protobuf:"bytes,2,opt,name=listener_config,json=listenerConfig,proto3,oneof"` } type PerXdsConfig_ClusterConfig struct { ClusterConfig *v2alpha.ClustersConfigDump `protobuf:"bytes,3,opt,name=cluster_config,json=clusterConfig,proto3,oneof"` } type PerXdsConfig_RouteConfig struct { RouteConfig *v2alpha.RoutesConfigDump `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } type PerXdsConfig_ScopedRouteConfig struct { ScopedRouteConfig *v2alpha.ScopedRoutesConfigDump `protobuf:"bytes,5,opt,name=scoped_route_config,json=scopedRouteConfig,proto3,oneof"` } func (*PerXdsConfig_ListenerConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_ClusterConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_RouteConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_ScopedRouteConfig) isPerXdsConfig_PerXdsConfig() {} // All xds configs for a particular client. type ClientConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node for a particular client. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` XdsConfig []*PerXdsConfig `protobuf:"bytes,2,rep,name=xds_config,json=xdsConfig,proto3" json:"xds_config,omitempty"` } func (x *ClientConfig) Reset() { *x = ClientConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientConfig) ProtoMessage() {} func (x *ClientConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead. func (*ClientConfig) Descriptor() ([]byte, []int) { return file_envoy_service_status_v2_csds_proto_rawDescGZIP(), []int{2} } func (x *ClientConfig) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *ClientConfig) GetXdsConfig() []*PerXdsConfig { if x != nil { return x.XdsConfig } return nil } type ClientStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Client configs for the clients specified in the ClientStatusRequest. Config []*ClientConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` } func (x *ClientStatusResponse) Reset() { *x = ClientStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientStatusResponse) ProtoMessage() {} func (x *ClientStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v2_csds_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientStatusResponse.ProtoReflect.Descriptor instead. func (*ClientStatusResponse) Descriptor() ([]byte, []int) { return file_envoy_service_status_v2_csds_proto_rawDescGZIP(), []int{3} } func (x *ClientStatusResponse) GetConfig() []*ClientConfig { if x != nil { return x.Config } return nil } var File_envoy_service_status_v2_csds_proto protoreflect.FileDescriptor var file_envoy_service_status_v2_csds_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x73, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x22, 0xb1, 0x03, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x13, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x5f, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x81, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x78, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x55, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x4b, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xb2, 0x02, 0x0a, 0x1c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x43, 0x73, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_status_v2_csds_proto_rawDescOnce sync.Once file_envoy_service_status_v2_csds_proto_rawDescData = file_envoy_service_status_v2_csds_proto_rawDesc ) func file_envoy_service_status_v2_csds_proto_rawDescGZIP() []byte { file_envoy_service_status_v2_csds_proto_rawDescOnce.Do(func() { file_envoy_service_status_v2_csds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_status_v2_csds_proto_rawDescData) }) return file_envoy_service_status_v2_csds_proto_rawDescData } var file_envoy_service_status_v2_csds_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_service_status_v2_csds_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_service_status_v2_csds_proto_goTypes = []interface{}{ (ConfigStatus)(0), // 0: envoy.service.status.v2.ConfigStatus (*ClientStatusRequest)(nil), // 1: envoy.service.status.v2.ClientStatusRequest (*PerXdsConfig)(nil), // 2: envoy.service.status.v2.PerXdsConfig (*ClientConfig)(nil), // 3: envoy.service.status.v2.ClientConfig (*ClientStatusResponse)(nil), // 4: envoy.service.status.v2.ClientStatusResponse (*matcher.NodeMatcher)(nil), // 5: envoy.type.matcher.NodeMatcher (*v2alpha.ListenersConfigDump)(nil), // 6: envoy.admin.v2alpha.ListenersConfigDump (*v2alpha.ClustersConfigDump)(nil), // 7: envoy.admin.v2alpha.ClustersConfigDump (*v2alpha.RoutesConfigDump)(nil), // 8: envoy.admin.v2alpha.RoutesConfigDump (*v2alpha.ScopedRoutesConfigDump)(nil), // 9: envoy.admin.v2alpha.ScopedRoutesConfigDump (*core.Node)(nil), // 10: envoy.api.v2.core.Node } var file_envoy_service_status_v2_csds_proto_depIdxs = []int32{ 5, // 0: envoy.service.status.v2.ClientStatusRequest.node_matchers:type_name -> envoy.type.matcher.NodeMatcher 0, // 1: envoy.service.status.v2.PerXdsConfig.status:type_name -> envoy.service.status.v2.ConfigStatus 6, // 2: envoy.service.status.v2.PerXdsConfig.listener_config:type_name -> envoy.admin.v2alpha.ListenersConfigDump 7, // 3: envoy.service.status.v2.PerXdsConfig.cluster_config:type_name -> envoy.admin.v2alpha.ClustersConfigDump 8, // 4: envoy.service.status.v2.PerXdsConfig.route_config:type_name -> envoy.admin.v2alpha.RoutesConfigDump 9, // 5: envoy.service.status.v2.PerXdsConfig.scoped_route_config:type_name -> envoy.admin.v2alpha.ScopedRoutesConfigDump 10, // 6: envoy.service.status.v2.ClientConfig.node:type_name -> envoy.api.v2.core.Node 2, // 7: envoy.service.status.v2.ClientConfig.xds_config:type_name -> envoy.service.status.v2.PerXdsConfig 3, // 8: envoy.service.status.v2.ClientStatusResponse.config:type_name -> envoy.service.status.v2.ClientConfig 1, // 9: envoy.service.status.v2.ClientStatusDiscoveryService.StreamClientStatus:input_type -> envoy.service.status.v2.ClientStatusRequest 1, // 10: envoy.service.status.v2.ClientStatusDiscoveryService.FetchClientStatus:input_type -> envoy.service.status.v2.ClientStatusRequest 4, // 11: envoy.service.status.v2.ClientStatusDiscoveryService.StreamClientStatus:output_type -> envoy.service.status.v2.ClientStatusResponse 4, // 12: envoy.service.status.v2.ClientStatusDiscoveryService.FetchClientStatus:output_type -> envoy.service.status.v2.ClientStatusResponse 11, // [11:13] is the sub-list for method output_type 9, // [9:11] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_envoy_service_status_v2_csds_proto_init() } func file_envoy_service_status_v2_csds_proto_init() { if File_envoy_service_status_v2_csds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_status_v2_csds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v2_csds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerXdsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v2_csds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v2_csds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_status_v2_csds_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PerXdsConfig_ListenerConfig)(nil), (*PerXdsConfig_ClusterConfig)(nil), (*PerXdsConfig_RouteConfig)(nil), (*PerXdsConfig_ScopedRouteConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_status_v2_csds_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_status_v2_csds_proto_goTypes, DependencyIndexes: file_envoy_service_status_v2_csds_proto_depIdxs, EnumInfos: file_envoy_service_status_v2_csds_proto_enumTypes, MessageInfos: file_envoy_service_status_v2_csds_proto_msgTypes, }.Build() File_envoy_service_status_v2_csds_proto = out.File file_envoy_service_status_v2_csds_proto_rawDesc = nil file_envoy_service_status_v2_csds_proto_goTypes = nil file_envoy_service_status_v2_csds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ClientStatusDiscoveryServiceClient is the client API for ClientStatusDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ClientStatusDiscoveryServiceClient interface { StreamClientStatus(ctx context.Context, opts ...grpc.CallOption) (ClientStatusDiscoveryService_StreamClientStatusClient, error) FetchClientStatus(ctx context.Context, in *ClientStatusRequest, opts ...grpc.CallOption) (*ClientStatusResponse, error) } type clientStatusDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewClientStatusDiscoveryServiceClient(cc grpc.ClientConnInterface) ClientStatusDiscoveryServiceClient { return &clientStatusDiscoveryServiceClient{cc} } func (c *clientStatusDiscoveryServiceClient) StreamClientStatus(ctx context.Context, opts ...grpc.CallOption) (ClientStatusDiscoveryService_StreamClientStatusClient, error) { stream, err := c.cc.NewStream(ctx, &_ClientStatusDiscoveryService_serviceDesc.Streams[0], "/envoy.service.status.v2.ClientStatusDiscoveryService/StreamClientStatus", opts...) if err != nil { return nil, err } x := &clientStatusDiscoveryServiceStreamClientStatusClient{stream} return x, nil } type ClientStatusDiscoveryService_StreamClientStatusClient interface { Send(*ClientStatusRequest) error Recv() (*ClientStatusResponse, error) grpc.ClientStream } type clientStatusDiscoveryServiceStreamClientStatusClient struct { grpc.ClientStream } func (x *clientStatusDiscoveryServiceStreamClientStatusClient) Send(m *ClientStatusRequest) error { return x.ClientStream.SendMsg(m) } func (x *clientStatusDiscoveryServiceStreamClientStatusClient) Recv() (*ClientStatusResponse, error) { m := new(ClientStatusResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clientStatusDiscoveryServiceClient) FetchClientStatus(ctx context.Context, in *ClientStatusRequest, opts ...grpc.CallOption) (*ClientStatusResponse, error) { out := new(ClientStatusResponse) err := c.cc.Invoke(ctx, "/envoy.service.status.v2.ClientStatusDiscoveryService/FetchClientStatus", in, out, opts...) if err != nil { return nil, err } return out, nil } // ClientStatusDiscoveryServiceServer is the server API for ClientStatusDiscoveryService service. type ClientStatusDiscoveryServiceServer interface { StreamClientStatus(ClientStatusDiscoveryService_StreamClientStatusServer) error FetchClientStatus(context.Context, *ClientStatusRequest) (*ClientStatusResponse, error) } // UnimplementedClientStatusDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedClientStatusDiscoveryServiceServer struct { } func (*UnimplementedClientStatusDiscoveryServiceServer) StreamClientStatus(ClientStatusDiscoveryService_StreamClientStatusServer) error { return status.Errorf(codes.Unimplemented, "method StreamClientStatus not implemented") } func (*UnimplementedClientStatusDiscoveryServiceServer) FetchClientStatus(context.Context, *ClientStatusRequest) (*ClientStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchClientStatus not implemented") } func RegisterClientStatusDiscoveryServiceServer(s *grpc.Server, srv ClientStatusDiscoveryServiceServer) { s.RegisterService(&_ClientStatusDiscoveryService_serviceDesc, srv) } func _ClientStatusDiscoveryService_StreamClientStatus_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClientStatusDiscoveryServiceServer).StreamClientStatus(&clientStatusDiscoveryServiceStreamClientStatusServer{stream}) } type ClientStatusDiscoveryService_StreamClientStatusServer interface { Send(*ClientStatusResponse) error Recv() (*ClientStatusRequest, error) grpc.ServerStream } type clientStatusDiscoveryServiceStreamClientStatusServer struct { grpc.ServerStream } func (x *clientStatusDiscoveryServiceStreamClientStatusServer) Send(m *ClientStatusResponse) error { return x.ServerStream.SendMsg(m) } func (x *clientStatusDiscoveryServiceStreamClientStatusServer) Recv() (*ClientStatusRequest, error) { m := new(ClientStatusRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClientStatusDiscoveryService_FetchClientStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ClientStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ClientStatusDiscoveryServiceServer).FetchClientStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.status.v2.ClientStatusDiscoveryService/FetchClientStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ClientStatusDiscoveryServiceServer).FetchClientStatus(ctx, req.(*ClientStatusRequest)) } return interceptor(ctx, in, info, handler) } var _ClientStatusDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.status.v2.ClientStatusDiscoveryService", HandlerType: (*ClientStatusDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchClientStatus", Handler: _ClientStatusDiscoveryService_FetchClientStatus_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamClientStatus", Handler: _ClientStatusDiscoveryService_StreamClientStatus_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/status/v2/csds.proto", } go-control-plane-0.12.0/envoy/service/status/v2/csds.pb.validate.go000077500000000000000000000471051454502223200251100ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/status/v2/csds.proto package statusv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ClientStatusRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientStatusRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientStatusRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClientStatusRequestMultiError, or nil if none found. func (m *ClientStatusRequest) ValidateAll() error { return m.validate(true) } func (m *ClientStatusRequest) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetNodeMatchers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientStatusRequestMultiError(errors) } return nil } // ClientStatusRequestMultiError is an error wrapping multiple validation // errors returned by ClientStatusRequest.ValidateAll() if the designated // constraints aren't met. type ClientStatusRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientStatusRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientStatusRequestMultiError) AllErrors() []error { return m } // ClientStatusRequestValidationError is the validation error returned by // ClientStatusRequest.Validate if the designated constraints aren't met. type ClientStatusRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientStatusRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientStatusRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientStatusRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientStatusRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientStatusRequestValidationError) ErrorName() string { return "ClientStatusRequestValidationError" } // Error satisfies the builtin error interface func (e ClientStatusRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientStatusRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientStatusRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientStatusRequestValidationError{} // Validate checks the field values on PerXdsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerXdsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerXdsConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerXdsConfigMultiError, or // nil if none found. func (m *PerXdsConfig) ValidateAll() error { return m.validate(true) } func (m *PerXdsConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Status switch v := m.PerXdsConfig.(type) { case *PerXdsConfig_ListenerConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetListenerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListenerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_ClusterConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClusterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_RouteConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_ScopedRouteConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopedRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PerXdsConfigMultiError(errors) } return nil } // PerXdsConfigMultiError is an error wrapping multiple validation errors // returned by PerXdsConfig.ValidateAll() if the designated constraints aren't met. type PerXdsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerXdsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerXdsConfigMultiError) AllErrors() []error { return m } // PerXdsConfigValidationError is the validation error returned by // PerXdsConfig.Validate if the designated constraints aren't met. type PerXdsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerXdsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerXdsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerXdsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerXdsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerXdsConfigValidationError) ErrorName() string { return "PerXdsConfigValidationError" } // Error satisfies the builtin error interface func (e PerXdsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerXdsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerXdsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerXdsConfigValidationError{} // Validate checks the field values on ClientConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClientConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClientConfigMultiError, or // nil if none found. func (m *ClientConfig) ValidateAll() error { return m.validate(true) } func (m *ClientConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetXdsConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientConfigMultiError(errors) } return nil } // ClientConfigMultiError is an error wrapping multiple validation errors // returned by ClientConfig.ValidateAll() if the designated constraints aren't met. type ClientConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientConfigMultiError) AllErrors() []error { return m } // ClientConfigValidationError is the validation error returned by // ClientConfig.Validate if the designated constraints aren't met. type ClientConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientConfigValidationError) ErrorName() string { return "ClientConfigValidationError" } // Error satisfies the builtin error interface func (e ClientConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientConfigValidationError{} // Validate checks the field values on ClientStatusResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientStatusResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientStatusResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClientStatusResponseMultiError, or nil if none found. func (m *ClientStatusResponse) ValidateAll() error { return m.validate(true) } func (m *ClientStatusResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientStatusResponseMultiError(errors) } return nil } // ClientStatusResponseMultiError is an error wrapping multiple validation // errors returned by ClientStatusResponse.ValidateAll() if the designated // constraints aren't met. type ClientStatusResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientStatusResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientStatusResponseMultiError) AllErrors() []error { return m } // ClientStatusResponseValidationError is the validation error returned by // ClientStatusResponse.Validate if the designated constraints aren't met. type ClientStatusResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientStatusResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientStatusResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientStatusResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientStatusResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientStatusResponseValidationError) ErrorName() string { return "ClientStatusResponseValidationError" } // Error satisfies the builtin error interface func (e ClientStatusResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientStatusResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientStatusResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientStatusResponseValidationError{} go-control-plane-0.12.0/envoy/service/status/v3/000077500000000000000000000000001454502223200214245ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/status/v3/csds.pb.go000077500000000000000000001444161454502223200233240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/status/v3/csds.proto package statusv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v32 "github.com/envoyproxy/go-control-plane/envoy/admin/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" any1 "github.com/golang/protobuf/ptypes/any" timestamp "github.com/golang/protobuf/ptypes/timestamp" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Status of a config from a management server view. type ConfigStatus int32 const ( // Status info is not available/unknown. ConfigStatus_UNKNOWN ConfigStatus = 0 // Management server has sent the config to client and received ACK. ConfigStatus_SYNCED ConfigStatus = 1 // Config is not sent. ConfigStatus_NOT_SENT ConfigStatus = 2 // Management server has sent the config to client but hasn’t received // ACK/NACK. ConfigStatus_STALE ConfigStatus = 3 // Management server has sent the config to client but received NACK. The // attached config dump will be the latest config (the rejected one), since // it is the persisted version in the management server. ConfigStatus_ERROR ConfigStatus = 4 ) // Enum value maps for ConfigStatus. var ( ConfigStatus_name = map[int32]string{ 0: "UNKNOWN", 1: "SYNCED", 2: "NOT_SENT", 3: "STALE", 4: "ERROR", } ConfigStatus_value = map[string]int32{ "UNKNOWN": 0, "SYNCED": 1, "NOT_SENT": 2, "STALE": 3, "ERROR": 4, } ) func (x ConfigStatus) Enum() *ConfigStatus { p := new(ConfigStatus) *p = x return p } func (x ConfigStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ConfigStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_status_v3_csds_proto_enumTypes[0].Descriptor() } func (ConfigStatus) Type() protoreflect.EnumType { return &file_envoy_service_status_v3_csds_proto_enumTypes[0] } func (x ConfigStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ConfigStatus.Descriptor instead. func (ConfigStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{0} } // Config status from a client-side view. type ClientConfigStatus int32 const ( // Config status is not available/unknown. ClientConfigStatus_CLIENT_UNKNOWN ClientConfigStatus = 0 // Client requested the config but hasn't received any config from management // server yet. ClientConfigStatus_CLIENT_REQUESTED ClientConfigStatus = 1 // Client received the config and replied with ACK. ClientConfigStatus_CLIENT_ACKED ClientConfigStatus = 2 // Client received the config and replied with NACK. Notably, the attached // config dump is not the NACKed version, but the most recent accepted one. If // no config is accepted yet, the attached config dump will be empty. ClientConfigStatus_CLIENT_NACKED ClientConfigStatus = 3 ) // Enum value maps for ClientConfigStatus. var ( ClientConfigStatus_name = map[int32]string{ 0: "CLIENT_UNKNOWN", 1: "CLIENT_REQUESTED", 2: "CLIENT_ACKED", 3: "CLIENT_NACKED", } ClientConfigStatus_value = map[string]int32{ "CLIENT_UNKNOWN": 0, "CLIENT_REQUESTED": 1, "CLIENT_ACKED": 2, "CLIENT_NACKED": 3, } ) func (x ClientConfigStatus) Enum() *ClientConfigStatus { p := new(ClientConfigStatus) *p = x return p } func (x ClientConfigStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ClientConfigStatus) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_status_v3_csds_proto_enumTypes[1].Descriptor() } func (ClientConfigStatus) Type() protoreflect.EnumType { return &file_envoy_service_status_v3_csds_proto_enumTypes[1] } func (x ClientConfigStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ClientConfigStatus.Descriptor instead. func (ClientConfigStatus) EnumDescriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{1} } // Request for client status of clients identified by a list of NodeMatchers. type ClientStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Management server can use these match criteria to identify clients. // The match follows OR semantics. NodeMatchers []*v3.NodeMatcher `protobuf:"bytes,1,rep,name=node_matchers,json=nodeMatchers,proto3" json:"node_matchers,omitempty"` // The node making the csds request. Node *v31.Node `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` // If true, the server will not include the resource contents in the response // (i.e., the generic_xds_configs.xds_config field will not be populated). // [#not-implemented-hide:] ExcludeResourceContents bool `protobuf:"varint,3,opt,name=exclude_resource_contents,json=excludeResourceContents,proto3" json:"exclude_resource_contents,omitempty"` } func (x *ClientStatusRequest) Reset() { *x = ClientStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientStatusRequest) ProtoMessage() {} func (x *ClientStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientStatusRequest.ProtoReflect.Descriptor instead. func (*ClientStatusRequest) Descriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{0} } func (x *ClientStatusRequest) GetNodeMatchers() []*v3.NodeMatcher { if x != nil { return x.NodeMatchers } return nil } func (x *ClientStatusRequest) GetNode() *v31.Node { if x != nil { return x.Node } return nil } func (x *ClientStatusRequest) GetExcludeResourceContents() bool { if x != nil { return x.ExcludeResourceContents } return false } // Detailed config (per xDS) with status. // [#next-free-field: 8] type PerXdsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Config status generated by management servers. Will not be present if the // CSDS server is an xDS client. Status ConfigStatus `protobuf:"varint,1,opt,name=status,proto3,enum=envoy.service.status.v3.ConfigStatus" json:"status,omitempty"` // Client config status is populated by xDS clients. Will not be present if // the CSDS server is an xDS server. No matter what the client config status // is, xDS clients should always dump the most recent accepted xDS config. // // .. attention:: // // This field is deprecated. Use :ref:`ClientResourceStatus // ` for per-resource // config status instead. // // Deprecated: Marked as deprecated in envoy/service/status/v3/csds.proto. ClientStatus ClientConfigStatus `protobuf:"varint,7,opt,name=client_status,json=clientStatus,proto3,enum=envoy.service.status.v3.ClientConfigStatus" json:"client_status,omitempty"` // Types that are assignable to PerXdsConfig: // // *PerXdsConfig_ListenerConfig // *PerXdsConfig_ClusterConfig // *PerXdsConfig_RouteConfig // *PerXdsConfig_ScopedRouteConfig // *PerXdsConfig_EndpointConfig PerXdsConfig isPerXdsConfig_PerXdsConfig `protobuf_oneof:"per_xds_config"` } func (x *PerXdsConfig) Reset() { *x = PerXdsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PerXdsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*PerXdsConfig) ProtoMessage() {} func (x *PerXdsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PerXdsConfig.ProtoReflect.Descriptor instead. func (*PerXdsConfig) Descriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{1} } func (x *PerXdsConfig) GetStatus() ConfigStatus { if x != nil { return x.Status } return ConfigStatus_UNKNOWN } // Deprecated: Marked as deprecated in envoy/service/status/v3/csds.proto. func (x *PerXdsConfig) GetClientStatus() ClientConfigStatus { if x != nil { return x.ClientStatus } return ClientConfigStatus_CLIENT_UNKNOWN } func (m *PerXdsConfig) GetPerXdsConfig() isPerXdsConfig_PerXdsConfig { if m != nil { return m.PerXdsConfig } return nil } func (x *PerXdsConfig) GetListenerConfig() *v32.ListenersConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ListenerConfig); ok { return x.ListenerConfig } return nil } func (x *PerXdsConfig) GetClusterConfig() *v32.ClustersConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ClusterConfig); ok { return x.ClusterConfig } return nil } func (x *PerXdsConfig) GetRouteConfig() *v32.RoutesConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_RouteConfig); ok { return x.RouteConfig } return nil } func (x *PerXdsConfig) GetScopedRouteConfig() *v32.ScopedRoutesConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_ScopedRouteConfig); ok { return x.ScopedRouteConfig } return nil } func (x *PerXdsConfig) GetEndpointConfig() *v32.EndpointsConfigDump { if x, ok := x.GetPerXdsConfig().(*PerXdsConfig_EndpointConfig); ok { return x.EndpointConfig } return nil } type isPerXdsConfig_PerXdsConfig interface { isPerXdsConfig_PerXdsConfig() } type PerXdsConfig_ListenerConfig struct { ListenerConfig *v32.ListenersConfigDump `protobuf:"bytes,2,opt,name=listener_config,json=listenerConfig,proto3,oneof"` } type PerXdsConfig_ClusterConfig struct { ClusterConfig *v32.ClustersConfigDump `protobuf:"bytes,3,opt,name=cluster_config,json=clusterConfig,proto3,oneof"` } type PerXdsConfig_RouteConfig struct { RouteConfig *v32.RoutesConfigDump `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } type PerXdsConfig_ScopedRouteConfig struct { ScopedRouteConfig *v32.ScopedRoutesConfigDump `protobuf:"bytes,5,opt,name=scoped_route_config,json=scopedRouteConfig,proto3,oneof"` } type PerXdsConfig_EndpointConfig struct { EndpointConfig *v32.EndpointsConfigDump `protobuf:"bytes,6,opt,name=endpoint_config,json=endpointConfig,proto3,oneof"` } func (*PerXdsConfig_ListenerConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_ClusterConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_RouteConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_ScopedRouteConfig) isPerXdsConfig_PerXdsConfig() {} func (*PerXdsConfig_EndpointConfig) isPerXdsConfig_PerXdsConfig() {} // All xds configs for a particular client. type ClientConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Node for a particular client. Node *v31.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // This field is deprecated in favor of generic_xds_configs which is // much simpler and uniform in structure. // // Deprecated: Marked as deprecated in envoy/service/status/v3/csds.proto. XdsConfig []*PerXdsConfig `protobuf:"bytes,2,rep,name=xds_config,json=xdsConfig,proto3" json:"xds_config,omitempty"` // Represents generic xDS config and the exact config structure depends on // the type URL (like Cluster if it is CDS) GenericXdsConfigs []*ClientConfig_GenericXdsConfig `protobuf:"bytes,3,rep,name=generic_xds_configs,json=genericXdsConfigs,proto3" json:"generic_xds_configs,omitempty"` } func (x *ClientConfig) Reset() { *x = ClientConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientConfig) ProtoMessage() {} func (x *ClientConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead. func (*ClientConfig) Descriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{2} } func (x *ClientConfig) GetNode() *v31.Node { if x != nil { return x.Node } return nil } // Deprecated: Marked as deprecated in envoy/service/status/v3/csds.proto. func (x *ClientConfig) GetXdsConfig() []*PerXdsConfig { if x != nil { return x.XdsConfig } return nil } func (x *ClientConfig) GetGenericXdsConfigs() []*ClientConfig_GenericXdsConfig { if x != nil { return x.GenericXdsConfigs } return nil } type ClientStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Client configs for the clients specified in the ClientStatusRequest. Config []*ClientConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` } func (x *ClientStatusResponse) Reset() { *x = ClientStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientStatusResponse) ProtoMessage() {} func (x *ClientStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientStatusResponse.ProtoReflect.Descriptor instead. func (*ClientStatusResponse) Descriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{3} } func (x *ClientStatusResponse) GetConfig() []*ClientConfig { if x != nil { return x.Config } return nil } // GenericXdsConfig is used to specify the config status and the dump // of any xDS resource identified by their type URL. It is the generalized // version of the now deprecated ListenersConfigDump, ClustersConfigDump etc // [#next-free-field: 10] type ClientConfig_GenericXdsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Type_url represents the fully qualified name of xDS resource type // like envoy.v3.Cluster, envoy.v3.ClusterLoadAssignment etc. TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // Name of the xDS resource Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // This is the :ref:`version_info ` // in the last processed xDS discovery response. If there are only // static bootstrap listeners, this field will be "" VersionInfo string `protobuf:"bytes,3,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` // The xDS resource config. Actual content depends on the type XdsConfig *any1.Any `protobuf:"bytes,4,opt,name=xds_config,json=xdsConfig,proto3" json:"xds_config,omitempty"` // Timestamp when the xDS resource was last updated LastUpdated *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Per xDS resource config status. It is generated by management servers. // It will not be present if the CSDS server is an xDS client. ConfigStatus ConfigStatus `protobuf:"varint,6,opt,name=config_status,json=configStatus,proto3,enum=envoy.service.status.v3.ConfigStatus" json:"config_status,omitempty"` // Per xDS resource status from the view of a xDS client ClientStatus v32.ClientResourceStatus `protobuf:"varint,7,opt,name=client_status,json=clientStatus,proto3,enum=envoy.admin.v3.ClientResourceStatus" json:"client_status,omitempty"` // Set if the last update failed, cleared after the next successful // update. The *error_state* field contains the rejected version of // this particular resource along with the reason and timestamp. For // successfully updated or acknowledged resource, this field should // be empty. // [#not-implemented-hide:] ErrorState *v32.UpdateFailureState `protobuf:"bytes,8,opt,name=error_state,json=errorState,proto3" json:"error_state,omitempty"` // Is static resource is true if it is specified in the config supplied // through the file at the startup. IsStaticResource bool `protobuf:"varint,9,opt,name=is_static_resource,json=isStaticResource,proto3" json:"is_static_resource,omitempty"` } func (x *ClientConfig_GenericXdsConfig) Reset() { *x = ClientConfig_GenericXdsConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientConfig_GenericXdsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientConfig_GenericXdsConfig) ProtoMessage() {} func (x *ClientConfig_GenericXdsConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_status_v3_csds_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientConfig_GenericXdsConfig.ProtoReflect.Descriptor instead. func (*ClientConfig_GenericXdsConfig) Descriptor() ([]byte, []int) { return file_envoy_service_status_v3_csds_proto_rawDescGZIP(), []int{2, 0} } func (x *ClientConfig_GenericXdsConfig) GetTypeUrl() string { if x != nil { return x.TypeUrl } return "" } func (x *ClientConfig_GenericXdsConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *ClientConfig_GenericXdsConfig) GetVersionInfo() string { if x != nil { return x.VersionInfo } return "" } func (x *ClientConfig_GenericXdsConfig) GetXdsConfig() *any1.Any { if x != nil { return x.XdsConfig } return nil } func (x *ClientConfig_GenericXdsConfig) GetLastUpdated() *timestamp.Timestamp { if x != nil { return x.LastUpdated } return nil } func (x *ClientConfig_GenericXdsConfig) GetConfigStatus() ConfigStatus { if x != nil { return x.ConfigStatus } return ConfigStatus_UNKNOWN } func (x *ClientConfig_GenericXdsConfig) GetClientStatus() v32.ClientResourceStatus { if x != nil { return x.ClientStatus } return v32.ClientResourceStatus(0) } func (x *ClientConfig_GenericXdsConfig) GetErrorState() *v32.UpdateFailureState { if x != nil { return x.ErrorState } return nil } func (x *ClientConfig_GenericXdsConfig) GetIsStaticResource() bool { if x != nil { return x.IsStaticResource } return false } var File_envoy_service_status_v3_csds_proto protoreflect.FileDescriptor var file_envoy_service_status_v3_csds_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x73, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf9, 0x04, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4e, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x13, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x75, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x5f, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8b, 0x06, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x09, 0x78, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xe2, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x0a, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x78, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x4b, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x63, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x32, 0xb2, 0x02, 0x0a, 0x1c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x85, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x43, 0x73, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_status_v3_csds_proto_rawDescOnce sync.Once file_envoy_service_status_v3_csds_proto_rawDescData = file_envoy_service_status_v3_csds_proto_rawDesc ) func file_envoy_service_status_v3_csds_proto_rawDescGZIP() []byte { file_envoy_service_status_v3_csds_proto_rawDescOnce.Do(func() { file_envoy_service_status_v3_csds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_status_v3_csds_proto_rawDescData) }) return file_envoy_service_status_v3_csds_proto_rawDescData } var file_envoy_service_status_v3_csds_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_service_status_v3_csds_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_service_status_v3_csds_proto_goTypes = []interface{}{ (ConfigStatus)(0), // 0: envoy.service.status.v3.ConfigStatus (ClientConfigStatus)(0), // 1: envoy.service.status.v3.ClientConfigStatus (*ClientStatusRequest)(nil), // 2: envoy.service.status.v3.ClientStatusRequest (*PerXdsConfig)(nil), // 3: envoy.service.status.v3.PerXdsConfig (*ClientConfig)(nil), // 4: envoy.service.status.v3.ClientConfig (*ClientStatusResponse)(nil), // 5: envoy.service.status.v3.ClientStatusResponse (*ClientConfig_GenericXdsConfig)(nil), // 6: envoy.service.status.v3.ClientConfig.GenericXdsConfig (*v3.NodeMatcher)(nil), // 7: envoy.type.matcher.v3.NodeMatcher (*v31.Node)(nil), // 8: envoy.config.core.v3.Node (*v32.ListenersConfigDump)(nil), // 9: envoy.admin.v3.ListenersConfigDump (*v32.ClustersConfigDump)(nil), // 10: envoy.admin.v3.ClustersConfigDump (*v32.RoutesConfigDump)(nil), // 11: envoy.admin.v3.RoutesConfigDump (*v32.ScopedRoutesConfigDump)(nil), // 12: envoy.admin.v3.ScopedRoutesConfigDump (*v32.EndpointsConfigDump)(nil), // 13: envoy.admin.v3.EndpointsConfigDump (*any1.Any)(nil), // 14: google.protobuf.Any (*timestamp.Timestamp)(nil), // 15: google.protobuf.Timestamp (v32.ClientResourceStatus)(0), // 16: envoy.admin.v3.ClientResourceStatus (*v32.UpdateFailureState)(nil), // 17: envoy.admin.v3.UpdateFailureState } var file_envoy_service_status_v3_csds_proto_depIdxs = []int32{ 7, // 0: envoy.service.status.v3.ClientStatusRequest.node_matchers:type_name -> envoy.type.matcher.v3.NodeMatcher 8, // 1: envoy.service.status.v3.ClientStatusRequest.node:type_name -> envoy.config.core.v3.Node 0, // 2: envoy.service.status.v3.PerXdsConfig.status:type_name -> envoy.service.status.v3.ConfigStatus 1, // 3: envoy.service.status.v3.PerXdsConfig.client_status:type_name -> envoy.service.status.v3.ClientConfigStatus 9, // 4: envoy.service.status.v3.PerXdsConfig.listener_config:type_name -> envoy.admin.v3.ListenersConfigDump 10, // 5: envoy.service.status.v3.PerXdsConfig.cluster_config:type_name -> envoy.admin.v3.ClustersConfigDump 11, // 6: envoy.service.status.v3.PerXdsConfig.route_config:type_name -> envoy.admin.v3.RoutesConfigDump 12, // 7: envoy.service.status.v3.PerXdsConfig.scoped_route_config:type_name -> envoy.admin.v3.ScopedRoutesConfigDump 13, // 8: envoy.service.status.v3.PerXdsConfig.endpoint_config:type_name -> envoy.admin.v3.EndpointsConfigDump 8, // 9: envoy.service.status.v3.ClientConfig.node:type_name -> envoy.config.core.v3.Node 3, // 10: envoy.service.status.v3.ClientConfig.xds_config:type_name -> envoy.service.status.v3.PerXdsConfig 6, // 11: envoy.service.status.v3.ClientConfig.generic_xds_configs:type_name -> envoy.service.status.v3.ClientConfig.GenericXdsConfig 4, // 12: envoy.service.status.v3.ClientStatusResponse.config:type_name -> envoy.service.status.v3.ClientConfig 14, // 13: envoy.service.status.v3.ClientConfig.GenericXdsConfig.xds_config:type_name -> google.protobuf.Any 15, // 14: envoy.service.status.v3.ClientConfig.GenericXdsConfig.last_updated:type_name -> google.protobuf.Timestamp 0, // 15: envoy.service.status.v3.ClientConfig.GenericXdsConfig.config_status:type_name -> envoy.service.status.v3.ConfigStatus 16, // 16: envoy.service.status.v3.ClientConfig.GenericXdsConfig.client_status:type_name -> envoy.admin.v3.ClientResourceStatus 17, // 17: envoy.service.status.v3.ClientConfig.GenericXdsConfig.error_state:type_name -> envoy.admin.v3.UpdateFailureState 2, // 18: envoy.service.status.v3.ClientStatusDiscoveryService.StreamClientStatus:input_type -> envoy.service.status.v3.ClientStatusRequest 2, // 19: envoy.service.status.v3.ClientStatusDiscoveryService.FetchClientStatus:input_type -> envoy.service.status.v3.ClientStatusRequest 5, // 20: envoy.service.status.v3.ClientStatusDiscoveryService.StreamClientStatus:output_type -> envoy.service.status.v3.ClientStatusResponse 5, // 21: envoy.service.status.v3.ClientStatusDiscoveryService.FetchClientStatus:output_type -> envoy.service.status.v3.ClientStatusResponse 20, // [20:22] is the sub-list for method output_type 18, // [18:20] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name } func init() { file_envoy_service_status_v3_csds_proto_init() } func file_envoy_service_status_v3_csds_proto_init() { if File_envoy_service_status_v3_csds_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_status_v3_csds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v3_csds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerXdsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v3_csds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v3_csds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_status_v3_csds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientConfig_GenericXdsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_status_v3_csds_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PerXdsConfig_ListenerConfig)(nil), (*PerXdsConfig_ClusterConfig)(nil), (*PerXdsConfig_RouteConfig)(nil), (*PerXdsConfig_ScopedRouteConfig)(nil), (*PerXdsConfig_EndpointConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_status_v3_csds_proto_rawDesc, NumEnums: 2, NumMessages: 5, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_status_v3_csds_proto_goTypes, DependencyIndexes: file_envoy_service_status_v3_csds_proto_depIdxs, EnumInfos: file_envoy_service_status_v3_csds_proto_enumTypes, MessageInfos: file_envoy_service_status_v3_csds_proto_msgTypes, }.Build() File_envoy_service_status_v3_csds_proto = out.File file_envoy_service_status_v3_csds_proto_rawDesc = nil file_envoy_service_status_v3_csds_proto_goTypes = nil file_envoy_service_status_v3_csds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ClientStatusDiscoveryServiceClient is the client API for ClientStatusDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ClientStatusDiscoveryServiceClient interface { StreamClientStatus(ctx context.Context, opts ...grpc.CallOption) (ClientStatusDiscoveryService_StreamClientStatusClient, error) FetchClientStatus(ctx context.Context, in *ClientStatusRequest, opts ...grpc.CallOption) (*ClientStatusResponse, error) } type clientStatusDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewClientStatusDiscoveryServiceClient(cc grpc.ClientConnInterface) ClientStatusDiscoveryServiceClient { return &clientStatusDiscoveryServiceClient{cc} } func (c *clientStatusDiscoveryServiceClient) StreamClientStatus(ctx context.Context, opts ...grpc.CallOption) (ClientStatusDiscoveryService_StreamClientStatusClient, error) { stream, err := c.cc.NewStream(ctx, &_ClientStatusDiscoveryService_serviceDesc.Streams[0], "/envoy.service.status.v3.ClientStatusDiscoveryService/StreamClientStatus", opts...) if err != nil { return nil, err } x := &clientStatusDiscoveryServiceStreamClientStatusClient{stream} return x, nil } type ClientStatusDiscoveryService_StreamClientStatusClient interface { Send(*ClientStatusRequest) error Recv() (*ClientStatusResponse, error) grpc.ClientStream } type clientStatusDiscoveryServiceStreamClientStatusClient struct { grpc.ClientStream } func (x *clientStatusDiscoveryServiceStreamClientStatusClient) Send(m *ClientStatusRequest) error { return x.ClientStream.SendMsg(m) } func (x *clientStatusDiscoveryServiceStreamClientStatusClient) Recv() (*ClientStatusResponse, error) { m := new(ClientStatusResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *clientStatusDiscoveryServiceClient) FetchClientStatus(ctx context.Context, in *ClientStatusRequest, opts ...grpc.CallOption) (*ClientStatusResponse, error) { out := new(ClientStatusResponse) err := c.cc.Invoke(ctx, "/envoy.service.status.v3.ClientStatusDiscoveryService/FetchClientStatus", in, out, opts...) if err != nil { return nil, err } return out, nil } // ClientStatusDiscoveryServiceServer is the server API for ClientStatusDiscoveryService service. type ClientStatusDiscoveryServiceServer interface { StreamClientStatus(ClientStatusDiscoveryService_StreamClientStatusServer) error FetchClientStatus(context.Context, *ClientStatusRequest) (*ClientStatusResponse, error) } // UnimplementedClientStatusDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedClientStatusDiscoveryServiceServer struct { } func (*UnimplementedClientStatusDiscoveryServiceServer) StreamClientStatus(ClientStatusDiscoveryService_StreamClientStatusServer) error { return status.Errorf(codes.Unimplemented, "method StreamClientStatus not implemented") } func (*UnimplementedClientStatusDiscoveryServiceServer) FetchClientStatus(context.Context, *ClientStatusRequest) (*ClientStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchClientStatus not implemented") } func RegisterClientStatusDiscoveryServiceServer(s *grpc.Server, srv ClientStatusDiscoveryServiceServer) { s.RegisterService(&_ClientStatusDiscoveryService_serviceDesc, srv) } func _ClientStatusDiscoveryService_StreamClientStatus_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ClientStatusDiscoveryServiceServer).StreamClientStatus(&clientStatusDiscoveryServiceStreamClientStatusServer{stream}) } type ClientStatusDiscoveryService_StreamClientStatusServer interface { Send(*ClientStatusResponse) error Recv() (*ClientStatusRequest, error) grpc.ServerStream } type clientStatusDiscoveryServiceStreamClientStatusServer struct { grpc.ServerStream } func (x *clientStatusDiscoveryServiceStreamClientStatusServer) Send(m *ClientStatusResponse) error { return x.ServerStream.SendMsg(m) } func (x *clientStatusDiscoveryServiceStreamClientStatusServer) Recv() (*ClientStatusRequest, error) { m := new(ClientStatusRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _ClientStatusDiscoveryService_FetchClientStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ClientStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ClientStatusDiscoveryServiceServer).FetchClientStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/envoy.service.status.v3.ClientStatusDiscoveryService/FetchClientStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ClientStatusDiscoveryServiceServer).FetchClientStatus(ctx, req.(*ClientStatusRequest)) } return interceptor(ctx, in, info, handler) } var _ClientStatusDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.status.v3.ClientStatusDiscoveryService", HandlerType: (*ClientStatusDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchClientStatus", Handler: _ClientStatusDiscoveryService_FetchClientStatus_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamClientStatus", Handler: _ClientStatusDiscoveryService_StreamClientStatus_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "envoy/service/status/v3/csds.proto", } go-control-plane-0.12.0/envoy/service/status/v3/csds.pb.validate.go000077500000000000000000000707741454502223200251210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/status/v3/csds.proto package statusv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort _ = v3.ClientResourceStatus(0) ) // Validate checks the field values on ClientStatusRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientStatusRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientStatusRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClientStatusRequestMultiError, or nil if none found. func (m *ClientStatusRequest) ValidateAll() error { return m.validate(true) } func (m *ClientStatusRequest) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetNodeMatchers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientStatusRequestValidationError{ field: fmt.Sprintf("NodeMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientStatusRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientStatusRequestValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ExcludeResourceContents if len(errors) > 0 { return ClientStatusRequestMultiError(errors) } return nil } // ClientStatusRequestMultiError is an error wrapping multiple validation // errors returned by ClientStatusRequest.ValidateAll() if the designated // constraints aren't met. type ClientStatusRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientStatusRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientStatusRequestMultiError) AllErrors() []error { return m } // ClientStatusRequestValidationError is the validation error returned by // ClientStatusRequest.Validate if the designated constraints aren't met. type ClientStatusRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientStatusRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientStatusRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientStatusRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientStatusRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientStatusRequestValidationError) ErrorName() string { return "ClientStatusRequestValidationError" } // Error satisfies the builtin error interface func (e ClientStatusRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientStatusRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientStatusRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientStatusRequestValidationError{} // Validate checks the field values on PerXdsConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PerXdsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PerXdsConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PerXdsConfigMultiError, or // nil if none found. func (m *PerXdsConfig) ValidateAll() error { return m.validate(true) } func (m *PerXdsConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Status // no validation rules for ClientStatus switch v := m.PerXdsConfig.(type) { case *PerXdsConfig_ListenerConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetListenerConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListenerConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ListenerConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_ClusterConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetClusterConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetClusterConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ClusterConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_RouteConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "RouteConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_ScopedRouteConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetScopedRouteConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetScopedRouteConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "ScopedRouteConfig", reason: "embedded message failed validation", cause: err, } } } case *PerXdsConfig_EndpointConfig: if v == nil { err := PerXdsConfigValidationError{ field: "PerXdsConfig", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetEndpointConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PerXdsConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEndpointConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PerXdsConfigValidationError{ field: "EndpointConfig", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return PerXdsConfigMultiError(errors) } return nil } // PerXdsConfigMultiError is an error wrapping multiple validation errors // returned by PerXdsConfig.ValidateAll() if the designated constraints aren't met. type PerXdsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PerXdsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PerXdsConfigMultiError) AllErrors() []error { return m } // PerXdsConfigValidationError is the validation error returned by // PerXdsConfig.Validate if the designated constraints aren't met. type PerXdsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PerXdsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PerXdsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PerXdsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PerXdsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PerXdsConfigValidationError) ErrorName() string { return "PerXdsConfigValidationError" } // Error satisfies the builtin error interface func (e PerXdsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPerXdsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PerXdsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PerXdsConfigValidationError{} // Validate checks the field values on ClientConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ClientConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ClientConfigMultiError, or // nil if none found. func (m *ClientConfig) ValidateAll() error { return m.validate(true) } func (m *ClientConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetXdsConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: fmt.Sprintf("XdsConfig[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } for idx, item := range m.GetGenericXdsConfigs() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("GenericXdsConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfigValidationError{ field: fmt.Sprintf("GenericXdsConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfigValidationError{ field: fmt.Sprintf("GenericXdsConfigs[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientConfigMultiError(errors) } return nil } // ClientConfigMultiError is an error wrapping multiple validation errors // returned by ClientConfig.ValidateAll() if the designated constraints aren't met. type ClientConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientConfigMultiError) AllErrors() []error { return m } // ClientConfigValidationError is the validation error returned by // ClientConfig.Validate if the designated constraints aren't met. type ClientConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientConfigValidationError) ErrorName() string { return "ClientConfigValidationError" } // Error satisfies the builtin error interface func (e ClientConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientConfigValidationError{} // Validate checks the field values on ClientStatusResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientStatusResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientStatusResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ClientStatusResponseMultiError, or nil if none found. func (m *ClientStatusResponse) ValidateAll() error { return m.validate(true) } func (m *ClientStatusResponse) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetConfig() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientStatusResponseValidationError{ field: fmt.Sprintf("Config[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ClientStatusResponseMultiError(errors) } return nil } // ClientStatusResponseMultiError is an error wrapping multiple validation // errors returned by ClientStatusResponse.ValidateAll() if the designated // constraints aren't met. type ClientStatusResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientStatusResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientStatusResponseMultiError) AllErrors() []error { return m } // ClientStatusResponseValidationError is the validation error returned by // ClientStatusResponse.Validate if the designated constraints aren't met. type ClientStatusResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientStatusResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientStatusResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientStatusResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientStatusResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientStatusResponseValidationError) ErrorName() string { return "ClientStatusResponseValidationError" } // Error satisfies the builtin error interface func (e ClientStatusResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientStatusResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientStatusResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientStatusResponseValidationError{} // Validate checks the field values on ClientConfig_GenericXdsConfig with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ClientConfig_GenericXdsConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ClientConfig_GenericXdsConfig with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // ClientConfig_GenericXdsConfigMultiError, or nil if none found. func (m *ClientConfig_GenericXdsConfig) ValidateAll() error { return m.validate(true) } func (m *ClientConfig_GenericXdsConfig) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TypeUrl // no validation rules for Name // no validation rules for VersionInfo if all { switch v := interface{}(m.GetXdsConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "XdsConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "XdsConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetXdsConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfig_GenericXdsConfigValidationError{ field: "XdsConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetLastUpdated()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLastUpdated()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfig_GenericXdsConfigValidationError{ field: "LastUpdated", reason: "embedded message failed validation", cause: err, } } } // no validation rules for ConfigStatus // no validation rules for ClientStatus if all { switch v := interface{}(m.GetErrorState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ClientConfig_GenericXdsConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetErrorState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ClientConfig_GenericXdsConfigValidationError{ field: "ErrorState", reason: "embedded message failed validation", cause: err, } } } // no validation rules for IsStaticResource if len(errors) > 0 { return ClientConfig_GenericXdsConfigMultiError(errors) } return nil } // ClientConfig_GenericXdsConfigMultiError is an error wrapping multiple // validation errors returned by ClientConfig_GenericXdsConfig.ValidateAll() // if the designated constraints aren't met. type ClientConfig_GenericXdsConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ClientConfig_GenericXdsConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ClientConfig_GenericXdsConfigMultiError) AllErrors() []error { return m } // ClientConfig_GenericXdsConfigValidationError is the validation error // returned by ClientConfig_GenericXdsConfig.Validate if the designated // constraints aren't met. type ClientConfig_GenericXdsConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ClientConfig_GenericXdsConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ClientConfig_GenericXdsConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ClientConfig_GenericXdsConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ClientConfig_GenericXdsConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ClientConfig_GenericXdsConfigValidationError) ErrorName() string { return "ClientConfig_GenericXdsConfigValidationError" } // Error satisfies the builtin error interface func (e ClientConfig_GenericXdsConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sClientConfig_GenericXdsConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ClientConfig_GenericXdsConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ClientConfig_GenericXdsConfigValidationError{} go-control-plane-0.12.0/envoy/service/tap/000077500000000000000000000000001454502223200203355ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/tap/v2alpha/000077500000000000000000000000001454502223200216725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/tap/v2alpha/common.pb.go000077500000000000000000001450121454502223200241170ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/tap/v2alpha/common.proto package v2alpha import ( _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Output format. All output is in the form of one or more :ref:`TraceWrapper // ` messages. This enumeration indicates // how those messages are written. Note that not all sinks support all output formats. See // individual sink documentation for more information. type OutputSink_Format int32 const ( // Each message will be written as JSON. Any :ref:`body ` // data will be present in the :ref:`as_bytes // ` field. This means that body data will be // base64 encoded as per the `proto3 JSON mappings // `_. OutputSink_JSON_BODY_AS_BYTES OutputSink_Format = 0 // Each message will be written as JSON. Any :ref:`body ` // data will be present in the :ref:`as_string // ` field. This means that body data will be // string encoded as per the `proto3 JSON mappings // `_. This format type is // useful when it is known that that body is human readable (e.g., JSON over HTTP) and the // user wishes to view it directly without being forced to base64 decode the body. OutputSink_JSON_BODY_AS_STRING OutputSink_Format = 1 // Binary proto format. Note that binary proto is not self-delimiting. If a sink writes // multiple binary messages without any length information the data stream will not be // useful. However, for certain sinks that are self-delimiting (e.g., one message per file) // this output format makes consumption simpler. OutputSink_PROTO_BINARY OutputSink_Format = 2 // Messages are written as a sequence tuples, where each tuple is the message length encoded // as a `protobuf 32-bit varint // `_ // followed by the binary message. The messages can be read back using the language specific // protobuf coded stream implementation to obtain the message length and the message. OutputSink_PROTO_BINARY_LENGTH_DELIMITED OutputSink_Format = 3 // Text proto format. OutputSink_PROTO_TEXT OutputSink_Format = 4 ) // Enum value maps for OutputSink_Format. var ( OutputSink_Format_name = map[int32]string{ 0: "JSON_BODY_AS_BYTES", 1: "JSON_BODY_AS_STRING", 2: "PROTO_BINARY", 3: "PROTO_BINARY_LENGTH_DELIMITED", 4: "PROTO_TEXT", } OutputSink_Format_value = map[string]int32{ "JSON_BODY_AS_BYTES": 0, "JSON_BODY_AS_STRING": 1, "PROTO_BINARY": 2, "PROTO_BINARY_LENGTH_DELIMITED": 3, "PROTO_TEXT": 4, } ) func (x OutputSink_Format) Enum() *OutputSink_Format { p := new(OutputSink_Format) *p = x return p } func (x OutputSink_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OutputSink_Format) Descriptor() protoreflect.EnumDescriptor { return file_envoy_service_tap_v2alpha_common_proto_enumTypes[0].Descriptor() } func (OutputSink_Format) Type() protoreflect.EnumType { return &file_envoy_service_tap_v2alpha_common_proto_enumTypes[0] } func (x OutputSink_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OutputSink_Format.Descriptor instead. func (OutputSink_Format) EnumDescriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{4, 0} } // Tap configuration. type TapConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The match configuration. If the configuration matches the data source being tapped, a tap will // occur, with the result written to the configured output. MatchConfig *MatchPredicate `protobuf:"bytes,1,opt,name=match_config,json=matchConfig,proto3" json:"match_config,omitempty"` // The tap output configuration. If a match configuration matches a data source being tapped, // a tap will occur and the data will be written to the configured output. OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` // [#not-implemented-hide:] Specify if Tap matching is enabled. The % of requests\connections for // which the tap matching is enabled. When not enabled, the request\connection will not be // recorded. // // .. note:: // // This field defaults to 100/:ref:`HUNDRED // `. TapEnabled *core.RuntimeFractionalPercent `protobuf:"bytes,3,opt,name=tap_enabled,json=tapEnabled,proto3" json:"tap_enabled,omitempty"` } func (x *TapConfig) Reset() { *x = TapConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TapConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapConfig) ProtoMessage() {} func (x *TapConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TapConfig.ProtoReflect.Descriptor instead. func (*TapConfig) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{0} } func (x *TapConfig) GetMatchConfig() *MatchPredicate { if x != nil { return x.MatchConfig } return nil } func (x *TapConfig) GetOutputConfig() *OutputConfig { if x != nil { return x.OutputConfig } return nil } func (x *TapConfig) GetTapEnabled() *core.RuntimeFractionalPercent { if x != nil { return x.TapEnabled } return nil } // Tap match configuration. This is a recursive structure which allows complex nested match // configurations to be built using various logical operators. // [#next-free-field: 9] type MatchPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *MatchPredicate_OrMatch // *MatchPredicate_AndMatch // *MatchPredicate_NotMatch // *MatchPredicate_AnyMatch // *MatchPredicate_HttpRequestHeadersMatch // *MatchPredicate_HttpRequestTrailersMatch // *MatchPredicate_HttpResponseHeadersMatch // *MatchPredicate_HttpResponseTrailersMatch Rule isMatchPredicate_Rule `protobuf_oneof:"rule"` } func (x *MatchPredicate) Reset() { *x = MatchPredicate{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate) ProtoMessage() {} func (x *MatchPredicate) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate.ProtoReflect.Descriptor instead. func (*MatchPredicate) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{1} } func (m *MatchPredicate) GetRule() isMatchPredicate_Rule { if m != nil { return m.Rule } return nil } func (x *MatchPredicate) GetOrMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_OrMatch); ok { return x.OrMatch } return nil } func (x *MatchPredicate) GetAndMatch() *MatchPredicate_MatchSet { if x, ok := x.GetRule().(*MatchPredicate_AndMatch); ok { return x.AndMatch } return nil } func (x *MatchPredicate) GetNotMatch() *MatchPredicate { if x, ok := x.GetRule().(*MatchPredicate_NotMatch); ok { return x.NotMatch } return nil } func (x *MatchPredicate) GetAnyMatch() bool { if x, ok := x.GetRule().(*MatchPredicate_AnyMatch); ok { return x.AnyMatch } return false } func (x *MatchPredicate) GetHttpRequestHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestHeadersMatch); ok { return x.HttpRequestHeadersMatch } return nil } func (x *MatchPredicate) GetHttpRequestTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpRequestTrailersMatch); ok { return x.HttpRequestTrailersMatch } return nil } func (x *MatchPredicate) GetHttpResponseHeadersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseHeadersMatch); ok { return x.HttpResponseHeadersMatch } return nil } func (x *MatchPredicate) GetHttpResponseTrailersMatch() *HttpHeadersMatch { if x, ok := x.GetRule().(*MatchPredicate_HttpResponseTrailersMatch); ok { return x.HttpResponseTrailersMatch } return nil } type isMatchPredicate_Rule interface { isMatchPredicate_Rule() } type MatchPredicate_OrMatch struct { // A set that describes a logical OR. If any member of the set matches, the match configuration // matches. OrMatch *MatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` } type MatchPredicate_AndMatch struct { // A set that describes a logical AND. If all members of the set match, the match configuration // matches. AndMatch *MatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` } type MatchPredicate_NotMatch struct { // A negation match. The match configuration will match if the negated match condition matches. NotMatch *MatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` } type MatchPredicate_AnyMatch struct { // The match configuration will always match. AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` } type MatchPredicate_HttpRequestHeadersMatch struct { // HTTP request headers match configuration. HttpRequestHeadersMatch *HttpHeadersMatch `protobuf:"bytes,5,opt,name=http_request_headers_match,json=httpRequestHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpRequestTrailersMatch struct { // HTTP request trailers match configuration. HttpRequestTrailersMatch *HttpHeadersMatch `protobuf:"bytes,6,opt,name=http_request_trailers_match,json=httpRequestTrailersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseHeadersMatch struct { // HTTP response headers match configuration. HttpResponseHeadersMatch *HttpHeadersMatch `protobuf:"bytes,7,opt,name=http_response_headers_match,json=httpResponseHeadersMatch,proto3,oneof"` } type MatchPredicate_HttpResponseTrailersMatch struct { // HTTP response trailers match configuration. HttpResponseTrailersMatch *HttpHeadersMatch `protobuf:"bytes,8,opt,name=http_response_trailers_match,json=httpResponseTrailersMatch,proto3,oneof"` } func (*MatchPredicate_OrMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AndMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_NotMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_AnyMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpRequestTrailersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseHeadersMatch) isMatchPredicate_Rule() {} func (*MatchPredicate_HttpResponseTrailersMatch) isMatchPredicate_Rule() {} // HTTP headers match configuration. type HttpHeadersMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // HTTP headers to match. Headers []*route.HeaderMatcher `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` } func (x *HttpHeadersMatch) Reset() { *x = HttpHeadersMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpHeadersMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpHeadersMatch) ProtoMessage() {} func (x *HttpHeadersMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpHeadersMatch.ProtoReflect.Descriptor instead. func (*HttpHeadersMatch) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{2} } func (x *HttpHeadersMatch) GetHeaders() []*route.HeaderMatcher { if x != nil { return x.Headers } return nil } // Tap output configuration. type OutputConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Output sinks for tap data. Currently a single sink is allowed in the list. Once multiple // sink types are supported this constraint will be relaxed. Sinks []*OutputSink `protobuf:"bytes,1,rep,name=sinks,proto3" json:"sinks,omitempty"` // For buffered tapping, the maximum amount of received body that will be buffered prior to // truncation. If truncation occurs, the :ref:`truncated // ` field will be set. If not specified, the // default is 1KiB. MaxBufferedRxBytes *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_buffered_rx_bytes,json=maxBufferedRxBytes,proto3" json:"max_buffered_rx_bytes,omitempty"` // For buffered tapping, the maximum amount of transmitted body that will be buffered prior to // truncation. If truncation occurs, the :ref:`truncated // ` field will be set. If not specified, the // default is 1KiB. MaxBufferedTxBytes *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_buffered_tx_bytes,json=maxBufferedTxBytes,proto3" json:"max_buffered_tx_bytes,omitempty"` // Indicates whether taps produce a single buffered message per tap, or multiple streamed // messages per tap in the emitted :ref:`TraceWrapper // ` messages. Note that streamed tapping does not // mean that no buffering takes place. Buffering may be required if data is processed before a // match can be determined. See the HTTP tap filter :ref:`streaming // ` documentation for more information. Streaming bool `protobuf:"varint,4,opt,name=streaming,proto3" json:"streaming,omitempty"` } func (x *OutputConfig) Reset() { *x = OutputConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutputConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutputConfig) ProtoMessage() {} func (x *OutputConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. func (*OutputConfig) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{3} } func (x *OutputConfig) GetSinks() []*OutputSink { if x != nil { return x.Sinks } return nil } func (x *OutputConfig) GetMaxBufferedRxBytes() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedRxBytes } return nil } func (x *OutputConfig) GetMaxBufferedTxBytes() *wrappers.UInt32Value { if x != nil { return x.MaxBufferedTxBytes } return nil } func (x *OutputConfig) GetStreaming() bool { if x != nil { return x.Streaming } return false } // Tap output sink configuration. type OutputSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Sink output format. Format OutputSink_Format `protobuf:"varint,1,opt,name=format,proto3,enum=envoy.service.tap.v2alpha.OutputSink_Format" json:"format,omitempty"` // Types that are assignable to OutputSinkType: // // *OutputSink_StreamingAdmin // *OutputSink_FilePerTap // *OutputSink_StreamingGrpc OutputSinkType isOutputSink_OutputSinkType `protobuf_oneof:"output_sink_type"` } func (x *OutputSink) Reset() { *x = OutputSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutputSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutputSink) ProtoMessage() {} func (x *OutputSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutputSink.ProtoReflect.Descriptor instead. func (*OutputSink) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{4} } func (x *OutputSink) GetFormat() OutputSink_Format { if x != nil { return x.Format } return OutputSink_JSON_BODY_AS_BYTES } func (m *OutputSink) GetOutputSinkType() isOutputSink_OutputSinkType { if m != nil { return m.OutputSinkType } return nil } func (x *OutputSink) GetStreamingAdmin() *StreamingAdminSink { if x, ok := x.GetOutputSinkType().(*OutputSink_StreamingAdmin); ok { return x.StreamingAdmin } return nil } func (x *OutputSink) GetFilePerTap() *FilePerTapSink { if x, ok := x.GetOutputSinkType().(*OutputSink_FilePerTap); ok { return x.FilePerTap } return nil } func (x *OutputSink) GetStreamingGrpc() *StreamingGrpcSink { if x, ok := x.GetOutputSinkType().(*OutputSink_StreamingGrpc); ok { return x.StreamingGrpc } return nil } type isOutputSink_OutputSinkType interface { isOutputSink_OutputSinkType() } type OutputSink_StreamingAdmin struct { // Tap output will be streamed out the :http:post:`/tap` admin endpoint. // // .. attention:: // // It is only allowed to specify the streaming admin output sink if the tap is being // configured from the :http:post:`/tap` admin endpoint. Thus, if an extension has // been configured to receive tap configuration from some other source (e.g., static // file, XDS, etc.) configuring the streaming admin output type will fail. StreamingAdmin *StreamingAdminSink `protobuf:"bytes,2,opt,name=streaming_admin,json=streamingAdmin,proto3,oneof"` } type OutputSink_FilePerTap struct { // Tap output will be written to a file per tap sink. FilePerTap *FilePerTapSink `protobuf:"bytes,3,opt,name=file_per_tap,json=filePerTap,proto3,oneof"` } type OutputSink_StreamingGrpc struct { // [#not-implemented-hide:] // GrpcService to stream data to. The format argument must be PROTO_BINARY. StreamingGrpc *StreamingGrpcSink `protobuf:"bytes,4,opt,name=streaming_grpc,json=streamingGrpc,proto3,oneof"` } func (*OutputSink_StreamingAdmin) isOutputSink_OutputSinkType() {} func (*OutputSink_FilePerTap) isOutputSink_OutputSinkType() {} func (*OutputSink_StreamingGrpc) isOutputSink_OutputSinkType() {} // Streaming admin sink configuration. type StreamingAdminSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingAdminSink) Reset() { *x = StreamingAdminSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingAdminSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingAdminSink) ProtoMessage() {} func (x *StreamingAdminSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamingAdminSink.ProtoReflect.Descriptor instead. func (*StreamingAdminSink) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{5} } // The file per tap sink outputs a discrete file for every tapped stream. type FilePerTapSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Path prefix. The output file will be of the form _.pb, where is an // identifier distinguishing the recorded trace for stream instances (the Envoy // connection ID, HTTP stream ID, etc.). PathPrefix string `protobuf:"bytes,1,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` } func (x *FilePerTapSink) Reset() { *x = FilePerTapSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilePerTapSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilePerTapSink) ProtoMessage() {} func (x *FilePerTapSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilePerTapSink.ProtoReflect.Descriptor instead. func (*FilePerTapSink) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{6} } func (x *FilePerTapSink) GetPathPrefix() string { if x != nil { return x.PathPrefix } return "" } // [#not-implemented-hide:] Streaming gRPC sink configuration sends the taps to an external gRPC // server. type StreamingGrpcSink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Opaque identifier, that will be sent back to the streaming grpc server. TapId string `protobuf:"bytes,1,opt,name=tap_id,json=tapId,proto3" json:"tap_id,omitempty"` // The gRPC server that hosts the Tap Sink Service. GrpcService *core.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` } func (x *StreamingGrpcSink) Reset() { *x = StreamingGrpcSink{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingGrpcSink) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingGrpcSink) ProtoMessage() {} func (x *StreamingGrpcSink) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamingGrpcSink.ProtoReflect.Descriptor instead. func (*StreamingGrpcSink) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{7} } func (x *StreamingGrpcSink) GetTapId() string { if x != nil { return x.TapId } return "" } func (x *StreamingGrpcSink) GetGrpcService() *core.GrpcService { if x != nil { return x.GrpcService } return nil } // A set of match configurations used for logical operations. type MatchPredicate_MatchSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The list of rules that make up the set. Rules []*MatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } func (x *MatchPredicate_MatchSet) Reset() { *x = MatchPredicate_MatchSet{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPredicate_MatchSet) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPredicate_MatchSet) ProtoMessage() {} func (x *MatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_common_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchPredicate_MatchSet.ProtoReflect.Descriptor instead. func (*MatchPredicate_MatchSet) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP(), []int{1, 0} } func (x *MatchPredicate_MatchSet) GetRules() []*MatchPredicate { if x != nil { return x.Rules } return nil } var File_envoy_service_tap_v2alpha_common_proto protoreflect.FileDescriptor var file_envoy_service_tap_v2alpha_common_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x02, 0x0a, 0x09, 0x54, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0b, 0x74, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x74, 0x61, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc2, 0x06, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x51, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6a, 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6c, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6c, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6e, 0x0a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x19, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x55, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x4f, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x10, 0x01, 0x52, 0x05, 0x73, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0xf5, 0x03, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4e, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x6b, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x4d, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x53, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x22, 0x7e, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x5f, 0x41, 0x53, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x5f, 0x41, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x04, 0x42, 0x17, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0x3a, 0x0a, 0x0e, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x77, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x70, 0x63, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x70, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x9d, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x15, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_tap_v2alpha_common_proto_rawDescOnce sync.Once file_envoy_service_tap_v2alpha_common_proto_rawDescData = file_envoy_service_tap_v2alpha_common_proto_rawDesc ) func file_envoy_service_tap_v2alpha_common_proto_rawDescGZIP() []byte { file_envoy_service_tap_v2alpha_common_proto_rawDescOnce.Do(func() { file_envoy_service_tap_v2alpha_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_tap_v2alpha_common_proto_rawDescData) }) return file_envoy_service_tap_v2alpha_common_proto_rawDescData } var file_envoy_service_tap_v2alpha_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_service_tap_v2alpha_common_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_envoy_service_tap_v2alpha_common_proto_goTypes = []interface{}{ (OutputSink_Format)(0), // 0: envoy.service.tap.v2alpha.OutputSink.Format (*TapConfig)(nil), // 1: envoy.service.tap.v2alpha.TapConfig (*MatchPredicate)(nil), // 2: envoy.service.tap.v2alpha.MatchPredicate (*HttpHeadersMatch)(nil), // 3: envoy.service.tap.v2alpha.HttpHeadersMatch (*OutputConfig)(nil), // 4: envoy.service.tap.v2alpha.OutputConfig (*OutputSink)(nil), // 5: envoy.service.tap.v2alpha.OutputSink (*StreamingAdminSink)(nil), // 6: envoy.service.tap.v2alpha.StreamingAdminSink (*FilePerTapSink)(nil), // 7: envoy.service.tap.v2alpha.FilePerTapSink (*StreamingGrpcSink)(nil), // 8: envoy.service.tap.v2alpha.StreamingGrpcSink (*MatchPredicate_MatchSet)(nil), // 9: envoy.service.tap.v2alpha.MatchPredicate.MatchSet (*core.RuntimeFractionalPercent)(nil), // 10: envoy.api.v2.core.RuntimeFractionalPercent (*route.HeaderMatcher)(nil), // 11: envoy.api.v2.route.HeaderMatcher (*wrappers.UInt32Value)(nil), // 12: google.protobuf.UInt32Value (*core.GrpcService)(nil), // 13: envoy.api.v2.core.GrpcService } var file_envoy_service_tap_v2alpha_common_proto_depIdxs = []int32{ 2, // 0: envoy.service.tap.v2alpha.TapConfig.match_config:type_name -> envoy.service.tap.v2alpha.MatchPredicate 4, // 1: envoy.service.tap.v2alpha.TapConfig.output_config:type_name -> envoy.service.tap.v2alpha.OutputConfig 10, // 2: envoy.service.tap.v2alpha.TapConfig.tap_enabled:type_name -> envoy.api.v2.core.RuntimeFractionalPercent 9, // 3: envoy.service.tap.v2alpha.MatchPredicate.or_match:type_name -> envoy.service.tap.v2alpha.MatchPredicate.MatchSet 9, // 4: envoy.service.tap.v2alpha.MatchPredicate.and_match:type_name -> envoy.service.tap.v2alpha.MatchPredicate.MatchSet 2, // 5: envoy.service.tap.v2alpha.MatchPredicate.not_match:type_name -> envoy.service.tap.v2alpha.MatchPredicate 3, // 6: envoy.service.tap.v2alpha.MatchPredicate.http_request_headers_match:type_name -> envoy.service.tap.v2alpha.HttpHeadersMatch 3, // 7: envoy.service.tap.v2alpha.MatchPredicate.http_request_trailers_match:type_name -> envoy.service.tap.v2alpha.HttpHeadersMatch 3, // 8: envoy.service.tap.v2alpha.MatchPredicate.http_response_headers_match:type_name -> envoy.service.tap.v2alpha.HttpHeadersMatch 3, // 9: envoy.service.tap.v2alpha.MatchPredicate.http_response_trailers_match:type_name -> envoy.service.tap.v2alpha.HttpHeadersMatch 11, // 10: envoy.service.tap.v2alpha.HttpHeadersMatch.headers:type_name -> envoy.api.v2.route.HeaderMatcher 5, // 11: envoy.service.tap.v2alpha.OutputConfig.sinks:type_name -> envoy.service.tap.v2alpha.OutputSink 12, // 12: envoy.service.tap.v2alpha.OutputConfig.max_buffered_rx_bytes:type_name -> google.protobuf.UInt32Value 12, // 13: envoy.service.tap.v2alpha.OutputConfig.max_buffered_tx_bytes:type_name -> google.protobuf.UInt32Value 0, // 14: envoy.service.tap.v2alpha.OutputSink.format:type_name -> envoy.service.tap.v2alpha.OutputSink.Format 6, // 15: envoy.service.tap.v2alpha.OutputSink.streaming_admin:type_name -> envoy.service.tap.v2alpha.StreamingAdminSink 7, // 16: envoy.service.tap.v2alpha.OutputSink.file_per_tap:type_name -> envoy.service.tap.v2alpha.FilePerTapSink 8, // 17: envoy.service.tap.v2alpha.OutputSink.streaming_grpc:type_name -> envoy.service.tap.v2alpha.StreamingGrpcSink 13, // 18: envoy.service.tap.v2alpha.StreamingGrpcSink.grpc_service:type_name -> envoy.api.v2.core.GrpcService 2, // 19: envoy.service.tap.v2alpha.MatchPredicate.MatchSet.rules:type_name -> envoy.service.tap.v2alpha.MatchPredicate 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_envoy_service_tap_v2alpha_common_proto_init() } func file_envoy_service_tap_v2alpha_common_proto_init() { if File_envoy_service_tap_v2alpha_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_tap_v2alpha_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TapConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeadersMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutputConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutputSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingAdminSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilePerTapSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingGrpcSink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPredicate_MatchSet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_service_tap_v2alpha_common_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MatchPredicate_OrMatch)(nil), (*MatchPredicate_AndMatch)(nil), (*MatchPredicate_NotMatch)(nil), (*MatchPredicate_AnyMatch)(nil), (*MatchPredicate_HttpRequestHeadersMatch)(nil), (*MatchPredicate_HttpRequestTrailersMatch)(nil), (*MatchPredicate_HttpResponseHeadersMatch)(nil), (*MatchPredicate_HttpResponseTrailersMatch)(nil), } file_envoy_service_tap_v2alpha_common_proto_msgTypes[4].OneofWrappers = []interface{}{ (*OutputSink_StreamingAdmin)(nil), (*OutputSink_FilePerTap)(nil), (*OutputSink_StreamingGrpc)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_tap_v2alpha_common_proto_rawDesc, NumEnums: 1, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_service_tap_v2alpha_common_proto_goTypes, DependencyIndexes: file_envoy_service_tap_v2alpha_common_proto_depIdxs, EnumInfos: file_envoy_service_tap_v2alpha_common_proto_enumTypes, MessageInfos: file_envoy_service_tap_v2alpha_common_proto_msgTypes, }.Build() File_envoy_service_tap_v2alpha_common_proto = out.File file_envoy_service_tap_v2alpha_common_proto_rawDesc = nil file_envoy_service_tap_v2alpha_common_proto_goTypes = nil file_envoy_service_tap_v2alpha_common_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/service/tap/v2alpha/common.pb.validate.go000077500000000000000000001347561454502223200257240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/tap/v2alpha/common.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TapConfig with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TapConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TapConfig with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TapConfigMultiError, or nil // if none found. func (m *TapConfig) ValidateAll() error { return m.validate(true) } func (m *TapConfig) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMatchConfig() == nil { err := TapConfigValidationError{ field: "MatchConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetMatchConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMatchConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "MatchConfig", reason: "embedded message failed validation", cause: err, } } } if m.GetOutputConfig() == nil { err := TapConfigValidationError{ field: "OutputConfig", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetOutputConfig()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOutputConfig()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "OutputConfig", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetTapEnabled()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTapEnabled()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return TapConfigValidationError{ field: "TapEnabled", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return TapConfigMultiError(errors) } return nil } // TapConfigMultiError is an error wrapping multiple validation errors returned // by TapConfig.ValidateAll() if the designated constraints aren't met. type TapConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TapConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TapConfigMultiError) AllErrors() []error { return m } // TapConfigValidationError is the validation error returned by // TapConfig.Validate if the designated constraints aren't met. type TapConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TapConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TapConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TapConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TapConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TapConfigValidationError) ErrorName() string { return "TapConfigValidationError" } // Error satisfies the builtin error interface func (e TapConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTapConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TapConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TapConfigValidationError{} // Validate checks the field values on MatchPredicate with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MatchPredicate) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MatchPredicateMultiError, // or nil if none found. func (m *MatchPredicate) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *MatchPredicate_OrMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AndMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetAndMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetAndMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "AndMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_NotMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetNotMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNotMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "NotMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_AnyMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetAnyMatch() != true { err := MatchPredicateValidationError{ field: "AnyMatch", reason: "value must equal true", } if !all { return err } errors = append(errors, err) } case *MatchPredicate_HttpRequestHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpRequestTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpRequestTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpRequestTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpRequestTrailersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseHeadersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseHeadersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseHeadersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseHeadersMatch", reason: "embedded message failed validation", cause: err, } } } case *MatchPredicate_HttpResponseTrailersMatch: if v == nil { err := MatchPredicateValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if all { switch v := interface{}(m.GetHttpResponseTrailersMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHttpResponseTrailersMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicateValidationError{ field: "HttpResponseTrailersMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := MatchPredicateValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MatchPredicateMultiError(errors) } return nil } // MatchPredicateMultiError is an error wrapping multiple validation errors // returned by MatchPredicate.ValidateAll() if the designated constraints // aren't met. type MatchPredicateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicateMultiError) AllErrors() []error { return m } // MatchPredicateValidationError is the validation error returned by // MatchPredicate.Validate if the designated constraints aren't met. type MatchPredicateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicateValidationError) ErrorName() string { return "MatchPredicateValidationError" } // Error satisfies the builtin error interface func (e MatchPredicateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicateValidationError{} // Validate checks the field values on HttpHeadersMatch with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *HttpHeadersMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpHeadersMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpHeadersMatchMultiError, or nil if none found. func (m *HttpHeadersMatch) ValidateAll() error { return m.validate(true) } func (m *HttpHeadersMatch) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetHeaders() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HttpHeadersMatchValidationError{ field: fmt.Sprintf("Headers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return HttpHeadersMatchMultiError(errors) } return nil } // HttpHeadersMatchMultiError is an error wrapping multiple validation errors // returned by HttpHeadersMatch.ValidateAll() if the designated constraints // aren't met. type HttpHeadersMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpHeadersMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpHeadersMatchMultiError) AllErrors() []error { return m } // HttpHeadersMatchValidationError is the validation error returned by // HttpHeadersMatch.Validate if the designated constraints aren't met. type HttpHeadersMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpHeadersMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpHeadersMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpHeadersMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpHeadersMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpHeadersMatchValidationError) ErrorName() string { return "HttpHeadersMatchValidationError" } // Error satisfies the builtin error interface func (e HttpHeadersMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpHeadersMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpHeadersMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpHeadersMatchValidationError{} // Validate checks the field values on OutputConfig with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OutputConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutputConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OutputConfigMultiError, or // nil if none found. func (m *OutputConfig) ValidateAll() error { return m.validate(true) } func (m *OutputConfig) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetSinks()) != 1 { err := OutputConfigValidationError{ field: "Sinks", reason: "value must contain exactly 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetSinks() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: fmt.Sprintf("Sinks[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if all { switch v := interface{}(m.GetMaxBufferedRxBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedRxBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: "MaxBufferedRxBytes", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMaxBufferedTxBytes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxBufferedTxBytes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputConfigValidationError{ field: "MaxBufferedTxBytes", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Streaming if len(errors) > 0 { return OutputConfigMultiError(errors) } return nil } // OutputConfigMultiError is an error wrapping multiple validation errors // returned by OutputConfig.ValidateAll() if the designated constraints aren't met. type OutputConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutputConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutputConfigMultiError) AllErrors() []error { return m } // OutputConfigValidationError is the validation error returned by // OutputConfig.Validate if the designated constraints aren't met. type OutputConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutputConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutputConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutputConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutputConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutputConfigValidationError) ErrorName() string { return "OutputConfigValidationError" } // Error satisfies the builtin error interface func (e OutputConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutputConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutputConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutputConfigValidationError{} // Validate checks the field values on OutputSink with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OutputSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OutputSink with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OutputSinkMultiError, or // nil if none found. func (m *OutputSink) ValidateAll() error { return m.validate(true) } func (m *OutputSink) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := OutputSink_Format_name[int32(m.GetFormat())]; !ok { err := OutputSinkValidationError{ field: "Format", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent := false switch v := m.OutputSinkType.(type) { case *OutputSink_StreamingAdmin: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetStreamingAdmin()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamingAdmin()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "StreamingAdmin", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_FilePerTap: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetFilePerTap()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilePerTap()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "FilePerTap", reason: "embedded message failed validation", cause: err, } } } case *OutputSink_StreamingGrpc: if v == nil { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOutputSinkTypePresent = true if all { switch v := interface{}(m.GetStreamingGrpc()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStreamingGrpc()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OutputSinkValidationError{ field: "StreamingGrpc", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOutputSinkTypePresent { err := OutputSinkValidationError{ field: "OutputSinkType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return OutputSinkMultiError(errors) } return nil } // OutputSinkMultiError is an error wrapping multiple validation errors // returned by OutputSink.ValidateAll() if the designated constraints aren't met. type OutputSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OutputSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OutputSinkMultiError) AllErrors() []error { return m } // OutputSinkValidationError is the validation error returned by // OutputSink.Validate if the designated constraints aren't met. type OutputSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OutputSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OutputSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OutputSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OutputSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OutputSinkValidationError) ErrorName() string { return "OutputSinkValidationError" } // Error satisfies the builtin error interface func (e OutputSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOutputSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OutputSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OutputSinkValidationError{} // Validate checks the field values on StreamingAdminSink with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamingAdminSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamingAdminSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamingAdminSinkMultiError, or nil if none found. func (m *StreamingAdminSink) ValidateAll() error { return m.validate(true) } func (m *StreamingAdminSink) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamingAdminSinkMultiError(errors) } return nil } // StreamingAdminSinkMultiError is an error wrapping multiple validation errors // returned by StreamingAdminSink.ValidateAll() if the designated constraints // aren't met. type StreamingAdminSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamingAdminSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamingAdminSinkMultiError) AllErrors() []error { return m } // StreamingAdminSinkValidationError is the validation error returned by // StreamingAdminSink.Validate if the designated constraints aren't met. type StreamingAdminSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamingAdminSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamingAdminSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamingAdminSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamingAdminSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamingAdminSinkValidationError) ErrorName() string { return "StreamingAdminSinkValidationError" } // Error satisfies the builtin error interface func (e StreamingAdminSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamingAdminSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamingAdminSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamingAdminSinkValidationError{} // Validate checks the field values on FilePerTapSink with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *FilePerTapSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilePerTapSink with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in FilePerTapSinkMultiError, // or nil if none found. func (m *FilePerTapSink) ValidateAll() error { return m.validate(true) } func (m *FilePerTapSink) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPathPrefix()) < 1 { err := FilePerTapSinkValidationError{ field: "PathPrefix", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilePerTapSinkMultiError(errors) } return nil } // FilePerTapSinkMultiError is an error wrapping multiple validation errors // returned by FilePerTapSink.ValidateAll() if the designated constraints // aren't met. type FilePerTapSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilePerTapSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilePerTapSinkMultiError) AllErrors() []error { return m } // FilePerTapSinkValidationError is the validation error returned by // FilePerTapSink.Validate if the designated constraints aren't met. type FilePerTapSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilePerTapSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilePerTapSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilePerTapSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilePerTapSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilePerTapSinkValidationError) ErrorName() string { return "FilePerTapSinkValidationError" } // Error satisfies the builtin error interface func (e FilePerTapSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilePerTapSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilePerTapSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilePerTapSinkValidationError{} // Validate checks the field values on StreamingGrpcSink with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StreamingGrpcSink) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamingGrpcSink with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamingGrpcSinkMultiError, or nil if none found. func (m *StreamingGrpcSink) ValidateAll() error { return m.validate(true) } func (m *StreamingGrpcSink) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for TapId if m.GetGrpcService() == nil { err := StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGrpcService()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGrpcService()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamingGrpcSinkValidationError{ field: "GrpcService", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamingGrpcSinkMultiError(errors) } return nil } // StreamingGrpcSinkMultiError is an error wrapping multiple validation errors // returned by StreamingGrpcSink.ValidateAll() if the designated constraints // aren't met. type StreamingGrpcSinkMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamingGrpcSinkMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamingGrpcSinkMultiError) AllErrors() []error { return m } // StreamingGrpcSinkValidationError is the validation error returned by // StreamingGrpcSink.Validate if the designated constraints aren't met. type StreamingGrpcSinkValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamingGrpcSinkValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamingGrpcSinkValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamingGrpcSinkValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamingGrpcSinkValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamingGrpcSinkValidationError) ErrorName() string { return "StreamingGrpcSinkValidationError" } // Error satisfies the builtin error interface func (e StreamingGrpcSinkValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamingGrpcSink.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamingGrpcSinkValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamingGrpcSinkValidationError{} // Validate checks the field values on MatchPredicate_MatchSet with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MatchPredicate_MatchSet) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MatchPredicate_MatchSet with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MatchPredicate_MatchSetMultiError, or nil if none found. func (m *MatchPredicate_MatchSet) ValidateAll() error { return m.validate(true) } func (m *MatchPredicate_MatchSet) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetRules()) < 2 { err := MatchPredicate_MatchSetValidationError{ field: "Rules", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetRules() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MatchPredicate_MatchSetValidationError{ field: fmt.Sprintf("Rules[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MatchPredicate_MatchSetMultiError(errors) } return nil } // MatchPredicate_MatchSetMultiError is an error wrapping multiple validation // errors returned by MatchPredicate_MatchSet.ValidateAll() if the designated // constraints aren't met. type MatchPredicate_MatchSetMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MatchPredicate_MatchSetMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MatchPredicate_MatchSetMultiError) AllErrors() []error { return m } // MatchPredicate_MatchSetValidationError is the validation error returned by // MatchPredicate_MatchSet.Validate if the designated constraints aren't met. type MatchPredicate_MatchSetValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MatchPredicate_MatchSetValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MatchPredicate_MatchSetValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MatchPredicate_MatchSetValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MatchPredicate_MatchSetValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MatchPredicate_MatchSetValidationError) ErrorName() string { return "MatchPredicate_MatchSetValidationError" } // Error satisfies the builtin error interface func (e MatchPredicate_MatchSetValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMatchPredicate_MatchSet.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MatchPredicate_MatchSetValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MatchPredicate_MatchSetValidationError{} go-control-plane-0.12.0/envoy/service/tap/v2alpha/tap.pb.go000077500000000000000000000443371454502223200234230ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/tap/v2alpha/tap.proto package v2alpha import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" v2alpha "github.com/envoyproxy/go-control-plane/envoy/data/tap/v2alpha" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Stream message for the Tap API. Envoy will open a stream to the server // and stream taps without ever expecting a response. type StreamTapsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. As a performance optimization this will // only be sent in the first message on the stream. Identifier *StreamTapsRequest_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // The trace id. this can be used to merge together a streaming trace. Note that the trace_id // is not guaranteed to be spatially or temporally unique. TraceId uint64 `protobuf:"varint,2,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // The trace data. Trace *v2alpha.TraceWrapper `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"` } func (x *StreamTapsRequest) Reset() { *x = StreamTapsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsRequest) ProtoMessage() {} func (x *StreamTapsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsRequest.ProtoReflect.Descriptor instead. func (*StreamTapsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_tap_proto_rawDescGZIP(), []int{0} } func (x *StreamTapsRequest) GetIdentifier() *StreamTapsRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamTapsRequest) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (x *StreamTapsRequest) GetTrace() *v2alpha.TraceWrapper { if x != nil { return x.Trace } return nil } // [#not-implemented-hide:] type StreamTapsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamTapsResponse) Reset() { *x = StreamTapsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsResponse) ProtoMessage() {} func (x *StreamTapsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsResponse.ProtoReflect.Descriptor instead. func (*StreamTapsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_tap_proto_rawDescGZIP(), []int{1} } type StreamTapsRequest_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending taps over the stream. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // The opaque identifier that was set in the :ref:`output config // `. TapId string `protobuf:"bytes,2,opt,name=tap_id,json=tapId,proto3" json:"tap_id,omitempty"` } func (x *StreamTapsRequest_Identifier) Reset() { *x = StreamTapsRequest_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsRequest_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsRequest_Identifier) ProtoMessage() {} func (x *StreamTapsRequest_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v2alpha_tap_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsRequest_Identifier.ProtoReflect.Descriptor instead. func (*StreamTapsRequest_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v2alpha_tap_proto_rawDescGZIP(), []int{0, 0} } func (x *StreamTapsRequest_Identifier) GetNode() *core.Node { if x != nil { return x.Node } return nil } func (x *StreamTapsRequest_Identifier) GetTapId() string { if x != nil { return x.TapId } return "" } var File_envoy_service_tap_v2alpha_tap_proto protoreflect.FileDescriptor var file_envoy_service_tap_v2alpha_tap_proto_rawDesc = []byte{ 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x02, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x70, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x7f, 0x0a, 0x0e, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x7f, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x27, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_tap_v2alpha_tap_proto_rawDescOnce sync.Once file_envoy_service_tap_v2alpha_tap_proto_rawDescData = file_envoy_service_tap_v2alpha_tap_proto_rawDesc ) func file_envoy_service_tap_v2alpha_tap_proto_rawDescGZIP() []byte { file_envoy_service_tap_v2alpha_tap_proto_rawDescOnce.Do(func() { file_envoy_service_tap_v2alpha_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_tap_v2alpha_tap_proto_rawDescData) }) return file_envoy_service_tap_v2alpha_tap_proto_rawDescData } var file_envoy_service_tap_v2alpha_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_tap_v2alpha_tap_proto_goTypes = []interface{}{ (*StreamTapsRequest)(nil), // 0: envoy.service.tap.v2alpha.StreamTapsRequest (*StreamTapsResponse)(nil), // 1: envoy.service.tap.v2alpha.StreamTapsResponse (*StreamTapsRequest_Identifier)(nil), // 2: envoy.service.tap.v2alpha.StreamTapsRequest.Identifier (*v2alpha.TraceWrapper)(nil), // 3: envoy.data.tap.v2alpha.TraceWrapper (*core.Node)(nil), // 4: envoy.api.v2.core.Node } var file_envoy_service_tap_v2alpha_tap_proto_depIdxs = []int32{ 2, // 0: envoy.service.tap.v2alpha.StreamTapsRequest.identifier:type_name -> envoy.service.tap.v2alpha.StreamTapsRequest.Identifier 3, // 1: envoy.service.tap.v2alpha.StreamTapsRequest.trace:type_name -> envoy.data.tap.v2alpha.TraceWrapper 4, // 2: envoy.service.tap.v2alpha.StreamTapsRequest.Identifier.node:type_name -> envoy.api.v2.core.Node 0, // 3: envoy.service.tap.v2alpha.TapSinkService.StreamTaps:input_type -> envoy.service.tap.v2alpha.StreamTapsRequest 1, // 4: envoy.service.tap.v2alpha.TapSinkService.StreamTaps:output_type -> envoy.service.tap.v2alpha.StreamTapsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_tap_v2alpha_tap_proto_init() } func file_envoy_service_tap_v2alpha_tap_proto_init() { if File_envoy_service_tap_v2alpha_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_tap_v2alpha_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_tap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v2alpha_tap_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsRequest_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_tap_v2alpha_tap_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_tap_v2alpha_tap_proto_goTypes, DependencyIndexes: file_envoy_service_tap_v2alpha_tap_proto_depIdxs, MessageInfos: file_envoy_service_tap_v2alpha_tap_proto_msgTypes, }.Build() File_envoy_service_tap_v2alpha_tap_proto = out.File file_envoy_service_tap_v2alpha_tap_proto_rawDesc = nil file_envoy_service_tap_v2alpha_tap_proto_goTypes = nil file_envoy_service_tap_v2alpha_tap_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // TapSinkServiceClient is the client API for TapSinkService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type TapSinkServiceClient interface { // Envoy will connect and send StreamTapsRequest messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. StreamTaps(ctx context.Context, opts ...grpc.CallOption) (TapSinkService_StreamTapsClient, error) } type tapSinkServiceClient struct { cc grpc.ClientConnInterface } func NewTapSinkServiceClient(cc grpc.ClientConnInterface) TapSinkServiceClient { return &tapSinkServiceClient{cc} } func (c *tapSinkServiceClient) StreamTaps(ctx context.Context, opts ...grpc.CallOption) (TapSinkService_StreamTapsClient, error) { stream, err := c.cc.NewStream(ctx, &_TapSinkService_serviceDesc.Streams[0], "/envoy.service.tap.v2alpha.TapSinkService/StreamTaps", opts...) if err != nil { return nil, err } x := &tapSinkServiceStreamTapsClient{stream} return x, nil } type TapSinkService_StreamTapsClient interface { Send(*StreamTapsRequest) error CloseAndRecv() (*StreamTapsResponse, error) grpc.ClientStream } type tapSinkServiceStreamTapsClient struct { grpc.ClientStream } func (x *tapSinkServiceStreamTapsClient) Send(m *StreamTapsRequest) error { return x.ClientStream.SendMsg(m) } func (x *tapSinkServiceStreamTapsClient) CloseAndRecv() (*StreamTapsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamTapsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // TapSinkServiceServer is the server API for TapSinkService service. type TapSinkServiceServer interface { // Envoy will connect and send StreamTapsRequest messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. StreamTaps(TapSinkService_StreamTapsServer) error } // UnimplementedTapSinkServiceServer can be embedded to have forward compatible implementations. type UnimplementedTapSinkServiceServer struct { } func (*UnimplementedTapSinkServiceServer) StreamTaps(TapSinkService_StreamTapsServer) error { return status.Errorf(codes.Unimplemented, "method StreamTaps not implemented") } func RegisterTapSinkServiceServer(s *grpc.Server, srv TapSinkServiceServer) { s.RegisterService(&_TapSinkService_serviceDesc, srv) } func _TapSinkService_StreamTaps_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(TapSinkServiceServer).StreamTaps(&tapSinkServiceStreamTapsServer{stream}) } type TapSinkService_StreamTapsServer interface { SendAndClose(*StreamTapsResponse) error Recv() (*StreamTapsRequest, error) grpc.ServerStream } type tapSinkServiceStreamTapsServer struct { grpc.ServerStream } func (x *tapSinkServiceStreamTapsServer) SendAndClose(m *StreamTapsResponse) error { return x.ServerStream.SendMsg(m) } func (x *tapSinkServiceStreamTapsServer) Recv() (*StreamTapsRequest, error) { m := new(StreamTapsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _TapSinkService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.tap.v2alpha.TapSinkService", HandlerType: (*TapSinkServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamTaps", Handler: _TapSinkService_StreamTaps_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/tap/v2alpha/tap.proto", } go-control-plane-0.12.0/envoy/service/tap/v2alpha/tap.pb.validate.go000077500000000000000000000275111454502223200252060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/tap/v2alpha/tap.proto package v2alpha import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamTapsRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StreamTapsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsRequestMultiError, or nil if none found. func (m *StreamTapsRequest) ValidateAll() error { return m.validate(true) } func (m *StreamTapsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TraceId if all { switch v := interface{}(m.GetTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamTapsRequestMultiError(errors) } return nil } // StreamTapsRequestMultiError is an error wrapping multiple validation errors // returned by StreamTapsRequest.ValidateAll() if the designated constraints // aren't met. type StreamTapsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsRequestMultiError) AllErrors() []error { return m } // StreamTapsRequestValidationError is the validation error returned by // StreamTapsRequest.Validate if the designated constraints aren't met. type StreamTapsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsRequestValidationError) ErrorName() string { return "StreamTapsRequestValidationError" } // Error satisfies the builtin error interface func (e StreamTapsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsRequestValidationError{} // Validate checks the field values on StreamTapsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTapsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsResponseMultiError, or nil if none found. func (m *StreamTapsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamTapsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamTapsResponseMultiError(errors) } return nil } // StreamTapsResponseMultiError is an error wrapping multiple validation errors // returned by StreamTapsResponse.ValidateAll() if the designated constraints // aren't met. type StreamTapsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsResponseMultiError) AllErrors() []error { return m } // StreamTapsResponseValidationError is the validation error returned by // StreamTapsResponse.Validate if the designated constraints aren't met. type StreamTapsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsResponseValidationError) ErrorName() string { return "StreamTapsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamTapsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsResponseValidationError{} // Validate checks the field values on StreamTapsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTapsRequest_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsRequest_IdentifierMultiError, or nil if none found. func (m *StreamTapsRequest_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamTapsRequest_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TapId if len(errors) > 0 { return StreamTapsRequest_IdentifierMultiError(errors) } return nil } // StreamTapsRequest_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamTapsRequest_Identifier.ValidateAll() if // the designated constraints aren't met. type StreamTapsRequest_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsRequest_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsRequest_IdentifierMultiError) AllErrors() []error { return m } // StreamTapsRequest_IdentifierValidationError is the validation error returned // by StreamTapsRequest_Identifier.Validate if the designated constraints // aren't met. type StreamTapsRequest_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsRequest_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsRequest_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsRequest_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsRequest_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsRequest_IdentifierValidationError) ErrorName() string { return "StreamTapsRequest_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamTapsRequest_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsRequest_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsRequest_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsRequest_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/tap/v3/000077500000000000000000000000001454502223200206655ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/tap/v3/tap.pb.go000077500000000000000000000457201454502223200224130ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/tap/v3/tap.proto package tapv3 import ( context "context" _ "github.com/cncf/xds/go/udpa/annotations" v31 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/data/tap/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#not-implemented-hide:] Stream message for the Tap API. Envoy will open a stream to the server // and stream taps without ever expecting a response. type StreamTapsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. As a performance optimization this will // only be sent in the first message on the stream. Identifier *StreamTapsRequest_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // The trace id. this can be used to merge together a streaming trace. Note that the trace_id // is not guaranteed to be spatially or temporally unique. TraceId uint64 `protobuf:"varint,2,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // The trace data. Trace *v3.TraceWrapper `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"` } func (x *StreamTapsRequest) Reset() { *x = StreamTapsRequest{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsRequest) ProtoMessage() {} func (x *StreamTapsRequest) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsRequest.ProtoReflect.Descriptor instead. func (*StreamTapsRequest) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v3_tap_proto_rawDescGZIP(), []int{0} } func (x *StreamTapsRequest) GetIdentifier() *StreamTapsRequest_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamTapsRequest) GetTraceId() uint64 { if x != nil { return x.TraceId } return 0 } func (x *StreamTapsRequest) GetTrace() *v3.TraceWrapper { if x != nil { return x.Trace } return nil } // [#not-implemented-hide:] type StreamTapsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamTapsResponse) Reset() { *x = StreamTapsResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsResponse) ProtoMessage() {} func (x *StreamTapsResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsResponse.ProtoReflect.Descriptor instead. func (*StreamTapsResponse) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v3_tap_proto_rawDescGZIP(), []int{1} } type StreamTapsRequest_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending taps over the stream. Node *v31.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // The opaque identifier that was set in the :ref:`output config // `. TapId string `protobuf:"bytes,2,opt,name=tap_id,json=tapId,proto3" json:"tap_id,omitempty"` } func (x *StreamTapsRequest_Identifier) Reset() { *x = StreamTapsRequest_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTapsRequest_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTapsRequest_Identifier) ProtoMessage() {} func (x *StreamTapsRequest_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_tap_v3_tap_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTapsRequest_Identifier.ProtoReflect.Descriptor instead. func (*StreamTapsRequest_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_tap_v3_tap_proto_rawDescGZIP(), []int{0, 0} } func (x *StreamTapsRequest_Identifier) GetNode() *v31.Node { if x != nil { return x.Node } return nil } func (x *StreamTapsRequest_Identifier) GetTapId() string { if x != nil { return x.TapId } return "" } var File_envoy_service_tap_v3_tap_proto protoreflect.FileDescriptor var file_envoy_service_tap_v3_tap_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x03, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x9c, 0x01, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x70, 0x49, 0x64, 0x3a, 0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x75, 0x0a, 0x0e, 0x54, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x7b, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x61, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x54, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x61, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x61, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_tap_v3_tap_proto_rawDescOnce sync.Once file_envoy_service_tap_v3_tap_proto_rawDescData = file_envoy_service_tap_v3_tap_proto_rawDesc ) func file_envoy_service_tap_v3_tap_proto_rawDescGZIP() []byte { file_envoy_service_tap_v3_tap_proto_rawDescOnce.Do(func() { file_envoy_service_tap_v3_tap_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_tap_v3_tap_proto_rawDescData) }) return file_envoy_service_tap_v3_tap_proto_rawDescData } var file_envoy_service_tap_v3_tap_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_tap_v3_tap_proto_goTypes = []interface{}{ (*StreamTapsRequest)(nil), // 0: envoy.service.tap.v3.StreamTapsRequest (*StreamTapsResponse)(nil), // 1: envoy.service.tap.v3.StreamTapsResponse (*StreamTapsRequest_Identifier)(nil), // 2: envoy.service.tap.v3.StreamTapsRequest.Identifier (*v3.TraceWrapper)(nil), // 3: envoy.data.tap.v3.TraceWrapper (*v31.Node)(nil), // 4: envoy.config.core.v3.Node } var file_envoy_service_tap_v3_tap_proto_depIdxs = []int32{ 2, // 0: envoy.service.tap.v3.StreamTapsRequest.identifier:type_name -> envoy.service.tap.v3.StreamTapsRequest.Identifier 3, // 1: envoy.service.tap.v3.StreamTapsRequest.trace:type_name -> envoy.data.tap.v3.TraceWrapper 4, // 2: envoy.service.tap.v3.StreamTapsRequest.Identifier.node:type_name -> envoy.config.core.v3.Node 0, // 3: envoy.service.tap.v3.TapSinkService.StreamTaps:input_type -> envoy.service.tap.v3.StreamTapsRequest 1, // 4: envoy.service.tap.v3.TapSinkService.StreamTaps:output_type -> envoy.service.tap.v3.StreamTapsResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_tap_v3_tap_proto_init() } func file_envoy_service_tap_v3_tap_proto_init() { if File_envoy_service_tap_v3_tap_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_tap_v3_tap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v3_tap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_tap_v3_tap_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTapsRequest_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_tap_v3_tap_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_tap_v3_tap_proto_goTypes, DependencyIndexes: file_envoy_service_tap_v3_tap_proto_depIdxs, MessageInfos: file_envoy_service_tap_v3_tap_proto_msgTypes, }.Build() File_envoy_service_tap_v3_tap_proto = out.File file_envoy_service_tap_v3_tap_proto_rawDesc = nil file_envoy_service_tap_v3_tap_proto_goTypes = nil file_envoy_service_tap_v3_tap_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // TapSinkServiceClient is the client API for TapSinkService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type TapSinkServiceClient interface { // Envoy will connect and send StreamTapsRequest messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. StreamTaps(ctx context.Context, opts ...grpc.CallOption) (TapSinkService_StreamTapsClient, error) } type tapSinkServiceClient struct { cc grpc.ClientConnInterface } func NewTapSinkServiceClient(cc grpc.ClientConnInterface) TapSinkServiceClient { return &tapSinkServiceClient{cc} } func (c *tapSinkServiceClient) StreamTaps(ctx context.Context, opts ...grpc.CallOption) (TapSinkService_StreamTapsClient, error) { stream, err := c.cc.NewStream(ctx, &_TapSinkService_serviceDesc.Streams[0], "/envoy.service.tap.v3.TapSinkService/StreamTaps", opts...) if err != nil { return nil, err } x := &tapSinkServiceStreamTapsClient{stream} return x, nil } type TapSinkService_StreamTapsClient interface { Send(*StreamTapsRequest) error CloseAndRecv() (*StreamTapsResponse, error) grpc.ClientStream } type tapSinkServiceStreamTapsClient struct { grpc.ClientStream } func (x *tapSinkServiceStreamTapsClient) Send(m *StreamTapsRequest) error { return x.ClientStream.SendMsg(m) } func (x *tapSinkServiceStreamTapsClient) CloseAndRecv() (*StreamTapsResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamTapsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // TapSinkServiceServer is the server API for TapSinkService service. type TapSinkServiceServer interface { // Envoy will connect and send StreamTapsRequest messages forever. It does not expect any // response to be sent as nothing would be done in the case of failure. The server should // disconnect if it expects Envoy to reconnect. StreamTaps(TapSinkService_StreamTapsServer) error } // UnimplementedTapSinkServiceServer can be embedded to have forward compatible implementations. type UnimplementedTapSinkServiceServer struct { } func (*UnimplementedTapSinkServiceServer) StreamTaps(TapSinkService_StreamTapsServer) error { return status.Errorf(codes.Unimplemented, "method StreamTaps not implemented") } func RegisterTapSinkServiceServer(s *grpc.Server, srv TapSinkServiceServer) { s.RegisterService(&_TapSinkService_serviceDesc, srv) } func _TapSinkService_StreamTaps_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(TapSinkServiceServer).StreamTaps(&tapSinkServiceStreamTapsServer{stream}) } type TapSinkService_StreamTapsServer interface { SendAndClose(*StreamTapsResponse) error Recv() (*StreamTapsRequest, error) grpc.ServerStream } type tapSinkServiceStreamTapsServer struct { grpc.ServerStream } func (x *tapSinkServiceStreamTapsServer) SendAndClose(m *StreamTapsResponse) error { return x.ServerStream.SendMsg(m) } func (x *tapSinkServiceStreamTapsServer) Recv() (*StreamTapsRequest, error) { m := new(StreamTapsRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _TapSinkService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.tap.v3.TapSinkService", HandlerType: (*TapSinkServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamTaps", Handler: _TapSinkService_StreamTaps_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/tap/v3/tap.proto", } go-control-plane-0.12.0/envoy/service/tap/v3/tap.pb.validate.go000077500000000000000000000275021454502223200242010ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/tap/v3/tap.proto package tapv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamTapsRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *StreamTapsRequest) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsRequestMultiError, or nil if none found. func (m *StreamTapsRequest) ValidateAll() error { return m.validate(true) } func (m *StreamTapsRequest) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequestValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TraceId if all { switch v := interface{}(m.GetTrace()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTrace()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequestValidationError{ field: "Trace", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamTapsRequestMultiError(errors) } return nil } // StreamTapsRequestMultiError is an error wrapping multiple validation errors // returned by StreamTapsRequest.ValidateAll() if the designated constraints // aren't met. type StreamTapsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsRequestMultiError) AllErrors() []error { return m } // StreamTapsRequestValidationError is the validation error returned by // StreamTapsRequest.Validate if the designated constraints aren't met. type StreamTapsRequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsRequestValidationError) ErrorName() string { return "StreamTapsRequestValidationError" } // Error satisfies the builtin error interface func (e StreamTapsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsRequest.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsRequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsRequestValidationError{} // Validate checks the field values on StreamTapsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTapsResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsResponseMultiError, or nil if none found. func (m *StreamTapsResponse) ValidateAll() error { return m.validate(true) } func (m *StreamTapsResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamTapsResponseMultiError(errors) } return nil } // StreamTapsResponseMultiError is an error wrapping multiple validation errors // returned by StreamTapsResponse.ValidateAll() if the designated constraints // aren't met. type StreamTapsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsResponseMultiError) AllErrors() []error { return m } // StreamTapsResponseValidationError is the validation error returned by // StreamTapsResponse.Validate if the designated constraints aren't met. type StreamTapsResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsResponseValidationError) ErrorName() string { return "StreamTapsResponseValidationError" } // Error satisfies the builtin error interface func (e StreamTapsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsResponseValidationError{} // Validate checks the field values on StreamTapsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTapsRequest_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTapsRequest_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTapsRequest_IdentifierMultiError, or nil if none found. func (m *StreamTapsRequest_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamTapsRequest_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTapsRequest_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } // no validation rules for TapId if len(errors) > 0 { return StreamTapsRequest_IdentifierMultiError(errors) } return nil } // StreamTapsRequest_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamTapsRequest_Identifier.ValidateAll() if // the designated constraints aren't met. type StreamTapsRequest_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTapsRequest_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTapsRequest_IdentifierMultiError) AllErrors() []error { return m } // StreamTapsRequest_IdentifierValidationError is the validation error returned // by StreamTapsRequest_Identifier.Validate if the designated constraints // aren't met. type StreamTapsRequest_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTapsRequest_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTapsRequest_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTapsRequest_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTapsRequest_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTapsRequest_IdentifierValidationError) ErrorName() string { return "StreamTapsRequest_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamTapsRequest_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTapsRequest_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTapsRequest_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTapsRequest_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/trace/000077500000000000000000000000001454502223200206475ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/trace/v2/000077500000000000000000000000001454502223200211765ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/trace/v2/trace_service.pb.go000077500000000000000000000425161454502223200247560ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/trace/v2/trace_service.proto package tracev2 import ( context "context" v1 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" _ "github.com/cncf/xds/go/udpa/annotations" core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type StreamTracesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamTracesResponse) Reset() { *x = StreamTracesResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesResponse) ProtoMessage() {} func (x *StreamTracesResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesResponse.ProtoReflect.Descriptor instead. func (*StreamTracesResponse) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v2_trace_service_proto_rawDescGZIP(), []int{0} } type StreamTracesMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. // As a performance optimization this will only be sent in the first message // on the stream. Identifier *StreamTracesMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // A list of Span entries Spans []*v1.Span `protobuf:"bytes,2,rep,name=spans,proto3" json:"spans,omitempty"` } func (x *StreamTracesMessage) Reset() { *x = StreamTracesMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesMessage) ProtoMessage() {} func (x *StreamTracesMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesMessage.ProtoReflect.Descriptor instead. func (*StreamTracesMessage) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v2_trace_service_proto_rawDescGZIP(), []int{1} } func (x *StreamTracesMessage) GetIdentifier() *StreamTracesMessage_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamTracesMessage) GetSpans() []*v1.Span { if x != nil { return x.Spans } return nil } type StreamTracesMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the access log messages over the stream. Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamTracesMessage_Identifier) Reset() { *x = StreamTracesMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesMessage_Identifier) ProtoMessage() {} func (x *StreamTracesMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v2_trace_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamTracesMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v2_trace_service_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamTracesMessage_Identifier) GetNode() *core.Node { if x != nil { return x.Node } return nil } var File_envoy_service_trace_v2_trace_service_proto protoreflect.FileDescriptor var file_envoy_service_trace_v2_trace_service_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x7d, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x8a, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x11, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_trace_v2_trace_service_proto_rawDescOnce sync.Once file_envoy_service_trace_v2_trace_service_proto_rawDescData = file_envoy_service_trace_v2_trace_service_proto_rawDesc ) func file_envoy_service_trace_v2_trace_service_proto_rawDescGZIP() []byte { file_envoy_service_trace_v2_trace_service_proto_rawDescOnce.Do(func() { file_envoy_service_trace_v2_trace_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_trace_v2_trace_service_proto_rawDescData) }) return file_envoy_service_trace_v2_trace_service_proto_rawDescData } var file_envoy_service_trace_v2_trace_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_trace_v2_trace_service_proto_goTypes = []interface{}{ (*StreamTracesResponse)(nil), // 0: envoy.service.trace.v2.StreamTracesResponse (*StreamTracesMessage)(nil), // 1: envoy.service.trace.v2.StreamTracesMessage (*StreamTracesMessage_Identifier)(nil), // 2: envoy.service.trace.v2.StreamTracesMessage.Identifier (*v1.Span)(nil), // 3: opencensus.proto.trace.v1.Span (*core.Node)(nil), // 4: envoy.api.v2.core.Node } var file_envoy_service_trace_v2_trace_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.trace.v2.StreamTracesMessage.identifier:type_name -> envoy.service.trace.v2.StreamTracesMessage.Identifier 3, // 1: envoy.service.trace.v2.StreamTracesMessage.spans:type_name -> opencensus.proto.trace.v1.Span 4, // 2: envoy.service.trace.v2.StreamTracesMessage.Identifier.node:type_name -> envoy.api.v2.core.Node 1, // 3: envoy.service.trace.v2.TraceService.StreamTraces:input_type -> envoy.service.trace.v2.StreamTracesMessage 0, // 4: envoy.service.trace.v2.TraceService.StreamTraces:output_type -> envoy.service.trace.v2.StreamTracesResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_trace_v2_trace_service_proto_init() } func file_envoy_service_trace_v2_trace_service_proto_init() { if File_envoy_service_trace_v2_trace_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_trace_v2_trace_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_trace_v2_trace_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_trace_v2_trace_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_trace_v2_trace_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_trace_v2_trace_service_proto_goTypes, DependencyIndexes: file_envoy_service_trace_v2_trace_service_proto_depIdxs, MessageInfos: file_envoy_service_trace_v2_trace_service_proto_msgTypes, }.Build() File_envoy_service_trace_v2_trace_service_proto = out.File file_envoy_service_trace_v2_trace_service_proto_rawDesc = nil file_envoy_service_trace_v2_trace_service_proto_goTypes = nil file_envoy_service_trace_v2_trace_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // TraceServiceClient is the client API for TraceService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type TraceServiceClient interface { // Envoy will connect and send StreamTracesMessage messages forever. It does // not expect any response to be sent as nothing would be done in the case // of failure. StreamTraces(ctx context.Context, opts ...grpc.CallOption) (TraceService_StreamTracesClient, error) } type traceServiceClient struct { cc grpc.ClientConnInterface } func NewTraceServiceClient(cc grpc.ClientConnInterface) TraceServiceClient { return &traceServiceClient{cc} } func (c *traceServiceClient) StreamTraces(ctx context.Context, opts ...grpc.CallOption) (TraceService_StreamTracesClient, error) { stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[0], "/envoy.service.trace.v2.TraceService/StreamTraces", opts...) if err != nil { return nil, err } x := &traceServiceStreamTracesClient{stream} return x, nil } type TraceService_StreamTracesClient interface { Send(*StreamTracesMessage) error CloseAndRecv() (*StreamTracesResponse, error) grpc.ClientStream } type traceServiceStreamTracesClient struct { grpc.ClientStream } func (x *traceServiceStreamTracesClient) Send(m *StreamTracesMessage) error { return x.ClientStream.SendMsg(m) } func (x *traceServiceStreamTracesClient) CloseAndRecv() (*StreamTracesResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamTracesResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // TraceServiceServer is the server API for TraceService service. type TraceServiceServer interface { // Envoy will connect and send StreamTracesMessage messages forever. It does // not expect any response to be sent as nothing would be done in the case // of failure. StreamTraces(TraceService_StreamTracesServer) error } // UnimplementedTraceServiceServer can be embedded to have forward compatible implementations. type UnimplementedTraceServiceServer struct { } func (*UnimplementedTraceServiceServer) StreamTraces(TraceService_StreamTracesServer) error { return status.Errorf(codes.Unimplemented, "method StreamTraces not implemented") } func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) { s.RegisterService(&_TraceService_serviceDesc, srv) } func _TraceService_StreamTraces_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(TraceServiceServer).StreamTraces(&traceServiceStreamTracesServer{stream}) } type TraceService_StreamTracesServer interface { SendAndClose(*StreamTracesResponse) error Recv() (*StreamTracesMessage, error) grpc.ServerStream } type traceServiceStreamTracesServer struct { grpc.ServerStream } func (x *traceServiceStreamTracesServer) SendAndClose(m *StreamTracesResponse) error { return x.ServerStream.SendMsg(m) } func (x *traceServiceStreamTracesServer) Recv() (*StreamTracesMessage, error) { m := new(StreamTracesMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _TraceService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.trace.v2.TraceService", HandlerType: (*TraceServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamTraces", Handler: _TraceService_StreamTraces_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/trace/v2/trace_service.proto", } go-control-plane-0.12.0/envoy/service/trace/v2/trace_service.pb.validate.go000077500000000000000000000300771454502223200265450ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/trace/v2/trace_service.proto package tracev2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamTracesResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTracesResponseMultiError, or nil if none found. func (m *StreamTracesResponse) ValidateAll() error { return m.validate(true) } func (m *StreamTracesResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamTracesResponseMultiError(errors) } return nil } // StreamTracesResponseMultiError is an error wrapping multiple validation // errors returned by StreamTracesResponse.ValidateAll() if the designated // constraints aren't met. type StreamTracesResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesResponseMultiError) AllErrors() []error { return m } // StreamTracesResponseValidationError is the validation error returned by // StreamTracesResponse.Validate if the designated constraints aren't met. type StreamTracesResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesResponseValidationError) ErrorName() string { return "StreamTracesResponseValidationError" } // Error satisfies the builtin error interface func (e StreamTracesResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesResponseValidationError{} // Validate checks the field values on StreamTracesMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTracesMessageMultiError, or nil if none found. func (m *StreamTracesMessage) ValidateAll() error { return m.validate(true) } func (m *StreamTracesMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSpans() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamTracesMessageMultiError(errors) } return nil } // StreamTracesMessageMultiError is an error wrapping multiple validation // errors returned by StreamTracesMessage.ValidateAll() if the designated // constraints aren't met. type StreamTracesMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesMessageMultiError) AllErrors() []error { return m } // StreamTracesMessageValidationError is the validation error returned by // StreamTracesMessage.Validate if the designated constraints aren't met. type StreamTracesMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesMessageValidationError) ErrorName() string { return "StreamTracesMessageValidationError" } // Error satisfies the builtin error interface func (e StreamTracesMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesMessageValidationError{} // Validate checks the field values on StreamTracesMessage_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamTracesMessage_IdentifierMultiError, or nil if none found. func (m *StreamTracesMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamTracesMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamTracesMessage_IdentifierMultiError(errors) } return nil } // StreamTracesMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamTracesMessage_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamTracesMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamTracesMessage_IdentifierValidationError is the validation error // returned by StreamTracesMessage_Identifier.Validate if the designated // constraints aren't met. type StreamTracesMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesMessage_IdentifierValidationError) ErrorName() string { return "StreamTracesMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamTracesMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesMessage_IdentifierValidationError{} go-control-plane-0.12.0/envoy/service/trace/v3/000077500000000000000000000000001454502223200211775ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/service/trace/v3/trace_service.pb.go000077500000000000000000000450701454502223200247550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/service/trace/v3/trace_service.proto package tracev3 import ( context "context" v1 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type StreamTracesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamTracesResponse) Reset() { *x = StreamTracesResponse{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesResponse) ProtoMessage() {} func (x *StreamTracesResponse) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesResponse.ProtoReflect.Descriptor instead. func (*StreamTracesResponse) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v3_trace_service_proto_rawDescGZIP(), []int{0} } type StreamTracesMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifier data effectively is a structured metadata. // As a performance optimization this will only be sent in the first message // on the stream. Identifier *StreamTracesMessage_Identifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // A list of Span entries Spans []*v1.Span `protobuf:"bytes,2,rep,name=spans,proto3" json:"spans,omitempty"` } func (x *StreamTracesMessage) Reset() { *x = StreamTracesMessage{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesMessage) ProtoMessage() {} func (x *StreamTracesMessage) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesMessage.ProtoReflect.Descriptor instead. func (*StreamTracesMessage) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v3_trace_service_proto_rawDescGZIP(), []int{1} } func (x *StreamTracesMessage) GetIdentifier() *StreamTracesMessage_Identifier { if x != nil { return x.Identifier } return nil } func (x *StreamTracesMessage) GetSpans() []*v1.Span { if x != nil { return x.Spans } return nil } type StreamTracesMessage_Identifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The node sending the access log messages over the stream. Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` } func (x *StreamTracesMessage_Identifier) Reset() { *x = StreamTracesMessage_Identifier{} if protoimpl.UnsafeEnabled { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamTracesMessage_Identifier) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTracesMessage_Identifier) ProtoMessage() {} func (x *StreamTracesMessage_Identifier) ProtoReflect() protoreflect.Message { mi := &file_envoy_service_trace_v3_trace_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTracesMessage_Identifier.ProtoReflect.Descriptor instead. func (*StreamTracesMessage_Identifier) Descriptor() ([]byte, []int) { return file_envoy_service_trace_v3_trace_service_proto_rawDescGZIP(), []int{1, 0} } func (x *StreamTracesMessage_Identifier) GetNode() *v3.Node { if x != nil { return x.Node } return nil } var File_envoy_service_trace_v3_trace_service_proto protoreflect.FileDescriptor var file_envoy_service_trace_v3_trace_service_proto_rawDesc = []byte{ 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x3a, 0x3c, 0x9a, 0xc5, 0x88, 0x1e, 0x37, 0x0a, 0x35, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x7d, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x42, 0x8a, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_service_trace_v3_trace_service_proto_rawDescOnce sync.Once file_envoy_service_trace_v3_trace_service_proto_rawDescData = file_envoy_service_trace_v3_trace_service_proto_rawDesc ) func file_envoy_service_trace_v3_trace_service_proto_rawDescGZIP() []byte { file_envoy_service_trace_v3_trace_service_proto_rawDescOnce.Do(func() { file_envoy_service_trace_v3_trace_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_trace_v3_trace_service_proto_rawDescData) }) return file_envoy_service_trace_v3_trace_service_proto_rawDescData } var file_envoy_service_trace_v3_trace_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_service_trace_v3_trace_service_proto_goTypes = []interface{}{ (*StreamTracesResponse)(nil), // 0: envoy.service.trace.v3.StreamTracesResponse (*StreamTracesMessage)(nil), // 1: envoy.service.trace.v3.StreamTracesMessage (*StreamTracesMessage_Identifier)(nil), // 2: envoy.service.trace.v3.StreamTracesMessage.Identifier (*v1.Span)(nil), // 3: opencensus.proto.trace.v1.Span (*v3.Node)(nil), // 4: envoy.config.core.v3.Node } var file_envoy_service_trace_v3_trace_service_proto_depIdxs = []int32{ 2, // 0: envoy.service.trace.v3.StreamTracesMessage.identifier:type_name -> envoy.service.trace.v3.StreamTracesMessage.Identifier 3, // 1: envoy.service.trace.v3.StreamTracesMessage.spans:type_name -> opencensus.proto.trace.v1.Span 4, // 2: envoy.service.trace.v3.StreamTracesMessage.Identifier.node:type_name -> envoy.config.core.v3.Node 1, // 3: envoy.service.trace.v3.TraceService.StreamTraces:input_type -> envoy.service.trace.v3.StreamTracesMessage 0, // 4: envoy.service.trace.v3.TraceService.StreamTraces:output_type -> envoy.service.trace.v3.StreamTracesResponse 4, // [4:5] is the sub-list for method output_type 3, // [3:4] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_service_trace_v3_trace_service_proto_init() } func file_envoy_service_trace_v3_trace_service_proto_init() { if File_envoy_service_trace_v3_trace_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_service_trace_v3_trace_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_trace_v3_trace_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_service_trace_v3_trace_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTracesMessage_Identifier); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_service_trace_v3_trace_service_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, GoTypes: file_envoy_service_trace_v3_trace_service_proto_goTypes, DependencyIndexes: file_envoy_service_trace_v3_trace_service_proto_depIdxs, MessageInfos: file_envoy_service_trace_v3_trace_service_proto_msgTypes, }.Build() File_envoy_service_trace_v3_trace_service_proto = out.File file_envoy_service_trace_v3_trace_service_proto_rawDesc = nil file_envoy_service_trace_v3_trace_service_proto_goTypes = nil file_envoy_service_trace_v3_trace_service_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // TraceServiceClient is the client API for TraceService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type TraceServiceClient interface { // Envoy will connect and send StreamTracesMessage messages forever. It does // not expect any response to be sent as nothing would be done in the case // of failure. StreamTraces(ctx context.Context, opts ...grpc.CallOption) (TraceService_StreamTracesClient, error) } type traceServiceClient struct { cc grpc.ClientConnInterface } func NewTraceServiceClient(cc grpc.ClientConnInterface) TraceServiceClient { return &traceServiceClient{cc} } func (c *traceServiceClient) StreamTraces(ctx context.Context, opts ...grpc.CallOption) (TraceService_StreamTracesClient, error) { stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[0], "/envoy.service.trace.v3.TraceService/StreamTraces", opts...) if err != nil { return nil, err } x := &traceServiceStreamTracesClient{stream} return x, nil } type TraceService_StreamTracesClient interface { Send(*StreamTracesMessage) error CloseAndRecv() (*StreamTracesResponse, error) grpc.ClientStream } type traceServiceStreamTracesClient struct { grpc.ClientStream } func (x *traceServiceStreamTracesClient) Send(m *StreamTracesMessage) error { return x.ClientStream.SendMsg(m) } func (x *traceServiceStreamTracesClient) CloseAndRecv() (*StreamTracesResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(StreamTracesResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // TraceServiceServer is the server API for TraceService service. type TraceServiceServer interface { // Envoy will connect and send StreamTracesMessage messages forever. It does // not expect any response to be sent as nothing would be done in the case // of failure. StreamTraces(TraceService_StreamTracesServer) error } // UnimplementedTraceServiceServer can be embedded to have forward compatible implementations. type UnimplementedTraceServiceServer struct { } func (*UnimplementedTraceServiceServer) StreamTraces(TraceService_StreamTracesServer) error { return status.Errorf(codes.Unimplemented, "method StreamTraces not implemented") } func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) { s.RegisterService(&_TraceService_serviceDesc, srv) } func _TraceService_StreamTraces_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(TraceServiceServer).StreamTraces(&traceServiceStreamTracesServer{stream}) } type TraceService_StreamTracesServer interface { SendAndClose(*StreamTracesResponse) error Recv() (*StreamTracesMessage, error) grpc.ServerStream } type traceServiceStreamTracesServer struct { grpc.ServerStream } func (x *traceServiceStreamTracesServer) SendAndClose(m *StreamTracesResponse) error { return x.ServerStream.SendMsg(m) } func (x *traceServiceStreamTracesServer) Recv() (*StreamTracesMessage, error) { m := new(StreamTracesMessage) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _TraceService_serviceDesc = grpc.ServiceDesc{ ServiceName: "envoy.service.trace.v3.TraceService", HandlerType: (*TraceServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "StreamTraces", Handler: _TraceService_StreamTraces_Handler, ClientStreams: true, }, }, Metadata: "envoy/service/trace/v3/trace_service.proto", } go-control-plane-0.12.0/envoy/service/trace/v3/trace_service.pb.validate.go000077500000000000000000000300771454502223200265460ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/service/trace/v3/trace_service.proto package tracev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StreamTracesResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesResponse) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTracesResponseMultiError, or nil if none found. func (m *StreamTracesResponse) ValidateAll() error { return m.validate(true) } func (m *StreamTracesResponse) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return StreamTracesResponseMultiError(errors) } return nil } // StreamTracesResponseMultiError is an error wrapping multiple validation // errors returned by StreamTracesResponse.ValidateAll() if the designated // constraints aren't met. type StreamTracesResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesResponseMultiError) AllErrors() []error { return m } // StreamTracesResponseValidationError is the validation error returned by // StreamTracesResponse.Validate if the designated constraints aren't met. type StreamTracesResponseValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesResponseValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesResponseValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesResponseValidationError) ErrorName() string { return "StreamTracesResponseValidationError" } // Error satisfies the builtin error interface func (e StreamTracesResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesResponse.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesResponseValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesResponseValidationError{} // Validate checks the field values on StreamTracesMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesMessage) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesMessage with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StreamTracesMessageMultiError, or nil if none found. func (m *StreamTracesMessage) ValidateAll() error { return m.validate(true) } func (m *StreamTracesMessage) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetIdentifier()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetIdentifier()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessageValidationError{ field: "Identifier", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetSpans() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessageValidationError{ field: fmt.Sprintf("Spans[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return StreamTracesMessageMultiError(errors) } return nil } // StreamTracesMessageMultiError is an error wrapping multiple validation // errors returned by StreamTracesMessage.ValidateAll() if the designated // constraints aren't met. type StreamTracesMessageMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesMessageMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesMessageMultiError) AllErrors() []error { return m } // StreamTracesMessageValidationError is the validation error returned by // StreamTracesMessage.Validate if the designated constraints aren't met. type StreamTracesMessageValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesMessageValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesMessageValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesMessageValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesMessageValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesMessageValidationError) ErrorName() string { return "StreamTracesMessageValidationError" } // Error satisfies the builtin error interface func (e StreamTracesMessageValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesMessage.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesMessageValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesMessageValidationError{} // Validate checks the field values on StreamTracesMessage_Identifier with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StreamTracesMessage_Identifier) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StreamTracesMessage_Identifier with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // StreamTracesMessage_IdentifierMultiError, or nil if none found. func (m *StreamTracesMessage_Identifier) ValidateAll() error { return m.validate(true) } func (m *StreamTracesMessage_Identifier) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetNode() == nil { err := StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetNode()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNode()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StreamTracesMessage_IdentifierValidationError{ field: "Node", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StreamTracesMessage_IdentifierMultiError(errors) } return nil } // StreamTracesMessage_IdentifierMultiError is an error wrapping multiple // validation errors returned by StreamTracesMessage_Identifier.ValidateAll() // if the designated constraints aren't met. type StreamTracesMessage_IdentifierMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StreamTracesMessage_IdentifierMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StreamTracesMessage_IdentifierMultiError) AllErrors() []error { return m } // StreamTracesMessage_IdentifierValidationError is the validation error // returned by StreamTracesMessage_Identifier.Validate if the designated // constraints aren't met. type StreamTracesMessage_IdentifierValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StreamTracesMessage_IdentifierValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StreamTracesMessage_IdentifierValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StreamTracesMessage_IdentifierValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StreamTracesMessage_IdentifierValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StreamTracesMessage_IdentifierValidationError) ErrorName() string { return "StreamTracesMessage_IdentifierValidationError" } // Error satisfies the builtin error interface func (e StreamTracesMessage_IdentifierValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStreamTracesMessage_Identifier.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StreamTracesMessage_IdentifierValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StreamTracesMessage_IdentifierValidationError{} go-control-plane-0.12.0/envoy/type/000077500000000000000000000000001454502223200170725ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/hash_policy.pb.go000077500000000000000000000203141454502223200223260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/hash_policy.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the hash policy type HashPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PolicySpecifier: // // *HashPolicy_SourceIp_ PolicySpecifier isHashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` } func (x *HashPolicy) Reset() { *x = HashPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_hash_policy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HashPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HashPolicy) ProtoMessage() {} func (x *HashPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_hash_policy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HashPolicy.ProtoReflect.Descriptor instead. func (*HashPolicy) Descriptor() ([]byte, []int) { return file_envoy_type_hash_policy_proto_rawDescGZIP(), []int{0} } func (m *HashPolicy) GetPolicySpecifier() isHashPolicy_PolicySpecifier { if m != nil { return m.PolicySpecifier } return nil } func (x *HashPolicy) GetSourceIp() *HashPolicy_SourceIp { if x, ok := x.GetPolicySpecifier().(*HashPolicy_SourceIp_); ok { return x.SourceIp } return nil } type isHashPolicy_PolicySpecifier interface { isHashPolicy_PolicySpecifier() } type HashPolicy_SourceIp_ struct { SourceIp *HashPolicy_SourceIp `protobuf:"bytes,1,opt,name=source_ip,json=sourceIp,proto3,oneof"` } func (*HashPolicy_SourceIp_) isHashPolicy_PolicySpecifier() {} // The source IP will be used to compute the hash used by hash-based load balancing // algorithms. type HashPolicy_SourceIp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HashPolicy_SourceIp) Reset() { *x = HashPolicy_SourceIp{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_hash_policy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HashPolicy_SourceIp) String() string { return protoimpl.X.MessageStringOf(x) } func (*HashPolicy_SourceIp) ProtoMessage() {} func (x *HashPolicy_SourceIp) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_hash_policy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HashPolicy_SourceIp.ProtoReflect.Descriptor instead. func (*HashPolicy_SourceIp) Descriptor() ([]byte, []int) { return file_envoy_type_hash_policy_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_type_hash_policy_proto protoreflect.FileDescriptor var file_envoy_type_hash_policy_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x1a, 0x0a, 0x0a, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x42, 0x17, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x68, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_hash_policy_proto_rawDescOnce sync.Once file_envoy_type_hash_policy_proto_rawDescData = file_envoy_type_hash_policy_proto_rawDesc ) func file_envoy_type_hash_policy_proto_rawDescGZIP() []byte { file_envoy_type_hash_policy_proto_rawDescOnce.Do(func() { file_envoy_type_hash_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_hash_policy_proto_rawDescData) }) return file_envoy_type_hash_policy_proto_rawDescData } var file_envoy_type_hash_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_hash_policy_proto_goTypes = []interface{}{ (*HashPolicy)(nil), // 0: envoy.type.HashPolicy (*HashPolicy_SourceIp)(nil), // 1: envoy.type.HashPolicy.SourceIp } var file_envoy_type_hash_policy_proto_depIdxs = []int32{ 1, // 0: envoy.type.HashPolicy.source_ip:type_name -> envoy.type.HashPolicy.SourceIp 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_hash_policy_proto_init() } func file_envoy_type_hash_policy_proto_init() { if File_envoy_type_hash_policy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_hash_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HashPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_hash_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HashPolicy_SourceIp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_hash_policy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HashPolicy_SourceIp_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_hash_policy_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_hash_policy_proto_goTypes, DependencyIndexes: file_envoy_type_hash_policy_proto_depIdxs, MessageInfos: file_envoy_type_hash_policy_proto_msgTypes, }.Build() File_envoy_type_hash_policy_proto = out.File file_envoy_type_hash_policy_proto_rawDesc = nil file_envoy_type_hash_policy_proto_goTypes = nil file_envoy_type_hash_policy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/hash_policy.pb.validate.go000077500000000000000000000165141454502223200241250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/hash_policy.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HashPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HashPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HashPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HashPolicyMultiError, or // nil if none found. func (m *HashPolicy) ValidateAll() error { return m.validate(true) } func (m *HashPolicy) validate(all bool) error { if m == nil { return nil } var errors []error oneofPolicySpecifierPresent := false switch v := m.PolicySpecifier.(type) { case *HashPolicy_SourceIp_: if v == nil { err := HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetSourceIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPolicySpecifierPresent { err := HashPolicyValidationError{ field: "PolicySpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HashPolicyMultiError(errors) } return nil } // HashPolicyMultiError is an error wrapping multiple validation errors // returned by HashPolicy.ValidateAll() if the designated constraints aren't met. type HashPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HashPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HashPolicyMultiError) AllErrors() []error { return m } // HashPolicyValidationError is the validation error returned by // HashPolicy.Validate if the designated constraints aren't met. type HashPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HashPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HashPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HashPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HashPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HashPolicyValidationError) ErrorName() string { return "HashPolicyValidationError" } // Error satisfies the builtin error interface func (e HashPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHashPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HashPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HashPolicyValidationError{} // Validate checks the field values on HashPolicy_SourceIp with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HashPolicy_SourceIp) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HashPolicy_SourceIp with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HashPolicy_SourceIpMultiError, or nil if none found. func (m *HashPolicy_SourceIp) ValidateAll() error { return m.validate(true) } func (m *HashPolicy_SourceIp) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HashPolicy_SourceIpMultiError(errors) } return nil } // HashPolicy_SourceIpMultiError is an error wrapping multiple validation // errors returned by HashPolicy_SourceIp.ValidateAll() if the designated // constraints aren't met. type HashPolicy_SourceIpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HashPolicy_SourceIpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HashPolicy_SourceIpMultiError) AllErrors() []error { return m } // HashPolicy_SourceIpValidationError is the validation error returned by // HashPolicy_SourceIp.Validate if the designated constraints aren't met. type HashPolicy_SourceIpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HashPolicy_SourceIpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HashPolicy_SourceIpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HashPolicy_SourceIpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HashPolicy_SourceIpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HashPolicy_SourceIpValidationError) ErrorName() string { return "HashPolicy_SourceIpValidationError" } // Error satisfies the builtin error interface func (e HashPolicy_SourceIpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHashPolicy_SourceIp.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HashPolicy_SourceIpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HashPolicy_SourceIpValidationError{} go-control-plane-0.12.0/envoy/type/http.pb.go000077500000000000000000000120211454502223200207770ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/http.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CodecClientType int32 const ( CodecClientType_HTTP1 CodecClientType = 0 CodecClientType_HTTP2 CodecClientType = 1 // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient // to distinguish HTTP1 and HTTP2 traffic. CodecClientType_HTTP3 CodecClientType = 2 ) // Enum value maps for CodecClientType. var ( CodecClientType_name = map[int32]string{ 0: "HTTP1", 1: "HTTP2", 2: "HTTP3", } CodecClientType_value = map[string]int32{ "HTTP1": 0, "HTTP2": 1, "HTTP3": 2, } ) func (x CodecClientType) Enum() *CodecClientType { p := new(CodecClientType) *p = x return p } func (x CodecClientType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CodecClientType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_http_proto_enumTypes[0].Descriptor() } func (CodecClientType) Type() protoreflect.EnumType { return &file_envoy_type_http_proto_enumTypes[0] } func (x CodecClientType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CodecClientType.Descriptor instead. func (CodecClientType) EnumDescriptor() ([]byte, []int) { return file_envoy_type_http_proto_rawDescGZIP(), []int{0} } var File_envoy_type_http_proto protoreflect.FileDescriptor var file_envoy_type_http_proto_rawDesc = []byte{ 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x31, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x02, 0x42, 0x62, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_http_proto_rawDescOnce sync.Once file_envoy_type_http_proto_rawDescData = file_envoy_type_http_proto_rawDesc ) func file_envoy_type_http_proto_rawDescGZIP() []byte { file_envoy_type_http_proto_rawDescOnce.Do(func() { file_envoy_type_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_http_proto_rawDescData) }) return file_envoy_type_http_proto_rawDescData } var file_envoy_type_http_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_http_proto_goTypes = []interface{}{ (CodecClientType)(0), // 0: envoy.type.CodecClientType } var file_envoy_type_http_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_http_proto_init() } func file_envoy_type_http_proto_init() { if File_envoy_type_http_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_http_proto_rawDesc, NumEnums: 1, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_http_proto_goTypes, DependencyIndexes: file_envoy_type_http_proto_depIdxs, EnumInfos: file_envoy_type_http_proto_enumTypes, }.Build() File_envoy_type_http_proto = out.File file_envoy_type_http_proto_rawDesc = nil file_envoy_type_http_proto_goTypes = nil file_envoy_type_http_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/http.pb.validate.go000077500000000000000000000010551454502223200225740ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/http.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/type/http/000077500000000000000000000000001454502223200200515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/http/v3/000077500000000000000000000000001454502223200204015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/http/v3/cookie.pb.go000077500000000000000000000165611454502223200226150ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/http/v3/cookie.proto package httpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Cookie defines an API for obtaining or generating HTTP cookie. type Cookie struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name that will be used to obtain cookie value from downstream HTTP request or generate // new cookie for downstream. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Duration of cookie. This will be used to set the expiry time of a new cookie when it is // generated. Set this to 0 to use a session cookie. Ttl *duration.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"` // Path of cookie. This will be used to set the path of a new cookie when it is generated. // If no path is specified here, no path will be set for the cookie. Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } func (x *Cookie) Reset() { *x = Cookie{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_v3_cookie_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cookie) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cookie) ProtoMessage() {} func (x *Cookie) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_v3_cookie_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cookie.ProtoReflect.Descriptor instead. func (*Cookie) Descriptor() ([]byte, []int) { return file_envoy_type_http_v3_cookie_proto_rawDescGZIP(), []int{0} } func (x *Cookie) GetName() string { if x != nil { return x.Name } return "" } func (x *Cookie) GetTtl() *duration.Duration { if x != nil { return x.Ttl } return nil } func (x *Cookie) GetPath() string { if x != nil { return x.Path } return "" } var File_envoy_type_http_v3_cookie_proto protoreflect.FileDescriptor var file_envoy_type_http_v3_cookie_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x7b, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_http_v3_cookie_proto_rawDescOnce sync.Once file_envoy_type_http_v3_cookie_proto_rawDescData = file_envoy_type_http_v3_cookie_proto_rawDesc ) func file_envoy_type_http_v3_cookie_proto_rawDescGZIP() []byte { file_envoy_type_http_v3_cookie_proto_rawDescOnce.Do(func() { file_envoy_type_http_v3_cookie_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_http_v3_cookie_proto_rawDescData) }) return file_envoy_type_http_v3_cookie_proto_rawDescData } var file_envoy_type_http_v3_cookie_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_http_v3_cookie_proto_goTypes = []interface{}{ (*Cookie)(nil), // 0: envoy.type.http.v3.Cookie (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_type_http_v3_cookie_proto_depIdxs = []int32{ 1, // 0: envoy.type.http.v3.Cookie.ttl:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_http_v3_cookie_proto_init() } func file_envoy_type_http_v3_cookie_proto_init() { if File_envoy_type_http_v3_cookie_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_http_v3_cookie_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cookie); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_http_v3_cookie_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_http_v3_cookie_proto_goTypes, DependencyIndexes: file_envoy_type_http_v3_cookie_proto_depIdxs, MessageInfos: file_envoy_type_http_v3_cookie_proto_msgTypes, }.Build() File_envoy_type_http_v3_cookie_proto = out.File file_envoy_type_http_v3_cookie_proto_rawDesc = nil file_envoy_type_http_v3_cookie_proto_goTypes = nil file_envoy_type_http_v3_cookie_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/http/v3/cookie.pb.validate.go000077500000000000000000000075171454502223200244060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/http/v3/cookie.proto package httpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Cookie with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Cookie) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Cookie with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in CookieMultiError, or nil if none found. func (m *Cookie) ValidateAll() error { return m.validate(true) } func (m *Cookie) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := CookieValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if d := m.GetTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = CookieValidationError{ field: "Ttl", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gte := time.Duration(0*time.Second + 0*time.Nanosecond) if dur < gte { err := CookieValidationError{ field: "Ttl", reason: "value must be greater than or equal to 0s", } if !all { return err } errors = append(errors, err) } } } // no validation rules for Path if len(errors) > 0 { return CookieMultiError(errors) } return nil } // CookieMultiError is an error wrapping multiple validation errors returned by // Cookie.ValidateAll() if the designated constraints aren't met. type CookieMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CookieMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CookieMultiError) AllErrors() []error { return m } // CookieValidationError is the validation error returned by Cookie.Validate if // the designated constraints aren't met. type CookieValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CookieValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CookieValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CookieValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CookieValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CookieValidationError) ErrorName() string { return "CookieValidationError" } // Error satisfies the builtin error interface func (e CookieValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCookie.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CookieValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CookieValidationError{} go-control-plane-0.12.0/envoy/type/http/v3/path_transformation.pb.go000077500000000000000000000425731454502223200254300ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/http/v3/path_transformation.proto package httpv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type PathTransformation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A list of operations to apply. Transformations will be performed in the order that they appear. Operations []*PathTransformation_Operation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"` } func (x *PathTransformation) Reset() { *x = PathTransformation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathTransformation) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathTransformation) ProtoMessage() {} func (x *PathTransformation) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathTransformation.ProtoReflect.Descriptor instead. func (*PathTransformation) Descriptor() ([]byte, []int) { return file_envoy_type_http_v3_path_transformation_proto_rawDescGZIP(), []int{0} } func (x *PathTransformation) GetOperations() []*PathTransformation_Operation { if x != nil { return x.Operations } return nil } // A type of operation to alter text. type PathTransformation_Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to OperationSpecifier: // // *PathTransformation_Operation_NormalizePathRfc_3986 // *PathTransformation_Operation_MergeSlashes_ OperationSpecifier isPathTransformation_Operation_OperationSpecifier `protobuf_oneof:"operation_specifier"` } func (x *PathTransformation_Operation) Reset() { *x = PathTransformation_Operation{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathTransformation_Operation) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathTransformation_Operation) ProtoMessage() {} func (x *PathTransformation_Operation) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathTransformation_Operation.ProtoReflect.Descriptor instead. func (*PathTransformation_Operation) Descriptor() ([]byte, []int) { return file_envoy_type_http_v3_path_transformation_proto_rawDescGZIP(), []int{0, 0} } func (m *PathTransformation_Operation) GetOperationSpecifier() isPathTransformation_Operation_OperationSpecifier { if m != nil { return m.OperationSpecifier } return nil } func (x *PathTransformation_Operation) GetNormalizePathRfc_3986() *PathTransformation_Operation_NormalizePathRFC3986 { if x, ok := x.GetOperationSpecifier().(*PathTransformation_Operation_NormalizePathRfc_3986); ok { return x.NormalizePathRfc_3986 } return nil } func (x *PathTransformation_Operation) GetMergeSlashes() *PathTransformation_Operation_MergeSlashes { if x, ok := x.GetOperationSpecifier().(*PathTransformation_Operation_MergeSlashes_); ok { return x.MergeSlashes } return nil } type isPathTransformation_Operation_OperationSpecifier interface { isPathTransformation_Operation_OperationSpecifier() } type PathTransformation_Operation_NormalizePathRfc_3986 struct { // Enable path normalization per RFC 3986. NormalizePathRfc_3986 *PathTransformation_Operation_NormalizePathRFC3986 `protobuf:"bytes,2,opt,name=normalize_path_rfc_3986,json=normalizePathRfc3986,proto3,oneof"` } type PathTransformation_Operation_MergeSlashes_ struct { // Enable merging adjacent slashes. MergeSlashes *PathTransformation_Operation_MergeSlashes `protobuf:"bytes,3,opt,name=merge_slashes,json=mergeSlashes,proto3,oneof"` } func (*PathTransformation_Operation_NormalizePathRfc_3986) isPathTransformation_Operation_OperationSpecifier() { } func (*PathTransformation_Operation_MergeSlashes_) isPathTransformation_Operation_OperationSpecifier() { } // Should text be normalized according to RFC 3986? This typically is used for path headers // before any processing of requests by HTTP filters or routing. This applies percent-encoded // normalization and path segment normalization. Fails on characters disallowed in URLs // (e.g. NULLs). See `Normalization and Comparison // `_ for details of normalization. Note that // this options does not perform `case normalization // `_ type PathTransformation_Operation_NormalizePathRFC3986 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PathTransformation_Operation_NormalizePathRFC3986) Reset() { *x = PathTransformation_Operation_NormalizePathRFC3986{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathTransformation_Operation_NormalizePathRFC3986) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathTransformation_Operation_NormalizePathRFC3986) ProtoMessage() {} func (x *PathTransformation_Operation_NormalizePathRFC3986) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathTransformation_Operation_NormalizePathRFC3986.ProtoReflect.Descriptor instead. func (*PathTransformation_Operation_NormalizePathRFC3986) Descriptor() ([]byte, []int) { return file_envoy_type_http_v3_path_transformation_proto_rawDescGZIP(), []int{0, 0, 0} } // Determines if adjacent slashes are merged into one. A common use case is for a request path // header. Using this option in “:ref: PathNormalizationOptions // “ // will allow incoming requests with path “//dir///file“ to match against route with “prefix“ // match set to “/dir“. When using for header transformations, note that slash merging is not // part of `HTTP spec `_ and is provided for convenience. type PathTransformation_Operation_MergeSlashes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PathTransformation_Operation_MergeSlashes) Reset() { *x = PathTransformation_Operation_MergeSlashes{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathTransformation_Operation_MergeSlashes) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathTransformation_Operation_MergeSlashes) ProtoMessage() {} func (x *PathTransformation_Operation_MergeSlashes) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_v3_path_transformation_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathTransformation_Operation_MergeSlashes.ProtoReflect.Descriptor instead. func (*PathTransformation_Operation_MergeSlashes) Descriptor() ([]byte, []int) { return file_envoy_type_http_v3_path_transformation_proto_rawDescGZIP(), []int{0, 0, 1} } var File_envoy_type_http_v3_path_transformation_proto protoreflect.FileDescriptor var file_envoy_type_http_v3_path_transformation_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x03, 0x0a, 0x12, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb5, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x66, 0x63, 0x5f, 0x33, 0x39, 0x38, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x46, 0x43, 0x33, 0x39, 0x38, 0x36, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x66, 0x63, 0x33, 0x39, 0x38, 0x36, 0x12, 0x64, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x1a, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x46, 0x43, 0x33, 0x39, 0x38, 0x36, 0x1a, 0x0e, 0x0a, 0x0c, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x33, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_http_v3_path_transformation_proto_rawDescOnce sync.Once file_envoy_type_http_v3_path_transformation_proto_rawDescData = file_envoy_type_http_v3_path_transformation_proto_rawDesc ) func file_envoy_type_http_v3_path_transformation_proto_rawDescGZIP() []byte { file_envoy_type_http_v3_path_transformation_proto_rawDescOnce.Do(func() { file_envoy_type_http_v3_path_transformation_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_http_v3_path_transformation_proto_rawDescData) }) return file_envoy_type_http_v3_path_transformation_proto_rawDescData } var file_envoy_type_http_v3_path_transformation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_type_http_v3_path_transformation_proto_goTypes = []interface{}{ (*PathTransformation)(nil), // 0: envoy.type.http.v3.PathTransformation (*PathTransformation_Operation)(nil), // 1: envoy.type.http.v3.PathTransformation.Operation (*PathTransformation_Operation_NormalizePathRFC3986)(nil), // 2: envoy.type.http.v3.PathTransformation.Operation.NormalizePathRFC3986 (*PathTransformation_Operation_MergeSlashes)(nil), // 3: envoy.type.http.v3.PathTransformation.Operation.MergeSlashes } var file_envoy_type_http_v3_path_transformation_proto_depIdxs = []int32{ 1, // 0: envoy.type.http.v3.PathTransformation.operations:type_name -> envoy.type.http.v3.PathTransformation.Operation 2, // 1: envoy.type.http.v3.PathTransformation.Operation.normalize_path_rfc_3986:type_name -> envoy.type.http.v3.PathTransformation.Operation.NormalizePathRFC3986 3, // 2: envoy.type.http.v3.PathTransformation.Operation.merge_slashes:type_name -> envoy.type.http.v3.PathTransformation.Operation.MergeSlashes 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_type_http_v3_path_transformation_proto_init() } func file_envoy_type_http_v3_path_transformation_proto_init() { if File_envoy_type_http_v3_path_transformation_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_http_v3_path_transformation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathTransformation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_http_v3_path_transformation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathTransformation_Operation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_http_v3_path_transformation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathTransformation_Operation_NormalizePathRFC3986); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_http_v3_path_transformation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathTransformation_Operation_MergeSlashes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_http_v3_path_transformation_proto_msgTypes[1].OneofWrappers = []interface{}{ (*PathTransformation_Operation_NormalizePathRfc_3986)(nil), (*PathTransformation_Operation_MergeSlashes_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_http_v3_path_transformation_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_http_v3_path_transformation_proto_goTypes, DependencyIndexes: file_envoy_type_http_v3_path_transformation_proto_depIdxs, MessageInfos: file_envoy_type_http_v3_path_transformation_proto_msgTypes, }.Build() File_envoy_type_http_v3_path_transformation_proto = out.File file_envoy_type_http_v3_path_transformation_proto_rawDesc = nil file_envoy_type_http_v3_path_transformation_proto_goTypes = nil file_envoy_type_http_v3_path_transformation_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/http/v3/path_transformation.pb.validate.go000077500000000000000000000420301454502223200272040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/http/v3/path_transformation.proto package httpv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PathTransformation with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PathTransformation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathTransformation with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PathTransformationMultiError, or nil if none found. func (m *PathTransformation) ValidateAll() error { return m.validate(true) } func (m *PathTransformation) validate(all bool) error { if m == nil { return nil } var errors []error for idx, item := range m.GetOperations() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathTransformationValidationError{ field: fmt.Sprintf("Operations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathTransformationValidationError{ field: fmt.Sprintf("Operations[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathTransformationValidationError{ field: fmt.Sprintf("Operations[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return PathTransformationMultiError(errors) } return nil } // PathTransformationMultiError is an error wrapping multiple validation errors // returned by PathTransformation.ValidateAll() if the designated constraints // aren't met. type PathTransformationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathTransformationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathTransformationMultiError) AllErrors() []error { return m } // PathTransformationValidationError is the validation error returned by // PathTransformation.Validate if the designated constraints aren't met. type PathTransformationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathTransformationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathTransformationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathTransformationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathTransformationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathTransformationValidationError) ErrorName() string { return "PathTransformationValidationError" } // Error satisfies the builtin error interface func (e PathTransformationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathTransformation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathTransformationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathTransformationValidationError{} // Validate checks the field values on PathTransformation_Operation with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *PathTransformation_Operation) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathTransformation_Operation with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // PathTransformation_OperationMultiError, or nil if none found. func (m *PathTransformation_Operation) ValidateAll() error { return m.validate(true) } func (m *PathTransformation_Operation) validate(all bool) error { if m == nil { return nil } var errors []error oneofOperationSpecifierPresent := false switch v := m.OperationSpecifier.(type) { case *PathTransformation_Operation_NormalizePathRfc_3986: if v == nil { err := PathTransformation_OperationValidationError{ field: "OperationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOperationSpecifierPresent = true if all { switch v := interface{}(m.GetNormalizePathRfc_3986()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathTransformation_OperationValidationError{ field: "NormalizePathRfc_3986", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathTransformation_OperationValidationError{ field: "NormalizePathRfc_3986", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNormalizePathRfc_3986()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathTransformation_OperationValidationError{ field: "NormalizePathRfc_3986", reason: "embedded message failed validation", cause: err, } } } case *PathTransformation_Operation_MergeSlashes_: if v == nil { err := PathTransformation_OperationValidationError{ field: "OperationSpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofOperationSpecifierPresent = true if all { switch v := interface{}(m.GetMergeSlashes()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathTransformation_OperationValidationError{ field: "MergeSlashes", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathTransformation_OperationValidationError{ field: "MergeSlashes", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMergeSlashes()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathTransformation_OperationValidationError{ field: "MergeSlashes", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofOperationSpecifierPresent { err := PathTransformation_OperationValidationError{ field: "OperationSpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PathTransformation_OperationMultiError(errors) } return nil } // PathTransformation_OperationMultiError is an error wrapping multiple // validation errors returned by PathTransformation_Operation.ValidateAll() if // the designated constraints aren't met. type PathTransformation_OperationMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathTransformation_OperationMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathTransformation_OperationMultiError) AllErrors() []error { return m } // PathTransformation_OperationValidationError is the validation error returned // by PathTransformation_Operation.Validate if the designated constraints // aren't met. type PathTransformation_OperationValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathTransformation_OperationValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathTransformation_OperationValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathTransformation_OperationValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathTransformation_OperationValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathTransformation_OperationValidationError) ErrorName() string { return "PathTransformation_OperationValidationError" } // Error satisfies the builtin error interface func (e PathTransformation_OperationValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathTransformation_Operation.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathTransformation_OperationValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathTransformation_OperationValidationError{} // Validate checks the field values on // PathTransformation_Operation_NormalizePathRFC3986 with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PathTransformation_Operation_NormalizePathRFC3986) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // PathTransformation_Operation_NormalizePathRFC3986 with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in // PathTransformation_Operation_NormalizePathRFC3986MultiError, or nil if none found. func (m *PathTransformation_Operation_NormalizePathRFC3986) ValidateAll() error { return m.validate(true) } func (m *PathTransformation_Operation_NormalizePathRFC3986) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PathTransformation_Operation_NormalizePathRFC3986MultiError(errors) } return nil } // PathTransformation_Operation_NormalizePathRFC3986MultiError is an error // wrapping multiple validation errors returned by // PathTransformation_Operation_NormalizePathRFC3986.ValidateAll() if the // designated constraints aren't met. type PathTransformation_Operation_NormalizePathRFC3986MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathTransformation_Operation_NormalizePathRFC3986MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathTransformation_Operation_NormalizePathRFC3986MultiError) AllErrors() []error { return m } // PathTransformation_Operation_NormalizePathRFC3986ValidationError is the // validation error returned by // PathTransformation_Operation_NormalizePathRFC3986.Validate if the // designated constraints aren't met. type PathTransformation_Operation_NormalizePathRFC3986ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) ErrorName() string { return "PathTransformation_Operation_NormalizePathRFC3986ValidationError" } // Error satisfies the builtin error interface func (e PathTransformation_Operation_NormalizePathRFC3986ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathTransformation_Operation_NormalizePathRFC3986.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathTransformation_Operation_NormalizePathRFC3986ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathTransformation_Operation_NormalizePathRFC3986ValidationError{} // Validate checks the field values on // PathTransformation_Operation_MergeSlashes with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PathTransformation_Operation_MergeSlashes) Validate() error { return m.validate(false) } // ValidateAll checks the field values on // PathTransformation_Operation_MergeSlashes with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in // PathTransformation_Operation_MergeSlashesMultiError, or nil if none found. func (m *PathTransformation_Operation_MergeSlashes) ValidateAll() error { return m.validate(true) } func (m *PathTransformation_Operation_MergeSlashes) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return PathTransformation_Operation_MergeSlashesMultiError(errors) } return nil } // PathTransformation_Operation_MergeSlashesMultiError is an error wrapping // multiple validation errors returned by // PathTransformation_Operation_MergeSlashes.ValidateAll() if the designated // constraints aren't met. type PathTransformation_Operation_MergeSlashesMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathTransformation_Operation_MergeSlashesMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathTransformation_Operation_MergeSlashesMultiError) AllErrors() []error { return m } // PathTransformation_Operation_MergeSlashesValidationError is the validation // error returned by PathTransformation_Operation_MergeSlashes.Validate if the // designated constraints aren't met. type PathTransformation_Operation_MergeSlashesValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathTransformation_Operation_MergeSlashesValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathTransformation_Operation_MergeSlashesValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathTransformation_Operation_MergeSlashesValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathTransformation_Operation_MergeSlashesValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathTransformation_Operation_MergeSlashesValidationError) ErrorName() string { return "PathTransformation_Operation_MergeSlashesValidationError" } // Error satisfies the builtin error interface func (e PathTransformation_Operation_MergeSlashesValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathTransformation_Operation_MergeSlashes.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathTransformation_Operation_MergeSlashesValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathTransformation_Operation_MergeSlashesValidationError{} go-control-plane-0.12.0/envoy/type/http_status.pb.go000077500000000000000000000522501454502223200224120ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/http_status.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HTTP response codes supported in Envoy. // For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml type StatusCode int32 const ( // Empty - This code not part of the HTTP status code specification, but it is needed for proto // `enum` type. StatusCode_Empty StatusCode = 0 StatusCode_Continue StatusCode = 100 StatusCode_OK StatusCode = 200 StatusCode_Created StatusCode = 201 StatusCode_Accepted StatusCode = 202 StatusCode_NonAuthoritativeInformation StatusCode = 203 StatusCode_NoContent StatusCode = 204 StatusCode_ResetContent StatusCode = 205 StatusCode_PartialContent StatusCode = 206 StatusCode_MultiStatus StatusCode = 207 StatusCode_AlreadyReported StatusCode = 208 StatusCode_IMUsed StatusCode = 226 StatusCode_MultipleChoices StatusCode = 300 StatusCode_MovedPermanently StatusCode = 301 StatusCode_Found StatusCode = 302 StatusCode_SeeOther StatusCode = 303 StatusCode_NotModified StatusCode = 304 StatusCode_UseProxy StatusCode = 305 StatusCode_TemporaryRedirect StatusCode = 307 StatusCode_PermanentRedirect StatusCode = 308 StatusCode_BadRequest StatusCode = 400 StatusCode_Unauthorized StatusCode = 401 StatusCode_PaymentRequired StatusCode = 402 StatusCode_Forbidden StatusCode = 403 StatusCode_NotFound StatusCode = 404 StatusCode_MethodNotAllowed StatusCode = 405 StatusCode_NotAcceptable StatusCode = 406 StatusCode_ProxyAuthenticationRequired StatusCode = 407 StatusCode_RequestTimeout StatusCode = 408 StatusCode_Conflict StatusCode = 409 StatusCode_Gone StatusCode = 410 StatusCode_LengthRequired StatusCode = 411 StatusCode_PreconditionFailed StatusCode = 412 StatusCode_PayloadTooLarge StatusCode = 413 StatusCode_URITooLong StatusCode = 414 StatusCode_UnsupportedMediaType StatusCode = 415 StatusCode_RangeNotSatisfiable StatusCode = 416 StatusCode_ExpectationFailed StatusCode = 417 StatusCode_MisdirectedRequest StatusCode = 421 StatusCode_UnprocessableEntity StatusCode = 422 StatusCode_Locked StatusCode = 423 StatusCode_FailedDependency StatusCode = 424 StatusCode_UpgradeRequired StatusCode = 426 StatusCode_PreconditionRequired StatusCode = 428 StatusCode_TooManyRequests StatusCode = 429 StatusCode_RequestHeaderFieldsTooLarge StatusCode = 431 StatusCode_InternalServerError StatusCode = 500 StatusCode_NotImplemented StatusCode = 501 StatusCode_BadGateway StatusCode = 502 StatusCode_ServiceUnavailable StatusCode = 503 StatusCode_GatewayTimeout StatusCode = 504 StatusCode_HTTPVersionNotSupported StatusCode = 505 StatusCode_VariantAlsoNegotiates StatusCode = 506 StatusCode_InsufficientStorage StatusCode = 507 StatusCode_LoopDetected StatusCode = 508 StatusCode_NotExtended StatusCode = 510 StatusCode_NetworkAuthenticationRequired StatusCode = 511 ) // Enum value maps for StatusCode. var ( StatusCode_name = map[int32]string{ 0: "Empty", 100: "Continue", 200: "OK", 201: "Created", 202: "Accepted", 203: "NonAuthoritativeInformation", 204: "NoContent", 205: "ResetContent", 206: "PartialContent", 207: "MultiStatus", 208: "AlreadyReported", 226: "IMUsed", 300: "MultipleChoices", 301: "MovedPermanently", 302: "Found", 303: "SeeOther", 304: "NotModified", 305: "UseProxy", 307: "TemporaryRedirect", 308: "PermanentRedirect", 400: "BadRequest", 401: "Unauthorized", 402: "PaymentRequired", 403: "Forbidden", 404: "NotFound", 405: "MethodNotAllowed", 406: "NotAcceptable", 407: "ProxyAuthenticationRequired", 408: "RequestTimeout", 409: "Conflict", 410: "Gone", 411: "LengthRequired", 412: "PreconditionFailed", 413: "PayloadTooLarge", 414: "URITooLong", 415: "UnsupportedMediaType", 416: "RangeNotSatisfiable", 417: "ExpectationFailed", 421: "MisdirectedRequest", 422: "UnprocessableEntity", 423: "Locked", 424: "FailedDependency", 426: "UpgradeRequired", 428: "PreconditionRequired", 429: "TooManyRequests", 431: "RequestHeaderFieldsTooLarge", 500: "InternalServerError", 501: "NotImplemented", 502: "BadGateway", 503: "ServiceUnavailable", 504: "GatewayTimeout", 505: "HTTPVersionNotSupported", 506: "VariantAlsoNegotiates", 507: "InsufficientStorage", 508: "LoopDetected", 510: "NotExtended", 511: "NetworkAuthenticationRequired", } StatusCode_value = map[string]int32{ "Empty": 0, "Continue": 100, "OK": 200, "Created": 201, "Accepted": 202, "NonAuthoritativeInformation": 203, "NoContent": 204, "ResetContent": 205, "PartialContent": 206, "MultiStatus": 207, "AlreadyReported": 208, "IMUsed": 226, "MultipleChoices": 300, "MovedPermanently": 301, "Found": 302, "SeeOther": 303, "NotModified": 304, "UseProxy": 305, "TemporaryRedirect": 307, "PermanentRedirect": 308, "BadRequest": 400, "Unauthorized": 401, "PaymentRequired": 402, "Forbidden": 403, "NotFound": 404, "MethodNotAllowed": 405, "NotAcceptable": 406, "ProxyAuthenticationRequired": 407, "RequestTimeout": 408, "Conflict": 409, "Gone": 410, "LengthRequired": 411, "PreconditionFailed": 412, "PayloadTooLarge": 413, "URITooLong": 414, "UnsupportedMediaType": 415, "RangeNotSatisfiable": 416, "ExpectationFailed": 417, "MisdirectedRequest": 421, "UnprocessableEntity": 422, "Locked": 423, "FailedDependency": 424, "UpgradeRequired": 426, "PreconditionRequired": 428, "TooManyRequests": 429, "RequestHeaderFieldsTooLarge": 431, "InternalServerError": 500, "NotImplemented": 501, "BadGateway": 502, "ServiceUnavailable": 503, "GatewayTimeout": 504, "HTTPVersionNotSupported": 505, "VariantAlsoNegotiates": 506, "InsufficientStorage": 507, "LoopDetected": 508, "NotExtended": 510, "NetworkAuthenticationRequired": 511, } ) func (x StatusCode) Enum() *StatusCode { p := new(StatusCode) *p = x return p } func (x StatusCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (StatusCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_http_status_proto_enumTypes[0].Descriptor() } func (StatusCode) Type() protoreflect.EnumType { return &file_envoy_type_http_status_proto_enumTypes[0] } func (x StatusCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use StatusCode.Descriptor instead. func (StatusCode) EnumDescriptor() ([]byte, []int) { return file_envoy_type_http_status_proto_rawDescGZIP(), []int{0} } // HTTP status. type HttpStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies HTTP response code. Code StatusCode `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.type.StatusCode" json:"code,omitempty"` } func (x *HttpStatus) Reset() { *x = HttpStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_http_status_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpStatus) ProtoMessage() {} func (x *HttpStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_http_status_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpStatus.ProtoReflect.Descriptor instead. func (*HttpStatus) Descriptor() ([]byte, []int) { return file_envoy_type_http_status_proto_rawDescGZIP(), []int{0} } func (x *HttpStatus) GetCode() StatusCode { if x != nil { return x.Code } return StatusCode_Empty } var File_envoy_type_http_status_proto protoreflect.FileDescriptor var file_envoy_type_http_status_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x2a, 0xb5, 0x09, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x10, 0x64, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0xc8, 0x01, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0xc9, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0xca, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x4e, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcb, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xcc, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xcd, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xcf, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xd0, 0x01, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4d, 0x55, 0x73, 0x65, 0x64, 0x10, 0xe2, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x10, 0xac, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x10, 0xad, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xae, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x65, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x10, 0xaf, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0xb0, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x10, 0xb1, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0xb3, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0xb4, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x90, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x91, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x92, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x93, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x94, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x95, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x96, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x97, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x98, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x10, 0x99, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x47, 0x6f, 0x6e, 0x65, 0x10, 0x9a, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x9b, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x9c, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x9d, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x55, 0x52, 0x49, 0x54, 0x6f, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x10, 0x9e, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x10, 0x9f, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xa0, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xa1, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x4d, 0x69, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xa5, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x6e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0xa6, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xa7, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x10, 0xa8, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xaa, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xac, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x10, 0xad, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0xaf, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf4, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x10, 0xf5, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x10, 0xf6, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xf7, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xf8, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xf9, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x41, 0x6c, 0x73, 0x6f, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x10, 0xfa, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x10, 0xfb, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0xfc, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0xfe, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xff, 0x03, 0x42, 0x68, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_http_status_proto_rawDescOnce sync.Once file_envoy_type_http_status_proto_rawDescData = file_envoy_type_http_status_proto_rawDesc ) func file_envoy_type_http_status_proto_rawDescGZIP() []byte { file_envoy_type_http_status_proto_rawDescOnce.Do(func() { file_envoy_type_http_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_http_status_proto_rawDescData) }) return file_envoy_type_http_status_proto_rawDescData } var file_envoy_type_http_status_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_http_status_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_http_status_proto_goTypes = []interface{}{ (StatusCode)(0), // 0: envoy.type.StatusCode (*HttpStatus)(nil), // 1: envoy.type.HttpStatus } var file_envoy_type_http_status_proto_depIdxs = []int32{ 0, // 0: envoy.type.HttpStatus.code:type_name -> envoy.type.StatusCode 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_http_status_proto_init() } func file_envoy_type_http_status_proto_init() { if File_envoy_type_http_status_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_http_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_http_status_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_http_status_proto_goTypes, DependencyIndexes: file_envoy_type_http_status_proto_depIdxs, EnumInfos: file_envoy_type_http_status_proto_enumTypes, MessageInfos: file_envoy_type_http_status_proto_msgTypes, }.Build() File_envoy_type_http_status_proto = out.File file_envoy_type_http_status_proto_rawDesc = nil file_envoy_type_http_status_proto_goTypes = nil file_envoy_type_http_status_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/http_status.pb.validate.go000077500000000000000000000072341454502223200242040ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/http_status.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpStatus with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpStatus with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpStatusMultiError, or // nil if none found. func (m *HttpStatus) ValidateAll() error { return m.validate(true) } func (m *HttpStatus) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := _HttpStatus_Code_NotInLookup[m.GetCode()]; ok { err := HttpStatusValidationError{ field: "Code", reason: "value must not be in list [Empty]", } if !all { return err } errors = append(errors, err) } if _, ok := StatusCode_name[int32(m.GetCode())]; !ok { err := HttpStatusValidationError{ field: "Code", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpStatusMultiError(errors) } return nil } // HttpStatusMultiError is an error wrapping multiple validation errors // returned by HttpStatus.ValidateAll() if the designated constraints aren't met. type HttpStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpStatusMultiError) AllErrors() []error { return m } // HttpStatusValidationError is the validation error returned by // HttpStatus.Validate if the designated constraints aren't met. type HttpStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpStatusValidationError) ErrorName() string { return "HttpStatusValidationError" } // Error satisfies the builtin error interface func (e HttpStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpStatusValidationError{} var _HttpStatus_Code_NotInLookup = map[StatusCode]struct{}{ 0: {}, } go-control-plane-0.12.0/envoy/type/matcher/000077500000000000000000000000001454502223200205155ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/matcher/metadata.pb.go000077500000000000000000000260001454502223200232250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/metadata.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-major-version: MetadataMatcher should use StructMatcher] type MetadataMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter name to retrieve the Struct from the Metadata. Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` // The path to retrieve the Value from the Struct. Path []*MetadataMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // The MetadataMatcher is matched if the value retrieved by path is matched to this value. Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *MetadataMatcher) Reset() { *x = MetadataMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataMatcher) ProtoMessage() {} func (x *MetadataMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataMatcher.ProtoReflect.Descriptor instead. func (*MetadataMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_metadata_proto_rawDescGZIP(), []int{0} } func (x *MetadataMatcher) GetFilter() string { if x != nil { return x.Filter } return "" } func (x *MetadataMatcher) GetPath() []*MetadataMatcher_PathSegment { if x != nil { return x.Path } return nil } func (x *MetadataMatcher) GetValue() *ValueMatcher { if x != nil { return x.Value } return nil } // Specifies the segment in a path to retrieve value from Metadata. // Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that // if the segment key refers to a list, it has to be the last segment in a path. type MetadataMatcher_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *MetadataMatcher_PathSegment_Key Segment isMetadataMatcher_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *MetadataMatcher_PathSegment) Reset() { *x = MetadataMatcher_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataMatcher_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataMatcher_PathSegment) ProtoMessage() {} func (x *MetadataMatcher_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataMatcher_PathSegment.ProtoReflect.Descriptor instead. func (*MetadataMatcher_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_metadata_proto_rawDescGZIP(), []int{0, 0} } func (m *MetadataMatcher_PathSegment) GetSegment() isMetadataMatcher_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *MetadataMatcher_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*MetadataMatcher_PathSegment_Key); ok { return x.Key } return "" } type isMetadataMatcher_PathSegment_Segment interface { isMetadataMatcher_PathSegment_Segment() } type MetadataMatcher_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*MetadataMatcher_PathSegment_Key) isMetadataMatcher_PathSegment_Segment() {} var File_envoy_type_matcher_metadata_proto protoreflect.FileDescriptor var file_envoy_type_matcher_metadata_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x3a, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_metadata_proto_rawDescOnce sync.Once file_envoy_type_matcher_metadata_proto_rawDescData = file_envoy_type_matcher_metadata_proto_rawDesc ) func file_envoy_type_matcher_metadata_proto_rawDescGZIP() []byte { file_envoy_type_matcher_metadata_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_metadata_proto_rawDescData) }) return file_envoy_type_matcher_metadata_proto_rawDescData } var file_envoy_type_matcher_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_metadata_proto_goTypes = []interface{}{ (*MetadataMatcher)(nil), // 0: envoy.type.matcher.MetadataMatcher (*MetadataMatcher_PathSegment)(nil), // 1: envoy.type.matcher.MetadataMatcher.PathSegment (*ValueMatcher)(nil), // 2: envoy.type.matcher.ValueMatcher } var file_envoy_type_matcher_metadata_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.MetadataMatcher.path:type_name -> envoy.type.matcher.MetadataMatcher.PathSegment 2, // 1: envoy.type.matcher.MetadataMatcher.value:type_name -> envoy.type.matcher.ValueMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_metadata_proto_init() } func file_envoy_type_matcher_metadata_proto_init() { if File_envoy_type_matcher_metadata_proto != nil { return } file_envoy_type_matcher_value_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataMatcher_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MetadataMatcher_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_metadata_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_metadata_proto_depIdxs, MessageInfos: file_envoy_type_matcher_metadata_proto_msgTypes, }.Build() File_envoy_type_matcher_metadata_proto = out.File file_envoy_type_matcher_metadata_proto_rawDesc = nil file_envoy_type_matcher_metadata_proto_goTypes = nil file_envoy_type_matcher_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/metadata.pb.validate.go000077500000000000000000000226431454502223200250260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/metadata.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MetadataMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *MetadataMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataMatcherMultiError, or nil if none found. func (m *MetadataMatcher) ValidateAll() error { return m.validate(true) } func (m *MetadataMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetFilter()) < 1 { err := MetadataMatcherValidationError{ field: "Filter", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetPath()) < 1 { err := MetadataMatcherValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetValue() == nil { err := MetadataMatcherValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return MetadataMatcherMultiError(errors) } return nil } // MetadataMatcherMultiError is an error wrapping multiple validation errors // returned by MetadataMatcher.ValidateAll() if the designated constraints // aren't met. type MetadataMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMatcherMultiError) AllErrors() []error { return m } // MetadataMatcherValidationError is the validation error returned by // MetadataMatcher.Validate if the designated constraints aren't met. type MetadataMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataMatcherValidationError) ErrorName() string { return "MetadataMatcherValidationError" } // Error satisfies the builtin error interface func (e MetadataMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataMatcherValidationError{} // Validate checks the field values on MetadataMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataMatcher_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataMatcher_PathSegmentMultiError, or nil if none found. func (m *MetadataMatcher_PathSegment) ValidateAll() error { return m.validate(true) } func (m *MetadataMatcher_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *MetadataMatcher_PathSegment_Key: if v == nil { err := MetadataMatcher_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := MetadataMatcher_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := MetadataMatcher_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataMatcher_PathSegmentMultiError(errors) } return nil } // MetadataMatcher_PathSegmentMultiError is an error wrapping multiple // validation errors returned by MetadataMatcher_PathSegment.ValidateAll() if // the designated constraints aren't met. type MetadataMatcher_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMatcher_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMatcher_PathSegmentMultiError) AllErrors() []error { return m } // MetadataMatcher_PathSegmentValidationError is the validation error returned // by MetadataMatcher_PathSegment.Validate if the designated constraints // aren't met. type MetadataMatcher_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataMatcher_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataMatcher_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataMatcher_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataMatcher_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataMatcher_PathSegmentValidationError) ErrorName() string { return "MetadataMatcher_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e MetadataMatcher_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataMatcher_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataMatcher_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataMatcher_PathSegmentValidationError{} go-control-plane-0.12.0/envoy/type/matcher/node.pb.go000077500000000000000000000165441454502223200224060ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/node.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a Node. // The match follows AND semantics. type NodeMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies match criteria on the node id. NodeId *StringMatcher `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Specifies match criteria on the node metadata. NodeMetadatas []*StructMatcher `protobuf:"bytes,2,rep,name=node_metadatas,json=nodeMetadatas,proto3" json:"node_metadatas,omitempty"` } func (x *NodeMatcher) Reset() { *x = NodeMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_node_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NodeMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*NodeMatcher) ProtoMessage() {} func (x *NodeMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_node_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NodeMatcher.ProtoReflect.Descriptor instead. func (*NodeMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_node_proto_rawDescGZIP(), []int{0} } func (x *NodeMatcher) GetNodeId() *StringMatcher { if x != nil { return x.NodeId } return nil } func (x *NodeMatcher) GetNodeMetadatas() []*StructMatcher { if x != nil { return x.NodeMetadatas } return nil } var File_envoy_type_matcher_node_proto protoreflect.FileDescriptor var file_envoy_type_matcher_node_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x42, 0x72, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_node_proto_rawDescOnce sync.Once file_envoy_type_matcher_node_proto_rawDescData = file_envoy_type_matcher_node_proto_rawDesc ) func file_envoy_type_matcher_node_proto_rawDescGZIP() []byte { file_envoy_type_matcher_node_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_node_proto_rawDescData) }) return file_envoy_type_matcher_node_proto_rawDescData } var file_envoy_type_matcher_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_node_proto_goTypes = []interface{}{ (*NodeMatcher)(nil), // 0: envoy.type.matcher.NodeMatcher (*StringMatcher)(nil), // 1: envoy.type.matcher.StringMatcher (*StructMatcher)(nil), // 2: envoy.type.matcher.StructMatcher } var file_envoy_type_matcher_node_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.NodeMatcher.node_id:type_name -> envoy.type.matcher.StringMatcher 2, // 1: envoy.type.matcher.NodeMatcher.node_metadatas:type_name -> envoy.type.matcher.StructMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_node_proto_init() } func file_envoy_type_matcher_node_proto_init() { if File_envoy_type_matcher_node_proto != nil { return } file_envoy_type_matcher_string_proto_init() file_envoy_type_matcher_struct_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_node_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_node_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_node_proto_depIdxs, MessageInfos: file_envoy_type_matcher_node_proto_msgTypes, }.Build() File_envoy_type_matcher_node_proto = out.File file_envoy_type_matcher_node_proto_rawDesc = nil file_envoy_type_matcher_node_proto_goTypes = nil file_envoy_type_matcher_node_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/node.pb.validate.go000077500000000000000000000116251454502223200241710ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/node.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on NodeMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *NodeMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NodeMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in NodeMatcherMultiError, or // nil if none found. func (m *NodeMatcher) ValidateAll() error { return m.validate(true) } func (m *NodeMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNodeId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNodeId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetNodeMetadatas() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return NodeMatcherMultiError(errors) } return nil } // NodeMatcherMultiError is an error wrapping multiple validation errors // returned by NodeMatcher.ValidateAll() if the designated constraints aren't met. type NodeMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NodeMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NodeMatcherMultiError) AllErrors() []error { return m } // NodeMatcherValidationError is the validation error returned by // NodeMatcher.Validate if the designated constraints aren't met. type NodeMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NodeMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NodeMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NodeMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NodeMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NodeMatcherValidationError) ErrorName() string { return "NodeMatcherValidationError" } // Error satisfies the builtin error interface func (e NodeMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNodeMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NodeMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NodeMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/number.pb.go000077500000000000000000000174271454502223200227520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/number.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _type "github.com/envoyproxy/go-control-plane/envoy/type" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a double value. type DoubleMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *DoubleMatcher_Range // *DoubleMatcher_Exact MatchPattern isDoubleMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *DoubleMatcher) Reset() { *x = DoubleMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_number_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleMatcher) ProtoMessage() {} func (x *DoubleMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_number_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DoubleMatcher.ProtoReflect.Descriptor instead. func (*DoubleMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_number_proto_rawDescGZIP(), []int{0} } func (m *DoubleMatcher) GetMatchPattern() isDoubleMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *DoubleMatcher) GetRange() *_type.DoubleRange { if x, ok := x.GetMatchPattern().(*DoubleMatcher_Range); ok { return x.Range } return nil } func (x *DoubleMatcher) GetExact() float64 { if x, ok := x.GetMatchPattern().(*DoubleMatcher_Exact); ok { return x.Exact } return 0 } type isDoubleMatcher_MatchPattern interface { isDoubleMatcher_MatchPattern() } type DoubleMatcher_Range struct { // If specified, the input double value must be in the range specified here. // Note: The range is using half-open interval semantics [start, end). Range *_type.DoubleRange `protobuf:"bytes,1,opt,name=range,proto3,oneof"` } type DoubleMatcher_Exact struct { // If specified, the input double value must be equal to the value specified here. Exact float64 `protobuf:"fixed64,2,opt,name=exact,proto3,oneof"` } func (*DoubleMatcher_Range) isDoubleMatcher_MatchPattern() {} func (*DoubleMatcher_Exact) isDoubleMatcher_MatchPattern() {} var File_envoy_type_matcher_number_proto protoreflect.FileDescriptor var file_envoy_type_matcher_number_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x0d, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x74, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_number_proto_rawDescOnce sync.Once file_envoy_type_matcher_number_proto_rawDescData = file_envoy_type_matcher_number_proto_rawDesc ) func file_envoy_type_matcher_number_proto_rawDescGZIP() []byte { file_envoy_type_matcher_number_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_number_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_number_proto_rawDescData) }) return file_envoy_type_matcher_number_proto_rawDescData } var file_envoy_type_matcher_number_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_number_proto_goTypes = []interface{}{ (*DoubleMatcher)(nil), // 0: envoy.type.matcher.DoubleMatcher (*_type.DoubleRange)(nil), // 1: envoy.type.DoubleRange } var file_envoy_type_matcher_number_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.DoubleMatcher.range:type_name -> envoy.type.DoubleRange 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_matcher_number_proto_init() } func file_envoy_type_matcher_number_proto_init() { if File_envoy_type_matcher_number_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_number_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_number_proto_msgTypes[0].OneofWrappers = []interface{}{ (*DoubleMatcher_Range)(nil), (*DoubleMatcher_Exact)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_number_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_number_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_number_proto_depIdxs, MessageInfos: file_envoy_type_matcher_number_proto_msgTypes, }.Build() File_envoy_type_matcher_number_proto = out.File file_envoy_type_matcher_number_proto_rawDesc = nil file_envoy_type_matcher_number_proto_goTypes = nil file_envoy_type_matcher_number_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/number.pb.validate.go000077500000000000000000000116161454502223200245340ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/number.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DoubleMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DoubleMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DoubleMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DoubleMatcherMultiError, or // nil if none found. func (m *DoubleMatcher) ValidateAll() error { return m.validate(true) } func (m *DoubleMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *DoubleMatcher_Range: if v == nil { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, } } } case *DoubleMatcher_Exact: if v == nil { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for Exact default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DoubleMatcherMultiError(errors) } return nil } // DoubleMatcherMultiError is an error wrapping multiple validation errors // returned by DoubleMatcher.ValidateAll() if the designated constraints // aren't met. type DoubleMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DoubleMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DoubleMatcherMultiError) AllErrors() []error { return m } // DoubleMatcherValidationError is the validation error returned by // DoubleMatcher.Validate if the designated constraints aren't met. type DoubleMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DoubleMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DoubleMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DoubleMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DoubleMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DoubleMatcherValidationError) ErrorName() string { return "DoubleMatcherValidationError" } // Error satisfies the builtin error interface func (e DoubleMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDoubleMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DoubleMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DoubleMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/path.pb.go000077500000000000000000000162411454502223200224070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/path.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a path on HTTP request. type PathMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *PathMatcher_Path Rule isPathMatcher_Rule `protobuf_oneof:"rule"` } func (x *PathMatcher) Reset() { *x = PathMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_path_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathMatcher) ProtoMessage() {} func (x *PathMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_path_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathMatcher.ProtoReflect.Descriptor instead. func (*PathMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_path_proto_rawDescGZIP(), []int{0} } func (m *PathMatcher) GetRule() isPathMatcher_Rule { if m != nil { return m.Rule } return nil } func (x *PathMatcher) GetPath() *StringMatcher { if x, ok := x.GetRule().(*PathMatcher_Path); ok { return x.Path } return nil } type isPathMatcher_Rule interface { isPathMatcher_Rule() } type PathMatcher_Path struct { // The `path` must match the URL path portion of the :path header. The query and fragment // string (if present) are removed in the URL path portion. // For example, the path */data* will match the *:path* header */data#fragment?param=value*. Path *StringMatcher `protobuf:"bytes,1,opt,name=path,proto3,oneof"` } func (*PathMatcher_Path) isPathMatcher_Rule() {} var File_envoy_type_matcher_path_proto protoreflect.FileDescriptor var file_envoy_type_matcher_path_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x72, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x09, 0x50, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_path_proto_rawDescOnce sync.Once file_envoy_type_matcher_path_proto_rawDescData = file_envoy_type_matcher_path_proto_rawDesc ) func file_envoy_type_matcher_path_proto_rawDescGZIP() []byte { file_envoy_type_matcher_path_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_path_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_path_proto_rawDescData) }) return file_envoy_type_matcher_path_proto_rawDescData } var file_envoy_type_matcher_path_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_path_proto_goTypes = []interface{}{ (*PathMatcher)(nil), // 0: envoy.type.matcher.PathMatcher (*StringMatcher)(nil), // 1: envoy.type.matcher.StringMatcher } var file_envoy_type_matcher_path_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.PathMatcher.path:type_name -> envoy.type.matcher.StringMatcher 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_matcher_path_proto_init() } func file_envoy_type_matcher_path_proto_init() { if File_envoy_type_matcher_path_proto != nil { return } file_envoy_type_matcher_string_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_path_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_path_proto_msgTypes[0].OneofWrappers = []interface{}{ (*PathMatcher_Path)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_path_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_path_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_path_proto_depIdxs, MessageInfos: file_envoy_type_matcher_path_proto_msgTypes, }.Build() File_envoy_type_matcher_path_proto = out.File file_envoy_type_matcher_path_proto_rawDesc = nil file_envoy_type_matcher_path_proto_goTypes = nil file_envoy_type_matcher_path_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/path.pb.validate.go000077500000000000000000000112451454502223200241760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/path.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PathMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PathMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PathMatcherMultiError, or // nil if none found. func (m *PathMatcher) ValidateAll() error { return m.validate(true) } func (m *PathMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *PathMatcher_Path: if v == nil { err := PathMatcherValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetPath() == nil { err := PathMatcherValidationError{ field: "Path", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := PathMatcherValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PathMatcherMultiError(errors) } return nil } // PathMatcherMultiError is an error wrapping multiple validation errors // returned by PathMatcher.ValidateAll() if the designated constraints aren't met. type PathMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathMatcherMultiError) AllErrors() []error { return m } // PathMatcherValidationError is the validation error returned by // PathMatcher.Validate if the designated constraints aren't met. type PathMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathMatcherValidationError) ErrorName() string { return "PathMatcherValidationError" } // Error satisfies the builtin error interface func (e PathMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/regex.pb.go000077500000000000000000000375211454502223200225710ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/regex.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A regex matcher designed for safety when used with untrusted input. type RegexMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to EngineType: // // *RegexMatcher_GoogleRe2 EngineType isRegexMatcher_EngineType `protobuf_oneof:"engine_type"` // The regex match string. The string must be supported by the configured engine. Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"` } func (x *RegexMatcher) Reset() { *x = RegexMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_regex_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatcher) ProtoMessage() {} func (x *RegexMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_regex_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatcher.ProtoReflect.Descriptor instead. func (*RegexMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_regex_proto_rawDescGZIP(), []int{0} } func (m *RegexMatcher) GetEngineType() isRegexMatcher_EngineType { if m != nil { return m.EngineType } return nil } func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2 { if x, ok := x.GetEngineType().(*RegexMatcher_GoogleRe2); ok { return x.GoogleRe2 } return nil } func (x *RegexMatcher) GetRegex() string { if x != nil { return x.Regex } return "" } type isRegexMatcher_EngineType interface { isRegexMatcher_EngineType() } type RegexMatcher_GoogleRe2 struct { // Google's RE2 regex engine. GoogleRe2 *RegexMatcher_GoogleRE2 `protobuf:"bytes,1,opt,name=google_re2,json=googleRe2,proto3,oneof"` } func (*RegexMatcher_GoogleRe2) isRegexMatcher_EngineType() {} // Describes how to match a string and then produce a new string using a regular // expression and a substitution string. type RegexMatchAndSubstitute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The regular expression used to find portions of a string (hereafter called // the "subject string") that should be replaced. When a new string is // produced during the substitution operation, the new string is initially // the same as the subject string, but then all matches in the subject string // are replaced by the substitution string. If replacing all matches isn't // desired, regular expression anchors can be used to ensure a single match, // so as to replace just one occurrence of a pattern. Capture groups can be // used in the pattern to extract portions of the subject string, and then // referenced in the substitution string. Pattern *RegexMatcher `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` // The string that should be substituted into matching portions of the // subject string during a substitution operation to produce a new string. // Capture groups in the pattern can be referenced in the substitution // string. Note, however, that the syntax for referring to capture groups is // defined by the chosen regular expression engine. Google's `RE2 // `_ regular expression engine uses a // backslash followed by the capture group number to denote a numbered // capture group. E.g., “\1“ refers to capture group 1, and “\2“ refers // to capture group 2. Substitution string `protobuf:"bytes,2,opt,name=substitution,proto3" json:"substitution,omitempty"` } func (x *RegexMatchAndSubstitute) Reset() { *x = RegexMatchAndSubstitute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_regex_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatchAndSubstitute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatchAndSubstitute) ProtoMessage() {} func (x *RegexMatchAndSubstitute) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_regex_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatchAndSubstitute.ProtoReflect.Descriptor instead. func (*RegexMatchAndSubstitute) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_regex_proto_rawDescGZIP(), []int{1} } func (x *RegexMatchAndSubstitute) GetPattern() *RegexMatcher { if x != nil { return x.Pattern } return nil } func (x *RegexMatchAndSubstitute) GetSubstitution() string { if x != nil { return x.Substitution } return "" } // Google's `RE2 `_ regex engine. The regex string must adhere to // the documented `syntax `_. The engine is designed // to complete execution in linear time as well as limit the amount of memory used. // // Envoy supports program size checking via runtime. The runtime keys “re2.max_program_size.error_level“ // and “re2.max_program_size.warn_level“ can be set to integers as the maximum program size or // complexity that a compiled regex can have before an exception is thrown or a warning is // logged, respectively. “re2.max_program_size.error_level“ defaults to 100, and // “re2.max_program_size.warn_level“ has no default if unset (will not check/log a warning). // // Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, // which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented // each time the program size exceeds the warn level threshold. type RegexMatcher_GoogleRE2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field controls the RE2 "program size" which is a rough estimate of how complex a // compiled regex is to evaluate. A regex that has a program size greater than the configured // value will fail to compile. In this case, the configured max program size can be increased // or the regex can be simplified. If not specified, the default is 100. // // This field is deprecated; regexp validation should be performed on the management server // instead of being done by each individual client. // // Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto. MaxProgramSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_program_size,json=maxProgramSize,proto3" json:"max_program_size,omitempty"` } func (x *RegexMatcher_GoogleRE2) Reset() { *x = RegexMatcher_GoogleRE2{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_regex_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatcher_GoogleRE2) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatcher_GoogleRE2) ProtoMessage() {} func (x *RegexMatcher_GoogleRE2) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_regex_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatcher_GoogleRE2.ProtoReflect.Descriptor instead. func (*RegexMatcher_GoogleRE2) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_regex_proto_rawDescGZIP(), []int{0, 0} } // Deprecated: Marked as deprecated in envoy/type/matcher/regex.proto. func (x *RegexMatcher_GoogleRE2) GetMaxProgramSize() *wrappers.UInt32Value { if x != nil { return x.MaxProgramSize } return nil } var File_envoy_type_matcher_regex_proto protoreflect.FileDescriptor var file_envoy_type_matcher_regex_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x32, 0x12, 0x1d, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x1a, 0x57, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x12, 0x4a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x12, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x79, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x73, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0a, 0x52, 0x65, 0x67, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_regex_proto_rawDescOnce sync.Once file_envoy_type_matcher_regex_proto_rawDescData = file_envoy_type_matcher_regex_proto_rawDesc ) func file_envoy_type_matcher_regex_proto_rawDescGZIP() []byte { file_envoy_type_matcher_regex_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_regex_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_regex_proto_rawDescData) }) return file_envoy_type_matcher_regex_proto_rawDescData } var file_envoy_type_matcher_regex_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_matcher_regex_proto_goTypes = []interface{}{ (*RegexMatcher)(nil), // 0: envoy.type.matcher.RegexMatcher (*RegexMatchAndSubstitute)(nil), // 1: envoy.type.matcher.RegexMatchAndSubstitute (*RegexMatcher_GoogleRE2)(nil), // 2: envoy.type.matcher.RegexMatcher.GoogleRE2 (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value } var file_envoy_type_matcher_regex_proto_depIdxs = []int32{ 2, // 0: envoy.type.matcher.RegexMatcher.google_re2:type_name -> envoy.type.matcher.RegexMatcher.GoogleRE2 0, // 1: envoy.type.matcher.RegexMatchAndSubstitute.pattern:type_name -> envoy.type.matcher.RegexMatcher 3, // 2: envoy.type.matcher.RegexMatcher.GoogleRE2.max_program_size:type_name -> google.protobuf.UInt32Value 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_type_matcher_regex_proto_init() } func file_envoy_type_matcher_regex_proto_init() { if File_envoy_type_matcher_regex_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_regex_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_regex_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatchAndSubstitute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_regex_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatcher_GoogleRE2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_regex_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RegexMatcher_GoogleRe2)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_regex_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_regex_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_regex_proto_depIdxs, MessageInfos: file_envoy_type_matcher_regex_proto_msgTypes, }.Build() File_envoy_type_matcher_regex_proto = out.File file_envoy_type_matcher_regex_proto_rawDesc = nil file_envoy_type_matcher_regex_proto_goTypes = nil file_envoy_type_matcher_regex_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/regex.pb.validate.go000077500000000000000000000307571454502223200243650ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/regex.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RegexMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RegexMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RegexMatcherMultiError, or // nil if none found. func (m *RegexMatcher) ValidateAll() error { return m.validate(true) } func (m *RegexMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetRegex()) < 1 { err := RegexMatcherValidationError{ field: "Regex", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofEngineTypePresent := false switch v := m.EngineType.(type) { case *RegexMatcher_GoogleRe2: if v == nil { err := RegexMatcherValidationError{ field: "EngineType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofEngineTypePresent = true if m.GetGoogleRe2() == nil { err := RegexMatcherValidationError{ field: "GoogleRe2", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGoogleRe2()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleRe2()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofEngineTypePresent { err := RegexMatcherValidationError{ field: "EngineType", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RegexMatcherMultiError(errors) } return nil } // RegexMatcherMultiError is an error wrapping multiple validation errors // returned by RegexMatcher.ValidateAll() if the designated constraints aren't met. type RegexMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatcherMultiError) AllErrors() []error { return m } // RegexMatcherValidationError is the validation error returned by // RegexMatcher.Validate if the designated constraints aren't met. type RegexMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatcherValidationError) ErrorName() string { return "RegexMatcherValidationError" } // Error satisfies the builtin error interface func (e RegexMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatcherValidationError{} // Validate checks the field values on RegexMatchAndSubstitute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RegexMatchAndSubstitute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatchAndSubstitute with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RegexMatchAndSubstituteMultiError, or nil if none found. func (m *RegexMatchAndSubstitute) ValidateAll() error { return m.validate(true) } func (m *RegexMatchAndSubstitute) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetPattern()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPattern()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Substitution if len(errors) > 0 { return RegexMatchAndSubstituteMultiError(errors) } return nil } // RegexMatchAndSubstituteMultiError is an error wrapping multiple validation // errors returned by RegexMatchAndSubstitute.ValidateAll() if the designated // constraints aren't met. type RegexMatchAndSubstituteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatchAndSubstituteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatchAndSubstituteMultiError) AllErrors() []error { return m } // RegexMatchAndSubstituteValidationError is the validation error returned by // RegexMatchAndSubstitute.Validate if the designated constraints aren't met. type RegexMatchAndSubstituteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatchAndSubstituteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatchAndSubstituteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatchAndSubstituteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatchAndSubstituteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatchAndSubstituteValidationError) ErrorName() string { return "RegexMatchAndSubstituteValidationError" } // Error satisfies the builtin error interface func (e RegexMatchAndSubstituteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatchAndSubstitute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatchAndSubstituteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatchAndSubstituteValidationError{} // Validate checks the field values on RegexMatcher_GoogleRE2 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RegexMatcher_GoogleRE2) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatcher_GoogleRE2 with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RegexMatcher_GoogleRE2MultiError, or nil if none found. func (m *RegexMatcher_GoogleRE2) ValidateAll() error { return m.validate(true) } func (m *RegexMatcher_GoogleRE2) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxProgramSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxProgramSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RegexMatcher_GoogleRE2MultiError(errors) } return nil } // RegexMatcher_GoogleRE2MultiError is an error wrapping multiple validation // errors returned by RegexMatcher_GoogleRE2.ValidateAll() if the designated // constraints aren't met. type RegexMatcher_GoogleRE2MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatcher_GoogleRE2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatcher_GoogleRE2MultiError) AllErrors() []error { return m } // RegexMatcher_GoogleRE2ValidationError is the validation error returned by // RegexMatcher_GoogleRE2.Validate if the designated constraints aren't met. type RegexMatcher_GoogleRE2ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatcher_GoogleRE2ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatcher_GoogleRE2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatcher_GoogleRE2ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatcher_GoogleRE2ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatcher_GoogleRE2ValidationError) ErrorName() string { return "RegexMatcher_GoogleRE2ValidationError" } // Error satisfies the builtin error interface func (e RegexMatcher_GoogleRE2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatcher_GoogleRE2.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatcher_GoogleRE2ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatcher_GoogleRE2ValidationError{} go-control-plane-0.12.0/envoy/type/matcher/string.pb.go000077500000000000000000000337401454502223200227640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/string.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a string. // [#next-free-field: 7] type StringMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *StringMatcher_Exact // *StringMatcher_Prefix // *StringMatcher_Suffix // *StringMatcher_Regex // *StringMatcher_SafeRegex MatchPattern isStringMatcher_MatchPattern `protobuf_oneof:"match_pattern"` // If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no // effect for the safe_regex match. // For example, the matcher *data* will match both input string *Data* and *data* if set to true. IgnoreCase bool `protobuf:"varint,6,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"` } func (x *StringMatcher) Reset() { *x = StringMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_string_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringMatcher) ProtoMessage() {} func (x *StringMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_string_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StringMatcher.ProtoReflect.Descriptor instead. func (*StringMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_string_proto_rawDescGZIP(), []int{0} } func (m *StringMatcher) GetMatchPattern() isStringMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *StringMatcher) GetExact() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Exact); ok { return x.Exact } return "" } func (x *StringMatcher) GetPrefix() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Prefix); ok { return x.Prefix } return "" } func (x *StringMatcher) GetSuffix() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Suffix); ok { return x.Suffix } return "" } // Deprecated: Marked as deprecated in envoy/type/matcher/string.proto. func (x *StringMatcher) GetRegex() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Regex); ok { return x.Regex } return "" } func (x *StringMatcher) GetSafeRegex() *RegexMatcher { if x, ok := x.GetMatchPattern().(*StringMatcher_SafeRegex); ok { return x.SafeRegex } return nil } func (x *StringMatcher) GetIgnoreCase() bool { if x != nil { return x.IgnoreCase } return false } type isStringMatcher_MatchPattern interface { isStringMatcher_MatchPattern() } type StringMatcher_Exact struct { // The input string must match exactly the string specified here. // // Examples: // // * *abc* only matches the value *abc*. Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"` } type StringMatcher_Prefix struct { // The input string must have the prefix specified here. // Note: empty prefix is not allowed, please use regex instead. // // Examples: // // * *abc* matches the value *abc.xyz* Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"` } type StringMatcher_Suffix struct { // The input string must have the suffix specified here. // Note: empty prefix is not allowed, please use regex instead. // // Examples: // // * *abc* matches the value *xyz.abc* Suffix string `protobuf:"bytes,3,opt,name=suffix,proto3,oneof"` } type StringMatcher_Regex struct { // The input string must match the regular expression specified here. // The regex grammar is defined `here // `_. // // Examples: // // * The regex “\d{3}“ matches the value *123* // * The regex “\d{3}“ does not match the value *1234* // * The regex “\d{3}“ does not match the value *123.456* // // .. attention:: // // This field has been deprecated in favor of `safe_regex` as it is not safe for use with // untrusted input in all cases. // // Deprecated: Marked as deprecated in envoy/type/matcher/string.proto. Regex string `protobuf:"bytes,4,opt,name=regex,proto3,oneof"` } type StringMatcher_SafeRegex struct { // The input string must match the regular expression specified here. SafeRegex *RegexMatcher `protobuf:"bytes,5,opt,name=safe_regex,json=safeRegex,proto3,oneof"` } func (*StringMatcher_Exact) isStringMatcher_MatchPattern() {} func (*StringMatcher_Prefix) isStringMatcher_MatchPattern() {} func (*StringMatcher_Suffix) isStringMatcher_MatchPattern() {} func (*StringMatcher_Regex) isStringMatcher_MatchPattern() {} func (*StringMatcher_SafeRegex) isStringMatcher_MatchPattern() {} // Specifies a list of ways to match a string. type ListStringMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Patterns []*StringMatcher `protobuf:"bytes,1,rep,name=patterns,proto3" json:"patterns,omitempty"` } func (x *ListStringMatcher) Reset() { *x = ListStringMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_string_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListStringMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStringMatcher) ProtoMessage() {} func (x *ListStringMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_string_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStringMatcher.ProtoReflect.Descriptor instead. func (*ListStringMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_string_proto_rawDescGZIP(), []int{1} } func (x *ListStringMatcher) GetPatterns() []*StringMatcher { if x != nil { return x.Patterns } return nil } var File_envoy_type_matcher_string_proto protoreflect.FileDescriptor var file_envoy_type_matcher_string_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0xb8, 0xee, 0xf2, 0xd2, 0x05, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x5c, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x42, 0x74, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_string_proto_rawDescOnce sync.Once file_envoy_type_matcher_string_proto_rawDescData = file_envoy_type_matcher_string_proto_rawDesc ) func file_envoy_type_matcher_string_proto_rawDescGZIP() []byte { file_envoy_type_matcher_string_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_string_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_string_proto_rawDescData) }) return file_envoy_type_matcher_string_proto_rawDescData } var file_envoy_type_matcher_string_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_string_proto_goTypes = []interface{}{ (*StringMatcher)(nil), // 0: envoy.type.matcher.StringMatcher (*ListStringMatcher)(nil), // 1: envoy.type.matcher.ListStringMatcher (*RegexMatcher)(nil), // 2: envoy.type.matcher.RegexMatcher } var file_envoy_type_matcher_string_proto_depIdxs = []int32{ 2, // 0: envoy.type.matcher.StringMatcher.safe_regex:type_name -> envoy.type.matcher.RegexMatcher 0, // 1: envoy.type.matcher.ListStringMatcher.patterns:type_name -> envoy.type.matcher.StringMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_string_proto_init() } func file_envoy_type_matcher_string_proto_init() { if File_envoy_type_matcher_string_proto != nil { return } file_envoy_type_matcher_regex_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_string_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_string_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListStringMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_string_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StringMatcher_Exact)(nil), (*StringMatcher_Prefix)(nil), (*StringMatcher_Suffix)(nil), (*StringMatcher_Regex)(nil), (*StringMatcher_SafeRegex)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_string_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_string_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_string_proto_depIdxs, MessageInfos: file_envoy_type_matcher_string_proto_msgTypes, }.Build() File_envoy_type_matcher_string_proto = out.File file_envoy_type_matcher_string_proto_rawDesc = nil file_envoy_type_matcher_string_proto_goTypes = nil file_envoy_type_matcher_string_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/string.pb.validate.go000077500000000000000000000250511454502223200245500ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/string.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StringMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StringMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StringMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StringMatcherMultiError, or // nil if none found. func (m *StringMatcher) ValidateAll() error { return m.validate(true) } func (m *StringMatcher) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IgnoreCase oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *StringMatcher_Exact: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for Exact case *StringMatcher_Prefix: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if utf8.RuneCountInString(m.GetPrefix()) < 1 { err := StringMatcherValidationError{ field: "Prefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *StringMatcher_Suffix: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if utf8.RuneCountInString(m.GetSuffix()) < 1 { err := StringMatcherValidationError{ field: "Suffix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *StringMatcher_Regex: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if len(m.GetRegex()) > 1024 { err := StringMatcherValidationError{ field: "Regex", reason: "value length must be at most 1024 bytes", } if !all { return err } errors = append(errors, err) } case *StringMatcher_SafeRegex: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if m.GetSafeRegex() == nil { err := StringMatcherValidationError{ field: "SafeRegex", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := StringMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StringMatcherMultiError(errors) } return nil } // StringMatcherMultiError is an error wrapping multiple validation errors // returned by StringMatcher.ValidateAll() if the designated constraints // aren't met. type StringMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StringMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StringMatcherMultiError) AllErrors() []error { return m } // StringMatcherValidationError is the validation error returned by // StringMatcher.Validate if the designated constraints aren't met. type StringMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StringMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StringMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StringMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StringMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StringMatcherValidationError) ErrorName() string { return "StringMatcherValidationError" } // Error satisfies the builtin error interface func (e StringMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStringMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StringMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StringMatcherValidationError{} // Validate checks the field values on ListStringMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ListStringMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListStringMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListStringMatcherMultiError, or nil if none found. func (m *ListStringMatcher) ValidateAll() error { return m.validate(true) } func (m *ListStringMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPatterns()) < 1 { err := ListStringMatcherValidationError{ field: "Patterns", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPatterns() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListStringMatcherMultiError(errors) } return nil } // ListStringMatcherMultiError is an error wrapping multiple validation errors // returned by ListStringMatcher.ValidateAll() if the designated constraints // aren't met. type ListStringMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListStringMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListStringMatcherMultiError) AllErrors() []error { return m } // ListStringMatcherValidationError is the validation error returned by // ListStringMatcher.Validate if the designated constraints aren't met. type ListStringMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListStringMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListStringMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListStringMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListStringMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListStringMatcherValidationError) ErrorName() string { return "ListStringMatcherValidationError" } // Error satisfies the builtin error interface func (e ListStringMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListStringMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListStringMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListStringMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/struct.pb.go000077500000000000000000000265601454502223200230040ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/struct.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // StructMatcher provides a general interface to check if a given value is matched in // google.protobuf.Struct. It uses `path` to retrieve the value // from the struct and then check if it's matched to the specified value. // // For example, for the following Struct: // // .. code-block:: yaml // // fields: // a: // struct_value: // fields: // b: // struct_value: // fields: // c: // string_value: pro // t: // list_value: // values: // - string_value: m // - string_value: n // // The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro" // from the Metadata which is matched to the specified prefix match. // // .. code-block:: yaml // // path: // - key: a // - key: b // - key: c // value: // string_match: // prefix: pr // // The following StructMatcher is matched as the code will match one of the string values in the // list at the path [a, t]. // // .. code-block:: yaml // // path: // - key: a // - key: t // value: // list_match: // one_of: // string_match: // exact: m // // An example use of StructMatcher is to match metadata in envoy.v*.core.Node. type StructMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The path to retrieve the Value from the Struct. Path []*StructMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // The StructMatcher is matched if the value retrieved by path is matched to this value. Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *StructMatcher) Reset() { *x = StructMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_struct_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructMatcher) ProtoMessage() {} func (x *StructMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_struct_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StructMatcher.ProtoReflect.Descriptor instead. func (*StructMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_struct_proto_rawDescGZIP(), []int{0} } func (x *StructMatcher) GetPath() []*StructMatcher_PathSegment { if x != nil { return x.Path } return nil } func (x *StructMatcher) GetValue() *ValueMatcher { if x != nil { return x.Value } return nil } // Specifies the segment in a path to retrieve value from Struct. type StructMatcher_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *StructMatcher_PathSegment_Key Segment isStructMatcher_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *StructMatcher_PathSegment) Reset() { *x = StructMatcher_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_struct_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructMatcher_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructMatcher_PathSegment) ProtoMessage() {} func (x *StructMatcher_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_struct_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StructMatcher_PathSegment.ProtoReflect.Descriptor instead. func (*StructMatcher_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_struct_proto_rawDescGZIP(), []int{0, 0} } func (m *StructMatcher_PathSegment) GetSegment() isStructMatcher_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *StructMatcher_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*StructMatcher_PathSegment_Key); ok { return x.Key } return "" } type isStructMatcher_PathSegment_Segment interface { isStructMatcher_PathSegment_Segment() } type StructMatcher_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*StructMatcher_PathSegment_Key) isStructMatcher_PathSegment_Segment() {} var File_envoy_type_matcher_struct_proto protoreflect.FileDescriptor var file_envoy_type_matcher_struct_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x3a, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x74, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_struct_proto_rawDescOnce sync.Once file_envoy_type_matcher_struct_proto_rawDescData = file_envoy_type_matcher_struct_proto_rawDesc ) func file_envoy_type_matcher_struct_proto_rawDescGZIP() []byte { file_envoy_type_matcher_struct_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_struct_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_struct_proto_rawDescData) }) return file_envoy_type_matcher_struct_proto_rawDescData } var file_envoy_type_matcher_struct_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_struct_proto_goTypes = []interface{}{ (*StructMatcher)(nil), // 0: envoy.type.matcher.StructMatcher (*StructMatcher_PathSegment)(nil), // 1: envoy.type.matcher.StructMatcher.PathSegment (*ValueMatcher)(nil), // 2: envoy.type.matcher.ValueMatcher } var file_envoy_type_matcher_struct_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.StructMatcher.path:type_name -> envoy.type.matcher.StructMatcher.PathSegment 2, // 1: envoy.type.matcher.StructMatcher.value:type_name -> envoy.type.matcher.ValueMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_struct_proto_init() } func file_envoy_type_matcher_struct_proto_init() { if File_envoy_type_matcher_struct_proto != nil { return } file_envoy_type_matcher_value_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_struct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_struct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructMatcher_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_struct_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StructMatcher_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_struct_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_struct_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_struct_proto_depIdxs, MessageInfos: file_envoy_type_matcher_struct_proto_msgTypes, }.Build() File_envoy_type_matcher_struct_proto = out.File file_envoy_type_matcher_struct_proto_rawDesc = nil file_envoy_type_matcher_struct_proto_goTypes = nil file_envoy_type_matcher_struct_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/struct.pb.validate.go000077500000000000000000000220731454502223200245670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/struct.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StructMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StructMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StructMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StructMatcherMultiError, or // nil if none found. func (m *StructMatcher) ValidateAll() error { return m.validate(true) } func (m *StructMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPath()) < 1 { err := StructMatcherValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetValue() == nil { err := StructMatcherValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StructMatcherMultiError(errors) } return nil } // StructMatcherMultiError is an error wrapping multiple validation errors // returned by StructMatcher.ValidateAll() if the designated constraints // aren't met. type StructMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StructMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StructMatcherMultiError) AllErrors() []error { return m } // StructMatcherValidationError is the validation error returned by // StructMatcher.Validate if the designated constraints aren't met. type StructMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StructMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StructMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StructMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StructMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StructMatcherValidationError) ErrorName() string { return "StructMatcherValidationError" } // Error satisfies the builtin error interface func (e StructMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStructMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StructMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StructMatcherValidationError{} // Validate checks the field values on StructMatcher_PathSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StructMatcher_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StructMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StructMatcher_PathSegmentMultiError, or nil if none found. func (m *StructMatcher_PathSegment) ValidateAll() error { return m.validate(true) } func (m *StructMatcher_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *StructMatcher_PathSegment_Key: if v == nil { err := StructMatcher_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := StructMatcher_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := StructMatcher_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StructMatcher_PathSegmentMultiError(errors) } return nil } // StructMatcher_PathSegmentMultiError is an error wrapping multiple validation // errors returned by StructMatcher_PathSegment.ValidateAll() if the // designated constraints aren't met. type StructMatcher_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StructMatcher_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StructMatcher_PathSegmentMultiError) AllErrors() []error { return m } // StructMatcher_PathSegmentValidationError is the validation error returned by // StructMatcher_PathSegment.Validate if the designated constraints aren't met. type StructMatcher_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StructMatcher_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StructMatcher_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StructMatcher_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StructMatcher_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StructMatcher_PathSegmentValidationError) ErrorName() string { return "StructMatcher_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e StructMatcher_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStructMatcher_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StructMatcher_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StructMatcher_PathSegmentValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/000077500000000000000000000000001454502223200210455ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/matcher/v3/filter_state.pb.go000077500000000000000000000205561454502223200244740ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/filter_state.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // FilterStateMatcher provides a general interface for matching the filter state objects. type FilterStateMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter state key to retrieve the object. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Types that are assignable to Matcher: // // *FilterStateMatcher_StringMatch Matcher isFilterStateMatcher_Matcher `protobuf_oneof:"matcher"` } func (x *FilterStateMatcher) Reset() { *x = FilterStateMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_filter_state_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FilterStateMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*FilterStateMatcher) ProtoMessage() {} func (x *FilterStateMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_filter_state_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FilterStateMatcher.ProtoReflect.Descriptor instead. func (*FilterStateMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_filter_state_proto_rawDescGZIP(), []int{0} } func (x *FilterStateMatcher) GetKey() string { if x != nil { return x.Key } return "" } func (m *FilterStateMatcher) GetMatcher() isFilterStateMatcher_Matcher { if m != nil { return m.Matcher } return nil } func (x *FilterStateMatcher) GetStringMatch() *StringMatcher { if x, ok := x.GetMatcher().(*FilterStateMatcher_StringMatch); ok { return x.StringMatch } return nil } type isFilterStateMatcher_Matcher interface { isFilterStateMatcher_Matcher() } type FilterStateMatcher_StringMatch struct { // Matches the filter state object as a string value. StringMatch *StringMatcher `protobuf:"bytes,2,opt,name=string_match,json=stringMatch,proto3,oneof"` } func (*FilterStateMatcher_StringMatch) isFilterStateMatcher_Matcher() {} var File_envoy_type_matcher_v3_filter_state_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_filter_state_proto_rawDesc = []byte{ 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x89, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_filter_state_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_filter_state_proto_rawDescData = file_envoy_type_matcher_v3_filter_state_proto_rawDesc ) func file_envoy_type_matcher_v3_filter_state_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_filter_state_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_filter_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_filter_state_proto_rawDescData) }) return file_envoy_type_matcher_v3_filter_state_proto_rawDescData } var file_envoy_type_matcher_v3_filter_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_v3_filter_state_proto_goTypes = []interface{}{ (*FilterStateMatcher)(nil), // 0: envoy.type.matcher.v3.FilterStateMatcher (*StringMatcher)(nil), // 1: envoy.type.matcher.v3.StringMatcher } var file_envoy_type_matcher_v3_filter_state_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.FilterStateMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_filter_state_proto_init() } func file_envoy_type_matcher_v3_filter_state_proto_init() { if File_envoy_type_matcher_v3_filter_state_proto != nil { return } file_envoy_type_matcher_v3_string_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_filter_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilterStateMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_filter_state_proto_msgTypes[0].OneofWrappers = []interface{}{ (*FilterStateMatcher_StringMatch)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_filter_state_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_filter_state_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_filter_state_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_filter_state_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_filter_state_proto = out.File file_envoy_type_matcher_v3_filter_state_proto_rawDesc = nil file_envoy_type_matcher_v3_filter_state_proto_goTypes = nil file_envoy_type_matcher_v3_filter_state_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/filter_state.pb.validate.go000077500000000000000000000117571454502223200262670ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/filter_state.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on FilterStateMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *FilterStateMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FilterStateMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FilterStateMatcherMultiError, or nil if none found. func (m *FilterStateMatcher) ValidateAll() error { return m.validate(true) } func (m *FilterStateMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := FilterStateMatcherValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofMatcherPresent := false switch v := m.Matcher.(type) { case *FilterStateMatcher_StringMatch: if v == nil { err := FilterStateMatcherValidationError{ field: "Matcher", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatcherPresent = true if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, FilterStateMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, FilterStateMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return FilterStateMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatcherPresent { err := FilterStateMatcherValidationError{ field: "Matcher", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FilterStateMatcherMultiError(errors) } return nil } // FilterStateMatcherMultiError is an error wrapping multiple validation errors // returned by FilterStateMatcher.ValidateAll() if the designated constraints // aren't met. type FilterStateMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FilterStateMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FilterStateMatcherMultiError) AllErrors() []error { return m } // FilterStateMatcherValidationError is the validation error returned by // FilterStateMatcher.Validate if the designated constraints aren't met. type FilterStateMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FilterStateMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FilterStateMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FilterStateMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FilterStateMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FilterStateMatcherValidationError) ErrorName() string { return "FilterStateMatcherValidationError" } // Error satisfies the builtin error interface func (e FilterStateMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFilterStateMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FilterStateMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FilterStateMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/http_inputs.pb.go000077500000000000000000000430121454502223200243600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/http_inputs.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Match input indicates that matching should be done on a specific request header. // The resulting input string will be all headers for the given key joined by a comma, // e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input // string will be 'bar,baz'. // [#comment:TODO(snowp): Link to unified matching docs.] // [#extension: envoy.matching.inputs.request_headers] type HttpRequestHeaderMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request header to match on. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` } func (x *HttpRequestHeaderMatchInput) Reset() { *x = HttpRequestHeaderMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpRequestHeaderMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpRequestHeaderMatchInput) ProtoMessage() {} func (x *HttpRequestHeaderMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpRequestHeaderMatchInput.ProtoReflect.Descriptor instead. func (*HttpRequestHeaderMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP(), []int{0} } func (x *HttpRequestHeaderMatchInput) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } // Match input indicates that matching should be done on a specific request trailer. // The resulting input string will be all headers for the given key joined by a comma, // e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input // string will be 'bar,baz'. // [#comment:TODO(snowp): Link to unified matching docs.] // [#extension: envoy.matching.inputs.request_trailers] type HttpRequestTrailerMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The request trailer to match on. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` } func (x *HttpRequestTrailerMatchInput) Reset() { *x = HttpRequestTrailerMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpRequestTrailerMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpRequestTrailerMatchInput) ProtoMessage() {} func (x *HttpRequestTrailerMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpRequestTrailerMatchInput.ProtoReflect.Descriptor instead. func (*HttpRequestTrailerMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP(), []int{1} } func (x *HttpRequestTrailerMatchInput) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } // Match input indicating that matching should be done on a specific response header. // The resulting input string will be all headers for the given key joined by a comma, // e.g. if the response contains two 'foo' headers with value 'bar' and 'baz', the input // string will be 'bar,baz'. // [#comment:TODO(snowp): Link to unified matching docs.] // [#extension: envoy.matching.inputs.response_headers] type HttpResponseHeaderMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The response header to match on. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` } func (x *HttpResponseHeaderMatchInput) Reset() { *x = HttpResponseHeaderMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpResponseHeaderMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpResponseHeaderMatchInput) ProtoMessage() {} func (x *HttpResponseHeaderMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpResponseHeaderMatchInput.ProtoReflect.Descriptor instead. func (*HttpResponseHeaderMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP(), []int{2} } func (x *HttpResponseHeaderMatchInput) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } // Match input indicates that matching should be done on a specific response trailer. // The resulting input string will be all headers for the given key joined by a comma, // e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input // string will be 'bar,baz'. // [#comment:TODO(snowp): Link to unified matching docs.] // [#extension: envoy.matching.inputs.response_trailers] type HttpResponseTrailerMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The response trailer to match on. HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` } func (x *HttpResponseTrailerMatchInput) Reset() { *x = HttpResponseTrailerMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpResponseTrailerMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpResponseTrailerMatchInput) ProtoMessage() {} func (x *HttpResponseTrailerMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpResponseTrailerMatchInput.ProtoReflect.Descriptor instead. func (*HttpResponseTrailerMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP(), []int{3} } func (x *HttpResponseTrailerMatchInput) GetHeaderName() string { if x != nil { return x.HeaderName } return "" } // Match input indicates that matching should be done on a specific query parameter. // The resulting input string will be the first query parameter for the value // 'query_param'. // [#extension: envoy.matching.inputs.query_params] type HttpRequestQueryParamMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The query parameter to match on. QueryParam string `protobuf:"bytes,1,opt,name=query_param,json=queryParam,proto3" json:"query_param,omitempty"` } func (x *HttpRequestQueryParamMatchInput) Reset() { *x = HttpRequestQueryParamMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpRequestQueryParamMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpRequestQueryParamMatchInput) ProtoMessage() {} func (x *HttpRequestQueryParamMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpRequestQueryParamMatchInput.ProtoReflect.Descriptor instead. func (*HttpRequestQueryParamMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP(), []int{4} } func (x *HttpRequestQueryParamMatchInput) GetQueryParam() string { if x != nil { return x.QueryParam } return "" } var File_envoy_type_matcher_v3_http_inputs_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_http_inputs_proto_rawDesc = []byte{ 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x1b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x1c, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x1c, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x1d, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x1f, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x88, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_http_inputs_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_http_inputs_proto_rawDescData = file_envoy_type_matcher_v3_http_inputs_proto_rawDesc ) func file_envoy_type_matcher_v3_http_inputs_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_http_inputs_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_http_inputs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_http_inputs_proto_rawDescData) }) return file_envoy_type_matcher_v3_http_inputs_proto_rawDescData } var file_envoy_type_matcher_v3_http_inputs_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_type_matcher_v3_http_inputs_proto_goTypes = []interface{}{ (*HttpRequestHeaderMatchInput)(nil), // 0: envoy.type.matcher.v3.HttpRequestHeaderMatchInput (*HttpRequestTrailerMatchInput)(nil), // 1: envoy.type.matcher.v3.HttpRequestTrailerMatchInput (*HttpResponseHeaderMatchInput)(nil), // 2: envoy.type.matcher.v3.HttpResponseHeaderMatchInput (*HttpResponseTrailerMatchInput)(nil), // 3: envoy.type.matcher.v3.HttpResponseTrailerMatchInput (*HttpRequestQueryParamMatchInput)(nil), // 4: envoy.type.matcher.v3.HttpRequestQueryParamMatchInput } var file_envoy_type_matcher_v3_http_inputs_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_http_inputs_proto_init() } func file_envoy_type_matcher_v3_http_inputs_proto_init() { if File_envoy_type_matcher_v3_http_inputs_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRequestHeaderMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRequestTrailerMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpResponseHeaderMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpResponseTrailerMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_http_inputs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRequestQueryParamMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_http_inputs_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_http_inputs_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_http_inputs_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_http_inputs_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_http_inputs_proto = out.File file_envoy_type_matcher_v3_http_inputs_proto_rawDesc = nil file_envoy_type_matcher_v3_http_inputs_proto_goTypes = nil file_envoy_type_matcher_v3_http_inputs_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/http_inputs.pb.validate.go000077500000000000000000000430431454502223200261540ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/http_inputs.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpRequestHeaderMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpRequestHeaderMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpRequestHeaderMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpRequestHeaderMatchInputMultiError, or nil if none found. func (m *HttpRequestHeaderMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpRequestHeaderMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if !_HttpRequestHeaderMatchInput_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := HttpRequestHeaderMatchInputValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpRequestHeaderMatchInputMultiError(errors) } return nil } // HttpRequestHeaderMatchInputMultiError is an error wrapping multiple // validation errors returned by HttpRequestHeaderMatchInput.ValidateAll() if // the designated constraints aren't met. type HttpRequestHeaderMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpRequestHeaderMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpRequestHeaderMatchInputMultiError) AllErrors() []error { return m } // HttpRequestHeaderMatchInputValidationError is the validation error returned // by HttpRequestHeaderMatchInput.Validate if the designated constraints // aren't met. type HttpRequestHeaderMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpRequestHeaderMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpRequestHeaderMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpRequestHeaderMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpRequestHeaderMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpRequestHeaderMatchInputValidationError) ErrorName() string { return "HttpRequestHeaderMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpRequestHeaderMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpRequestHeaderMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpRequestHeaderMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpRequestHeaderMatchInputValidationError{} var _HttpRequestHeaderMatchInput_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HttpRequestTrailerMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpRequestTrailerMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpRequestTrailerMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpRequestTrailerMatchInputMultiError, or nil if none found. func (m *HttpRequestTrailerMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpRequestTrailerMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if !_HttpRequestTrailerMatchInput_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := HttpRequestTrailerMatchInputValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpRequestTrailerMatchInputMultiError(errors) } return nil } // HttpRequestTrailerMatchInputMultiError is an error wrapping multiple // validation errors returned by HttpRequestTrailerMatchInput.ValidateAll() if // the designated constraints aren't met. type HttpRequestTrailerMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpRequestTrailerMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpRequestTrailerMatchInputMultiError) AllErrors() []error { return m } // HttpRequestTrailerMatchInputValidationError is the validation error returned // by HttpRequestTrailerMatchInput.Validate if the designated constraints // aren't met. type HttpRequestTrailerMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpRequestTrailerMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpRequestTrailerMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpRequestTrailerMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpRequestTrailerMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpRequestTrailerMatchInputValidationError) ErrorName() string { return "HttpRequestTrailerMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpRequestTrailerMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpRequestTrailerMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpRequestTrailerMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpRequestTrailerMatchInputValidationError{} var _HttpRequestTrailerMatchInput_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HttpResponseHeaderMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpResponseHeaderMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpResponseHeaderMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HttpResponseHeaderMatchInputMultiError, or nil if none found. func (m *HttpResponseHeaderMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpResponseHeaderMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if !_HttpResponseHeaderMatchInput_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := HttpResponseHeaderMatchInputValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpResponseHeaderMatchInputMultiError(errors) } return nil } // HttpResponseHeaderMatchInputMultiError is an error wrapping multiple // validation errors returned by HttpResponseHeaderMatchInput.ValidateAll() if // the designated constraints aren't met. type HttpResponseHeaderMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpResponseHeaderMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpResponseHeaderMatchInputMultiError) AllErrors() []error { return m } // HttpResponseHeaderMatchInputValidationError is the validation error returned // by HttpResponseHeaderMatchInput.Validate if the designated constraints // aren't met. type HttpResponseHeaderMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpResponseHeaderMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpResponseHeaderMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpResponseHeaderMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpResponseHeaderMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpResponseHeaderMatchInputValidationError) ErrorName() string { return "HttpResponseHeaderMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpResponseHeaderMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpResponseHeaderMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpResponseHeaderMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpResponseHeaderMatchInputValidationError{} var _HttpResponseHeaderMatchInput_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HttpResponseTrailerMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpResponseTrailerMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpResponseTrailerMatchInput with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HttpResponseTrailerMatchInputMultiError, or nil if none found. func (m *HttpResponseTrailerMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpResponseTrailerMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if !_HttpResponseTrailerMatchInput_HeaderName_Pattern.MatchString(m.GetHeaderName()) { err := HttpResponseTrailerMatchInputValidationError{ field: "HeaderName", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpResponseTrailerMatchInputMultiError(errors) } return nil } // HttpResponseTrailerMatchInputMultiError is an error wrapping multiple // validation errors returned by HttpResponseTrailerMatchInput.ValidateAll() // if the designated constraints aren't met. type HttpResponseTrailerMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpResponseTrailerMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpResponseTrailerMatchInputMultiError) AllErrors() []error { return m } // HttpResponseTrailerMatchInputValidationError is the validation error // returned by HttpResponseTrailerMatchInput.Validate if the designated // constraints aren't met. type HttpResponseTrailerMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpResponseTrailerMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpResponseTrailerMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpResponseTrailerMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpResponseTrailerMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpResponseTrailerMatchInputValidationError) ErrorName() string { return "HttpResponseTrailerMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpResponseTrailerMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpResponseTrailerMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpResponseTrailerMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpResponseTrailerMatchInputValidationError{} var _HttpResponseTrailerMatchInput_HeaderName_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on HttpRequestQueryParamMatchInput with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HttpRequestQueryParamMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpRequestQueryParamMatchInput with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HttpRequestQueryParamMatchInputMultiError, or nil if none found. func (m *HttpRequestQueryParamMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpRequestQueryParamMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetQueryParam()) < 1 { err := HttpRequestQueryParamMatchInputValidationError{ field: "QueryParam", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpRequestQueryParamMatchInputMultiError(errors) } return nil } // HttpRequestQueryParamMatchInputMultiError is an error wrapping multiple // validation errors returned by HttpRequestQueryParamMatchInput.ValidateAll() // if the designated constraints aren't met. type HttpRequestQueryParamMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpRequestQueryParamMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpRequestQueryParamMatchInputMultiError) AllErrors() []error { return m } // HttpRequestQueryParamMatchInputValidationError is the validation error // returned by HttpRequestQueryParamMatchInput.Validate if the designated // constraints aren't met. type HttpRequestQueryParamMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpRequestQueryParamMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpRequestQueryParamMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpRequestQueryParamMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpRequestQueryParamMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpRequestQueryParamMatchInputValidationError) ErrorName() string { return "HttpRequestQueryParamMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpRequestQueryParamMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpRequestQueryParamMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpRequestQueryParamMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpRequestQueryParamMatchInputValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/metadata.pb.go000077500000000000000000000307351454502223200235670ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/metadata.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // [#next-major-version: MetadataMatcher should use StructMatcher] type MetadataMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The filter name to retrieve the Struct from the Metadata. Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` // The path to retrieve the Value from the Struct. Path []*MetadataMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // The MetadataMatcher is matched if the value retrieved by path is matched to this value. Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // If true, the match result will be inverted. Invert bool `protobuf:"varint,4,opt,name=invert,proto3" json:"invert,omitempty"` } func (x *MetadataMatcher) Reset() { *x = MetadataMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataMatcher) ProtoMessage() {} func (x *MetadataMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataMatcher.ProtoReflect.Descriptor instead. func (*MetadataMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_metadata_proto_rawDescGZIP(), []int{0} } func (x *MetadataMatcher) GetFilter() string { if x != nil { return x.Filter } return "" } func (x *MetadataMatcher) GetPath() []*MetadataMatcher_PathSegment { if x != nil { return x.Path } return nil } func (x *MetadataMatcher) GetValue() *ValueMatcher { if x != nil { return x.Value } return nil } func (x *MetadataMatcher) GetInvert() bool { if x != nil { return x.Invert } return false } // Specifies the segment in a path to retrieve value from Metadata. // Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that // if the segment key refers to a list, it has to be the last segment in a path. type MetadataMatcher_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *MetadataMatcher_PathSegment_Key Segment isMetadataMatcher_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *MetadataMatcher_PathSegment) Reset() { *x = MetadataMatcher_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataMatcher_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataMatcher_PathSegment) ProtoMessage() {} func (x *MetadataMatcher_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataMatcher_PathSegment.ProtoReflect.Descriptor instead. func (*MetadataMatcher_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_metadata_proto_rawDescGZIP(), []int{0, 0} } func (m *MetadataMatcher_PathSegment) GetSegment() isMetadataMatcher_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *MetadataMatcher_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*MetadataMatcher_PathSegment_Key); ok { return x.Key } return "" } type isMetadataMatcher_PathSegment_Segment interface { isMetadataMatcher_PathSegment_Segment() } type MetadataMatcher_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*MetadataMatcher_PathSegment_Key) isMetadataMatcher_PathSegment_Segment() {} var File_envoy_type_matcher_v3_metadata_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_metadata_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x02, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x1a, 0x71, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x86, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_metadata_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_metadata_proto_rawDescData = file_envoy_type_matcher_v3_metadata_proto_rawDesc ) func file_envoy_type_matcher_v3_metadata_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_metadata_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_metadata_proto_rawDescData) }) return file_envoy_type_matcher_v3_metadata_proto_rawDescData } var file_envoy_type_matcher_v3_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_v3_metadata_proto_goTypes = []interface{}{ (*MetadataMatcher)(nil), // 0: envoy.type.matcher.v3.MetadataMatcher (*MetadataMatcher_PathSegment)(nil), // 1: envoy.type.matcher.v3.MetadataMatcher.PathSegment (*ValueMatcher)(nil), // 2: envoy.type.matcher.v3.ValueMatcher } var file_envoy_type_matcher_v3_metadata_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.MetadataMatcher.path:type_name -> envoy.type.matcher.v3.MetadataMatcher.PathSegment 2, // 1: envoy.type.matcher.v3.MetadataMatcher.value:type_name -> envoy.type.matcher.v3.ValueMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_metadata_proto_init() } func file_envoy_type_matcher_v3_metadata_proto_init() { if File_envoy_type_matcher_v3_metadata_proto != nil { return } file_envoy_type_matcher_v3_value_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataMatcher_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MetadataMatcher_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_metadata_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_metadata_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_metadata_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_metadata_proto = out.File file_envoy_type_matcher_v3_metadata_proto_rawDesc = nil file_envoy_type_matcher_v3_metadata_proto_goTypes = nil file_envoy_type_matcher_v3_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/metadata.pb.validate.go000077500000000000000000000227141454502223200253550ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/metadata.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MetadataMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *MetadataMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataMatcherMultiError, or nil if none found. func (m *MetadataMatcher) ValidateAll() error { return m.validate(true) } func (m *MetadataMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetFilter()) < 1 { err := MetadataMatcherValidationError{ field: "Filter", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetPath()) < 1 { err := MetadataMatcherValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetValue() == nil { err := MetadataMatcherValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } // no validation rules for Invert if len(errors) > 0 { return MetadataMatcherMultiError(errors) } return nil } // MetadataMatcherMultiError is an error wrapping multiple validation errors // returned by MetadataMatcher.ValidateAll() if the designated constraints // aren't met. type MetadataMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMatcherMultiError) AllErrors() []error { return m } // MetadataMatcherValidationError is the validation error returned by // MetadataMatcher.Validate if the designated constraints aren't met. type MetadataMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataMatcherValidationError) ErrorName() string { return "MetadataMatcherValidationError" } // Error satisfies the builtin error interface func (e MetadataMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataMatcherValidationError{} // Validate checks the field values on MetadataMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataMatcher_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataMatcher_PathSegmentMultiError, or nil if none found. func (m *MetadataMatcher_PathSegment) ValidateAll() error { return m.validate(true) } func (m *MetadataMatcher_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *MetadataMatcher_PathSegment_Key: if v == nil { err := MetadataMatcher_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := MetadataMatcher_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := MetadataMatcher_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataMatcher_PathSegmentMultiError(errors) } return nil } // MetadataMatcher_PathSegmentMultiError is an error wrapping multiple // validation errors returned by MetadataMatcher_PathSegment.ValidateAll() if // the designated constraints aren't met. type MetadataMatcher_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataMatcher_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataMatcher_PathSegmentMultiError) AllErrors() []error { return m } // MetadataMatcher_PathSegmentValidationError is the validation error returned // by MetadataMatcher_PathSegment.Validate if the designated constraints // aren't met. type MetadataMatcher_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataMatcher_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataMatcher_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataMatcher_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataMatcher_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataMatcher_PathSegmentValidationError) ErrorName() string { return "MetadataMatcher_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e MetadataMatcher_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataMatcher_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataMatcher_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataMatcher_PathSegmentValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/node.pb.go000077500000000000000000000201551454502223200227270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/node.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a Node. // The match follows AND semantics. type NodeMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies match criteria on the node id. NodeId *StringMatcher `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Specifies match criteria on the node metadata. NodeMetadatas []*StructMatcher `protobuf:"bytes,2,rep,name=node_metadatas,json=nodeMetadatas,proto3" json:"node_metadatas,omitempty"` } func (x *NodeMatcher) Reset() { *x = NodeMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_node_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NodeMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*NodeMatcher) ProtoMessage() {} func (x *NodeMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_node_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NodeMatcher.ProtoReflect.Descriptor instead. func (*NodeMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_node_proto_rawDescGZIP(), []int{0} } func (x *NodeMatcher) GetNodeId() *StringMatcher { if x != nil { return x.NodeId } return nil } func (x *NodeMatcher) GetNodeMetadatas() []*StructMatcher { if x != nil { return x.NodeMetadatas } return nil } var File_envoy_type_matcher_v3_node_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_node_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_node_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_node_proto_rawDescData = file_envoy_type_matcher_v3_node_proto_rawDesc ) func file_envoy_type_matcher_v3_node_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_node_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_node_proto_rawDescData) }) return file_envoy_type_matcher_v3_node_proto_rawDescData } var file_envoy_type_matcher_v3_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_v3_node_proto_goTypes = []interface{}{ (*NodeMatcher)(nil), // 0: envoy.type.matcher.v3.NodeMatcher (*StringMatcher)(nil), // 1: envoy.type.matcher.v3.StringMatcher (*StructMatcher)(nil), // 2: envoy.type.matcher.v3.StructMatcher } var file_envoy_type_matcher_v3_node_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.NodeMatcher.node_id:type_name -> envoy.type.matcher.v3.StringMatcher 2, // 1: envoy.type.matcher.v3.NodeMatcher.node_metadatas:type_name -> envoy.type.matcher.v3.StructMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_node_proto_init() } func file_envoy_type_matcher_v3_node_proto_init() { if File_envoy_type_matcher_v3_node_proto != nil { return } file_envoy_type_matcher_v3_string_proto_init() file_envoy_type_matcher_v3_struct_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_node_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_node_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_node_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_node_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_node_proto = out.File file_envoy_type_matcher_v3_node_proto_rawDesc = nil file_envoy_type_matcher_v3_node_proto_goTypes = nil file_envoy_type_matcher_v3_node_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/node.pb.validate.go000077500000000000000000000116321454502223200245170ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/node.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on NodeMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *NodeMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on NodeMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in NodeMatcherMultiError, or // nil if none found. func (m *NodeMatcher) ValidateAll() error { return m.validate(true) } func (m *NodeMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetNodeId()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNodeId()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeMatcherValidationError{ field: "NodeId", reason: "embedded message failed validation", cause: err, } } } for idx, item := range m.GetNodeMetadatas() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return NodeMatcherValidationError{ field: fmt.Sprintf("NodeMetadatas[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return NodeMatcherMultiError(errors) } return nil } // NodeMatcherMultiError is an error wrapping multiple validation errors // returned by NodeMatcher.ValidateAll() if the designated constraints aren't met. type NodeMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m NodeMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m NodeMatcherMultiError) AllErrors() []error { return m } // NodeMatcherValidationError is the validation error returned by // NodeMatcher.Validate if the designated constraints aren't met. type NodeMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e NodeMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e NodeMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e NodeMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e NodeMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e NodeMatcherValidationError) ErrorName() string { return "NodeMatcherValidationError" } // Error satisfies the builtin error interface func (e NodeMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sNodeMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = NodeMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = NodeMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/number.pb.go000077500000000000000000000207651454502223200233010ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/number.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a double value. type DoubleMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *DoubleMatcher_Range // *DoubleMatcher_Exact MatchPattern isDoubleMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *DoubleMatcher) Reset() { *x = DoubleMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_number_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleMatcher) ProtoMessage() {} func (x *DoubleMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_number_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DoubleMatcher.ProtoReflect.Descriptor instead. func (*DoubleMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_number_proto_rawDescGZIP(), []int{0} } func (m *DoubleMatcher) GetMatchPattern() isDoubleMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *DoubleMatcher) GetRange() *v3.DoubleRange { if x, ok := x.GetMatchPattern().(*DoubleMatcher_Range); ok { return x.Range } return nil } func (x *DoubleMatcher) GetExact() float64 { if x, ok := x.GetMatchPattern().(*DoubleMatcher_Exact); ok { return x.Exact } return 0 } type isDoubleMatcher_MatchPattern interface { isDoubleMatcher_MatchPattern() } type DoubleMatcher_Range struct { // If specified, the input double value must be in the range specified here. // Note: The range is using half-open interval semantics [start, end). Range *v3.DoubleRange `protobuf:"bytes,1,opt,name=range,proto3,oneof"` } type DoubleMatcher_Exact struct { // If specified, the input double value must be equal to the value specified here. Exact float64 `protobuf:"fixed64,2,opt,name=exact,proto3,oneof"` } func (*DoubleMatcher_Range) isDoubleMatcher_MatchPattern() {} func (*DoubleMatcher_Exact) isDoubleMatcher_MatchPattern() {} var File_envoy_type_matcher_v3_number_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_number_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_number_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_number_proto_rawDescData = file_envoy_type_matcher_v3_number_proto_rawDesc ) func file_envoy_type_matcher_v3_number_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_number_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_number_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_number_proto_rawDescData) }) return file_envoy_type_matcher_v3_number_proto_rawDescData } var file_envoy_type_matcher_v3_number_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_v3_number_proto_goTypes = []interface{}{ (*DoubleMatcher)(nil), // 0: envoy.type.matcher.v3.DoubleMatcher (*v3.DoubleRange)(nil), // 1: envoy.type.v3.DoubleRange } var file_envoy_type_matcher_v3_number_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.DoubleMatcher.range:type_name -> envoy.type.v3.DoubleRange 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_number_proto_init() } func file_envoy_type_matcher_v3_number_proto_init() { if File_envoy_type_matcher_v3_number_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_number_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_number_proto_msgTypes[0].OneofWrappers = []interface{}{ (*DoubleMatcher_Range)(nil), (*DoubleMatcher_Exact)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_number_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_number_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_number_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_number_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_number_proto = out.File file_envoy_type_matcher_v3_number_proto_rawDesc = nil file_envoy_type_matcher_v3_number_proto_goTypes = nil file_envoy_type_matcher_v3_number_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/number.pb.validate.go000077500000000000000000000116231454502223200250620ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/number.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on DoubleMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DoubleMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DoubleMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DoubleMatcherMultiError, or // nil if none found. func (m *DoubleMatcher) ValidateAll() error { return m.validate(true) } func (m *DoubleMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *DoubleMatcher_Range: if v == nil { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetRange()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRange()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return DoubleMatcherValidationError{ field: "Range", reason: "embedded message failed validation", cause: err, } } } case *DoubleMatcher_Exact: if v == nil { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for Exact default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := DoubleMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return DoubleMatcherMultiError(errors) } return nil } // DoubleMatcherMultiError is an error wrapping multiple validation errors // returned by DoubleMatcher.ValidateAll() if the designated constraints // aren't met. type DoubleMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DoubleMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DoubleMatcherMultiError) AllErrors() []error { return m } // DoubleMatcherValidationError is the validation error returned by // DoubleMatcher.Validate if the designated constraints aren't met. type DoubleMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DoubleMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DoubleMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DoubleMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DoubleMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DoubleMatcherValidationError) ErrorName() string { return "DoubleMatcherValidationError" } // Error satisfies the builtin error interface func (e DoubleMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDoubleMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DoubleMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DoubleMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/path.pb.go000077500000000000000000000176221454502223200227430ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/path.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a path on HTTP request. type PathMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: // // *PathMatcher_Path Rule isPathMatcher_Rule `protobuf_oneof:"rule"` } func (x *PathMatcher) Reset() { *x = PathMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_path_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathMatcher) ProtoMessage() {} func (x *PathMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_path_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathMatcher.ProtoReflect.Descriptor instead. func (*PathMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_path_proto_rawDescGZIP(), []int{0} } func (m *PathMatcher) GetRule() isPathMatcher_Rule { if m != nil { return m.Rule } return nil } func (x *PathMatcher) GetPath() *StringMatcher { if x, ok := x.GetRule().(*PathMatcher_Path); ok { return x.Path } return nil } type isPathMatcher_Rule interface { isPathMatcher_Rule() } type PathMatcher_Path struct { // The “path“ must match the URL path portion of the :path header. The query and fragment // string (if present) are removed in the URL path portion. // For example, the path “/data“ will match the “:path“ header “/data#fragment?param=value“. Path *StringMatcher `protobuf:"bytes,1,opt,name=path,proto3,oneof"` } func (*PathMatcher_Path) isPathMatcher_Rule() {} var File_envoy_type_matcher_v3_path_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_path_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x50, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_path_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_path_proto_rawDescData = file_envoy_type_matcher_v3_path_proto_rawDesc ) func file_envoy_type_matcher_v3_path_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_path_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_path_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_path_proto_rawDescData) }) return file_envoy_type_matcher_v3_path_proto_rawDescData } var file_envoy_type_matcher_v3_path_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_matcher_v3_path_proto_goTypes = []interface{}{ (*PathMatcher)(nil), // 0: envoy.type.matcher.v3.PathMatcher (*StringMatcher)(nil), // 1: envoy.type.matcher.v3.StringMatcher } var file_envoy_type_matcher_v3_path_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.PathMatcher.path:type_name -> envoy.type.matcher.v3.StringMatcher 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_path_proto_init() } func file_envoy_type_matcher_v3_path_proto_init() { if File_envoy_type_matcher_v3_path_proto != nil { return } file_envoy_type_matcher_v3_string_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_path_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_path_proto_msgTypes[0].OneofWrappers = []interface{}{ (*PathMatcher_Path)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_path_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_path_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_path_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_path_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_path_proto = out.File file_envoy_type_matcher_v3_path_proto_rawDesc = nil file_envoy_type_matcher_v3_path_proto_goTypes = nil file_envoy_type_matcher_v3_path_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/path.pb.validate.go000077500000000000000000000112521454502223200245240ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/path.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on PathMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *PathMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on PathMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in PathMatcherMultiError, or // nil if none found. func (m *PathMatcher) ValidateAll() error { return m.validate(true) } func (m *PathMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofRulePresent := false switch v := m.Rule.(type) { case *PathMatcher_Path: if v == nil { err := PathMatcherValidationError{ field: "Rule", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofRulePresent = true if m.GetPath() == nil { err := PathMatcherValidationError{ field: "Path", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPath()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPath()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return PathMatcherValidationError{ field: "Path", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofRulePresent { err := PathMatcherValidationError{ field: "Rule", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PathMatcherMultiError(errors) } return nil } // PathMatcherMultiError is an error wrapping multiple validation errors // returned by PathMatcher.ValidateAll() if the designated constraints aren't met. type PathMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PathMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PathMatcherMultiError) AllErrors() []error { return m } // PathMatcherValidationError is the validation error returned by // PathMatcher.Validate if the designated constraints aren't met. type PathMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PathMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PathMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PathMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PathMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PathMatcherValidationError) ErrorName() string { return "PathMatcherValidationError" } // Error satisfies the builtin error interface func (e PathMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPathMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PathMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PathMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/regex.pb.go000077500000000000000000000440701454502223200231160ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/regex.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A regex matcher designed for safety when used with untrusted input. type RegexMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to EngineType: // // *RegexMatcher_GoogleRe2 EngineType isRegexMatcher_EngineType `protobuf_oneof:"engine_type"` // The regex match string. The string must be supported by the configured engine. The regex is matched // against the full string, not as a partial match. Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"` } func (x *RegexMatcher) Reset() { *x = RegexMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatcher) ProtoMessage() {} func (x *RegexMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatcher.ProtoReflect.Descriptor instead. func (*RegexMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_regex_proto_rawDescGZIP(), []int{0} } func (m *RegexMatcher) GetEngineType() isRegexMatcher_EngineType { if m != nil { return m.EngineType } return nil } // Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto. func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2 { if x, ok := x.GetEngineType().(*RegexMatcher_GoogleRe2); ok { return x.GoogleRe2 } return nil } func (x *RegexMatcher) GetRegex() string { if x != nil { return x.Regex } return "" } type isRegexMatcher_EngineType interface { isRegexMatcher_EngineType() } type RegexMatcher_GoogleRe2 struct { // Google's RE2 regex engine. // // Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto. GoogleRe2 *RegexMatcher_GoogleRE2 `protobuf:"bytes,1,opt,name=google_re2,json=googleRe2,proto3,oneof"` } func (*RegexMatcher_GoogleRe2) isRegexMatcher_EngineType() {} // Describes how to match a string and then produce a new string using a regular // expression and a substitution string. type RegexMatchAndSubstitute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The regular expression used to find portions of a string (hereafter called // the "subject string") that should be replaced. When a new string is // produced during the substitution operation, the new string is initially // the same as the subject string, but then all matches in the subject string // are replaced by the substitution string. If replacing all matches isn't // desired, regular expression anchors can be used to ensure a single match, // so as to replace just one occurrence of a pattern. Capture groups can be // used in the pattern to extract portions of the subject string, and then // referenced in the substitution string. Pattern *RegexMatcher `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"` // The string that should be substituted into matching portions of the // subject string during a substitution operation to produce a new string. // Capture groups in the pattern can be referenced in the substitution // string. Note, however, that the syntax for referring to capture groups is // defined by the chosen regular expression engine. Google's `RE2 // `_ regular expression engine uses a // backslash followed by the capture group number to denote a numbered // capture group. E.g., “\1“ refers to capture group 1, and “\2“ refers // to capture group 2. Substitution string `protobuf:"bytes,2,opt,name=substitution,proto3" json:"substitution,omitempty"` } func (x *RegexMatchAndSubstitute) Reset() { *x = RegexMatchAndSubstitute{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatchAndSubstitute) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatchAndSubstitute) ProtoMessage() {} func (x *RegexMatchAndSubstitute) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatchAndSubstitute.ProtoReflect.Descriptor instead. func (*RegexMatchAndSubstitute) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_regex_proto_rawDescGZIP(), []int{1} } func (x *RegexMatchAndSubstitute) GetPattern() *RegexMatcher { if x != nil { return x.Pattern } return nil } func (x *RegexMatchAndSubstitute) GetSubstitution() string { if x != nil { return x.Substitution } return "" } // Google's `RE2 `_ regex engine. The regex string must adhere to // the documented `syntax `_. The engine is designed // to complete execution in linear time as well as limit the amount of memory used. // // Envoy supports program size checking via runtime. The runtime keys “re2.max_program_size.error_level“ // and “re2.max_program_size.warn_level“ can be set to integers as the maximum program size or // complexity that a compiled regex can have before an exception is thrown or a warning is // logged, respectively. “re2.max_program_size.error_level“ defaults to 100, and // “re2.max_program_size.warn_level“ has no default if unset (will not check/log a warning). // // Envoy emits two stats for tracking the program size of regexes: the histogram “re2.program_size“, // which records the program size, and the counter “re2.exceeded_warn_level“, which is incremented // each time the program size exceeds the warn level threshold. type RegexMatcher_GoogleRE2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // This field controls the RE2 "program size" which is a rough estimate of how complex a // compiled regex is to evaluate. A regex that has a program size greater than the configured // value will fail to compile. In this case, the configured max program size can be increased // or the regex can be simplified. If not specified, the default is 100. // // This field is deprecated; regexp validation should be performed on the management server // instead of being done by each individual client. // // .. note:: // // Although this field is deprecated, the program size will still be checked against the // global ``re2.max_program_size.error_level`` runtime value. // // Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto. MaxProgramSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_program_size,json=maxProgramSize,proto3" json:"max_program_size,omitempty"` } func (x *RegexMatcher_GoogleRE2) Reset() { *x = RegexMatcher_GoogleRE2{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RegexMatcher_GoogleRE2) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegexMatcher_GoogleRE2) ProtoMessage() {} func (x *RegexMatcher_GoogleRE2) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_regex_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegexMatcher_GoogleRE2.ProtoReflect.Descriptor instead. func (*RegexMatcher_GoogleRE2) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_regex_proto_rawDescGZIP(), []int{0, 0} } // Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto. func (x *RegexMatcher_GoogleRE2) GetMaxProgramSize() *wrappers.UInt32Value { if x != nil { return x.MaxProgramSize } return nil } var File_envoy_type_matcher_v3_regex_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_regex_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x48, 0x00, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x32, 0x12, 0x1d, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x1a, 0x92, 0x01, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x12, 0x53, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x18, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x45, 0x32, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x2f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x42, 0x83, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x65, 0x67, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_regex_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_regex_proto_rawDescData = file_envoy_type_matcher_v3_regex_proto_rawDesc ) func file_envoy_type_matcher_v3_regex_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_regex_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_regex_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_regex_proto_rawDescData) }) return file_envoy_type_matcher_v3_regex_proto_rawDescData } var file_envoy_type_matcher_v3_regex_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_matcher_v3_regex_proto_goTypes = []interface{}{ (*RegexMatcher)(nil), // 0: envoy.type.matcher.v3.RegexMatcher (*RegexMatchAndSubstitute)(nil), // 1: envoy.type.matcher.v3.RegexMatchAndSubstitute (*RegexMatcher_GoogleRE2)(nil), // 2: envoy.type.matcher.v3.RegexMatcher.GoogleRE2 (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value } var file_envoy_type_matcher_v3_regex_proto_depIdxs = []int32{ 2, // 0: envoy.type.matcher.v3.RegexMatcher.google_re2:type_name -> envoy.type.matcher.v3.RegexMatcher.GoogleRE2 0, // 1: envoy.type.matcher.v3.RegexMatchAndSubstitute.pattern:type_name -> envoy.type.matcher.v3.RegexMatcher 3, // 2: envoy.type.matcher.v3.RegexMatcher.GoogleRE2.max_program_size:type_name -> google.protobuf.UInt32Value 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_regex_proto_init() } func file_envoy_type_matcher_v3_regex_proto_init() { if File_envoy_type_matcher_v3_regex_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_regex_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_regex_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatchAndSubstitute); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_regex_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegexMatcher_GoogleRE2); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_regex_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RegexMatcher_GoogleRe2)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_regex_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_regex_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_regex_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_regex_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_regex_proto = out.File file_envoy_type_matcher_v3_regex_proto_rawDesc = nil file_envoy_type_matcher_v3_regex_proto_goTypes = nil file_envoy_type_matcher_v3_regex_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/regex.pb.validate.go000077500000000000000000000311151454502223200247020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/regex.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RegexMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *RegexMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in RegexMatcherMultiError, or // nil if none found. func (m *RegexMatcher) ValidateAll() error { return m.validate(true) } func (m *RegexMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetRegex()) < 1 { err := RegexMatcherValidationError{ field: "Regex", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } switch v := m.EngineType.(type) { case *RegexMatcher_GoogleRe2: if v == nil { err := RegexMatcherValidationError{ field: "EngineType", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetGoogleRe2()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetGoogleRe2()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatcherValidationError{ field: "GoogleRe2", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if len(errors) > 0 { return RegexMatcherMultiError(errors) } return nil } // RegexMatcherMultiError is an error wrapping multiple validation errors // returned by RegexMatcher.ValidateAll() if the designated constraints aren't met. type RegexMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatcherMultiError) AllErrors() []error { return m } // RegexMatcherValidationError is the validation error returned by // RegexMatcher.Validate if the designated constraints aren't met. type RegexMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatcherValidationError) ErrorName() string { return "RegexMatcherValidationError" } // Error satisfies the builtin error interface func (e RegexMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatcherValidationError{} // Validate checks the field values on RegexMatchAndSubstitute with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RegexMatchAndSubstitute) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatchAndSubstitute with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RegexMatchAndSubstituteMultiError, or nil if none found. func (m *RegexMatchAndSubstitute) ValidateAll() error { return m.validate(true) } func (m *RegexMatchAndSubstitute) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetPattern() == nil { err := RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetPattern()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetPattern()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatchAndSubstituteValidationError{ field: "Pattern", reason: "embedded message failed validation", cause: err, } } } if !_RegexMatchAndSubstitute_Substitution_Pattern.MatchString(m.GetSubstitution()) { err := RegexMatchAndSubstituteValidationError{ field: "Substitution", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RegexMatchAndSubstituteMultiError(errors) } return nil } // RegexMatchAndSubstituteMultiError is an error wrapping multiple validation // errors returned by RegexMatchAndSubstitute.ValidateAll() if the designated // constraints aren't met. type RegexMatchAndSubstituteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatchAndSubstituteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatchAndSubstituteMultiError) AllErrors() []error { return m } // RegexMatchAndSubstituteValidationError is the validation error returned by // RegexMatchAndSubstitute.Validate if the designated constraints aren't met. type RegexMatchAndSubstituteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatchAndSubstituteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatchAndSubstituteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatchAndSubstituteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatchAndSubstituteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatchAndSubstituteValidationError) ErrorName() string { return "RegexMatchAndSubstituteValidationError" } // Error satisfies the builtin error interface func (e RegexMatchAndSubstituteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatchAndSubstitute.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatchAndSubstituteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatchAndSubstituteValidationError{} var _RegexMatchAndSubstitute_Substitution_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on RegexMatcher_GoogleRE2 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *RegexMatcher_GoogleRE2) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RegexMatcher_GoogleRE2 with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RegexMatcher_GoogleRE2MultiError, or nil if none found. func (m *RegexMatcher_GoogleRE2) ValidateAll() error { return m.validate(true) } func (m *RegexMatcher_GoogleRE2) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetMaxProgramSize()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMaxProgramSize()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RegexMatcher_GoogleRE2ValidationError{ field: "MaxProgramSize", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return RegexMatcher_GoogleRE2MultiError(errors) } return nil } // RegexMatcher_GoogleRE2MultiError is an error wrapping multiple validation // errors returned by RegexMatcher_GoogleRE2.ValidateAll() if the designated // constraints aren't met. type RegexMatcher_GoogleRE2MultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RegexMatcher_GoogleRE2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RegexMatcher_GoogleRE2MultiError) AllErrors() []error { return m } // RegexMatcher_GoogleRE2ValidationError is the validation error returned by // RegexMatcher_GoogleRE2.Validate if the designated constraints aren't met. type RegexMatcher_GoogleRE2ValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RegexMatcher_GoogleRE2ValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RegexMatcher_GoogleRE2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RegexMatcher_GoogleRE2ValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RegexMatcher_GoogleRE2ValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RegexMatcher_GoogleRE2ValidationError) ErrorName() string { return "RegexMatcher_GoogleRE2ValidationError" } // Error satisfies the builtin error interface func (e RegexMatcher_GoogleRE2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRegexMatcher_GoogleRE2.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RegexMatcher_GoogleRE2ValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RegexMatcher_GoogleRE2ValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/status_code_input.pb.go000077500000000000000000000205301454502223200255330ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/status_code_input.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Match input indicates that matching should be done on the response status // code. type HttpResponseStatusCodeMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HttpResponseStatusCodeMatchInput) Reset() { *x = HttpResponseStatusCodeMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpResponseStatusCodeMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpResponseStatusCodeMatchInput) ProtoMessage() {} func (x *HttpResponseStatusCodeMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpResponseStatusCodeMatchInput.ProtoReflect.Descriptor instead. func (*HttpResponseStatusCodeMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP(), []int{0} } // Match input indicates that the matching should be done on the class of the // response status code. For eg: 1xx, 2xx, 3xx, 4xx or 5xx. type HttpResponseStatusCodeClassMatchInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HttpResponseStatusCodeClassMatchInput) Reset() { *x = HttpResponseStatusCodeClassMatchInput{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpResponseStatusCodeClassMatchInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpResponseStatusCodeClassMatchInput) ProtoMessage() {} func (x *HttpResponseStatusCodeClassMatchInput) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpResponseStatusCodeClassMatchInput.ProtoReflect.Descriptor instead. func (*HttpResponseStatusCodeClassMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP(), []int{1} } var File_envoy_type_matcher_v3_status_code_input_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_status_code_input_proto_rawDesc = []byte{ 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x22, 0x0a, 0x20, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x27, 0x0a, 0x25, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x8d, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_status_code_input_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_status_code_input_proto_rawDescData = file_envoy_type_matcher_v3_status_code_input_proto_rawDesc ) func file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_status_code_input_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_status_code_input_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_status_code_input_proto_rawDescData) }) return file_envoy_type_matcher_v3_status_code_input_proto_rawDescData } var file_envoy_type_matcher_v3_status_code_input_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_v3_status_code_input_proto_goTypes = []interface{}{ (*HttpResponseStatusCodeMatchInput)(nil), // 0: envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput (*HttpResponseStatusCodeClassMatchInput)(nil), // 1: envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput } var file_envoy_type_matcher_v3_status_code_input_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_status_code_input_proto_init() } func file_envoy_type_matcher_v3_status_code_input_proto_init() { if File_envoy_type_matcher_v3_status_code_input_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpResponseStatusCodeMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpResponseStatusCodeClassMatchInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_status_code_input_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_status_code_input_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_status_code_input_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_status_code_input_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_status_code_input_proto = out.File file_envoy_type_matcher_v3_status_code_input_proto_rawDesc = nil file_envoy_type_matcher_v3_status_code_input_proto_goTypes = nil file_envoy_type_matcher_v3_status_code_input_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/status_code_input.pb.validate.go000077500000000000000000000156761454502223200273420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/status_code_input.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpResponseStatusCodeMatchInput with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are // no violations. func (m *HttpResponseStatusCodeMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpResponseStatusCodeMatchInput with // the rules defined in the proto definition for this message. If any rules // are violated, the result is a list of violation errors wrapped in // HttpResponseStatusCodeMatchInputMultiError, or nil if none found. func (m *HttpResponseStatusCodeMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpResponseStatusCodeMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HttpResponseStatusCodeMatchInputMultiError(errors) } return nil } // HttpResponseStatusCodeMatchInputMultiError is an error wrapping multiple // validation errors returned by // HttpResponseStatusCodeMatchInput.ValidateAll() if the designated // constraints aren't met. type HttpResponseStatusCodeMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpResponseStatusCodeMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpResponseStatusCodeMatchInputMultiError) AllErrors() []error { return m } // HttpResponseStatusCodeMatchInputValidationError is the validation error // returned by HttpResponseStatusCodeMatchInput.Validate if the designated // constraints aren't met. type HttpResponseStatusCodeMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpResponseStatusCodeMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpResponseStatusCodeMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpResponseStatusCodeMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpResponseStatusCodeMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpResponseStatusCodeMatchInputValidationError) ErrorName() string { return "HttpResponseStatusCodeMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpResponseStatusCodeMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpResponseStatusCodeMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpResponseStatusCodeMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpResponseStatusCodeMatchInputValidationError{} // Validate checks the field values on HttpResponseStatusCodeClassMatchInput // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *HttpResponseStatusCodeClassMatchInput) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpResponseStatusCodeClassMatchInput // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // HttpResponseStatusCodeClassMatchInputMultiError, or nil if none found. func (m *HttpResponseStatusCodeClassMatchInput) ValidateAll() error { return m.validate(true) } func (m *HttpResponseStatusCodeClassMatchInput) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HttpResponseStatusCodeClassMatchInputMultiError(errors) } return nil } // HttpResponseStatusCodeClassMatchInputMultiError is an error wrapping // multiple validation errors returned by // HttpResponseStatusCodeClassMatchInput.ValidateAll() if the designated // constraints aren't met. type HttpResponseStatusCodeClassMatchInputMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpResponseStatusCodeClassMatchInputMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpResponseStatusCodeClassMatchInputMultiError) AllErrors() []error { return m } // HttpResponseStatusCodeClassMatchInputValidationError is the validation error // returned by HttpResponseStatusCodeClassMatchInput.Validate if the // designated constraints aren't met. type HttpResponseStatusCodeClassMatchInputValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpResponseStatusCodeClassMatchInputValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpResponseStatusCodeClassMatchInputValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpResponseStatusCodeClassMatchInputValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpResponseStatusCodeClassMatchInputValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpResponseStatusCodeClassMatchInputValidationError) ErrorName() string { return "HttpResponseStatusCodeClassMatchInputValidationError" } // Error satisfies the builtin error interface func (e HttpResponseStatusCodeClassMatchInputValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpResponseStatusCodeClassMatchInput.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpResponseStatusCodeClassMatchInputValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpResponseStatusCodeClassMatchInputValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/string.pb.go000077500000000000000000000346401454502223200233140ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/string.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a string. // [#next-free-field: 8] type StringMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *StringMatcher_Exact // *StringMatcher_Prefix // *StringMatcher_Suffix // *StringMatcher_SafeRegex // *StringMatcher_Contains MatchPattern isStringMatcher_MatchPattern `protobuf_oneof:"match_pattern"` // If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. This // has no effect for the safe_regex match. // For example, the matcher “data“ will match both input string “Data“ and “data“ if set to true. IgnoreCase bool `protobuf:"varint,6,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"` } func (x *StringMatcher) Reset() { *x = StringMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_string_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringMatcher) ProtoMessage() {} func (x *StringMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_string_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StringMatcher.ProtoReflect.Descriptor instead. func (*StringMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_string_proto_rawDescGZIP(), []int{0} } func (m *StringMatcher) GetMatchPattern() isStringMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *StringMatcher) GetExact() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Exact); ok { return x.Exact } return "" } func (x *StringMatcher) GetPrefix() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Prefix); ok { return x.Prefix } return "" } func (x *StringMatcher) GetSuffix() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Suffix); ok { return x.Suffix } return "" } func (x *StringMatcher) GetSafeRegex() *RegexMatcher { if x, ok := x.GetMatchPattern().(*StringMatcher_SafeRegex); ok { return x.SafeRegex } return nil } func (x *StringMatcher) GetContains() string { if x, ok := x.GetMatchPattern().(*StringMatcher_Contains); ok { return x.Contains } return "" } func (x *StringMatcher) GetIgnoreCase() bool { if x != nil { return x.IgnoreCase } return false } type isStringMatcher_MatchPattern interface { isStringMatcher_MatchPattern() } type StringMatcher_Exact struct { // The input string must match exactly the string specified here. // // Examples: // // * “abc“ only matches the value “abc“. Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"` } type StringMatcher_Prefix struct { // The input string must have the prefix specified here. // Note: empty prefix is not allowed, please use regex instead. // // Examples: // // * “abc“ matches the value “abc.xyz“ Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"` } type StringMatcher_Suffix struct { // The input string must have the suffix specified here. // Note: empty prefix is not allowed, please use regex instead. // // Examples: // // * “abc“ matches the value “xyz.abc“ Suffix string `protobuf:"bytes,3,opt,name=suffix,proto3,oneof"` } type StringMatcher_SafeRegex struct { // The input string must match the regular expression specified here. SafeRegex *RegexMatcher `protobuf:"bytes,5,opt,name=safe_regex,json=safeRegex,proto3,oneof"` } type StringMatcher_Contains struct { // The input string must have the substring specified here. // Note: empty contains match is not allowed, please use regex instead. // // Examples: // // * “abc“ matches the value “xyz.abc.def“ Contains string `protobuf:"bytes,7,opt,name=contains,proto3,oneof"` } func (*StringMatcher_Exact) isStringMatcher_MatchPattern() {} func (*StringMatcher_Prefix) isStringMatcher_MatchPattern() {} func (*StringMatcher_Suffix) isStringMatcher_MatchPattern() {} func (*StringMatcher_SafeRegex) isStringMatcher_MatchPattern() {} func (*StringMatcher_Contains) isStringMatcher_MatchPattern() {} // Specifies a list of ways to match a string. type ListStringMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Patterns []*StringMatcher `protobuf:"bytes,1,rep,name=patterns,proto3" json:"patterns,omitempty"` } func (x *ListStringMatcher) Reset() { *x = ListStringMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_string_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListStringMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStringMatcher) ProtoMessage() {} func (x *ListStringMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_string_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStringMatcher.ProtoReflect.Descriptor instead. func (*ListStringMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_string_proto_rawDescGZIP(), []int{1} } func (x *ListStringMatcher) GetPatterns() []*StringMatcher { if x != nil { return x.Patterns } return nil } var File_envoy_type_matcher_v3_string_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_string_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x09, 0x73, 0x61, 0x66, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x3a, 0x2b, 0x9a, 0xc5, 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_string_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_string_proto_rawDescData = file_envoy_type_matcher_v3_string_proto_rawDesc ) func file_envoy_type_matcher_v3_string_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_string_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_string_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_string_proto_rawDescData) }) return file_envoy_type_matcher_v3_string_proto_rawDescData } var file_envoy_type_matcher_v3_string_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_v3_string_proto_goTypes = []interface{}{ (*StringMatcher)(nil), // 0: envoy.type.matcher.v3.StringMatcher (*ListStringMatcher)(nil), // 1: envoy.type.matcher.v3.ListStringMatcher (*RegexMatcher)(nil), // 2: envoy.type.matcher.v3.RegexMatcher } var file_envoy_type_matcher_v3_string_proto_depIdxs = []int32{ 2, // 0: envoy.type.matcher.v3.StringMatcher.safe_regex:type_name -> envoy.type.matcher.v3.RegexMatcher 0, // 1: envoy.type.matcher.v3.ListStringMatcher.patterns:type_name -> envoy.type.matcher.v3.StringMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_string_proto_init() } func file_envoy_type_matcher_v3_string_proto_init() { if File_envoy_type_matcher_v3_string_proto != nil { return } file_envoy_type_matcher_v3_regex_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_string_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_string_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListStringMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_string_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StringMatcher_Exact)(nil), (*StringMatcher_Prefix)(nil), (*StringMatcher_Suffix)(nil), (*StringMatcher_SafeRegex)(nil), (*StringMatcher_Contains)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_string_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_string_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_string_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_string_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_string_proto = out.File file_envoy_type_matcher_v3_string_proto_rawDesc = nil file_envoy_type_matcher_v3_string_proto_goTypes = nil file_envoy_type_matcher_v3_string_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/string.pb.validate.go000077500000000000000000000251051454502223200251000ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/string.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StringMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StringMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StringMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StringMatcherMultiError, or // nil if none found. func (m *StringMatcher) ValidateAll() error { return m.validate(true) } func (m *StringMatcher) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for IgnoreCase oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *StringMatcher_Exact: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for Exact case *StringMatcher_Prefix: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if utf8.RuneCountInString(m.GetPrefix()) < 1 { err := StringMatcherValidationError{ field: "Prefix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *StringMatcher_Suffix: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if utf8.RuneCountInString(m.GetSuffix()) < 1 { err := StringMatcherValidationError{ field: "Suffix", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } case *StringMatcher_SafeRegex: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if m.GetSafeRegex() == nil { err := StringMatcherValidationError{ field: "SafeRegex", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetSafeRegex()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSafeRegex()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StringMatcherValidationError{ field: "SafeRegex", reason: "embedded message failed validation", cause: err, } } } case *StringMatcher_Contains: if v == nil { err := StringMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if utf8.RuneCountInString(m.GetContains()) < 1 { err := StringMatcherValidationError{ field: "Contains", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := StringMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StringMatcherMultiError(errors) } return nil } // StringMatcherMultiError is an error wrapping multiple validation errors // returned by StringMatcher.ValidateAll() if the designated constraints // aren't met. type StringMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StringMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StringMatcherMultiError) AllErrors() []error { return m } // StringMatcherValidationError is the validation error returned by // StringMatcher.Validate if the designated constraints aren't met. type StringMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StringMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StringMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StringMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StringMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StringMatcherValidationError) ErrorName() string { return "StringMatcherValidationError" } // Error satisfies the builtin error interface func (e StringMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStringMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StringMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StringMatcherValidationError{} // Validate checks the field values on ListStringMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *ListStringMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListStringMatcher with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ListStringMatcherMultiError, or nil if none found. func (m *ListStringMatcher) ValidateAll() error { return m.validate(true) } func (m *ListStringMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPatterns()) < 1 { err := ListStringMatcherValidationError{ field: "Patterns", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPatterns() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListStringMatcherValidationError{ field: fmt.Sprintf("Patterns[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return ListStringMatcherMultiError(errors) } return nil } // ListStringMatcherMultiError is an error wrapping multiple validation errors // returned by ListStringMatcher.ValidateAll() if the designated constraints // aren't met. type ListStringMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListStringMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListStringMatcherMultiError) AllErrors() []error { return m } // ListStringMatcherValidationError is the validation error returned by // ListStringMatcher.Validate if the designated constraints aren't met. type ListStringMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListStringMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListStringMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListStringMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListStringMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListStringMatcherValidationError) ErrorName() string { return "ListStringMatcherValidationError" } // Error satisfies the builtin error interface func (e ListStringMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListStringMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListStringMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListStringMatcherValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/struct.pb.go000077500000000000000000000307041454502223200233270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/struct.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // StructMatcher provides a general interface to check if a given value is matched in // google.protobuf.Struct. It uses “path“ to retrieve the value // from the struct and then check if it's matched to the specified value. // // For example, for the following Struct: // // .. code-block:: yaml // // fields: // a: // struct_value: // fields: // b: // struct_value: // fields: // c: // string_value: pro // t: // list_value: // values: // - string_value: m // - string_value: n // // The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro" // from the Metadata which is matched to the specified prefix match. // // .. code-block:: yaml // // path: // - key: a // - key: b // - key: c // value: // string_match: // prefix: pr // // The following StructMatcher is matched as the code will match one of the string values in the // list at the path [a, t]. // // .. code-block:: yaml // // path: // - key: a // - key: t // value: // list_match: // one_of: // string_match: // exact: m // // An example use of StructMatcher is to match metadata in envoy.v*.core.Node. type StructMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The path to retrieve the Value from the Struct. Path []*StructMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // The StructMatcher is matched if the value retrieved by path is matched to this value. Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *StructMatcher) Reset() { *x = StructMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_struct_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructMatcher) ProtoMessage() {} func (x *StructMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_struct_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StructMatcher.ProtoReflect.Descriptor instead. func (*StructMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_struct_proto_rawDescGZIP(), []int{0} } func (x *StructMatcher) GetPath() []*StructMatcher_PathSegment { if x != nil { return x.Path } return nil } func (x *StructMatcher) GetValue() *ValueMatcher { if x != nil { return x.Value } return nil } // Specifies the segment in a path to retrieve value from Struct. type StructMatcher_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *StructMatcher_PathSegment_Key Segment isStructMatcher_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *StructMatcher_PathSegment) Reset() { *x = StructMatcher_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_struct_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructMatcher_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructMatcher_PathSegment) ProtoMessage() {} func (x *StructMatcher_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_struct_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StructMatcher_PathSegment.ProtoReflect.Descriptor instead. func (*StructMatcher_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_struct_proto_rawDescGZIP(), []int{0, 0} } func (m *StructMatcher_PathSegment) GetSegment() isStructMatcher_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *StructMatcher_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*StructMatcher_PathSegment_Key); ok { return x.Key } return "" } type isStructMatcher_PathSegment_Segment interface { isStructMatcher_PathSegment_Segment() } type StructMatcher_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*StructMatcher_PathSegment_Key) isStructMatcher_PathSegment_Segment() {} var File_envoy_type_matcher_v3_struct_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_struct_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x6f, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x33, 0x9a, 0xc5, 0x88, 0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x27, 0x9a, 0xc5, 0x88, 0x1e, 0x22, 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_struct_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_struct_proto_rawDescData = file_envoy_type_matcher_v3_struct_proto_rawDesc ) func file_envoy_type_matcher_v3_struct_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_struct_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_struct_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_struct_proto_rawDescData) }) return file_envoy_type_matcher_v3_struct_proto_rawDescData } var file_envoy_type_matcher_v3_struct_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_matcher_v3_struct_proto_goTypes = []interface{}{ (*StructMatcher)(nil), // 0: envoy.type.matcher.v3.StructMatcher (*StructMatcher_PathSegment)(nil), // 1: envoy.type.matcher.v3.StructMatcher.PathSegment (*ValueMatcher)(nil), // 2: envoy.type.matcher.v3.ValueMatcher } var file_envoy_type_matcher_v3_struct_proto_depIdxs = []int32{ 1, // 0: envoy.type.matcher.v3.StructMatcher.path:type_name -> envoy.type.matcher.v3.StructMatcher.PathSegment 2, // 1: envoy.type.matcher.v3.StructMatcher.value:type_name -> envoy.type.matcher.v3.ValueMatcher 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_struct_proto_init() } func file_envoy_type_matcher_v3_struct_proto_init() { if File_envoy_type_matcher_v3_struct_proto != nil { return } file_envoy_type_matcher_v3_value_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_struct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_struct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructMatcher_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_struct_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StructMatcher_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_struct_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_struct_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_struct_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_struct_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_struct_proto = out.File file_envoy_type_matcher_v3_struct_proto_rawDesc = nil file_envoy_type_matcher_v3_struct_proto_goTypes = nil file_envoy_type_matcher_v3_struct_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/struct.pb.validate.go000077500000000000000000000221001454502223200251060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/struct.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on StructMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *StructMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StructMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in StructMatcherMultiError, or // nil if none found. func (m *StructMatcher) ValidateAll() error { return m.validate(true) } func (m *StructMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetPath()) < 1 { err := StructMatcherValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StructMatcherValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if m.GetValue() == nil { err := StructMatcherValidationError{ field: "Value", reason: "value is required", } if !all { return err } errors = append(errors, err) } if all { switch v := interface{}(m.GetValue()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetValue()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return StructMatcherValidationError{ field: "Value", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return StructMatcherMultiError(errors) } return nil } // StructMatcherMultiError is an error wrapping multiple validation errors // returned by StructMatcher.ValidateAll() if the designated constraints // aren't met. type StructMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StructMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StructMatcherMultiError) AllErrors() []error { return m } // StructMatcherValidationError is the validation error returned by // StructMatcher.Validate if the designated constraints aren't met. type StructMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StructMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StructMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StructMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StructMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StructMatcherValidationError) ErrorName() string { return "StructMatcherValidationError" } // Error satisfies the builtin error interface func (e StructMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStructMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StructMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StructMatcherValidationError{} // Validate checks the field values on StructMatcher_PathSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *StructMatcher_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on StructMatcher_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // StructMatcher_PathSegmentMultiError, or nil if none found. func (m *StructMatcher_PathSegment) ValidateAll() error { return m.validate(true) } func (m *StructMatcher_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *StructMatcher_PathSegment_Key: if v == nil { err := StructMatcher_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := StructMatcher_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := StructMatcher_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return StructMatcher_PathSegmentMultiError(errors) } return nil } // StructMatcher_PathSegmentMultiError is an error wrapping multiple validation // errors returned by StructMatcher_PathSegment.ValidateAll() if the // designated constraints aren't met. type StructMatcher_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m StructMatcher_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m StructMatcher_PathSegmentMultiError) AllErrors() []error { return m } // StructMatcher_PathSegmentValidationError is the validation error returned by // StructMatcher_PathSegment.Validate if the designated constraints aren't met. type StructMatcher_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e StructMatcher_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e StructMatcher_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e StructMatcher_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e StructMatcher_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e StructMatcher_PathSegmentValidationError) ErrorName() string { return "StructMatcher_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e StructMatcher_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sStructMatcher_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = StructMatcher_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = StructMatcher_PathSegmentValidationError{} go-control-plane-0.12.0/envoy/type/matcher/v3/value.pb.go000077500000000000000000000532471454502223200231260ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/v3/value.proto package matcherv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a ProtobufWkt::Value. Primitive values and ListValue are supported. // StructValue is not supported and is always not matched. // [#next-free-field: 8] type ValueMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies how to match a value. // // Types that are assignable to MatchPattern: // // *ValueMatcher_NullMatch_ // *ValueMatcher_DoubleMatch // *ValueMatcher_StringMatch // *ValueMatcher_BoolMatch // *ValueMatcher_PresentMatch // *ValueMatcher_ListMatch // *ValueMatcher_OrMatch MatchPattern isValueMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *ValueMatcher) Reset() { *x = ValueMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValueMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValueMatcher) ProtoMessage() {} func (x *ValueMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValueMatcher.ProtoReflect.Descriptor instead. func (*ValueMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_value_proto_rawDescGZIP(), []int{0} } func (m *ValueMatcher) GetMatchPattern() isValueMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *ValueMatcher) GetNullMatch() *ValueMatcher_NullMatch { if x, ok := x.GetMatchPattern().(*ValueMatcher_NullMatch_); ok { return x.NullMatch } return nil } func (x *ValueMatcher) GetDoubleMatch() *DoubleMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_DoubleMatch); ok { return x.DoubleMatch } return nil } func (x *ValueMatcher) GetStringMatch() *StringMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_StringMatch); ok { return x.StringMatch } return nil } func (x *ValueMatcher) GetBoolMatch() bool { if x, ok := x.GetMatchPattern().(*ValueMatcher_BoolMatch); ok { return x.BoolMatch } return false } func (x *ValueMatcher) GetPresentMatch() bool { if x, ok := x.GetMatchPattern().(*ValueMatcher_PresentMatch); ok { return x.PresentMatch } return false } func (x *ValueMatcher) GetListMatch() *ListMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_ListMatch); ok { return x.ListMatch } return nil } func (x *ValueMatcher) GetOrMatch() *OrMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_OrMatch); ok { return x.OrMatch } return nil } type isValueMatcher_MatchPattern interface { isValueMatcher_MatchPattern() } type ValueMatcher_NullMatch_ struct { // If specified, a match occurs if and only if the target value is a NullValue. NullMatch *ValueMatcher_NullMatch `protobuf:"bytes,1,opt,name=null_match,json=nullMatch,proto3,oneof"` } type ValueMatcher_DoubleMatch struct { // If specified, a match occurs if and only if the target value is a double value and is // matched to this field. DoubleMatch *DoubleMatcher `protobuf:"bytes,2,opt,name=double_match,json=doubleMatch,proto3,oneof"` } type ValueMatcher_StringMatch struct { // If specified, a match occurs if and only if the target value is a string value and is // matched to this field. StringMatch *StringMatcher `protobuf:"bytes,3,opt,name=string_match,json=stringMatch,proto3,oneof"` } type ValueMatcher_BoolMatch struct { // If specified, a match occurs if and only if the target value is a bool value and is equal // to this field. BoolMatch bool `protobuf:"varint,4,opt,name=bool_match,json=boolMatch,proto3,oneof"` } type ValueMatcher_PresentMatch struct { // If specified, value match will be performed based on whether the path is referring to a // valid primitive value in the metadata. If the path is referring to a non-primitive value, // the result is always not matched. PresentMatch bool `protobuf:"varint,5,opt,name=present_match,json=presentMatch,proto3,oneof"` } type ValueMatcher_ListMatch struct { // If specified, a match occurs if and only if the target value is a list value and // is matched to this field. ListMatch *ListMatcher `protobuf:"bytes,6,opt,name=list_match,json=listMatch,proto3,oneof"` } type ValueMatcher_OrMatch struct { // If specified, a match occurs if and only if any of the alternatives in the match accept the value. OrMatch *OrMatcher `protobuf:"bytes,7,opt,name=or_match,json=orMatch,proto3,oneof"` } func (*ValueMatcher_NullMatch_) isValueMatcher_MatchPattern() {} func (*ValueMatcher_DoubleMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_StringMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_BoolMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_PresentMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_ListMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_OrMatch) isValueMatcher_MatchPattern() {} // Specifies the way to match a list value. type ListMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *ListMatcher_OneOf MatchPattern isListMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *ListMatcher) Reset() { *x = ListMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListMatcher) ProtoMessage() {} func (x *ListMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListMatcher.ProtoReflect.Descriptor instead. func (*ListMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_value_proto_rawDescGZIP(), []int{1} } func (m *ListMatcher) GetMatchPattern() isListMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *ListMatcher) GetOneOf() *ValueMatcher { if x, ok := x.GetMatchPattern().(*ListMatcher_OneOf); ok { return x.OneOf } return nil } type isListMatcher_MatchPattern interface { isListMatcher_MatchPattern() } type ListMatcher_OneOf struct { // If specified, at least one of the values in the list must match the value specified. OneOf *ValueMatcher `protobuf:"bytes,1,opt,name=one_of,json=oneOf,proto3,oneof"` } func (*ListMatcher_OneOf) isListMatcher_MatchPattern() {} // Specifies a list of alternatives for the match. type OrMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ValueMatchers []*ValueMatcher `protobuf:"bytes,1,rep,name=value_matchers,json=valueMatchers,proto3" json:"value_matchers,omitempty"` } func (x *OrMatcher) Reset() { *x = OrMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrMatcher) ProtoMessage() {} func (x *OrMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OrMatcher.ProtoReflect.Descriptor instead. func (*OrMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_value_proto_rawDescGZIP(), []int{2} } func (x *OrMatcher) GetValueMatchers() []*ValueMatcher { if x != nil { return x.ValueMatchers } return nil } // NullMatch is an empty message to specify a null value. type ValueMatcher_NullMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ValueMatcher_NullMatch) Reset() { *x = ValueMatcher_NullMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValueMatcher_NullMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValueMatcher_NullMatch) ProtoMessage() {} func (x *ValueMatcher_NullMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_v3_value_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValueMatcher_NullMatch.ProtoReflect.Descriptor instead. func (*ValueMatcher_NullMatch) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_value_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_type_matcher_v3_value_proto protoreflect.FileDescriptor var file_envoy_type_matcher_v3_value_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x04, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x49, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x49, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3d, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x3d, 0x0a, 0x09, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x4f, 0x66, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x61, 0x0a, 0x09, 0x4f, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x42, 0x83, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_v3_value_proto_rawDescOnce sync.Once file_envoy_type_matcher_v3_value_proto_rawDescData = file_envoy_type_matcher_v3_value_proto_rawDesc ) func file_envoy_type_matcher_v3_value_proto_rawDescGZIP() []byte { file_envoy_type_matcher_v3_value_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_v3_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_v3_value_proto_rawDescData) }) return file_envoy_type_matcher_v3_value_proto_rawDescData } var file_envoy_type_matcher_v3_value_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_envoy_type_matcher_v3_value_proto_goTypes = []interface{}{ (*ValueMatcher)(nil), // 0: envoy.type.matcher.v3.ValueMatcher (*ListMatcher)(nil), // 1: envoy.type.matcher.v3.ListMatcher (*OrMatcher)(nil), // 2: envoy.type.matcher.v3.OrMatcher (*ValueMatcher_NullMatch)(nil), // 3: envoy.type.matcher.v3.ValueMatcher.NullMatch (*DoubleMatcher)(nil), // 4: envoy.type.matcher.v3.DoubleMatcher (*StringMatcher)(nil), // 5: envoy.type.matcher.v3.StringMatcher } var file_envoy_type_matcher_v3_value_proto_depIdxs = []int32{ 3, // 0: envoy.type.matcher.v3.ValueMatcher.null_match:type_name -> envoy.type.matcher.v3.ValueMatcher.NullMatch 4, // 1: envoy.type.matcher.v3.ValueMatcher.double_match:type_name -> envoy.type.matcher.v3.DoubleMatcher 5, // 2: envoy.type.matcher.v3.ValueMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher 1, // 3: envoy.type.matcher.v3.ValueMatcher.list_match:type_name -> envoy.type.matcher.v3.ListMatcher 2, // 4: envoy.type.matcher.v3.ValueMatcher.or_match:type_name -> envoy.type.matcher.v3.OrMatcher 0, // 5: envoy.type.matcher.v3.ListMatcher.one_of:type_name -> envoy.type.matcher.v3.ValueMatcher 0, // 6: envoy.type.matcher.v3.OrMatcher.value_matchers:type_name -> envoy.type.matcher.v3.ValueMatcher 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_type_matcher_v3_value_proto_init() } func file_envoy_type_matcher_v3_value_proto_init() { if File_envoy_type_matcher_v3_value_proto != nil { return } file_envoy_type_matcher_v3_number_proto_init() file_envoy_type_matcher_v3_string_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_v3_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValueMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_value_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_value_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_v3_value_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValueMatcher_NullMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_v3_value_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ValueMatcher_NullMatch_)(nil), (*ValueMatcher_DoubleMatch)(nil), (*ValueMatcher_StringMatch)(nil), (*ValueMatcher_BoolMatch)(nil), (*ValueMatcher_PresentMatch)(nil), (*ValueMatcher_ListMatch)(nil), (*ValueMatcher_OrMatch)(nil), } file_envoy_type_matcher_v3_value_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ListMatcher_OneOf)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_v3_value_proto_rawDesc, NumEnums: 0, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_v3_value_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_v3_value_proto_depIdxs, MessageInfos: file_envoy_type_matcher_v3_value_proto_msgTypes, }.Build() File_envoy_type_matcher_v3_value_proto = out.File file_envoy_type_matcher_v3_value_proto_rawDesc = nil file_envoy_type_matcher_v3_value_proto_goTypes = nil file_envoy_type_matcher_v3_value_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/v3/value.pb.validate.go000077500000000000000000000502541454502223200247110ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/v3/value.proto package matcherv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ValueMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ValueMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ValueMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ValueMatcherMultiError, or // nil if none found. func (m *ValueMatcher) ValidateAll() error { return m.validate(true) } func (m *ValueMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *ValueMatcher_NullMatch_: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetNullMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNullMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_DoubleMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetDoubleMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDoubleMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_StringMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_BoolMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for BoolMatch case *ValueMatcher_PresentMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for PresentMatch case *ValueMatcher_ListMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetListMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_OrMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetOrMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOrMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "OrMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ValueMatcherMultiError(errors) } return nil } // ValueMatcherMultiError is an error wrapping multiple validation errors // returned by ValueMatcher.ValidateAll() if the designated constraints aren't met. type ValueMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ValueMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ValueMatcherMultiError) AllErrors() []error { return m } // ValueMatcherValidationError is the validation error returned by // ValueMatcher.Validate if the designated constraints aren't met. type ValueMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ValueMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ValueMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ValueMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ValueMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ValueMatcherValidationError) ErrorName() string { return "ValueMatcherValidationError" } // Error satisfies the builtin error interface func (e ValueMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sValueMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ValueMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ValueMatcherValidationError{} // Validate checks the field values on ListMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListMatcherMultiError, or // nil if none found. func (m *ListMatcher) ValidateAll() error { return m.validate(true) } func (m *ListMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *ListMatcher_OneOf: if v == nil { err := ListMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetOneOf()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOneOf()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := ListMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ListMatcherMultiError(errors) } return nil } // ListMatcherMultiError is an error wrapping multiple validation errors // returned by ListMatcher.ValidateAll() if the designated constraints aren't met. type ListMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListMatcherMultiError) AllErrors() []error { return m } // ListMatcherValidationError is the validation error returned by // ListMatcher.Validate if the designated constraints aren't met. type ListMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListMatcherValidationError) ErrorName() string { return "ListMatcherValidationError" } // Error satisfies the builtin error interface func (e ListMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListMatcherValidationError{} // Validate checks the field values on OrMatcher with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *OrMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on OrMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in OrMatcherMultiError, or nil // if none found. func (m *OrMatcher) ValidateAll() error { return m.validate(true) } func (m *OrMatcher) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetValueMatchers()) < 2 { err := OrMatcherValidationError{ field: "ValueMatchers", reason: "value must contain at least 2 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetValueMatchers() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, OrMatcherValidationError{ field: fmt.Sprintf("ValueMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, OrMatcherValidationError{ field: fmt.Sprintf("ValueMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return OrMatcherValidationError{ field: fmt.Sprintf("ValueMatchers[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return OrMatcherMultiError(errors) } return nil } // OrMatcherMultiError is an error wrapping multiple validation errors returned // by OrMatcher.ValidateAll() if the designated constraints aren't met. type OrMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m OrMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m OrMatcherMultiError) AllErrors() []error { return m } // OrMatcherValidationError is the validation error returned by // OrMatcher.Validate if the designated constraints aren't met. type OrMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e OrMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e OrMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e OrMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e OrMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e OrMatcherValidationError) ErrorName() string { return "OrMatcherValidationError" } // Error satisfies the builtin error interface func (e OrMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sOrMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = OrMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = OrMatcherValidationError{} // Validate checks the field values on ValueMatcher_NullMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ValueMatcher_NullMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ValueMatcher_NullMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ValueMatcher_NullMatchMultiError, or nil if none found. func (m *ValueMatcher_NullMatch) ValidateAll() error { return m.validate(true) } func (m *ValueMatcher_NullMatch) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ValueMatcher_NullMatchMultiError(errors) } return nil } // ValueMatcher_NullMatchMultiError is an error wrapping multiple validation // errors returned by ValueMatcher_NullMatch.ValidateAll() if the designated // constraints aren't met. type ValueMatcher_NullMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ValueMatcher_NullMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ValueMatcher_NullMatchMultiError) AllErrors() []error { return m } // ValueMatcher_NullMatchValidationError is the validation error returned by // ValueMatcher_NullMatch.Validate if the designated constraints aren't met. type ValueMatcher_NullMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ValueMatcher_NullMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ValueMatcher_NullMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ValueMatcher_NullMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ValueMatcher_NullMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ValueMatcher_NullMatchValidationError) ErrorName() string { return "ValueMatcher_NullMatchValidationError" } // Error satisfies the builtin error interface func (e ValueMatcher_NullMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sValueMatcher_NullMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ValueMatcher_NullMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ValueMatcher_NullMatchValidationError{} go-control-plane-0.12.0/envoy/type/matcher/value.pb.go000077500000000000000000000420131454502223200225630ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/matcher/value.proto package matcher import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the way to match a ProtobufWkt::Value. Primitive values and ListValue are supported. // StructValue is not supported and is always not matched. // [#next-free-field: 7] type ValueMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies how to match a value. // // Types that are assignable to MatchPattern: // // *ValueMatcher_NullMatch_ // *ValueMatcher_DoubleMatch // *ValueMatcher_StringMatch // *ValueMatcher_BoolMatch // *ValueMatcher_PresentMatch // *ValueMatcher_ListMatch MatchPattern isValueMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *ValueMatcher) Reset() { *x = ValueMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_value_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValueMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValueMatcher) ProtoMessage() {} func (x *ValueMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_value_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValueMatcher.ProtoReflect.Descriptor instead. func (*ValueMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_value_proto_rawDescGZIP(), []int{0} } func (m *ValueMatcher) GetMatchPattern() isValueMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *ValueMatcher) GetNullMatch() *ValueMatcher_NullMatch { if x, ok := x.GetMatchPattern().(*ValueMatcher_NullMatch_); ok { return x.NullMatch } return nil } func (x *ValueMatcher) GetDoubleMatch() *DoubleMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_DoubleMatch); ok { return x.DoubleMatch } return nil } func (x *ValueMatcher) GetStringMatch() *StringMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_StringMatch); ok { return x.StringMatch } return nil } func (x *ValueMatcher) GetBoolMatch() bool { if x, ok := x.GetMatchPattern().(*ValueMatcher_BoolMatch); ok { return x.BoolMatch } return false } func (x *ValueMatcher) GetPresentMatch() bool { if x, ok := x.GetMatchPattern().(*ValueMatcher_PresentMatch); ok { return x.PresentMatch } return false } func (x *ValueMatcher) GetListMatch() *ListMatcher { if x, ok := x.GetMatchPattern().(*ValueMatcher_ListMatch); ok { return x.ListMatch } return nil } type isValueMatcher_MatchPattern interface { isValueMatcher_MatchPattern() } type ValueMatcher_NullMatch_ struct { // If specified, a match occurs if and only if the target value is a NullValue. NullMatch *ValueMatcher_NullMatch `protobuf:"bytes,1,opt,name=null_match,json=nullMatch,proto3,oneof"` } type ValueMatcher_DoubleMatch struct { // If specified, a match occurs if and only if the target value is a double value and is // matched to this field. DoubleMatch *DoubleMatcher `protobuf:"bytes,2,opt,name=double_match,json=doubleMatch,proto3,oneof"` } type ValueMatcher_StringMatch struct { // If specified, a match occurs if and only if the target value is a string value and is // matched to this field. StringMatch *StringMatcher `protobuf:"bytes,3,opt,name=string_match,json=stringMatch,proto3,oneof"` } type ValueMatcher_BoolMatch struct { // If specified, a match occurs if and only if the target value is a bool value and is equal // to this field. BoolMatch bool `protobuf:"varint,4,opt,name=bool_match,json=boolMatch,proto3,oneof"` } type ValueMatcher_PresentMatch struct { // If specified, value match will be performed based on whether the path is referring to a // valid primitive value in the metadata. If the path is referring to a non-primitive value, // the result is always not matched. PresentMatch bool `protobuf:"varint,5,opt,name=present_match,json=presentMatch,proto3,oneof"` } type ValueMatcher_ListMatch struct { // If specified, a match occurs if and only if the target value is a list value and // is matched to this field. ListMatch *ListMatcher `protobuf:"bytes,6,opt,name=list_match,json=listMatch,proto3,oneof"` } func (*ValueMatcher_NullMatch_) isValueMatcher_MatchPattern() {} func (*ValueMatcher_DoubleMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_StringMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_BoolMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_PresentMatch) isValueMatcher_MatchPattern() {} func (*ValueMatcher_ListMatch) isValueMatcher_MatchPattern() {} // Specifies the way to match a list value. type ListMatcher struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to MatchPattern: // // *ListMatcher_OneOf MatchPattern isListMatcher_MatchPattern `protobuf_oneof:"match_pattern"` } func (x *ListMatcher) Reset() { *x = ListMatcher{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_value_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListMatcher) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListMatcher) ProtoMessage() {} func (x *ListMatcher) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_value_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListMatcher.ProtoReflect.Descriptor instead. func (*ListMatcher) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_value_proto_rawDescGZIP(), []int{1} } func (m *ListMatcher) GetMatchPattern() isListMatcher_MatchPattern { if m != nil { return m.MatchPattern } return nil } func (x *ListMatcher) GetOneOf() *ValueMatcher { if x, ok := x.GetMatchPattern().(*ListMatcher_OneOf); ok { return x.OneOf } return nil } type isListMatcher_MatchPattern interface { isListMatcher_MatchPattern() } type ListMatcher_OneOf struct { // If specified, at least one of the values in the list must match the value specified. OneOf *ValueMatcher `protobuf:"bytes,1,opt,name=one_of,json=oneOf,proto3,oneof"` } func (*ListMatcher_OneOf) isListMatcher_MatchPattern() {} // NullMatch is an empty message to specify a null value. type ValueMatcher_NullMatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ValueMatcher_NullMatch) Reset() { *x = ValueMatcher_NullMatch{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_matcher_value_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValueMatcher_NullMatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValueMatcher_NullMatch) ProtoMessage() {} func (x *ValueMatcher_NullMatch) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_matcher_value_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValueMatcher_NullMatch.ProtoReflect.Descriptor instead. func (*ValueMatcher_NullMatch) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_value_proto_rawDescGZIP(), []int{0, 0} } var File_envoy_type_matcher_value_proto protoreflect.FileDescriptor var file_envoy_type_matcher_value_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x03, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x0b, 0x0a, 0x09, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x5e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x4f, 0x66, 0x42, 0x14, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x73, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_matcher_value_proto_rawDescOnce sync.Once file_envoy_type_matcher_value_proto_rawDescData = file_envoy_type_matcher_value_proto_rawDesc ) func file_envoy_type_matcher_value_proto_rawDescGZIP() []byte { file_envoy_type_matcher_value_proto_rawDescOnce.Do(func() { file_envoy_type_matcher_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_matcher_value_proto_rawDescData) }) return file_envoy_type_matcher_value_proto_rawDescData } var file_envoy_type_matcher_value_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_matcher_value_proto_goTypes = []interface{}{ (*ValueMatcher)(nil), // 0: envoy.type.matcher.ValueMatcher (*ListMatcher)(nil), // 1: envoy.type.matcher.ListMatcher (*ValueMatcher_NullMatch)(nil), // 2: envoy.type.matcher.ValueMatcher.NullMatch (*DoubleMatcher)(nil), // 3: envoy.type.matcher.DoubleMatcher (*StringMatcher)(nil), // 4: envoy.type.matcher.StringMatcher } var file_envoy_type_matcher_value_proto_depIdxs = []int32{ 2, // 0: envoy.type.matcher.ValueMatcher.null_match:type_name -> envoy.type.matcher.ValueMatcher.NullMatch 3, // 1: envoy.type.matcher.ValueMatcher.double_match:type_name -> envoy.type.matcher.DoubleMatcher 4, // 2: envoy.type.matcher.ValueMatcher.string_match:type_name -> envoy.type.matcher.StringMatcher 1, // 3: envoy.type.matcher.ValueMatcher.list_match:type_name -> envoy.type.matcher.ListMatcher 0, // 4: envoy.type.matcher.ListMatcher.one_of:type_name -> envoy.type.matcher.ValueMatcher 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_type_matcher_value_proto_init() } func file_envoy_type_matcher_value_proto_init() { if File_envoy_type_matcher_value_proto != nil { return } file_envoy_type_matcher_number_proto_init() file_envoy_type_matcher_string_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_matcher_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValueMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_value_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListMatcher); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_matcher_value_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValueMatcher_NullMatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_matcher_value_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ValueMatcher_NullMatch_)(nil), (*ValueMatcher_DoubleMatch)(nil), (*ValueMatcher_StringMatch)(nil), (*ValueMatcher_BoolMatch)(nil), (*ValueMatcher_PresentMatch)(nil), (*ValueMatcher_ListMatch)(nil), } file_envoy_type_matcher_value_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ListMatcher_OneOf)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_matcher_value_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_matcher_value_proto_goTypes, DependencyIndexes: file_envoy_type_matcher_value_proto_depIdxs, MessageInfos: file_envoy_type_matcher_value_proto_msgTypes, }.Build() File_envoy_type_matcher_value_proto = out.File file_envoy_type_matcher_value_proto_rawDesc = nil file_envoy_type_matcher_value_proto_goTypes = nil file_envoy_type_matcher_value_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/matcher/value.pb.validate.go000077500000000000000000000365631454502223200243700ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/matcher/value.proto package matcher import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on ValueMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ValueMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ValueMatcher with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ValueMatcherMultiError, or // nil if none found. func (m *ValueMatcher) ValidateAll() error { return m.validate(true) } func (m *ValueMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *ValueMatcher_NullMatch_: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetNullMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetNullMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "NullMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_DoubleMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetDoubleMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetDoubleMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "DoubleMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_StringMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetStringMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetStringMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "StringMatch", reason: "embedded message failed validation", cause: err, } } } case *ValueMatcher_BoolMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for BoolMatch case *ValueMatcher_PresentMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true // no validation rules for PresentMatch case *ValueMatcher_ListMatch: if v == nil { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetListMatch()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetListMatch()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ValueMatcherValidationError{ field: "ListMatch", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := ValueMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ValueMatcherMultiError(errors) } return nil } // ValueMatcherMultiError is an error wrapping multiple validation errors // returned by ValueMatcher.ValidateAll() if the designated constraints aren't met. type ValueMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ValueMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ValueMatcherMultiError) AllErrors() []error { return m } // ValueMatcherValidationError is the validation error returned by // ValueMatcher.Validate if the designated constraints aren't met. type ValueMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ValueMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ValueMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ValueMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ValueMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ValueMatcherValidationError) ErrorName() string { return "ValueMatcherValidationError" } // Error satisfies the builtin error interface func (e ValueMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sValueMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ValueMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ValueMatcherValidationError{} // Validate checks the field values on ListMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *ListMatcher) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ListMatcher with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in ListMatcherMultiError, or // nil if none found. func (m *ListMatcher) ValidateAll() error { return m.validate(true) } func (m *ListMatcher) validate(all bool) error { if m == nil { return nil } var errors []error oneofMatchPatternPresent := false switch v := m.MatchPattern.(type) { case *ListMatcher_OneOf: if v == nil { err := ListMatcherValidationError{ field: "MatchPattern", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofMatchPatternPresent = true if all { switch v := interface{}(m.GetOneOf()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetOneOf()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return ListMatcherValidationError{ field: "OneOf", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofMatchPatternPresent { err := ListMatcherValidationError{ field: "MatchPattern", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return ListMatcherMultiError(errors) } return nil } // ListMatcherMultiError is an error wrapping multiple validation errors // returned by ListMatcher.ValidateAll() if the designated constraints aren't met. type ListMatcherMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ListMatcherMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ListMatcherMultiError) AllErrors() []error { return m } // ListMatcherValidationError is the validation error returned by // ListMatcher.Validate if the designated constraints aren't met. type ListMatcherValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ListMatcherValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ListMatcherValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ListMatcherValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ListMatcherValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ListMatcherValidationError) ErrorName() string { return "ListMatcherValidationError" } // Error satisfies the builtin error interface func (e ListMatcherValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sListMatcher.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ListMatcherValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ListMatcherValidationError{} // Validate checks the field values on ValueMatcher_NullMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *ValueMatcher_NullMatch) Validate() error { return m.validate(false) } // ValidateAll checks the field values on ValueMatcher_NullMatch with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // ValueMatcher_NullMatchMultiError, or nil if none found. func (m *ValueMatcher_NullMatch) ValidateAll() error { return m.validate(true) } func (m *ValueMatcher_NullMatch) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return ValueMatcher_NullMatchMultiError(errors) } return nil } // ValueMatcher_NullMatchMultiError is an error wrapping multiple validation // errors returned by ValueMatcher_NullMatch.ValidateAll() if the designated // constraints aren't met. type ValueMatcher_NullMatchMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m ValueMatcher_NullMatchMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m ValueMatcher_NullMatchMultiError) AllErrors() []error { return m } // ValueMatcher_NullMatchValidationError is the validation error returned by // ValueMatcher_NullMatch.Validate if the designated constraints aren't met. type ValueMatcher_NullMatchValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e ValueMatcher_NullMatchValidationError) Field() string { return e.field } // Reason function returns reason value. func (e ValueMatcher_NullMatchValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e ValueMatcher_NullMatchValidationError) Cause() error { return e.cause } // Key function returns key value. func (e ValueMatcher_NullMatchValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e ValueMatcher_NullMatchValidationError) ErrorName() string { return "ValueMatcher_NullMatchValidationError" } // Error satisfies the builtin error interface func (e ValueMatcher_NullMatchValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sValueMatcher_NullMatch.%s: %s%s", key, e.field, e.reason, cause) } var _ error = ValueMatcher_NullMatchValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = ValueMatcher_NullMatchValidationError{} go-control-plane-0.12.0/envoy/type/metadata/000077500000000000000000000000001454502223200206525ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/metadata/v2/000077500000000000000000000000001454502223200212015ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/metadata/v2/metadata.pb.go000077500000000000000000000557301454502223200237250ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/metadata/v2/metadata.proto package metadatav2 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // MetadataKey provides a general interface using `key` and `path` to retrieve value from // :ref:`Metadata `. // // For example, for the following Metadata: // // .. code-block:: yaml // // filter_metadata: // envoy.xxx: // prop: // foo: bar // xyz: // hello: envoy // // The following MetadataKey will retrieve a string value "bar" from the Metadata. // // .. code-block:: yaml // // key: envoy.xxx // path: // - key: prop // - key: foo type MetadataKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key name of Metadata to retrieve the Struct from the metadata. // Typically, it represents a builtin subsystem or custom extension. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The path to retrieve the Value from the Struct. It can be a prefix or a full path, // e.g. “[prop, xyz]“ for a struct or “[prop, foo]“ for a string in the example, // which depends on the particular scenario. // // Note: Due to that only the key type segment is supported, the path can not specify a list // unless the list is the last segment. Path []*MetadataKey_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` } func (x *MetadataKey) Reset() { *x = MetadataKey{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKey) ProtoMessage() {} func (x *MetadataKey) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKey.ProtoReflect.Descriptor instead. func (*MetadataKey) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{0} } func (x *MetadataKey) GetKey() string { if x != nil { return x.Key } return "" } func (x *MetadataKey) GetPath() []*MetadataKey_PathSegment { if x != nil { return x.Path } return nil } // Describes what kind of metadata. type MetadataKind struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: // // *MetadataKind_Request_ // *MetadataKind_Route_ // *MetadataKind_Cluster_ // *MetadataKind_Host_ Kind isMetadataKind_Kind `protobuf_oneof:"kind"` } func (x *MetadataKind) Reset() { *x = MetadataKind{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind) ProtoMessage() {} func (x *MetadataKind) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind.ProtoReflect.Descriptor instead. func (*MetadataKind) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{1} } func (m *MetadataKind) GetKind() isMetadataKind_Kind { if m != nil { return m.Kind } return nil } func (x *MetadataKind) GetRequest() *MetadataKind_Request { if x, ok := x.GetKind().(*MetadataKind_Request_); ok { return x.Request } return nil } func (x *MetadataKind) GetRoute() *MetadataKind_Route { if x, ok := x.GetKind().(*MetadataKind_Route_); ok { return x.Route } return nil } func (x *MetadataKind) GetCluster() *MetadataKind_Cluster { if x, ok := x.GetKind().(*MetadataKind_Cluster_); ok { return x.Cluster } return nil } func (x *MetadataKind) GetHost() *MetadataKind_Host { if x, ok := x.GetKind().(*MetadataKind_Host_); ok { return x.Host } return nil } type isMetadataKind_Kind interface { isMetadataKind_Kind() } type MetadataKind_Request_ struct { // Request kind of metadata. Request *MetadataKind_Request `protobuf:"bytes,1,opt,name=request,proto3,oneof"` } type MetadataKind_Route_ struct { // Route kind of metadata. Route *MetadataKind_Route `protobuf:"bytes,2,opt,name=route,proto3,oneof"` } type MetadataKind_Cluster_ struct { // Cluster kind of metadata. Cluster *MetadataKind_Cluster `protobuf:"bytes,3,opt,name=cluster,proto3,oneof"` } type MetadataKind_Host_ struct { // Host kind of metadata. Host *MetadataKind_Host `protobuf:"bytes,4,opt,name=host,proto3,oneof"` } func (*MetadataKind_Request_) isMetadataKind_Kind() {} func (*MetadataKind_Route_) isMetadataKind_Kind() {} func (*MetadataKind_Cluster_) isMetadataKind_Kind() {} func (*MetadataKind_Host_) isMetadataKind_Kind() {} // Specifies the segment in a path to retrieve value from Metadata. // Currently it is only supported to specify the key, i.e. field name, as one segment of a path. type MetadataKey_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *MetadataKey_PathSegment_Key Segment isMetadataKey_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *MetadataKey_PathSegment) Reset() { *x = MetadataKey_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKey_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKey_PathSegment) ProtoMessage() {} func (x *MetadataKey_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKey_PathSegment.ProtoReflect.Descriptor instead. func (*MetadataKey_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{0, 0} } func (m *MetadataKey_PathSegment) GetSegment() isMetadataKey_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *MetadataKey_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*MetadataKey_PathSegment_Key); ok { return x.Key } return "" } type isMetadataKey_PathSegment_Segment interface { isMetadataKey_PathSegment_Segment() } type MetadataKey_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*MetadataKey_PathSegment_Key) isMetadataKey_PathSegment_Segment() {} // Represents dynamic metadata associated with the request. type MetadataKind_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Request) Reset() { *x = MetadataKind_Request{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Request) ProtoMessage() {} func (x *MetadataKind_Request) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Request.ProtoReflect.Descriptor instead. func (*MetadataKind_Request) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{1, 0} } // Represents metadata from :ref:`the route`. type MetadataKind_Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Route) Reset() { *x = MetadataKind_Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Route) ProtoMessage() {} func (x *MetadataKind_Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Route.ProtoReflect.Descriptor instead. func (*MetadataKind_Route) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{1, 1} } // Represents metadata from :ref:`the upstream cluster`. type MetadataKind_Cluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Cluster) Reset() { *x = MetadataKind_Cluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Cluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Cluster) ProtoMessage() {} func (x *MetadataKind_Cluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Cluster.ProtoReflect.Descriptor instead. func (*MetadataKind_Cluster) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{1, 2} } // Represents metadata from :ref:`the upstream // host`. type MetadataKind_Host struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Host) Reset() { *x = MetadataKind_Host{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Host) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Host) ProtoMessage() {} func (x *MetadataKind_Host) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v2_metadata_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Host.ProtoReflect.Descriptor instead. func (*MetadataKind_Host) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP(), []int{1, 3} } var File_envoy_type_metadata_v2_metadata_proto protoreflect.FileDescriptor var file_envoy_type_metadata_v2_metadata_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x3a, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xdb, 0x02, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x1a, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x07, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x09, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x06, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xa7, 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x18, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_metadata_v2_metadata_proto_rawDescOnce sync.Once file_envoy_type_metadata_v2_metadata_proto_rawDescData = file_envoy_type_metadata_v2_metadata_proto_rawDesc ) func file_envoy_type_metadata_v2_metadata_proto_rawDescGZIP() []byte { file_envoy_type_metadata_v2_metadata_proto_rawDescOnce.Do(func() { file_envoy_type_metadata_v2_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_metadata_v2_metadata_proto_rawDescData) }) return file_envoy_type_metadata_v2_metadata_proto_rawDescData } var file_envoy_type_metadata_v2_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_type_metadata_v2_metadata_proto_goTypes = []interface{}{ (*MetadataKey)(nil), // 0: envoy.type.metadata.v2.MetadataKey (*MetadataKind)(nil), // 1: envoy.type.metadata.v2.MetadataKind (*MetadataKey_PathSegment)(nil), // 2: envoy.type.metadata.v2.MetadataKey.PathSegment (*MetadataKind_Request)(nil), // 3: envoy.type.metadata.v2.MetadataKind.Request (*MetadataKind_Route)(nil), // 4: envoy.type.metadata.v2.MetadataKind.Route (*MetadataKind_Cluster)(nil), // 5: envoy.type.metadata.v2.MetadataKind.Cluster (*MetadataKind_Host)(nil), // 6: envoy.type.metadata.v2.MetadataKind.Host } var file_envoy_type_metadata_v2_metadata_proto_depIdxs = []int32{ 2, // 0: envoy.type.metadata.v2.MetadataKey.path:type_name -> envoy.type.metadata.v2.MetadataKey.PathSegment 3, // 1: envoy.type.metadata.v2.MetadataKind.request:type_name -> envoy.type.metadata.v2.MetadataKind.Request 4, // 2: envoy.type.metadata.v2.MetadataKind.route:type_name -> envoy.type.metadata.v2.MetadataKind.Route 5, // 3: envoy.type.metadata.v2.MetadataKind.cluster:type_name -> envoy.type.metadata.v2.MetadataKind.Cluster 6, // 4: envoy.type.metadata.v2.MetadataKind.host:type_name -> envoy.type.metadata.v2.MetadataKind.Host 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_type_metadata_v2_metadata_proto_init() } func file_envoy_type_metadata_v2_metadata_proto_init() { if File_envoy_type_metadata_v2_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_metadata_v2_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKey_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Cluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Host); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_metadata_v2_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MetadataKind_Request_)(nil), (*MetadataKind_Route_)(nil), (*MetadataKind_Cluster_)(nil), (*MetadataKind_Host_)(nil), } file_envoy_type_metadata_v2_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ (*MetadataKey_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_metadata_v2_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_metadata_v2_metadata_proto_goTypes, DependencyIndexes: file_envoy_type_metadata_v2_metadata_proto_depIdxs, MessageInfos: file_envoy_type_metadata_v2_metadata_proto_msgTypes, }.Build() File_envoy_type_metadata_v2_metadata_proto = out.File file_envoy_type_metadata_v2_metadata_proto_rawDesc = nil file_envoy_type_metadata_v2_metadata_proto_goTypes = nil file_envoy_type_metadata_v2_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/metadata/v2/metadata.pb.validate.go000077500000000000000000000647471454502223200255250ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/metadata/v2/metadata.proto package metadatav2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MetadataKey with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MetadataKey) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKey with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataKeyMultiError, or // nil if none found. func (m *MetadataKey) ValidateAll() error { return m.validate(true) } func (m *MetadataKey) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetKey()) < 1 { err := MetadataKeyValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(m.GetPath()) < 1 { err := MetadataKeyValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MetadataKeyMultiError(errors) } return nil } // MetadataKeyMultiError is an error wrapping multiple validation errors // returned by MetadataKey.ValidateAll() if the designated constraints aren't met. type MetadataKeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKeyMultiError) AllErrors() []error { return m } // MetadataKeyValidationError is the validation error returned by // MetadataKey.Validate if the designated constraints aren't met. type MetadataKeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKeyValidationError) ErrorName() string { return "MetadataKeyValidationError" } // Error satisfies the builtin error interface func (e MetadataKeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKey.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKeyValidationError{} // Validate checks the field values on MetadataKind with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MetadataKind) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataKindMultiError, or // nil if none found. func (m *MetadataKind) ValidateAll() error { return m.validate(true) } func (m *MetadataKind) validate(all bool) error { if m == nil { return nil } var errors []error oneofKindPresent := false switch v := m.Kind.(type) { case *MetadataKind_Request_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Route_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Cluster_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Host_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofKindPresent { err := MetadataKindValidationError{ field: "Kind", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataKindMultiError(errors) } return nil } // MetadataKindMultiError is an error wrapping multiple validation errors // returned by MetadataKind.ValidateAll() if the designated constraints aren't met. type MetadataKindMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKindMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKindMultiError) AllErrors() []error { return m } // MetadataKindValidationError is the validation error returned by // MetadataKind.Validate if the designated constraints aren't met. type MetadataKindValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKindValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKindValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKindValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKindValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKindValidationError) ErrorName() string { return "MetadataKindValidationError" } // Error satisfies the builtin error interface func (e MetadataKindValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKindValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKindValidationError{} // Validate checks the field values on MetadataKey_PathSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKey_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKey_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKey_PathSegmentMultiError, or nil if none found. func (m *MetadataKey_PathSegment) ValidateAll() error { return m.validate(true) } func (m *MetadataKey_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *MetadataKey_PathSegment_Key: if v == nil { err := MetadataKey_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if len(m.GetKey()) < 1 { err := MetadataKey_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := MetadataKey_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataKey_PathSegmentMultiError(errors) } return nil } // MetadataKey_PathSegmentMultiError is an error wrapping multiple validation // errors returned by MetadataKey_PathSegment.ValidateAll() if the designated // constraints aren't met. type MetadataKey_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKey_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKey_PathSegmentMultiError) AllErrors() []error { return m } // MetadataKey_PathSegmentValidationError is the validation error returned by // MetadataKey_PathSegment.Validate if the designated constraints aren't met. type MetadataKey_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKey_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKey_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKey_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKey_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKey_PathSegmentValidationError) ErrorName() string { return "MetadataKey_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e MetadataKey_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKey_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKey_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKey_PathSegmentValidationError{} // Validate checks the field values on MetadataKind_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Request) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_RequestMultiError, or nil if none found. func (m *MetadataKind_Request) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Request) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_RequestMultiError(errors) } return nil } // MetadataKind_RequestMultiError is an error wrapping multiple validation // errors returned by MetadataKind_Request.ValidateAll() if the designated // constraints aren't met. type MetadataKind_RequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_RequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_RequestMultiError) AllErrors() []error { return m } // MetadataKind_RequestValidationError is the validation error returned by // MetadataKind_Request.Validate if the designated constraints aren't met. type MetadataKind_RequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_RequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_RequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_RequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_RequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_RequestValidationError) ErrorName() string { return "MetadataKind_RequestValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_RequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Request.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_RequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_RequestValidationError{} // Validate checks the field values on MetadataKind_Route with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Route with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_RouteMultiError, or nil if none found. func (m *MetadataKind_Route) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Route) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_RouteMultiError(errors) } return nil } // MetadataKind_RouteMultiError is an error wrapping multiple validation errors // returned by MetadataKind_Route.ValidateAll() if the designated constraints // aren't met. type MetadataKind_RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_RouteMultiError) AllErrors() []error { return m } // MetadataKind_RouteValidationError is the validation error returned by // MetadataKind_Route.Validate if the designated constraints aren't met. type MetadataKind_RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_RouteValidationError) ErrorName() string { return "MetadataKind_RouteValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Route.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_RouteValidationError{} // Validate checks the field values on MetadataKind_Cluster with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Cluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Cluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_ClusterMultiError, or nil if none found. func (m *MetadataKind_Cluster) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Cluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_ClusterMultiError(errors) } return nil } // MetadataKind_ClusterMultiError is an error wrapping multiple validation // errors returned by MetadataKind_Cluster.ValidateAll() if the designated // constraints aren't met. type MetadataKind_ClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_ClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_ClusterMultiError) AllErrors() []error { return m } // MetadataKind_ClusterValidationError is the validation error returned by // MetadataKind_Cluster.Validate if the designated constraints aren't met. type MetadataKind_ClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_ClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_ClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_ClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_ClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_ClusterValidationError) ErrorName() string { return "MetadataKind_ClusterValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_ClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Cluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_ClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_ClusterValidationError{} // Validate checks the field values on MetadataKind_Host with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Host) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Host with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_HostMultiError, or nil if none found. func (m *MetadataKind_Host) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Host) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_HostMultiError(errors) } return nil } // MetadataKind_HostMultiError is an error wrapping multiple validation errors // returned by MetadataKind_Host.ValidateAll() if the designated constraints // aren't met. type MetadataKind_HostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_HostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_HostMultiError) AllErrors() []error { return m } // MetadataKind_HostValidationError is the validation error returned by // MetadataKind_Host.Validate if the designated constraints aren't met. type MetadataKind_HostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_HostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_HostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_HostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_HostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_HostValidationError) ErrorName() string { return "MetadataKind_HostValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_HostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Host.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_HostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_HostValidationError{} go-control-plane-0.12.0/envoy/type/metadata/v3/000077500000000000000000000000001454502223200212025ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/metadata/v3/metadata.pb.go000077500000000000000000000616441454502223200237270ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/metadata/v3/metadata.proto package metadatav3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // MetadataKey provides a general interface using “key“ and “path“ to retrieve value from // :ref:`Metadata `. // // For example, for the following Metadata: // // .. code-block:: yaml // // filter_metadata: // envoy.xxx: // prop: // foo: bar // xyz: // hello: envoy // // The following MetadataKey will retrieve a string value "bar" from the Metadata. // // .. code-block:: yaml // // key: envoy.xxx // path: // - key: prop // - key: foo type MetadataKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The key name of Metadata to retrieve the Struct from the metadata. // Typically, it represents a builtin subsystem or custom extension. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The path to retrieve the Value from the Struct. It can be a prefix or a full path, // e.g. “[prop, xyz]“ for a struct or “[prop, foo]“ for a string in the example, // which depends on the particular scenario. // // Note: Due to that only the key type segment is supported, the path can not specify a list // unless the list is the last segment. Path []*MetadataKey_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` } func (x *MetadataKey) Reset() { *x = MetadataKey{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKey) ProtoMessage() {} func (x *MetadataKey) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKey.ProtoReflect.Descriptor instead. func (*MetadataKey) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{0} } func (x *MetadataKey) GetKey() string { if x != nil { return x.Key } return "" } func (x *MetadataKey) GetPath() []*MetadataKey_PathSegment { if x != nil { return x.Path } return nil } // Describes what kind of metadata. type MetadataKind struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: // // *MetadataKind_Request_ // *MetadataKind_Route_ // *MetadataKind_Cluster_ // *MetadataKind_Host_ Kind isMetadataKind_Kind `protobuf_oneof:"kind"` } func (x *MetadataKind) Reset() { *x = MetadataKind{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind) ProtoMessage() {} func (x *MetadataKind) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind.ProtoReflect.Descriptor instead. func (*MetadataKind) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{1} } func (m *MetadataKind) GetKind() isMetadataKind_Kind { if m != nil { return m.Kind } return nil } func (x *MetadataKind) GetRequest() *MetadataKind_Request { if x, ok := x.GetKind().(*MetadataKind_Request_); ok { return x.Request } return nil } func (x *MetadataKind) GetRoute() *MetadataKind_Route { if x, ok := x.GetKind().(*MetadataKind_Route_); ok { return x.Route } return nil } func (x *MetadataKind) GetCluster() *MetadataKind_Cluster { if x, ok := x.GetKind().(*MetadataKind_Cluster_); ok { return x.Cluster } return nil } func (x *MetadataKind) GetHost() *MetadataKind_Host { if x, ok := x.GetKind().(*MetadataKind_Host_); ok { return x.Host } return nil } type isMetadataKind_Kind interface { isMetadataKind_Kind() } type MetadataKind_Request_ struct { // Request kind of metadata. Request *MetadataKind_Request `protobuf:"bytes,1,opt,name=request,proto3,oneof"` } type MetadataKind_Route_ struct { // Route kind of metadata. Route *MetadataKind_Route `protobuf:"bytes,2,opt,name=route,proto3,oneof"` } type MetadataKind_Cluster_ struct { // Cluster kind of metadata. Cluster *MetadataKind_Cluster `protobuf:"bytes,3,opt,name=cluster,proto3,oneof"` } type MetadataKind_Host_ struct { // Host kind of metadata. Host *MetadataKind_Host `protobuf:"bytes,4,opt,name=host,proto3,oneof"` } func (*MetadataKind_Request_) isMetadataKind_Kind() {} func (*MetadataKind_Route_) isMetadataKind_Kind() {} func (*MetadataKind_Cluster_) isMetadataKind_Kind() {} func (*MetadataKind_Host_) isMetadataKind_Kind() {} // Specifies the segment in a path to retrieve value from Metadata. // Currently it is only supported to specify the key, i.e. field name, as one segment of a path. type MetadataKey_PathSegment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Segment: // // *MetadataKey_PathSegment_Key Segment isMetadataKey_PathSegment_Segment `protobuf_oneof:"segment"` } func (x *MetadataKey_PathSegment) Reset() { *x = MetadataKey_PathSegment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKey_PathSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKey_PathSegment) ProtoMessage() {} func (x *MetadataKey_PathSegment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKey_PathSegment.ProtoReflect.Descriptor instead. func (*MetadataKey_PathSegment) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{0, 0} } func (m *MetadataKey_PathSegment) GetSegment() isMetadataKey_PathSegment_Segment { if m != nil { return m.Segment } return nil } func (x *MetadataKey_PathSegment) GetKey() string { if x, ok := x.GetSegment().(*MetadataKey_PathSegment_Key); ok { return x.Key } return "" } type isMetadataKey_PathSegment_Segment interface { isMetadataKey_PathSegment_Segment() } type MetadataKey_PathSegment_Key struct { // If specified, use the key to retrieve the value in a Struct. Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` } func (*MetadataKey_PathSegment_Key) isMetadataKey_PathSegment_Segment() {} // Represents dynamic metadata associated with the request. type MetadataKind_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Request) Reset() { *x = MetadataKind_Request{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Request) ProtoMessage() {} func (x *MetadataKind_Request) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Request.ProtoReflect.Descriptor instead. func (*MetadataKind_Request) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{1, 0} } // Represents metadata from :ref:`the route`. type MetadataKind_Route struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Route) Reset() { *x = MetadataKind_Route{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Route) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Route) ProtoMessage() {} func (x *MetadataKind_Route) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Route.ProtoReflect.Descriptor instead. func (*MetadataKind_Route) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{1, 1} } // Represents metadata from :ref:`the upstream cluster`. type MetadataKind_Cluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Cluster) Reset() { *x = MetadataKind_Cluster{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Cluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Cluster) ProtoMessage() {} func (x *MetadataKind_Cluster) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Cluster.ProtoReflect.Descriptor instead. func (*MetadataKind_Cluster) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{1, 2} } // Represents metadata from :ref:`the upstream // host`. type MetadataKind_Host struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MetadataKind_Host) Reset() { *x = MetadataKind_Host{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataKind_Host) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataKind_Host) ProtoMessage() {} func (x *MetadataKind_Host) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_metadata_v3_metadata_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataKind_Host.ProtoReflect.Descriptor instead. func (*MetadataKind_Host) Descriptor() ([]byte, []int) { return file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP(), []int{1, 3} } var File_envoy_type_metadata_v3_metadata_proto protoreflect.FileDescriptor var file_envoy_type_metadata_v3_metadata_proto_rawDesc = []byte{ 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x71, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x35, 0x9a, 0xc5, 0x88, 0x1e, 0x30, 0x0a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x22, 0xd2, 0x04, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x1a, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e, 0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x3d, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x0b, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x89, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x24, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x3b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_metadata_v3_metadata_proto_rawDescOnce sync.Once file_envoy_type_metadata_v3_metadata_proto_rawDescData = file_envoy_type_metadata_v3_metadata_proto_rawDesc ) func file_envoy_type_metadata_v3_metadata_proto_rawDescGZIP() []byte { file_envoy_type_metadata_v3_metadata_proto_rawDescOnce.Do(func() { file_envoy_type_metadata_v3_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_metadata_v3_metadata_proto_rawDescData) }) return file_envoy_type_metadata_v3_metadata_proto_rawDescData } var file_envoy_type_metadata_v3_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_envoy_type_metadata_v3_metadata_proto_goTypes = []interface{}{ (*MetadataKey)(nil), // 0: envoy.type.metadata.v3.MetadataKey (*MetadataKind)(nil), // 1: envoy.type.metadata.v3.MetadataKind (*MetadataKey_PathSegment)(nil), // 2: envoy.type.metadata.v3.MetadataKey.PathSegment (*MetadataKind_Request)(nil), // 3: envoy.type.metadata.v3.MetadataKind.Request (*MetadataKind_Route)(nil), // 4: envoy.type.metadata.v3.MetadataKind.Route (*MetadataKind_Cluster)(nil), // 5: envoy.type.metadata.v3.MetadataKind.Cluster (*MetadataKind_Host)(nil), // 6: envoy.type.metadata.v3.MetadataKind.Host } var file_envoy_type_metadata_v3_metadata_proto_depIdxs = []int32{ 2, // 0: envoy.type.metadata.v3.MetadataKey.path:type_name -> envoy.type.metadata.v3.MetadataKey.PathSegment 3, // 1: envoy.type.metadata.v3.MetadataKind.request:type_name -> envoy.type.metadata.v3.MetadataKind.Request 4, // 2: envoy.type.metadata.v3.MetadataKind.route:type_name -> envoy.type.metadata.v3.MetadataKind.Route 5, // 3: envoy.type.metadata.v3.MetadataKind.cluster:type_name -> envoy.type.metadata.v3.MetadataKind.Cluster 6, // 4: envoy.type.metadata.v3.MetadataKind.host:type_name -> envoy.type.metadata.v3.MetadataKind.Host 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_envoy_type_metadata_v3_metadata_proto_init() } func file_envoy_type_metadata_v3_metadata_proto_init() { if File_envoy_type_metadata_v3_metadata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_metadata_v3_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKey_PathSegment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Route); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Cluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataKind_Host); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_metadata_v3_metadata_proto_msgTypes[1].OneofWrappers = []interface{}{ (*MetadataKind_Request_)(nil), (*MetadataKind_Route_)(nil), (*MetadataKind_Cluster_)(nil), (*MetadataKind_Host_)(nil), } file_envoy_type_metadata_v3_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ (*MetadataKey_PathSegment_Key)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_metadata_v3_metadata_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_metadata_v3_metadata_proto_goTypes, DependencyIndexes: file_envoy_type_metadata_v3_metadata_proto_depIdxs, MessageInfos: file_envoy_type_metadata_v3_metadata_proto_msgTypes, }.Build() File_envoy_type_metadata_v3_metadata_proto = out.File file_envoy_type_metadata_v3_metadata_proto_rawDesc = nil file_envoy_type_metadata_v3_metadata_proto_goTypes = nil file_envoy_type_metadata_v3_metadata_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/metadata/v3/metadata.pb.validate.go000077500000000000000000000650151454502223200255130ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/metadata/v3/metadata.proto package metadatav3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on MetadataKey with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MetadataKey) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKey with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataKeyMultiError, or // nil if none found. func (m *MetadataKey) ValidateAll() error { return m.validate(true) } func (m *MetadataKey) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := MetadataKeyValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(m.GetPath()) < 1 { err := MetadataKeyValidationError{ field: "Path", reason: "value must contain at least 1 item(s)", } if !all { return err } errors = append(errors, err) } for idx, item := range m.GetPath() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKeyValidationError{ field: fmt.Sprintf("Path[%v]", idx), reason: "embedded message failed validation", cause: err, } } } } if len(errors) > 0 { return MetadataKeyMultiError(errors) } return nil } // MetadataKeyMultiError is an error wrapping multiple validation errors // returned by MetadataKey.ValidateAll() if the designated constraints aren't met. type MetadataKeyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKeyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKeyMultiError) AllErrors() []error { return m } // MetadataKeyValidationError is the validation error returned by // MetadataKey.Validate if the designated constraints aren't met. type MetadataKeyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKeyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKeyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKeyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKeyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKeyValidationError) ErrorName() string { return "MetadataKeyValidationError" } // Error satisfies the builtin error interface func (e MetadataKeyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKey.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKeyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKeyValidationError{} // Validate checks the field values on MetadataKind with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *MetadataKind) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind with the rules defined // in the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in MetadataKindMultiError, or // nil if none found. func (m *MetadataKind) ValidateAll() error { return m.validate(true) } func (m *MetadataKind) validate(all bool) error { if m == nil { return nil } var errors []error oneofKindPresent := false switch v := m.Kind.(type) { case *MetadataKind_Request_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetRequest()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequest()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Request", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Route_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetRoute()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRoute()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Route", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Cluster_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetCluster()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetCluster()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Cluster", reason: "embedded message failed validation", cause: err, } } } case *MetadataKind_Host_: if v == nil { err := MetadataKindValidationError{ field: "Kind", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofKindPresent = true if all { switch v := interface{}(m.GetHost()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetHost()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return MetadataKindValidationError{ field: "Host", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofKindPresent { err := MetadataKindValidationError{ field: "Kind", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataKindMultiError(errors) } return nil } // MetadataKindMultiError is an error wrapping multiple validation errors // returned by MetadataKind.ValidateAll() if the designated constraints aren't met. type MetadataKindMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKindMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKindMultiError) AllErrors() []error { return m } // MetadataKindValidationError is the validation error returned by // MetadataKind.Validate if the designated constraints aren't met. type MetadataKindValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKindValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKindValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKindValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKindValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKindValidationError) ErrorName() string { return "MetadataKindValidationError" } // Error satisfies the builtin error interface func (e MetadataKindValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKindValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKindValidationError{} // Validate checks the field values on MetadataKey_PathSegment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKey_PathSegment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKey_PathSegment with the // rules defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKey_PathSegmentMultiError, or nil if none found. func (m *MetadataKey_PathSegment) ValidateAll() error { return m.validate(true) } func (m *MetadataKey_PathSegment) validate(all bool) error { if m == nil { return nil } var errors []error oneofSegmentPresent := false switch v := m.Segment.(type) { case *MetadataKey_PathSegment_Key: if v == nil { err := MetadataKey_PathSegmentValidationError{ field: "Segment", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofSegmentPresent = true if utf8.RuneCountInString(m.GetKey()) < 1 { err := MetadataKey_PathSegmentValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } default: _ = v // ensures v is used } if !oneofSegmentPresent { err := MetadataKey_PathSegmentValidationError{ field: "Segment", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return MetadataKey_PathSegmentMultiError(errors) } return nil } // MetadataKey_PathSegmentMultiError is an error wrapping multiple validation // errors returned by MetadataKey_PathSegment.ValidateAll() if the designated // constraints aren't met. type MetadataKey_PathSegmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKey_PathSegmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKey_PathSegmentMultiError) AllErrors() []error { return m } // MetadataKey_PathSegmentValidationError is the validation error returned by // MetadataKey_PathSegment.Validate if the designated constraints aren't met. type MetadataKey_PathSegmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKey_PathSegmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKey_PathSegmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKey_PathSegmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKey_PathSegmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKey_PathSegmentValidationError) ErrorName() string { return "MetadataKey_PathSegmentValidationError" } // Error satisfies the builtin error interface func (e MetadataKey_PathSegmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKey_PathSegment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKey_PathSegmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKey_PathSegmentValidationError{} // Validate checks the field values on MetadataKind_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Request) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Request with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_RequestMultiError, or nil if none found. func (m *MetadataKind_Request) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Request) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_RequestMultiError(errors) } return nil } // MetadataKind_RequestMultiError is an error wrapping multiple validation // errors returned by MetadataKind_Request.ValidateAll() if the designated // constraints aren't met. type MetadataKind_RequestMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_RequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_RequestMultiError) AllErrors() []error { return m } // MetadataKind_RequestValidationError is the validation error returned by // MetadataKind_Request.Validate if the designated constraints aren't met. type MetadataKind_RequestValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_RequestValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_RequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_RequestValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_RequestValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_RequestValidationError) ErrorName() string { return "MetadataKind_RequestValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_RequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Request.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_RequestValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_RequestValidationError{} // Validate checks the field values on MetadataKind_Route with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Route) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Route with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_RouteMultiError, or nil if none found. func (m *MetadataKind_Route) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Route) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_RouteMultiError(errors) } return nil } // MetadataKind_RouteMultiError is an error wrapping multiple validation errors // returned by MetadataKind_Route.ValidateAll() if the designated constraints // aren't met. type MetadataKind_RouteMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_RouteMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_RouteMultiError) AllErrors() []error { return m } // MetadataKind_RouteValidationError is the validation error returned by // MetadataKind_Route.Validate if the designated constraints aren't met. type MetadataKind_RouteValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_RouteValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_RouteValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_RouteValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_RouteValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_RouteValidationError) ErrorName() string { return "MetadataKind_RouteValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_RouteValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Route.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_RouteValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_RouteValidationError{} // Validate checks the field values on MetadataKind_Cluster with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Cluster) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Cluster with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_ClusterMultiError, or nil if none found. func (m *MetadataKind_Cluster) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Cluster) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_ClusterMultiError(errors) } return nil } // MetadataKind_ClusterMultiError is an error wrapping multiple validation // errors returned by MetadataKind_Cluster.ValidateAll() if the designated // constraints aren't met. type MetadataKind_ClusterMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_ClusterMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_ClusterMultiError) AllErrors() []error { return m } // MetadataKind_ClusterValidationError is the validation error returned by // MetadataKind_Cluster.Validate if the designated constraints aren't met. type MetadataKind_ClusterValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_ClusterValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_ClusterValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_ClusterValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_ClusterValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_ClusterValidationError) ErrorName() string { return "MetadataKind_ClusterValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_ClusterValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Cluster.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_ClusterValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_ClusterValidationError{} // Validate checks the field values on MetadataKind_Host with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *MetadataKind_Host) Validate() error { return m.validate(false) } // ValidateAll checks the field values on MetadataKind_Host with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // MetadataKind_HostMultiError, or nil if none found. func (m *MetadataKind_Host) ValidateAll() error { return m.validate(true) } func (m *MetadataKind_Host) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return MetadataKind_HostMultiError(errors) } return nil } // MetadataKind_HostMultiError is an error wrapping multiple validation errors // returned by MetadataKind_Host.ValidateAll() if the designated constraints // aren't met. type MetadataKind_HostMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m MetadataKind_HostMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m MetadataKind_HostMultiError) AllErrors() []error { return m } // MetadataKind_HostValidationError is the validation error returned by // MetadataKind_Host.Validate if the designated constraints aren't met. type MetadataKind_HostValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e MetadataKind_HostValidationError) Field() string { return e.field } // Reason function returns reason value. func (e MetadataKind_HostValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e MetadataKind_HostValidationError) Cause() error { return e.cause } // Key function returns key value. func (e MetadataKind_HostValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e MetadataKind_HostValidationError) ErrorName() string { return "MetadataKind_HostValidationError" } // Error satisfies the builtin error interface func (e MetadataKind_HostValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sMetadataKind_Host.%s: %s%s", key, e.field, e.reason, cause) } var _ error = MetadataKind_HostValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = MetadataKind_HostValidationError{} go-control-plane-0.12.0/envoy/type/percent.pb.go000077500000000000000000000261351454502223200214730ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/percent.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Fraction percentages support several fixed denominator values. type FractionalPercent_DenominatorType int32 const ( // 100. // // **Example**: 1/100 = 1%. FractionalPercent_HUNDRED FractionalPercent_DenominatorType = 0 // 10,000. // // **Example**: 1/10000 = 0.01%. FractionalPercent_TEN_THOUSAND FractionalPercent_DenominatorType = 1 // 1,000,000. // // **Example**: 1/1000000 = 0.0001%. FractionalPercent_MILLION FractionalPercent_DenominatorType = 2 ) // Enum value maps for FractionalPercent_DenominatorType. var ( FractionalPercent_DenominatorType_name = map[int32]string{ 0: "HUNDRED", 1: "TEN_THOUSAND", 2: "MILLION", } FractionalPercent_DenominatorType_value = map[string]int32{ "HUNDRED": 0, "TEN_THOUSAND": 1, "MILLION": 2, } ) func (x FractionalPercent_DenominatorType) Enum() *FractionalPercent_DenominatorType { p := new(FractionalPercent_DenominatorType) *p = x return p } func (x FractionalPercent_DenominatorType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FractionalPercent_DenominatorType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_percent_proto_enumTypes[0].Descriptor() } func (FractionalPercent_DenominatorType) Type() protoreflect.EnumType { return &file_envoy_type_percent_proto_enumTypes[0] } func (x FractionalPercent_DenominatorType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FractionalPercent_DenominatorType.Descriptor instead. func (FractionalPercent_DenominatorType) EnumDescriptor() ([]byte, []int) { return file_envoy_type_percent_proto_rawDescGZIP(), []int{1, 0} } // Identifies a percentage, in the range [0.0, 100.0]. type Percent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *Percent) Reset() { *x = Percent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_percent_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Percent) String() string { return protoimpl.X.MessageStringOf(x) } func (*Percent) ProtoMessage() {} func (x *Percent) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_percent_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Percent.ProtoReflect.Descriptor instead. func (*Percent) Descriptor() ([]byte, []int) { return file_envoy_type_percent_proto_rawDescGZIP(), []int{0} } func (x *Percent) GetValue() float64 { if x != nil { return x.Value } return 0 } // A fractional percentage is used in cases in which for performance reasons performing floating // point to integer conversions during randomness calculations is undesirable. The message includes // both a numerator and denominator that together determine the final fractional value. // // * **Example**: 1/100 = 1%. // * **Example**: 3/10000 = 0.03%. type FractionalPercent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the numerator. Defaults to 0. Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` // Specifies the denominator. If the denominator specified is less than the numerator, the final // fractional percentage is capped at 1 (100%). Denominator FractionalPercent_DenominatorType `protobuf:"varint,2,opt,name=denominator,proto3,enum=envoy.type.FractionalPercent_DenominatorType" json:"denominator,omitempty"` } func (x *FractionalPercent) Reset() { *x = FractionalPercent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_percent_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FractionalPercent) String() string { return protoimpl.X.MessageStringOf(x) } func (*FractionalPercent) ProtoMessage() {} func (x *FractionalPercent) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_percent_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FractionalPercent.ProtoReflect.Descriptor instead. func (*FractionalPercent) Descriptor() ([]byte, []int) { return file_envoy_type_percent_proto_rawDescGZIP(), []int{1} } func (x *FractionalPercent) GetNumerator() uint32 { if x != nil { return x.Numerator } return 0 } func (x *FractionalPercent) GetDenominator() FractionalPercent_DenominatorType { if x != nil { return x.Denominator } return FractionalPercent_HUNDRED } var File_envoy_type_percent_proto protoreflect.FileDescriptor var file_envoy_type_percent_proto_rawDesc = []byte{ 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x11, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x59, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x0f, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x55, 0x4e, 0x44, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x45, 0x4e, 0x5f, 0x54, 0x48, 0x4f, 0x55, 0x53, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x65, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_percent_proto_rawDescOnce sync.Once file_envoy_type_percent_proto_rawDescData = file_envoy_type_percent_proto_rawDesc ) func file_envoy_type_percent_proto_rawDescGZIP() []byte { file_envoy_type_percent_proto_rawDescOnce.Do(func() { file_envoy_type_percent_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_percent_proto_rawDescData) }) return file_envoy_type_percent_proto_rawDescData } var file_envoy_type_percent_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_percent_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_percent_proto_goTypes = []interface{}{ (FractionalPercent_DenominatorType)(0), // 0: envoy.type.FractionalPercent.DenominatorType (*Percent)(nil), // 1: envoy.type.Percent (*FractionalPercent)(nil), // 2: envoy.type.FractionalPercent } var file_envoy_type_percent_proto_depIdxs = []int32{ 0, // 0: envoy.type.FractionalPercent.denominator:type_name -> envoy.type.FractionalPercent.DenominatorType 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_percent_proto_init() } func file_envoy_type_percent_proto_init() { if File_envoy_type_percent_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_percent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Percent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_percent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FractionalPercent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_percent_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_percent_proto_goTypes, DependencyIndexes: file_envoy_type_percent_proto_depIdxs, EnumInfos: file_envoy_type_percent_proto_enumTypes, MessageInfos: file_envoy_type_percent_proto_msgTypes, }.Build() File_envoy_type_percent_proto = out.File file_envoy_type_percent_proto_rawDesc = nil file_envoy_type_percent_proto_goTypes = nil file_envoy_type_percent_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/percent.pb.validate.go000077500000000000000000000145051454502223200232610ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/percent.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Percent with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Percent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Percent with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PercentMultiError, or nil if none found. func (m *Percent) ValidateAll() error { return m.validate(true) } func (m *Percent) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetValue(); val < 0 || val > 100 { err := PercentValidationError{ field: "Value", reason: "value must be inside range [0, 100]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PercentMultiError(errors) } return nil } // PercentMultiError is an error wrapping multiple validation errors returned // by Percent.ValidateAll() if the designated constraints aren't met. type PercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PercentMultiError) AllErrors() []error { return m } // PercentValidationError is the validation error returned by Percent.Validate // if the designated constraints aren't met. type PercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PercentValidationError) ErrorName() string { return "PercentValidationError" } // Error satisfies the builtin error interface func (e PercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PercentValidationError{} // Validate checks the field values on FractionalPercent with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FractionalPercent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FractionalPercent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FractionalPercentMultiError, or nil if none found. func (m *FractionalPercent) ValidateAll() error { return m.validate(true) } func (m *FractionalPercent) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Numerator if _, ok := FractionalPercent_DenominatorType_name[int32(m.GetDenominator())]; !ok { err := FractionalPercentValidationError{ field: "Denominator", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FractionalPercentMultiError(errors) } return nil } // FractionalPercentMultiError is an error wrapping multiple validation errors // returned by FractionalPercent.ValidateAll() if the designated constraints // aren't met. type FractionalPercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FractionalPercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FractionalPercentMultiError) AllErrors() []error { return m } // FractionalPercentValidationError is the validation error returned by // FractionalPercent.Validate if the designated constraints aren't met. type FractionalPercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FractionalPercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FractionalPercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FractionalPercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FractionalPercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FractionalPercentValidationError) ErrorName() string { return "FractionalPercentValidationError" } // Error satisfies the builtin error interface func (e FractionalPercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFractionalPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FractionalPercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FractionalPercentValidationError{} go-control-plane-0.12.0/envoy/type/range.pb.go000077500000000000000000000231621454502223200211240ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/range.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the int64 start and end of the range using half-open interval semantics [start, // end). type Int64Range struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *Int64Range) Reset() { *x = Int64Range{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_range_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Int64Range) String() string { return protoimpl.X.MessageStringOf(x) } func (*Int64Range) ProtoMessage() {} func (x *Int64Range) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_range_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Int64Range.ProtoReflect.Descriptor instead. func (*Int64Range) Descriptor() ([]byte, []int) { return file_envoy_type_range_proto_rawDescGZIP(), []int{0} } func (x *Int64Range) GetStart() int64 { if x != nil { return x.Start } return 0 } func (x *Int64Range) GetEnd() int64 { if x != nil { return x.End } return 0 } // Specifies the int32 start and end of the range using half-open interval semantics [start, // end). type Int32Range struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *Int32Range) Reset() { *x = Int32Range{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_range_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Int32Range) String() string { return protoimpl.X.MessageStringOf(x) } func (*Int32Range) ProtoMessage() {} func (x *Int32Range) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_range_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Int32Range.ProtoReflect.Descriptor instead. func (*Int32Range) Descriptor() ([]byte, []int) { return file_envoy_type_range_proto_rawDescGZIP(), []int{1} } func (x *Int32Range) GetStart() int32 { if x != nil { return x.Start } return 0 } func (x *Int32Range) GetEnd() int32 { if x != nil { return x.End } return 0 } // Specifies the double start and end of the range using half-open interval semantics [start, // end). type DoubleRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start float64 `protobuf:"fixed64,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End float64 `protobuf:"fixed64,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *DoubleRange) Reset() { *x = DoubleRange{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_range_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleRange) ProtoMessage() {} func (x *DoubleRange) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_range_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DoubleRange.ProtoReflect.Descriptor instead. func (*DoubleRange) Descriptor() ([]byte, []int) { return file_envoy_type_range_proto_rawDescGZIP(), []int{2} } func (x *DoubleRange) GetStart() float64 { if x != nil { return x.Start } return 0 } func (x *DoubleRange) GetEnd() float64 { if x != nil { return x.End } return 0 } var File_envoy_type_range_proto protoreflect.FileDescriptor var file_envoy_type_range_proto_rawDesc = []byte{ 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x34, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x35, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x42, 0x63, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_range_proto_rawDescOnce sync.Once file_envoy_type_range_proto_rawDescData = file_envoy_type_range_proto_rawDesc ) func file_envoy_type_range_proto_rawDescGZIP() []byte { file_envoy_type_range_proto_rawDescOnce.Do(func() { file_envoy_type_range_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_range_proto_rawDescData) }) return file_envoy_type_range_proto_rawDescData } var file_envoy_type_range_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_range_proto_goTypes = []interface{}{ (*Int64Range)(nil), // 0: envoy.type.Int64Range (*Int32Range)(nil), // 1: envoy.type.Int32Range (*DoubleRange)(nil), // 2: envoy.type.DoubleRange } var file_envoy_type_range_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_range_proto_init() } func file_envoy_type_range_proto_init() { if File_envoy_type_range_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_range_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Int64Range); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_range_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Int32Range); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_range_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleRange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_range_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_range_proto_goTypes, DependencyIndexes: file_envoy_type_range_proto_depIdxs, MessageInfos: file_envoy_type_range_proto_msgTypes, }.Build() File_envoy_type_range_proto = out.File file_envoy_type_range_proto_rawDesc = nil file_envoy_type_range_proto_goTypes = nil file_envoy_type_range_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/range.pb.validate.go000077500000000000000000000207561454502223200227220ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/range.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Int64Range with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Int64Range) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Int64Range with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Int64RangeMultiError, or // nil if none found. func (m *Int64Range) ValidateAll() error { return m.validate(true) } func (m *Int64Range) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return Int64RangeMultiError(errors) } return nil } // Int64RangeMultiError is an error wrapping multiple validation errors // returned by Int64Range.ValidateAll() if the designated constraints aren't met. type Int64RangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Int64RangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Int64RangeMultiError) AllErrors() []error { return m } // Int64RangeValidationError is the validation error returned by // Int64Range.Validate if the designated constraints aren't met. type Int64RangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Int64RangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Int64RangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Int64RangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Int64RangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Int64RangeValidationError) ErrorName() string { return "Int64RangeValidationError" } // Error satisfies the builtin error interface func (e Int64RangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInt64Range.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Int64RangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Int64RangeValidationError{} // Validate checks the field values on Int32Range with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Int32Range) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Int32Range with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Int32RangeMultiError, or // nil if none found. func (m *Int32Range) ValidateAll() error { return m.validate(true) } func (m *Int32Range) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return Int32RangeMultiError(errors) } return nil } // Int32RangeMultiError is an error wrapping multiple validation errors // returned by Int32Range.ValidateAll() if the designated constraints aren't met. type Int32RangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Int32RangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Int32RangeMultiError) AllErrors() []error { return m } // Int32RangeValidationError is the validation error returned by // Int32Range.Validate if the designated constraints aren't met. type Int32RangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Int32RangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Int32RangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Int32RangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Int32RangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Int32RangeValidationError) ErrorName() string { return "Int32RangeValidationError" } // Error satisfies the builtin error interface func (e Int32RangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInt32Range.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Int32RangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Int32RangeValidationError{} // Validate checks the field values on DoubleRange with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DoubleRange) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DoubleRange with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DoubleRangeMultiError, or // nil if none found. func (m *DoubleRange) ValidateAll() error { return m.validate(true) } func (m *DoubleRange) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return DoubleRangeMultiError(errors) } return nil } // DoubleRangeMultiError is an error wrapping multiple validation errors // returned by DoubleRange.ValidateAll() if the designated constraints aren't met. type DoubleRangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DoubleRangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DoubleRangeMultiError) AllErrors() []error { return m } // DoubleRangeValidationError is the validation error returned by // DoubleRange.Validate if the designated constraints aren't met. type DoubleRangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DoubleRangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DoubleRangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DoubleRangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DoubleRangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DoubleRangeValidationError) ErrorName() string { return "DoubleRangeValidationError" } // Error satisfies the builtin error interface func (e DoubleRangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDoubleRange.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DoubleRangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DoubleRangeValidationError{} go-control-plane-0.12.0/envoy/type/semantic_version.pb.go000077500000000000000000000151521454502223200234000ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/semantic_version.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy uses SemVer (https://semver.org/). Major/minor versions indicate // expected behaviors and APIs, the patch version field is used only // for security fixes and can be generally ignored. type SemanticVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MajorNumber uint32 `protobuf:"varint,1,opt,name=major_number,json=majorNumber,proto3" json:"major_number,omitempty"` MinorNumber uint32 `protobuf:"varint,2,opt,name=minor_number,json=minorNumber,proto3" json:"minor_number,omitempty"` Patch uint32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"` } func (x *SemanticVersion) Reset() { *x = SemanticVersion{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_semantic_version_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SemanticVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*SemanticVersion) ProtoMessage() {} func (x *SemanticVersion) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_semantic_version_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SemanticVersion.ProtoReflect.Descriptor instead. func (*SemanticVersion) Descriptor() ([]byte, []int) { return file_envoy_type_semantic_version_proto_rawDescGZIP(), []int{0} } func (x *SemanticVersion) GetMajorNumber() uint32 { if x != nil { return x.MajorNumber } return 0 } func (x *SemanticVersion) GetMinorNumber() uint32 { if x != nil { return x.MinorNumber } return 0 } func (x *SemanticVersion) GetPatch() uint32 { if x != nil { return x.Patch } return 0 } var File_envoy_type_semantic_version_proto protoreflect.FileDescriptor var file_envoy_type_semantic_version_proto_rawDesc = []byte{ 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x0f, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x42, 0x6d, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x14, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_semantic_version_proto_rawDescOnce sync.Once file_envoy_type_semantic_version_proto_rawDescData = file_envoy_type_semantic_version_proto_rawDesc ) func file_envoy_type_semantic_version_proto_rawDescGZIP() []byte { file_envoy_type_semantic_version_proto_rawDescOnce.Do(func() { file_envoy_type_semantic_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_semantic_version_proto_rawDescData) }) return file_envoy_type_semantic_version_proto_rawDescData } var file_envoy_type_semantic_version_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_semantic_version_proto_goTypes = []interface{}{ (*SemanticVersion)(nil), // 0: envoy.type.SemanticVersion } var file_envoy_type_semantic_version_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_semantic_version_proto_init() } func file_envoy_type_semantic_version_proto_init() { if File_envoy_type_semantic_version_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_semantic_version_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SemanticVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_semantic_version_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_semantic_version_proto_goTypes, DependencyIndexes: file_envoy_type_semantic_version_proto_depIdxs, MessageInfos: file_envoy_type_semantic_version_proto_msgTypes, }.Build() File_envoy_type_semantic_version_proto = out.File file_envoy_type_semantic_version_proto_rawDesc = nil file_envoy_type_semantic_version_proto_goTypes = nil file_envoy_type_semantic_version_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/semantic_version.pb.validate.go000077500000000000000000000065671454502223200252020ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/semantic_version.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SemanticVersion with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SemanticVersion) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SemanticVersion with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SemanticVersionMultiError, or nil if none found. func (m *SemanticVersion) ValidateAll() error { return m.validate(true) } func (m *SemanticVersion) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MajorNumber // no validation rules for MinorNumber // no validation rules for Patch if len(errors) > 0 { return SemanticVersionMultiError(errors) } return nil } // SemanticVersionMultiError is an error wrapping multiple validation errors // returned by SemanticVersion.ValidateAll() if the designated constraints // aren't met. type SemanticVersionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SemanticVersionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SemanticVersionMultiError) AllErrors() []error { return m } // SemanticVersionValidationError is the validation error returned by // SemanticVersion.Validate if the designated constraints aren't met. type SemanticVersionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SemanticVersionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SemanticVersionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SemanticVersionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SemanticVersionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SemanticVersionValidationError) ErrorName() string { return "SemanticVersionValidationError" } // Error satisfies the builtin error interface func (e SemanticVersionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSemanticVersion.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SemanticVersionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SemanticVersionValidationError{} go-control-plane-0.12.0/envoy/type/token_bucket.pb.go000077500000000000000000000206061454502223200225050ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/token_bucket.proto package _type import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configures a token bucket, typically used for rate limiting. type TokenBucket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket // initially contains. MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"` // The number of tokens added to the bucket during each fill interval. If not specified, defaults // to a single token. TokensPerFill *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=tokens_per_fill,json=tokensPerFill,proto3" json:"tokens_per_fill,omitempty"` // The fill interval that tokens are added to the bucket. During each fill interval // `tokens_per_fill` are added to the bucket. The bucket will never contain more than // `max_tokens` tokens. FillInterval *duration.Duration `protobuf:"bytes,3,opt,name=fill_interval,json=fillInterval,proto3" json:"fill_interval,omitempty"` } func (x *TokenBucket) Reset() { *x = TokenBucket{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_token_bucket_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenBucket) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenBucket) ProtoMessage() {} func (x *TokenBucket) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_token_bucket_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenBucket.ProtoReflect.Descriptor instead. func (*TokenBucket) Descriptor() ([]byte, []int) { return file_envoy_type_token_bucket_proto_rawDescGZIP(), []int{0} } func (x *TokenBucket) GetMaxTokens() uint32 { if x != nil { return x.MaxTokens } return 0 } func (x *TokenBucket) GetTokensPerFill() *wrappers.UInt32Value { if x != nil { return x.TokensPerFill } return nil } func (x *TokenBucket) GetFillInterval() *duration.Duration { if x != nil { return x.FillInterval } return nil } var File_envoy_type_token_bucket_proto protoreflect.FileDescriptor var file_envoy_type_token_bucket_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x69, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x42, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_token_bucket_proto_rawDescOnce sync.Once file_envoy_type_token_bucket_proto_rawDescData = file_envoy_type_token_bucket_proto_rawDesc ) func file_envoy_type_token_bucket_proto_rawDescGZIP() []byte { file_envoy_type_token_bucket_proto_rawDescOnce.Do(func() { file_envoy_type_token_bucket_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_token_bucket_proto_rawDescData) }) return file_envoy_type_token_bucket_proto_rawDescData } var file_envoy_type_token_bucket_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_token_bucket_proto_goTypes = []interface{}{ (*TokenBucket)(nil), // 0: envoy.type.TokenBucket (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_type_token_bucket_proto_depIdxs = []int32{ 1, // 0: envoy.type.TokenBucket.tokens_per_fill:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.type.TokenBucket.fill_interval:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_token_bucket_proto_init() } func file_envoy_type_token_bucket_proto_init() { if File_envoy_type_token_bucket_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_token_bucket_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenBucket); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_token_bucket_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_token_bucket_proto_goTypes, DependencyIndexes: file_envoy_type_token_bucket_proto_depIdxs, MessageInfos: file_envoy_type_token_bucket_proto_msgTypes, }.Build() File_envoy_type_token_bucket_proto = out.File file_envoy_type_token_bucket_proto_rawDesc = nil file_envoy_type_token_bucket_proto_goTypes = nil file_envoy_type_token_bucket_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/token_bucket.pb.validate.go000077500000000000000000000106131454502223200242720ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/token_bucket.proto package _type import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TokenBucket with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TokenBucket) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TokenBucket with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TokenBucketMultiError, or // nil if none found. func (m *TokenBucket) ValidateAll() error { return m.validate(true) } func (m *TokenBucket) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxTokens() <= 0 { err := TokenBucketValidationError{ field: "MaxTokens", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetTokensPerFill(); wrapper != nil { if wrapper.GetValue() <= 0 { err := TokenBucketValidationError{ field: "TokensPerFill", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if m.GetFillInterval() == nil { err := TokenBucketValidationError{ field: "FillInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetFillInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = TokenBucketValidationError{ field: "FillInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := TokenBucketValidationError{ field: "FillInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return TokenBucketMultiError(errors) } return nil } // TokenBucketMultiError is an error wrapping multiple validation errors // returned by TokenBucket.ValidateAll() if the designated constraints aren't met. type TokenBucketMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TokenBucketMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TokenBucketMultiError) AllErrors() []error { return m } // TokenBucketValidationError is the validation error returned by // TokenBucket.Validate if the designated constraints aren't met. type TokenBucketValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TokenBucketValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TokenBucketValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TokenBucketValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TokenBucketValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TokenBucketValidationError) ErrorName() string { return "TokenBucketValidationError" } // Error satisfies the builtin error interface func (e TokenBucketValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTokenBucket.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TokenBucketValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TokenBucketValidationError{} go-control-plane-0.12.0/envoy/type/tracing/000077500000000000000000000000001454502223200205215ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/tracing/v2/000077500000000000000000000000001454502223200210505ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/tracing/v2/custom_tag.pb.go000077500000000000000000000541511454502223200241550ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/tracing/v2/custom_tag.proto package tracingv2 import ( _ "github.com/cncf/xds/go/udpa/annotations" v2 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v2" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Describes custom tags for the active span. // [#next-free-field: 6] type CustomTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Used to populate the tag name. Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` // Used to specify what kind of custom tag. // // Types that are assignable to Type: // // *CustomTag_Literal_ // *CustomTag_Environment_ // *CustomTag_RequestHeader // *CustomTag_Metadata_ Type isCustomTag_Type `protobuf_oneof:"type"` } func (x *CustomTag) Reset() { *x = CustomTag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag) ProtoMessage() {} func (x *CustomTag) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag.ProtoReflect.Descriptor instead. func (*CustomTag) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP(), []int{0} } func (x *CustomTag) GetTag() string { if x != nil { return x.Tag } return "" } func (m *CustomTag) GetType() isCustomTag_Type { if m != nil { return m.Type } return nil } func (x *CustomTag) GetLiteral() *CustomTag_Literal { if x, ok := x.GetType().(*CustomTag_Literal_); ok { return x.Literal } return nil } func (x *CustomTag) GetEnvironment() *CustomTag_Environment { if x, ok := x.GetType().(*CustomTag_Environment_); ok { return x.Environment } return nil } func (x *CustomTag) GetRequestHeader() *CustomTag_Header { if x, ok := x.GetType().(*CustomTag_RequestHeader); ok { return x.RequestHeader } return nil } func (x *CustomTag) GetMetadata() *CustomTag_Metadata { if x, ok := x.GetType().(*CustomTag_Metadata_); ok { return x.Metadata } return nil } type isCustomTag_Type interface { isCustomTag_Type() } type CustomTag_Literal_ struct { // A literal custom tag. Literal *CustomTag_Literal `protobuf:"bytes,2,opt,name=literal,proto3,oneof"` } type CustomTag_Environment_ struct { // An environment custom tag. Environment *CustomTag_Environment `protobuf:"bytes,3,opt,name=environment,proto3,oneof"` } type CustomTag_RequestHeader struct { // A request header custom tag. RequestHeader *CustomTag_Header `protobuf:"bytes,4,opt,name=request_header,json=requestHeader,proto3,oneof"` } type CustomTag_Metadata_ struct { // A custom tag to obtain tag value from the metadata. Metadata *CustomTag_Metadata `protobuf:"bytes,5,opt,name=metadata,proto3,oneof"` } func (*CustomTag_Literal_) isCustomTag_Type() {} func (*CustomTag_Environment_) isCustomTag_Type() {} func (*CustomTag_RequestHeader) isCustomTag_Type() {} func (*CustomTag_Metadata_) isCustomTag_Type() {} // Literal type custom tag with static value for the tag value. type CustomTag_Literal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Static literal value to populate the tag value. Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *CustomTag_Literal) Reset() { *x = CustomTag_Literal{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Literal) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Literal) ProtoMessage() {} func (x *CustomTag_Literal) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Literal.ProtoReflect.Descriptor instead. func (*CustomTag_Literal) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP(), []int{0, 0} } func (x *CustomTag_Literal) GetValue() string { if x != nil { return x.Value } return "" } // Environment type custom tag with environment name and default value. type CustomTag_Environment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Environment variable name to obtain the value to populate the tag value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When the environment variable is not found, // the tag value will be populated with this default value if specified, // otherwise no tag will be populated. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Environment) Reset() { *x = CustomTag_Environment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Environment) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Environment) ProtoMessage() {} func (x *CustomTag_Environment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Environment.ProtoReflect.Descriptor instead. func (*CustomTag_Environment) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP(), []int{0, 1} } func (x *CustomTag_Environment) GetName() string { if x != nil { return x.Name } return "" } func (x *CustomTag_Environment) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } // Header type custom tag with header name and default value. type CustomTag_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name to obtain the value to populate the tag value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When the header does not exist, // the tag value will be populated with this default value if specified, // otherwise no tag will be populated. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Header) Reset() { *x = CustomTag_Header{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Header) ProtoMessage() {} func (x *CustomTag_Header) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Header.ProtoReflect.Descriptor instead. func (*CustomTag_Header) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP(), []int{0, 2} } func (x *CustomTag_Header) GetName() string { if x != nil { return x.Name } return "" } func (x *CustomTag_Header) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } // Metadata type custom tag using // :ref:`MetadataKey ` to retrieve the protobuf value // from :ref:`Metadata `, and populate the tag value with // `the canonical JSON `_ // representation of it. type CustomTag_Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify what kind of metadata to obtain tag value from. Kind *v2.MetadataKind `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` // Metadata key to define the path to retrieve the tag value. MetadataKey *v2.MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // When no valid metadata is found, // the tag value would be populated with this default value if specified, // otherwise no tag would be populated. DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Metadata) Reset() { *x = CustomTag_Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Metadata) ProtoMessage() {} func (x *CustomTag_Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Metadata.ProtoReflect.Descriptor instead. func (*CustomTag_Metadata) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP(), []int{0, 3} } func (x *CustomTag_Metadata) GetKind() *v2.MetadataKind { if x != nil { return x.Kind } return nil } func (x *CustomTag_Metadata) GetMetadataKey() *v2.MetadataKey { if x != nil { return x.MetadataKey } return nil } func (x *CustomTag_Metadata) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } var File_envoy_type_tracing_v2_custom_tag_proto protoreflect.FileDescriptor var file_envoy_type_tracing_v2_custom_tag_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x05, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x44, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x28, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4f, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x50, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xb1, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_tracing_v2_custom_tag_proto_rawDescOnce sync.Once file_envoy_type_tracing_v2_custom_tag_proto_rawDescData = file_envoy_type_tracing_v2_custom_tag_proto_rawDesc ) func file_envoy_type_tracing_v2_custom_tag_proto_rawDescGZIP() []byte { file_envoy_type_tracing_v2_custom_tag_proto_rawDescOnce.Do(func() { file_envoy_type_tracing_v2_custom_tag_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_tracing_v2_custom_tag_proto_rawDescData) }) return file_envoy_type_tracing_v2_custom_tag_proto_rawDescData } var file_envoy_type_tracing_v2_custom_tag_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_type_tracing_v2_custom_tag_proto_goTypes = []interface{}{ (*CustomTag)(nil), // 0: envoy.type.tracing.v2.CustomTag (*CustomTag_Literal)(nil), // 1: envoy.type.tracing.v2.CustomTag.Literal (*CustomTag_Environment)(nil), // 2: envoy.type.tracing.v2.CustomTag.Environment (*CustomTag_Header)(nil), // 3: envoy.type.tracing.v2.CustomTag.Header (*CustomTag_Metadata)(nil), // 4: envoy.type.tracing.v2.CustomTag.Metadata (*v2.MetadataKind)(nil), // 5: envoy.type.metadata.v2.MetadataKind (*v2.MetadataKey)(nil), // 6: envoy.type.metadata.v2.MetadataKey } var file_envoy_type_tracing_v2_custom_tag_proto_depIdxs = []int32{ 1, // 0: envoy.type.tracing.v2.CustomTag.literal:type_name -> envoy.type.tracing.v2.CustomTag.Literal 2, // 1: envoy.type.tracing.v2.CustomTag.environment:type_name -> envoy.type.tracing.v2.CustomTag.Environment 3, // 2: envoy.type.tracing.v2.CustomTag.request_header:type_name -> envoy.type.tracing.v2.CustomTag.Header 4, // 3: envoy.type.tracing.v2.CustomTag.metadata:type_name -> envoy.type.tracing.v2.CustomTag.Metadata 5, // 4: envoy.type.tracing.v2.CustomTag.Metadata.kind:type_name -> envoy.type.metadata.v2.MetadataKind 6, // 5: envoy.type.tracing.v2.CustomTag.Metadata.metadata_key:type_name -> envoy.type.metadata.v2.MetadataKey 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_type_tracing_v2_custom_tag_proto_init() } func file_envoy_type_tracing_v2_custom_tag_proto_init() { if File_envoy_type_tracing_v2_custom_tag_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Literal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Environment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_tracing_v2_custom_tag_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CustomTag_Literal_)(nil), (*CustomTag_Environment_)(nil), (*CustomTag_RequestHeader)(nil), (*CustomTag_Metadata_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_tracing_v2_custom_tag_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_tracing_v2_custom_tag_proto_goTypes, DependencyIndexes: file_envoy_type_tracing_v2_custom_tag_proto_depIdxs, MessageInfos: file_envoy_type_tracing_v2_custom_tag_proto_msgTypes, }.Build() File_envoy_type_tracing_v2_custom_tag_proto = out.File file_envoy_type_tracing_v2_custom_tag_proto_rawDesc = nil file_envoy_type_tracing_v2_custom_tag_proto_goTypes = nil file_envoy_type_tracing_v2_custom_tag_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/tracing/v2/custom_tag.pb.validate.go000077500000000000000000000532641454502223200257510ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/tracing/v2/custom_tag.proto package tracingv2 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CustomTag with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CustomTag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CustomTagMultiError, or nil // if none found. func (m *CustomTag) ValidateAll() error { return m.validate(true) } func (m *CustomTag) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetTag()) < 1 { err := CustomTagValidationError{ field: "Tag", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } oneofTypePresent := false switch v := m.Type.(type) { case *CustomTag_Literal_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetLiteral()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLiteral()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_Environment_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetEnvironment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvironment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_RequestHeader: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetRequestHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_Metadata_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTypePresent { err := CustomTagValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CustomTagMultiError(errors) } return nil } // CustomTagMultiError is an error wrapping multiple validation errors returned // by CustomTag.ValidateAll() if the designated constraints aren't met. type CustomTagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTagMultiError) AllErrors() []error { return m } // CustomTagValidationError is the validation error returned by // CustomTag.Validate if the designated constraints aren't met. type CustomTagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTagValidationError) ErrorName() string { return "CustomTagValidationError" } // Error satisfies the builtin error interface func (e CustomTagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTagValidationError{} // Validate checks the field values on CustomTag_Literal with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Literal) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Literal with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_LiteralMultiError, or nil if none found. func (m *CustomTag_Literal) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Literal) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetValue()) < 1 { err := CustomTag_LiteralValidationError{ field: "Value", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CustomTag_LiteralMultiError(errors) } return nil } // CustomTag_LiteralMultiError is an error wrapping multiple validation errors // returned by CustomTag_Literal.ValidateAll() if the designated constraints // aren't met. type CustomTag_LiteralMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_LiteralMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_LiteralMultiError) AllErrors() []error { return m } // CustomTag_LiteralValidationError is the validation error returned by // CustomTag_Literal.Validate if the designated constraints aren't met. type CustomTag_LiteralValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_LiteralValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_LiteralValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_LiteralValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_LiteralValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_LiteralValidationError) ErrorName() string { return "CustomTag_LiteralValidationError" } // Error satisfies the builtin error interface func (e CustomTag_LiteralValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Literal.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_LiteralValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_LiteralValidationError{} // Validate checks the field values on CustomTag_Environment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Environment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Environment with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_EnvironmentMultiError, or nil if none found. func (m *CustomTag_Environment) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Environment) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := CustomTag_EnvironmentValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_EnvironmentMultiError(errors) } return nil } // CustomTag_EnvironmentMultiError is an error wrapping multiple validation // errors returned by CustomTag_Environment.ValidateAll() if the designated // constraints aren't met. type CustomTag_EnvironmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_EnvironmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_EnvironmentMultiError) AllErrors() []error { return m } // CustomTag_EnvironmentValidationError is the validation error returned by // CustomTag_Environment.Validate if the designated constraints aren't met. type CustomTag_EnvironmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_EnvironmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_EnvironmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_EnvironmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_EnvironmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_EnvironmentValidationError) ErrorName() string { return "CustomTag_EnvironmentValidationError" } // Error satisfies the builtin error interface func (e CustomTag_EnvironmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Environment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_EnvironmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_EnvironmentValidationError{} // Validate checks the field values on CustomTag_Header with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Header) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Header with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_HeaderMultiError, or nil if none found. func (m *CustomTag_Header) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Header) validate(all bool) error { if m == nil { return nil } var errors []error if len(m.GetName()) < 1 { err := CustomTag_HeaderValidationError{ field: "Name", reason: "value length must be at least 1 bytes", } if !all { return err } errors = append(errors, err) } if !_CustomTag_Header_Name_Pattern.MatchString(m.GetName()) { err := CustomTag_HeaderValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_HeaderMultiError(errors) } return nil } // CustomTag_HeaderMultiError is an error wrapping multiple validation errors // returned by CustomTag_Header.ValidateAll() if the designated constraints // aren't met. type CustomTag_HeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_HeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_HeaderMultiError) AllErrors() []error { return m } // CustomTag_HeaderValidationError is the validation error returned by // CustomTag_Header.Validate if the designated constraints aren't met. type CustomTag_HeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_HeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_HeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_HeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_HeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_HeaderValidationError) ErrorName() string { return "CustomTag_HeaderValidationError" } // Error satisfies the builtin error interface func (e CustomTag_HeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Header.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_HeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_HeaderValidationError{} var _CustomTag_Header_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on CustomTag_Metadata with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Metadata with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_MetadataMultiError, or nil if none found. func (m *CustomTag_Metadata) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Metadata) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetKind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_MetadataMultiError(errors) } return nil } // CustomTag_MetadataMultiError is an error wrapping multiple validation errors // returned by CustomTag_Metadata.ValidateAll() if the designated constraints // aren't met. type CustomTag_MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_MetadataMultiError) AllErrors() []error { return m } // CustomTag_MetadataValidationError is the validation error returned by // CustomTag_Metadata.Validate if the designated constraints aren't met. type CustomTag_MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_MetadataValidationError) ErrorName() string { return "CustomTag_MetadataValidationError" } // Error satisfies the builtin error interface func (e CustomTag_MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Metadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_MetadataValidationError{} go-control-plane-0.12.0/envoy/type/tracing/v3/000077500000000000000000000000001454502223200210515ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/tracing/v3/custom_tag.pb.go000077500000000000000000000573521454502223200241640ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/tracing/v3/custom_tag.proto package tracingv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" v3 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Describes custom tags for the active span. // [#next-free-field: 6] type CustomTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Used to populate the tag name. Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` // Used to specify what kind of custom tag. // // Types that are assignable to Type: // // *CustomTag_Literal_ // *CustomTag_Environment_ // *CustomTag_RequestHeader // *CustomTag_Metadata_ Type isCustomTag_Type `protobuf_oneof:"type"` } func (x *CustomTag) Reset() { *x = CustomTag{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag) ProtoMessage() {} func (x *CustomTag) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag.ProtoReflect.Descriptor instead. func (*CustomTag) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP(), []int{0} } func (x *CustomTag) GetTag() string { if x != nil { return x.Tag } return "" } func (m *CustomTag) GetType() isCustomTag_Type { if m != nil { return m.Type } return nil } func (x *CustomTag) GetLiteral() *CustomTag_Literal { if x, ok := x.GetType().(*CustomTag_Literal_); ok { return x.Literal } return nil } func (x *CustomTag) GetEnvironment() *CustomTag_Environment { if x, ok := x.GetType().(*CustomTag_Environment_); ok { return x.Environment } return nil } func (x *CustomTag) GetRequestHeader() *CustomTag_Header { if x, ok := x.GetType().(*CustomTag_RequestHeader); ok { return x.RequestHeader } return nil } func (x *CustomTag) GetMetadata() *CustomTag_Metadata { if x, ok := x.GetType().(*CustomTag_Metadata_); ok { return x.Metadata } return nil } type isCustomTag_Type interface { isCustomTag_Type() } type CustomTag_Literal_ struct { // A literal custom tag. Literal *CustomTag_Literal `protobuf:"bytes,2,opt,name=literal,proto3,oneof"` } type CustomTag_Environment_ struct { // An environment custom tag. Environment *CustomTag_Environment `protobuf:"bytes,3,opt,name=environment,proto3,oneof"` } type CustomTag_RequestHeader struct { // A request header custom tag. RequestHeader *CustomTag_Header `protobuf:"bytes,4,opt,name=request_header,json=requestHeader,proto3,oneof"` } type CustomTag_Metadata_ struct { // A custom tag to obtain tag value from the metadata. Metadata *CustomTag_Metadata `protobuf:"bytes,5,opt,name=metadata,proto3,oneof"` } func (*CustomTag_Literal_) isCustomTag_Type() {} func (*CustomTag_Environment_) isCustomTag_Type() {} func (*CustomTag_RequestHeader) isCustomTag_Type() {} func (*CustomTag_Metadata_) isCustomTag_Type() {} // Literal type custom tag with static value for the tag value. type CustomTag_Literal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Static literal value to populate the tag value. Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *CustomTag_Literal) Reset() { *x = CustomTag_Literal{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Literal) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Literal) ProtoMessage() {} func (x *CustomTag_Literal) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Literal.ProtoReflect.Descriptor instead. func (*CustomTag_Literal) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP(), []int{0, 0} } func (x *CustomTag_Literal) GetValue() string { if x != nil { return x.Value } return "" } // Environment type custom tag with environment name and default value. type CustomTag_Environment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Environment variable name to obtain the value to populate the tag value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When the environment variable is not found, // the tag value will be populated with this default value if specified, // otherwise no tag will be populated. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Environment) Reset() { *x = CustomTag_Environment{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Environment) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Environment) ProtoMessage() {} func (x *CustomTag_Environment) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Environment.ProtoReflect.Descriptor instead. func (*CustomTag_Environment) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP(), []int{0, 1} } func (x *CustomTag_Environment) GetName() string { if x != nil { return x.Name } return "" } func (x *CustomTag_Environment) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } // Header type custom tag with header name and default value. type CustomTag_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Header name to obtain the value to populate the tag value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // When the header does not exist, // the tag value will be populated with this default value if specified, // otherwise no tag will be populated. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Header) Reset() { *x = CustomTag_Header{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Header) ProtoMessage() {} func (x *CustomTag_Header) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Header.ProtoReflect.Descriptor instead. func (*CustomTag_Header) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP(), []int{0, 2} } func (x *CustomTag_Header) GetName() string { if x != nil { return x.Name } return "" } func (x *CustomTag_Header) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } // Metadata type custom tag using // :ref:`MetadataKey ` to retrieve the protobuf value // from :ref:`Metadata `, and populate the tag value with // `the canonical JSON `_ // representation of it. type CustomTag_Metadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specify what kind of metadata to obtain tag value from. Kind *v3.MetadataKind `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` // Metadata key to define the path to retrieve the tag value. MetadataKey *v3.MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // When no valid metadata is found, // the tag value would be populated with this default value if specified, // otherwise no tag would be populated. DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` } func (x *CustomTag_Metadata) Reset() { *x = CustomTag_Metadata{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CustomTag_Metadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*CustomTag_Metadata) ProtoMessage() {} func (x *CustomTag_Metadata) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CustomTag_Metadata.ProtoReflect.Descriptor instead. func (*CustomTag_Metadata) Descriptor() ([]byte, []int) { return file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP(), []int{0, 3} } func (x *CustomTag_Metadata) GetKind() *v3.MetadataKind { if x != nil { return x.Kind } return nil } func (x *CustomTag_Metadata) GetMetadataKey() *v3.MetadataKey { if x != nil { return x.MetadataKey } return nil } func (x *CustomTag_Metadata) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } var File_envoy_type_tracing_v3_custom_tag_proto protoreflect.FileDescriptor var file_envoy_type_tracing_v3_custom_tag_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x07, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x44, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x58, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x2e, 0x9a, 0xc5, 0x88, 0x1e, 0x29, 0x0a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x1a, 0x83, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x7f, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0xc8, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x2d, 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xe2, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x26, 0x9a, 0xc5, 0x88, 0x1e, 0x21, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x42, 0x0b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x87, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_tracing_v3_custom_tag_proto_rawDescOnce sync.Once file_envoy_type_tracing_v3_custom_tag_proto_rawDescData = file_envoy_type_tracing_v3_custom_tag_proto_rawDesc ) func file_envoy_type_tracing_v3_custom_tag_proto_rawDescGZIP() []byte { file_envoy_type_tracing_v3_custom_tag_proto_rawDescOnce.Do(func() { file_envoy_type_tracing_v3_custom_tag_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_tracing_v3_custom_tag_proto_rawDescData) }) return file_envoy_type_tracing_v3_custom_tag_proto_rawDescData } var file_envoy_type_tracing_v3_custom_tag_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_type_tracing_v3_custom_tag_proto_goTypes = []interface{}{ (*CustomTag)(nil), // 0: envoy.type.tracing.v3.CustomTag (*CustomTag_Literal)(nil), // 1: envoy.type.tracing.v3.CustomTag.Literal (*CustomTag_Environment)(nil), // 2: envoy.type.tracing.v3.CustomTag.Environment (*CustomTag_Header)(nil), // 3: envoy.type.tracing.v3.CustomTag.Header (*CustomTag_Metadata)(nil), // 4: envoy.type.tracing.v3.CustomTag.Metadata (*v3.MetadataKind)(nil), // 5: envoy.type.metadata.v3.MetadataKind (*v3.MetadataKey)(nil), // 6: envoy.type.metadata.v3.MetadataKey } var file_envoy_type_tracing_v3_custom_tag_proto_depIdxs = []int32{ 1, // 0: envoy.type.tracing.v3.CustomTag.literal:type_name -> envoy.type.tracing.v3.CustomTag.Literal 2, // 1: envoy.type.tracing.v3.CustomTag.environment:type_name -> envoy.type.tracing.v3.CustomTag.Environment 3, // 2: envoy.type.tracing.v3.CustomTag.request_header:type_name -> envoy.type.tracing.v3.CustomTag.Header 4, // 3: envoy.type.tracing.v3.CustomTag.metadata:type_name -> envoy.type.tracing.v3.CustomTag.Metadata 5, // 4: envoy.type.tracing.v3.CustomTag.Metadata.kind:type_name -> envoy.type.metadata.v3.MetadataKind 6, // 5: envoy.type.tracing.v3.CustomTag.Metadata.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_type_tracing_v3_custom_tag_proto_init() } func file_envoy_type_tracing_v3_custom_tag_proto_init() { if File_envoy_type_tracing_v3_custom_tag_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Literal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Environment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomTag_Metadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_tracing_v3_custom_tag_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CustomTag_Literal_)(nil), (*CustomTag_Environment_)(nil), (*CustomTag_RequestHeader)(nil), (*CustomTag_Metadata_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_tracing_v3_custom_tag_proto_rawDesc, NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_tracing_v3_custom_tag_proto_goTypes, DependencyIndexes: file_envoy_type_tracing_v3_custom_tag_proto_depIdxs, MessageInfos: file_envoy_type_tracing_v3_custom_tag_proto_msgTypes, }.Build() File_envoy_type_tracing_v3_custom_tag_proto = out.File file_envoy_type_tracing_v3_custom_tag_proto_rawDesc = nil file_envoy_type_tracing_v3_custom_tag_proto_goTypes = nil file_envoy_type_tracing_v3_custom_tag_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/tracing/v3/custom_tag.pb.validate.go000077500000000000000000000534001454502223200257420ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/tracing/v3/custom_tag.proto package tracingv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on CustomTag with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *CustomTag) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in CustomTagMultiError, or nil // if none found. func (m *CustomTag) ValidateAll() error { return m.validate(true) } func (m *CustomTag) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetTag()) < 1 { err := CustomTagValidationError{ field: "Tag", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } oneofTypePresent := false switch v := m.Type.(type) { case *CustomTag_Literal_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetLiteral()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetLiteral()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Literal", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_Environment_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetEnvironment()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetEnvironment()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Environment", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_RequestHeader: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetRequestHeader()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestHeader()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "RequestHeader", reason: "embedded message failed validation", cause: err, } } } case *CustomTag_Metadata_: if v == nil { err := CustomTagValidationError{ field: "Type", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofTypePresent = true if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTagValidationError{ field: "Metadata", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofTypePresent { err := CustomTagValidationError{ field: "Type", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CustomTagMultiError(errors) } return nil } // CustomTagMultiError is an error wrapping multiple validation errors returned // by CustomTag.ValidateAll() if the designated constraints aren't met. type CustomTagMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTagMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTagMultiError) AllErrors() []error { return m } // CustomTagValidationError is the validation error returned by // CustomTag.Validate if the designated constraints aren't met. type CustomTagValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTagValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTagValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTagValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTagValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTagValidationError) ErrorName() string { return "CustomTagValidationError" } // Error satisfies the builtin error interface func (e CustomTagValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTagValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTagValidationError{} // Validate checks the field values on CustomTag_Literal with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Literal) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Literal with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_LiteralMultiError, or nil if none found. func (m *CustomTag_Literal) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Literal) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetValue()) < 1 { err := CustomTag_LiteralValidationError{ field: "Value", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return CustomTag_LiteralMultiError(errors) } return nil } // CustomTag_LiteralMultiError is an error wrapping multiple validation errors // returned by CustomTag_Literal.ValidateAll() if the designated constraints // aren't met. type CustomTag_LiteralMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_LiteralMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_LiteralMultiError) AllErrors() []error { return m } // CustomTag_LiteralValidationError is the validation error returned by // CustomTag_Literal.Validate if the designated constraints aren't met. type CustomTag_LiteralValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_LiteralValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_LiteralValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_LiteralValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_LiteralValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_LiteralValidationError) ErrorName() string { return "CustomTag_LiteralValidationError" } // Error satisfies the builtin error interface func (e CustomTag_LiteralValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Literal.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_LiteralValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_LiteralValidationError{} // Validate checks the field values on CustomTag_Environment with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Environment) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Environment with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_EnvironmentMultiError, or nil if none found. func (m *CustomTag_Environment) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Environment) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := CustomTag_EnvironmentValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_EnvironmentMultiError(errors) } return nil } // CustomTag_EnvironmentMultiError is an error wrapping multiple validation // errors returned by CustomTag_Environment.ValidateAll() if the designated // constraints aren't met. type CustomTag_EnvironmentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_EnvironmentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_EnvironmentMultiError) AllErrors() []error { return m } // CustomTag_EnvironmentValidationError is the validation error returned by // CustomTag_Environment.Validate if the designated constraints aren't met. type CustomTag_EnvironmentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_EnvironmentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_EnvironmentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_EnvironmentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_EnvironmentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_EnvironmentValidationError) ErrorName() string { return "CustomTag_EnvironmentValidationError" } // Error satisfies the builtin error interface func (e CustomTag_EnvironmentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Environment.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_EnvironmentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_EnvironmentValidationError{} // Validate checks the field values on CustomTag_Header with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Header) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Header with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_HeaderMultiError, or nil if none found. func (m *CustomTag_Header) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Header) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetName()) < 1 { err := CustomTag_HeaderValidationError{ field: "Name", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if !_CustomTag_Header_Name_Pattern.MatchString(m.GetName()) { err := CustomTag_HeaderValidationError{ field: "Name", reason: "value does not match regex pattern \"^[^\\x00\\n\\r]*$\"", } if !all { return err } errors = append(errors, err) } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_HeaderMultiError(errors) } return nil } // CustomTag_HeaderMultiError is an error wrapping multiple validation errors // returned by CustomTag_Header.ValidateAll() if the designated constraints // aren't met. type CustomTag_HeaderMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_HeaderMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_HeaderMultiError) AllErrors() []error { return m } // CustomTag_HeaderValidationError is the validation error returned by // CustomTag_Header.Validate if the designated constraints aren't met. type CustomTag_HeaderValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_HeaderValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_HeaderValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_HeaderValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_HeaderValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_HeaderValidationError) ErrorName() string { return "CustomTag_HeaderValidationError" } // Error satisfies the builtin error interface func (e CustomTag_HeaderValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Header.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_HeaderValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_HeaderValidationError{} var _CustomTag_Header_Name_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") // Validate checks the field values on CustomTag_Metadata with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *CustomTag_Metadata) Validate() error { return m.validate(false) } // ValidateAll checks the field values on CustomTag_Metadata with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // CustomTag_MetadataMultiError, or nil if none found. func (m *CustomTag_Metadata) ValidateAll() error { return m.validate(true) } func (m *CustomTag_Metadata) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetKind()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetKind()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTag_MetadataValidationError{ field: "Kind", reason: "embedded message failed validation", cause: err, } } } if all { switch v := interface{}(m.GetMetadataKey()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetMetadataKey()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return CustomTag_MetadataValidationError{ field: "MetadataKey", reason: "embedded message failed validation", cause: err, } } } // no validation rules for DefaultValue if len(errors) > 0 { return CustomTag_MetadataMultiError(errors) } return nil } // CustomTag_MetadataMultiError is an error wrapping multiple validation errors // returned by CustomTag_Metadata.ValidateAll() if the designated constraints // aren't met. type CustomTag_MetadataMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m CustomTag_MetadataMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m CustomTag_MetadataMultiError) AllErrors() []error { return m } // CustomTag_MetadataValidationError is the validation error returned by // CustomTag_Metadata.Validate if the designated constraints aren't met. type CustomTag_MetadataValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e CustomTag_MetadataValidationError) Field() string { return e.field } // Reason function returns reason value. func (e CustomTag_MetadataValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e CustomTag_MetadataValidationError) Cause() error { return e.cause } // Key function returns key value. func (e CustomTag_MetadataValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e CustomTag_MetadataValidationError) ErrorName() string { return "CustomTag_MetadataValidationError" } // Error satisfies the builtin error interface func (e CustomTag_MetadataValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sCustomTag_Metadata.%s: %s%s", key, e.field, e.reason, cause) } var _ error = CustomTag_MetadataValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = CustomTag_MetadataValidationError{} go-control-plane-0.12.0/envoy/type/v3/000077500000000000000000000000001454502223200174225ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/type/v3/hash_policy.pb.go000077500000000000000000000304231454502223200226600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/hash_policy.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the hash policy type HashPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to PolicySpecifier: // // *HashPolicy_SourceIp_ // *HashPolicy_FilterState_ PolicySpecifier isHashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"` } func (x *HashPolicy) Reset() { *x = HashPolicy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HashPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*HashPolicy) ProtoMessage() {} func (x *HashPolicy) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HashPolicy.ProtoReflect.Descriptor instead. func (*HashPolicy) Descriptor() ([]byte, []int) { return file_envoy_type_v3_hash_policy_proto_rawDescGZIP(), []int{0} } func (m *HashPolicy) GetPolicySpecifier() isHashPolicy_PolicySpecifier { if m != nil { return m.PolicySpecifier } return nil } func (x *HashPolicy) GetSourceIp() *HashPolicy_SourceIp { if x, ok := x.GetPolicySpecifier().(*HashPolicy_SourceIp_); ok { return x.SourceIp } return nil } func (x *HashPolicy) GetFilterState() *HashPolicy_FilterState { if x, ok := x.GetPolicySpecifier().(*HashPolicy_FilterState_); ok { return x.FilterState } return nil } type isHashPolicy_PolicySpecifier interface { isHashPolicy_PolicySpecifier() } type HashPolicy_SourceIp_ struct { SourceIp *HashPolicy_SourceIp `protobuf:"bytes,1,opt,name=source_ip,json=sourceIp,proto3,oneof"` } type HashPolicy_FilterState_ struct { FilterState *HashPolicy_FilterState `protobuf:"bytes,2,opt,name=filter_state,json=filterState,proto3,oneof"` } func (*HashPolicy_SourceIp_) isHashPolicy_PolicySpecifier() {} func (*HashPolicy_FilterState_) isHashPolicy_PolicySpecifier() {} // The source IP will be used to compute the hash used by hash-based load balancing // algorithms. type HashPolicy_SourceIp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HashPolicy_SourceIp) Reset() { *x = HashPolicy_SourceIp{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HashPolicy_SourceIp) String() string { return protoimpl.X.MessageStringOf(x) } func (*HashPolicy_SourceIp) ProtoMessage() {} func (x *HashPolicy_SourceIp) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HashPolicy_SourceIp.ProtoReflect.Descriptor instead. func (*HashPolicy_SourceIp) Descriptor() ([]byte, []int) { return file_envoy_type_v3_hash_policy_proto_rawDescGZIP(), []int{0, 0} } // An Object in the :ref:`filterState ` will be used // to compute the hash used by hash-based load balancing algorithms. type HashPolicy_FilterState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the Object in the filterState, which is an Envoy::Hashable object. If there is no // data associated with the key, or the stored object is not Envoy::Hashable, no hash will be // produced. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` } func (x *HashPolicy_FilterState) Reset() { *x = HashPolicy_FilterState{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HashPolicy_FilterState) String() string { return protoimpl.X.MessageStringOf(x) } func (*HashPolicy_FilterState) ProtoMessage() {} func (x *HashPolicy_FilterState) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_hash_policy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HashPolicy_FilterState.ProtoReflect.Descriptor instead. func (*HashPolicy_FilterState) Descriptor() ([]byte, []int) { return file_envoy_type_v3_hash_policy_proto_rawDescGZIP(), []int{0, 1} } func (x *HashPolicy_FilterState) GetKey() string { if x != nil { return x.Key } return "" } var File_envoy_type_v3_hash_policy_proto protoreflect.FileDescriptor var file_envoy_type_v3_hash_policy_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x02, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x4a, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x31, 0x0a, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x3a, 0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x1a, 0x28, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x17, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x75, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_hash_policy_proto_rawDescOnce sync.Once file_envoy_type_v3_hash_policy_proto_rawDescData = file_envoy_type_v3_hash_policy_proto_rawDesc ) func file_envoy_type_v3_hash_policy_proto_rawDescGZIP() []byte { file_envoy_type_v3_hash_policy_proto_rawDescOnce.Do(func() { file_envoy_type_v3_hash_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_hash_policy_proto_rawDescData) }) return file_envoy_type_v3_hash_policy_proto_rawDescData } var file_envoy_type_v3_hash_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_v3_hash_policy_proto_goTypes = []interface{}{ (*HashPolicy)(nil), // 0: envoy.type.v3.HashPolicy (*HashPolicy_SourceIp)(nil), // 1: envoy.type.v3.HashPolicy.SourceIp (*HashPolicy_FilterState)(nil), // 2: envoy.type.v3.HashPolicy.FilterState } var file_envoy_type_v3_hash_policy_proto_depIdxs = []int32{ 1, // 0: envoy.type.v3.HashPolicy.source_ip:type_name -> envoy.type.v3.HashPolicy.SourceIp 2, // 1: envoy.type.v3.HashPolicy.filter_state:type_name -> envoy.type.v3.HashPolicy.FilterState 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_v3_hash_policy_proto_init() } func file_envoy_type_v3_hash_policy_proto_init() { if File_envoy_type_v3_hash_policy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_hash_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HashPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_hash_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HashPolicy_SourceIp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_hash_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HashPolicy_FilterState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_v3_hash_policy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*HashPolicy_SourceIp_)(nil), (*HashPolicy_FilterState_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_hash_policy_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_hash_policy_proto_goTypes, DependencyIndexes: file_envoy_type_v3_hash_policy_proto_depIdxs, MessageInfos: file_envoy_type_v3_hash_policy_proto_msgTypes, }.Build() File_envoy_type_v3_hash_policy_proto = out.File file_envoy_type_v3_hash_policy_proto_rawDesc = nil file_envoy_type_v3_hash_policy_proto_goTypes = nil file_envoy_type_v3_hash_policy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/hash_policy.pb.validate.go000077500000000000000000000270421454502223200244530ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/hash_policy.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HashPolicy with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HashPolicy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HashPolicy with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HashPolicyMultiError, or // nil if none found. func (m *HashPolicy) ValidateAll() error { return m.validate(true) } func (m *HashPolicy) validate(all bool) error { if m == nil { return nil } var errors []error oneofPolicySpecifierPresent := false switch v := m.PolicySpecifier.(type) { case *HashPolicy_SourceIp_: if v == nil { err := HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetSourceIp()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetSourceIp()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HashPolicyValidationError{ field: "SourceIp", reason: "embedded message failed validation", cause: err, } } } case *HashPolicy_FilterState_: if v == nil { err := HashPolicyValidationError{ field: "PolicySpecifier", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofPolicySpecifierPresent = true if all { switch v := interface{}(m.GetFilterState()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetFilterState()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return HashPolicyValidationError{ field: "FilterState", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofPolicySpecifierPresent { err := HashPolicyValidationError{ field: "PolicySpecifier", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HashPolicyMultiError(errors) } return nil } // HashPolicyMultiError is an error wrapping multiple validation errors // returned by HashPolicy.ValidateAll() if the designated constraints aren't met. type HashPolicyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HashPolicyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HashPolicyMultiError) AllErrors() []error { return m } // HashPolicyValidationError is the validation error returned by // HashPolicy.Validate if the designated constraints aren't met. type HashPolicyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HashPolicyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HashPolicyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HashPolicyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HashPolicyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HashPolicyValidationError) ErrorName() string { return "HashPolicyValidationError" } // Error satisfies the builtin error interface func (e HashPolicyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHashPolicy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HashPolicyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HashPolicyValidationError{} // Validate checks the field values on HashPolicy_SourceIp with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HashPolicy_SourceIp) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HashPolicy_SourceIp with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HashPolicy_SourceIpMultiError, or nil if none found. func (m *HashPolicy_SourceIp) ValidateAll() error { return m.validate(true) } func (m *HashPolicy_SourceIp) validate(all bool) error { if m == nil { return nil } var errors []error if len(errors) > 0 { return HashPolicy_SourceIpMultiError(errors) } return nil } // HashPolicy_SourceIpMultiError is an error wrapping multiple validation // errors returned by HashPolicy_SourceIp.ValidateAll() if the designated // constraints aren't met. type HashPolicy_SourceIpMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HashPolicy_SourceIpMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HashPolicy_SourceIpMultiError) AllErrors() []error { return m } // HashPolicy_SourceIpValidationError is the validation error returned by // HashPolicy_SourceIp.Validate if the designated constraints aren't met. type HashPolicy_SourceIpValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HashPolicy_SourceIpValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HashPolicy_SourceIpValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HashPolicy_SourceIpValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HashPolicy_SourceIpValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HashPolicy_SourceIpValidationError) ErrorName() string { return "HashPolicy_SourceIpValidationError" } // Error satisfies the builtin error interface func (e HashPolicy_SourceIpValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHashPolicy_SourceIp.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HashPolicy_SourceIpValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HashPolicy_SourceIpValidationError{} // Validate checks the field values on HashPolicy_FilterState with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. func (m *HashPolicy_FilterState) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HashPolicy_FilterState with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // HashPolicy_FilterStateMultiError, or nil if none found. func (m *HashPolicy_FilterState) ValidateAll() error { return m.validate(true) } func (m *HashPolicy_FilterState) validate(all bool) error { if m == nil { return nil } var errors []error if utf8.RuneCountInString(m.GetKey()) < 1 { err := HashPolicy_FilterStateValidationError{ field: "Key", reason: "value length must be at least 1 runes", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HashPolicy_FilterStateMultiError(errors) } return nil } // HashPolicy_FilterStateMultiError is an error wrapping multiple validation // errors returned by HashPolicy_FilterState.ValidateAll() if the designated // constraints aren't met. type HashPolicy_FilterStateMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HashPolicy_FilterStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HashPolicy_FilterStateMultiError) AllErrors() []error { return m } // HashPolicy_FilterStateValidationError is the validation error returned by // HashPolicy_FilterState.Validate if the designated constraints aren't met. type HashPolicy_FilterStateValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HashPolicy_FilterStateValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HashPolicy_FilterStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HashPolicy_FilterStateValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HashPolicy_FilterStateValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HashPolicy_FilterStateValidationError) ErrorName() string { return "HashPolicy_FilterStateValidationError" } // Error satisfies the builtin error interface func (e HashPolicy_FilterStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHashPolicy_FilterState.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HashPolicy_FilterStateValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HashPolicy_FilterStateValidationError{} go-control-plane-0.12.0/envoy/type/v3/http.pb.go000077500000000000000000000123341454502223200213360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/http.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CodecClientType int32 const ( CodecClientType_HTTP1 CodecClientType = 0 CodecClientType_HTTP2 CodecClientType = 1 // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient // to distinguish HTTP1 and HTTP2 traffic. CodecClientType_HTTP3 CodecClientType = 2 ) // Enum value maps for CodecClientType. var ( CodecClientType_name = map[int32]string{ 0: "HTTP1", 1: "HTTP2", 2: "HTTP3", } CodecClientType_value = map[string]int32{ "HTTP1": 0, "HTTP2": 1, "HTTP3": 2, } ) func (x CodecClientType) Enum() *CodecClientType { p := new(CodecClientType) *p = x return p } func (x CodecClientType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CodecClientType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_v3_http_proto_enumTypes[0].Descriptor() } func (CodecClientType) Type() protoreflect.EnumType { return &file_envoy_type_v3_http_proto_enumTypes[0] } func (x CodecClientType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CodecClientType.Descriptor instead. func (CodecClientType) EnumDescriptor() ([]byte, []int) { return file_envoy_type_v3_http_proto_rawDescGZIP(), []int{0} } var File_envoy_type_v3_http_proto protoreflect.FileDescriptor var file_envoy_type_v3_http_proto_rawDesc = []byte{ 0x0a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x31, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x02, 0x42, 0x6f, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_http_proto_rawDescOnce sync.Once file_envoy_type_v3_http_proto_rawDescData = file_envoy_type_v3_http_proto_rawDesc ) func file_envoy_type_v3_http_proto_rawDescGZIP() []byte { file_envoy_type_v3_http_proto_rawDescOnce.Do(func() { file_envoy_type_v3_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_http_proto_rawDescData) }) return file_envoy_type_v3_http_proto_rawDescData } var file_envoy_type_v3_http_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_v3_http_proto_goTypes = []interface{}{ (CodecClientType)(0), // 0: envoy.type.v3.CodecClientType } var file_envoy_type_v3_http_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_v3_http_proto_init() } func file_envoy_type_v3_http_proto_init() { if File_envoy_type_v3_http_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_http_proto_rawDesc, NumEnums: 1, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_http_proto_goTypes, DependencyIndexes: file_envoy_type_v3_http_proto_depIdxs, EnumInfos: file_envoy_type_v3_http_proto_enumTypes, }.Build() File_envoy_type_v3_http_proto = out.File file_envoy_type_v3_http_proto_rawDesc = nil file_envoy_type_v3_http_proto_goTypes = nil file_envoy_type_v3_http_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/http.pb.validate.go000077500000000000000000000010611454502223200231210ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/http.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/type/v3/http_status.pb.go000077500000000000000000000534551454502223200227520ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/http_status.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // HTTP response codes supported in Envoy. // For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml type StatusCode int32 const ( // Empty - This code not part of the HTTP status code specification, but it is needed for proto // `enum` type. StatusCode_Empty StatusCode = 0 StatusCode_Continue StatusCode = 100 StatusCode_OK StatusCode = 200 StatusCode_Created StatusCode = 201 StatusCode_Accepted StatusCode = 202 StatusCode_NonAuthoritativeInformation StatusCode = 203 StatusCode_NoContent StatusCode = 204 StatusCode_ResetContent StatusCode = 205 StatusCode_PartialContent StatusCode = 206 StatusCode_MultiStatus StatusCode = 207 StatusCode_AlreadyReported StatusCode = 208 StatusCode_IMUsed StatusCode = 226 StatusCode_MultipleChoices StatusCode = 300 StatusCode_MovedPermanently StatusCode = 301 StatusCode_Found StatusCode = 302 StatusCode_SeeOther StatusCode = 303 StatusCode_NotModified StatusCode = 304 StatusCode_UseProxy StatusCode = 305 StatusCode_TemporaryRedirect StatusCode = 307 StatusCode_PermanentRedirect StatusCode = 308 StatusCode_BadRequest StatusCode = 400 StatusCode_Unauthorized StatusCode = 401 StatusCode_PaymentRequired StatusCode = 402 StatusCode_Forbidden StatusCode = 403 StatusCode_NotFound StatusCode = 404 StatusCode_MethodNotAllowed StatusCode = 405 StatusCode_NotAcceptable StatusCode = 406 StatusCode_ProxyAuthenticationRequired StatusCode = 407 StatusCode_RequestTimeout StatusCode = 408 StatusCode_Conflict StatusCode = 409 StatusCode_Gone StatusCode = 410 StatusCode_LengthRequired StatusCode = 411 StatusCode_PreconditionFailed StatusCode = 412 StatusCode_PayloadTooLarge StatusCode = 413 StatusCode_URITooLong StatusCode = 414 StatusCode_UnsupportedMediaType StatusCode = 415 StatusCode_RangeNotSatisfiable StatusCode = 416 StatusCode_ExpectationFailed StatusCode = 417 StatusCode_MisdirectedRequest StatusCode = 421 StatusCode_UnprocessableEntity StatusCode = 422 StatusCode_Locked StatusCode = 423 StatusCode_FailedDependency StatusCode = 424 StatusCode_UpgradeRequired StatusCode = 426 StatusCode_PreconditionRequired StatusCode = 428 StatusCode_TooManyRequests StatusCode = 429 StatusCode_RequestHeaderFieldsTooLarge StatusCode = 431 StatusCode_InternalServerError StatusCode = 500 StatusCode_NotImplemented StatusCode = 501 StatusCode_BadGateway StatusCode = 502 StatusCode_ServiceUnavailable StatusCode = 503 StatusCode_GatewayTimeout StatusCode = 504 StatusCode_HTTPVersionNotSupported StatusCode = 505 StatusCode_VariantAlsoNegotiates StatusCode = 506 StatusCode_InsufficientStorage StatusCode = 507 StatusCode_LoopDetected StatusCode = 508 StatusCode_NotExtended StatusCode = 510 StatusCode_NetworkAuthenticationRequired StatusCode = 511 ) // Enum value maps for StatusCode. var ( StatusCode_name = map[int32]string{ 0: "Empty", 100: "Continue", 200: "OK", 201: "Created", 202: "Accepted", 203: "NonAuthoritativeInformation", 204: "NoContent", 205: "ResetContent", 206: "PartialContent", 207: "MultiStatus", 208: "AlreadyReported", 226: "IMUsed", 300: "MultipleChoices", 301: "MovedPermanently", 302: "Found", 303: "SeeOther", 304: "NotModified", 305: "UseProxy", 307: "TemporaryRedirect", 308: "PermanentRedirect", 400: "BadRequest", 401: "Unauthorized", 402: "PaymentRequired", 403: "Forbidden", 404: "NotFound", 405: "MethodNotAllowed", 406: "NotAcceptable", 407: "ProxyAuthenticationRequired", 408: "RequestTimeout", 409: "Conflict", 410: "Gone", 411: "LengthRequired", 412: "PreconditionFailed", 413: "PayloadTooLarge", 414: "URITooLong", 415: "UnsupportedMediaType", 416: "RangeNotSatisfiable", 417: "ExpectationFailed", 421: "MisdirectedRequest", 422: "UnprocessableEntity", 423: "Locked", 424: "FailedDependency", 426: "UpgradeRequired", 428: "PreconditionRequired", 429: "TooManyRequests", 431: "RequestHeaderFieldsTooLarge", 500: "InternalServerError", 501: "NotImplemented", 502: "BadGateway", 503: "ServiceUnavailable", 504: "GatewayTimeout", 505: "HTTPVersionNotSupported", 506: "VariantAlsoNegotiates", 507: "InsufficientStorage", 508: "LoopDetected", 510: "NotExtended", 511: "NetworkAuthenticationRequired", } StatusCode_value = map[string]int32{ "Empty": 0, "Continue": 100, "OK": 200, "Created": 201, "Accepted": 202, "NonAuthoritativeInformation": 203, "NoContent": 204, "ResetContent": 205, "PartialContent": 206, "MultiStatus": 207, "AlreadyReported": 208, "IMUsed": 226, "MultipleChoices": 300, "MovedPermanently": 301, "Found": 302, "SeeOther": 303, "NotModified": 304, "UseProxy": 305, "TemporaryRedirect": 307, "PermanentRedirect": 308, "BadRequest": 400, "Unauthorized": 401, "PaymentRequired": 402, "Forbidden": 403, "NotFound": 404, "MethodNotAllowed": 405, "NotAcceptable": 406, "ProxyAuthenticationRequired": 407, "RequestTimeout": 408, "Conflict": 409, "Gone": 410, "LengthRequired": 411, "PreconditionFailed": 412, "PayloadTooLarge": 413, "URITooLong": 414, "UnsupportedMediaType": 415, "RangeNotSatisfiable": 416, "ExpectationFailed": 417, "MisdirectedRequest": 421, "UnprocessableEntity": 422, "Locked": 423, "FailedDependency": 424, "UpgradeRequired": 426, "PreconditionRequired": 428, "TooManyRequests": 429, "RequestHeaderFieldsTooLarge": 431, "InternalServerError": 500, "NotImplemented": 501, "BadGateway": 502, "ServiceUnavailable": 503, "GatewayTimeout": 504, "HTTPVersionNotSupported": 505, "VariantAlsoNegotiates": 506, "InsufficientStorage": 507, "LoopDetected": 508, "NotExtended": 510, "NetworkAuthenticationRequired": 511, } ) func (x StatusCode) Enum() *StatusCode { p := new(StatusCode) *p = x return p } func (x StatusCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (StatusCode) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_v3_http_status_proto_enumTypes[0].Descriptor() } func (StatusCode) Type() protoreflect.EnumType { return &file_envoy_type_v3_http_status_proto_enumTypes[0] } func (x StatusCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use StatusCode.Descriptor instead. func (StatusCode) EnumDescriptor() ([]byte, []int) { return file_envoy_type_v3_http_status_proto_rawDescGZIP(), []int{0} } // HTTP status. type HttpStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supplies HTTP response code. Code StatusCode `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.type.v3.StatusCode" json:"code,omitempty"` } func (x *HttpStatus) Reset() { *x = HttpStatus{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_http_status_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HttpStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*HttpStatus) ProtoMessage() {} func (x *HttpStatus) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_http_status_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HttpStatus.ProtoReflect.Descriptor instead. func (*HttpStatus) Descriptor() ([]byte, []int) { return file_envoy_type_v3_http_status_proto_rawDescGZIP(), []int{0} } func (x *HttpStatus) GetCode() StatusCode { if x != nil { return x.Code } return StatusCode_Empty } var File_envoy_type_v3_http_status_proto protoreflect.FileDescriptor var file_envoy_type_v3_http_status_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xb5, 0x09, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x10, 0x64, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0xc8, 0x01, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0xc9, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0xca, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x4e, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcb, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xcc, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xcd, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xcf, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xd0, 0x01, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4d, 0x55, 0x73, 0x65, 0x64, 0x10, 0xe2, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x10, 0xac, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x10, 0xad, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xae, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x65, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x10, 0xaf, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0xb0, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x10, 0xb1, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0xb3, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0xb4, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x90, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x91, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x92, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x93, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x94, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x95, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x96, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x97, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x98, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x10, 0x99, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x47, 0x6f, 0x6e, 0x65, 0x10, 0x9a, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0x9b, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x9c, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x9d, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x55, 0x52, 0x49, 0x54, 0x6f, 0x6f, 0x4c, 0x6f, 0x6e, 0x67, 0x10, 0x9e, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x10, 0x9f, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xa0, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xa1, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x4d, 0x69, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xa5, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x6e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0xa6, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xa7, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x10, 0xa8, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xaa, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xac, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x10, 0xad, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0xaf, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xf4, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x10, 0xf5, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x10, 0xf6, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xf7, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xf8, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x54, 0x54, 0x50, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xf9, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x41, 0x6c, 0x73, 0x6f, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x73, 0x10, 0xfa, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x10, 0xfb, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0xfc, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x10, 0xfe, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x10, 0xff, 0x03, 0x42, 0x75, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_http_status_proto_rawDescOnce sync.Once file_envoy_type_v3_http_status_proto_rawDescData = file_envoy_type_v3_http_status_proto_rawDesc ) func file_envoy_type_v3_http_status_proto_rawDescGZIP() []byte { file_envoy_type_v3_http_status_proto_rawDescOnce.Do(func() { file_envoy_type_v3_http_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_http_status_proto_rawDescData) }) return file_envoy_type_v3_http_status_proto_rawDescData } var file_envoy_type_v3_http_status_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_v3_http_status_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_v3_http_status_proto_goTypes = []interface{}{ (StatusCode)(0), // 0: envoy.type.v3.StatusCode (*HttpStatus)(nil), // 1: envoy.type.v3.HttpStatus } var file_envoy_type_v3_http_status_proto_depIdxs = []int32{ 0, // 0: envoy.type.v3.HttpStatus.code:type_name -> envoy.type.v3.StatusCode 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_v3_http_status_proto_init() } func file_envoy_type_v3_http_status_proto_init() { if File_envoy_type_v3_http_status_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_http_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_http_status_proto_rawDesc, NumEnums: 1, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_http_status_proto_goTypes, DependencyIndexes: file_envoy_type_v3_http_status_proto_depIdxs, EnumInfos: file_envoy_type_v3_http_status_proto_enumTypes, MessageInfos: file_envoy_type_v3_http_status_proto_msgTypes, }.Build() File_envoy_type_v3_http_status_proto = out.File file_envoy_type_v3_http_status_proto_rawDesc = nil file_envoy_type_v3_http_status_proto_goTypes = nil file_envoy_type_v3_http_status_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/http_status.pb.validate.go000077500000000000000000000072401454502223200245310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/http_status.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on HttpStatus with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *HttpStatus) Validate() error { return m.validate(false) } // ValidateAll checks the field values on HttpStatus with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in HttpStatusMultiError, or // nil if none found. func (m *HttpStatus) ValidateAll() error { return m.validate(true) } func (m *HttpStatus) validate(all bool) error { if m == nil { return nil } var errors []error if _, ok := _HttpStatus_Code_NotInLookup[m.GetCode()]; ok { err := HttpStatusValidationError{ field: "Code", reason: "value must not be in list [Empty]", } if !all { return err } errors = append(errors, err) } if _, ok := StatusCode_name[int32(m.GetCode())]; !ok { err := HttpStatusValidationError{ field: "Code", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return HttpStatusMultiError(errors) } return nil } // HttpStatusMultiError is an error wrapping multiple validation errors // returned by HttpStatus.ValidateAll() if the designated constraints aren't met. type HttpStatusMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m HttpStatusMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m HttpStatusMultiError) AllErrors() []error { return m } // HttpStatusValidationError is the validation error returned by // HttpStatus.Validate if the designated constraints aren't met. type HttpStatusValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e HttpStatusValidationError) Field() string { return e.field } // Reason function returns reason value. func (e HttpStatusValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e HttpStatusValidationError) Cause() error { return e.cause } // Key function returns key value. func (e HttpStatusValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e HttpStatusValidationError) ErrorName() string { return "HttpStatusValidationError" } // Error satisfies the builtin error interface func (e HttpStatusValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sHttpStatus.%s: %s%s", key, e.field, e.reason, cause) } var _ error = HttpStatusValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = HttpStatusValidationError{} var _HttpStatus_Code_NotInLookup = map[StatusCode]struct{}{ 0: {}, } go-control-plane-0.12.0/envoy/type/v3/percent.pb.go000077500000000000000000000276771454502223200220370ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/percent.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Fraction percentages support several fixed denominator values. type FractionalPercent_DenominatorType int32 const ( // 100. // // **Example**: 1/100 = 1%. FractionalPercent_HUNDRED FractionalPercent_DenominatorType = 0 // 10,000. // // **Example**: 1/10000 = 0.01%. FractionalPercent_TEN_THOUSAND FractionalPercent_DenominatorType = 1 // 1,000,000. // // **Example**: 1/1000000 = 0.0001%. FractionalPercent_MILLION FractionalPercent_DenominatorType = 2 ) // Enum value maps for FractionalPercent_DenominatorType. var ( FractionalPercent_DenominatorType_name = map[int32]string{ 0: "HUNDRED", 1: "TEN_THOUSAND", 2: "MILLION", } FractionalPercent_DenominatorType_value = map[string]int32{ "HUNDRED": 0, "TEN_THOUSAND": 1, "MILLION": 2, } ) func (x FractionalPercent_DenominatorType) Enum() *FractionalPercent_DenominatorType { p := new(FractionalPercent_DenominatorType) *p = x return p } func (x FractionalPercent_DenominatorType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FractionalPercent_DenominatorType) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_v3_percent_proto_enumTypes[0].Descriptor() } func (FractionalPercent_DenominatorType) Type() protoreflect.EnumType { return &file_envoy_type_v3_percent_proto_enumTypes[0] } func (x FractionalPercent_DenominatorType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FractionalPercent_DenominatorType.Descriptor instead. func (FractionalPercent_DenominatorType) EnumDescriptor() ([]byte, []int) { return file_envoy_type_v3_percent_proto_rawDescGZIP(), []int{1, 0} } // Identifies a percentage, in the range [0.0, 100.0]. type Percent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *Percent) Reset() { *x = Percent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_percent_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Percent) String() string { return protoimpl.X.MessageStringOf(x) } func (*Percent) ProtoMessage() {} func (x *Percent) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_percent_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Percent.ProtoReflect.Descriptor instead. func (*Percent) Descriptor() ([]byte, []int) { return file_envoy_type_v3_percent_proto_rawDescGZIP(), []int{0} } func (x *Percent) GetValue() float64 { if x != nil { return x.Value } return 0 } // A fractional percentage is used in cases in which for performance reasons performing floating // point to integer conversions during randomness calculations is undesirable. The message includes // both a numerator and denominator that together determine the final fractional value. // // * **Example**: 1/100 = 1%. // * **Example**: 3/10000 = 0.03%. type FractionalPercent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specifies the numerator. Defaults to 0. Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` // Specifies the denominator. If the denominator specified is less than the numerator, the final // fractional percentage is capped at 1 (100%). Denominator FractionalPercent_DenominatorType `protobuf:"varint,2,opt,name=denominator,proto3,enum=envoy.type.v3.FractionalPercent_DenominatorType" json:"denominator,omitempty"` } func (x *FractionalPercent) Reset() { *x = FractionalPercent{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_percent_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FractionalPercent) String() string { return protoimpl.X.MessageStringOf(x) } func (*FractionalPercent) ProtoMessage() {} func (x *FractionalPercent) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_percent_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FractionalPercent.ProtoReflect.Descriptor instead. func (*FractionalPercent) Descriptor() ([]byte, []int) { return file_envoy_type_v3_percent_proto_rawDescGZIP(), []int{1} } func (x *FractionalPercent) GetNumerator() uint32 { if x != nil { return x.Numerator } return 0 } func (x *FractionalPercent) GetDenominator() FractionalPercent_DenominatorType { if x != nil { return x.Denominator } return FractionalPercent_HUNDRED } var File_envoy_type_v3_percent_proto protoreflect.FileDescriptor var file_envoy_type_v3_percent_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x19, 0x9a, 0xc5, 0x88, 0x1e, 0x14, 0x0a, 0x12, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x0f, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x55, 0x4e, 0x44, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x45, 0x4e, 0x5f, 0x54, 0x48, 0x4f, 0x55, 0x53, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x3a, 0x23, 0x9a, 0xc5, 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x72, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_percent_proto_rawDescOnce sync.Once file_envoy_type_v3_percent_proto_rawDescData = file_envoy_type_v3_percent_proto_rawDesc ) func file_envoy_type_v3_percent_proto_rawDescGZIP() []byte { file_envoy_type_v3_percent_proto_rawDescOnce.Do(func() { file_envoy_type_v3_percent_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_percent_proto_rawDescData) }) return file_envoy_type_v3_percent_proto_rawDescData } var file_envoy_type_v3_percent_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_v3_percent_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_v3_percent_proto_goTypes = []interface{}{ (FractionalPercent_DenominatorType)(0), // 0: envoy.type.v3.FractionalPercent.DenominatorType (*Percent)(nil), // 1: envoy.type.v3.Percent (*FractionalPercent)(nil), // 2: envoy.type.v3.FractionalPercent } var file_envoy_type_v3_percent_proto_depIdxs = []int32{ 0, // 0: envoy.type.v3.FractionalPercent.denominator:type_name -> envoy.type.v3.FractionalPercent.DenominatorType 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_type_v3_percent_proto_init() } func file_envoy_type_v3_percent_proto_init() { if File_envoy_type_v3_percent_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_percent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Percent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_percent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FractionalPercent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_percent_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_percent_proto_goTypes, DependencyIndexes: file_envoy_type_v3_percent_proto_depIdxs, EnumInfos: file_envoy_type_v3_percent_proto_enumTypes, MessageInfos: file_envoy_type_v3_percent_proto_msgTypes, }.Build() File_envoy_type_v3_percent_proto = out.File file_envoy_type_v3_percent_proto_rawDesc = nil file_envoy_type_v3_percent_proto_goTypes = nil file_envoy_type_v3_percent_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/percent.pb.validate.go000077500000000000000000000145111454502223200236060ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/percent.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Percent with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Percent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Percent with the rules defined in the // proto definition for this message. If any rules are violated, the result is // a list of violation errors wrapped in PercentMultiError, or nil if none found. func (m *Percent) ValidateAll() error { return m.validate(true) } func (m *Percent) validate(all bool) error { if m == nil { return nil } var errors []error if val := m.GetValue(); val < 0 || val > 100 { err := PercentValidationError{ field: "Value", reason: "value must be inside range [0, 100]", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return PercentMultiError(errors) } return nil } // PercentMultiError is an error wrapping multiple validation errors returned // by Percent.ValidateAll() if the designated constraints aren't met. type PercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m PercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m PercentMultiError) AllErrors() []error { return m } // PercentValidationError is the validation error returned by Percent.Validate // if the designated constraints aren't met. type PercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e PercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e PercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e PercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e PercentValidationError) ErrorName() string { return "PercentValidationError" } // Error satisfies the builtin error interface func (e PercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = PercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = PercentValidationError{} // Validate checks the field values on FractionalPercent with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *FractionalPercent) Validate() error { return m.validate(false) } // ValidateAll checks the field values on FractionalPercent with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // FractionalPercentMultiError, or nil if none found. func (m *FractionalPercent) ValidateAll() error { return m.validate(true) } func (m *FractionalPercent) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Numerator if _, ok := FractionalPercent_DenominatorType_name[int32(m.GetDenominator())]; !ok { err := FractionalPercentValidationError{ field: "Denominator", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return FractionalPercentMultiError(errors) } return nil } // FractionalPercentMultiError is an error wrapping multiple validation errors // returned by FractionalPercent.ValidateAll() if the designated constraints // aren't met. type FractionalPercentMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m FractionalPercentMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m FractionalPercentMultiError) AllErrors() []error { return m } // FractionalPercentValidationError is the validation error returned by // FractionalPercent.Validate if the designated constraints aren't met. type FractionalPercentValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e FractionalPercentValidationError) Field() string { return e.field } // Reason function returns reason value. func (e FractionalPercentValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e FractionalPercentValidationError) Cause() error { return e.cause } // Key function returns key value. func (e FractionalPercentValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e FractionalPercentValidationError) ErrorName() string { return "FractionalPercentValidationError" } // Error satisfies the builtin error interface func (e FractionalPercentValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sFractionalPercent.%s: %s%s", key, e.field, e.reason, cause) } var _ error = FractionalPercentValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = FractionalPercentValidationError{} go-control-plane-0.12.0/envoy/type/v3/range.pb.go000077500000000000000000000251321454502223200214530ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/range.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Specifies the int64 start and end of the range using half-open interval semantics [start, // end). type Int64Range struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *Int64Range) Reset() { *x = Int64Range{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_range_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Int64Range) String() string { return protoimpl.X.MessageStringOf(x) } func (*Int64Range) ProtoMessage() {} func (x *Int64Range) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_range_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Int64Range.ProtoReflect.Descriptor instead. func (*Int64Range) Descriptor() ([]byte, []int) { return file_envoy_type_v3_range_proto_rawDescGZIP(), []int{0} } func (x *Int64Range) GetStart() int64 { if x != nil { return x.Start } return 0 } func (x *Int64Range) GetEnd() int64 { if x != nil { return x.End } return 0 } // Specifies the int32 start and end of the range using half-open interval semantics [start, // end). type Int32Range struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *Int32Range) Reset() { *x = Int32Range{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_range_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Int32Range) String() string { return protoimpl.X.MessageStringOf(x) } func (*Int32Range) ProtoMessage() {} func (x *Int32Range) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_range_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Int32Range.ProtoReflect.Descriptor instead. func (*Int32Range) Descriptor() ([]byte, []int) { return file_envoy_type_v3_range_proto_rawDescGZIP(), []int{1} } func (x *Int32Range) GetStart() int32 { if x != nil { return x.Start } return 0 } func (x *Int32Range) GetEnd() int32 { if x != nil { return x.End } return 0 } // Specifies the double start and end of the range using half-open interval semantics [start, // end). type DoubleRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // start of the range (inclusive) Start float64 `protobuf:"fixed64,1,opt,name=start,proto3" json:"start,omitempty"` // end of the range (exclusive) End float64 `protobuf:"fixed64,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *DoubleRange) Reset() { *x = DoubleRange{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_range_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleRange) ProtoMessage() {} func (x *DoubleRange) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_range_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DoubleRange.ProtoReflect.Descriptor instead. func (*DoubleRange) Descriptor() ([]byte, []int) { return file_envoy_type_v3_range_proto_rawDescGZIP(), []int{2} } func (x *DoubleRange) GetStart() float64 { if x != nil { return x.Start } return 0 } func (x *DoubleRange) GetEnd() float64 { if x != nil { return x.End } return 0 } var File_envoy_type_v3_range_proto protoreflect.FileDescriptor var file_envoy_type_v3_range_proto_rawDesc = []byte{ 0x0a, 0x19, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x54, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x70, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_range_proto_rawDescOnce sync.Once file_envoy_type_v3_range_proto_rawDescData = file_envoy_type_v3_range_proto_rawDesc ) func file_envoy_type_v3_range_proto_rawDescGZIP() []byte { file_envoy_type_v3_range_proto_rawDescOnce.Do(func() { file_envoy_type_v3_range_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_range_proto_rawDescData) }) return file_envoy_type_v3_range_proto_rawDescData } var file_envoy_type_v3_range_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_v3_range_proto_goTypes = []interface{}{ (*Int64Range)(nil), // 0: envoy.type.v3.Int64Range (*Int32Range)(nil), // 1: envoy.type.v3.Int32Range (*DoubleRange)(nil), // 2: envoy.type.v3.DoubleRange } var file_envoy_type_v3_range_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_v3_range_proto_init() } func file_envoy_type_v3_range_proto_init() { if File_envoy_type_v3_range_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_range_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Int64Range); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_range_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Int32Range); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_range_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleRange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_range_proto_rawDesc, NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_range_proto_goTypes, DependencyIndexes: file_envoy_type_v3_range_proto_depIdxs, MessageInfos: file_envoy_type_v3_range_proto_msgTypes, }.Build() File_envoy_type_v3_range_proto = out.File file_envoy_type_v3_range_proto_rawDesc = nil file_envoy_type_v3_range_proto_goTypes = nil file_envoy_type_v3_range_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/range.pb.validate.go000077500000000000000000000207621454502223200232470ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/range.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on Int64Range with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Int64Range) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Int64Range with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Int64RangeMultiError, or // nil if none found. func (m *Int64Range) ValidateAll() error { return m.validate(true) } func (m *Int64Range) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return Int64RangeMultiError(errors) } return nil } // Int64RangeMultiError is an error wrapping multiple validation errors // returned by Int64Range.ValidateAll() if the designated constraints aren't met. type Int64RangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Int64RangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Int64RangeMultiError) AllErrors() []error { return m } // Int64RangeValidationError is the validation error returned by // Int64Range.Validate if the designated constraints aren't met. type Int64RangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Int64RangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Int64RangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Int64RangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Int64RangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Int64RangeValidationError) ErrorName() string { return "Int64RangeValidationError" } // Error satisfies the builtin error interface func (e Int64RangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInt64Range.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Int64RangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Int64RangeValidationError{} // Validate checks the field values on Int32Range with the rules defined in the // proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *Int32Range) Validate() error { return m.validate(false) } // ValidateAll checks the field values on Int32Range with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in Int32RangeMultiError, or // nil if none found. func (m *Int32Range) ValidateAll() error { return m.validate(true) } func (m *Int32Range) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return Int32RangeMultiError(errors) } return nil } // Int32RangeMultiError is an error wrapping multiple validation errors // returned by Int32Range.ValidateAll() if the designated constraints aren't met. type Int32RangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m Int32RangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m Int32RangeMultiError) AllErrors() []error { return m } // Int32RangeValidationError is the validation error returned by // Int32Range.Validate if the designated constraints aren't met. type Int32RangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e Int32RangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e Int32RangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e Int32RangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e Int32RangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e Int32RangeValidationError) ErrorName() string { return "Int32RangeValidationError" } // Error satisfies the builtin error interface func (e Int32RangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sInt32Range.%s: %s%s", key, e.field, e.reason, cause) } var _ error = Int32RangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = Int32RangeValidationError{} // Validate checks the field values on DoubleRange with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *DoubleRange) Validate() error { return m.validate(false) } // ValidateAll checks the field values on DoubleRange with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in DoubleRangeMultiError, or // nil if none found. func (m *DoubleRange) ValidateAll() error { return m.validate(true) } func (m *DoubleRange) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for Start // no validation rules for End if len(errors) > 0 { return DoubleRangeMultiError(errors) } return nil } // DoubleRangeMultiError is an error wrapping multiple validation errors // returned by DoubleRange.ValidateAll() if the designated constraints aren't met. type DoubleRangeMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m DoubleRangeMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m DoubleRangeMultiError) AllErrors() []error { return m } // DoubleRangeValidationError is the validation error returned by // DoubleRange.Validate if the designated constraints aren't met. type DoubleRangeValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e DoubleRangeValidationError) Field() string { return e.field } // Reason function returns reason value. func (e DoubleRangeValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e DoubleRangeValidationError) Cause() error { return e.cause } // Key function returns key value. func (e DoubleRangeValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e DoubleRangeValidationError) ErrorName() string { return "DoubleRangeValidationError" } // Error satisfies the builtin error interface func (e DoubleRangeValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sDoubleRange.%s: %s%s", key, e.field, e.reason, cause) } var _ error = DoubleRangeValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = DoubleRangeValidationError{} go-control-plane-0.12.0/envoy/type/v3/ratelimit_strategy.pb.go000077500000000000000000000436771454502223200243110ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/ratelimit_strategy.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Choose between allow all and deny all. type RateLimitStrategy_BlanketRule int32 const ( RateLimitStrategy_ALLOW_ALL RateLimitStrategy_BlanketRule = 0 RateLimitStrategy_DENY_ALL RateLimitStrategy_BlanketRule = 1 ) // Enum value maps for RateLimitStrategy_BlanketRule. var ( RateLimitStrategy_BlanketRule_name = map[int32]string{ 0: "ALLOW_ALL", 1: "DENY_ALL", } RateLimitStrategy_BlanketRule_value = map[string]int32{ "ALLOW_ALL": 0, "DENY_ALL": 1, } ) func (x RateLimitStrategy_BlanketRule) Enum() *RateLimitStrategy_BlanketRule { p := new(RateLimitStrategy_BlanketRule) *p = x return p } func (x RateLimitStrategy_BlanketRule) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitStrategy_BlanketRule) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_v3_ratelimit_strategy_proto_enumTypes[0].Descriptor() } func (RateLimitStrategy_BlanketRule) Type() protoreflect.EnumType { return &file_envoy_type_v3_ratelimit_strategy_proto_enumTypes[0] } func (x RateLimitStrategy_BlanketRule) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitStrategy_BlanketRule.Descriptor instead. func (RateLimitStrategy_BlanketRule) EnumDescriptor() ([]byte, []int) { return file_envoy_type_v3_ratelimit_strategy_proto_rawDescGZIP(), []int{0, 0} } type RateLimitStrategy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Strategy: // // *RateLimitStrategy_BlanketRule_ // *RateLimitStrategy_RequestsPerTimeUnit_ // *RateLimitStrategy_TokenBucket Strategy isRateLimitStrategy_Strategy `protobuf_oneof:"strategy"` } func (x *RateLimitStrategy) Reset() { *x = RateLimitStrategy{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitStrategy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitStrategy) ProtoMessage() {} func (x *RateLimitStrategy) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitStrategy.ProtoReflect.Descriptor instead. func (*RateLimitStrategy) Descriptor() ([]byte, []int) { return file_envoy_type_v3_ratelimit_strategy_proto_rawDescGZIP(), []int{0} } func (m *RateLimitStrategy) GetStrategy() isRateLimitStrategy_Strategy { if m != nil { return m.Strategy } return nil } func (x *RateLimitStrategy) GetBlanketRule() RateLimitStrategy_BlanketRule { if x, ok := x.GetStrategy().(*RateLimitStrategy_BlanketRule_); ok { return x.BlanketRule } return RateLimitStrategy_ALLOW_ALL } func (x *RateLimitStrategy) GetRequestsPerTimeUnit() *RateLimitStrategy_RequestsPerTimeUnit { if x, ok := x.GetStrategy().(*RateLimitStrategy_RequestsPerTimeUnit_); ok { return x.RequestsPerTimeUnit } return nil } func (x *RateLimitStrategy) GetTokenBucket() *TokenBucket { if x, ok := x.GetStrategy().(*RateLimitStrategy_TokenBucket); ok { return x.TokenBucket } return nil } type isRateLimitStrategy_Strategy interface { isRateLimitStrategy_Strategy() } type RateLimitStrategy_BlanketRule_ struct { // Allow or Deny the requests. // If unset, allow all. BlanketRule RateLimitStrategy_BlanketRule `protobuf:"varint,1,opt,name=blanket_rule,json=blanketRule,proto3,enum=envoy.type.v3.RateLimitStrategy_BlanketRule,oneof"` } type RateLimitStrategy_RequestsPerTimeUnit_ struct { // Best-effort limit of the number of requests per time unit, f.e. requests per second. // Does not prescribe any specific rate limiting algorithm, see :ref:`RequestsPerTimeUnit // ` for details. RequestsPerTimeUnit *RateLimitStrategy_RequestsPerTimeUnit `protobuf:"bytes,2,opt,name=requests_per_time_unit,json=requestsPerTimeUnit,proto3,oneof"` } type RateLimitStrategy_TokenBucket struct { // Limit the requests by consuming tokens from the Token Bucket. // Allow the same number of requests as the number of tokens available in // the token bucket. TokenBucket *TokenBucket `protobuf:"bytes,3,opt,name=token_bucket,json=tokenBucket,proto3,oneof"` } func (*RateLimitStrategy_BlanketRule_) isRateLimitStrategy_Strategy() {} func (*RateLimitStrategy_RequestsPerTimeUnit_) isRateLimitStrategy_Strategy() {} func (*RateLimitStrategy_TokenBucket) isRateLimitStrategy_Strategy() {} // Best-effort limit of the number of requests per time unit. // // Allows to specify the desired requests per second (RPS, QPS), requests per minute (QPM, RPM), // etc., without specifying a rate limiting algorithm implementation. // // “RequestsPerTimeUnit“ strategy does not demand any specific rate limiting algorithm to be // used (in contrast to the :ref:`TokenBucket `, // for example). It implies that the implementation details of rate limiting algorithm are // irrelevant as long as the configured number of "requests per time unit" is achieved. // // Note that the “TokenBucket“ is still a valid implementation of the “RequestsPerTimeUnit“ // strategy, and may be chosen to enforce the rate limit. However, there's no guarantee it will be // the “TokenBucket“ in particular, and not the Leaky Bucket, the Sliding Window, or any other // rate limiting algorithm that fulfills the requirements. type RateLimitStrategy_RequestsPerTimeUnit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The desired number of requests per :ref:`time_unit // ` to allow. // If set to “0“, deny all (equivalent to “BlanketRule.DENY_ALL“). // // .. note:: // // Note that the algorithm implementation determines the course of action for the requests // over the limit. As long as the ``requests_per_time_unit`` converges on the desired value, // it's allowed to treat this field as a soft-limit: allow bursts, redistribute the allowance // over time, etc. RequestsPerTimeUnit uint64 `protobuf:"varint,1,opt,name=requests_per_time_unit,json=requestsPerTimeUnit,proto3" json:"requests_per_time_unit,omitempty"` // The unit of time. Ignored when :ref:`requests_per_time_unit // ` // is “0“ (deny all). TimeUnit RateLimitUnit `protobuf:"varint,2,opt,name=time_unit,json=timeUnit,proto3,enum=envoy.type.v3.RateLimitUnit" json:"time_unit,omitempty"` } func (x *RateLimitStrategy_RequestsPerTimeUnit) Reset() { *x = RateLimitStrategy_RequestsPerTimeUnit{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitStrategy_RequestsPerTimeUnit) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitStrategy_RequestsPerTimeUnit) ProtoMessage() {} func (x *RateLimitStrategy_RequestsPerTimeUnit) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitStrategy_RequestsPerTimeUnit.ProtoReflect.Descriptor instead. func (*RateLimitStrategy_RequestsPerTimeUnit) Descriptor() ([]byte, []int) { return file_envoy_type_v3_ratelimit_strategy_proto_rawDescGZIP(), []int{0, 0} } func (x *RateLimitStrategy_RequestsPerTimeUnit) GetRequestsPerTimeUnit() uint64 { if x != nil { return x.RequestsPerTimeUnit } return 0 } func (x *RateLimitStrategy_RequestsPerTimeUnit) GetTimeUnit() RateLimitUnit { if x != nil { return x.TimeUnit } return RateLimitUnit_UNKNOWN } var File_envoy_type_v3_ratelimit_strategy_proto protoreflect.FileDescriptor var file_envoy_type_v3_ratelimit_strategy_proto_rawDesc = []byte{ 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x03, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x5b, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x42, 0x6c, 0x61, 0x6e, 0x6b, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x8f, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x22, 0x2a, 0x0a, 0x0b, 0x42, 0x6c, 0x61, 0x6e, 0x6b, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4e, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x42, 0x0f, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x84, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_ratelimit_strategy_proto_rawDescOnce sync.Once file_envoy_type_v3_ratelimit_strategy_proto_rawDescData = file_envoy_type_v3_ratelimit_strategy_proto_rawDesc ) func file_envoy_type_v3_ratelimit_strategy_proto_rawDescGZIP() []byte { file_envoy_type_v3_ratelimit_strategy_proto_rawDescOnce.Do(func() { file_envoy_type_v3_ratelimit_strategy_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_ratelimit_strategy_proto_rawDescData) }) return file_envoy_type_v3_ratelimit_strategy_proto_rawDescData } var file_envoy_type_v3_ratelimit_strategy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_v3_ratelimit_strategy_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_envoy_type_v3_ratelimit_strategy_proto_goTypes = []interface{}{ (RateLimitStrategy_BlanketRule)(0), // 0: envoy.type.v3.RateLimitStrategy.BlanketRule (*RateLimitStrategy)(nil), // 1: envoy.type.v3.RateLimitStrategy (*RateLimitStrategy_RequestsPerTimeUnit)(nil), // 2: envoy.type.v3.RateLimitStrategy.RequestsPerTimeUnit (*TokenBucket)(nil), // 3: envoy.type.v3.TokenBucket (RateLimitUnit)(0), // 4: envoy.type.v3.RateLimitUnit } var file_envoy_type_v3_ratelimit_strategy_proto_depIdxs = []int32{ 0, // 0: envoy.type.v3.RateLimitStrategy.blanket_rule:type_name -> envoy.type.v3.RateLimitStrategy.BlanketRule 2, // 1: envoy.type.v3.RateLimitStrategy.requests_per_time_unit:type_name -> envoy.type.v3.RateLimitStrategy.RequestsPerTimeUnit 3, // 2: envoy.type.v3.RateLimitStrategy.token_bucket:type_name -> envoy.type.v3.TokenBucket 4, // 3: envoy.type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit:type_name -> envoy.type.v3.RateLimitUnit 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_envoy_type_v3_ratelimit_strategy_proto_init() } func file_envoy_type_v3_ratelimit_strategy_proto_init() { if File_envoy_type_v3_ratelimit_strategy_proto != nil { return } file_envoy_type_v3_ratelimit_unit_proto_init() file_envoy_type_v3_token_bucket_proto_init() if !protoimpl.UnsafeEnabled { file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitStrategy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitStrategy_RequestsPerTimeUnit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_envoy_type_v3_ratelimit_strategy_proto_msgTypes[0].OneofWrappers = []interface{}{ (*RateLimitStrategy_BlanketRule_)(nil), (*RateLimitStrategy_RequestsPerTimeUnit_)(nil), (*RateLimitStrategy_TokenBucket)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_ratelimit_strategy_proto_rawDesc, NumEnums: 1, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_ratelimit_strategy_proto_goTypes, DependencyIndexes: file_envoy_type_v3_ratelimit_strategy_proto_depIdxs, EnumInfos: file_envoy_type_v3_ratelimit_strategy_proto_enumTypes, MessageInfos: file_envoy_type_v3_ratelimit_strategy_proto_msgTypes, }.Build() File_envoy_type_v3_ratelimit_strategy_proto = out.File file_envoy_type_v3_ratelimit_strategy_proto_rawDesc = nil file_envoy_type_v3_ratelimit_strategy_proto_goTypes = nil file_envoy_type_v3_ratelimit_strategy_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/ratelimit_strategy.pb.validate.go000077500000000000000000000240301454502223200260570ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/ratelimit_strategy.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on RateLimitStrategy with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *RateLimitStrategy) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitStrategy with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // RateLimitStrategyMultiError, or nil if none found. func (m *RateLimitStrategy) ValidateAll() error { return m.validate(true) } func (m *RateLimitStrategy) validate(all bool) error { if m == nil { return nil } var errors []error oneofStrategyPresent := false switch v := m.Strategy.(type) { case *RateLimitStrategy_BlanketRule_: if v == nil { err := RateLimitStrategyValidationError{ field: "Strategy", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStrategyPresent = true if _, ok := RateLimitStrategy_BlanketRule_name[int32(m.GetBlanketRule())]; !ok { err := RateLimitStrategyValidationError{ field: "BlanketRule", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } case *RateLimitStrategy_RequestsPerTimeUnit_: if v == nil { err := RateLimitStrategyValidationError{ field: "Strategy", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStrategyPresent = true if all { switch v := interface{}(m.GetRequestsPerTimeUnit()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitStrategyValidationError{ field: "RequestsPerTimeUnit", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitStrategyValidationError{ field: "RequestsPerTimeUnit", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetRequestsPerTimeUnit()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitStrategyValidationError{ field: "RequestsPerTimeUnit", reason: "embedded message failed validation", cause: err, } } } case *RateLimitStrategy_TokenBucket: if v == nil { err := RateLimitStrategyValidationError{ field: "Strategy", reason: "oneof value cannot be a typed-nil", } if !all { return err } errors = append(errors, err) } oneofStrategyPresent = true if all { switch v := interface{}(m.GetTokenBucket()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, RateLimitStrategyValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, RateLimitStrategyValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetTokenBucket()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return RateLimitStrategyValidationError{ field: "TokenBucket", reason: "embedded message failed validation", cause: err, } } } default: _ = v // ensures v is used } if !oneofStrategyPresent { err := RateLimitStrategyValidationError{ field: "Strategy", reason: "value is required", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitStrategyMultiError(errors) } return nil } // RateLimitStrategyMultiError is an error wrapping multiple validation errors // returned by RateLimitStrategy.ValidateAll() if the designated constraints // aren't met. type RateLimitStrategyMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitStrategyMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitStrategyMultiError) AllErrors() []error { return m } // RateLimitStrategyValidationError is the validation error returned by // RateLimitStrategy.Validate if the designated constraints aren't met. type RateLimitStrategyValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitStrategyValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitStrategyValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitStrategyValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitStrategyValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitStrategyValidationError) ErrorName() string { return "RateLimitStrategyValidationError" } // Error satisfies the builtin error interface func (e RateLimitStrategyValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitStrategy.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitStrategyValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitStrategyValidationError{} // Validate checks the field values on RateLimitStrategy_RequestsPerTimeUnit // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if // there are no violations. func (m *RateLimitStrategy_RequestsPerTimeUnit) Validate() error { return m.validate(false) } // ValidateAll checks the field values on RateLimitStrategy_RequestsPerTimeUnit // with the rules defined in the proto definition for this message. If any // rules are violated, the result is a list of violation errors wrapped in // RateLimitStrategy_RequestsPerTimeUnitMultiError, or nil if none found. func (m *RateLimitStrategy_RequestsPerTimeUnit) ValidateAll() error { return m.validate(true) } func (m *RateLimitStrategy_RequestsPerTimeUnit) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for RequestsPerTimeUnit if _, ok := RateLimitUnit_name[int32(m.GetTimeUnit())]; !ok { err := RateLimitStrategy_RequestsPerTimeUnitValidationError{ field: "TimeUnit", reason: "value must be one of the defined enum values", } if !all { return err } errors = append(errors, err) } if len(errors) > 0 { return RateLimitStrategy_RequestsPerTimeUnitMultiError(errors) } return nil } // RateLimitStrategy_RequestsPerTimeUnitMultiError is an error wrapping // multiple validation errors returned by // RateLimitStrategy_RequestsPerTimeUnit.ValidateAll() if the designated // constraints aren't met. type RateLimitStrategy_RequestsPerTimeUnitMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m RateLimitStrategy_RequestsPerTimeUnitMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m RateLimitStrategy_RequestsPerTimeUnitMultiError) AllErrors() []error { return m } // RateLimitStrategy_RequestsPerTimeUnitValidationError is the validation error // returned by RateLimitStrategy_RequestsPerTimeUnit.Validate if the // designated constraints aren't met. type RateLimitStrategy_RequestsPerTimeUnitValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) Field() string { return e.field } // Reason function returns reason value. func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) Cause() error { return e.cause } // Key function returns key value. func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) ErrorName() string { return "RateLimitStrategy_RequestsPerTimeUnitValidationError" } // Error satisfies the builtin error interface func (e RateLimitStrategy_RequestsPerTimeUnitValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sRateLimitStrategy_RequestsPerTimeUnit.%s: %s%s", key, e.field, e.reason, cause) } var _ error = RateLimitStrategy_RequestsPerTimeUnitValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = RateLimitStrategy_RequestsPerTimeUnitValidationError{} go-control-plane-0.12.0/envoy/type/v3/ratelimit_unit.pb.go000077500000000000000000000142501454502223200234070ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/ratelimit_unit.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Identifies the unit of of time for rate limit. type RateLimitUnit int32 const ( // The time unit is not known. RateLimitUnit_UNKNOWN RateLimitUnit = 0 // The time unit representing a second. RateLimitUnit_SECOND RateLimitUnit = 1 // The time unit representing a minute. RateLimitUnit_MINUTE RateLimitUnit = 2 // The time unit representing an hour. RateLimitUnit_HOUR RateLimitUnit = 3 // The time unit representing a day. RateLimitUnit_DAY RateLimitUnit = 4 // The time unit representing a month. RateLimitUnit_MONTH RateLimitUnit = 5 // The time unit representing a year. RateLimitUnit_YEAR RateLimitUnit = 6 ) // Enum value maps for RateLimitUnit. var ( RateLimitUnit_name = map[int32]string{ 0: "UNKNOWN", 1: "SECOND", 2: "MINUTE", 3: "HOUR", 4: "DAY", 5: "MONTH", 6: "YEAR", } RateLimitUnit_value = map[string]int32{ "UNKNOWN": 0, "SECOND": 1, "MINUTE": 2, "HOUR": 3, "DAY": 4, "MONTH": 5, "YEAR": 6, } ) func (x RateLimitUnit) Enum() *RateLimitUnit { p := new(RateLimitUnit) *p = x return p } func (x RateLimitUnit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitUnit) Descriptor() protoreflect.EnumDescriptor { return file_envoy_type_v3_ratelimit_unit_proto_enumTypes[0].Descriptor() } func (RateLimitUnit) Type() protoreflect.EnumType { return &file_envoy_type_v3_ratelimit_unit_proto_enumTypes[0] } func (x RateLimitUnit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitUnit.Descriptor instead. func (RateLimitUnit) EnumDescriptor() ([]byte, []int) { return file_envoy_type_v3_ratelimit_unit_proto_rawDescGZIP(), []int{0} } var File_envoy_type_v3_ratelimit_unit_proto protoreflect.FileDescriptor var file_envoy_type_v3_ratelimit_unit_proto_rawDesc = []byte{ 0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x5c, 0x0a, 0x0d, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 0x10, 0x06, 0x42, 0x78, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x12, 0x52, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_ratelimit_unit_proto_rawDescOnce sync.Once file_envoy_type_v3_ratelimit_unit_proto_rawDescData = file_envoy_type_v3_ratelimit_unit_proto_rawDesc ) func file_envoy_type_v3_ratelimit_unit_proto_rawDescGZIP() []byte { file_envoy_type_v3_ratelimit_unit_proto_rawDescOnce.Do(func() { file_envoy_type_v3_ratelimit_unit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_ratelimit_unit_proto_rawDescData) }) return file_envoy_type_v3_ratelimit_unit_proto_rawDescData } var file_envoy_type_v3_ratelimit_unit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_envoy_type_v3_ratelimit_unit_proto_goTypes = []interface{}{ (RateLimitUnit)(0), // 0: envoy.type.v3.RateLimitUnit } var file_envoy_type_v3_ratelimit_unit_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_v3_ratelimit_unit_proto_init() } func file_envoy_type_v3_ratelimit_unit_proto_init() { if File_envoy_type_v3_ratelimit_unit_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_ratelimit_unit_proto_rawDesc, NumEnums: 1, NumMessages: 0, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_ratelimit_unit_proto_goTypes, DependencyIndexes: file_envoy_type_v3_ratelimit_unit_proto_depIdxs, EnumInfos: file_envoy_type_v3_ratelimit_unit_proto_enumTypes, }.Build() File_envoy_type_v3_ratelimit_unit_proto = out.File file_envoy_type_v3_ratelimit_unit_proto_rawDesc = nil file_envoy_type_v3_ratelimit_unit_proto_goTypes = nil file_envoy_type_v3_ratelimit_unit_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/ratelimit_unit.pb.validate.go000077500000000000000000000010731454502223200251760ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/ratelimit_unit.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) go-control-plane-0.12.0/envoy/type/v3/semantic_version.pb.go000077500000000000000000000163461454502223200237360ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/semantic_version.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Envoy uses SemVer (https://semver.org/). Major/minor versions indicate // expected behaviors and APIs, the patch version field is used only // for security fixes and can be generally ignored. type SemanticVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MajorNumber uint32 `protobuf:"varint,1,opt,name=major_number,json=majorNumber,proto3" json:"major_number,omitempty"` MinorNumber uint32 `protobuf:"varint,2,opt,name=minor_number,json=minorNumber,proto3" json:"minor_number,omitempty"` Patch uint32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"` } func (x *SemanticVersion) Reset() { *x = SemanticVersion{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_semantic_version_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SemanticVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*SemanticVersion) ProtoMessage() {} func (x *SemanticVersion) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_semantic_version_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SemanticVersion.ProtoReflect.Descriptor instead. func (*SemanticVersion) Descriptor() ([]byte, []int) { return file_envoy_type_v3_semantic_version_proto_rawDescGZIP(), []int{0} } func (x *SemanticVersion) GetMajorNumber() uint32 { if x != nil { return x.MajorNumber } return 0 } func (x *SemanticVersion) GetMinorNumber() uint32 { if x != nil { return x.MinorNumber } return 0 } func (x *SemanticVersion) GetPatch() uint32 { if x != nil { return x.Patch } return 0 } var File_envoy_type_v3_semantic_version_proto protoreflect.FileDescriptor var file_envoy_type_v3_semantic_version_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x21, 0x9a, 0xc5, 0x88, 0x1e, 0x1c, 0x0a, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7a, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x14, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_semantic_version_proto_rawDescOnce sync.Once file_envoy_type_v3_semantic_version_proto_rawDescData = file_envoy_type_v3_semantic_version_proto_rawDesc ) func file_envoy_type_v3_semantic_version_proto_rawDescGZIP() []byte { file_envoy_type_v3_semantic_version_proto_rawDescOnce.Do(func() { file_envoy_type_v3_semantic_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_semantic_version_proto_rawDescData) }) return file_envoy_type_v3_semantic_version_proto_rawDescData } var file_envoy_type_v3_semantic_version_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_v3_semantic_version_proto_goTypes = []interface{}{ (*SemanticVersion)(nil), // 0: envoy.type.v3.SemanticVersion } var file_envoy_type_v3_semantic_version_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_envoy_type_v3_semantic_version_proto_init() } func file_envoy_type_v3_semantic_version_proto_init() { if File_envoy_type_v3_semantic_version_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_semantic_version_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SemanticVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_semantic_version_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_semantic_version_proto_goTypes, DependencyIndexes: file_envoy_type_v3_semantic_version_proto_depIdxs, MessageInfos: file_envoy_type_v3_semantic_version_proto_msgTypes, }.Build() File_envoy_type_v3_semantic_version_proto = out.File file_envoy_type_v3_semantic_version_proto_rawDesc = nil file_envoy_type_v3_semantic_version_proto_goTypes = nil file_envoy_type_v3_semantic_version_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/semantic_version.pb.validate.go000077500000000000000000000065731454502223200255270ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/semantic_version.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on SemanticVersion with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *SemanticVersion) Validate() error { return m.validate(false) } // ValidateAll checks the field values on SemanticVersion with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // SemanticVersionMultiError, or nil if none found. func (m *SemanticVersion) ValidateAll() error { return m.validate(true) } func (m *SemanticVersion) validate(all bool) error { if m == nil { return nil } var errors []error // no validation rules for MajorNumber // no validation rules for MinorNumber // no validation rules for Patch if len(errors) > 0 { return SemanticVersionMultiError(errors) } return nil } // SemanticVersionMultiError is an error wrapping multiple validation errors // returned by SemanticVersion.ValidateAll() if the designated constraints // aren't met. type SemanticVersionMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m SemanticVersionMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m SemanticVersionMultiError) AllErrors() []error { return m } // SemanticVersionValidationError is the validation error returned by // SemanticVersion.Validate if the designated constraints aren't met. type SemanticVersionValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e SemanticVersionValidationError) Field() string { return e.field } // Reason function returns reason value. func (e SemanticVersionValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e SemanticVersionValidationError) Cause() error { return e.cause } // Key function returns key value. func (e SemanticVersionValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e SemanticVersionValidationError) ErrorName() string { return "SemanticVersionValidationError" } // Error satisfies the builtin error interface func (e SemanticVersionValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sSemanticVersion.%s: %s%s", key, e.field, e.reason, cause) } var _ error = SemanticVersionValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = SemanticVersionValidationError{} go-control-plane-0.12.0/envoy/type/v3/token_bucket.pb.go000077500000000000000000000217621454502223200230410ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/type/v3/token_bucket.proto package typev3 import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/envoyproxy/protoc-gen-validate/validate" duration "github.com/golang/protobuf/ptypes/duration" wrappers "github.com/golang/protobuf/ptypes/wrappers" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Configures a token bucket, typically used for rate limiting. type TokenBucket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket // initially contains. MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"` // The number of tokens added to the bucket during each fill interval. If not specified, defaults // to a single token. TokensPerFill *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=tokens_per_fill,json=tokensPerFill,proto3" json:"tokens_per_fill,omitempty"` // The fill interval that tokens are added to the bucket. During each fill interval // “tokens_per_fill“ are added to the bucket. The bucket will never contain more than // “max_tokens“ tokens. FillInterval *duration.Duration `protobuf:"bytes,3,opt,name=fill_interval,json=fillInterval,proto3" json:"fill_interval,omitempty"` } func (x *TokenBucket) Reset() { *x = TokenBucket{} if protoimpl.UnsafeEnabled { mi := &file_envoy_type_v3_token_bucket_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenBucket) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenBucket) ProtoMessage() {} func (x *TokenBucket) ProtoReflect() protoreflect.Message { mi := &file_envoy_type_v3_token_bucket_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenBucket.ProtoReflect.Descriptor instead. func (*TokenBucket) Descriptor() ([]byte, []int) { return file_envoy_type_v3_token_bucket_proto_rawDescGZIP(), []int{0} } func (x *TokenBucket) GetMaxTokens() uint32 { if x != nil { return x.MaxTokens } return 0 } func (x *TokenBucket) GetTokensPerFill() *wrappers.UInt32Value { if x != nil { return x.TokensPerFill } return nil } func (x *TokenBucket) GetFillInterval() *duration.Duration { if x != nil { return x.FillInterval } return nil } var File_envoy_type_v3_token_bucket_proto protoreflect.FileDescriptor var file_envoy_type_v3_token_bucket_proto_rawDesc = []byte{ 0x0a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x01, 0x2a, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x1d, 0x9a, 0xc5, 0x88, 0x1e, 0x18, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x76, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_type_v3_token_bucket_proto_rawDescOnce sync.Once file_envoy_type_v3_token_bucket_proto_rawDescData = file_envoy_type_v3_token_bucket_proto_rawDesc ) func file_envoy_type_v3_token_bucket_proto_rawDescGZIP() []byte { file_envoy_type_v3_token_bucket_proto_rawDescOnce.Do(func() { file_envoy_type_v3_token_bucket_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_type_v3_token_bucket_proto_rawDescData) }) return file_envoy_type_v3_token_bucket_proto_rawDescData } var file_envoy_type_v3_token_bucket_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_type_v3_token_bucket_proto_goTypes = []interface{}{ (*TokenBucket)(nil), // 0: envoy.type.v3.TokenBucket (*wrappers.UInt32Value)(nil), // 1: google.protobuf.UInt32Value (*duration.Duration)(nil), // 2: google.protobuf.Duration } var file_envoy_type_v3_token_bucket_proto_depIdxs = []int32{ 1, // 0: envoy.type.v3.TokenBucket.tokens_per_fill:type_name -> google.protobuf.UInt32Value 2, // 1: envoy.type.v3.TokenBucket.fill_interval:type_name -> google.protobuf.Duration 2, // [2:2] is the sub-list for method output_type 2, // [2:2] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name } func init() { file_envoy_type_v3_token_bucket_proto_init() } func file_envoy_type_v3_token_bucket_proto_init() { if File_envoy_type_v3_token_bucket_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_type_v3_token_bucket_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenBucket); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_type_v3_token_bucket_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_type_v3_token_bucket_proto_goTypes, DependencyIndexes: file_envoy_type_v3_token_bucket_proto_depIdxs, MessageInfos: file_envoy_type_v3_token_bucket_proto_msgTypes, }.Build() File_envoy_type_v3_token_bucket_proto = out.File file_envoy_type_v3_token_bucket_proto_rawDesc = nil file_envoy_type_v3_token_bucket_proto_goTypes = nil file_envoy_type_v3_token_bucket_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/type/v3/token_bucket.pb.validate.go000077500000000000000000000106171454502223200246260ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/type/v3/token_bucket.proto package typev3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on TokenBucket with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. func (m *TokenBucket) Validate() error { return m.validate(false) } // ValidateAll checks the field values on TokenBucket with the rules defined in // the proto definition for this message. If any rules are violated, the // result is a list of violation errors wrapped in TokenBucketMultiError, or // nil if none found. func (m *TokenBucket) ValidateAll() error { return m.validate(true) } func (m *TokenBucket) validate(all bool) error { if m == nil { return nil } var errors []error if m.GetMaxTokens() <= 0 { err := TokenBucketValidationError{ field: "MaxTokens", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } if wrapper := m.GetTokensPerFill(); wrapper != nil { if wrapper.GetValue() <= 0 { err := TokenBucketValidationError{ field: "TokensPerFill", reason: "value must be greater than 0", } if !all { return err } errors = append(errors, err) } } if m.GetFillInterval() == nil { err := TokenBucketValidationError{ field: "FillInterval", reason: "value is required", } if !all { return err } errors = append(errors, err) } if d := m.GetFillInterval(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { err = TokenBucketValidationError{ field: "FillInterval", reason: "value is not a valid duration", cause: err, } if !all { return err } errors = append(errors, err) } else { gt := time.Duration(0*time.Second + 0*time.Nanosecond) if dur <= gt { err := TokenBucketValidationError{ field: "FillInterval", reason: "value must be greater than 0s", } if !all { return err } errors = append(errors, err) } } } if len(errors) > 0 { return TokenBucketMultiError(errors) } return nil } // TokenBucketMultiError is an error wrapping multiple validation errors // returned by TokenBucket.ValidateAll() if the designated constraints aren't met. type TokenBucketMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m TokenBucketMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m TokenBucketMultiError) AllErrors() []error { return m } // TokenBucketValidationError is the validation error returned by // TokenBucket.Validate if the designated constraints aren't met. type TokenBucketValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e TokenBucketValidationError) Field() string { return e.field } // Reason function returns reason value. func (e TokenBucketValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e TokenBucketValidationError) Cause() error { return e.cause } // Key function returns key value. func (e TokenBucketValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e TokenBucketValidationError) ErrorName() string { return "TokenBucketValidationError" } // Error satisfies the builtin error interface func (e TokenBucketValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sTokenBucket.%s: %s%s", key, e.field, e.reason, cause) } var _ error = TokenBucketValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = TokenBucketValidationError{} go-control-plane-0.12.0/envoy/watchdog/000077500000000000000000000000001454502223200177115ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/watchdog/v3/000077500000000000000000000000001454502223200202415ustar00rootroot00000000000000go-control-plane-0.12.0/envoy/watchdog/v3/abort_action.pb.go000077500000000000000000000161551454502223200236470ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.23.4 // source: envoy/watchdog/v3/abort_action.proto package watchdogv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" duration "github.com/golang/protobuf/ptypes/duration" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // A GuardDogAction that will terminate the process by killing the // stuck thread. This would allow easier access to the call stack of the stuck // thread since we would run signal handlers on that thread. By default // this will be registered to run as the last watchdog action on KILL and // MULTIKILL events if those are enabled. type AbortActionConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How long to wait for the thread to respond to the thread kill function // before killing the process from this action. This is a blocking action. // By default this is 5 seconds. WaitDuration *duration.Duration `protobuf:"bytes,1,opt,name=wait_duration,json=waitDuration,proto3" json:"wait_duration,omitempty"` } func (x *AbortActionConfig) Reset() { *x = AbortActionConfig{} if protoimpl.UnsafeEnabled { mi := &file_envoy_watchdog_v3_abort_action_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AbortActionConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*AbortActionConfig) ProtoMessage() {} func (x *AbortActionConfig) ProtoReflect() protoreflect.Message { mi := &file_envoy_watchdog_v3_abort_action_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AbortActionConfig.ProtoReflect.Descriptor instead. func (*AbortActionConfig) Descriptor() ([]byte, []int) { return file_envoy_watchdog_v3_abort_action_proto_rawDescGZIP(), []int{0} } func (x *AbortActionConfig) GetWaitDuration() *duration.Duration { if x != nil { return x.WaitDuration } return nil } var File_envoy_watchdog_v3_abort_action_proto protoreflect.FileDescriptor var file_envoy_watchdog_v3_abort_action_proto_rawDesc = []byte{ 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x11, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x82, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x10, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_envoy_watchdog_v3_abort_action_proto_rawDescOnce sync.Once file_envoy_watchdog_v3_abort_action_proto_rawDescData = file_envoy_watchdog_v3_abort_action_proto_rawDesc ) func file_envoy_watchdog_v3_abort_action_proto_rawDescGZIP() []byte { file_envoy_watchdog_v3_abort_action_proto_rawDescOnce.Do(func() { file_envoy_watchdog_v3_abort_action_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_watchdog_v3_abort_action_proto_rawDescData) }) return file_envoy_watchdog_v3_abort_action_proto_rawDescData } var file_envoy_watchdog_v3_abort_action_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_watchdog_v3_abort_action_proto_goTypes = []interface{}{ (*AbortActionConfig)(nil), // 0: envoy.watchdog.v3.AbortActionConfig (*duration.Duration)(nil), // 1: google.protobuf.Duration } var file_envoy_watchdog_v3_abort_action_proto_depIdxs = []int32{ 1, // 0: envoy.watchdog.v3.AbortActionConfig.wait_duration:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_envoy_watchdog_v3_abort_action_proto_init() } func file_envoy_watchdog_v3_abort_action_proto_init() { if File_envoy_watchdog_v3_abort_action_proto != nil { return } if !protoimpl.UnsafeEnabled { file_envoy_watchdog_v3_abort_action_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AbortActionConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_envoy_watchdog_v3_abort_action_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, GoTypes: file_envoy_watchdog_v3_abort_action_proto_goTypes, DependencyIndexes: file_envoy_watchdog_v3_abort_action_proto_depIdxs, MessageInfos: file_envoy_watchdog_v3_abort_action_proto_msgTypes, }.Build() File_envoy_watchdog_v3_abort_action_proto = out.File file_envoy_watchdog_v3_abort_action_proto_rawDesc = nil file_envoy_watchdog_v3_abort_action_proto_goTypes = nil file_envoy_watchdog_v3_abort_action_proto_depIdxs = nil } go-control-plane-0.12.0/envoy/watchdog/v3/abort_action.pb.validate.go000077500000000000000000000102271454502223200254310ustar00rootroot00000000000000// Code generated by protoc-gen-validate. DO NOT EDIT. // source: envoy/watchdog/v3/abort_action.proto package watchdogv3 import ( "bytes" "errors" "fmt" "net" "net/mail" "net/url" "regexp" "sort" "strings" "time" "unicode/utf8" "google.golang.org/protobuf/types/known/anypb" ) // ensure the imports are used var ( _ = bytes.MinRead _ = errors.New("") _ = fmt.Print _ = utf8.UTFMax _ = (*regexp.Regexp)(nil) _ = (*strings.Reader)(nil) _ = net.IPv4len _ = time.Duration(0) _ = (*url.URL)(nil) _ = (*mail.Address)(nil) _ = anypb.Any{} _ = sort.Sort ) // Validate checks the field values on AbortActionConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. func (m *AbortActionConfig) Validate() error { return m.validate(false) } // ValidateAll checks the field values on AbortActionConfig with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in // AbortActionConfigMultiError, or nil if none found. func (m *AbortActionConfig) ValidateAll() error { return m.validate(true) } func (m *AbortActionConfig) validate(all bool) error { if m == nil { return nil } var errors []error if all { switch v := interface{}(m.GetWaitDuration()).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { errors = append(errors, AbortActionConfigValidationError{ field: "WaitDuration", reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { errors = append(errors, AbortActionConfigValidationError{ field: "WaitDuration", reason: "embedded message failed validation", cause: err, }) } } } else if v, ok := interface{}(m.GetWaitDuration()).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { return AbortActionConfigValidationError{ field: "WaitDuration", reason: "embedded message failed validation", cause: err, } } } if len(errors) > 0 { return AbortActionConfigMultiError(errors) } return nil } // AbortActionConfigMultiError is an error wrapping multiple validation errors // returned by AbortActionConfig.ValidateAll() if the designated constraints // aren't met. type AbortActionConfigMultiError []error // Error returns a concatenation of all the error messages it wraps. func (m AbortActionConfigMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) } return strings.Join(msgs, "; ") } // AllErrors returns a list of validation violation errors. func (m AbortActionConfigMultiError) AllErrors() []error { return m } // AbortActionConfigValidationError is the validation error returned by // AbortActionConfig.Validate if the designated constraints aren't met. type AbortActionConfigValidationError struct { field string reason string cause error key bool } // Field function returns field value. func (e AbortActionConfigValidationError) Field() string { return e.field } // Reason function returns reason value. func (e AbortActionConfigValidationError) Reason() string { return e.reason } // Cause function returns cause value. func (e AbortActionConfigValidationError) Cause() error { return e.cause } // Key function returns key value. func (e AbortActionConfigValidationError) Key() bool { return e.key } // ErrorName returns error name. func (e AbortActionConfigValidationError) ErrorName() string { return "AbortActionConfigValidationError" } // Error satisfies the builtin error interface func (e AbortActionConfigValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) } key := "" if e.key { key = "key for " } return fmt.Sprintf( "invalid %sAbortActionConfig.%s: %s%s", key, e.field, e.reason, cause) } var _ error = AbortActionConfigValidationError{} var _ interface { Field() string Reason() string Key() bool Cause() error ErrorName() string } = AbortActionConfigValidationError{} go-control-plane-0.12.0/examples/000077500000000000000000000000001454502223200165675ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/000077500000000000000000000000001454502223200204205ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/Dockerfile000066400000000000000000000001551454502223200224130ustar00rootroot00000000000000FROM golang:1.21 WORKDIR /go/src/dyplomat COPY . /go/src/dyplomat RUN go install -v ./... CMD ["dyplomat"] go-control-plane-0.12.0/examples/dyplomat/Makefile000066400000000000000000000002771454502223200220660ustar00rootroot00000000000000.PHONY: test test: go test ./... -race .PHONY: coverage coverage: go test ./... -race -covermode=atomic -coverprofile=coverage.out coverage_html: coverage go tool cover -html=coverage.out go-control-plane-0.12.0/examples/dyplomat/auth.go000066400000000000000000000066771454502223200217300ustar00rootroot00000000000000package main import ( "fmt" "net/http" "sync" "time" utilnet "k8s.io/apimachinery/pkg/util/net" heptiotoken "sigs.k8s.io/aws-iam-authenticator/pkg/token" ) // TokenKind defines the token type used for remote authentication to your cluster(s). // An example NullToken and the implementation for HeptioToken (AWS) are provided. type TokenKind int const ( HeptioTokenKind TokenKind = iota NullTokenKind ) // NullTokenProvider always returns a nil token type NullTokenProvider struct{} func (t *NullTokenProvider) Kind() TokenKind { return NullTokenKind } // AuthToken contains an auth token and its expiry time type AuthToken struct { Token string expires time.Time } // Expired return whether or not the token has past its expiry time func (t *AuthToken) Expired() bool { return time.Now().After(t.expires) } type Provider interface { // Token provides a time limited token Token() (*AuthToken, error) Kind() TokenKind } // Generator interface defines the ability to grab token providers based on the cluster name type Generator interface { ProviderForCluster(cluster string) (Provider, error) } // GeneratorProvider is a token provider which mints tokens as well type GeneratorProvider interface { Provider Generator } type heptioTokenProvider struct { lastToken *AuthToken clusterName string lock sync.Mutex } func (t *heptioTokenProvider) refresh() error { t.lock.Lock() defer t.lock.Unlock() gen, err := heptiotoken.NewGenerator(false, false) if err != nil { fmt.Printf("heptio authenticator error %v", err) return err } rawToken, err := gen.Get(t.clusterName) if err != nil { fmt.Printf("token data invalid %v", err) return err } token := AuthToken{ Token: rawToken.Token, expires: rawToken.Expiration, } t.lastToken = &token return nil } // Token returns a heptio token, refreshing it if need be func (t *heptioTokenProvider) Token() (*AuthToken, error) { if t.lastToken != nil { if time.Now().After(t.lastToken.expires) { err := t.refresh() if err != nil { return nil, err } } } else { err := t.refresh() if err != nil { return nil, err } } return t.lastToken, nil } func (t *heptioTokenProvider) Kind() TokenKind { return HeptioTokenKind } // NewHeptioProvider returns an initialized heptio token provider func NewHeptioProvider(clusterName string) Provider { return &heptioTokenProvider{ clusterName: clusterName, } } type heptioGenerator struct { clusters sync.Map } func (h *heptioGenerator) ProviderForCluster(cluster string) (Provider, error) { provider := NewHeptioProvider(cluster) providerFromMap, _ := h.clusters.LoadOrStore(cluster, provider) return providerFromMap.(*heptioTokenProvider), nil } func NewHeptioGenetor() Generator { return &heptioGenerator{} } type requestCanceler interface { CancelRequest(*http.Request) } type TokenRoundtripper struct { RoundTripper http.RoundTripper TokenProvider Provider } func (rt *TokenRoundtripper) RoundTrip(req *http.Request) (*http.Response, error) { if len(req.Header.Get("Authorization")) != 0 { return rt.RoundTripper.RoundTrip(req) } req = utilnet.CloneRequest(req) token, err := rt.TokenProvider.Token() if err != nil { return nil, err } req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token.Token)) return rt.RoundTripper.RoundTrip(req) } func (rt *TokenRoundtripper) CancelRequest(req *http.Request) { if canceler, ok := rt.RoundTripper.(requestCanceler); ok { canceler.CancelRequest(req) } } go-control-plane-0.12.0/examples/dyplomat/bootstrap.go000066400000000000000000000030161454502223200227640ustar00rootroot00000000000000package main import ( "encoding/base64" "io/ioutil" "net/http" "strings" "time" yaml "gopkg.in/yaml.v2" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" ) type BootstrapConfig struct { Name string Server string CA string // CA is expected to be base64 encoded PEM file } var bootstrapConfigs []BootstrapConfig func CreateBootstrapClients() ([]kubernetes.Interface, error) { var bootstrapClients []kubernetes.Interface bootstrapYaml, err := ioutil.ReadFile("./bootstrap.yaml") if err != nil { panic(err) } err = yaml.Unmarshal(bootstrapYaml, &bootstrapConfigs) if err != nil { panic(err) } for _, cluster := range bootstrapConfigs { // CA is base64 encoded, so we decode caReader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(cluster.CA)) caBytes, _ := ioutil.ReadAll(caReader) var restConfig *rest.Config restConfig = &rest.Config{ Host: cluster.Server, TLSClientConfig: rest.TLSClientConfig{ CAData: caBytes, }, } previousWrappedTransport := restConfig.WrapTransport restConfig.WrapTransport = func(rt http.RoundTripper) http.RoundTripper { if previousWrappedTransport != nil { rt = previousWrappedTransport(rt) } return &TokenRoundtripper{ TokenProvider: NewHeptioProvider(cluster.Name), RoundTripper: rt, } } restConfig.Timeout = time.Second * 5 client, err := kubernetes.NewForConfig(restConfig) if err != nil { return nil, err } bootstrapClients = append(bootstrapClients, client) } return bootstrapClients, nil } go-control-plane-0.12.0/examples/dyplomat/bootstrap.yaml000066400000000000000000000004361454502223200233240ustar00rootroot00000000000000# bootstrapYaml is a simple cluster discovery mechanism to register the Kubernetes clusters we will be extending the mesh to. - name: demo1-eks server: DEMO1_API_SERVER_URL ca: DEMO1_BASE_64_ENCODED_CA - name: demo2-eks server: DEMO2_API_SERVER_URL ca: DEMO2_BASE_64_ENCODED_CA go-control-plane-0.12.0/examples/dyplomat/go.mod000066400000000000000000000056761454502223200215440ustar00rootroot00000000000000module github.com/envoyproxy/go-control-plane/examples/dyplomat go 1.17 require ( github.com/envoyproxy/go-control-plane v0.11.1 google.golang.org/grpc v1.59.0 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.28.2 k8s.io/apimachinery v0.28.2 k8s.io/client-go v0.28.2 sigs.k8s.io/aws-iam-authenticator v0.6.12 ) require ( github.com/aws/aws-sdk-go v1.44.213 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/sirupsen/logrus v1.8.1 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.11.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/term v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.100.1 // indirect k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) go-control-plane-0.12.0/examples/dyplomat/go.sum000066400000000000000000006457441454502223200215770ustar00rootroot00000000000000cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= cloud.google.com/go/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.44.213 h1:WahquyWs7cQdz0vpDVWyWETEemgSoORx0PbWL9oz2WA= github.com/aws/aws-sdk-go v1.44.213/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2 h1:hAHbPm5IJGijwng3PWk09JkG9WeqChjprR5s9bBZ+OM= github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= github.com/onsi/ginkgo/v2 v2.9.4 h1:xR7vG4IXt5RWx6FfIjyAtsoMAtnc3C/rFXBBd2AjZwE= github.com/onsi/ginkgo/v2 v2.9.4/go.mod h1:gCQYp2Q+kSoIj7ykSVb9nskRSsR6PUj4AiLywzIhbKM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.0/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c= go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM= go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0/go.mod h1:Krqnjl22jUJ0HgMzw5eveuCvFDXY4nSYb4F8t5gdrag= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0/go.mod h1:OfUCyyIiDvNXHWpcWgbF+MWvqPZiNa3YDEnivcnYsV0= go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOaG2xZeekTRzL5A= go.opentelemetry.io/otel/sdk v1.10.0/go.mod h1:vO06iKzD5baltJz1zarxMCNHFpUlUiOy4s65ECtn6kE= go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4= go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= k8s.io/api v0.26.1/go.mod h1:xd/GBNgR0f707+ATNyPmQ1oyKSgndzXij81FzWGsejg= k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= k8s.io/apimachinery v0.26.1/go.mod h1:tnPmbONNJ7ByJNz9+n9kMjNP8ON+1qoAIIC70lztu74= k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= k8s.io/client-go v0.26.1/go.mod h1:IWNSglg+rQ3OcvDkhY6+QLeasV4OYHDjdqeWkDQZwGE= k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY= k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY= k8s.io/code-generator v0.26.1/go.mod h1:OMoJ5Dqx1wgaQzKgc+ZWaZPfGjdRq/Y3WubFrZmeI3I= k8s.io/component-base v0.26.1/go.mod h1:VHrLR0b58oC035w6YQiBSbtsf0ThuSwXP+p5dD/kAWU= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= k8s.io/sample-controller v0.26.1/go.mod h1:f3gQsdfg38iReAcxh9IaHXVIdO+bEo8LKOzlX63rCP4= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/aws-iam-authenticator v0.6.12 h1:XlW7djx+FqvyIysdBN60AIKBvHMr+MWVT87U0cG+Qlk= sigs.k8s.io/aws-iam-authenticator v0.6.12/go.mod h1:uh/d/yhtzJXBdevntKgTKRaabgD2T/JI/YdV+9IaycE= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= go-control-plane-0.12.0/examples/dyplomat/main.go000066400000000000000000000111641454502223200216760ustar00rootroot00000000000000package main import ( "context" "fmt" "net" "time" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "google.golang.org/grpc" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" endpointv3 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" clusterservice "github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3" discoverygrpc "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" endpointservice "github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3" listenerservice "github.com/envoyproxy/go-control-plane/envoy/service/listener/v3" routeservice "github.com/envoyproxy/go-control-plane/envoy/service/route/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" xds "github.com/envoyproxy/go-control-plane/pkg/server/v3" corev1 "k8s.io/api/core/v1" "k8s.io/client-go/informers" k8scache "k8s.io/client-go/tools/cache" ) type EnvoyCluster struct { name string port uint32 endpoints []string } var ( endpoints []types.Resource version int snapshotCache cache.SnapshotCache endpointInformers []k8scache.SharedIndexInformer ) func main() { version = 0 snapshotCache = cache.NewSnapshotCache(false, cache.IDHash{}, nil) server := xds.NewServer(context.Background(), snapshotCache, nil) grpcServer := grpc.NewServer() lis, _ := net.Listen("tcp", ":8080") discoverygrpc.RegisterAggregatedDiscoveryServiceServer(grpcServer, server) endpointservice.RegisterEndpointDiscoveryServiceServer(grpcServer, server) clusterservice.RegisterClusterDiscoveryServiceServer(grpcServer, server) routeservice.RegisterRouteDiscoveryServiceServer(grpcServer, server) listenerservice.RegisterListenerDiscoveryServiceServer(grpcServer, server) clusters, _ := CreateBootstrapClients() for _, cluster := range clusters { stop := make(chan struct{}) defer close(stop) factory := informers.NewSharedInformerFactoryWithOptions(cluster, time.Second*10, informers.WithNamespace("demo")) informer := factory.Core().V1().Endpoints().Informer() endpointInformers = append(endpointInformers, informer) informer.AddEventHandler(k8scache.ResourceEventHandlerFuncs{ UpdateFunc: HandleEndpointsUpdate, }) go func() { informer.Run(stop) }() } if err := grpcServer.Serve(lis); err != nil { fmt.Printf("%v", err) } } func HandleEndpointsUpdate(oldObj, newObj interface{}) { edsServiceData := map[string]*EnvoyCluster{} for _, inform := range endpointInformers { for _, ep := range inform.GetStore().List() { endpoints := ep.(*corev1.Endpoints) if _, ok := endpoints.Labels["xds"]; !ok { continue } if _, ok := edsServiceData[endpoints.Name]; !ok { edsServiceData[endpoints.Name] = &EnvoyCluster{ name: endpoints.Name, } } for _, subset := range endpoints.Subsets { for i, addr := range subset.Addresses { edsServiceData[endpoints.Name].port = uint32(subset.Ports[i].Port) edsServiceData[endpoints.Name].endpoints = append(edsServiceData[endpoints.Name].endpoints, addr.IP) } } } } // for each service create endpoints edsEndpoints := make([]types.Resource, len(edsServiceData)) for _, envoyCluster := range edsServiceData { edsEndpoints = append(edsEndpoints, MakeEndpointsForCluster(envoyCluster)) } snapshot, err := cache.NewSnapshot(fmt.Sprintf("%v.0", version), map[resource.Type][]types.Resource{ resource.EndpointType: edsEndpoints, }) if err != nil { fmt.Printf("%v", err) return } IDs := snapshotCache.GetStatusKeys() for _, id := range IDs { err = snapshotCache.SetSnapshot(context.Background(), id, snapshot) if err != nil { fmt.Printf("%v", err) } } version++ } func MakeEndpointsForCluster(service *EnvoyCluster) *endpointv3.ClusterLoadAssignment { fmt.Printf("Updating endpoints for cluster %s: %v\n", service.name, service.endpoints) cla := &endpointv3.ClusterLoadAssignment{ ClusterName: service.name, Endpoints: []*endpointv3.LocalityLbEndpoints{}, } for _, endpoint := range service.endpoints { cla.Endpoints = append(cla.Endpoints, &endpointv3.LocalityLbEndpoints{ LbEndpoints: []*endpointv3.LbEndpoint{{ HostIdentifier: &endpointv3.LbEndpoint_Endpoint{ Endpoint: &endpointv3.Endpoint{ Address: &core.Address{ Address: &core.Address_SocketAddress{ SocketAddress: &core.SocketAddress{ Protocol: core.SocketAddress_TCP, Address: endpoint, PortSpecifier: &core.SocketAddress_PortValue{ PortValue: service.port, }, }, }, }, }, }, }}, }, ) } return cla } go-control-plane-0.12.0/examples/dyplomat/readme.md000066400000000000000000000041761454502223200222070ustar00rootroot00000000000000# Dyplomat Dyplomat is an example Envoy control plane implementation built on top of go-control-plane that demonstrates how you can use kubernetes informers to build a multi Kubernetes cluster Envoy serivce mesh. ## AWS Setup Instructions This example comes with sample terraform to run a Kubernetes-aware control plane in an AWS VPC with 2 EKS clusters serving traffic across two hello world apps. ### Prerequisites You will need: 1. [terraform cli](https://www.terraform.io/downloads.html) installed (>v0.12) 1. An AWS account with credentials set up locally in `~/.aws/credentials` ### Setup 1. Initialize terraform: ``` $ cd terraform/ $ terraform init ``` 1. Configure `eks/variables.tf`. Fill in your AWS profile to use for auth (from `~/.aws/config`), and two subnets in your default VPC for that account that EKS will use to bootstrap the clusters. 1. Create EKS clusters: ``` $ terraform apply -target=module.eks ``` 1. Use the AWS UI to add the security group of the other cluster to each cluster to allow traffic across clusters. 1. Set up [local kubectl](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) for your new EKS clusters. 1. Build `dyplomat` docker image and push to your registry: ``` $ cd examples/dyplomat $ docker build . -t $REGISTRY/dyplomat:latest && docker push $REGISTRY/dyplomat:latest ``` 1. Fill in `rbac/variables.tf`, then configure IAM role for dyplomat by running the `rbac` terraform module. ``` $ terraform apply -target=module.rbac ``` 1. Fill in your cluster api server URL's and cluster CA's in `bootstrap.yaml` 1. Run `apps` terraform against each EKS cluster: ``` $ kubectl config use-context demo1-eks $ terraform apply -target=module.apps $ kubectl config use-context demo2-eks $ terraform apply -target=module.apps ``` This will bring up a front envoy, dyplomat, and two hello world apps (nginx web servers) in each cluster. ## Adding other cloud providers The example dyplomat implementation can be extended to be compatible with other cloud providers by implementing a new `TokenKind` in `dyplomat/auth.go` go-control-plane-0.12.0/examples/dyplomat/terraform/000077500000000000000000000000001454502223200224215ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/terraform/apps/000077500000000000000000000000001454502223200233645ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/terraform/apps/dyplomat.tf000066400000000000000000000035711454502223200255560ustar00rootroot00000000000000 resource "kubernetes_service_account" "dyplomat" { metadata { name = "dyplomat" namespace = "demo" annotations = { "eks.amazonaws.com/role-arn" = vars.dyplomat_role_arn } } } resource "kubernetes_cluster_role" "dyplomat" { metadata { name = "dyplomat" } rule { api_groups = [""] resources = ["endpoints"] verbs = ["get", "list", "watch"] } } resource "kubernetes_cluster_role_binding" "dyplomat" { metadata { name = "dyplomat" } role_ref { api_group = "rbac.authorization.k8s.io" kind = "ClusterRole" name = "dyplomat" } subject { kind = "User" name = vars.dyplomat_role_arn api_group = "rbac.authorization.k8s.io" namespace = "demo" } subject { kind = "User" name = "system:serviceaccount:demo:dyplomat" api_group = "rbac.authorization.k8s.io" namespace = "demo" } } resource "kubernetes_deployment" "dyplomat" { metadata { name = "dyplomat" labels = { app = "dyplomat" } namespace = "demo" } spec { replicas = 1 selector { match_labels = { app = "dyplomat" } } template { metadata { labels = { app = "dyplomat" } } spec { service_account_name = "dyplomat" automount_service_account_token = true container { image = vars.dyplomat_image name = "dyplomat" image_pull_policy = "Always" port { container_port = "8080" protocol = "TCP" name = "http" } } } } } } resource "kubernetes_service" "dyplomat" { metadata { name = "dyplomat" namespace = "demo" } spec { selector = { app = "dyplomat" } session_affinity = "ClientIP" port { port = 8080 target_port = 8080 } } } go-control-plane-0.12.0/examples/dyplomat/terraform/apps/envoysidecar.yaml000066400000000000000000000061661454502223200267540ustar00rootroot00000000000000admin: access_log_path: "/tmp/admin_access.log" address: socket_address: address: "127.0.0.1" port_value: 8081 static_resources: listeners: - address: socket_address: address: 0.0.0.0 port_value: 8000 filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager codec_type: auto stat_prefix: ingress_http route_config: name: local_route virtual_hosts: - name: service domains: - "*" routes: - match: prefix: "/" route: cluster: local_service http_filters: - name: envoy.filters.http.router typed_config: {} - address: socket_address: address: 0.0.0.0 port_value: 8001 filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager codec_type: auto stat_prefix: egress_http route_config: name: local_route virtual_hosts: - name: backend domains: - "*" routes: - match: prefix: "/serviceone" route: cluster: serviceone - match: prefix: "/servicetwo" route: cluster: servicetwo http_filters: - name: envoy.filters.http.router typed_config: {} clusters: - name: local_service connect_timeout: 0.25s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: local_service endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 8080 - name: dyplomat connect_timeout: 0.25s type: strict_dns lb_policy: ROUND_ROBIN http2_protocol_options: {} upstream_connection_options: tcp_keepalive: {} load_assignment: cluster_name: dyplomat endpoints: - lb_endpoints: - endpoint: address: socket_address: address: dyplomat port_value: 8080 - name: serviceone connect_timeout: 0.25s type: EDS lb_policy: round_robin http2_protocol_options: {} eds_cluster_config: eds_config: api_config_source: api_type: GRPC grpc_services: - envoy_grpc: cluster_name: dyplomat - name: servicetwo connect_timeout: 0.25s type: EDS lb_policy: round_robin http2_protocol_options: {} eds_cluster_config: eds_config: api_config_source: api_type: GRPC grpc_services: - envoy_grpc: cluster_name: dyplomat go-control-plane-0.12.0/examples/dyplomat/terraform/apps/frontenvoy.tf000066400000000000000000000030441454502223200261310ustar00rootroot00000000000000resource "kubernetes_deployment" "frontenvoy" { metadata { name = "frontenvoy" labels = { app = "frontenvoy" } namespace = "demo" } spec { replicas = 1 selector { match_labels = { app = "frontenvoy" } } template { metadata { labels = { app = "frontenvoy" } } spec { container { image = "envoyproxy/envoy:v1.14.4" name = "frontenvoy" command = ["/usr/local/bin/envoy"] args = [ "--config-path /etc/envoy/frontenvoy.yaml", "--service-cluster frontenvoy", "--service-node mesh", ] volume_mount { name = "envoy" mount_path = "/etc/envoy" } port { container_port = "8080" protocol = "TCP" name = "http" } } volume { name = "envoy" config_map { name = "frontenvoy-cm" } } } } } } resource "kubernetes_config_map" "frontenvoy-cm" { metadata { name = "frontenvoy-cm" namespace = "demo" } data = { "frontenvoy.yaml" = "${file("${path.module}/frontenvoy.yaml")}" } } resource "kubernetes_service" "frontenvoy" { metadata { name = "frontenvoy" namespace = "demo" } spec { selector = { app = "frontenvoy" } session_affinity = "ClientIP" port { port = 8080 target_port = 8080 } cluster_ip = "None" } } go-control-plane-0.12.0/examples/dyplomat/terraform/apps/frontenvoy.yaml000066400000000000000000000043631454502223200264670ustar00rootroot00000000000000static_resources: listeners: - address: socket_address: address: 0.0.0.0 port_value: 8080 filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager codec_type: auto stat_prefix: ingress_http route_config: name: local_route virtual_hosts: - name: backend domains: - "*" routes: - match: prefix: "/serviceone" route: cluster: serviceone - match: prefix: "/servicetwo" route: cluster: servicetwo http_filters: - name: envoy.filters.http.router typed_config: {} clusters: - name: dyplomat connect_timeout: 0.25s type: strict_dns lb_policy: ROUND_ROBIN http2_protocol_options: {} upstream_connection_options: tcp_keepalive: {} load_assignment: cluster_name: dyplomat endpoints: - lb_endpoints: - endpoint: address: socket_address: address: dyplomat port_value: 8080 - name: serviceone connect_timeout: 0.25s type: EDS lb_policy: round_robin http2_protocol_options: {} eds_cluster_config: eds_config: api_config_source: api_type: GRPC grpc_services: - envoy_grpc: cluster_name: dyplomat - name: servicetwo connect_timeout: 0.25s type: EDS lb_policy: round_robin http2_protocol_options: {} eds_cluster_config: eds_config: api_config_source: api_type: GRPC grpc_services: - envoy_grpc: cluster_name: dyplomat admin: access_log_path: "/dev/null" address: socket_address: address: 0.0.0.0 port_value: 8081 layered_runtime: layers: - name: static_layer_0 static_layer: envoy: resource_limits: listener: example_listener_name: connection_limit: 10000 go-control-plane-0.12.0/examples/dyplomat/terraform/apps/namespace.tf000066400000000000000000000002041454502223200256470ustar00rootroot00000000000000provider "kubernetes" { version = "~> 1.11" } resource "kubernetes_namespace" "namespace" { metadata { name = "demo" } } go-control-plane-0.12.0/examples/dyplomat/terraform/apps/serviceone.tf000066400000000000000000000035151454502223200260650ustar00rootroot00000000000000resource "kubernetes_deployment" "serviceone" { metadata { name = "serviceone" labels = { app = "serviceone" } namespace = "demo" } spec { replicas = 1 selector { match_labels = { app = "serviceone" } } template { metadata { labels = { app = "serviceone" } } spec { container { image = "envoyproxy/envoy:v1.14.4" name = "envoysidecar" command = ["/usr/local/bin/envoy"] args = [ "--config-path /etc/envoy/envoysidecar.yaml", "--mode serve", "--service-cluster serviceone", "--service-node mesh", ] volume_mount { name = "envoy" mount_path = "/etc/envoy" } port { container_port = "8000" protocol = "TCP" name = "http" } port { container_port = "8001" protocol = "TCP" name = "envoy-admin" } } container { image = "nginx:latest" name = "serviceone" } volume { name = "envoy" config_map { name = "serviceone-cm" } } } } } } resource "kubernetes_config_map" "serviceone-cm" { metadata { name = "serviceone-cm" namespace = "demo" } data = { "envoysidecar.yaml" = "${file("${path.module}/envoysidecar.yaml")}" } } resource "kubernetes_service" "serviceone" { metadata { name = "serviceone" namespace = "demo" labels = { xds = "true" } } spec { selector = { app = "serviceone" } session_affinity = "ClientIP" port { port = 8000 target_port = 8000 } type = "NodePort" } } go-control-plane-0.12.0/examples/dyplomat/terraform/apps/servicetwo.tf000066400000000000000000000035141454502223200261140ustar00rootroot00000000000000resource "kubernetes_deployment" "servicetwo" { metadata { name = "servicetwo" labels = { app = "servicetwo" } namespace = "demo" } spec { replicas = 1 selector { match_labels = { app = "servicetwo" } } template { metadata { labels = { app = "servicetwo" } } spec { container { image = "envoyproxy/envoy:v1.14.4" name = "envoysidecar" command = ["/usr/local/bin/envoy"] args = [ "--config-path /etc/envoy/envoysidecar.yaml", "--mode serve", "--service-cluster servicetwo", "--service-node mesh" ] volume_mount { name = "envoy" mount_path = "/etc/envoy" } port { container_port = "8000" protocol = "TCP" name = "http" } port { container_port = "8001" protocol = "TCP" name = "envoy-admin" } } container { image = "nginx:latest" name = "servicetwo" } volume { name = "envoy" config_map { name = "servicetwo-cm" } } } } } } resource "kubernetes_config_map" "servicetwo-cm" { metadata { name = "servicetwo-cm" namespace = "demo" } data = { "envoysidecar.yaml" = "${file("${path.module}/envoysidecar.yaml")}" } } resource "kubernetes_service" "servicetwo" { metadata { name = "servicetwo" namespace = "demo" labels = { xds = "true" } } spec { selector = { app = "servicetwo" } session_affinity = "ClientIP" port { port = 8000 target_port = 8000 } type = "NodePort" } } go-control-plane-0.12.0/examples/dyplomat/terraform/apps/variables.tf000066400000000000000000000004261454502223200256710ustar00rootroot00000000000000variable "dyplomat_image" { description = "Registry and path for your dyplomat image" default = "myregistry/dyplomat:latest" } variable "dyplomat_role_arn" { description = "role ARN for dyplomat IAM role" default = "arn:aws:iam::ACCOUNT_NO:role/dyplomat" } go-control-plane-0.12.0/examples/dyplomat/terraform/eks/000077500000000000000000000000001454502223200232035ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/terraform/eks/eks-cluster-1.tf000066400000000000000000000051761454502223200261460ustar00rootroot00000000000000provider "aws" { version = "~> 2.62" region = var.region profile = var.profile_name } resource "aws_iam_role" "demo1_cluster" { name = "demo1_cluster" assume_role_policy = jsonencode({ Statement = [{ Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "eks.amazonaws.com" } }] Version = "2012-10-17" }) } resource "aws_iam_role" "demo1_nodes" { name = "demo1_nodes" assume_role_policy = jsonencode({ Statement = [{ Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "ec2.amazonaws.com" } }] Version = "2012-10-17" }) } resource "aws_iam_role_policy_attachment" "demo1_cluster_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" role = aws_iam_role.demo1_cluster.name } resource "aws_iam_role_policy_attachment" "demo1_service_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSServicePolicy" role = aws_iam_role.demo1_cluster.name } resource "aws_iam_role_policy_attachment" "demo1_worker_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy" role = aws_iam_role.demo1_nodes.name } resource "aws_iam_role_policy_attachment" "demo1_cni_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy" role = aws_iam_role.demo1_nodes.name } resource "aws_iam_role_policy_attachment" "demo1_ecr_read_only_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" role = aws_iam_role.demo1_nodes.name } resource "aws_eks_cluster" "demo1" { name = "demo1-eks" role_arn = aws_iam_role.demo1_cluster.arn vpc_config { subnet_ids = var.eks_subnets } depends_on = [ aws_iam_role_policy_attachment.demo1_cluster_policy, aws_iam_role_policy_attachment.demo1_service_policy, ] } resource "aws_eks_node_group" "demo1_kubelets" { cluster_name = aws_eks_cluster.demo1.name node_group_name = "demo1-kubelet" node_role_arn = aws_iam_role.demo1_nodes.arn subnet_ids = var.eks_subnets instance_types = ["t3.small"] scaling_config { desired_size = 1 max_size = 3 min_size = 1 } depends_on = [ aws_iam_role_policy_attachment.demo1_worker_policy, aws_iam_role_policy_attachment.demo1_cni_policy, aws_iam_role_policy_attachment.demo1_ecr_read_only_policy, ] } data "aws_eks_cluster_auth" "demo1" { name = "demo1" } output "demo1-eks-endpoint" { value = "${aws_eks_cluster.demo1.endpoint}" } output "demo1-eks-kubeconfig-certificate-authority-data" { value = "${aws_eks_cluster.demo1.certificate_authority.0.data}" } go-control-plane-0.12.0/examples/dyplomat/terraform/eks/eks-cluster-2.tf000066400000000000000000000050401454502223200261350ustar00rootroot00000000000000resource "aws_iam_role" "demo2_cluster" { name = "demo2_cluster" assume_role_policy = jsonencode({ Statement = [{ Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "eks.amazonaws.com" } }] Version = "2012-10-17" }) } resource "aws_iam_role" "demo2_nodes" { name = "demo2_nodes" assume_role_policy = jsonencode({ Statement = [{ Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "ec2.amazonaws.com" } }] Version = "2012-10-17" }) } resource "aws_iam_role_policy_attachment" "demo2_cluster_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" role = aws_iam_role.demo2_cluster.name } resource "aws_iam_role_policy_attachment" "demo2_service_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSServicePolicy" role = aws_iam_role.demo2_cluster.name } resource "aws_iam_role_policy_attachment" "demo2_worker_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy" role = aws_iam_role.demo2_nodes.name } resource "aws_iam_role_policy_attachment" "demo2_cni_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy" role = aws_iam_role.demo2_nodes.name } resource "aws_iam_role_policy_attachment" "demo2_ecr_read_only_policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" role = aws_iam_role.demo2_nodes.name } resource "aws_eks_cluster" "demo2" { name = "demo2-eks" role_arn = aws_iam_role.demo2_cluster.arn vpc_config { subnet_ids = var.eks_subnets } depends_on = [ aws_iam_role_policy_attachment.demo2_cluster_policy, aws_iam_role_policy_attachment.demo2_service_policy, ] } resource "aws_eks_node_group" "demo2_kubelets" { cluster_name = aws_eks_cluster.demo2.name node_group_name = "demo2-kubelet" node_role_arn = aws_iam_role.demo2_nodes.arn subnet_ids = var.eks_subnets instance_types = ["t3.small"] scaling_config { desired_size = 1 max_size = 3 min_size = 1 } depends_on = [ aws_iam_role_policy_attachment.demo2_worker_policy, aws_iam_role_policy_attachment.demo2_cni_policy, aws_iam_role_policy_attachment.demo2_ecr_read_only_policy, ] } data "aws_eks_cluster_auth" "demo2" { name = "demo2" } output "demo2-eks-endpoint" { value = "${aws_eks_cluster.demo2.endpoint}" } output "demo2-eks-kubeconfig-certificate-authority-data" { value = "${aws_eks_cluster.demo2.certificate_authority.0.data}" } go-control-plane-0.12.0/examples/dyplomat/terraform/eks/variables.tf000066400000000000000000000005121454502223200255040ustar00rootroot00000000000000variable "region" { description = "AWS region" default = "us-east-1" } variable "profile_name" { description = "AWS auth profile to use" default = "" } variable "eks_subnets" { description = "List of CIDR subnet ids the eks cluster will be created with. Must be in 2 different AZs." default = ["", ""] } go-control-plane-0.12.0/examples/dyplomat/terraform/modules.tf000066400000000000000000000003051454502223200244220ustar00rootroot00000000000000terraform { required_version = ">= 0.12" backend "local" { path = "" } } module "eks" { source = "./eks" } module "rbac" { source = "./rbac" } module "apps" { source = "./apps" } go-control-plane-0.12.0/examples/dyplomat/terraform/rbac/000077500000000000000000000000001454502223200233305ustar00rootroot00000000000000go-control-plane-0.12.0/examples/dyplomat/terraform/rbac/rbac.tf000066400000000000000000000011731454502223200245740ustar00rootroot00000000000000data "aws_iam_policy_document" "dyplomat-policy" { statement { actions = [ "sts:AssumeRoleWithWebIdentity" ] principals { type = "Federated" identifiers = [vars.oidc_provider_demo2] } effect = "Allow" } statement { actions = [ "sts:AssumeRoleWithWebIdentity" ] principals { type = "Federated" identifiers = [vars.oidc_provider_demo1] } effect = "Allow" } } resource "aws_iam_role" "dyploymat" { name = "dyplomat" assume_role_policy = "${data.aws_iam_policy_document.dyplomat-policy.json}" tags = { service = "dyplomat" } } go-control-plane-0.12.0/examples/dyplomat/terraform/rbac/variables.tf000066400000000000000000000006511454502223200256350ustar00rootroot00000000000000variable "oidc_provider_demo1" { description = "demo1-eks cluster oidc provider for EKS pod identity webhook" default = "arn:aws:iam::ACCOUNT_NO:oidc-provider/oidc.eks.REGION.amazonaws.com/id/DEMO1_ID" } variable "oidc_provider_demo2" { description = "demo2-eks cluster oidc provider for EKS pod identity webhook" default = "arn:aws:iam::ACCOUNT_NO:oidc-provider/oidc.eks.REGION.amazonaws.com/id/DEMO2_ID" } go-control-plane-0.12.0/go.mod000066400000000000000000000021021454502223200160520ustar00rootroot00000000000000module github.com/envoyproxy/go-control-plane go 1.17 require ( github.com/census-instrumentation/opencensus-proto v0.4.1 github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 github.com/envoyproxy/protoc-gen-validate v1.0.2 github.com/golang/protobuf v1.5.3 github.com/google/go-cmp v0.5.9 github.com/prometheus/client_model v0.5.0 github.com/stretchr/testify v1.8.4 go.opentelemetry.io/proto/otlp v1.0.0 google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 google.golang.org/grpc v1.58.3 google.golang.org/protobuf v1.32.0 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) go-control-plane-0.12.0/go.sum000066400000000000000000005200421454502223200161070ustar00rootroot00000000000000cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw= google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= go-control-plane-0.12.0/internal/000077500000000000000000000000001454502223200165655ustar00rootroot00000000000000go-control-plane-0.12.0/internal/example/000077500000000000000000000000001454502223200202205ustar00rootroot00000000000000go-control-plane-0.12.0/internal/example/README.md000066400000000000000000000022701454502223200215000ustar00rootroot00000000000000# Example xDS Server This is an example of a trivial xDS V3 control plane server. It serves an Envoy configuration that's roughly equivalent to the one used by the Envoy ["Quick Start"](https://www.envoyproxy.io/docs/envoy/latest/start/start#quick-start-to-run-simple-example) docs: a simple http proxy. You can run the example using the project top-level Makefile, e.g.: ``` $ make example ``` The Makefile builds the example server and then runs `build/example.sh` which runs both Envoy and the example server. The example server serves a configuration defined in `internal/example/resource.go`. If everything works correctly, you should be able to open a browser to [http://localhost:10000](http://localhost:10000) and see Envoy's website. ## Files * [main/main.go](main/main.go) is the example program entrypoint. It instantiates the cache and xDS server and runs the xDS server process. * [resource.go](resource.go) generates a `Snapshot` structure which describes the configuration that the xDS server serves to Envoy. * [server.go](server.go) runs the xDS control plane server. * [logger.go](logger.go) implements the `pkg/log/Logger` interface which provides logging services to the cache. go-control-plane-0.12.0/internal/example/logger.go000066400000000000000000000026161454502223200220330ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package example import ( "log" ) // An example of a logger that implements `pkg/log/Logger`. Logs to // stdout. If Debug == false then Debugf() and Infof() won't output // anything. type Logger struct { Debug bool } // Log to stdout only if Debug is true. func (logger Logger) Debugf(format string, args ...interface{}) { if logger.Debug { log.Printf(format+"\n", args...) } } // Log to stdout only if Debug is true. func (logger Logger) Infof(format string, args ...interface{}) { if logger.Debug { log.Printf(format+"\n", args...) } } // Log to stdout always. func (logger Logger) Warnf(format string, args ...interface{}) { log.Printf(format+"\n", args...) } // Log to stdout always. func (logger Logger) Errorf(format string, args ...interface{}) { log.Printf(format+"\n", args...) } go-control-plane-0.12.0/internal/example/main/000077500000000000000000000000001454502223200211445ustar00rootroot00000000000000go-control-plane-0.12.0/internal/example/main/main.go000066400000000000000000000037121454502223200224220ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main import ( "context" "flag" "os" "github.com/envoyproxy/go-control-plane/internal/example" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test/v3" ) var ( l example.Logger port uint nodeID string ) func init() { l = example.Logger{} flag.BoolVar(&l.Debug, "debug", false, "Enable xDS server debug logging") // The port that this xDS server listens on flag.UintVar(&port, "port", 18000, "xDS management server port") // Tell Envoy to use this Node ID flag.StringVar(&nodeID, "nodeID", "test-id", "Node ID") } func main() { flag.Parse() // Create a cache cache := cache.NewSnapshotCache(false, cache.IDHash{}, l) // Create the snapshot that we'll serve to Envoy snapshot := example.GenerateSnapshot() if err := snapshot.Consistent(); err != nil { l.Errorf("snapshot inconsistency: %+v\n%+v", snapshot, err) os.Exit(1) } l.Debugf("will serve snapshot %+v", snapshot) // Add the snapshot to the cache if err := cache.SetSnapshot(context.Background(), nodeID, snapshot); err != nil { l.Errorf("snapshot error %q for %+v", err, snapshot) os.Exit(1) } // Run the xDS server ctx := context.Background() cb := &test.Callbacks{Debug: l.Debug} srv := server.NewServer(ctx, cache, cb) example.RunServer(srv, port) } go-control-plane-0.12.0/internal/example/resource.go000066400000000000000000000126221454502223200224010ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package example import ( "time" "google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/durationpb" cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" endpoint "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" listener "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3" route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" router "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3" hcm "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) const ( ClusterName = "example_proxy_cluster" RouteName = "local_route" ListenerName = "listener_0" ListenerPort = 10000 UpstreamHost = "www.envoyproxy.io" UpstreamPort = 80 ) func makeCluster(clusterName string) *cluster.Cluster { return &cluster.Cluster{ Name: clusterName, ConnectTimeout: durationpb.New(5 * time.Second), ClusterDiscoveryType: &cluster.Cluster_Type{Type: cluster.Cluster_LOGICAL_DNS}, LbPolicy: cluster.Cluster_ROUND_ROBIN, LoadAssignment: makeEndpoint(clusterName), DnsLookupFamily: cluster.Cluster_V4_ONLY, } } func makeEndpoint(clusterName string) *endpoint.ClusterLoadAssignment { return &endpoint.ClusterLoadAssignment{ ClusterName: clusterName, Endpoints: []*endpoint.LocalityLbEndpoints{{ LbEndpoints: []*endpoint.LbEndpoint{{ HostIdentifier: &endpoint.LbEndpoint_Endpoint{ Endpoint: &endpoint.Endpoint{ Address: &core.Address{ Address: &core.Address_SocketAddress{ SocketAddress: &core.SocketAddress{ Protocol: core.SocketAddress_TCP, Address: UpstreamHost, PortSpecifier: &core.SocketAddress_PortValue{ PortValue: UpstreamPort, }, }, }, }, }, }, }}, }}, } } func makeRoute(routeName string, clusterName string) *route.RouteConfiguration { return &route.RouteConfiguration{ Name: routeName, VirtualHosts: []*route.VirtualHost{{ Name: "local_service", Domains: []string{"*"}, Routes: []*route.Route{{ Match: &route.RouteMatch{ PathSpecifier: &route.RouteMatch_Prefix{ Prefix: "/", }, }, Action: &route.Route_Route{ Route: &route.RouteAction{ ClusterSpecifier: &route.RouteAction_Cluster{ Cluster: clusterName, }, HostRewriteSpecifier: &route.RouteAction_HostRewriteLiteral{ HostRewriteLiteral: UpstreamHost, }, }, }, }}, }}, } } func makeHTTPListener(listenerName string, route string) *listener.Listener { routerConfig, _ := anypb.New(&router.Router{}) // HTTP filter configuration manager := &hcm.HttpConnectionManager{ CodecType: hcm.HttpConnectionManager_AUTO, StatPrefix: "http", RouteSpecifier: &hcm.HttpConnectionManager_Rds{ Rds: &hcm.Rds{ ConfigSource: makeConfigSource(), RouteConfigName: route, }, }, HttpFilters: []*hcm.HttpFilter{{ Name: "http-router", ConfigType: &hcm.HttpFilter_TypedConfig{TypedConfig: routerConfig}, }}, } pbst, err := anypb.New(manager) if err != nil { panic(err) } return &listener.Listener{ Name: listenerName, Address: &core.Address{ Address: &core.Address_SocketAddress{ SocketAddress: &core.SocketAddress{ Protocol: core.SocketAddress_TCP, Address: "0.0.0.0", PortSpecifier: &core.SocketAddress_PortValue{ PortValue: ListenerPort, }, }, }, }, FilterChains: []*listener.FilterChain{{ Filters: []*listener.Filter{{ Name: "http-connection-manager", ConfigType: &listener.Filter_TypedConfig{ TypedConfig: pbst, }, }}, }}, } } func makeConfigSource() *core.ConfigSource { source := &core.ConfigSource{} source.ResourceApiVersion = resource.DefaultAPIVersion source.ConfigSourceSpecifier = &core.ConfigSource_ApiConfigSource{ ApiConfigSource: &core.ApiConfigSource{ TransportApiVersion: resource.DefaultAPIVersion, ApiType: core.ApiConfigSource_GRPC, SetNodeOnFirstMessageOnly: true, GrpcServices: []*core.GrpcService{{ TargetSpecifier: &core.GrpcService_EnvoyGrpc_{ EnvoyGrpc: &core.GrpcService_EnvoyGrpc{ClusterName: "xds_cluster"}, }, }}, }, } return source } func GenerateSnapshot() *cache.Snapshot { snap, _ := cache.NewSnapshot("1", map[resource.Type][]types.Resource{ resource.ClusterType: {makeCluster(ClusterName)}, resource.RouteType: {makeRoute(RouteName, ClusterName)}, resource.ListenerType: {makeHTTPListener(ListenerName, RouteName)}, }, ) return snap } go-control-plane-0.12.0/internal/example/server.go000066400000000000000000000125021454502223200220550ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package example import ( "context" "fmt" "log" "net" "time" "google.golang.org/grpc" "google.golang.org/grpc/keepalive" clusterservice "github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3" discoverygrpc "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" endpointservice "github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3" listenerservice "github.com/envoyproxy/go-control-plane/envoy/service/listener/v3" routeservice "github.com/envoyproxy/go-control-plane/envoy/service/route/v3" runtimeservice "github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3" secretservice "github.com/envoyproxy/go-control-plane/envoy/service/secret/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test/v3" ) const ( grpcKeepaliveTime = 30 * time.Second grpcKeepaliveTimeout = 5 * time.Second grpcKeepaliveMinTime = 30 * time.Second grpcMaxConcurrentStreams = 1000000 ) type Server struct { xdsserver server.Server } func NewServer(ctx context.Context, cache cache.Cache, cb *test.Callbacks) *Server { srv := server.NewServer(ctx, cache, cb) return &Server{srv} } func (s *Server) registerServer(grpcServer *grpc.Server) { // register services discoverygrpc.RegisterAggregatedDiscoveryServiceServer(grpcServer, s.xdsserver) endpointservice.RegisterEndpointDiscoveryServiceServer(grpcServer, s.xdsserver) clusterservice.RegisterClusterDiscoveryServiceServer(grpcServer, s.xdsserver) routeservice.RegisterRouteDiscoveryServiceServer(grpcServer, s.xdsserver) listenerservice.RegisterListenerDiscoveryServiceServer(grpcServer, s.xdsserver) secretservice.RegisterSecretDiscoveryServiceServer(grpcServer, s.xdsserver) runtimeservice.RegisterRuntimeDiscoveryServiceServer(grpcServer, s.xdsserver) } func (s *Server) Run(port uint) { // gRPC golang library sets a very small upper bound for the number gRPC/h2 // streams over a single TCP connection. If a proxy multiplexes requests over // a single connection to the management server, then it might lead to // availability problems. Keepalive timeouts based on connection_keepalive parameter https://www.envoyproxy.io/docs/envoy/latest/configuration/overview/examples#dynamic var grpcOptions []grpc.ServerOption grpcOptions = append(grpcOptions, grpc.MaxConcurrentStreams(grpcMaxConcurrentStreams), grpc.KeepaliveParams(keepalive.ServerParameters{ Time: grpcKeepaliveTime, Timeout: grpcKeepaliveTimeout, }), grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ MinTime: grpcKeepaliveMinTime, PermitWithoutStream: true, }), ) grpcServer := grpc.NewServer(grpcOptions...) lis, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { log.Fatal(err) } s.registerServer(grpcServer) log.Printf("management server listening on %d\n", port) if err = grpcServer.Serve(lis); err != nil { log.Println(err) } } func registerServer(grpcServer *grpc.Server, server server.Server) { // register services discoverygrpc.RegisterAggregatedDiscoveryServiceServer(grpcServer, server) endpointservice.RegisterEndpointDiscoveryServiceServer(grpcServer, server) clusterservice.RegisterClusterDiscoveryServiceServer(grpcServer, server) routeservice.RegisterRouteDiscoveryServiceServer(grpcServer, server) listenerservice.RegisterListenerDiscoveryServiceServer(grpcServer, server) secretservice.RegisterSecretDiscoveryServiceServer(grpcServer, server) runtimeservice.RegisterRuntimeDiscoveryServiceServer(grpcServer, server) } // RunServer starts an xDS server at the given port. func RunServer(srv server.Server, port uint) { // gRPC golang library sets a very small upper bound for the number gRPC/h2 // streams over a single TCP connection. If a proxy multiplexes requests over // a single connection to the management server, then it might lead to // availability problems. Keepalive timeouts based on connection_keepalive parameter https://www.envoyproxy.io/docs/envoy/latest/configuration/overview/examples#dynamic var grpcOptions []grpc.ServerOption grpcOptions = append(grpcOptions, grpc.MaxConcurrentStreams(grpcMaxConcurrentStreams), grpc.KeepaliveParams(keepalive.ServerParameters{ Time: grpcKeepaliveTime, Timeout: grpcKeepaliveTimeout, }), grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ MinTime: grpcKeepaliveMinTime, PermitWithoutStream: true, }), ) grpcServer := grpc.NewServer(grpcOptions...) lis, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { log.Fatal(err) } registerServer(grpcServer, srv) log.Printf("management server listening on %d\n", port) if err = grpcServer.Serve(lis); err != nil { log.Println(err) } } go-control-plane-0.12.0/internal/upstream/000077500000000000000000000000001454502223200204255ustar00rootroot00000000000000go-control-plane-0.12.0/internal/upstream/README.md000066400000000000000000000006111454502223200217020ustar00rootroot00000000000000# HTTP Upstream Test Server This server is used by the integration tests as an upstream server. It simply responds to HTTP GET requests with a canned message that is then proxied to the test framework via Envoy. For more info see the ```build/integration.sh``` script which runs the upstream server, and ```pkg/test/main/main.go``` for the test framework that sends and checks the requests. go-control-plane-0.12.0/internal/upstream/main.go000066400000000000000000000025001454502223200216750ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main import ( "flag" "fmt" "log" "net/http" ) func main() { var ( upstreamPort uint hello string ) flag.UintVar(&upstreamPort, "upstream", 18080, "Upstream HTTP/1.1 port") flag.StringVar(&hello, "message", "Default message", "Message to send in response") flag.Parse() log.Printf("upstream listening HTTP/1.1 on %d\n", upstreamPort) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if _, err := w.Write([]byte(hello)); err != nil { log.Println(err) } }) // Ignore: G114: Use of net/http serve function that has no support for setting timeouts // nolint:gosec if err := http.ListenAndServe(fmt.Sprintf(":%d", upstreamPort), nil); err != nil { log.Println(err) } } go-control-plane-0.12.0/pkg/000077500000000000000000000000001454502223200155325ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/cache/000077500000000000000000000000001454502223200165755ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/cache/types/000077500000000000000000000000001454502223200177415ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/cache/types/types.go000066400000000000000000000026021454502223200214340ustar00rootroot00000000000000package types import ( "time" "google.golang.org/protobuf/proto" ) // Resource is the base interface for the xDS payload. type Resource interface { proto.Message } // ResourceWithTTL is a Resource with an optional TTL. type ResourceWithTTL struct { Resource Resource TTL *time.Duration } // ResourceWithName provides a name for out-of-tree resources. type ResourceWithName interface { proto.Message GetName() string } // MarshaledResource is an alias for the serialized binary array. type MarshaledResource = []byte // SkipFetchError is the error returned when the cache fetch is short // circuited due to the client's version already being up-to-date. type SkipFetchError struct{} // Error satisfies the error interface func (e SkipFetchError) Error() string { return "skip fetch: version up to date" } // ResponseType enumeration of supported response types type ResponseType int // NOTE: The order of this enum MATTERS! // https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#aggregated-discovery-service // ADS expects things to be returned in a specific order. // See the following issue for details: https://github.com/envoyproxy/go-control-plane/issues/526 const ( Cluster ResponseType = iota Endpoint Listener Route ScopedRoute VirtualHost Secret Runtime ExtensionConfig RateLimitConfig UnknownType // token to count the total number of supported types ) go-control-plane-0.12.0/pkg/cache/v3/000077500000000000000000000000001454502223200171255ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/cache/v3/cache.go000066400000000000000000000332201454502223200205170ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package cache defines a configuration cache for the server. package cache import ( "context" "errors" "fmt" "sync/atomic" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/durationpb" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" ) // Request is an alias for the discovery request type. type Request = discovery.DiscoveryRequest // DeltaRequest is an alias for the delta discovery request type. type DeltaRequest = discovery.DeltaDiscoveryRequest // ConfigWatcher requests watches for configuration resources by a node, last // applied version identifier, and resource names hint. The watch should send // the responses when they are ready. The watch can be canceled by the // consumer, in effect terminating the watch for the request. // ConfigWatcher implementation must be thread-safe. type ConfigWatcher interface { // CreateWatch returns a new open watch from a non-empty request. // This is the entrypoint to propagate configuration changes the // provided Response channel. State from the gRPC server is utilized // to make sure consuming cache implementations can see what the server has sent to clients. // // An individual consumer normally issues a single open watch by each type URL. // // The provided channel produces requested resources as responses, once they are available. // // Cancel is an optional function to release resources in the producer. If // provided, the consumer may call this function multiple times. CreateWatch(*Request, stream.StreamState, chan Response) (cancel func()) // CreateDeltaWatch returns a new open incremental xDS watch. // This is the entrypoint to propagate configuration changes the // provided DeltaResponse channel. State from the gRPC server is utilized // to make sure consuming cache implementations can see what the server has sent to clients. // // The provided channel produces requested resources as responses, or spontaneous updates in accordance // with the incremental xDS specification. // // Cancel is an optional function to release resources in the producer. If // provided, the consumer may call this function multiple times. CreateDeltaWatch(*DeltaRequest, stream.StreamState, chan DeltaResponse) (cancel func()) } // ConfigFetcher fetches configuration resources from cache type ConfigFetcher interface { // Fetch implements the polling method of the config cache using a non-empty request. Fetch(context.Context, *Request) (Response, error) } // Cache is a generic config cache with a watcher. type Cache interface { ConfigWatcher ConfigFetcher } // Response is a wrapper around Envoy's DiscoveryResponse. type Response interface { // Get the Constructed DiscoveryResponse GetDiscoveryResponse() (*discovery.DiscoveryResponse, error) // Get the original Request for the Response. GetRequest() *discovery.DiscoveryRequest // Get the version in the Response. GetVersion() (string, error) // Get the context provided during response creation. GetContext() context.Context } // DeltaResponse is a wrapper around Envoy's DeltaDiscoveryResponse type DeltaResponse interface { // Get the constructed DeltaDiscoveryResponse GetDeltaDiscoveryResponse() (*discovery.DeltaDiscoveryResponse, error) // Get the request that created the watch that we're now responding to. This is provided to allow the caller to correlate the // response with a request. Generally this will be the latest request seen on the stream for the specific type. GetDeltaRequest() *discovery.DeltaDiscoveryRequest // Get the version in the DeltaResponse. This field is generally used for debugging purposes as noted by the Envoy documentation. GetSystemVersion() (string, error) // Get the version map of the internal cache. // The version map consists of updated version mappings after this response is applied GetNextVersionMap() map[string]string // Get the context provided during response creation GetContext() context.Context } // RawResponse is a pre-serialized xDS response containing the raw resources to // be included in the final Discovery Response. type RawResponse struct { // Request is the original request. Request *discovery.DiscoveryRequest // Version of the resources as tracked by the cache for the given type. // Proxy responds with this version as an acknowledgement. Version string // Resources to be included in the response. Resources []types.ResourceWithTTL // Whether this is a heartbeat response. For xDS versions that support TTL, this // will be converted into a response that doesn't contain the actual resource protobuf. // This allows for more lightweight updates that server only to update the TTL timer. Heartbeat bool // Context provided at the time of response creation. This allows associating additional // information with a generated response. Ctx context.Context // marshaledResponse holds an atomic reference to the serialized discovery response. marshaledResponse atomic.Value } // RawDeltaResponse is a pre-serialized xDS response that utilizes the delta discovery request/response objects. type RawDeltaResponse struct { // Request is the latest delta request on the stream. DeltaRequest *discovery.DeltaDiscoveryRequest // SystemVersionInfo holds the currently applied response system version and should be used for debugging purposes only. SystemVersionInfo string // Resources to be included in the response. Resources []types.Resource // RemovedResources is a list of resource aliases which should be dropped by the consuming client. RemovedResources []string // NextVersionMap consists of updated version mappings after this response is applied NextVersionMap map[string]string // Context provided at the time of response creation. This allows associating additional // information with a generated response. Ctx context.Context // Marshaled Resources to be included in the response. marshaledResponse atomic.Value } var ( _ Response = &RawResponse{} _ DeltaResponse = &RawDeltaResponse{} ) // PassthroughResponse is a pre constructed xDS response that need not go through marshaling transformations. type PassthroughResponse struct { // Request is the original request. Request *discovery.DiscoveryRequest // The discovery response that needs to be sent as is, without any marshaling transformations. DiscoveryResponse *discovery.DiscoveryResponse ctx context.Context } // DeltaPassthroughResponse is a pre constructed xDS response that need not go through marshaling transformations. type DeltaPassthroughResponse struct { // Request is the latest delta request on the stream DeltaRequest *discovery.DeltaDiscoveryRequest // NextVersionMap consists of updated version mappings after this response is applied NextVersionMap map[string]string // This discovery response that needs to be sent as is, without any marshaling transformations DeltaDiscoveryResponse *discovery.DeltaDiscoveryResponse ctx context.Context } var ( _ Response = &PassthroughResponse{} _ DeltaResponse = &DeltaPassthroughResponse{} ) // GetDiscoveryResponse performs the marshaling the first time its called and uses the cached response subsequently. // This is necessary because the marshaled response does not change across the calls. // This caching behavior is important in high throughput scenarios because grpc marshaling has a cost and it drives the cpu utilization under load. func (r *RawResponse) GetDiscoveryResponse() (*discovery.DiscoveryResponse, error) { marshaledResponse := r.marshaledResponse.Load() if marshaledResponse == nil { marshaledResources := make([]*anypb.Any, len(r.Resources)) for i, resource := range r.Resources { maybeTtldResource, resourceType, err := r.maybeCreateTTLResource(resource) if err != nil { return nil, err } marshaledResource, err := MarshalResource(maybeTtldResource) if err != nil { return nil, err } marshaledResources[i] = &anypb.Any{ TypeUrl: resourceType, Value: marshaledResource, } } marshaledResponse = &discovery.DiscoveryResponse{ VersionInfo: r.Version, Resources: marshaledResources, TypeUrl: r.GetRequest().GetTypeUrl(), } r.marshaledResponse.Store(marshaledResponse) } return marshaledResponse.(*discovery.DiscoveryResponse), nil } // GetDeltaDiscoveryResponse performs the marshaling the first time its called and uses the cached response subsequently. // We can do this because the marshaled response does not change across the calls. // This caching behavior is important in high throughput scenarios because grpc marshaling has a cost and it drives the cpu utilization under load. func (r *RawDeltaResponse) GetDeltaDiscoveryResponse() (*discovery.DeltaDiscoveryResponse, error) { marshaledResponse := r.marshaledResponse.Load() if marshaledResponse == nil { marshaledResources := make([]*discovery.Resource, len(r.Resources)) for i, resource := range r.Resources { name := GetResourceName(resource) marshaledResource, err := MarshalResource(resource) if err != nil { return nil, err } version := HashResource(marshaledResource) if version == "" { return nil, errors.New("failed to create a resource hash") } marshaledResources[i] = &discovery.Resource{ Name: name, Resource: &anypb.Any{ TypeUrl: r.GetDeltaRequest().GetTypeUrl(), Value: marshaledResource, }, Version: version, } } marshaledResponse = &discovery.DeltaDiscoveryResponse{ Resources: marshaledResources, RemovedResources: r.RemovedResources, TypeUrl: r.GetDeltaRequest().GetTypeUrl(), SystemVersionInfo: r.SystemVersionInfo, } r.marshaledResponse.Store(marshaledResponse) } return marshaledResponse.(*discovery.DeltaDiscoveryResponse), nil } // GetRequest returns the original Discovery Request. func (r *RawResponse) GetRequest() *discovery.DiscoveryRequest { return r.Request } func (r *RawResponse) GetContext() context.Context { return r.Ctx } // GetDeltaRequest returns the original DeltaRequest func (r *RawDeltaResponse) GetDeltaRequest() *discovery.DeltaDiscoveryRequest { return r.DeltaRequest } // GetVersion returns the response version. func (r *RawResponse) GetVersion() (string, error) { return r.Version, nil } // GetSystemVersion returns the raw SystemVersion func (r *RawDeltaResponse) GetSystemVersion() (string, error) { return r.SystemVersionInfo, nil } // NextVersionMap returns the version map which consists of updated version mappings after this response is applied func (r *RawDeltaResponse) GetNextVersionMap() map[string]string { return r.NextVersionMap } func (r *RawDeltaResponse) GetContext() context.Context { return r.Ctx } var deltaResourceTypeURL = "type.googleapis.com/" + string(proto.MessageName(&discovery.Resource{})) func (r *RawResponse) maybeCreateTTLResource(resource types.ResourceWithTTL) (types.Resource, string, error) { if resource.TTL != nil { wrappedResource := &discovery.Resource{ Name: GetResourceName(resource.Resource), Ttl: durationpb.New(*resource.TTL), } if !r.Heartbeat { rsrc, err := anypb.New(resource.Resource) if err != nil { return nil, "", err } rsrc.TypeUrl = r.GetRequest().GetTypeUrl() wrappedResource.Resource = rsrc } return wrappedResource, deltaResourceTypeURL, nil } return resource.Resource, r.GetRequest().GetTypeUrl(), nil } // GetDiscoveryResponse returns the final passthrough Discovery Response. func (r *PassthroughResponse) GetDiscoveryResponse() (*discovery.DiscoveryResponse, error) { return r.DiscoveryResponse, nil } // GetDeltaDiscoveryResponse returns the final passthrough Delta Discovery Response. func (r *DeltaPassthroughResponse) GetDeltaDiscoveryResponse() (*discovery.DeltaDiscoveryResponse, error) { return r.DeltaDiscoveryResponse, nil } // GetRequest returns the original Discovery Request func (r *PassthroughResponse) GetRequest() *discovery.DiscoveryRequest { return r.Request } // GetDeltaRequest returns the original Delta Discovery Request func (r *DeltaPassthroughResponse) GetDeltaRequest() *discovery.DeltaDiscoveryRequest { return r.DeltaRequest } // GetVersion returns the response version. func (r *PassthroughResponse) GetVersion() (string, error) { discoveryResponse, _ := r.GetDiscoveryResponse() if discoveryResponse != nil { return discoveryResponse.GetVersionInfo(), nil } return "", fmt.Errorf("DiscoveryResponse is nil") } func (r *PassthroughResponse) GetContext() context.Context { return r.ctx } // GetSystemVersion returns the response version. func (r *DeltaPassthroughResponse) GetSystemVersion() (string, error) { deltaDiscoveryResponse, _ := r.GetDeltaDiscoveryResponse() if deltaDiscoveryResponse != nil { return deltaDiscoveryResponse.GetSystemVersionInfo(), nil } return "", fmt.Errorf("DeltaDiscoveryResponse is nil") } // NextVersionMap returns the version map from a DeltaPassthroughResponse func (r *DeltaPassthroughResponse) GetNextVersionMap() map[string]string { return r.NextVersionMap } func (r *DeltaPassthroughResponse) GetContext() context.Context { return r.ctx } go-control-plane-0.12.0/pkg/cache/v3/cache_test.go000066400000000000000000000066311454502223200215640ustar00rootroot00000000000000package cache_test import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) const ( resourceName = "route1" ) func TestResponseGetDiscoveryResponse(t *testing.T) { routes := []types.ResourceWithTTL{{Resource: &route.RouteConfiguration{Name: resourceName}}} resp := cache.RawResponse{ Request: &discovery.DiscoveryRequest{TypeUrl: resource.RouteType}, Version: "v", Resources: routes, } discoveryResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Equal(t, discoveryResponse.GetVersionInfo(), resp.Version) assert.Len(t, discoveryResponse.GetResources(), 1) cachedResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Same(t, discoveryResponse, cachedResponse) r := &route.RouteConfiguration{} err = anypb.UnmarshalTo(discoveryResponse.GetResources()[0], r, proto.UnmarshalOptions{}) require.NoError(t, err) assert.Equal(t, resourceName, r.GetName()) } func TestPassthroughResponseGetDiscoveryResponse(t *testing.T) { routes := []types.Resource{&route.RouteConfiguration{Name: resourceName}} rsrc, err := anypb.New(routes[0]) require.NoError(t, err) dr := &discovery.DiscoveryResponse{ TypeUrl: resource.RouteType, Resources: []*anypb.Any{rsrc}, VersionInfo: "v", } resp := cache.PassthroughResponse{ Request: &discovery.DiscoveryRequest{TypeUrl: resource.RouteType}, DiscoveryResponse: dr, } discoveryResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Equal(t, "v", discoveryResponse.GetVersionInfo()) assert.Len(t, discoveryResponse.GetResources(), 1) r := &route.RouteConfiguration{} err = anypb.UnmarshalTo(discoveryResponse.GetResources()[0], r, proto.UnmarshalOptions{}) require.NoError(t, err) assert.Equal(t, resourceName, r.GetName()) assert.Equal(t, discoveryResponse, dr) } func TestHeartbeatResponseGetDiscoveryResponse(t *testing.T) { routes := []types.ResourceWithTTL{{Resource: &route.RouteConfiguration{Name: resourceName}}} resp := cache.RawResponse{ Request: &discovery.DiscoveryRequest{TypeUrl: resource.RouteType}, Version: "v", Resources: routes, Heartbeat: true, } discoveryResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Equal(t, discoveryResponse.GetVersionInfo(), resp.Version) require.Len(t, discoveryResponse.GetResources(), 1) assert.False(t, isTTLResource(discoveryResponse.GetResources()[0])) cachedResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Same(t, discoveryResponse, cachedResponse) r := &route.RouteConfiguration{} err = anypb.UnmarshalTo(discoveryResponse.GetResources()[0], r, proto.UnmarshalOptions{}) require.NoError(t, err) assert.Equal(t, resourceName, r.GetName()) } func isTTLResource(resource *anypb.Any) bool { wrappedResource := &discovery.Resource{} err := protojson.Unmarshal(resource.GetValue(), wrappedResource) if err != nil { return false } return wrappedResource.GetResource() == nil } go-control-plane-0.12.0/pkg/cache/v3/delta.go000066400000000000000000000061021454502223200205440ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "context" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // groups together resource-related arguments for the createDeltaResponse function type resourceContainer struct { resourceMap map[string]types.Resource versionMap map[string]string systemVersion string } func createDeltaResponse(ctx context.Context, req *DeltaRequest, state stream.StreamState, resources resourceContainer) *RawDeltaResponse { // variables to build our response with var nextVersionMap map[string]string var filtered []types.Resource var toRemove []string // If we are handling a wildcard request, we want to respond with all resources switch { case state.IsWildcard(): if len(state.GetResourceVersions()) == 0 { filtered = make([]types.Resource, 0, len(resources.resourceMap)) } nextVersionMap = make(map[string]string, len(resources.resourceMap)) for name, r := range resources.resourceMap { // Since we've already precomputed the version hashes of the new snapshot, // we can just set it here to be used for comparison later version := resources.versionMap[name] nextVersionMap[name] = version prevVersion, found := state.GetResourceVersions()[name] if !found || (prevVersion != version) { filtered = append(filtered, r) } } // Compute resources for removal // The resource version can be set to "" here to trigger a removal even if never returned before for name := range state.GetResourceVersions() { if _, ok := resources.resourceMap[name]; !ok { toRemove = append(toRemove, name) } } default: nextVersionMap = make(map[string]string, len(state.GetSubscribedResourceNames())) // state.GetResourceVersions() may include resources no longer subscribed // In the current code this gets silently cleaned when updating the version map for name := range state.GetSubscribedResourceNames() { prevVersion, found := state.GetResourceVersions()[name] if r, ok := resources.resourceMap[name]; ok { nextVersion := resources.versionMap[name] if prevVersion != nextVersion { filtered = append(filtered, r) } nextVersionMap[name] = nextVersion } else if found { toRemove = append(toRemove, name) } } } return &RawDeltaResponse{ DeltaRequest: req, Resources: filtered, RemovedResources: toRemove, NextVersionMap: nextVersionMap, SystemVersionInfo: resources.systemVersion, Ctx: ctx, } } go-control-plane-0.12.0/pkg/cache/v3/delta_test.go000066400000000000000000000250501454502223200216060ustar00rootroot00000000000000package cache_test import ( "context" "fmt" "reflect" "testing" "time" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/testing/protocmp" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) func assertResourceMapEqual(t *testing.T, want map[string]types.Resource, got map[string]types.Resource) { t.Helper() if !cmp.Equal(want, got, protocmp.Transform()) { t.Errorf("got resources %v, want %v", got, want) } } func TestSnapshotCacheDeltaWatch(t *testing.T) { c := cache.NewSnapshotCache(false, group{}, logger{t: t}) watches := make(map[string]chan cache.DeltaResponse) // Make our initial request as a wildcard to get all resources and make sure the wildcard requesting works as intended for _, typ := range testTypes { watches[typ] = make(chan cache.DeltaResponse, 1) c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: "node", }, TypeUrl: typ, ResourceNamesSubscribe: names[typ], }, stream.NewStreamState(true, nil), watches[typ]) } if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } versionMap := make(map[string]map[string]string) for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { select { case out := <-watches[typ]: snapshot := fixture.snapshot() assertResourceMapEqual(t, cache.IndexRawResourcesByName(out.(*cache.RawDeltaResponse).Resources), snapshot.GetResources(typ)) vMap := out.GetNextVersionMap() versionMap[typ] = vMap case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } }) } // On re-request we want to use non-wildcard so we can verify the logic path of not requesting // all resources as well as individual resource removals for _, typ := range testTypes { watches[typ] = make(chan cache.DeltaResponse, 1) state := stream.NewStreamState(false, versionMap[typ]) for resource := range versionMap[typ] { state.GetSubscribedResourceNames()[resource] = struct{}{} } c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: "node", }, TypeUrl: typ, ResourceNamesSubscribe: names[typ], }, state, watches[typ]) } if count := c.GetStatusInfo(key).GetNumDeltaWatches(); count != len(testTypes) { t.Errorf("watches should be created for the latest version, saw %d watches expected %d", count, len(testTypes)) } // set partially-versioned snapshot snapshot2 := fixture.snapshot() snapshot2.Resources[types.Endpoint] = cache.NewResources(fixture.version2, []types.Resource{resource.MakeEndpoint(clusterName, 9090)}) if err := c.SetSnapshot(context.Background(), key, snapshot2); err != nil { t.Fatal(err) } if count := c.GetStatusInfo(key).GetNumDeltaWatches(); count != len(testTypes)-1 { t.Errorf("watches should be preserved for all but one, got: %d open watches instead of the expected %d open watches", count, len(testTypes)-1) } // validate response for endpoints select { case out := <-watches[testTypes[0]]: snapshot2 := fixture.snapshot() snapshot2.Resources[types.Endpoint] = cache.NewResources(fixture.version2, []types.Resource{resource.MakeEndpoint(clusterName, 9090)}) assertResourceMapEqual(t, cache.IndexRawResourcesByName(out.(*cache.RawDeltaResponse).Resources), snapshot2.GetResources(rsrc.EndpointType)) vMap := out.GetNextVersionMap() versionMap[testTypes[0]] = vMap case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } } func TestDeltaRemoveResources(t *testing.T) { c := cache.NewSnapshotCache(false, group{}, logger{t: t}) watches := make(map[string]chan cache.DeltaResponse) streams := make(map[string]*stream.StreamState) for _, typ := range testTypes { watches[typ] = make(chan cache.DeltaResponse, 1) state := stream.NewStreamState(true, make(map[string]string)) streams[typ] = &state // We don't specify any resource name subscriptions here because we want to make sure we test wildcard // functionality. This means we should receive all resources back without requesting a subscription by name. c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: "node", }, TypeUrl: typ, }, *streams[typ], watches[typ]) } if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { select { case out := <-watches[typ]: snapshot := fixture.snapshot() assertResourceMapEqual(t, cache.IndexRawResourcesByName(out.(*cache.RawDeltaResponse).Resources), snapshot.GetResources(typ)) nextVersionMap := out.GetNextVersionMap() streams[typ].SetResourceVersions(nextVersionMap) case <-time.After(time.Second): t.Fatal("failed to receive a snapshot response") } }) } // We want to continue to do wildcard requests here so we can later // test the removal of certain resources from a partial snapshot for _, typ := range testTypes { watches[typ] = make(chan cache.DeltaResponse, 1) c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: "node", }, TypeUrl: typ, }, *streams[typ], watches[typ]) } if count := c.GetStatusInfo(key).GetNumDeltaWatches(); count != len(testTypes) { t.Errorf("watches should be created for the latest version, saw %d watches expected %d", count, len(testTypes)) } // set a partially versioned snapshot with no endpoints snapshot2 := fixture.snapshot() snapshot2.Resources[types.Endpoint] = cache.NewResources(fixture.version2, []types.Resource{}) if err := c.SetSnapshot(context.Background(), key, snapshot2); err != nil { t.Fatal(err) } // validate response for endpoints select { case out := <-watches[testTypes[0]]: snapshot2 := fixture.snapshot() snapshot2.Resources[types.Endpoint] = cache.NewResources(fixture.version2, []types.Resource{}) assertResourceMapEqual(t, cache.IndexRawResourcesByName(out.(*cache.RawDeltaResponse).Resources), snapshot2.GetResources(rsrc.EndpointType)) nextVersionMap := out.GetNextVersionMap() // make sure the version maps are different since we no longer are tracking any endpoint resources if reflect.DeepEqual(streams[testTypes[0]].GetResourceVersions(), nextVersionMap) { t.Fatalf("versionMap for the endpoint resource type did not change, received: %v, instead of an empty map", nextVersionMap) } case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } } func TestConcurrentSetDeltaWatch(t *testing.T) { c := cache.NewSnapshotCache(false, group{}, logger{t: t}) for i := 0; i < 50; i++ { version := fmt.Sprintf("v%d", i) func(i int) { t.Run(fmt.Sprintf("worker%d", i), func(t *testing.T) { t.Parallel() id := fmt.Sprintf("%d", i%2) responses := make(chan cache.DeltaResponse, 1) if i < 25 { snap, err := cache.NewSnapshot("", map[rsrc.Type][]types.Resource{}) if err != nil { t.Fatal(err) } snap.Resources[types.Endpoint] = cache.NewResources(version, []types.Resource{resource.MakeEndpoint(clusterName, uint32(i))}) if err := c.SetSnapshot(context.Background(), key, snap); err != nil { t.Fatalf("snapshot failed: %s", err) } } else { cancel := c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: id, }, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{clusterName}, }, stream.NewStreamState(false, make(map[string]string)), responses) defer cancel() } }) }(i) } } type testKey struct{} func TestSnapshotDeltaCacheWatchTimeout(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) // Create a non-buffered channel that will block sends. watchCh := make(chan cache.DeltaResponse) state := stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{names[rsrc.EndpointType][0]: {}}) c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: key, }, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: names[rsrc.EndpointType], }, state, watchCh) // The first time we set the snapshot without consuming from the blocking channel, so this should time out. ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond) defer cancel() err := c.SetSnapshot(ctx, key, fixture.snapshot()) require.EqualError(t, err, context.Canceled.Error()) // Now reset the snapshot with a consuming channel. This verifies that if setting the snapshot fails, // we can retry by setting the same snapshot. In other words, we keep the watch open even if we failed // to respond to it within the deadline. watchTriggeredCh := make(chan cache.DeltaResponse) go func() { response := <-watchCh watchTriggeredCh <- response close(watchTriggeredCh) }() err = c.SetSnapshot(context.WithValue(context.Background(), testKey{}, "bar"), key, fixture.snapshot()) require.NoError(t, err) // The channel should get closed due to the watch trigger. select { case response := <-watchTriggeredCh: // Verify that we pass the context through. assert.Equal(t, "bar", response.GetContext().Value(testKey{})) case <-time.After(time.Second): t.Fatalf("timed out") } } func TestSnapshotCacheDeltaWatchCancel(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) for _, typ := range testTypes { responses := make(chan cache.DeltaResponse, 1) cancel := c.CreateDeltaWatch(&discovery.DeltaDiscoveryRequest{ Node: &core.Node{ Id: key, }, TypeUrl: typ, ResourceNamesSubscribe: names[typ], }, stream.NewStreamState(false, make(map[string]string)), responses) // Cancel the watch cancel() } // c.GetStatusKeys() should return at least 1 because we register a node ID with the above watch creations if keys := c.GetStatusKeys(); len(keys) == 0 { t.Errorf("expected to see a status info registered for watch, saw %d entries", len(keys)) } for _, typ := range testTypes { if count := c.GetStatusInfo(key).GetNumDeltaWatches(); count > 0 { t.Errorf("watches should be released for %s", typ) } } if s := c.GetStatusInfo("missing"); s != nil { t.Errorf("should not return a status for unknown key: got %#v", s) } } go-control-plane-0.12.0/pkg/cache/v3/fixtures_test.go000066400000000000000000000017561454502223200223750ustar00rootroot00000000000000package cache_test import ( "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) var fixture = &fixtureGenerator{ version: "x", version2: "y", } type fixtureGenerator struct { version string version2 string } func (f *fixtureGenerator) snapshot() *cache.Snapshot { snapshot, err := cache.NewSnapshot( f.version, map[rsrc.Type][]types.Resource{ rsrc.EndpointType: {testEndpoint}, rsrc.ClusterType: {testCluster}, rsrc.RouteType: {testRoute, testEmbeddedRoute}, rsrc.ScopedRouteType: {testScopedRoute}, rsrc.VirtualHostType: {testVirtualHost}, rsrc.ListenerType: {testScopedListener, testListener}, rsrc.RuntimeType: {testRuntime}, rsrc.SecretType: {testSecret[0]}, rsrc.ExtensionConfigType: {testExtensionConfig}, }, ) if err != nil { panic(err.Error()) } return snapshot } go-control-plane-0.12.0/pkg/cache/v3/linear.go000066400000000000000000000350261454502223200207340ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "context" "errors" "strconv" "strings" "sync" "sync/atomic" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/log" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) type watches = map[chan Response]struct{} // LinearCache supports collections of opaque resources. This cache has a // single collection indexed by resource names and manages resource versions // internally. It implements the cache interface for a single type URL and // should be combined with other caches via type URL muxing. It can be used to // supply EDS entries, for example, uniformly across a fleet of proxies. type LinearCache struct { // Type URL specific to the cache. typeURL string // Collection of resources indexed by name. resources map[string]types.Resource // Watches open by clients, indexed by resource name. Whenever resources // are changed, the watch is triggered. watches map[string]watches // Set of watches for all resources in the collection watchAll watches // Set of delta watches. A delta watch always contain the list of subscribed resources // together with its current version // version and versionPrefix fields are ignored for delta watches, because we always generate the resource version. deltaWatches map[int64]DeltaResponseWatch // Continuously incremented counter used to index delta watches. deltaWatchCount int64 // versionMap holds the current hash map of all resources in the cache when delta watches are present. // versionMap is only to be used with delta xDS. versionMap map[string]string // Continuously incremented version. version uint64 // Version prefix to be sent to the clients versionPrefix string // Versions for each resource by name. versionVector map[string]uint64 log log.Logger mu sync.RWMutex } var _ Cache = &LinearCache{} // Options for modifying the behavior of the linear cache. type LinearCacheOption func(*LinearCache) // WithVersionPrefix sets a version prefix of the form "prefixN" in the version info. // Version prefix can be used to distinguish replicated instances of the cache, in case // a client re-connects to another instance. func WithVersionPrefix(prefix string) LinearCacheOption { return func(cache *LinearCache) { cache.versionPrefix = prefix } } // WithInitialResources initializes the initial set of resources. func WithInitialResources(resources map[string]types.Resource) LinearCacheOption { return func(cache *LinearCache) { cache.resources = resources for name := range resources { cache.versionVector[name] = 0 } } } func WithLogger(log log.Logger) LinearCacheOption { return func(cache *LinearCache) { cache.log = log } } // NewLinearCache creates a new cache. See the comments on the struct definition. func NewLinearCache(typeURL string, opts ...LinearCacheOption) *LinearCache { out := &LinearCache{ typeURL: typeURL, resources: make(map[string]types.Resource), watches: make(map[string]watches), watchAll: make(watches), deltaWatches: make(map[int64]DeltaResponseWatch), versionMap: nil, version: 0, versionVector: make(map[string]uint64), } for _, opt := range opts { opt(out) } return out } func (cache *LinearCache) respond(value chan Response, staleResources []string) { var resources []types.ResourceWithTTL // TODO: optimize the resources slice creations across different clients if len(staleResources) == 0 { resources = make([]types.ResourceWithTTL, 0, len(cache.resources)) for _, resource := range cache.resources { resources = append(resources, types.ResourceWithTTL{Resource: resource}) } } else { resources = make([]types.ResourceWithTTL, 0, len(staleResources)) for _, name := range staleResources { resource := cache.resources[name] if resource != nil { resources = append(resources, types.ResourceWithTTL{Resource: resource}) } } } value <- &RawResponse{ Request: &Request{TypeUrl: cache.typeURL}, Resources: resources, Version: cache.getVersion(), Ctx: context.Background(), } } func (cache *LinearCache) notifyAll(modified map[string]struct{}) { // de-duplicate watches that need to be responded notifyList := make(map[chan Response][]string) for name := range modified { for watch := range cache.watches[name] { notifyList[watch] = append(notifyList[watch], name) } delete(cache.watches, name) } for value, stale := range notifyList { cache.respond(value, stale) } for value := range cache.watchAll { cache.respond(value, nil) } cache.watchAll = make(watches) // Building the version map has a very high cost when using SetResources to do full updates. // As it is only used with delta watches, it is only maintained when applicable. if cache.versionMap != nil { err := cache.updateVersionMap(modified) if err != nil { cache.log.Errorf("failed to update version map: %v", err) } for id, watch := range cache.deltaWatches { if !watch.StreamState.WatchesResources(modified) { continue } res := cache.respondDelta(watch.Request, watch.Response, watch.StreamState) if res != nil { delete(cache.deltaWatches, id) } } } } func (cache *LinearCache) respondDelta(request *DeltaRequest, value chan DeltaResponse, state stream.StreamState) *RawDeltaResponse { resp := createDeltaResponse(context.Background(), request, state, resourceContainer{ resourceMap: cache.resources, versionMap: cache.versionMap, systemVersion: cache.getVersion(), }) // Only send a response if there were changes if len(resp.Resources) > 0 || len(resp.RemovedResources) > 0 { if cache.log != nil { cache.log.Debugf("[linear cache] node: %s, sending delta response for typeURL %s with resources: %v removed resources: %v with wildcard: %t", request.GetNode().GetId(), request.GetTypeUrl(), GetResourceNames(resp.Resources), resp.RemovedResources, state.IsWildcard()) } value <- resp return resp } return nil } // UpdateResource updates a resource in the collection. func (cache *LinearCache) UpdateResource(name string, res types.Resource) error { if res == nil { return errors.New("nil resource") } cache.mu.Lock() defer cache.mu.Unlock() cache.version++ cache.versionVector[name] = cache.version cache.resources[name] = res // TODO: batch watch closures to prevent rapid updates cache.notifyAll(map[string]struct{}{name: {}}) return nil } // DeleteResource removes a resource in the collection. func (cache *LinearCache) DeleteResource(name string) error { cache.mu.Lock() defer cache.mu.Unlock() cache.version++ delete(cache.versionVector, name) delete(cache.resources, name) // TODO: batch watch closures to prevent rapid updates cache.notifyAll(map[string]struct{}{name: {}}) return nil } // UpdateResources updates/deletes a list of resources in the cache. // Calling UpdateResources instead of iterating on UpdateResource and DeleteResource // is significantly more efficient when using delta or wildcard watches. func (cache *LinearCache) UpdateResources(toUpdate map[string]types.Resource, toDelete []string) error { cache.mu.Lock() defer cache.mu.Unlock() cache.version++ modified := make(map[string]struct{}, len(toUpdate)+len(toDelete)) for name, resource := range toUpdate { cache.versionVector[name] = cache.version cache.resources[name] = resource modified[name] = struct{}{} } for _, name := range toDelete { delete(cache.versionVector, name) delete(cache.resources, name) modified[name] = struct{}{} } cache.notifyAll(modified) return nil } // SetResources replaces current resources with a new set of resources. // This function is useful for wildcard xDS subscriptions. // This way watches that are subscribed to all resources are triggered only once regardless of how many resources are changed. func (cache *LinearCache) SetResources(resources map[string]types.Resource) { cache.mu.Lock() defer cache.mu.Unlock() cache.version++ modified := map[string]struct{}{} // Collect deleted resource names. for name := range cache.resources { if _, found := resources[name]; !found { delete(cache.versionVector, name) modified[name] = struct{}{} } } cache.resources = resources // Collect changed resource names. // We assume all resources passed to SetResources are changed. // Otherwise we would have to do proto.Equal on resources which is pretty expensive operation for name := range resources { cache.versionVector[name] = cache.version modified[name] = struct{}{} } cache.notifyAll(modified) } // GetResources returns current resources stored in the cache func (cache *LinearCache) GetResources() map[string]types.Resource { cache.mu.RLock() defer cache.mu.RUnlock() // create a copy of our internal storage to avoid data races // involving mutations of our backing map resources := make(map[string]types.Resource, len(cache.resources)) for k, v := range cache.resources { resources[k] = v } return resources } func (cache *LinearCache) CreateWatch(request *Request, _ stream.StreamState, value chan Response) func() { if request.GetTypeUrl() != cache.typeURL { value <- nil return nil } // If the version is not up to date, check whether any requested resource has // been updated between the last version and the current version. This avoids the problem // of sending empty updates whenever an irrelevant resource changes. stale := false staleResources := []string{} // empty means all // strip version prefix if it is present var lastVersion uint64 var err error if strings.HasPrefix(request.GetVersionInfo(), cache.versionPrefix) { lastVersion, err = strconv.ParseUint(request.GetVersionInfo()[len(cache.versionPrefix):], 0, 64) } else { err = errors.New("mis-matched version prefix") } cache.mu.Lock() defer cache.mu.Unlock() switch { case err != nil: stale = true staleResources = request.GetResourceNames() case len(request.GetResourceNames()) == 0: stale = lastVersion != cache.version default: for _, name := range request.GetResourceNames() { // When a resource is removed, its version defaults 0 and it is not considered stale. if lastVersion < cache.versionVector[name] { stale = true staleResources = append(staleResources, name) } } } if stale { cache.respond(value, staleResources) return nil } // Create open watches since versions are up to date. if len(request.GetResourceNames()) == 0 { cache.watchAll[value] = struct{}{} return func() { cache.mu.Lock() defer cache.mu.Unlock() delete(cache.watchAll, value) } } for _, name := range request.GetResourceNames() { set, exists := cache.watches[name] if !exists { set = make(watches) cache.watches[name] = set } set[value] = struct{}{} } return func() { cache.mu.Lock() defer cache.mu.Unlock() for _, name := range request.GetResourceNames() { set, exists := cache.watches[name] if exists { delete(set, value) } if len(set) == 0 { delete(cache.watches, name) } } } } func (cache *LinearCache) CreateDeltaWatch(request *DeltaRequest, state stream.StreamState, value chan DeltaResponse) func() { cache.mu.Lock() defer cache.mu.Unlock() if cache.versionMap == nil { // If we had no previously open delta watches, we need to build the version map for the first time. // The version map will not be destroyed when the last delta watch is removed. // This avoids constantly rebuilding when only a few delta watches are open. modified := map[string]struct{}{} for name := range cache.resources { modified[name] = struct{}{} } err := cache.updateVersionMap(modified) if err != nil && cache.log != nil { cache.log.Errorf("failed to update version map: %v", err) } } response := cache.respondDelta(request, value, state) // if respondDelta returns nil this means that there is no change in any resource version // create a new watch accordingly if response == nil { watchID := cache.nextDeltaWatchID() if cache.log != nil { cache.log.Infof("[linear cache] open delta watch ID:%d for %s Resources:%v, system version %q", watchID, cache.typeURL, state.GetSubscribedResourceNames(), cache.getVersion()) } cache.deltaWatches[watchID] = DeltaResponseWatch{Request: request, Response: value, StreamState: state} return cache.cancelDeltaWatch(watchID) } return nil } func (cache *LinearCache) updateVersionMap(modified map[string]struct{}) error { if cache.versionMap == nil { cache.versionMap = make(map[string]string, len(modified)) } for name := range modified { r, ok := cache.resources[name] if !ok { // The resource was deleted delete(cache.versionMap, name) continue } // hash our version in here and build the version map marshaledResource, err := MarshalResource(r) if err != nil { return err } v := HashResource(marshaledResource) if v == "" { return errors.New("failed to build resource version") } cache.versionMap[name] = v } return nil } func (cache *LinearCache) getVersion() string { return cache.versionPrefix + strconv.FormatUint(cache.version, 10) } // cancellation function for cleaning stale watches func (cache *LinearCache) cancelDeltaWatch(watchID int64) func() { return func() { cache.mu.Lock() defer cache.mu.Unlock() delete(cache.deltaWatches, watchID) } } func (cache *LinearCache) nextDeltaWatchID() int64 { return atomic.AddInt64(&cache.deltaWatchCount, 1) } func (cache *LinearCache) Fetch(context.Context, *Request) (Response, error) { return nil, errors.New("not implemented") } // Number of resources currently on the cache. // As GetResources is building a clone it is expensive to get metrics otherwise. func (cache *LinearCache) NumResources() int { cache.mu.RLock() defer cache.mu.RUnlock() return len(cache.resources) } // Number of active watches for a resource name. func (cache *LinearCache) NumWatches(name string) int { cache.mu.RLock() defer cache.mu.RUnlock() return len(cache.watches[name]) + len(cache.watchAll) } // Number of active delta watches. func (cache *LinearCache) NumDeltaWatches() int { cache.mu.Lock() defer cache.mu.Unlock() return len(cache.deltaWatches) } go-control-plane-0.12.0/pkg/cache/v3/linear_test.go000066400000000000000000000663741454502223200220050ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "errors" "fmt" "reflect" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/types/known/wrapperspb" endpoint "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) const ( testType = "google.protobuf.StringValue" ) func testResource(s string) types.Resource { return wrapperspb.String(s) } func verifyResponse(t *testing.T, ch <-chan Response, version string, num int) { t.Helper() r := <-ch if r.GetRequest().GetTypeUrl() != testType { t.Errorf("unexpected empty request type URL: %q", r.GetRequest().GetTypeUrl()) } if r.GetContext() == nil { t.Errorf("unexpected empty response context") } out, err := r.GetDiscoveryResponse() if err != nil { t.Fatal(err) } if out.GetVersionInfo() == "" { t.Error("unexpected response empty version") } if n := len(out.GetResources()); n != num { t.Errorf("unexpected number of responses: got %d, want %d", n, num) } if version != "" && out.GetVersionInfo() != version { t.Errorf("unexpected version: got %q, want %q", out.GetVersionInfo(), version) } if out.GetTypeUrl() != testType { t.Errorf("unexpected type URL: %q", out.GetTypeUrl()) } } type resourceInfo struct { name string version string } func validateDeltaResponse(t *testing.T, resp DeltaResponse, resources []resourceInfo, deleted []string) { t.Helper() if resp.GetDeltaRequest().GetTypeUrl() != testType { t.Errorf("unexpected empty request type URL: %q", resp.GetDeltaRequest().GetTypeUrl()) } out, err := resp.GetDeltaDiscoveryResponse() if err != nil { t.Fatal(err) } if len(out.GetResources()) != len(resources) { t.Errorf("unexpected number of responses: got %d, want %d", len(out.GetResources()), len(resources)) } for _, r := range resources { found := false for _, r1 := range out.GetResources() { if r1.GetName() == r.name && r1.GetVersion() == r.version { found = true break } else if r1.GetName() == r.name { t.Errorf("unexpected version for resource %q: got %q, want %q", r.name, r1.GetVersion(), r.version) found = true break } } if !found { t.Errorf("resource with name %q not found in response", r.name) } } if out.GetTypeUrl() != testType { t.Errorf("unexpected type URL: %q", out.GetTypeUrl()) } if len(out.GetRemovedResources()) != len(deleted) { t.Errorf("unexpected number of removed resurces: got %d, want %d", len(out.GetRemovedResources()), len(deleted)) } for _, r := range deleted { found := false for _, rr := range out.GetRemovedResources() { if r == rr { found = true break } } if !found { t.Errorf("Expected resource %s to be deleted", r) } } } func verifyDeltaResponse(t *testing.T, ch <-chan DeltaResponse, resources []resourceInfo, deleted []string) { t.Helper() var r DeltaResponse select { case r = <-ch: case <-time.After(5 * time.Second): t.Error("timeout waiting for delta response") return } validateDeltaResponse(t, r, resources, deleted) } func checkWatchCount(t *testing.T, c *LinearCache, name string, count int) { t.Helper() if i := c.NumWatches(name); i != count { t.Errorf("unexpected number of watches for %q: got %d, want %d", name, i, count) } } func checkDeltaWatchCount(t *testing.T, c *LinearCache, count int) { t.Helper() if i := c.NumDeltaWatches(); i != count { t.Errorf("unexpected number of delta watches: got %d, want %d", i, count) } } func checkVersionMapNotSet(t *testing.T, c *LinearCache) { t.Helper() if c.versionMap != nil { t.Errorf("version map is set on the cache with %d elements", len(c.versionMap)) } } func checkVersionMapSet(t *testing.T, c *LinearCache) { t.Helper() if c.versionMap == nil { t.Errorf("version map is not set on the cache") } else if len(c.versionMap) != len(c.resources) { t.Errorf("version map has the wrong number of elements: %d instead of %d expected", len(c.versionMap), len(c.resources)) } } func mustBlock(t *testing.T, w <-chan Response) { select { case <-w: t.Error("watch must block") default: } } func mustBlockDelta(t *testing.T, w <-chan DeltaResponse) { select { case <-w: t.Error("watch must block") default: } } func hashResource(t *testing.T, resource types.Resource) string { marshaledResource, err := MarshalResource(resource) if err != nil { t.Fatal(err) } v := HashResource(marshaledResource) if v == "" { t.Fatal(errors.New("failed to build resource version")) } return v } func createWildcardDeltaWatch(c *LinearCache, w chan DeltaResponse) { state := stream.NewStreamState(true, nil) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) resp := <-w state.SetResourceVersions(resp.GetNextVersionMap()) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) // Ensure the watch is set properly with cache values } func TestLinearInitialResources(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType, WithInitialResources(map[string]types.Resource{"a": testResource("a"), "b": testResource("b")})) w := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType}, streamState, w) verifyResponse(t, w, "0", 1) c.CreateWatch(&Request{TypeUrl: testType}, streamState, w) verifyResponse(t, w, "0", 2) checkVersionMapNotSet(t, c) } func TestLinearCornerCases(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType) err := c.UpdateResource("a", nil) if err == nil { t.Error("expected error on nil resource") } // create an incorrect type URL request w := make(chan Response, 1) c.CreateWatch(&Request{TypeUrl: "test"}, streamState, w) select { case r := <-w: if r != nil { t.Error("response should be nil") } default: t.Error("should receive nil response") } } func TestLinearBasic(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType) // Create watches before a resource is ready w1 := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w1) mustBlock(t, w1) checkVersionMapNotSet(t, c) w := make(chan Response, 1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w) mustBlock(t, w) checkWatchCount(t, c, "a", 2) checkWatchCount(t, c, "b", 1) require.NoError(t, c.UpdateResource("a", testResource("a"))) checkWatchCount(t, c, "a", 0) checkWatchCount(t, c, "b", 0) verifyResponse(t, w1, "1", 1) verifyResponse(t, w, "1", 1) // Request again, should get same response c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) checkWatchCount(t, c, "a", 0) verifyResponse(t, w, "1", 1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w) checkWatchCount(t, c, "a", 0) verifyResponse(t, w, "1", 1) // Add another element and update the first, response should be different require.NoError(t, c.UpdateResource("b", testResource("b"))) require.NoError(t, c.UpdateResource("a", testResource("aa"))) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) verifyResponse(t, w, "3", 1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w) verifyResponse(t, w, "3", 2) // Ensure the version map was not created as we only ever used stow watches checkVersionMapNotSet(t, c) } func TestLinearSetResources(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType) // Create new resources w1 := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w1) mustBlock(t, w1) w2 := make(chan Response, 1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w2) mustBlock(t, w2) c.SetResources(map[string]types.Resource{ "a": testResource("a"), "b": testResource("b"), }) verifyResponse(t, w1, "1", 1) verifyResponse(t, w2, "1", 2) // the version was only incremented once for all resources // Add another element and update the first, response should be different c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "1"}, streamState, w1) mustBlock(t, w1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "1"}, streamState, w2) mustBlock(t, w2) c.SetResources(map[string]types.Resource{ "a": testResource("aa"), "b": testResource("b"), "c": testResource("c"), }) verifyResponse(t, w1, "2", 1) verifyResponse(t, w2, "2", 3) // Delete resource c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "2"}, streamState, w1) mustBlock(t, w1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "2"}, streamState, w2) mustBlock(t, w2) c.SetResources(map[string]types.Resource{ "b": testResource("b"), "c": testResource("c"), }) verifyResponse(t, w1, "", 0) // removing a resource from the set triggers existing watches for deleted resources verifyResponse(t, w2, "3", 2) } func TestLinearGetResources(t *testing.T) { c := NewLinearCache(testType) expectedResources := map[string]types.Resource{ "a": testResource("a"), "b": testResource("b"), } c.SetResources(expectedResources) resources := c.GetResources() if !reflect.DeepEqual(expectedResources, resources) { t.Errorf("resources are not equal. got: %v want: %v", resources, expectedResources) } } func TestLinearVersionPrefix(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType, WithVersionPrefix("instance1-")) w := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) verifyResponse(t, w, "instance1-0", 0) require.NoError(t, c.UpdateResource("a", testResource("a"))) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) verifyResponse(t, w, "instance1-1", 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "instance1-1"}, streamState, w) mustBlock(t, w) checkWatchCount(t, c, "a", 1) } func TestLinearDeletion(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType, WithInitialResources(map[string]types.Resource{"a": testResource("a"), "b": testResource("b")})) w := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) mustBlock(t, w) checkWatchCount(t, c, "a", 1) require.NoError(t, c.DeleteResource("a")) verifyResponse(t, w, "1", 0) checkWatchCount(t, c, "a", 0) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w) verifyResponse(t, w, "1", 1) checkWatchCount(t, c, "b", 0) require.NoError(t, c.DeleteResource("b")) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "1"}, streamState, w) verifyResponse(t, w, "2", 0) checkWatchCount(t, c, "b", 0) } func TestLinearWatchTwo(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType, WithInitialResources(map[string]types.Resource{"a": testResource("a"), "b": testResource("b")})) w := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a", "b"}, TypeUrl: testType, VersionInfo: "0"}, streamState, w) mustBlock(t, w) w1 := make(chan Response, 1) c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "0"}, streamState, w1) mustBlock(t, w1) require.NoError(t, c.UpdateResource("a", testResource("aa"))) // should only get the modified resource verifyResponse(t, w, "1", 1) verifyResponse(t, w1, "1", 2) } func TestLinearCancel(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType) require.NoError(t, c.UpdateResource("a", testResource("a"))) // cancel watch-all w := make(chan Response, 1) cancel := c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "1"}, streamState, w) mustBlock(t, w) checkWatchCount(t, c, "a", 1) cancel() checkWatchCount(t, c, "a", 0) // cancel watch for "a" cancel = c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "1"}, streamState, w) mustBlock(t, w) checkWatchCount(t, c, "a", 1) cancel() checkWatchCount(t, c, "a", 0) // open four watches for "a" and "b" and two for all, cancel one of each, make sure the second one is unaffected w2 := make(chan Response, 1) w3 := make(chan Response, 1) w4 := make(chan Response, 1) cancel = c.CreateWatch(&Request{ResourceNames: []string{"a"}, TypeUrl: testType, VersionInfo: "1"}, streamState, w) cancel2 := c.CreateWatch(&Request{ResourceNames: []string{"b"}, TypeUrl: testType, VersionInfo: "1"}, streamState, w2) cancel3 := c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "1"}, streamState, w3) cancel4 := c.CreateWatch(&Request{TypeUrl: testType, VersionInfo: "1"}, streamState, w4) mustBlock(t, w) mustBlock(t, w2) mustBlock(t, w3) mustBlock(t, w4) checkWatchCount(t, c, "a", 3) checkWatchCount(t, c, "b", 3) cancel() checkWatchCount(t, c, "a", 2) checkWatchCount(t, c, "b", 3) cancel3() checkWatchCount(t, c, "a", 1) checkWatchCount(t, c, "b", 2) cancel2() cancel4() checkWatchCount(t, c, "a", 0) checkWatchCount(t, c, "b", 0) } // TODO(mattklein123): This test requires GOMAXPROCS or -parallel >= 100. This should be // rewritten to not require that. This is not the case in the GH actions environment. func TestLinearConcurrentSetWatch(t *testing.T) { streamState := stream.NewStreamState(false, map[string]string{}) c := NewLinearCache(testType) n := 50 for i := 0; i < 2*n; i++ { func(i int) { t.Run(fmt.Sprintf("worker%d", i), func(t *testing.T) { t.Parallel() id := fmt.Sprintf("%d", i) if i%2 == 0 { t.Logf("update resource %q", id) require.NoError(t, c.UpdateResource(id, testResource(id))) } else { id2 := fmt.Sprintf("%d", i-1) t.Logf("request resources %q and %q", id, id2) value := make(chan Response, 1) c.CreateWatch(&Request{ // Only expect one to become stale ResourceNames: []string{id, id2}, VersionInfo: "0", TypeUrl: testType, }, streamState, value) // wait until all updates apply verifyResponse(t, value, "", 1) } }) }(i) } } func TestLinearDeltaWildcard(t *testing.T) { c := NewLinearCache(testType) state1 := stream.NewStreamState(true, map[string]string{}) w1 := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state1, w1) mustBlockDelta(t, w1) state2 := stream.NewStreamState(true, map[string]string{}) w2 := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state2, w2) mustBlockDelta(t, w1) checkDeltaWatchCount(t, c, 2) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hash := hashResource(t, a) err := c.UpdateResource("a", a) require.NoError(t, err) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w1, []resourceInfo{{"a", hash}}, nil) verifyDeltaResponse(t, w2, []resourceInfo{{"a", hash}}, nil) } func TestLinearDeltaExistingResources(t *testing.T) { c := NewLinearCache(testType) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hashA := hashResource(t, a) err := c.UpdateResource("a", a) require.NoError(t, err) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) state := stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{"b": {}, "c": {}}) // watching b and c - not interested in a w := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}}, []string{}) state = stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w = make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}, {"a", hashA}}, nil) } func TestLinearDeltaInitialResourcesVersionSet(t *testing.T) { c := NewLinearCache(testType) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hashA := hashResource(t, a) err := c.UpdateResource("a", a) require.NoError(t, err) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) state := stream.NewStreamState(false, map[string]string{"b": hashB}) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"a", hashA}}, nil) // b is up to date and shouldn't be returned state = stream.NewStreamState(false, map[string]string{"a": hashA, "b": hashB}) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w = make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) b = &endpoint.ClusterLoadAssignment{ClusterName: "b", Endpoints: []*endpoint.LocalityLbEndpoints{{Priority: 10}}} // new version of b hashB = hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}}, nil) } func TestLinearDeltaResourceUpdate(t *testing.T) { c := NewLinearCache(testType) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hashA := hashResource(t, a) err := c.UpdateResource("a", a) require.NoError(t, err) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) // There is currently no delta watch checkVersionMapNotSet(t, c) state := stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}, {"a", hashA}}, nil) checkVersionMapSet(t, c) state = stream.NewStreamState(false, map[string]string{"a": hashA, "b": hashB}) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w = make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 10}, }} hashA = hashResource(t, a) err = c.UpdateResource("a", a) require.NoError(t, err) verifyDeltaResponse(t, w, []resourceInfo{{"a", hashA}}, nil) checkVersionMapSet(t, c) } func TestLinearDeltaResourceDelete(t *testing.T) { c := NewLinearCache(testType) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hashA := hashResource(t, a) err := c.UpdateResource("a", a) require.NoError(t, err) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) state := stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w := make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) checkDeltaWatchCount(t, c, 0) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}, {"a", hashA}}, nil) state = stream.NewStreamState(false, map[string]string{"a": hashA, "b": hashB}) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w = make(chan DeltaResponse, 1) c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 10}, }} hashA = hashResource(t, a) c.SetResources(map[string]types.Resource{"a": a}) verifyDeltaResponse(t, w, []resourceInfo{{"a", hashA}}, []string{"b"}) } func TestLinearDeltaMultiResourceUpdates(t *testing.T) { c := NewLinearCache(testType) state := stream.NewStreamState(false, nil) state.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) w := make(chan DeltaResponse, 1) checkVersionMapNotSet(t, c) assert.Equal(t, 0, c.NumResources()) // Initial update c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) // The version map should now be created, even if empty checkVersionMapSet(t, c) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} hashA := hashResource(t, a) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err := c.UpdateResources(map[string]types.Resource{"a": a, "b": b}, nil) require.NoError(t, err) resp := <-w validateDeltaResponse(t, resp, []resourceInfo{{"a", hashA}, {"b", hashB}}, nil) checkVersionMapSet(t, c) assert.Equal(t, 2, c.NumResources()) state.SetResourceVersions(resp.GetNextVersionMap()) // Multiple updates c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 10}, }} b = &endpoint.ClusterLoadAssignment{ClusterName: "b", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 15}, }} hashA = hashResource(t, a) hashB = hashResource(t, b) err = c.UpdateResources(map[string]types.Resource{"a": a, "b": b}, nil) require.NoError(t, err) resp = <-w validateDeltaResponse(t, resp, []resourceInfo{{"a", hashA}, {"b", hashB}}, nil) checkVersionMapSet(t, c) assert.Equal(t, 2, c.NumResources()) state.SetResourceVersions(resp.GetNextVersionMap()) // Update/add/delete c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 15}, }} d := &endpoint.ClusterLoadAssignment{ClusterName: "d", Endpoints: []*endpoint.LocalityLbEndpoints{}} // resource created, but not watched hashA = hashResource(t, a) err = c.UpdateResources(map[string]types.Resource{"a": a, "d": d}, []string{"b"}) require.NoError(t, err) assert.Contains(t, c.resources, "d", "resource with name d not found in cache") assert.NotContains(t, c.resources, "b", "resource with name b was found in cache") resp = <-w validateDeltaResponse(t, resp, []resourceInfo{{"a", hashA}}, []string{"b"}) checkVersionMapSet(t, c) assert.Equal(t, 2, c.NumResources()) state.SetResourceVersions(resp.GetNextVersionMap()) // Re-add previously deleted watched resource c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, state, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) b = &endpoint.ClusterLoadAssignment{ClusterName: "b", Endpoints: []*endpoint.LocalityLbEndpoints{}} // recreate watched resource hashB = hashResource(t, b) err = c.UpdateResources(map[string]types.Resource{"b": b}, []string{"d"}) require.NoError(t, err) assert.Contains(t, c.resources, "b", "resource with name b not found in cache") assert.NotContains(t, c.resources, "d", "resource with name d was found in cache") resp = <-w validateDeltaResponse(t, resp, []resourceInfo{{"b", hashB}}, nil) // d is not watched and should not be returned checkVersionMapSet(t, c) assert.Equal(t, 2, c.NumResources()) state.SetResourceVersions(resp.GetNextVersionMap()) // Wildcard create/update createWildcardDeltaWatch(c, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) b = &endpoint.ClusterLoadAssignment{ClusterName: "b", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 15}, }} d = &endpoint.ClusterLoadAssignment{ClusterName: "d", Endpoints: []*endpoint.LocalityLbEndpoints{}} // resource create hashB = hashResource(t, b) hashD := hashResource(t, d) err = c.UpdateResources(map[string]types.Resource{"b": b, "d": d}, nil) require.NoError(t, err) verifyDeltaResponse(t, w, []resourceInfo{{"b", hashB}, {"d", hashD}}, nil) checkVersionMapSet(t, c) assert.Equal(t, 3, c.NumResources()) // Wildcard update/delete createWildcardDeltaWatch(c, w) mustBlockDelta(t, w) checkDeltaWatchCount(t, c, 1) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 25}, }} hashA = hashResource(t, a) err = c.UpdateResources(map[string]types.Resource{"a": a}, []string{"d"}) require.NoError(t, err) assert.NotContains(t, c.resources, "d", "resource with name d was found in cache") verifyDeltaResponse(t, w, []resourceInfo{{"a", hashA}}, []string{"d"}) checkDeltaWatchCount(t, c, 0) // Confirm that the map is still set even though there is currently no watch checkVersionMapSet(t, c) assert.Equal(t, 2, c.NumResources()) } func TestLinearMixedWatches(t *testing.T) { c := NewLinearCache(testType) a := &endpoint.ClusterLoadAssignment{ClusterName: "a"} err := c.UpdateResource("a", a) require.NoError(t, err) b := &endpoint.ClusterLoadAssignment{ClusterName: "b"} hashB := hashResource(t, b) err = c.UpdateResource("b", b) require.NoError(t, err) assert.Equal(t, 2, c.NumResources()) sotwState := stream.NewStreamState(false, nil) w := make(chan Response, 1) c.CreateWatch(&Request{ResourceNames: []string{"a", "b"}, TypeUrl: testType, VersionInfo: c.getVersion()}, sotwState, w) mustBlock(t, w) checkVersionMapNotSet(t, c) a = &endpoint.ClusterLoadAssignment{ClusterName: "a", Endpoints: []*endpoint.LocalityLbEndpoints{ // resource update {Priority: 25}, }} hashA := hashResource(t, a) err = c.UpdateResources(map[string]types.Resource{"a": a}, nil) require.NoError(t, err) // This behavior is currently invalid for cds and lds, but due to a current limitation of linear cache sotw implementation verifyResponse(t, w, c.getVersion(), 1) checkVersionMapNotSet(t, c) c.CreateWatch(&Request{ResourceNames: []string{"a", "b"}, TypeUrl: testType, VersionInfo: c.getVersion()}, sotwState, w) mustBlock(t, w) checkVersionMapNotSet(t, c) deltaState := stream.NewStreamState(false, map[string]string{"a": hashA, "b": hashB}) deltaState.SetSubscribedResourceNames(map[string]struct{}{"a": {}, "b": {}}) wd := make(chan DeltaResponse, 1) // Initial update c.CreateDeltaWatch(&DeltaRequest{TypeUrl: testType}, deltaState, wd) mustBlockDelta(t, wd) checkDeltaWatchCount(t, c, 1) checkVersionMapSet(t, c) err = c.UpdateResources(nil, []string{"b"}) require.NoError(t, err) checkVersionMapSet(t, c) verifyResponse(t, w, c.getVersion(), 0) verifyDeltaResponse(t, wd, nil, []string{"b"}) } go-control-plane-0.12.0/pkg/cache/v3/mux.go000066400000000000000000000037751454502223200203010ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "context" "errors" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // MuxCache multiplexes across several caches using a classification function. // If there is no matching cache for a classification result, the cache // responds with an empty closed channel, which effectively terminates the // stream on the server. It might be preferred to respond with a "nil" channel // instead which will leave the stream open in case the stream is aggregated by // making sure there is always a matching cache. type MuxCache struct { // Classification functions. Classify func(*Request) string ClassifyDelta func(*DeltaRequest) string // Muxed caches. Caches map[string]Cache } var _ Cache = &MuxCache{} func (mux *MuxCache) CreateWatch(request *Request, state stream.StreamState, value chan Response) func() { key := mux.Classify(request) cache, exists := mux.Caches[key] if !exists { value <- nil return nil } return cache.CreateWatch(request, state, value) } func (mux *MuxCache) CreateDeltaWatch(request *DeltaRequest, state stream.StreamState, value chan DeltaResponse) func() { key := mux.ClassifyDelta(request) cache, exists := mux.Caches[key] if !exists { value <- nil return nil } return cache.CreateDeltaWatch(request, state, value) } func (mux *MuxCache) Fetch(context.Context, *Request) (Response, error) { return nil, errors.New("not implemented") } go-control-plane-0.12.0/pkg/cache/v3/order.go000066400000000000000000000010321454502223200205630ustar00rootroot00000000000000package cache // Key is an internal sorting data structure we can use to // order responses by Type and their associated watch IDs. type key struct { ID int64 TypeURL string } // Keys implements Go's sorting.Sort interface type keys []key func (k keys) Len() int { return len(k) } // Less compares the typeURL and determines what order things should be sent. func (k keys) Less(i, j int) bool { return GetResponseType(k[i].TypeURL) < GetResponseType(k[j].TypeURL) } func (k keys) Swap(i, j int) { k[i], k[j] = k[j], k[i] } go-control-plane-0.12.0/pkg/cache/v3/order_test.go000066400000000000000000000030001454502223200216170ustar00rootroot00000000000000package cache import ( "sort" "testing" "github.com/stretchr/testify/assert" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) func TestOrderKeys(t *testing.T) { unorderedKeys := keys{ { ID: 1, TypeURL: resource.EndpointType, }, { ID: 2, TypeURL: resource.ClusterType, }, { ID: 4, TypeURL: resource.ListenerType, }, { ID: 3, TypeURL: resource.RouteType, }, { ID: 5, TypeURL: resource.ScopedRouteType, }, } expected := keys{ { ID: 2, TypeURL: resource.ClusterType, }, { ID: 1, TypeURL: resource.EndpointType, }, { ID: 4, TypeURL: resource.ListenerType, }, { ID: 3, TypeURL: resource.RouteType, }, { ID: 5, TypeURL: resource.ScopedRouteType, }, } orderedKeys := unorderedKeys sort.Sort(orderedKeys) assert.True(t, sort.IsSorted(orderedKeys)) assert.NotEqual(t, unorderedKeys, &orderedKeys) assert.Equal(t, expected, orderedKeys) // Ordering: // === RUN TestOrderKeys // order_test.go:43: {ID:2 TypeURL:type.googleapis.com/envoy.config.cluster.v3.Cluster} // order_test.go:43: {ID:1 TypeURL:type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment} // order_test.go:43: {ID:4 TypeURL:type.googleapis.com/envoy.config.listener.v3.Listener} // order_test.go:43: {ID:3 TypeURL:type.googleapis.com/envoy.config.route.v3.RouteConfiguration} // order_test.go:43: {ID:5 TypeURL:type.googleapis.com/envoy.config.route.v3.ScopedRouteConfiguration} } go-control-plane-0.12.0/pkg/cache/v3/resource.go000066400000000000000000000175401454502223200213120ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "crypto/sha256" "encoding/hex" "fmt" "google.golang.org/protobuf/proto" cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" endpoint "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" listener "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3" route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" runtime "github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) // GetResponseType returns the enumeration for a valid xDS type URL. func GetResponseType(typeURL resource.Type) types.ResponseType { switch typeURL { case resource.EndpointType: return types.Endpoint case resource.ClusterType: return types.Cluster case resource.RouteType: return types.Route case resource.ScopedRouteType: return types.ScopedRoute case resource.VirtualHostType: return types.VirtualHost case resource.ListenerType: return types.Listener case resource.SecretType: return types.Secret case resource.RuntimeType: return types.Runtime case resource.ExtensionConfigType: return types.ExtensionConfig case resource.RateLimitConfigType: return types.RateLimitConfig } return types.UnknownType } // GetResponseTypeURL returns the type url for a valid enum. func GetResponseTypeURL(responseType types.ResponseType) (string, error) { switch responseType { case types.Endpoint: return resource.EndpointType, nil case types.Cluster: return resource.ClusterType, nil case types.Route: return resource.RouteType, nil case types.ScopedRoute: return resource.ScopedRouteType, nil case types.VirtualHost: return resource.VirtualHostType, nil case types.Listener: return resource.ListenerType, nil case types.Secret: return resource.SecretType, nil case types.Runtime: return resource.RuntimeType, nil case types.ExtensionConfig: return resource.ExtensionConfigType, nil case types.RateLimitConfig: return resource.RateLimitConfigType, nil default: return "", fmt.Errorf("couldn't map response type %v to known resource type", responseType) } } // GetResourceName returns the resource name for a valid xDS response type. func GetResourceName(res types.Resource) string { switch v := res.(type) { case *endpoint.ClusterLoadAssignment: return v.GetClusterName() case types.ResourceWithName: return v.GetName() default: return "" } } // GetResourceName returns the resource names for a list of valid xDS response types. func GetResourceNames(resources []types.Resource) []string { out := make([]string, len(resources)) for i, r := range resources { out[i] = GetResourceName(r) } return out } // MarshalResource converts the Resource to MarshaledResource. func MarshalResource(resource types.Resource) (types.MarshaledResource, error) { return proto.MarshalOptions{Deterministic: true}.Marshal(resource) } // GetResourceReferences returns a map of dependent resources keyed by resource type, given a map of resources. // (EDS cluster names for CDS, RDS/SRDS routes names for LDS, RDS route names for SRDS). func GetResourceReferences(resources map[string]types.ResourceWithTTL) map[resource.Type]map[string]bool { out := make(map[resource.Type]map[string]bool) getResourceReferences(resources, out) return out } // GetAllResourceReferences returns a map of dependent resources keyed by resources type, given all resources. func GetAllResourceReferences(resourceGroups [types.UnknownType]Resources) map[resource.Type]map[string]bool { ret := map[resource.Type]map[string]bool{} // We only check resources that we expect to have references to other resources. responseTypesWithReferences := map[types.ResponseType]struct{}{ types.Cluster: {}, types.Listener: {}, types.ScopedRoute: {}, } for responseType, resourceGroup := range resourceGroups { if _, ok := responseTypesWithReferences[types.ResponseType(responseType)]; ok { items := resourceGroup.Items getResourceReferences(items, ret) } } return ret } func getResourceReferences(resources map[string]types.ResourceWithTTL, out map[resource.Type]map[string]bool) { for _, res := range resources { if res.Resource == nil { continue } switch v := res.Resource.(type) { case *endpoint.ClusterLoadAssignment: // No dependencies. case *cluster.Cluster: getClusterReferences(v, out) case *route.RouteConfiguration: // References to clusters in both routes (and listeners) are not included // in the result, because the clusters are retrieved in bulk currently, // and not by name. case *route.ScopedRouteConfiguration: getScopedRouteReferences(v, out) case *listener.Listener: getListenerReferences(v, out) case *runtime.Runtime: // no dependencies } } } func mapMerge(dst map[string]bool, src map[string]bool) { for k, v := range src { dst[k] = v } } // Clusters will reference either the endpoint's cluster name or ServiceName override. func getClusterReferences(src *cluster.Cluster, out map[resource.Type]map[string]bool) { endpoints := map[string]bool{} switch typ := src.GetClusterDiscoveryType().(type) { case *cluster.Cluster_Type: if typ.Type == cluster.Cluster_EDS { if src.GetEdsClusterConfig() != nil && src.GetEdsClusterConfig().GetServiceName() != "" { endpoints[src.GetEdsClusterConfig().GetServiceName()] = true } else { endpoints[src.GetName()] = true } } } if len(endpoints) > 0 { if _, ok := out[resource.EndpointType]; !ok { out[resource.EndpointType] = map[string]bool{} } mapMerge(out[resource.EndpointType], endpoints) } } // HTTP listeners will either reference ScopedRoutes or Routes. func getListenerReferences(src *listener.Listener, out map[resource.Type]map[string]bool) { routes := map[string]bool{} // Extract route configuration names from HTTP connection manager. for _, chain := range src.GetFilterChains() { for _, filter := range chain.GetFilters() { config := resource.GetHTTPConnectionManager(filter) if config == nil { continue } // If we are using RDS, add the referenced the route name. if name := config.GetRds().GetRouteConfigName(); name != "" { routes[name] = true } // If the scoped route mapping is embedded, add the referenced route resource names. for _, s := range config.GetScopedRoutes().GetScopedRouteConfigurationsList().GetScopedRouteConfigurations() { routes[s.GetRouteConfigurationName()] = true } } } if len(routes) > 0 { if _, ok := out[resource.RouteType]; !ok { out[resource.RouteType] = map[string]bool{} } mapMerge(out[resource.RouteType], routes) } } func getScopedRouteReferences(src *route.ScopedRouteConfiguration, out map[resource.Type]map[string]bool) { routes := map[string]bool{} // For a scoped route configuration, the dependent resource is the RouteConfigurationName. routes[src.GetRouteConfigurationName()] = true if len(routes) > 0 { if _, ok := out[resource.RouteType]; !ok { out[resource.RouteType] = map[string]bool{} } mapMerge(out[resource.RouteType], routes) } } // HashResource will take a resource and create a SHA256 hash sum out of the marshaled bytes func HashResource(resource []byte) string { hasher := sha256.New() hasher.Write(resource) return hex.EncodeToString(hasher.Sum(nil)) } go-control-plane-0.12.0/pkg/cache/v3/resource_test.go000066400000000000000000000202401454502223200223400ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache_test import ( "reflect" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) const ( clusterName = "cluster0" routeName = "route0" embeddedRouteName = "embeddedRoute0" scopedRouteName = "scopedRoute0" listenerName = "listener0" scopedListenerName = "scopedListener0" virtualHostName = "virtualHost0" runtimeName = "runtime0" tlsName = "secret0" rootName = "root0" extensionConfigName = "extensionConfig0" ) var ( testEndpoint = resource.MakeEndpoint(clusterName, 8080) testCluster = resource.MakeCluster(resource.Ads, clusterName) testRoute = resource.MakeRouteConfig(routeName, clusterName) testEmbeddedRoute = resource.MakeRouteConfig(embeddedRouteName, clusterName) testScopedRoute = resource.MakeScopedRouteConfig(scopedRouteName, routeName, []string{"1.2.3.4"}) testVirtualHost = resource.MakeVirtualHost(virtualHostName, clusterName) testListener = resource.MakeRouteHTTPListener(resource.Ads, listenerName, 80, routeName) testScopedListener = resource.MakeScopedRouteHTTPListenerForRoute(resource.Ads, scopedListenerName, 80, embeddedRouteName) testRuntime = resource.MakeRuntime(runtimeName) testSecret = resource.MakeSecrets(tlsName, rootName) testExtensionConfig = resource.MakeExtensionConfig(resource.Ads, extensionConfigName, routeName) ) func TestValidate(t *testing.T) { require.NoError(t, testEndpoint.Validate()) require.NoError(t, testCluster.Validate()) require.NoError(t, testRoute.Validate()) require.NoError(t, testScopedRoute.Validate()) require.NoError(t, testVirtualHost.Validate()) require.NoError(t, testListener.Validate()) require.NoError(t, testScopedListener.Validate()) require.NoError(t, testRuntime.Validate()) require.NoError(t, testExtensionConfig.Validate()) invalidRoute := &route.RouteConfiguration{ Name: "test", VirtualHosts: []*route.VirtualHost{{ Name: "test", Domains: []string{}, }}, } if err := invalidRoute.Validate(); err == nil { t.Error("expected an error") } if err := invalidRoute.GetVirtualHosts()[0].Validate(); err == nil { t.Error("expected an error") } } type customResource struct { cluster.Filter // Any proto would work here. } const customName = "test-name" func (cs *customResource) GetName() string { return customName } var _ types.ResourceWithName = &customResource{} func TestGetResourceName(t *testing.T) { if name := cache.GetResourceName(testEndpoint); name != clusterName { t.Errorf("GetResourceName(%v) => got %q, want %q", testEndpoint, name, clusterName) } if name := cache.GetResourceName(testCluster); name != clusterName { t.Errorf("GetResourceName(%v) => got %q, want %q", testCluster, name, clusterName) } if name := cache.GetResourceName(testRoute); name != routeName { t.Errorf("GetResourceName(%v) => got %q, want %q", testRoute, name, routeName) } if name := cache.GetResourceName(testScopedRoute); name != scopedRouteName { t.Errorf("GetResourceName(%v) => got %q, want %q", testScopedRoute, name, scopedRouteName) } if name := cache.GetResourceName(testVirtualHost); name != virtualHostName { t.Errorf("GetResourceName(%v) => got %q, want %q", testVirtualHost, name, virtualHostName) } if name := cache.GetResourceName(testListener); name != listenerName { t.Errorf("GetResourceName(%v) => got %q, want %q", testListener, name, listenerName) } if name := cache.GetResourceName(testRuntime); name != runtimeName { t.Errorf("GetResourceName(%v) => got %q, want %q", testRuntime, name, runtimeName) } if name := cache.GetResourceName(&customResource{}); name != customName { t.Errorf("GetResourceName(nil) => got %q, want %q", name, customName) } if name := cache.GetResourceName(nil); name != "" { t.Errorf("GetResourceName(nil) => got %q, want none", name) } } func TestGetResourceNames(t *testing.T) { tests := []struct { name string input []types.Resource want []string }{ { name: "empty", input: []types.Resource{}, want: []string{}, }, { name: "many", input: []types.Resource{testRuntime, testListener, testVirtualHost}, want: []string{runtimeName, listenerName, virtualHostName}, }, } for _, test := range tests { test := test t.Run(test.name, func(t *testing.T) { got := cache.GetResourceNames(test.input) assert.ElementsMatch(t, test.want, got) }) } } func TestGetResourceReferences(t *testing.T) { cases := []struct { in types.Resource out map[rsrc.Type]map[string]bool }{ { in: nil, out: map[rsrc.Type]map[string]bool{}, }, { in: testCluster, out: map[rsrc.Type]map[string]bool{rsrc.EndpointType: {clusterName: true}}, }, { in: &cluster.Cluster{ Name: clusterName, ClusterDiscoveryType: &cluster.Cluster_Type{Type: cluster.Cluster_EDS}, EdsClusterConfig: &cluster.Cluster_EdsClusterConfig{ServiceName: "test"}, }, out: map[rsrc.Type]map[string]bool{rsrc.EndpointType: {"test": true}}, }, { in: resource.MakeScopedRouteHTTPListener(resource.Xds, listenerName, 80), out: map[rsrc.Type]map[string]bool{}, }, { in: resource.MakeScopedRouteHTTPListenerForRoute(resource.Xds, listenerName, 80, routeName), out: map[rsrc.Type]map[string]bool{rsrc.RouteType: {routeName: true}}, }, { in: resource.MakeRouteHTTPListener(resource.Ads, listenerName, 80, routeName), out: map[rsrc.Type]map[string]bool{rsrc.RouteType: {routeName: true}}, }, { in: resource.MakeTCPListener(listenerName, 80, clusterName), out: map[rsrc.Type]map[string]bool{}, }, { in: testRoute, out: map[rsrc.Type]map[string]bool{}, }, { in: resource.MakeVHDSRouteConfig(resource.Ads, routeName), out: map[rsrc.Type]map[string]bool{}, }, { in: testScopedRoute, out: map[rsrc.Type]map[string]bool{rsrc.RouteType: {routeName: true}}, }, { in: testVirtualHost, out: map[rsrc.Type]map[string]bool{}, }, { in: testEndpoint, out: map[rsrc.Type]map[string]bool{}, }, { in: testRuntime, out: map[rsrc.Type]map[string]bool{}, }, } for _, cs := range cases { names := cache.GetResourceReferences(cache.IndexResourcesByName([]types.ResourceWithTTL{{Resource: cs.in}})) if !reflect.DeepEqual(names, cs.out) { t.Errorf("GetResourceReferences(%v) => got %v, want %v", cs.in, names, cs.out) } } } func TestGetAllResourceReferencesReturnsExpectedRefs(t *testing.T) { expected := map[rsrc.Type]map[string]bool{ rsrc.RouteType: {routeName: true, embeddedRouteName: true}, rsrc.EndpointType: {clusterName: true}, } resources := [types.UnknownType]cache.Resources{} resources[types.Endpoint] = cache.NewResources("1", []types.Resource{testEndpoint}) resources[types.Cluster] = cache.NewResources("1", []types.Resource{testCluster}) resources[types.Route] = cache.NewResources("1", []types.Resource{testRoute}) resources[types.Listener] = cache.NewResources("1", []types.Resource{testListener, testScopedListener}) resources[types.ScopedRoute] = cache.NewResources("1", []types.Resource{testScopedRoute}) actual := cache.GetAllResourceReferences(resources) if !reflect.DeepEqual(actual, expected) { t.Errorf("GetAllResourceReferences(%v) => got %v, want %v", resources, actual, expected) } } go-control-plane-0.12.0/pkg/cache/v3/resources.go000066400000000000000000000027141454502223200214720ustar00rootroot00000000000000package cache import "github.com/envoyproxy/go-control-plane/pkg/cache/types" // Resources is a versioned group of resources. type Resources struct { // Version information. Version string // Items in the group indexed by name. Items map[string]types.ResourceWithTTL } // IndexResourcesByName creates a map from the resource name to the resource. func IndexResourcesByName(items []types.ResourceWithTTL) map[string]types.ResourceWithTTL { indexed := make(map[string]types.ResourceWithTTL, len(items)) for _, item := range items { indexed[GetResourceName(item.Resource)] = item } return indexed } // IndexRawResourcesByName creates a map from the resource name to the resource. func IndexRawResourcesByName(items []types.Resource) map[string]types.Resource { indexed := make(map[string]types.Resource, len(items)) for _, item := range items { indexed[GetResourceName(item)] = item } return indexed } // NewResources creates a new resource group. func NewResources(version string, items []types.Resource) Resources { itemsWithTTL := make([]types.ResourceWithTTL, 0, len(items)) for _, item := range items { itemsWithTTL = append(itemsWithTTL, types.ResourceWithTTL{Resource: item}) } return NewResourcesWithTTL(version, itemsWithTTL) } // NewResourcesWithTTL creates a new resource group. func NewResourcesWithTTL(version string, items []types.ResourceWithTTL) Resources { return Resources{ Version: version, Items: IndexResourcesByName(items), } } go-control-plane-0.12.0/pkg/cache/v3/resources_test.go000066400000000000000000000033601454502223200225270ustar00rootroot00000000000000package cache_test import ( "testing" "github.com/stretchr/testify/assert" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" ) func TestIndexResourcesByName(t *testing.T) { tests := []struct { name string resources []types.ResourceWithTTL want map[string]types.ResourceWithTTL }{ { name: "empty", resources: nil, want: map[string]types.ResourceWithTTL{}, }, { name: "more than one", resources: []types.ResourceWithTTL{ {Resource: testEndpoint, TTL: &ttl}, {Resource: testRoute, TTL: &ttl}, }, want: map[string]types.ResourceWithTTL{ "cluster0": {Resource: testEndpoint, TTL: &ttl}, "route0": {Resource: testRoute, TTL: &ttl}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := cache.IndexResourcesByName(tt.resources) assert.Equal(t, tt.want, got) }) } } func TestIndexRawResourceByName(t *testing.T) { tests := []struct { name string resources []types.Resource want map[string]types.Resource }{ { name: "empty", resources: nil, want: map[string]types.Resource{}, }, { name: "more than one", resources: []types.Resource{ testEndpoint, testRoute, }, want: map[string]types.Resource{ "cluster0": testEndpoint, "route0": testRoute, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := cache.IndexRawResourcesByName(tt.resources) assert.Equal(t, tt.want, got) }) } } func TestNewResources(t *testing.T) { resources := cache.NewResources("x", []types.Resource{ testEndpoint, testRoute, }) assert.NotNil(t, resources.Items) assert.Equal(t, "x", resources.Version) } go-control-plane-0.12.0/pkg/cache/v3/simple.go000066400000000000000000000543311454502223200207530ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "context" "fmt" "sync" "sync/atomic" "time" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/log" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // ResourceSnapshot is an abstract snapshot of a collection of resources that // can be stored in a SnapshotCache. This enables applications to use the // SnapshotCache watch machinery with their own resource types. Most // applications will use Snapshot. type ResourceSnapshot interface { // GetVersion should return the current version of the resource indicated // by typeURL. The version string that is returned is opaque and should // only be compared for equality. GetVersion(typeURL string) string // GetResourcesAndTTL returns all resources of the type indicted by // typeURL, together with their TTL. GetResourcesAndTTL(typeURL string) map[string]types.ResourceWithTTL // GetResources returns all resources of the type indicted by // typeURL. This is identical to GetResourcesAndTTL, except that // the TTL is omitted. GetResources(typeURL string) map[string]types.Resource // ConstructVersionMap is a hint that a delta watch will soon make a // call to GetVersionMap. The snapshot should construct an internal // opaque version string for each collection of resource types. ConstructVersionMap() error // GetVersionMap returns a map of resource name to resource version for // all the resources of type indicated by typeURL. GetVersionMap(typeURL string) map[string]string } // SnapshotCache is a snapshot-based cache that maintains a single versioned // snapshot of responses per node. SnapshotCache consistently replies with the // latest snapshot. For the protocol to work correctly in ADS mode, EDS/RDS // requests are responded only when all resources in the snapshot xDS response // are named as part of the request. It is expected that the CDS response names // all EDS clusters, and the LDS response names all RDS routes in a snapshot, // to ensure that Envoy makes the request for all EDS clusters or RDS routes // eventually. // // SnapshotCache can operate as a REST or regular xDS backend. The snapshot // can be partial, e.g. only include RDS or EDS resources. type SnapshotCache interface { Cache // SetSnapshot sets a response snapshot for a node. For ADS, the snapshots // should have distinct versions and be internally consistent (e.g. all // referenced resources must be included in the snapshot). // // This method will cause the server to respond to all open watches, for which // the version differs from the snapshot version. SetSnapshot(ctx context.Context, node string, snapshot ResourceSnapshot) error // GetSnapshots gets the snapshot for a node. GetSnapshot(node string) (ResourceSnapshot, error) // ClearSnapshot removes all status and snapshot information associated with a node. ClearSnapshot(node string) // GetStatusInfo retrieves status information for a node ID. GetStatusInfo(string) StatusInfo // GetStatusKeys retrieves node IDs for all statuses. GetStatusKeys() []string } type snapshotCache struct { // watchCount and deltaWatchCount are atomic counters incremented for each watch respectively. They need to // be the first fields in the struct to guarantee 64-bit alignment, // which is a requirement for atomic operations on 64-bit operands to work on // 32-bit machines. watchCount int64 deltaWatchCount int64 log log.Logger // ads flag to hold responses until all resources are named ads bool // snapshots are cached resources indexed by node IDs snapshots map[string]ResourceSnapshot // status information for all nodes indexed by node IDs status map[string]*statusInfo // hash is the hashing function for Envoy nodes hash NodeHash mu sync.RWMutex } // NewSnapshotCache initializes a simple cache. // // ADS flag forces a delay in responding to streaming requests until all // resources are explicitly named in the request. This avoids the problem of a // partial request over a single stream for a subset of resources which would // require generating a fresh version for acknowledgement. ADS flag requires // snapshot consistency. For non-ADS case (and fetch), multiple partial // requests are sent across multiple streams and re-using the snapshot version // is OK. // // Logger is optional. func NewSnapshotCache(ads bool, hash NodeHash, logger log.Logger) SnapshotCache { return newSnapshotCache(ads, hash, logger) } func newSnapshotCache(ads bool, hash NodeHash, logger log.Logger) *snapshotCache { if logger == nil { logger = log.NewDefaultLogger() } cache := &snapshotCache{ log: logger, ads: ads, snapshots: make(map[string]ResourceSnapshot), status: make(map[string]*statusInfo), hash: hash, } return cache } // NewSnapshotCacheWithHeartbeating initializes a simple cache that sends periodic heartbeat // responses for resources with a TTL. // // ADS flag forces a delay in responding to streaming requests until all // resources are explicitly named in the request. This avoids the problem of a // partial request over a single stream for a subset of resources which would // require generating a fresh version for acknowledgement. ADS flag requires // snapshot consistency. For non-ADS case (and fetch), multiple partial // requests are sent across multiple streams and re-using the snapshot version // is OK. // // Logger is optional. // // The context provides a way to cancel the heartbeating routine, while the heartbeatInterval // parameter controls how often heartbeating occurs. func NewSnapshotCacheWithHeartbeating(ctx context.Context, ads bool, hash NodeHash, logger log.Logger, heartbeatInterval time.Duration) SnapshotCache { cache := newSnapshotCache(ads, hash, logger) go func() { t := time.NewTicker(heartbeatInterval) for { select { case <-t.C: cache.mu.Lock() for node := range cache.status { // TODO(snowp): Omit heartbeats if a real response has been sent recently. cache.sendHeartbeats(ctx, node) } cache.mu.Unlock() case <-ctx.Done(): return } } }() return cache } func (cache *snapshotCache) sendHeartbeats(ctx context.Context, node string) { snapshot, ok := cache.snapshots[node] if !ok { return } if info, ok := cache.status[node]; ok { info.mu.Lock() for id, watch := range info.watches { // Respond with the current version regardless of whether the version has changed. version := snapshot.GetVersion(watch.Request.GetTypeUrl()) resources := snapshot.GetResourcesAndTTL(watch.Request.GetTypeUrl()) // TODO(snowp): Construct this once per type instead of once per watch. resourcesWithTTL := map[string]types.ResourceWithTTL{} for k, v := range resources { if v.TTL != nil { resourcesWithTTL[k] = v } } if len(resourcesWithTTL) == 0 { continue } cache.log.Debugf("respond open watch %d%v with heartbeat for version %q", id, watch.Request.GetResourceNames(), version) err := cache.respond(ctx, watch.Request, watch.Response, resourcesWithTTL, version, true) if err != nil { cache.log.Errorf("received error when attempting to respond to watches: %v", err) } // The watch must be deleted and we must rely on the client to ack this response to create a new watch. delete(info.watches, id) } info.mu.Unlock() } } // SetSnapshotCache updates a snapshot for a node. func (cache *snapshotCache) SetSnapshot(ctx context.Context, node string, snapshot ResourceSnapshot) error { cache.mu.Lock() defer cache.mu.Unlock() // update the existing entry cache.snapshots[node] = snapshot // trigger existing watches for which version changed if info, ok := cache.status[node]; ok { info.mu.Lock() defer info.mu.Unlock() // Respond to SOTW watches for the node. if err := cache.respondSOTWWatches(ctx, info, snapshot); err != nil { return err } // Respond to delta watches for the node. return cache.respondDeltaWatches(ctx, info, snapshot) } return nil } func (cache *snapshotCache) respondSOTWWatches(ctx context.Context, info *statusInfo, snapshot ResourceSnapshot) error { // responder callback for SOTW watches respond := func(watch ResponseWatch, id int64) error { version := snapshot.GetVersion(watch.Request.GetTypeUrl()) if version != watch.Request.GetVersionInfo() { cache.log.Debugf("respond open watch %d %s%v with new version %q", id, watch.Request.GetTypeUrl(), watch.Request.GetResourceNames(), version) resources := snapshot.GetResourcesAndTTL(watch.Request.GetTypeUrl()) err := cache.respond(ctx, watch.Request, watch.Response, resources, version, false) if err != nil { return err } // discard the watch delete(info.watches, id) } return nil } // If ADS is enabled we need to order response watches so we guarantee // sending them in the correct order. Go's default implementation // of maps are randomized order when ranged over. if cache.ads { info.orderResponseWatches() for _, key := range info.orderedWatches { err := respond(info.watches[key.ID], key.ID) if err != nil { return err } } } else { for id, watch := range info.watches { err := respond(watch, id) if err != nil { return err } } } return nil } func (cache *snapshotCache) respondDeltaWatches(ctx context.Context, info *statusInfo, snapshot ResourceSnapshot) error { // We only calculate version hashes when using delta. We don't // want to do this when using SOTW so we can avoid unnecessary // computational cost if not using delta. if len(info.deltaWatches) == 0 { return nil } err := snapshot.ConstructVersionMap() if err != nil { return err } // If ADS is enabled we need to order response delta watches so we guarantee // sending them in the correct order. Go's default implementation // of maps are randomized order when ranged over. if cache.ads { info.orderResponseDeltaWatches() for _, key := range info.orderedDeltaWatches { watch := info.deltaWatches[key.ID] res, err := cache.respondDelta( ctx, snapshot, watch.Request, watch.Response, watch.StreamState, ) if err != nil { return err } // If we detect a nil response here, that means there has been no state change // so we don't want to respond or remove any existing resource watches if res != nil { delete(info.deltaWatches, key.ID) } } } else { for id, watch := range info.deltaWatches { res, err := cache.respondDelta( ctx, snapshot, watch.Request, watch.Response, watch.StreamState, ) if err != nil { return err } // If we detect a nil response here, that means there has been no state change // so we don't want to respond or remove any existing resource watches if res != nil { delete(info.deltaWatches, id) } } } return nil } // GetSnapshot gets the snapshot for a node, and returns an error if not found. func (cache *snapshotCache) GetSnapshot(node string) (ResourceSnapshot, error) { cache.mu.RLock() defer cache.mu.RUnlock() snap, ok := cache.snapshots[node] if !ok { return nil, fmt.Errorf("no snapshot found for node %s", node) } return snap, nil } // ClearSnapshot clears snapshot and info for a node. func (cache *snapshotCache) ClearSnapshot(node string) { cache.mu.Lock() defer cache.mu.Unlock() delete(cache.snapshots, node) delete(cache.status, node) } // nameSet creates a map from a string slice to value true. func nameSet(names []string) map[string]bool { set := make(map[string]bool, len(names)) for _, name := range names { set[name] = true } return set } // superset checks that all resources are listed in the names set. func superset(names map[string]bool, resources map[string]types.ResourceWithTTL) error { for resourceName := range resources { if _, exists := names[resourceName]; !exists { return fmt.Errorf("%q not listed", resourceName) } } return nil } // CreateWatch returns a watch for an xDS request. A nil function may be // returned if an error occurs. func (cache *snapshotCache) CreateWatch(request *Request, streamState stream.StreamState, value chan Response) func() { nodeID := cache.hash.ID(request.GetNode()) cache.mu.Lock() defer cache.mu.Unlock() info, ok := cache.status[nodeID] if !ok { info = newStatusInfo(request.GetNode()) cache.status[nodeID] = info } // update last watch request time info.mu.Lock() info.lastWatchRequestTime = time.Now() info.mu.Unlock() var version string snapshot, exists := cache.snapshots[nodeID] if exists { version = snapshot.GetVersion(request.GetTypeUrl()) } if exists { knownResourceNames := streamState.GetKnownResourceNames(request.GetTypeUrl()) diff := []string{} for _, r := range request.GetResourceNames() { if _, ok := knownResourceNames[r]; !ok { diff = append(diff, r) } } cache.log.Debugf("nodeID %q requested %s%v and known %v. Diff %v", nodeID, request.GetTypeUrl(), request.GetResourceNames(), knownResourceNames, diff) if len(diff) > 0 { resources := snapshot.GetResourcesAndTTL(request.GetTypeUrl()) for _, name := range diff { if _, exists := resources[name]; exists { if err := cache.respond(context.Background(), request, value, resources, version, false); err != nil { cache.log.Errorf("failed to send a response for %s%v to nodeID %q: %s", request.GetTypeUrl(), request.GetResourceNames(), nodeID, err) return nil } return func() {} } } } } // if the requested version is up-to-date or missing a response, leave an open watch if !exists || request.GetVersionInfo() == version { watchID := cache.nextWatchID() cache.log.Debugf("open watch %d for %s%v from nodeID %q, version %q", watchID, request.GetTypeUrl(), request.GetResourceNames(), nodeID, request.GetVersionInfo()) info.mu.Lock() info.watches[watchID] = ResponseWatch{Request: request, Response: value} info.mu.Unlock() return cache.cancelWatch(nodeID, watchID) } // otherwise, the watch may be responded immediately resources := snapshot.GetResourcesAndTTL(request.GetTypeUrl()) if err := cache.respond(context.Background(), request, value, resources, version, false); err != nil { cache.log.Errorf("failed to send a response for %s%v to nodeID %q: %s", request.GetTypeUrl(), request.GetResourceNames(), nodeID, err) return nil } return func() {} } func (cache *snapshotCache) nextWatchID() int64 { return atomic.AddInt64(&cache.watchCount, 1) } // cancellation function for cleaning stale watches func (cache *snapshotCache) cancelWatch(nodeID string, watchID int64) func() { return func() { // uses the cache mutex cache.mu.RLock() defer cache.mu.RUnlock() if info, ok := cache.status[nodeID]; ok { info.mu.Lock() delete(info.watches, watchID) info.mu.Unlock() } } } // Respond to a watch with the snapshot value. The value channel should have capacity not to block. // TODO(kuat) do not respond always, see issue https://github.com/envoyproxy/go-control-plane/issues/46 func (cache *snapshotCache) respond(ctx context.Context, request *Request, value chan Response, resources map[string]types.ResourceWithTTL, version string, heartbeat bool) error { // for ADS, the request names must match the snapshot names // if they do not, then the watch is never responded, and it is expected that envoy makes another request if len(request.GetResourceNames()) != 0 && cache.ads { if err := superset(nameSet(request.GetResourceNames()), resources); err != nil { cache.log.Warnf("ADS mode: not responding to request %s%v: %v", request.GetTypeUrl(), request.GetResourceNames(), err) return nil } } cache.log.Debugf("respond %s%v version %q with version %q", request.GetTypeUrl(), request.GetResourceNames(), request.GetVersionInfo(), version) select { case value <- createResponse(ctx, request, resources, version, heartbeat): return nil case <-ctx.Done(): return context.Canceled } } func createResponse(ctx context.Context, request *Request, resources map[string]types.ResourceWithTTL, version string, heartbeat bool) Response { filtered := make([]types.ResourceWithTTL, 0, len(resources)) // Reply only with the requested resources. Envoy may ask each resource // individually in a separate stream. It is ok to reply with the same version // on separate streams since requests do not share their response versions. if len(request.GetResourceNames()) != 0 { set := nameSet(request.GetResourceNames()) for name, resource := range resources { if set[name] { filtered = append(filtered, resource) } } } else { for _, resource := range resources { filtered = append(filtered, resource) } } return &RawResponse{ Request: request, Version: version, Resources: filtered, Heartbeat: heartbeat, Ctx: ctx, } } // CreateDeltaWatch returns a watch for a delta xDS request which implements the Simple SnapshotCache. func (cache *snapshotCache) CreateDeltaWatch(request *DeltaRequest, state stream.StreamState, value chan DeltaResponse) func() { nodeID := cache.hash.ID(request.GetNode()) t := request.GetTypeUrl() cache.mu.Lock() defer cache.mu.Unlock() info, ok := cache.status[nodeID] if !ok { info = newStatusInfo(request.GetNode()) cache.status[nodeID] = info } // update last watch request time info.setLastDeltaWatchRequestTime(time.Now()) // find the current cache snapshot for the provided node snapshot, exists := cache.snapshots[nodeID] // There are three different cases that leads to a delayed watch trigger: // - no snapshot exists for the requested nodeID // - a snapshot exists, but we failed to initialize its version map // - we attempted to issue a response, but the caller is already up to date delayedResponse := !exists if exists { err := snapshot.ConstructVersionMap() if err != nil { cache.log.Errorf("failed to compute version for snapshot resources inline: %s", err) } response, err := cache.respondDelta(context.Background(), snapshot, request, value, state) if err != nil { cache.log.Errorf("failed to respond with delta response: %s", err) } delayedResponse = response == nil } if delayedResponse { watchID := cache.nextDeltaWatchID() if exists { cache.log.Infof("open delta watch ID:%d for %s Resources:%v from nodeID: %q, version %q", watchID, t, state.GetSubscribedResourceNames(), nodeID, snapshot.GetVersion(t)) } else { cache.log.Infof("open delta watch ID:%d for %s Resources:%v from nodeID: %q", watchID, t, state.GetSubscribedResourceNames(), nodeID) } info.setDeltaResponseWatch(watchID, DeltaResponseWatch{Request: request, Response: value, StreamState: state}) return cache.cancelDeltaWatch(nodeID, watchID) } return nil } // Respond to a delta watch with the provided snapshot value. If the response is nil, there has been no state change. func (cache *snapshotCache) respondDelta(ctx context.Context, snapshot ResourceSnapshot, request *DeltaRequest, value chan DeltaResponse, state stream.StreamState) (*RawDeltaResponse, error) { resp := createDeltaResponse(ctx, request, state, resourceContainer{ resourceMap: snapshot.GetResources(request.GetTypeUrl()), versionMap: snapshot.GetVersionMap(request.GetTypeUrl()), systemVersion: snapshot.GetVersion(request.GetTypeUrl()), }) // Only send a response if there were changes // We want to respond immediately for the first wildcard request in a stream, even if the response is empty // otherwise, envoy won't complete initialization if len(resp.Resources) > 0 || len(resp.RemovedResources) > 0 || (state.IsWildcard() && state.IsFirst()) { if cache.log != nil { cache.log.Debugf("node: %s, sending delta response for typeURL %s with resources: %v removed resources: %v with wildcard: %t", request.GetNode().GetId(), request.GetTypeUrl(), GetResourceNames(resp.Resources), resp.RemovedResources, state.IsWildcard()) } select { case value <- resp: return resp, nil case <-ctx.Done(): return resp, context.Canceled } } return nil, nil } func (cache *snapshotCache) nextDeltaWatchID() int64 { return atomic.AddInt64(&cache.deltaWatchCount, 1) } // cancellation function for cleaning stale delta watches func (cache *snapshotCache) cancelDeltaWatch(nodeID string, watchID int64) func() { return func() { cache.mu.RLock() defer cache.mu.RUnlock() if info, ok := cache.status[nodeID]; ok { info.mu.Lock() delete(info.deltaWatches, watchID) info.mu.Unlock() } } } // Fetch implements the cache fetch function. // Fetch is called on multiple streams, so responding to individual names with the same version works. func (cache *snapshotCache) Fetch(ctx context.Context, request *Request) (Response, error) { nodeID := cache.hash.ID(request.GetNode()) cache.mu.RLock() defer cache.mu.RUnlock() if snapshot, exists := cache.snapshots[nodeID]; exists { // Respond only if the request version is distinct from the current snapshot state. // It might be beneficial to hold the request since Envoy will re-attempt the refresh. version := snapshot.GetVersion(request.GetTypeUrl()) if request.GetVersionInfo() == version { cache.log.Warnf("skip fetch: version up to date") return nil, &types.SkipFetchError{} } resources := snapshot.GetResourcesAndTTL(request.GetTypeUrl()) out := createResponse(ctx, request, resources, version, false) return out, nil } return nil, fmt.Errorf("missing snapshot for %q", nodeID) } // GetStatusInfo retrieves the status info for the node. func (cache *snapshotCache) GetStatusInfo(node string) StatusInfo { cache.mu.RLock() defer cache.mu.RUnlock() info, exists := cache.status[node] if !exists { cache.log.Warnf("node does not exist") return nil } return info } // GetStatusKeys retrieves all node IDs in the status map. func (cache *snapshotCache) GetStatusKeys() []string { cache.mu.RLock() defer cache.mu.RUnlock() out := make([]string, 0, len(cache.status)) for id := range cache.status { out = append(out, id) } return out } go-control-plane-0.12.0/pkg/cache/v3/simple_test.go000066400000000000000000000540371454502223200220150ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache_test import ( "context" "fmt" "reflect" "sync" "testing" "time" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/testing/protocmp" "google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/durationpb" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) type group struct{} const ( key = "node" ) func (group) ID(node *core.Node) string { if node != nil { return node.GetId() } return key } var ( ttl = 2 * time.Second snapshotWithTTL, _ = cache.NewSnapshotWithTTLs(fixture.version, map[rsrc.Type][]types.ResourceWithTTL{ rsrc.EndpointType: {{Resource: testEndpoint, TTL: &ttl}}, rsrc.ClusterType: {{Resource: testCluster}}, rsrc.RouteType: {{Resource: testRoute}, {Resource: testEmbeddedRoute}}, rsrc.ScopedRouteType: {{Resource: testScopedRoute}}, rsrc.VirtualHostType: {{Resource: testVirtualHost}}, rsrc.ListenerType: {{Resource: testScopedListener}, {Resource: testListener}}, rsrc.RuntimeType: {{Resource: testRuntime}}, rsrc.SecretType: {{Resource: testSecret[0]}}, rsrc.ExtensionConfigType: {{Resource: testExtensionConfig}}, }) names = map[string][]string{ rsrc.EndpointType: {clusterName}, rsrc.ClusterType: nil, rsrc.RouteType: {routeName, embeddedRouteName}, rsrc.ScopedRouteType: nil, rsrc.VirtualHostType: nil, rsrc.ListenerType: nil, rsrc.RuntimeType: nil, } testTypes = []string{ rsrc.EndpointType, rsrc.ClusterType, rsrc.RouteType, rsrc.ScopedRouteType, rsrc.VirtualHostType, rsrc.ListenerType, rsrc.RuntimeType, } ) type logger struct { t *testing.T } func (log logger) Debugf(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Infof(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Warnf(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Errorf(format string, args ...interface{}) { log.t.Logf(format, args...) } func TestSnapshotCacheWithTTL(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() c := cache.NewSnapshotCacheWithHeartbeating(ctx, true, group{}, logger{t: t}, time.Second) if _, err := c.GetSnapshot(key); err == nil { t.Errorf("unexpected snapshot found for key %q", key) } if err := c.SetSnapshot(context.Background(), key, snapshotWithTTL); err != nil { t.Fatal(err) } snap, err := c.GetSnapshot(key) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(snap, snapshotWithTTL) { t.Errorf("expect snapshot: %v, got: %v", snapshotWithTTL, snap) } wg := sync.WaitGroup{} // All the resources should respond immediately when version is not up to date. streamState := stream.NewStreamState(false, map[string]string{}) for _, typ := range testTypes { wg.Add(1) t.Run(typ, func(t *testing.T) { defer wg.Done() value := make(chan cache.Response, 1) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ]}, streamState, value) select { case out := <-value: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshotWithTTL.GetResourcesAndTTL(typ)) { t.Errorf("get resources %v, want %v", out.(*cache.RawResponse).Resources, snapshotWithTTL.GetResourcesAndTTL(typ)) } // Update streamState streamState.SetKnownResourceNamesAsList(typ, out.GetRequest().GetResourceNames()) case <-time.After(2 * time.Second): t.Errorf("failed to receive snapshot response") } }) } wg.Wait() // Once everything is up to date, only the TTL'd resource should send out updates. wg = sync.WaitGroup{} updatesByType := map[string]int{} for _, typ := range testTypes { wg.Add(1) go func(typ string) { defer wg.Done() end := time.After(5 * time.Second) for { value := make(chan cache.Response, 1) cancel := c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ], VersionInfo: fixture.version}, streamState, value) select { case out := <-value: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshotWithTTL.GetResourcesAndTTL(typ)) { t.Errorf("get resources %v, want %v", out.(*cache.RawResponse).Resources, snapshotWithTTL.GetResources(typ)) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshotWithTTL.GetResourcesAndTTL(typ)) { t.Errorf("get resources %v, want %v", out.(*cache.RawResponse).Resources, snapshotWithTTL.GetResources(typ)) } updatesByType[typ]++ streamState.SetKnownResourceNamesAsList(typ, out.GetRequest().GetResourceNames()) case <-end: cancel() return } } }(typ) } wg.Wait() if len(updatesByType) != 1 { t.Errorf("expected to only receive updates for TTL'd type, got %v", updatesByType) } // Avoid an exact match on number of triggers to avoid this being flaky. if updatesByType[rsrc.EndpointType] < 2 { t.Errorf("expected at least two TTL updates for endpoints, got %d", updatesByType[rsrc.EndpointType]) } } func TestSnapshotCache(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) if _, err := c.GetSnapshot(key); err == nil { t.Errorf("unexpected snapshot found for key %q", key) } if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } snap, err := c.GetSnapshot(key) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(snap, fixture.snapshot()) { t.Errorf("expect snapshot: %v, got: %v", fixture.snapshot(), snap) } // try to get endpoints with incorrect list of names // should not receive response value := make(chan cache.Response, 1) streamState := stream.NewStreamState(false, map[string]string{}) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: rsrc.EndpointType, ResourceNames: []string{"none"}}, streamState, value) select { case out := <-value: t.Errorf("watch for endpoints and mismatched names => got %v, want none", out) case <-time.After(time.Second / 4): } for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { value := make(chan cache.Response, 1) streamState := stream.NewStreamState(false, map[string]string{}) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ]}, streamState, value) select { case out := <-value: snapshot := fixture.snapshot() if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshot.GetResourcesAndTTL(typ)) { t.Errorf("get resources %v, want %v", out.(*cache.RawResponse).Resources, snapshot.GetResourcesAndTTL(typ)) } case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } }) } } func TestSnapshotCacheFetch(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { resp, err := c.Fetch(context.Background(), &discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ]}) if err != nil || resp == nil { t.Fatal("unexpected error or null response") } if gotVersion, _ := resp.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } }) } // no response for missing snapshot if resp, err := c.Fetch(context.Background(), &discovery.DiscoveryRequest{TypeUrl: rsrc.ClusterType, Node: &core.Node{Id: "oof"}}); resp != nil || err == nil { t.Errorf("missing snapshot: response is not nil %v", resp) } // no response for latest version if resp, err := c.Fetch(context.Background(), &discovery.DiscoveryRequest{TypeUrl: rsrc.ClusterType, VersionInfo: fixture.version}); resp != nil || err == nil { t.Errorf("latest version: response is not nil %v", resp) } } func TestSnapshotCacheWatch(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) watches := make(map[string]chan cache.Response) streamState := stream.NewStreamState(false, map[string]string{}) for _, typ := range testTypes { watches[typ] = make(chan cache.Response, 1) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ]}, streamState, watches[typ]) } if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { select { case out := <-watches[typ]: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } snapshot := fixture.snapshot() if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshot.GetResourcesAndTTL(typ)) { t.Errorf("get resources %v, want %v", out.(*cache.RawResponse).Resources, snapshot.GetResourcesAndTTL(typ)) } streamState.SetKnownResourceNamesAsList(typ, out.GetRequest().GetResourceNames()) case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } }) } // open new watches with the latest version for _, typ := range testTypes { watches[typ] = make(chan cache.Response, 1) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ], VersionInfo: fixture.version}, streamState, watches[typ]) } if count := c.GetStatusInfo(key).GetNumWatches(); count != len(testTypes) { t.Errorf("watches should be created for the latest version: %d", count) } // set partially-versioned snapshot snapshot2 := fixture.snapshot() snapshot2.Resources[types.Endpoint] = cache.NewResources(fixture.version2, []types.Resource{resource.MakeEndpoint(clusterName, 9090)}) if err := c.SetSnapshot(context.Background(), key, snapshot2); err != nil { t.Fatal(err) } if count := c.GetStatusInfo(key).GetNumWatches(); count != len(testTypes)-1 { t.Errorf("watches should be preserved for all but one: %d", count) } // validate response for endpoints select { case out := <-watches[rsrc.EndpointType]: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version2 { t.Errorf("got version %q, want %q", gotVersion, fixture.version2) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshot2.Resources[types.Endpoint].Items) { t.Errorf("got resources %v, want %v", out.(*cache.RawResponse).Resources, snapshot2.Resources[types.Endpoint].Items) } case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } } func TestConcurrentSetWatch(t *testing.T) { c := cache.NewSnapshotCache(false, group{}, logger{t: t}) for i := 0; i < 50; i++ { i := i t.Run(fmt.Sprintf("worker%d", i), func(t *testing.T) { t.Parallel() id := t.Name() value := make(chan cache.Response, 1) if i < 25 { snap := cache.Snapshot{} snap.Resources[types.Endpoint] = cache.NewResources(fmt.Sprintf("v%d", i), []types.Resource{resource.MakeEndpoint(clusterName, uint32(i))}) if err := c.SetSnapshot(context.Background(), id, &snap); err != nil { t.Fatalf("failed to set snapshot %q: %s", id, err) } } else { streamState := stream.NewStreamState(false, map[string]string{}) cancel := c.CreateWatch(&discovery.DiscoveryRequest{ Node: &core.Node{Id: id}, TypeUrl: rsrc.EndpointType, }, streamState, value) defer cancel() } }) } } func TestSnapshotCacheWatchCancel(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) streamState := stream.NewStreamState(false, map[string]string{}) for _, typ := range testTypes { value := make(chan cache.Response, 1) cancel := c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: typ, ResourceNames: names[typ]}, streamState, value) cancel() } // should be status info for the node if keys := c.GetStatusKeys(); len(keys) == 0 { t.Error("got 0, want status info for the node") } for _, typ := range testTypes { if count := c.GetStatusInfo(key).GetNumWatches(); count > 0 { t.Errorf("watches should be released for %s", typ) } } if empty := c.GetStatusInfo("missing"); empty != nil { t.Errorf("should not return a status for unknown key: got %#v", empty) } } func TestSnapshotCacheWatchTimeout(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) // Create a non-buffered channel that will block sends. watchCh := make(chan cache.Response) streamState := stream.NewStreamState(false, map[string]string{}) c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: rsrc.EndpointType, ResourceNames: names[rsrc.EndpointType]}, streamState, watchCh) // The first time we set the snapshot without consuming from the blocking channel, so this should time out. ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond) defer cancel() err := c.SetSnapshot(ctx, key, fixture.snapshot()) require.EqualError(t, err, context.Canceled.Error()) // Now reset the snapshot with a consuming channel. This verifies that if setting the snapshot fails, // we can retry by setting the same snapshot. In other words, we keep the watch open even if we failed // to respond to it within the deadline. watchTriggeredCh := make(chan cache.Response) go func() { response := <-watchCh watchTriggeredCh <- response close(watchTriggeredCh) }() err = c.SetSnapshot(context.WithValue(context.Background(), testKey{}, "bar"), key, fixture.snapshot()) require.NoError(t, err) // The channel should get closed due to the watch trigger. select { case response := <-watchTriggeredCh: // Verify that we pass the context through. assert.Equal(t, "bar", response.GetContext().Value(testKey{})) case <-time.After(time.Second): t.Fatalf("timed out") } } func TestSnapshotCreateWatchWithResourcePreviouslyNotRequested(t *testing.T) { clusterName2 := "clusterName2" routeName2 := "routeName2" listenerName2 := "listenerName2" c := cache.NewSnapshotCache(false, group{}, logger{t: t}) snapshot2, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.EndpointType: {testEndpoint, resource.MakeEndpoint(clusterName2, 8080)}, rsrc.ClusterType: {testCluster, resource.MakeCluster(resource.Ads, clusterName2)}, rsrc.RouteType: {testRoute, resource.MakeRouteConfig(routeName2, clusterName2)}, rsrc.ListenerType: {testScopedListener, resource.MakeRouteHTTPListener(resource.Ads, listenerName2, 80, routeName2)}, rsrc.RuntimeType: {}, rsrc.SecretType: {}, rsrc.ExtensionConfigType: {}, }) if err := c.SetSnapshot(context.Background(), key, snapshot2); err != nil { t.Fatal(err) } watch := make(chan cache.Response) // Request resource with name=ClusterName go func() { c.CreateWatch(&discovery.DiscoveryRequest{TypeUrl: rsrc.EndpointType, ResourceNames: []string{clusterName}}, stream.NewStreamState(false, map[string]string{}), watch) }() select { case out := <-watch: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } want := map[string]types.ResourceWithTTL{clusterName: snapshot2.Resources[types.Endpoint].Items[clusterName]} if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), want) { t.Errorf("got resources %v, want %v", out.(*cache.RawResponse).Resources, want) } case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } // Request additional resource with name=clusterName2 for same version go func() { state := stream.NewStreamState(false, map[string]string{}) state.SetKnownResourceNames(rsrc.EndpointType, map[string]struct{}{clusterName: {}}) c.CreateWatch(&discovery.DiscoveryRequest{ TypeUrl: rsrc.EndpointType, VersionInfo: fixture.version, ResourceNames: []string{clusterName, clusterName2}, }, state, watch) }() select { case out := <-watch: if gotVersion, _ := out.GetVersion(); gotVersion != fixture.version { t.Errorf("got version %q, want %q", gotVersion, fixture.version) } if !reflect.DeepEqual(cache.IndexResourcesByName(out.(*cache.RawResponse).Resources), snapshot2.Resources[types.Endpoint].Items) { t.Errorf("got resources %v, want %v", out.(*cache.RawResponse).Resources, snapshot2.Resources[types.Endpoint].Items) } case <-time.After(time.Second): t.Fatal("failed to receive snapshot response") } // Repeat request for with same version and make sure a watch is created state := stream.NewStreamState(false, map[string]string{}) state.SetKnownResourceNames(rsrc.EndpointType, map[string]struct{}{clusterName: {}, clusterName2: {}}) if cancel := c.CreateWatch(&discovery.DiscoveryRequest{ TypeUrl: rsrc.EndpointType, VersionInfo: fixture.version, ResourceNames: []string{clusterName, clusterName2}, }, state, watch); cancel == nil { t.Fatal("Should create a watch") } else { cancel() } } func TestSnapshotClear(t *testing.T) { c := cache.NewSnapshotCache(true, group{}, logger{t: t}) if err := c.SetSnapshot(context.Background(), key, fixture.snapshot()); err != nil { t.Fatal(err) } c.ClearSnapshot(key) if empty := c.GetStatusInfo(key); empty != nil { t.Errorf("cache should be cleared") } if keys := c.GetStatusKeys(); len(keys) != 0 { t.Errorf("keys should be empty") } } type singleResourceSnapshot struct { version string typeurl string name string resource types.Resource } func (s *singleResourceSnapshot) GetVersion(typeURL string) string { if typeURL != s.typeurl { return "" } return s.version } func (s *singleResourceSnapshot) GetResourcesAndTTL(typeURL string) map[string]types.ResourceWithTTL { if typeURL != s.typeurl { return nil } ttl := time.Second return map[string]types.ResourceWithTTL{ s.name: {Resource: s.resource, TTL: &ttl}, } } func (s *singleResourceSnapshot) GetResources(typeURL string) map[string]types.Resource { if typeURL != s.typeurl { return nil } return map[string]types.Resource{ s.name: s.resource, } } func (s *singleResourceSnapshot) ConstructVersionMap() error { return nil } func (s *singleResourceSnapshot) GetVersionMap(typeURL string) map[string]string { if typeURL != s.typeurl { return nil } return map[string]string{ s.name: s.version, } } // TestSnapshotSingleResourceFetch is a basic test to verify that simple // cache functions work with a type that is not `Snapshot`. func TestSnapshotSingleResourceFetch(t *testing.T) { durationTypeURL := "type.googleapis.com/" + string(proto.MessageName(&durationpb.Duration{})) anyDuration := func(d time.Duration) *anypb.Any { bytes, err := cache.MarshalResource(durationpb.New(d)) require.NoError(t, err) return &anypb.Any{ TypeUrl: durationTypeURL, Value: bytes, } } unwrapResource := func(src *anypb.Any) *discovery.Resource { dst := &discovery.Resource{} require.NoError(t, anypb.UnmarshalTo(src, dst, proto.UnmarshalOptions{})) return dst } c := cache.NewSnapshotCache(true, group{}, logger{t: t}) require.NoError(t, c.SetSnapshot(context.Background(), key, &singleResourceSnapshot{ version: "version-one", typeurl: durationTypeURL, name: "one-second", resource: durationpb.New(time.Second), })) resp, err := c.Fetch(context.Background(), &discovery.DiscoveryRequest{ TypeUrl: durationTypeURL, ResourceNames: []string{"one-second"}, }) require.NoError(t, err) vers, err := resp.GetVersion() require.NoError(t, err) assert.Equal(t, "version-one", vers) discoveryResponse, err := resp.GetDiscoveryResponse() require.NoError(t, err) assert.Equal(t, durationTypeURL, discoveryResponse.GetTypeUrl()) require.Len(t, discoveryResponse.GetResources(), 1) assert.Equal(t, "", cmp.Diff( unwrapResource(discoveryResponse.GetResources()[0]).GetResource(), anyDuration(time.Second), protocmp.Transform()), ) } func TestAvertPanicForWatchOnNonExistentSnapshot(t *testing.T) { ctx := context.Background() c := cache.NewSnapshotCacheWithHeartbeating(ctx, false, cache.IDHash{}, nil, time.Millisecond) // Create watch. req := &cache.Request{ Node: &core.Node{Id: "test"}, ResourceNames: []string{"rtds"}, TypeUrl: rsrc.RuntimeType, } ss := stream.NewStreamState(false, map[string]string{"cluster": "abcdef"}) responder := make(chan cache.Response) c.CreateWatch(req, ss, responder) go func() { // Wait for at least one heartbeat to occur, then set snapshot. time.Sleep(time.Millisecond * 5) srs := &singleResourceSnapshot{ version: "version-one", typeurl: rsrc.RuntimeType, name: "one-second", resource: durationpb.New(time.Second), } if err := c.SetSnapshot(ctx, "test", srs); err != nil { t.Errorf("unexpected error setting snapshot %v", err) } }() <-responder } go-control-plane-0.12.0/pkg/cache/v3/snapshot.go000066400000000000000000000144141454502223200213170ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "errors" "fmt" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) // Snapshot is an internally consistent snapshot of xDS resources. // Consistency is important for the convergence as different resource types // from the snapshot may be delivered to the proxy in arbitrary order. type Snapshot struct { Resources [types.UnknownType]Resources // VersionMap holds the current hash map of all resources in the snapshot. // This field should remain nil until it is used, at which point should be // instantiated by calling ConstructVersionMap(). // VersionMap is only to be used with delta xDS. VersionMap map[string]map[string]string } var _ ResourceSnapshot = &Snapshot{} // NewSnapshot creates a snapshot from response types and a version. // The resources map is keyed off the type URL of a resource, followed by the slice of resource objects. func NewSnapshot(version string, resources map[resource.Type][]types.Resource) (*Snapshot, error) { out := Snapshot{} for typ, resource := range resources { index := GetResponseType(typ) if index == types.UnknownType { return nil, errors.New("unknown resource type: " + typ) } out.Resources[index] = NewResources(version, resource) } return &out, nil } // NewSnapshotWithTTLs creates a snapshot of ResourceWithTTLs. // The resources map is keyed off the type URL of a resource, followed by the slice of resource objects. func NewSnapshotWithTTLs(version string, resources map[resource.Type][]types.ResourceWithTTL) (*Snapshot, error) { out := Snapshot{} for typ, resource := range resources { index := GetResponseType(typ) if index == types.UnknownType { return nil, errors.New("unknown resource type: " + typ) } out.Resources[index] = NewResourcesWithTTL(version, resource) } return &out, nil } // Consistent check verifies that the dependent resources are exactly listed in the // snapshot: // - all EDS resources are listed by name in CDS resources // - all SRDS/RDS resources are listed by name in LDS resources // - all RDS resources are listed by name in SRDS resources // // Note that clusters and listeners are requested without name references, so // Envoy will accept the snapshot list of clusters as-is even if it does not match // all references found in xDS. func (s *Snapshot) Consistent() error { if s == nil { return errors.New("nil snapshot") } referencedResources := GetAllResourceReferences(s.Resources) // Loop through each referenced resource. referencedResponseTypes := map[types.ResponseType]struct{}{ types.Endpoint: {}, types.Route: {}, } for idx, items := range s.Resources { // We only want to check resource types that are expected to be referenced by another resource type. // Basically, if the consistency relationship is modeled as a DAG, we only want // to check nodes that are expected to have edges pointing to it. responseType := types.ResponseType(idx) if _, ok := referencedResponseTypes[responseType]; ok { typeURL, err := GetResponseTypeURL(responseType) if err != nil { return err } referenceSet := referencedResources[typeURL] if len(referenceSet) != len(items.Items) { return fmt.Errorf("mismatched %q reference and resource lengths: len(%v) != %d", typeURL, referenceSet, len(items.Items)) } // Check superset. if err := superset(referenceSet, items.Items); err != nil { return fmt.Errorf("inconsistent %q reference: %w", typeURL, err) } } } return nil } // GetResources selects snapshot resources by type, returning the map of resources. func (s *Snapshot) GetResources(typeURL resource.Type) map[string]types.Resource { resources := s.GetResourcesAndTTL(typeURL) if resources == nil { return nil } withoutTTL := make(map[string]types.Resource, len(resources)) for k, v := range resources { withoutTTL[k] = v.Resource } return withoutTTL } // GetResourcesAndTTL selects snapshot resources by type, returning the map of resources and the associated TTL. func (s *Snapshot) GetResourcesAndTTL(typeURL resource.Type) map[string]types.ResourceWithTTL { if s == nil { return nil } typ := GetResponseType(typeURL) if typ == types.UnknownType { return nil } return s.Resources[typ].Items } // GetVersion returns the version for a resource type. func (s *Snapshot) GetVersion(typeURL resource.Type) string { if s == nil { return "" } typ := GetResponseType(typeURL) if typ == types.UnknownType { return "" } return s.Resources[typ].Version } // GetVersionMap will return the internal version map of the currently applied snapshot. func (s *Snapshot) GetVersionMap(typeURL string) map[string]string { return s.VersionMap[typeURL] } // ConstructVersionMap will construct a version map based on the current state of a snapshot func (s *Snapshot) ConstructVersionMap() error { if s == nil { return fmt.Errorf("missing snapshot") } // The snapshot resources never change, so no need to ever rebuild. if s.VersionMap != nil { return nil } s.VersionMap = make(map[string]map[string]string) for i, resources := range s.Resources { typeURL, err := GetResponseTypeURL(types.ResponseType(i)) if err != nil { return err } if _, ok := s.VersionMap[typeURL]; !ok { s.VersionMap[typeURL] = make(map[string]string, len(resources.Items)) } for _, r := range resources.Items { // Hash our version in here and build the version map. marshaledResource, err := MarshalResource(r.Resource) if err != nil { return err } v := HashResource(marshaledResource) if v == "" { return fmt.Errorf("failed to build resource version: %w", err) } s.VersionMap[typeURL][GetResourceName(r.Resource)] = v } } return nil } go-control-plane-0.12.0/pkg/cache/v3/snapshot_test.go000066400000000000000000000145451454502223200223630ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache_test import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) // Tests the snapshot defined in simple_test.go to ensure it is consistent. func TestTestSnapshotIsConsistent(t *testing.T) { snapshot := fixture.snapshot() if err := snapshot.Consistent(); err != nil { t.Errorf("got inconsistent snapshot for %#v\nerr=%s", snapshot, err.Error()) } } func TestSnapshotWithOnlyEndpointIsInconsistent(t *testing.T) { if snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.EndpointType: {testEndpoint}, }); snap.Consistent() == nil { t.Errorf("got consistent snapshot %#v", snap) } } func TestClusterWithMissingEndpointIsInconsistent(t *testing.T) { if snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.EndpointType: {resource.MakeEndpoint("missing", 8080)}, rsrc.ClusterType: {testCluster}, }); snap.Consistent() == nil { t.Errorf("got consistent snapshot %#v", snap) } } func TestListenerWithMissingRoutesIsInconsistent(t *testing.T) { if snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: {testListener}, }); snap.Consistent() == nil { t.Errorf("got consistent snapshot %#v", snap) } } func TestListenerWithUnidentifiedRouteIsInconsistent(t *testing.T) { if snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.RouteType: {resource.MakeRouteConfig("test", clusterName)}, rsrc.ListenerType: {testListener}, }); snap.Consistent() == nil { t.Errorf("got consistent snapshot %#v", snap) } } func TestRouteListenerWithRouteIsConsistent(t *testing.T) { snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeRouteHTTPListener(resource.Xds, "listener1", 80, "testRoute0"), }, rsrc.RouteType: { resource.MakeRouteConfig("testRoute0", clusterName), }, }) if err := snap.Consistent(); err != nil { t.Errorf("got inconsistent snapshot %s, %#v", err.Error(), snap) } } func TestScopedRouteListenerWithScopedRouteOnlyIsInconsistent(t *testing.T) { if snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeScopedRouteHTTPListener(resource.Xds, "listener0", 80), }, rsrc.ScopedRouteType: { resource.MakeScopedRouteConfig("scopedRoute0", "testRoute0", []string{"1.2.3.4"}), }, }); snap.Consistent() == nil { t.Errorf("got consistent snapshot %#v", snap) } } func TestScopedRouteListenerWithScopedRouteAndRouteIsConsistent(t *testing.T) { snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeScopedRouteHTTPListener(resource.Xds, "listener0", 80), }, rsrc.ScopedRouteType: { resource.MakeScopedRouteConfig("scopedRoute0", "testRoute0", []string{"1.2.3.4"}), }, rsrc.RouteType: { resource.MakeRouteConfig("testRoute0", clusterName), }, }) require.NoError(t, snap.Consistent(), "got inconsistent snapshot %#v", snap) } func TestScopedRouteListenerWithInlineScopedRouteAndRouteIsConsistent(t *testing.T) { snap, err := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeScopedRouteHTTPListenerForRoute(resource.Xds, "listener0", 80, "testRoute0"), }, rsrc.RouteType: { resource.MakeRouteConfig("testRoute0", clusterName), }, }) require.NoError(t, err) require.NoError(t, snap.Consistent()) } func TestScopedRouteListenerWithInlineScopedRouteAndNoRouteIsInconsistent(t *testing.T) { snap, err := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeScopedRouteHTTPListenerForRoute(resource.Xds, "listener0", 80, "testRoute0"), }, rsrc.RouteType: { resource.MakeRouteConfig("testRoute1", clusterName), }, }) require.NoError(t, err) require.Error(t, snap.Consistent()) } func TestMultipleListenersWithScopedRouteAndRouteIsConsistent(t *testing.T) { snap, _ := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ rsrc.ListenerType: { resource.MakeScopedRouteHTTPListener(resource.Xds, "listener0", 80), resource.MakeRouteHTTPListener(resource.Xds, "listener1", 80, "testRoute1"), }, rsrc.ScopedRouteType: { resource.MakeScopedRouteConfig("scopedRoute0", "testRoute0", []string{"1.2.3.4"}), }, rsrc.RouteType: { resource.MakeRouteConfig("testRoute0", clusterName), resource.MakeRouteConfig("testRoute1", clusterName), }, }) if err := snap.Consistent(); err != nil { t.Errorf("got inconsistent snapshot %s, %#v", err.Error(), snap) } } func TestSnapshotGetters(t *testing.T) { var nilsnap *cache.Snapshot if out := nilsnap.GetResources(rsrc.EndpointType); out != nil { t.Errorf("got non-empty resources for nil snapshot: %#v", out) } if out := nilsnap.Consistent(); out == nil { t.Errorf("nil snapshot should be inconsistent") } if out := nilsnap.GetVersion(rsrc.EndpointType); out != "" { t.Errorf("got non-empty version for nil snapshot: %#v", out) } snapshot := fixture.snapshot() if out := snapshot.GetResources("not a type"); out != nil { t.Errorf("got non-empty resources for unknown type: %#v", out) } if out := snapshot.GetVersion("not a type"); out != "" { t.Errorf("got non-empty version for unknown type: %#v", out) } } func TestNewSnapshotBadType(t *testing.T) { snap, err := cache.NewSnapshot(fixture.version, map[rsrc.Type][]types.Resource{ "random.type": nil, }) // Should receive an error from an unknown type require.Error(t, err) assert.Nil(t, snap) } go-control-plane-0.12.0/pkg/cache/v3/status.go000066400000000000000000000132241454502223200210010ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "sort" "sync" "time" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // NodeHash computes string identifiers for Envoy nodes. type NodeHash interface { // ID function defines a unique string identifier for the remote Envoy node. ID(node *core.Node) string } // IDHash uses ID field as the node hash. type IDHash struct{} // ID uses the node ID field func (IDHash) ID(node *core.Node) string { if node == nil { return "" } return node.GetId() } var _ NodeHash = IDHash{} // StatusInfo publishes information about nodes that are watching the xDS cache. type StatusInfo interface { // GetNode returns the node metadata. GetNode() *core.Node // GetNumWatches returns the number of open watches. GetNumWatches() int // GetNumDeltaWatches returns the number of open delta watches. GetNumDeltaWatches() int // GetLastWatchRequestTime returns the timestamp of the last discovery watch request. GetLastWatchRequestTime() time.Time // GetLastDeltaWatchRequestTime returns the timestamp of the last delta discovery watch request. GetLastDeltaWatchRequestTime() time.Time } // statusInfo tracks the server state for the remote Envoy node. type statusInfo struct { // node is the constant Envoy node metadata. node *core.Node // watches are indexed channels for the response watches and the original requests. watches map[int64]ResponseWatch orderedWatches keys // deltaWatches are indexed channels for the delta response watches and the original requests deltaWatches map[int64]DeltaResponseWatch orderedDeltaWatches keys // the timestamp of the last watch request lastWatchRequestTime time.Time // the timestamp of the last delta watch request lastDeltaWatchRequestTime time.Time // mutex to protect the status fields. // should not acquire mutex of the parent cache after acquiring this mutex. mu sync.RWMutex } // ResponseWatch is a watch record keeping both the request and an open channel for the response. type ResponseWatch struct { // Request is the original request for the watch. Request *Request // Response is the channel to push responses to. Response chan Response } // DeltaResponseWatch is a watch record keeping both the delta request and an open channel for the delta response. type DeltaResponseWatch struct { // Request is the most recent delta request for the watch Request *DeltaRequest // Response is the channel to push the delta responses to Response chan DeltaResponse // VersionMap for the stream StreamState stream.StreamState } // newStatusInfo initializes a status info data structure. func newStatusInfo(node *core.Node) *statusInfo { out := statusInfo{ node: node, watches: make(map[int64]ResponseWatch), orderedWatches: make(keys, 0), deltaWatches: make(map[int64]DeltaResponseWatch), } return &out } func (info *statusInfo) GetNode() *core.Node { info.mu.RLock() defer info.mu.RUnlock() return info.node } func (info *statusInfo) GetNumWatches() int { info.mu.RLock() defer info.mu.RUnlock() return len(info.watches) } func (info *statusInfo) GetNumDeltaWatches() int { info.mu.RLock() defer info.mu.RUnlock() return len(info.deltaWatches) } func (info *statusInfo) GetLastWatchRequestTime() time.Time { info.mu.RLock() defer info.mu.RUnlock() return info.lastWatchRequestTime } func (info *statusInfo) GetLastDeltaWatchRequestTime() time.Time { info.mu.RLock() defer info.mu.RUnlock() return info.lastDeltaWatchRequestTime } // setLastDeltaWatchRequestTime will set the current time of the last delta discovery watch request. func (info *statusInfo) setLastDeltaWatchRequestTime(t time.Time) { info.mu.Lock() defer info.mu.Unlock() info.lastDeltaWatchRequestTime = t } // setDeltaResponseWatch will set the provided delta response watch for the associated watch ID. func (info *statusInfo) setDeltaResponseWatch(id int64, drw DeltaResponseWatch) { info.mu.Lock() defer info.mu.Unlock() info.deltaWatches[id] = drw } // orderResponseWatches will track a list of watch keys and order them if // true is passed. func (info *statusInfo) orderResponseWatches() { info.orderedWatches = make(keys, len(info.watches)) var index int for id, watch := range info.watches { info.orderedWatches[index] = key{ ID: id, TypeURL: watch.Request.GetTypeUrl(), } index++ } // Sort our list which we can use in the SetSnapshot functions. // This is only run when we enable ADS on the cache. sort.Sort(info.orderedWatches) } // orderResponseDeltaWatches will track a list of delta watch keys and order them if // true is passed. func (info *statusInfo) orderResponseDeltaWatches() { info.orderedDeltaWatches = make(keys, len(info.deltaWatches)) var index int for id, deltaWatch := range info.deltaWatches { info.orderedDeltaWatches[index] = key{ ID: id, TypeURL: deltaWatch.Request.GetTypeUrl(), } index++ } // Sort our list which we can use in the SetSnapshot functions. // This is only run when we enable ADS on the cache. sort.Sort(info.orderedDeltaWatches) } go-control-plane-0.12.0/pkg/cache/v3/status_test.go000066400000000000000000000033071454502223200220410ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cache import ( "reflect" "testing" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" ) func TestIDHash(t *testing.T) { node := &core.Node{Id: "test"} if got := (IDHash{}).ID(node); got != "test" { t.Errorf("IDHash.ID(%v) => got %s, want %s", node, got, node.GetId()) } if got := (IDHash{}).ID(nil); got != "" { t.Errorf("IDHash.ID(nil) => got %s, want empty", got) } } func TestNewStatusInfo(t *testing.T) { node := &core.Node{Id: "test"} info := newStatusInfo(node) if got := info.GetNode(); !reflect.DeepEqual(got, node) { t.Errorf("GetNode() => got %#v, want %#v", got, node) } if got := info.GetNumWatches(); got != 0 { t.Errorf("GetNumWatches() => got %d, want 0", got) } if got := info.GetLastWatchRequestTime(); !got.IsZero() { t.Errorf("GetLastWatchRequestTime() => got %v, want zero time", got) } if got := info.GetNumDeltaWatches(); got != 0 { t.Errorf("GetNumDeltaWatches() => got %d, want 0", got) } if got := info.GetLastDeltaWatchRequestTime(); !got.IsZero() { t.Errorf("GetLastDeltaWatchRequestTime() => got %v, want zero time", got) } } go-control-plane-0.12.0/pkg/client/000077500000000000000000000000001454502223200170105ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/client/sotw/000077500000000000000000000000001454502223200200045ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/client/sotw/v3/000077500000000000000000000000001454502223200203345ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/client/sotw/v3/client.go000066400000000000000000000122401454502223200221400ustar00rootroot00000000000000// Copyright 2022 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS client package sotw import ( "context" "errors" "io" "sync" status "google.golang.org/genproto/googleapis/rpc/status" "google.golang.org/grpc" "google.golang.org/grpc/codes" grpcStatus "google.golang.org/grpc/status" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" ) var ( ErrInit = errors.New("ads client: grpc connection is not initialized (use InitConnect() method to initialize connection)") ErrNilResp = errors.New("ads client: nil response from xds management server") ) // ADSClient is a SoTW and ADS based generic gRPC xDS client which can be used to // implement an xDS client which fetches resources from an xDS server and responds // the server back with ack or nack the resources. type ADSClient interface { // Initialize the gRPC connection with management server and send the initial Discovery Request. InitConnect(clientConn grpc.ClientConnInterface, opts ...grpc.CallOption) error // Fetch waits for a response from management server and returns response or error. Fetch() (*Response, error) // Ack acknowledge the validity of the last received response to management server. Ack() error // Nack acknowledge the invalidity of the last received response to management server. Nack(message string) error } // Response wraps the latest Resources from the xDS server. // For the time being it only contains the Resources from server. This can be extended with // other response details. For example some metadata from DiscoveryResponse. type Response struct { Resources []*anypb.Any } type adsClient struct { ctx context.Context mu sync.Mutex node *core.Node typeURL string // streamClient is the ADS discovery client streamClient discovery.AggregatedDiscoveryService_StreamAggregatedResourcesClient // lastAckedResponse is the last response acked by the ADS client lastAckedResponse *discovery.DiscoveryResponse // lastReceivedResponse is the last response received from management server lastReceivedResponse *discovery.DiscoveryResponse } // NewADSClient returns a new ADSClient func NewADSClient(ctx context.Context, node *core.Node, typeURL string) ADSClient { return &adsClient{ ctx: ctx, node: node, typeURL: typeURL, } } // Initialize the gRPC connection with management server and send the initial Discovery Request. func (c *adsClient) InitConnect(clientConn grpc.ClientConnInterface, opts ...grpc.CallOption) error { streamClient, err := discovery.NewAggregatedDiscoveryServiceClient(clientConn).StreamAggregatedResources(c.ctx, opts...) if err != nil { return err } c.streamClient = streamClient return c.Ack() } // Fetch waits for a response from management server and returns response or error. func (c *adsClient) Fetch() (*Response, error) { c.mu.Lock() defer c.mu.Unlock() if c.streamClient == nil { return nil, ErrInit } resp, err := c.streamClient.Recv() if err != nil { return nil, err } if resp == nil { return nil, ErrNilResp } c.lastReceivedResponse = resp return &Response{ Resources: resp.GetResources(), }, err } // Ack acknowledge the validity of the last received response to management server. func (c *adsClient) Ack() error { c.mu.Lock() defer c.mu.Unlock() c.lastAckedResponse = c.lastReceivedResponse return c.send(nil) } // Nack acknowledge the invalidity of the last received response to management server. func (c *adsClient) Nack(message string) error { c.mu.Lock() defer c.mu.Unlock() errorDetail := &status.Status{ Message: message, } return c.send(errorDetail) } // IsConnError checks the provided error is due to the gRPC connection // and returns true if it is due to the gRPC connection. // // In this case the gRPC connection with the server should be re initialized with the // ADSClient.InitConnect method. func IsConnError(err error) bool { if err == nil { return false } if errors.Is(err, io.EOF) { return true } errStatus, ok := grpcStatus.FromError(err) if !ok { return false } return errStatus.Code() == codes.Unavailable || errStatus.Code() == codes.Canceled } func (c *adsClient) send(errorDetail *status.Status) error { if c.streamClient == nil { return ErrInit } req := &discovery.DiscoveryRequest{ Node: c.node, VersionInfo: c.lastAckedResponse.GetVersionInfo(), TypeUrl: c.typeURL, ResponseNonce: c.lastReceivedResponse.GetNonce(), ErrorDetail: errorDetail, } return c.streamClient.Send(req) } go-control-plane-0.12.0/pkg/client/sotw/v3/client_test.go000066400000000000000000000076011454502223200232040ustar00rootroot00000000000000package sotw_test import ( "context" "net" "sync" "testing" "time" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" clusterv3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" client "github.com/envoyproxy/go-control-plane/pkg/client/sotw/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestFetch(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) defer cancel() snapCache := cache.NewSnapshotCache(true, cache.IDHash{}, nil) go func() { err := startAdsServer(ctx, snapCache) require.NoError(t, err) }() conn, err := grpc.Dial(":18001", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock()) require.NoError(t, err) defer conn.Close() c := client.NewADSClient(ctx, &core.Node{Id: "node_1"}, resource.ClusterType) err = c.InitConnect(conn) require.NoError(t, err) t.Run("Test initial fetch", testInitialFetch(ctx, snapCache, c)) t.Run("Test next fetch", testNextFetch(ctx, snapCache, c)) } func testInitialFetch(ctx context.Context, snapCache cache.SnapshotCache, c client.ADSClient) func(t *testing.T) { return func(t *testing.T) { wg := sync.WaitGroup{} wg.Add(1) go func() { // watch for configs resp, err := c.Fetch() require.NoError(t, err) assert.Len(t, resp.Resources, 3) for _, r := range resp.Resources { cluster := &clusterv3.Cluster{} err := anypb.UnmarshalTo(r, cluster, proto.UnmarshalOptions{}) require.NoError(t, err) assert.Contains(t, []string{"cluster_1", "cluster_2", "cluster_3"}, cluster.GetName()) } err = c.Ack() require.NoError(t, err) wg.Done() }() snapshot, err := cache.NewSnapshot("1", map[resource.Type][]types.Resource{ resource.ClusterType: { &clusterv3.Cluster{Name: "cluster_1"}, &clusterv3.Cluster{Name: "cluster_2"}, &clusterv3.Cluster{Name: "cluster_3"}, }, }) require.NoError(t, err) err = snapshot.Consistent() require.NoError(t, err) err = snapCache.SetSnapshot(ctx, "node_1", snapshot) wg.Wait() require.NoError(t, err) } } func testNextFetch(ctx context.Context, snapCache cache.SnapshotCache, c client.ADSClient) func(t *testing.T) { return func(t *testing.T) { wg := sync.WaitGroup{} wg.Add(1) go func() { // watch for configs resp, err := c.Fetch() require.NoError(t, err) assert.Len(t, resp.Resources, 2) for _, r := range resp.Resources { cluster := &clusterv3.Cluster{} err = anypb.UnmarshalTo(r, cluster, proto.UnmarshalOptions{}) require.NoError(t, err) assert.Contains(t, []string{"cluster_2", "cluster_4"}, cluster.GetName()) } err = c.Ack() require.NoError(t, err) wg.Done() }() snapshot, err := cache.NewSnapshot("2", map[resource.Type][]types.Resource{ resource.ClusterType: { &clusterv3.Cluster{Name: "cluster_2"}, &clusterv3.Cluster{Name: "cluster_4"}, }, }) require.NoError(t, err) err = snapshot.Consistent() require.NoError(t, err) err = snapCache.SetSnapshot(ctx, "node_1", snapshot) require.NoError(t, err) wg.Wait() } } func startAdsServer(ctx context.Context, snapCache cache.SnapshotCache) error { lis, err := net.Listen("tcp", "127.0.0.1:18001") if err != nil { return err } grpcServer := grpc.NewServer() s := server.NewServer(ctx, snapCache, nil) discovery.RegisterAggregatedDiscoveryServiceServer(grpcServer, s) if e := grpcServer.Serve(lis); e != nil { err = e } return err } go-control-plane-0.12.0/pkg/conversion/000077500000000000000000000000001454502223200177175ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/conversion/struct.go000066400000000000000000000032641454502223200215770ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package conversion contains shared utility functions for converting xDS resources. package conversion import ( "errors" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/structpb" ) // MessageToStruct encodes a protobuf Message into a Struct. Hilariously, it // uses JSON as the intermediary // author:glen@turbinelabs.io func MessageToStruct(msg proto.Message) (*structpb.Struct, error) { if msg == nil { return nil, errors.New("nil message") } b, err := (&protojson.MarshalOptions{UseProtoNames: true}).Marshal(msg) if err != nil { return nil, err } pbs := &structpb.Struct{} if err := protojson.Unmarshal(b, pbs); err != nil { return nil, err } return pbs, nil } // StructToMessage decodes a protobuf Message from a Struct. func StructToMessage(pbst *structpb.Struct, out proto.Message) error { if pbst == nil { return errors.New("nil struct") } b, err := (&protojson.MarshalOptions{UseProtoNames: true}).Marshal(pbst) if err != nil { return err } return protojson.Unmarshal(b, out) } go-control-plane-0.12.0/pkg/conversion/struct_test.go000066400000000000000000000042371454502223200226370ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package conversion_test import ( "testing" "github.com/google/go-cmp/cmp" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/structpb" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/conversion" ) func TestConversion(t *testing.T) { pb := &discovery.DiscoveryRequest{ VersionInfo: "test", Node: &core.Node{Id: "proxy"}, } st, err := conversion.MessageToStruct(pb) if err != nil { t.Fatalf("unexpected error %v", err) } pbst := map[string]*structpb.Value{ "version_info": {Kind: &structpb.Value_StringValue{StringValue: "test"}}, "node": {Kind: &structpb.Value_StructValue{StructValue: &structpb.Struct{ Fields: map[string]*structpb.Value{ "id": {Kind: &structpb.Value_StringValue{StringValue: "proxy"}}, }, }}}, } if !cmp.Equal(st.GetFields(), pbst, cmp.Comparer(proto.Equal)) { t.Errorf("MessageToStruct(%v) => got %v, want %v", pb, st.GetFields(), pbst) } out := &discovery.DiscoveryRequest{} err = conversion.StructToMessage(st, out) if err != nil { t.Fatalf("unexpected error %v", err) } if !cmp.Equal(pb, out, cmp.Comparer(proto.Equal)) { t.Errorf("StructToMessage(%v) => got %v, want %v", st, out, pb) } if _, err = conversion.MessageToStruct(nil); err == nil { t.Error("MessageToStruct(nil) => got no error") } if err = conversion.StructToMessage(nil, &discovery.DiscoveryRequest{}); err == nil { t.Error("StructToMessage(nil) => got no error") } } go-control-plane-0.12.0/pkg/integration/000077500000000000000000000000001454502223200200555ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/integration/ttl_integration_test.go000066400000000000000000000104261454502223200246540ustar00rootroot00000000000000package integration import ( "context" "net" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" envoy_config_core_v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" envoy_config_endpoint_v3 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" envoy_service_discovery_v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" endpointservice "github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" ) type logger struct { t *testing.T } func (log logger) Debugf(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Infof(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Warnf(format string, args ...interface{}) { log.t.Logf(format, args...) } func (log logger) Errorf(format string, args ...interface{}) { log.t.Logf(format, args...) } func TestTTLResponse(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() snapshotCache := cache.NewSnapshotCacheWithHeartbeating(ctx, false, cache.IDHash{}, logger{t: t}, time.Second) server := server.NewServer(ctx, snapshotCache, nil) grpcServer := grpc.NewServer() endpointservice.RegisterEndpointDiscoveryServiceServer(grpcServer, server) l, err := net.Listen("tcp", ":9999") // nolint:gosec require.NoError(t, err) go func() { require.NoError(t, grpcServer.Serve(l)) }() defer grpcServer.Stop() conn, err := grpc.Dial(":9999", grpc.WithTransportCredentials(insecure.NewCredentials())) require.NoError(t, err) client := endpointservice.NewEndpointDiscoveryServiceClient(conn) sclient, err := client.StreamEndpoints(ctx) require.NoError(t, err) err = sclient.Send(&envoy_service_discovery_v3.DiscoveryRequest{ Node: &envoy_config_core_v3.Node{ Id: "test", }, ResourceNames: []string{"resource"}, TypeUrl: resource.EndpointType, }) require.NoError(t, err) oneSecond := time.Second cla := &envoy_config_endpoint_v3.ClusterLoadAssignment{ClusterName: "resource"} snap, _ := cache.NewSnapshotWithTTLs("1", map[resource.Type][]types.ResourceWithTTL{ resource.EndpointType: {{ Resource: cla, TTL: &oneSecond, }}, }) err = snapshotCache.SetSnapshot(context.Background(), "test", snap) require.NoError(t, err) timeout := time.NewTimer(5 * time.Second) awaitResponse := func() *envoy_service_discovery_v3.DiscoveryResponse { t.Helper() doneCh := make(chan *envoy_service_discovery_v3.DiscoveryResponse) go func() { r, err := sclient.Recv() require.NoError(t, err) doneCh <- r }() select { case <-timeout.C: assert.Fail(t, "timed out") return nil case r := <-doneCh: return r } } response := awaitResponse() isFullResponseWithTTL(t, response) err = sclient.Send(&envoy_service_discovery_v3.DiscoveryRequest{ Node: &envoy_config_core_v3.Node{ Id: "test", }, ResourceNames: []string{"resource"}, TypeUrl: resource.EndpointType, VersionInfo: "1", ResponseNonce: response.GetNonce(), }) require.NoError(t, err) response = awaitResponse() isHeartbeatResponseWithTTL(t, response) } func isFullResponseWithTTL(t *testing.T, response *envoy_service_discovery_v3.DiscoveryResponse) { t.Helper() require.Len(t, response.GetResources(), 1) r := response.GetResources()[0] resource := &envoy_service_discovery_v3.Resource{} err := anypb.UnmarshalTo(r, resource, proto.UnmarshalOptions{}) require.NoError(t, err) assert.NotNil(t, resource.GetTtl()) assert.NotNil(t, resource.GetResource()) } func isHeartbeatResponseWithTTL(t *testing.T, response *envoy_service_discovery_v3.DiscoveryResponse) { t.Helper() require.Len(t, response.GetResources(), 1) r := response.GetResources()[0] resource := &envoy_service_discovery_v3.Resource{} err := anypb.UnmarshalTo(r, resource, proto.UnmarshalOptions{}) require.NoError(t, err) assert.NotNil(t, resource.GetTtl()) assert.Nil(t, resource.GetResource()) } go-control-plane-0.12.0/pkg/log/000077500000000000000000000000001454502223200163135ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/log/default.go000066400000000000000000000014561454502223200202740ustar00rootroot00000000000000//nolint:all package log // DefaultLogger is enabled when no consuming clients provide // a logger to the server/cache subsystem type DefaultLogger struct { } // NewDefaultLogger creates a DefaultLogger which is a no-op to maintain current functionality func NewDefaultLogger() *DefaultLogger { return &DefaultLogger{} } // Debugf logs a message at level debug on the standard logger. func (l *DefaultLogger) Debugf(string, ...interface{}) { } // Infof logs a message at level info on the standard logger. func (l *DefaultLogger) Infof(string, ...interface{}) { } // Warnf logs a message at level warn on the standard logger. func (l *DefaultLogger) Warnf(string, ...interface{}) { } // Errorf logs a message at level error on the standard logger. func (l *DefaultLogger) Errorf(string, ...interface{}) { } go-control-plane-0.12.0/pkg/log/log.go000066400000000000000000000041531454502223200174260ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package log provides a logging interface for use in this library. package log // Logger interface for reporting informational and warning messages. type Logger interface { // Debugf logs a formatted debugging message. Debugf(format string, args ...interface{}) // Infof logs a formatted informational message. Infof(format string, args ...interface{}) // Warnf logs a formatted warning message. Warnf(format string, args ...interface{}) // Errorf logs a formatted error message. Errorf(format string, args ...interface{}) } // LoggerFuncs implements the Logger interface, allowing the // caller to specify only the logging functions that are desired. type LoggerFuncs struct { DebugFunc func(string, ...interface{}) InfoFunc func(string, ...interface{}) WarnFunc func(string, ...interface{}) ErrorFunc func(string, ...interface{}) } // Debugf logs a formatted debugging message. func (f LoggerFuncs) Debugf(format string, args ...interface{}) { if f.DebugFunc != nil { f.DebugFunc(format, args...) } } // Infof logs a formatted informational message. func (f LoggerFuncs) Infof(format string, args ...interface{}) { if f.InfoFunc != nil { f.InfoFunc(format, args...) } } // Warnf logs a formatted warning message. func (f LoggerFuncs) Warnf(format string, args ...interface{}) { if f.WarnFunc != nil { f.WarnFunc(format, args...) } } // Errorf logs a formatted error message. func (f LoggerFuncs) Errorf(format string, args ...interface{}) { if f.ErrorFunc != nil { f.ErrorFunc(format, args...) } } go-control-plane-0.12.0/pkg/log/log_test.go000066400000000000000000000034261454502223200204670ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package log import ( "log" "testing" "github.com/stretchr/testify/assert" ) func ExampleLoggerFuncs() { xdsLogger := LoggerFuncs{ DebugFunc: log.Printf, InfoFunc: log.Printf, WarnFunc: log.Printf, ErrorFunc: log.Printf, } xdsLogger.Debugf("debug") xdsLogger.Infof("info") xdsLogger.Warnf("warn") xdsLogger.Errorf("error") } func TestLoggerFuncs(t *testing.T) { debug := 0 info := 0 warn := 0 err := 0 xdsLogger := LoggerFuncs{ DebugFunc: func(string, ...interface{}) { debug++ }, InfoFunc: func(string, ...interface{}) { info++ }, WarnFunc: func(string, ...interface{}) { warn++ }, ErrorFunc: func(string, ...interface{}) { err++ }, } xdsLogger.Debugf("debug") xdsLogger.Infof("info") xdsLogger.Warnf("warn") xdsLogger.Errorf("err") assert.Equal(t, 1, debug) assert.Equal(t, 1, info) assert.Equal(t, 1, warn) assert.Equal(t, 1, err) } func TestNilLoggerFuncs(_ *testing.T) { xdsLogger := LoggerFuncs{} // Just verifying that nothing panics. xdsLogger.Debugf("debug") xdsLogger.Infof("info") xdsLogger.Warnf("warn") xdsLogger.Errorf("error") } func TestDefaultLogger(t *testing.T) { logger := NewDefaultLogger() assert.NotNil(t, logger) } go-control-plane-0.12.0/pkg/resource/000077500000000000000000000000001454502223200173615ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/resource/v3/000077500000000000000000000000001454502223200177115ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/resource/v3/resource.go000066400000000000000000000050721454502223200220730ustar00rootroot00000000000000package resource import ( "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" listener "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3" hcm "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" ) // Type is an alias to string which we expose to users of the snapshot API which accepts `resource.Type` resource URLs. type Type = string // Resource types in xDS v3. const ( APITypePrefix = "type.googleapis.com/" EndpointType = APITypePrefix + "envoy.config.endpoint.v3.ClusterLoadAssignment" ClusterType = APITypePrefix + "envoy.config.cluster.v3.Cluster" RouteType = APITypePrefix + "envoy.config.route.v3.RouteConfiguration" ScopedRouteType = APITypePrefix + "envoy.config.route.v3.ScopedRouteConfiguration" VirtualHostType = APITypePrefix + "envoy.config.route.v3.VirtualHost" ListenerType = APITypePrefix + "envoy.config.listener.v3.Listener" SecretType = APITypePrefix + "envoy.extensions.transport_sockets.tls.v3.Secret" ExtensionConfigType = APITypePrefix + "envoy.config.core.v3.TypedExtensionConfig" RuntimeType = APITypePrefix + "envoy.service.runtime.v3.Runtime" ThriftRouteType = APITypePrefix + "envoy.extensions.filters.network.thrift_proxy.v3.RouteConfiguration" // Rate Limit service RateLimitConfigType = APITypePrefix + "ratelimit.config.ratelimit.v3.RateLimitConfig" // AnyType is used only by ADS AnyType = "" ) // Fetch urls in xDS v3. const ( FetchEndpoints = "/v3/discovery:endpoints" FetchClusters = "/v3/discovery:clusters" FetchListeners = "/v3/discovery:listeners" FetchRoutes = "/v3/discovery:routes" FetchScopedRoutes = "/v3/discovery:scoped-routes" FetchSecrets = "/v3/discovery:secrets" //nolint:gosec FetchRuntimes = "/v3/discovery:runtime" FetchExtensionConfigs = "/v3/discovery:extension_configs" ) // DefaultAPIVersion is the api version const DefaultAPIVersion = core.ApiVersion_V3 // GetHTTPConnectionManager creates a HttpConnectionManager // from filter. Returns nil if the filter doesn't have a valid // HttpConnectionManager configuration. func GetHTTPConnectionManager(filter *listener.Filter) *hcm.HttpConnectionManager { if typedConfig := filter.GetTypedConfig(); typedConfig != nil { config := &hcm.HttpConnectionManager{} if err := anypb.UnmarshalTo(typedConfig, config, proto.UnmarshalOptions{}); err == nil { return config } } return nil } go-control-plane-0.12.0/pkg/server/000077500000000000000000000000001454502223200170405ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/config/000077500000000000000000000000001454502223200203055ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/config/config.go000066400000000000000000000013451454502223200221040ustar00rootroot00000000000000package config // Opts for individual xDS implementations that can be // utilized through the functional opts pattern. type Opts struct { // If true respond to ADS requests with a guaranteed resource ordering Ordered bool } func NewOpts() Opts { return Opts{ Ordered: false, } } // Each xDS implementation should implement their own functional opts. // It is recommended that config values be added in this package specifically, // but the individual opts functions should be in their respective // implementation package so the import looks like the following: // // `sotw.WithOrderedADS()` // `delta.WithOrderedADS()` // // this allows for easy inference as to which opt applies to what implementation. type XDSOption func(*Opts) go-control-plane-0.12.0/pkg/server/config/doc.go000066400000000000000000000015761454502223200214120ustar00rootroot00000000000000/* Config abstracts xDS server options into a unified configuration package that allows for easy manipulation as well as unified passage of options to individual xDS server implementations. This enables code reduction as well as a unified source of config. Delta and SOTW might have similar ordered responses through ADS and rather than duplicating the logic across server implementations, we add the options in this package which are passed down to each individual spec. Each xDS implementation should implement their own functional opts. It is recommended that config values be added in this package specifically, but the individual opts functions should be in their respective implementation package so the import looks like the following: `sotw.WithOrderedADS()` `delta.WithOrderedADS()` this allows for easy inference as to which opt applies to what implementation. */ package config go-control-plane-0.12.0/pkg/server/delta/000077500000000000000000000000001454502223200201315ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/delta/v3/000077500000000000000000000000001454502223200204615ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/delta/v3/server.go000066400000000000000000000215401454502223200223200ustar00rootroot00000000000000package delta import ( "context" "errors" "strconv" "sync/atomic" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/config" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // Server is a wrapper interface which is meant to hold the proper stream handler for each xDS protocol. type Server interface { DeltaStreamHandler(stream stream.DeltaStream, typeURL string) error } type Callbacks interface { // OnDeltaStreamOpen is called once an incremental xDS stream is open with a stream ID and the type URL (or "" for ADS). // Returning an error will end processing and close the stream. OnStreamClosed will still be called. OnDeltaStreamOpen(context.Context, int64, string) error // OnDeltaStreamClosed is called immediately prior to closing an xDS stream with a stream ID. OnDeltaStreamClosed(int64, *core.Node) // OnStreamDeltaRequest is called once a request is received on a stream. // Returning an error will end processing and close the stream. OnStreamClosed will still be called. OnStreamDeltaRequest(int64, *discovery.DeltaDiscoveryRequest) error // OnStreamDeltaResponse is called immediately prior to sending a response on a stream. OnStreamDeltaResponse(int64, *discovery.DeltaDiscoveryRequest, *discovery.DeltaDiscoveryResponse) } var deltaErrorResponse = &cache.RawDeltaResponse{} type server struct { cache cache.ConfigWatcher callbacks Callbacks // total stream count for counting bi-di streams streamCount int64 ctx context.Context // Local configuration flags for individual xDS implementations. opts config.Opts } // NewServer creates a delta xDS specific server which utilizes a ConfigWatcher and delta Callbacks. func NewServer(ctx context.Context, config cache.ConfigWatcher, callbacks Callbacks, opts ...config.XDSOption) Server { s := &server{ cache: config, callbacks: callbacks, ctx: ctx, } // Parse through our options for _, opt := range opts { opt(&s.opts) } return s } func (s *server) processDelta(str stream.DeltaStream, reqCh <-chan *discovery.DeltaDiscoveryRequest, defaultTypeURL string) error { streamID := atomic.AddInt64(&s.streamCount, 1) // streamNonce holds a unique nonce for req-resp pairs per xDS stream. var streamNonce int64 // a collection of stack allocated watches per request type watches := newWatches() node := &core.Node{} defer func() { watches.Cancel() if s.callbacks != nil { s.callbacks.OnDeltaStreamClosed(streamID, node) } }() // sends a response, returns the new stream nonce send := func(resp cache.DeltaResponse) (string, error) { if resp == nil { return "", errors.New("missing response") } response, err := resp.GetDeltaDiscoveryResponse() if err != nil { return "", err } streamNonce++ response.Nonce = strconv.FormatInt(streamNonce, 10) if s.callbacks != nil { s.callbacks.OnStreamDeltaResponse(streamID, resp.GetDeltaRequest(), response) } return response.GetNonce(), str.Send(response) } // process a single delta response process := func(resp cache.DeltaResponse) error { typ := resp.GetDeltaRequest().GetTypeUrl() if resp == deltaErrorResponse { return status.Errorf(codes.Unavailable, typ+" watch failed") } nonce, err := send(resp) if err != nil { return err } watch := watches.deltaWatches[typ] watch.nonce = nonce watch.state.SetResourceVersions(resp.GetNextVersionMap()) watches.deltaWatches[typ] = watch return nil } // processAll purges the deltaMuxedResponses channel processAll := func() error { for { select { // We watch the multiplexed channel for incoming responses. case resp, more := <-watches.deltaMuxedResponses: if !more { break } if err := process(resp); err != nil { return err } default: return nil } } } if s.callbacks != nil { if err := s.callbacks.OnDeltaStreamOpen(str.Context(), streamID, defaultTypeURL); err != nil { return err } } for { select { case <-s.ctx.Done(): return nil // We watch the multiplexed channel for incoming responses. case resp, more := <-watches.deltaMuxedResponses: // input stream ended or errored out if !more { break } if err := process(resp); err != nil { return err } case req, more := <-reqCh: // input stream ended or errored out if !more { return nil } if req == nil { return status.Errorf(codes.Unavailable, "empty request") } // make sure all existing responses are processed prior to new requests to avoid deadlock if err := processAll(); err != nil { return err } if s.callbacks != nil { if err := s.callbacks.OnStreamDeltaRequest(streamID, req); err != nil { return err } } // The node information might only be set on the first incoming delta discovery request, so store it here so we can // reset it on subsequent requests that omit it. if req.GetNode() != nil { node = req.GetNode() } else { req.Node = node } // type URL is required for ADS but is implicit for any other xDS stream if defaultTypeURL == resource.AnyType { if req.GetTypeUrl() == "" { return status.Errorf(codes.InvalidArgument, "type URL is required for ADS") } } else if req.GetTypeUrl() == "" { req.TypeUrl = defaultTypeURL } typeURL := req.GetTypeUrl() // cancel existing watch to (re-)request a newer version watch, ok := watches.deltaWatches[typeURL] if !ok { // Initialize the state of the stream. // Since there was no previous state, we know we're handling the first request of this type // so we set the initial resource versions if we have any. // We also set the stream as wildcard based on its legacy meaning (no resource name sent in resource_names_subscribe). // If the state starts with this legacy mode, adding new resources will not unsubscribe from wildcard. // It can still be done by explicitly unsubscribing from "*" watch.state = stream.NewStreamState(len(req.GetResourceNamesSubscribe()) == 0, req.GetInitialResourceVersions()) } else { watch.Cancel() } s.subscribe(req.GetResourceNamesSubscribe(), &watch.state) s.unsubscribe(req.GetResourceNamesUnsubscribe(), &watch.state) watch.cancel = s.cache.CreateDeltaWatch(req, watch.state, watches.deltaMuxedResponses) watches.deltaWatches[typeURL] = watch } } } func (s *server) DeltaStreamHandler(str stream.DeltaStream, typeURL string) error { // a channel for receiving incoming delta requests reqCh := make(chan *discovery.DeltaDiscoveryRequest) // we need to concurrently handle incoming requests since we kick off processDelta as a return go func() { for { select { case <-str.Context().Done(): close(reqCh) return default: req, err := str.Recv() if err != nil { close(reqCh) return } reqCh <- req } } }() return s.processDelta(str, reqCh, typeURL) } // When we subscribe, we just want to make the cache know we are subscribing to a resource. // Even if the stream is wildcard, we keep the list of explicitly subscribed resources as the wildcard subscription can be discarded later on. func (s *server) subscribe(resources []string, streamState *stream.StreamState) { sv := streamState.GetSubscribedResourceNames() for _, resource := range resources { if resource == "*" { streamState.SetWildcard(true) continue } sv[resource] = struct{}{} } } // Unsubscriptions remove resources from the stream's subscribed resource list. // If a client explicitly unsubscribes from a wildcard request, the stream is updated and now watches only subscribed resources. func (s *server) unsubscribe(resources []string, streamState *stream.StreamState) { sv := streamState.GetSubscribedResourceNames() for _, resource := range resources { if resource == "*" { streamState.SetWildcard(false) continue } if _, ok := sv[resource]; ok && streamState.IsWildcard() { // The XDS protocol states that: // * if a watch is currently wildcard // * a resource is explicitly unsubscribed by name // Then the control-plane must return in the response whether the resource is removed (if no longer present for this node) // or still existing. In the latter case the entire resource must be returned, same as if it had been created or updated // To achieve that, we mark the resource as having been returned with an empty version. While creating the response, the cache will either: // * detect the version change, and return the resource (as an update) // * detect the resource deletion, and set it as removed in the response streamState.GetResourceVersions()[resource] = "" } delete(sv, resource) } } go-control-plane-0.12.0/pkg/server/delta/v3/watches.go000066400000000000000000000024741454502223200224550ustar00rootroot00000000000000package delta import ( "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // watches for all delta xDS resource types type watches struct { deltaWatches map[string]watch // Opaque resources share a muxed channel deltaMuxedResponses chan cache.DeltaResponse } // newWatches creates and initializes watches. func newWatches() watches { // deltaMuxedResponses needs a buffer to release go-routines populating it // // because deltaMuxedResponses can be populated by an update from the cache // and a request from the client, we need to create the channel with a buffer // size of 2x the number of types to avoid deadlocks. return watches{ deltaWatches: make(map[string]watch, int(types.UnknownType)), deltaMuxedResponses: make(chan cache.DeltaResponse, int(types.UnknownType)*2), } } // Cancel all watches func (w *watches) Cancel() { for _, watch := range w.deltaWatches { watch.Cancel() } close(w.deltaMuxedResponses) } // watch contains the necessary modifiables for receiving resource responses type watch struct { cancel func() nonce string state stream.StreamState } // Cancel calls terminate and cancel func (w *watch) Cancel() { if w.cancel != nil { w.cancel() } } go-control-plane-0.12.0/pkg/server/delta/v3/watches_test.go000066400000000000000000000011521454502223200235040ustar00rootroot00000000000000package delta import ( "strconv" "testing" "github.com/stretchr/testify/assert" ) func TestDeltaWatches(t *testing.T) { t.Run("watches response channels are properly closed when the watches are canceled", func(t *testing.T) { watches := newWatches() cancelCount := 0 // create a few watches, and ensure that the cancel function are called and the channels are closed for i := 0; i < 5; i++ { newWatch := watch{} if i%2 == 0 { newWatch.cancel = func() { cancelCount++ } } watches.deltaWatches[strconv.Itoa(i)] = newWatch } watches.Cancel() assert.Equal(t, 3, cancelCount) }) } go-control-plane-0.12.0/pkg/server/rest/000077500000000000000000000000001454502223200200155ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/rest/v3/000077500000000000000000000000001454502223200203455ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/rest/v3/server.go000066400000000000000000000040361454502223200222050ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package rest provides an implementation of REST-JSON part of XDS server package rest import ( "context" "errors" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" ) type Server interface { Fetch(context.Context, *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) } type Callbacks interface { // OnFetchRequest is called for each Fetch request. Returning an error will end processing of the // request and respond with an error. OnFetchRequest(context.Context, *discovery.DiscoveryRequest) error // OnFetchResponse is called immediately prior to sending a response. OnFetchResponse(*discovery.DiscoveryRequest, *discovery.DiscoveryResponse) } func NewServer(config cache.ConfigFetcher, callbacks Callbacks) Server { return &server{cache: config, callbacks: callbacks} } type server struct { cache cache.ConfigFetcher callbacks Callbacks } func (s *server) Fetch(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if s.callbacks != nil { if err := s.callbacks.OnFetchRequest(ctx, req); err != nil { return nil, err } } resp, err := s.cache.Fetch(ctx, req) if err != nil { return nil, err } if resp == nil { return nil, errors.New("missing response") } out, err := resp.GetDiscoveryResponse() if s.callbacks != nil { s.callbacks.OnFetchResponse(req, out) } return out, err } go-control-plane-0.12.0/pkg/server/sotw/000077500000000000000000000000001454502223200200345ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/sotw/v3/000077500000000000000000000000001454502223200203645ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/sotw/v3/ads.go000066400000000000000000000112521454502223200214630ustar00rootroot00000000000000package sotw import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) // process handles a bi-di stream request func (s *server) processADS(sw *streamWrapper, reqCh chan *discovery.DiscoveryRequest, defaultTypeURL string) error { // We make a responder channel here so we can multiplex responses from the dynamic channels. sw.watches.addWatch(resource.AnyType, &watch{ // Create a buffered channel the size of the known resource types. response: make(chan cache.Response, types.UnknownType), cancel: func() { close(sw.watches.responders[resource.AnyType].response) }, }) process := func(resp cache.Response) error { nonce, err := sw.send(resp) if err != nil { return err } sw.watches.responders[resp.GetRequest().GetTypeUrl()].nonce = nonce return nil } // Instead of creating a separate channel for each incoming request and abandoning the old one // This algorithm uses (and reuses) a single channel for all request types and guarantees // the server will send updates over the wire in an ordered fashion. // Downside is there is no longer back pressure per resource. // There is potential for a dropped response from the cache but this is not impactful // to the client since SOTW version handling is global and a new sequence will be // initiated on a new request. processAllExcept := func(typeURL string) error { for { select { // We watch the multiplexed ADS channel for incoming responses. case res := <-sw.watches.responders[resource.AnyType].response: if res.GetRequest().GetTypeUrl() != typeURL { if err := process(res); err != nil { return err } } default: return nil } } } // This control loop strictly orders resources when running in ADS mode. // It should be treated as a child process of the original process() loop // and should return on close of stream or error. This will cause the // cleanup routines in the parent process() loop to execute. for { select { case <-s.ctx.Done(): return nil // We only watch the multiplexed channel since all values will come through from process. case res := <-sw.watches.responders[resource.AnyType].response: if err := process(res); err != nil { return status.Errorf(codes.Unavailable, err.Error()) } case req, ok := <-reqCh: // Input stream ended or failed. if !ok { return nil } // Received an empty request over the request channel. Can't respond. if req == nil { return status.Errorf(codes.Unavailable, "empty request") } // Only first request is guaranteed to hold node info so if it's missing, reassign. if req.GetNode() != nil { sw.node = req.GetNode() } else { req.Node = sw.node } // Nonces can be reused across streams; we verify nonce only if nonce is not initialized. nonce := req.GetResponseNonce() // type URL is required for ADS but is implicit for xDS if defaultTypeURL == resource.AnyType { if req.GetTypeUrl() == "" { return status.Errorf(codes.InvalidArgument, "type URL is required for ADS") } } if s.callbacks != nil { if err := s.callbacks.OnStreamRequest(sw.ID, req); err != nil { return err } } if lastResponse, ok := sw.lastDiscoveryResponses[req.GetTypeUrl()]; ok { if lastResponse.nonce == "" || lastResponse.nonce == nonce { // Let's record Resource names that a client has received. sw.streamState.SetKnownResourceNames(req.GetTypeUrl(), lastResponse.resources) } } typeURL := req.GetTypeUrl() // Use the multiplexed channel for new watches. responder := sw.watches.responders[resource.AnyType].response if w, ok := sw.watches.responders[typeURL]; ok { // We've found a pre-existing watch, lets check and update if needed. // If these requirements aren't satisfied, leave an open watch. if w.nonce == "" || w.nonce == nonce { w.close() // Only process if we have an existing watch otherwise go ahead and create. if err := processAllExcept(typeURL); err != nil { return err } sw.watches.addWatch(typeURL, &watch{ cancel: s.cache.CreateWatch(req, sw.streamState, responder), response: responder, }) } } else { // No pre-existing watch exists, let's create one. // We need to precompute the watches first then open a watch in the cache. sw.watches.addWatch(typeURL, &watch{ cancel: s.cache.CreateWatch(req, sw.streamState, responder), response: responder, }) } } } } go-control-plane-0.12.0/pkg/server/sotw/v3/server.go000066400000000000000000000131511454502223200222220ustar00rootroot00000000000000// Copyright 2020 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server package sotw import ( "context" "errors" "strconv" "sync/atomic" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/server/config" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) type Server interface { StreamHandler(stream stream.Stream, typeURL string) error } type Callbacks interface { // OnStreamOpen is called once an xDS stream is open with a stream ID and the type URL (or "" for ADS). // Returning an error will end processing and close the stream. OnStreamClosed will still be called. OnStreamOpen(context.Context, int64, string) error // OnStreamClosed is called immediately prior to closing an xDS stream with a stream ID. OnStreamClosed(int64, *core.Node) // OnStreamRequest is called once a request is received on a stream. // Returning an error will end processing and close the stream. OnStreamClosed will still be called. OnStreamRequest(int64, *discovery.DiscoveryRequest) error // OnStreamResponse is called immediately prior to sending a response on a stream. OnStreamResponse(context.Context, int64, *discovery.DiscoveryRequest, *discovery.DiscoveryResponse) } // NewServer creates handlers from a config watcher and callbacks. func NewServer(ctx context.Context, cw cache.ConfigWatcher, callbacks Callbacks, opts ...config.XDSOption) Server { s := &server{cache: cw, callbacks: callbacks, ctx: ctx, opts: config.NewOpts()} // Parse through our options for _, opt := range opts { opt(&s.opts) } return s } // WithOrderedADS enables the internal flag to order responses // strictly. func WithOrderedADS() config.XDSOption { return func(o *config.Opts) { o.Ordered = true } } type server struct { cache cache.ConfigWatcher callbacks Callbacks ctx context.Context // streamCount for counting bi-di streams streamCount int64 // Local configuration flags for individual xDS implementations. opts config.Opts } // streamWrapper abstracts critical data passed around a stream for to be accessed // through various code paths in the xDS lifecycle. This comes in handy when dealing // with varying implementation types such as ordered vs unordered resource handling. type streamWrapper struct { stream stream.Stream // parent stream object ID int64 // stream ID in relation to total stream count nonce int64 // nonce per stream watches watches // collection of stack allocated watchers per request type callbacks Callbacks // callbacks for performing actions through stream lifecycle node *core.Node // registered xDS client // The below fields are used for tracking resource // cache state and should be maintained per stream. streamState stream.StreamState lastDiscoveryResponses map[string]lastDiscoveryResponse } // Send packages the necessary resources before sending on the gRPC stream, // and sets the current state of the world. func (s *streamWrapper) send(resp cache.Response) (string, error) { if resp == nil { return "", errors.New("missing response") } out, err := resp.GetDiscoveryResponse() if err != nil { return "", err } // increment nonce and convert it to base10 out.Nonce = strconv.FormatInt(atomic.AddInt64(&s.nonce, 1), 10) lastResponse := lastDiscoveryResponse{ nonce: out.GetNonce(), resources: make(map[string]struct{}), } for _, r := range resp.GetRequest().GetResourceNames() { lastResponse.resources[r] = struct{}{} } s.lastDiscoveryResponses[resp.GetRequest().GetTypeUrl()] = lastResponse // Register with the callbacks provided that we are sending the response. if s.callbacks != nil { s.callbacks.OnStreamResponse(resp.GetContext(), s.ID, resp.GetRequest(), out) } return out.GetNonce(), s.stream.Send(out) } // Shutdown closes all open watches, and notifies API consumers the stream has closed. func (s *streamWrapper) shutdown() { s.watches.close() if s.callbacks != nil { s.callbacks.OnStreamClosed(s.ID, s.node) } } // Discovery response that is sent over GRPC stream. // We need to record what resource names are already sent to a client // So if the client requests a new name we can respond back // regardless current snapshot version (even if it is not changed yet) type lastDiscoveryResponse struct { nonce string resources map[string]struct{} } // StreamHandler converts a blocking read call to channels and initiates stream processing func (s *server) StreamHandler(stream stream.Stream, typeURL string) error { // a channel for receiving incoming requests reqCh := make(chan *discovery.DiscoveryRequest) go func() { defer close(reqCh) for { req, err := stream.Recv() if err != nil { return } select { case reqCh <- req: case <-stream.Context().Done(): return case <-s.ctx.Done(): return } } }() return s.process(stream, reqCh, typeURL) } go-control-plane-0.12.0/pkg/server/sotw/v3/watches.go000066400000000000000000000034271454502223200223570ustar00rootroot00000000000000package sotw import ( "context" "reflect" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" ) // watches for all xDS resource types type watches struct { responders map[string]*watch // cases is a dynamic select case for the watched channels. cases []reflect.SelectCase } // newWatches creates and initializes watches. func newWatches() watches { return watches{ responders: make(map[string]*watch, int(types.UnknownType)), cases: make([]reflect.SelectCase, 0), } } // addWatch creates a new watch entry in the watches map. // Watches are sorted by typeURL. func (w *watches) addWatch(typeURL string, watch *watch) { w.responders[typeURL] = watch } // close all open watches func (w *watches) close() { for _, watch := range w.responders { watch.close() } } // recomputeWatches rebuilds the known list of dynamic channels if needed func (w *watches) recompute(ctx context.Context, req <-chan *discovery.DiscoveryRequest) { w.cases = w.cases[:0] // Clear the existing cases while retaining capacity. w.cases = append(w.cases, reflect.SelectCase{ Dir: reflect.SelectRecv, Chan: reflect.ValueOf(ctx.Done()), }, reflect.SelectCase{ Dir: reflect.SelectRecv, Chan: reflect.ValueOf(req), }, ) for _, watch := range w.responders { w.cases = append(w.cases, reflect.SelectCase{ Dir: reflect.SelectRecv, Chan: reflect.ValueOf(watch.response), }) } } // watch contains the necessary modifiable data for receiving resource responses type watch struct { cancel func() nonce string response chan cache.Response } // close cancels an open watch func (w *watch) close() { if w.cancel != nil { w.cancel() } } go-control-plane-0.12.0/pkg/server/sotw/v3/xds.go000066400000000000000000000131671454502223200215210ustar00rootroot00000000000000package sotw import ( "reflect" "sync/atomic" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" ) // process handles a bi-di stream request func (s *server) process(str stream.Stream, reqCh chan *discovery.DiscoveryRequest, defaultTypeURL string) error { // create our streamWrapper which can be passed down to sub control loops. // this is useful for abstracting critical information for various types of // xDS resource processing. sw := streamWrapper{ stream: str, ID: atomic.AddInt64(&s.streamCount, 1), // increment stream count callbacks: s.callbacks, node: &core.Node{}, // node may only be set on the first discovery request // a collection of stack allocated watches per request type. watches: newWatches(), streamState: stream.NewStreamState(false, map[string]string{}), lastDiscoveryResponses: make(map[string]lastDiscoveryResponse), } // cleanup once our stream has ended. defer sw.shutdown() if s.callbacks != nil { if err := s.callbacks.OnStreamOpen(str.Context(), sw.ID, defaultTypeURL); err != nil { return err } } // do an initial recompute so we can load the first 2 channels: // <-reqCh // s.ctx.Done() sw.watches.recompute(s.ctx, reqCh) for { // The list of select cases looks like this: // 0: <- ctx.Done // 1: <- reqCh // 2...: per type watches index, value, ok := reflect.Select(sw.watches.cases) switch index { // ctx.Done() -> if we receive a value here we return // as no further computation is needed case 0: return nil // Case 1 handles any request inbound on the stream // and handles all initialization as needed case 1: // input stream ended or failed if !ok { return nil } req := value.Interface().(*discovery.DiscoveryRequest) if req == nil { return status.Errorf(codes.Unavailable, "empty request") } // Only first request is guaranteed to hold node info so if it's missing, reassign. if req.GetNode() != nil { sw.node = req.GetNode() } else { req.Node = sw.node } // nonces can be reused across streams; we verify nonce only if nonce is not initialized nonce := req.GetResponseNonce() // type URL is required for ADS but is implicit for xDS if defaultTypeURL == resource.AnyType { if req.GetTypeUrl() == "" { return status.Errorf(codes.InvalidArgument, "type URL is required for ADS") } // When using ADS we need to order responses. // This is guaranteed in the xDS protocol specification // as ADS is required to be eventually consistent. // More details can be found here if interested: // https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#eventual-consistency-considerations if s.opts.Ordered { // send our first request on the stream again so it doesn't get // lost in processing on the new control loop // There's a risk (albeit very limited) that we'd end up handling requests in the wrong order here. // If envoy is using ADS for endpoints, and clusters are added in short sequence, // the following request might include a new cluster and be discarded as the previous one will be handled after. go func() { reqCh <- req }() // Trigger a different code path specifically for ADS. // We want resource ordering so things don't get sent before they should. // This is a blocking call and will exit the process function // on successful completion. return s.processADS(&sw, reqCh, defaultTypeURL) } } else if req.GetTypeUrl() == "" { req.TypeUrl = defaultTypeURL } if s.callbacks != nil { if err := s.callbacks.OnStreamRequest(sw.ID, req); err != nil { return err } } if lastResponse, ok := sw.lastDiscoveryResponses[req.GetTypeUrl()]; ok { if lastResponse.nonce == "" || lastResponse.nonce == nonce { // Let's record Resource names that a client has received. sw.streamState.SetKnownResourceNames(req.GetTypeUrl(), lastResponse.resources) } } typeURL := req.GetTypeUrl() responder := make(chan cache.Response, 1) if w, ok := sw.watches.responders[typeURL]; ok { // We've found a pre-existing watch, lets check and update if needed. // If these requirements aren't satisfied, leave an open watch. if w.nonce == "" || w.nonce == nonce { w.close() sw.watches.addWatch(typeURL, &watch{ cancel: s.cache.CreateWatch(req, sw.streamState, responder), response: responder, }) } } else { // No pre-existing watch exists, let's create one. // We need to precompute the watches first then open a watch in the cache. sw.watches.addWatch(typeURL, &watch{ cancel: s.cache.CreateWatch(req, sw.streamState, responder), response: responder, }) } // Recompute the dynamic select cases for this stream. sw.watches.recompute(s.ctx, reqCh) default: // Channel n -> these are the dynamic list of responders that correspond to the stream request typeURL if !ok { // Receiver channel was closed. TODO(jpeach): probably cancel the watch or something? return status.Errorf(codes.Unavailable, "resource watch %d -> failed", index) } res := value.Interface().(cache.Response) nonce, err := sw.send(res) if err != nil { return err } sw.watches.responders[res.GetRequest().GetTypeUrl()].nonce = nonce } } } go-control-plane-0.12.0/pkg/server/stream/000077500000000000000000000000001454502223200203335ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/stream/v3/000077500000000000000000000000001454502223200206635ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/stream/v3/stream.go000066400000000000000000000114141454502223200225060ustar00rootroot00000000000000package stream import ( "google.golang.org/grpc" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" ) // Generic RPC stream for state of the world. type Stream interface { grpc.ServerStream Send(*discovery.DiscoveryResponse) error Recv() (*discovery.DiscoveryRequest, error) } // Generic RPC Stream for the delta based xDS protocol. type DeltaStream interface { grpc.ServerStream Send(*discovery.DeltaDiscoveryResponse) error Recv() (*discovery.DeltaDiscoveryRequest, error) } // StreamState will keep track of resource cache state per type on a stream. type StreamState struct { // nolint:golint,revive // Indicates whether the delta stream currently has a wildcard watch wildcard bool // Provides the list of resources explicitly requested by the client // This list might be non-empty even when set as wildcard subscribedResourceNames map[string]struct{} // ResourceVersions contains a hash of the resource as the value and the resource name as the key. // This field stores the last state sent to the client. resourceVersions map[string]string // knownResourceNames contains resource names that a client has received previously (SOTW). knownResourceNames map[string]map[string]struct{} // First indicates whether the StreamState has been modified since its creation first bool // Ordered indicates whether we want an ordered ADS stream or not ordered bool } // NewStreamState initializes a stream state. func NewStreamState(wildcard bool, initialResourceVersions map[string]string) StreamState { state := StreamState{ wildcard: wildcard, subscribedResourceNames: map[string]struct{}{}, resourceVersions: initialResourceVersions, first: true, knownResourceNames: map[string]map[string]struct{}{}, ordered: false, // Ordered comes from the first request since that's when we discover if they want ADS } if initialResourceVersions == nil { state.resourceVersions = make(map[string]string) } return state } // GetSubscribedResourceNames returns the list of resources currently explicitly subscribed to // If the request is set to wildcard it may be empty // Currently populated only when using delta-xds func (s *StreamState) GetSubscribedResourceNames() map[string]struct{} { return s.subscribedResourceNames } // SetSubscribedResourceNames is setting the list of resources currently explicitly subscribed to // It is decorrelated from the wildcard state of the stream // Currently used only when using delta-xds func (s *StreamState) SetSubscribedResourceNames(subscribedResourceNames map[string]struct{}) { s.subscribedResourceNames = subscribedResourceNames } // WatchesResources returns whether at least one of the resource provided is currently watch by the stream // It is currently only applicable to delta-xds // If the request is wildcard, it will always return true // Otherwise it will compare the provided resources to the list of resources currently subscribed func (s *StreamState) WatchesResources(resourceNames map[string]struct{}) bool { if s.IsWildcard() { return true } for resourceName := range resourceNames { if _, ok := s.subscribedResourceNames[resourceName]; ok { return true } } return false } func (s *StreamState) SetWildcard(wildcard bool) { s.wildcard = wildcard } // GetResourceVersions returns a map of current resources grouped by type URL. func (s *StreamState) GetResourceVersions() map[string]string { return s.resourceVersions } // SetResourceVersions sets a list of resource versions by type URL and removes the flag // of "first" since we can safely assume another request has come through the stream. func (s *StreamState) SetResourceVersions(resourceVersions map[string]string) { s.first = false s.resourceVersions = resourceVersions } // IsFirst returns whether or not the state of the stream is based upon the initial request. func (s *StreamState) IsFirst() bool { return s.first } // IsWildcard returns whether or not an xDS client requested in wildcard mode on the initial request. func (s *StreamState) IsWildcard() bool { return s.wildcard } // GetKnownResourceNames returns the current known list of resources on a SOTW stream. func (s *StreamState) GetKnownResourceNames(url string) map[string]struct{} { return s.knownResourceNames[url] } // SetKnownResourceNames sets a list of resource names in a stream utilizing the SOTW protocol. func (s *StreamState) SetKnownResourceNames(url string, names map[string]struct{}) { s.knownResourceNames[url] = names } // SetKnownResourceNamesAsList is a helper function to set resource names as a slice input. func (s *StreamState) SetKnownResourceNamesAsList(url string, names []string) { m := map[string]struct{}{} for _, name := range names { m[name] = struct{}{} } s.knownResourceNames[url] = m } go-control-plane-0.12.0/pkg/server/v3/000077500000000000000000000000001454502223200173705ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/server/v3/delta_test.go000066400000000000000000000442211454502223200220520ustar00rootroot00000000000000package server_test import ( "context" "errors" "fmt" "testing" "time" "google.golang.org/grpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) func (config *mockConfigWatcher) CreateDeltaWatch(req *discovery.DeltaDiscoveryRequest, state stream.StreamState, out chan cache.DeltaResponse) func() { config.deltaCounts[req.GetTypeUrl()] = config.deltaCounts[req.GetTypeUrl()] + 1 // This is duplicated from pkg/cache/v3/delta.go as private there resourceMap := config.deltaResources[req.GetTypeUrl()] versionMap := map[string]string{} for name, resource := range resourceMap { marshaledResource, _ := cache.MarshalResource(resource) versionMap[name] = cache.HashResource(marshaledResource) } var nextVersionMap map[string]string var filtered []types.Resource var toRemove []string // If we are handling a wildcard request, we want to respond with all resources switch { case state.IsWildcard(): if len(state.GetResourceVersions()) == 0 { filtered = make([]types.Resource, 0, len(resourceMap)) } nextVersionMap = make(map[string]string, len(resourceMap)) for name, r := range resourceMap { // Since we've already precomputed the version hashes of the new snapshot, // we can just set it here to be used for comparison later version := versionMap[name] nextVersionMap[name] = version prevVersion, found := state.GetResourceVersions()[name] if !found || (prevVersion != version) { filtered = append(filtered, r) } } // Compute resources for removal for name := range state.GetResourceVersions() { if _, ok := resourceMap[name]; !ok { toRemove = append(toRemove, name) } } default: nextVersionMap = make(map[string]string, len(state.GetSubscribedResourceNames())) // state.GetResourceVersions() may include resources no longer subscribed // In the current code this gets silently cleaned when updating the version map for name := range state.GetSubscribedResourceNames() { prevVersion, found := state.GetResourceVersions()[name] if r, ok := resourceMap[name]; ok { nextVersion := versionMap[name] if prevVersion != nextVersion { filtered = append(filtered, r) } nextVersionMap[name] = nextVersion } else if found { toRemove = append(toRemove, name) } } } if len(filtered)+len(toRemove) > 0 { out <- &cache.RawDeltaResponse{ DeltaRequest: req, Resources: filtered, RemovedResources: toRemove, SystemVersionInfo: "", NextVersionMap: nextVersionMap, } } else { config.deltaWatches++ return func() { config.deltaWatches-- } } return nil } type mockDeltaStream struct { t *testing.T ctx context.Context recv chan *discovery.DeltaDiscoveryRequest sent chan *discovery.DeltaDiscoveryResponse nonce int sendError bool grpc.ServerStream } func (stream *mockDeltaStream) Context() context.Context { return stream.ctx } func (stream *mockDeltaStream) Send(resp *discovery.DeltaDiscoveryResponse) error { // Check that nonce is incremented by one stream.nonce++ if resp.GetNonce() != fmt.Sprintf("%d", stream.nonce) { stream.t.Errorf("Nonce => got %q, want %d", resp.GetNonce(), stream.nonce) } // Check that resources are non-empty if len(resp.GetResources()) == 0 { stream.t.Error("Resources => got none, want non-empty") } if resp.GetTypeUrl() == "" { stream.t.Error("TypeUrl => got none, want non-empty") } // Check that the per resource TypeURL is correctly set. for _, res := range resp.GetResources() { if res.GetResource().GetTypeUrl() != resp.GetTypeUrl() { stream.t.Errorf("TypeUrl => got %q, want %q", res.GetResource().GetTypeUrl(), resp.GetTypeUrl()) } } stream.sent <- resp if stream.sendError { return errors.New("send error") } return nil } func (stream *mockDeltaStream) Recv() (*discovery.DeltaDiscoveryRequest, error) { req, more := <-stream.recv if !more { return nil, errors.New("empty") } return req, nil } func makeMockDeltaStream(t *testing.T) *mockDeltaStream { return &mockDeltaStream{ t: t, ctx: context.Background(), sent: make(chan *discovery.DeltaDiscoveryResponse, 10), recv: make(chan *discovery.DeltaDiscoveryRequest, 10), } } func makeDeltaResources() map[string]map[string]types.Resource { return map[string]map[string]types.Resource{ rsrc.EndpointType: { endpoint.GetClusterName(): endpoint, }, rsrc.ClusterType: { cluster.GetName(): cluster, }, rsrc.RouteType: { route.GetName(): route, }, rsrc.ScopedRouteType: { scopedRoute.GetName(): scopedRoute, }, rsrc.VirtualHostType: { virtualHost.GetName(): virtualHost, }, rsrc.ListenerType: { httpListener.GetName(): httpListener, httpScopedListener.GetName(): httpScopedListener, }, rsrc.SecretType: { secret.GetName(): secret, }, rsrc.RuntimeType: { runtime.GetName(): runtime, }, rsrc.ExtensionConfigType: { extensionConfig.GetName(): extensionConfig, }, // Pass-through type (types without explicit handling) opaqueType: { "opaque": opaque, }, } } func process(typ string, resp *mockDeltaStream, s server.Server) error { var err error switch typ { case rsrc.EndpointType: err = s.DeltaEndpoints(resp) case rsrc.ClusterType: err = s.DeltaClusters(resp) case rsrc.RouteType: err = s.DeltaRoutes(resp) case rsrc.ScopedRouteType: err = s.DeltaScopedRoutes(resp) case rsrc.VirtualHostType: err = s.DeltaVirtualHosts(resp) case rsrc.ListenerType: err = s.DeltaListeners(resp) case rsrc.SecretType: err = s.DeltaSecrets(resp) case rsrc.RuntimeType: err = s.DeltaRuntime(resp) case rsrc.ExtensionConfigType: err = s.DeltaExtensionConfigs(resp) case opaqueType: err = s.DeltaAggregatedResources(resp) } return err } func TestDeltaResponseHandlersWildcard(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = makeDeltaResources() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) resp := makeMockDeltaStream(t) // This is a wildcard request since we don't specify a list of resource subscriptions resp.recv <- &discovery.DeltaDiscoveryRequest{Node: node, TypeUrl: typ} go func() { err := process(typ, resp, s) require.NoError(t, err) }() select { case res := <-resp.sent: close(resp.recv) assert.Equal(t, 1, config.deltaCounts[typ]) assert.Empty(t, res.GetSystemVersionInfo()) case <-time.After(1 * time.Second): t.Fatalf("got no response") } }) } } func TestDeltaResponseHandlers(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = makeDeltaResources() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) resp := makeMockDeltaStream(t) resourceNames := []string{} for resourceName := range config.deltaResources[typ] { resourceNames = append(resourceNames, resourceName) } // We only subscribe to one resource to see if we get the appropriate number of resources back resp.recv <- &discovery.DeltaDiscoveryRequest{Node: node, TypeUrl: typ, ResourceNamesSubscribe: resourceNames} go func() { err := process(typ, resp, s) require.NoError(t, err) }() select { case res := <-resp.sent: close(resp.recv) assert.Equal(t, 1, config.deltaCounts[typ]) assert.Empty(t, res.GetSystemVersionInfo()) case <-time.After(1 * time.Second): t.Fatalf("got no response") } }) } } func TestSendDeltaError(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = makeDeltaResources() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) // make a request with an error resp := makeMockDeltaStream(t) resp.sendError = true resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: typ, } // check that response fails since we expect an error to come through err := s.DeltaAggregatedResources(resp) require.Error(t, err) close(resp.recv) }) } } func TestDeltaAggregatedHandlers(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = makeDeltaResources() resp := makeMockDeltaStream(t) reqs := []*discovery.DeltaDiscoveryRequest{ { Node: node, TypeUrl: rsrc.ListenerType, }, { Node: node, TypeUrl: rsrc.ClusterType, }, { Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{clusterName}, }, { TypeUrl: rsrc.RouteType, ResourceNamesSubscribe: []string{routeName}, }, { TypeUrl: rsrc.ScopedRouteType, ResourceNamesSubscribe: []string{scopedRouteName}, }, { TypeUrl: rsrc.VirtualHostType, ResourceNamesSubscribe: []string{virtualHostName}, }, { TypeUrl: rsrc.SecretType, ResourceNamesSubscribe: []string{secretName}, }, } for _, r := range reqs { resp.recv <- r } // We create the server with the optional ordered ADS flag so we guarantee resource // ordering over the stream. s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) go func() { err := s.DeltaAggregatedResources(resp) require.NoError(t, err) }() count := 0 for { select { case <-resp.sent: count++ if count >= len(reqs) { close(resp.recv) assert.Equal( t, map[string]int{ rsrc.EndpointType: 1, rsrc.ClusterType: 1, rsrc.RouteType: 1, rsrc.ScopedRouteType: 1, rsrc.VirtualHostType: 1, rsrc.ListenerType: 1, rsrc.SecretType: 1, }, config.deltaCounts, ) return } case <-time.After(1 * time.Second): t.Fatalf("got %d messages on the stream, not 5", count) } } } func TestDeltaAggregateRequestType(t *testing.T) { config := makeMockConfigWatcher() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) resp := makeMockDeltaStream(t) resp.recv <- &discovery.DeltaDiscoveryRequest{Node: node} if err := s.DeltaAggregatedResources(resp); err == nil { t.Error("DeltaAggregatedResources() => got nil, want an error") } close(resp.recv) } func TestDeltaCancellations(t *testing.T) { config := makeMockConfigWatcher() resp := makeMockDeltaStream(t) for _, typ := range testTypes { resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: typ, } } close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) if err := s.DeltaAggregatedResources(resp); err != nil { t.Errorf("DeltaAggregatedResources() => got %v, want no error", err) } if config.watches != 0 { t.Errorf("Expect all watches canceled, got %q", config.watches) } } func TestDeltaOpaqueRequestsChannelMuxing(t *testing.T) { config := makeMockConfigWatcher() resp := makeMockDeltaStream(t) for i := 0; i < 10; i++ { resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: fmt.Sprintf("%s%d", opaqueType, i%2), ResourceNamesSubscribe: []string{fmt.Sprintf("%d", i)}, } } close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) if err := s.DeltaAggregatedResources(resp); err != nil { t.Errorf("DeltaAggregatedResources() => got %v, want no error", err) } if config.watches != 0 { t.Errorf("Expect all watches canceled, got %q", config.watches) } } func TestDeltaCallbackError(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = makeDeltaResources() s := server.NewServer(context.Background(), config, server.CallbackFuncs{ DeltaStreamOpenFunc: func(ctx context.Context, i int64, s string) error { return errors.New("stream open error") }, }) // make a request resp := makeMockDeltaStream(t) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: typ, } // check that response fails since stream open returns error if err := s.DeltaAggregatedResources(resp); err == nil { t.Error("Stream() => got no error, want error") } close(resp.recv) }) } } func TestDeltaWildcardSubscriptions(t *testing.T) { config := makeMockConfigWatcher() config.deltaResources = map[string]map[string]types.Resource{ rsrc.EndpointType: { "endpoints0": resource.MakeEndpoint("endpoints0", 1234), "endpoints1": resource.MakeEndpoint("endpoints1", 1234), "endpoints2": resource.MakeEndpoint("endpoints2", 1234), "endpoints3": resource.MakeEndpoint("endpoints3", 1234), }, } validateResponse := func(t *testing.T, replies <-chan *discovery.DeltaDiscoveryResponse, expectedResources []string, expectedRemovedResources []string) { t.Helper() select { case response := <-replies: assert.Equal(t, rsrc.EndpointType, response.GetTypeUrl()) if assert.Equal(t, len(expectedResources), len(response.GetResources())) { var names []string for _, resource := range response.GetResources() { names = append(names, resource.GetName()) } assert.ElementsMatch(t, names, expectedResources) assert.ElementsMatch(t, response.GetRemovedResources(), expectedRemovedResources) } case <-time.After(1 * time.Second): t.Fatalf("got no response") } } updateResources := func(port uint32) { config.deltaResources[rsrc.EndpointType]["endpoints0"] = resource.MakeEndpoint("endpoints0", port) config.deltaResources[rsrc.EndpointType]["endpoints1"] = resource.MakeEndpoint("endpoints1", port) config.deltaResources[rsrc.EndpointType]["endpoints2"] = resource.MakeEndpoint("endpoints2", port) config.deltaResources[rsrc.EndpointType]["endpoints3"] = resource.MakeEndpoint("endpoints3", port) } t.Run("legacy still working", func(t *testing.T) { resp := makeMockDeltaStream(t) defer close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) go func() { err := s.DeltaAggregatedResources(resp) require.NoError(t, err) }() resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) // Generate a change to ensure we receive updates if subscribed updateResources(2345) // In legacy mode, adding a new resource behaves the same as if providing a subscription to wildcard first resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"endpoints0"}, } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) updateResources(1234) // We allow unsubscribing with the new method resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesUnsubscribe: []string{"*"}, } validateResponse(t, resp.sent, []string{"endpoints0"}, nil) }) t.Run("* subscription/unsubscription support", func(t *testing.T) { resp := makeMockDeltaStream(t) defer close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) go func() { err := s.DeltaAggregatedResources(resp) require.NoError(t, err) }() updateResources(1234) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"endpoints1"}, } validateResponse(t, resp.sent, []string{"endpoints1"}, nil) updateResources(2345) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"*"}, } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) updateResources(1234) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"endpoints2"}, } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) updateResources(2345) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesUnsubscribe: []string{"*"}, } validateResponse(t, resp.sent, []string{"endpoints1", "endpoints2"}, nil) }) t.Run("resource specific subscriptions while using wildcard", func(t *testing.T) { resp := makeMockDeltaStream(t) defer close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) go func() { err := s.DeltaAggregatedResources(resp) require.NoError(t, err) }() updateResources(1234) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"*"}, } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) updateResources(2345) resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesSubscribe: []string{"endpoints2", "endpoints4"}, // endpoints4 does not exist } validateResponse(t, resp.sent, []string{"endpoints0", "endpoints1", "endpoints2", "endpoints3"}, nil) // Don't update the resources now, test unsubscribing does send the resource again resp.recv <- &discovery.DeltaDiscoveryRequest{ Node: node, TypeUrl: rsrc.EndpointType, ResourceNamesUnsubscribe: []string{"endpoints2", "endpoints4"}, // endpoints4 does not exist } validateResponse(t, resp.sent, []string{"endpoints2"}, []string{"endpoints4"}) }) } go-control-plane-0.12.0/pkg/server/v3/gateway.go000066400000000000000000000056751454502223200213750ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package server import ( "errors" "fmt" "io" "net/http" "path" "google.golang.org/protobuf/encoding/protojson" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) // HTTPGateway is a custom implementation of [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) // specialized to Envoy xDS API. type HTTPGateway struct { // Server is the underlying gRPC server Server Server } func (h *HTTPGateway) ServeHTTP(req *http.Request) ([]byte, int, error) { p := path.Clean(req.URL.Path) typeURL := "" switch p { case resource.FetchEndpoints: typeURL = resource.EndpointType case resource.FetchClusters: typeURL = resource.ClusterType case resource.FetchListeners: typeURL = resource.ListenerType case resource.FetchRoutes: typeURL = resource.RouteType case resource.FetchScopedRoutes: typeURL = resource.ScopedRouteType case resource.FetchSecrets: typeURL = resource.SecretType case resource.FetchRuntimes: typeURL = resource.RuntimeType case resource.FetchExtensionConfigs: typeURL = resource.ExtensionConfigType default: return nil, http.StatusNotFound, fmt.Errorf("no endpoint") } if req.Body == nil { return nil, http.StatusBadRequest, fmt.Errorf("empty body") } body, err := io.ReadAll(req.Body) if err != nil { return nil, http.StatusBadRequest, fmt.Errorf("cannot read body") } // parse as JSON out := &discovery.DiscoveryRequest{} err = protojson.Unmarshal(body, out) if err != nil { return nil, http.StatusBadRequest, fmt.Errorf("cannot parse JSON body: " + err.Error()) } out.TypeUrl = typeURL // fetch results res, err := h.Server.Fetch(req.Context(), out) if err != nil { // SkipFetchErrors will return a 304 which will signify to the envoy client that // it is already at the latest version; all other errors will 500 with a message. var skip *types.SkipFetchError if ok := errors.As(err, &skip); ok { return nil, http.StatusNotModified, nil } return nil, http.StatusInternalServerError, fmt.Errorf("fetch error: " + err.Error()) } b, err := protojson.MarshalOptions{UseProtoNames: true}.Marshal(res) if err != nil { return nil, http.StatusInternalServerError, fmt.Errorf("marshal error: " + err.Error()) } return b, http.StatusOK, nil } go-control-plane-0.12.0/pkg/server/v3/gateway_test.go000066400000000000000000000070211454502223200224170ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package server_test import ( "context" "io" "net/http" "strings" "testing" "testing/iotest" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" ) func TestGateway(t *testing.T) { config := makeMockConfigWatcher() config.responses = map[string][]cache.Response{ resource.ClusterType: { &cache.RawResponse{ Version: "2", Resources: []types.ResourceWithTTL{{Resource: cluster}}, Request: &discovery.DiscoveryRequest{TypeUrl: resource.ClusterType}, }, }, resource.RouteType: { &cache.RawResponse{ Version: "3", Resources: []types.ResourceWithTTL{{Resource: route}}, Request: &discovery.DiscoveryRequest{TypeUrl: resource.RouteType}, }, }, resource.ListenerType: { &cache.RawResponse{ Version: "4", Resources: []types.ResourceWithTTL{{Resource: httpListener}, {Resource: httpScopedListener}}, Request: &discovery.DiscoveryRequest{TypeUrl: resource.ListenerType}, }, }, } gtw := server.HTTPGateway{Server: server.NewServer(context.Background(), config, nil)} failCases := []struct { path string body io.Reader expect int }{ { path: "/hello/", expect: http.StatusNotFound, }, { path: resource.FetchEndpoints, expect: http.StatusBadRequest, }, { path: resource.FetchEndpoints, body: iotest.TimeoutReader(strings.NewReader("hello")), expect: http.StatusBadRequest, }, { path: resource.FetchEndpoints, body: strings.NewReader("hello"), expect: http.StatusBadRequest, }, { // missing response path: resource.FetchEndpoints, body: strings.NewReader("{\"node\": {\"id\": \"test\"}}"), expect: http.StatusInternalServerError, }, } for _, cs := range failCases { req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, cs.path, cs.body) if err != nil { t.Fatal(err) } resp, code, err := gtw.ServeHTTP(req) if err == nil { t.Errorf("ServeHTTP succeeded, but should have failed") } if resp != nil { t.Errorf("handler returned wrong response") } if status := code; status != cs.expect { t.Errorf("handler returned wrong status: %d, want %d", status, cs.expect) } } for _, path := range []string{resource.FetchClusters, resource.FetchRoutes, resource.FetchListeners} { req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, path, strings.NewReader("{\"node\": {\"id\": \"test\"}}")) if err != nil { t.Fatal(err) } resp, code, err := gtw.ServeHTTP(req) if err != nil { t.Fatal(err) } if resp == nil { t.Errorf("handler returned wrong response") } if status := code; status != 200 { t.Errorf("handler returned wrong status: %d, want %d", status, 200) } } } go-control-plane-0.12.0/pkg/server/v3/server.go000066400000000000000000000322441454502223200212320ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package server provides an implementation of a streaming xDS server. package server import ( "context" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "github.com/envoyproxy/go-control-plane/pkg/server/config" "github.com/envoyproxy/go-control-plane/pkg/server/delta/v3" "github.com/envoyproxy/go-control-plane/pkg/server/rest/v3" "github.com/envoyproxy/go-control-plane/pkg/server/sotw/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" clusterservice "github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" endpointservice "github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3" extensionconfigservice "github.com/envoyproxy/go-control-plane/envoy/service/extension/v3" listenerservice "github.com/envoyproxy/go-control-plane/envoy/service/listener/v3" routeservice "github.com/envoyproxy/go-control-plane/envoy/service/route/v3" runtimeservice "github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3" secretservice "github.com/envoyproxy/go-control-plane/envoy/service/secret/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" rlsconfigservice "github.com/envoyproxy/go-control-plane/ratelimit/service/ratelimit/v3" ) // Server is a collection of handlers for streaming discovery requests. type Server interface { endpointservice.EndpointDiscoveryServiceServer clusterservice.ClusterDiscoveryServiceServer routeservice.RouteDiscoveryServiceServer routeservice.ScopedRoutesDiscoveryServiceServer routeservice.VirtualHostDiscoveryServiceServer listenerservice.ListenerDiscoveryServiceServer discovery.AggregatedDiscoveryServiceServer secretservice.SecretDiscoveryServiceServer runtimeservice.RuntimeDiscoveryServiceServer extensionconfigservice.ExtensionConfigDiscoveryServiceServer rlsconfigservice.RateLimitConfigDiscoveryServiceServer rest.Server sotw.Server delta.Server } // Callbacks is a collection of callbacks inserted into the server operation. // The callbacks are invoked synchronously. type Callbacks interface { rest.Callbacks sotw.Callbacks delta.Callbacks } // CallbackFuncs is a convenience type for implementing the Callbacks interface. type CallbackFuncs struct { StreamOpenFunc func(context.Context, int64, string) error StreamClosedFunc func(int64, *core.Node) DeltaStreamOpenFunc func(context.Context, int64, string) error DeltaStreamClosedFunc func(int64, *core.Node) StreamRequestFunc func(int64, *discovery.DiscoveryRequest) error StreamResponseFunc func(context.Context, int64, *discovery.DiscoveryRequest, *discovery.DiscoveryResponse) StreamDeltaRequestFunc func(int64, *discovery.DeltaDiscoveryRequest) error StreamDeltaResponseFunc func(int64, *discovery.DeltaDiscoveryRequest, *discovery.DeltaDiscoveryResponse) FetchRequestFunc func(context.Context, *discovery.DiscoveryRequest) error FetchResponseFunc func(*discovery.DiscoveryRequest, *discovery.DiscoveryResponse) } var _ Callbacks = CallbackFuncs{} // OnStreamOpen invokes StreamOpenFunc. func (c CallbackFuncs) OnStreamOpen(ctx context.Context, streamID int64, typeURL string) error { if c.StreamOpenFunc != nil { return c.StreamOpenFunc(ctx, streamID, typeURL) } return nil } // OnStreamClosed invokes StreamClosedFunc. func (c CallbackFuncs) OnStreamClosed(streamID int64, node *core.Node) { if c.StreamClosedFunc != nil { c.StreamClosedFunc(streamID, node) } } // OnDeltaStreamOpen invokes DeltaStreamOpenFunc. func (c CallbackFuncs) OnDeltaStreamOpen(ctx context.Context, streamID int64, typeURL string) error { if c.DeltaStreamOpenFunc != nil { return c.DeltaStreamOpenFunc(ctx, streamID, typeURL) } return nil } // OnDeltaStreamClosed invokes DeltaStreamClosedFunc. func (c CallbackFuncs) OnDeltaStreamClosed(streamID int64, node *core.Node) { if c.DeltaStreamClosedFunc != nil { c.DeltaStreamClosedFunc(streamID, node) } } // OnStreamRequest invokes StreamRequestFunc. func (c CallbackFuncs) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error { if c.StreamRequestFunc != nil { return c.StreamRequestFunc(streamID, req) } return nil } // OnStreamResponse invokes StreamResponseFunc. func (c CallbackFuncs) OnStreamResponse(ctx context.Context, streamID int64, req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse) { if c.StreamResponseFunc != nil { c.StreamResponseFunc(ctx, streamID, req, resp) } } // OnStreamDeltaRequest invokes StreamDeltaResponseFunc func (c CallbackFuncs) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error { if c.StreamDeltaRequestFunc != nil { return c.StreamDeltaRequestFunc(streamID, req) } return nil } // OnStreamDeltaResponse invokes StreamDeltaResponseFunc. func (c CallbackFuncs) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, resp *discovery.DeltaDiscoveryResponse) { if c.StreamDeltaResponseFunc != nil { c.StreamDeltaResponseFunc(streamID, req, resp) } } // OnFetchRequest invokes FetchRequestFunc. func (c CallbackFuncs) OnFetchRequest(ctx context.Context, req *discovery.DiscoveryRequest) error { if c.FetchRequestFunc != nil { return c.FetchRequestFunc(ctx, req) } return nil } // OnFetchResponse invoked FetchResponseFunc. func (c CallbackFuncs) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse) { if c.FetchResponseFunc != nil { c.FetchResponseFunc(req, resp) } } // NewServer creates handlers from a config watcher and callbacks. func NewServer(ctx context.Context, config cache.Cache, callbacks Callbacks, opts ...config.XDSOption) Server { return NewServerAdvanced(rest.NewServer(config, callbacks), sotw.NewServer(ctx, config, callbacks, opts...), delta.NewServer(ctx, config, callbacks, opts...), ) } func NewServerAdvanced(restServer rest.Server, sotwServer sotw.Server, deltaServer delta.Server) Server { return &server{rest: restServer, sotw: sotwServer, delta: deltaServer} } type server struct { rest rest.Server sotw sotw.Server delta delta.Server } func (s *server) StreamHandler(stream stream.Stream, typeURL string) error { return s.sotw.StreamHandler(stream, typeURL) } func (s *server) StreamAggregatedResources(stream discovery.AggregatedDiscoveryService_StreamAggregatedResourcesServer) error { return s.StreamHandler(stream, resource.AnyType) } func (s *server) StreamEndpoints(stream endpointservice.EndpointDiscoveryService_StreamEndpointsServer) error { return s.StreamHandler(stream, resource.EndpointType) } func (s *server) StreamClusters(stream clusterservice.ClusterDiscoveryService_StreamClustersServer) error { return s.StreamHandler(stream, resource.ClusterType) } func (s *server) StreamRoutes(stream routeservice.RouteDiscoveryService_StreamRoutesServer) error { return s.StreamHandler(stream, resource.RouteType) } func (s *server) StreamScopedRoutes(stream routeservice.ScopedRoutesDiscoveryService_StreamScopedRoutesServer) error { return s.StreamHandler(stream, resource.ScopedRouteType) } func (s *server) StreamListeners(stream listenerservice.ListenerDiscoveryService_StreamListenersServer) error { return s.StreamHandler(stream, resource.ListenerType) } func (s *server) StreamSecrets(stream secretservice.SecretDiscoveryService_StreamSecretsServer) error { return s.StreamHandler(stream, resource.SecretType) } func (s *server) StreamRuntime(stream runtimeservice.RuntimeDiscoveryService_StreamRuntimeServer) error { return s.StreamHandler(stream, resource.RuntimeType) } func (s *server) StreamExtensionConfigs(stream extensionconfigservice.ExtensionConfigDiscoveryService_StreamExtensionConfigsServer) error { return s.StreamHandler(stream, resource.ExtensionConfigType) } func (s *server) StreamRlsConfigs(stream rlsconfigservice.RateLimitConfigDiscoveryService_StreamRlsConfigsServer) error { return s.StreamHandler(stream, resource.RateLimitConfigType) } // VHDS doesn't support SOTW requests, so no handler for it exists. // Fetch is the universal fetch method. func (s *server) Fetch(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { return s.rest.Fetch(ctx, req) } func (s *server) FetchEndpoints(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.EndpointType return s.Fetch(ctx, req) } func (s *server) FetchClusters(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.ClusterType return s.Fetch(ctx, req) } func (s *server) FetchRoutes(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.RouteType return s.Fetch(ctx, req) } func (s *server) FetchScopedRoutes(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.ScopedRouteType return s.Fetch(ctx, req) } func (s *server) FetchListeners(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.ListenerType return s.Fetch(ctx, req) } func (s *server) FetchSecrets(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.SecretType return s.Fetch(ctx, req) } func (s *server) FetchRuntime(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.RuntimeType return s.Fetch(ctx, req) } func (s *server) FetchExtensionConfigs(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.ExtensionConfigType return s.Fetch(ctx, req) } func (s *server) FetchRlsConfigs(ctx context.Context, req *discovery.DiscoveryRequest) (*discovery.DiscoveryResponse, error) { if req == nil { return nil, status.Errorf(codes.Unavailable, "empty request") } req.TypeUrl = resource.RateLimitConfigType return s.Fetch(ctx, req) } // VHDS doesn't support REST requests, so no handler exists for this. func (s *server) DeltaStreamHandler(stream stream.DeltaStream, typeURL string) error { return s.delta.DeltaStreamHandler(stream, typeURL) } func (s *server) DeltaAggregatedResources(stream discovery.AggregatedDiscoveryService_DeltaAggregatedResourcesServer) error { return s.DeltaStreamHandler(stream, resource.AnyType) } func (s *server) DeltaEndpoints(stream endpointservice.EndpointDiscoveryService_DeltaEndpointsServer) error { return s.DeltaStreamHandler(stream, resource.EndpointType) } func (s *server) DeltaClusters(stream clusterservice.ClusterDiscoveryService_DeltaClustersServer) error { return s.DeltaStreamHandler(stream, resource.ClusterType) } func (s *server) DeltaRoutes(stream routeservice.RouteDiscoveryService_DeltaRoutesServer) error { return s.DeltaStreamHandler(stream, resource.RouteType) } func (s *server) DeltaScopedRoutes(stream routeservice.ScopedRoutesDiscoveryService_DeltaScopedRoutesServer) error { return s.DeltaStreamHandler(stream, resource.ScopedRouteType) } func (s *server) DeltaListeners(stream listenerservice.ListenerDiscoveryService_DeltaListenersServer) error { return s.DeltaStreamHandler(stream, resource.ListenerType) } func (s *server) DeltaSecrets(stream secretservice.SecretDiscoveryService_DeltaSecretsServer) error { return s.DeltaStreamHandler(stream, resource.SecretType) } func (s *server) DeltaRuntime(stream runtimeservice.RuntimeDiscoveryService_DeltaRuntimeServer) error { return s.DeltaStreamHandler(stream, resource.RuntimeType) } func (s *server) DeltaExtensionConfigs(stream extensionconfigservice.ExtensionConfigDiscoveryService_DeltaExtensionConfigsServer) error { return s.DeltaStreamHandler(stream, resource.ExtensionConfigType) } func (s *server) DeltaVirtualHosts(stream routeservice.VirtualHostDiscoveryService_DeltaVirtualHostsServer) error { return s.DeltaStreamHandler(stream, resource.VirtualHostType) } go-control-plane-0.12.0/pkg/server/v3/server_test.go000066400000000000000000000463131454502223200222730ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package server_test import ( "context" "errors" "fmt" "reflect" "sync" "testing" "time" "google.golang.org/grpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" "github.com/envoyproxy/go-control-plane/pkg/server/sotw/v3" "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" ) type mockConfigWatcher struct { counts map[string]int deltaCounts map[string]int responses map[string][]cache.Response deltaResources map[string]map[string]types.Resource watches int deltaWatches int mu *sync.RWMutex } func (config *mockConfigWatcher) CreateWatch(req *discovery.DiscoveryRequest, _ stream.StreamState, out chan cache.Response) func() { config.counts[req.GetTypeUrl()] = config.counts[req.GetTypeUrl()] + 1 if len(config.responses[req.GetTypeUrl()]) > 0 { out <- config.responses[req.GetTypeUrl()][0] config.responses[req.GetTypeUrl()] = config.responses[req.GetTypeUrl()][1:] } else { config.watches++ return func() { config.watches-- } } return nil } func (config *mockConfigWatcher) Fetch(_ context.Context, req *discovery.DiscoveryRequest) (cache.Response, error) { if len(config.responses[req.GetTypeUrl()]) > 0 { out := config.responses[req.GetTypeUrl()][0] config.responses[req.GetTypeUrl()] = config.responses[req.GetTypeUrl()][1:] return out, nil } return nil, errors.New("missing") } func makeMockConfigWatcher() *mockConfigWatcher { return &mockConfigWatcher{ counts: make(map[string]int), deltaCounts: make(map[string]int), mu: &sync.RWMutex{}, } } type mockStream struct { t *testing.T ctx context.Context recv chan *discovery.DiscoveryRequest sent chan *discovery.DiscoveryResponse nonce int sendError bool grpc.ServerStream } func (stream *mockStream) Context() context.Context { return stream.ctx } func (stream *mockStream) Send(resp *discovery.DiscoveryResponse) error { // check that nonce is monotonically incrementing stream.nonce++ assert.Equal(stream.t, resp.GetNonce(), fmt.Sprintf("%d", stream.nonce)) // check that version is set assert.NotEmpty(stream.t, resp.GetVersionInfo()) // check resources are non-empty assert.NotEmpty(stream.t, resp.GetResources()) // check that type URL matches in resources assert.NotEmpty(stream.t, resp.GetTypeUrl()) for _, res := range resp.GetResources() { assert.Equal(stream.t, res.GetTypeUrl(), resp.GetTypeUrl()) } stream.sent <- resp if stream.sendError { return errors.New("send error") } return nil } func (stream *mockStream) Recv() (*discovery.DiscoveryRequest, error) { req, more := <-stream.recv if !more { return nil, errors.New("empty") } return req, nil } func makeMockStream(t *testing.T) *mockStream { return &mockStream{ t: t, ctx: context.Background(), sent: make(chan *discovery.DiscoveryResponse, 10), recv: make(chan *discovery.DiscoveryRequest, 10), } } const ( clusterName = "cluster0" routeName = "route0" scopedRouteName = "scopedRoute0" virtualHostName = "virtualHost0" listenerName = "listener0" scopedListenerName = "scopedListener0" secretName = "secret0" runtimeName = "runtime0" extensionConfigName = "extensionConfig0" ) var ( node = &core.Node{ Id: "test-id", Cluster: "test-cluster", } endpoint = resource.MakeEndpoint(clusterName, 8080) cluster = resource.MakeCluster(resource.Ads, clusterName) route = resource.MakeRouteConfig(routeName, clusterName) scopedRoute = resource.MakeScopedRouteConfig(scopedRouteName, routeName, []string{"127.0.0.1"}) virtualHost = resource.MakeVirtualHost(virtualHostName, clusterName) httpListener = resource.MakeRouteHTTPListener(resource.Ads, listenerName, 80, routeName) httpScopedListener = resource.MakeScopedRouteHTTPListener(resource.Ads, scopedListenerName, 80) secret = resource.MakeSecrets(secretName, "test")[0] runtime = resource.MakeRuntime(runtimeName) extensionConfig = resource.MakeExtensionConfig(resource.Ads, extensionConfigName, routeName) opaque = &core.Address{} opaqueType = "unknown-type" testTypes = []string{ rsrc.EndpointType, rsrc.ClusterType, rsrc.RouteType, rsrc.ScopedRouteType, rsrc.ListenerType, rsrc.SecretType, rsrc.RuntimeType, rsrc.ExtensionConfigType, opaqueType, } ) func makeResponses() map[string][]cache.Response { return map[string][]cache.Response{ rsrc.EndpointType: { &cache.RawResponse{ Version: "1", Resources: []types.ResourceWithTTL{{Resource: endpoint}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.EndpointType}, }, }, rsrc.ClusterType: { &cache.RawResponse{ Version: "2", Resources: []types.ResourceWithTTL{{Resource: cluster}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.ClusterType}, }, }, rsrc.RouteType: { &cache.RawResponse{ Version: "3", Resources: []types.ResourceWithTTL{{Resource: route}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.RouteType}, }, }, rsrc.ScopedRouteType: { &cache.RawResponse{ Version: "4", Resources: []types.ResourceWithTTL{{Resource: scopedRoute}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.ScopedRouteType}, }, }, rsrc.VirtualHostType: { &cache.RawResponse{ Version: "5", Resources: []types.ResourceWithTTL{{Resource: virtualHost}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.VirtualHostType}, }, }, rsrc.ListenerType: { &cache.RawResponse{ Version: "6", Resources: []types.ResourceWithTTL{{Resource: httpListener}, {Resource: httpScopedListener}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.ListenerType}, }, }, rsrc.SecretType: { &cache.RawResponse{ Version: "7", Resources: []types.ResourceWithTTL{{Resource: secret}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.SecretType}, }, }, rsrc.RuntimeType: { &cache.RawResponse{ Version: "8", Resources: []types.ResourceWithTTL{{Resource: runtime}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.RuntimeType}, }, }, rsrc.ExtensionConfigType: { &cache.RawResponse{ Version: "9", Resources: []types.ResourceWithTTL{{Resource: extensionConfig}}, Request: &discovery.DiscoveryRequest{TypeUrl: rsrc.ExtensionConfigType}, }, }, // Pass-through type (xDS does not exist for this type) opaqueType: { &cache.RawResponse{ Version: "10", Resources: []types.ResourceWithTTL{{Resource: opaque}}, Request: &discovery.DiscoveryRequest{TypeUrl: opaqueType}, }, }, } } func TestServerShutdown(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() shutdown := make(chan bool) ctx, cancel := context.WithCancel(context.Background()) s := server.NewServer(ctx, config, server.CallbackFuncs{}) // make a request resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{Node: node, TypeUrl: typ} go func(rType string) { var err error switch rType { case rsrc.EndpointType: err = s.StreamEndpoints(resp) case rsrc.ClusterType: err = s.StreamClusters(resp) case rsrc.RouteType: err = s.StreamRoutes(resp) case rsrc.ScopedRouteType: err = s.StreamScopedRoutes(resp) case rsrc.ListenerType: err = s.StreamListeners(resp) case rsrc.SecretType: err = s.StreamSecrets(resp) case rsrc.RuntimeType: err = s.StreamRuntime(resp) case rsrc.ExtensionConfigType: err = s.StreamExtensionConfigs(resp) case opaqueType: err = s.StreamAggregatedResources(resp) } if err != nil { t.Errorf("Stream() => got %v, want no error", err) } shutdown <- true }(typ) go func() { defer cancel() }() select { case <-shutdown: case <-time.After(1 * time.Second): t.Fatalf("got no response") } }) } } func TestResponseHandlers(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { done := make(chan struct{}) ctx, cancel := context.WithCancel(context.Background()) config := makeMockConfigWatcher() config.responses = makeResponses() s := server.NewServer(ctx, config, server.CallbackFuncs{}) // make a request resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{Node: node, TypeUrl: typ} go func(rType string) { var err error switch rType { case rsrc.EndpointType: err = s.StreamEndpoints(resp) case rsrc.ClusterType: err = s.StreamClusters(resp) case rsrc.RouteType: err = s.StreamRoutes(resp) case rsrc.ScopedRouteType: err = s.StreamScopedRoutes(resp) case rsrc.ListenerType: err = s.StreamListeners(resp) case rsrc.SecretType: err = s.StreamSecrets(resp) case rsrc.RuntimeType: err = s.StreamRuntime(resp) case rsrc.ExtensionConfigType: err = s.StreamExtensionConfigs(resp) case opaqueType: err = s.StreamAggregatedResources(resp) } require.NoError(t, err) close(done) }(typ) // check a response select { case <-resp.sent: close(resp.recv) if want := map[string]int{typ: 1}; !reflect.DeepEqual(want, config.counts) { t.Errorf("watch counts => got %v, want %v", config.counts, want) } case <-time.After(1 * time.Second): t.Fatalf("got no response") } cancel() <-done }) } } func TestFetch(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() requestCount := 0 responseCount := 0 callbackError := false cb := server.CallbackFuncs{ StreamOpenFunc: func(ctx context.Context, i int64, s string) error { if callbackError { return errors.New("stream open error") } return nil }, FetchRequestFunc: func(ctx context.Context, request *discovery.DiscoveryRequest) error { if callbackError { return errors.New("fetch request error") } requestCount++ return nil }, FetchResponseFunc: func(request *discovery.DiscoveryRequest, response *discovery.DiscoveryResponse) { responseCount++ }, } s := server.NewServer(context.Background(), config, cb) out, err := s.FetchEndpoints(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) out, err = s.FetchClusters(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) out, err = s.FetchRoutes(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) out, err = s.FetchListeners(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) out, err = s.FetchSecrets(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) out, err = s.FetchRuntime(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.NotNil(t, out) require.NoError(t, err) // try again and expect empty results out, err = s.FetchEndpoints(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchClusters(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchRoutes(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchListeners(context.Background(), &discovery.DiscoveryRequest{Node: node}) assert.Nil(t, out) require.Error(t, err) // try empty requests: not valid in a real gRPC server out, err = s.FetchEndpoints(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchClusters(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchRoutes(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchListeners(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchSecrets(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchRuntime(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) // send error from callback callbackError = true out, err = s.FetchEndpoints(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchClusters(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchRoutes(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) out, err = s.FetchListeners(context.Background(), nil) assert.Nil(t, out) require.Error(t, err) // verify fetch callbacks assert.Equal(t, 10, requestCount) assert.Equal(t, 6, responseCount) } func TestSendError(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) // make a request resp := makeMockStream(t) resp.sendError = true resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: typ, } // check that response fails since send returns error err := s.StreamAggregatedResources(resp) require.Error(t, err) close(resp.recv) }) } } func TestStaleNonce(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: typ, } stop := make(chan struct{}) go func() { err := s.StreamAggregatedResources(resp) require.NoError(t, err) // should be two watches called assert.True(t, reflect.DeepEqual(map[string]int{typ: 2}, config.counts)) close(stop) }() select { case <-resp.sent: // stale request resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: typ, ResponseNonce: "xyz", } // fresh request resp.recv <- &discovery.DiscoveryRequest{ VersionInfo: "1", Node: node, TypeUrl: typ, ResponseNonce: "1", } close(resp.recv) case <-time.After(1 * time.Second): t.Fatalf("got %d messages on the stream, not 4", resp.nonce) } <-stop }) } } func TestAggregatedHandlers(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: rsrc.ListenerType, } // Delta compress node resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.ClusterType, } resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.EndpointType, ResourceNames: []string{clusterName}, } resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.RouteType, ResourceNames: []string{routeName}, } resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.ExtensionConfigType, ResourceNames: []string{extensionConfigName}, } resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.ScopedRouteType, ResourceNames: []string{scopedRouteName}, } resp.recv <- &discovery.DiscoveryRequest{ TypeUrl: rsrc.VirtualHostType, ResourceNames: []string{virtualHostName}, } // We create the server with the optional ordered ADS flag so we guarantee resource // ordering over the stream. s := server.NewServer(context.Background(), config, server.CallbackFuncs{}, sotw.WithOrderedADS()) go func() { err := s.StreamAggregatedResources(resp) require.NoError(t, err) }() count := 0 expectedCount := 7 for { select { case <-resp.sent: count++ if count >= expectedCount { close(resp.recv) assert.True(t, reflect.DeepEqual(map[string]int{ rsrc.EndpointType: 1, rsrc.ClusterType: 1, rsrc.RouteType: 1, rsrc.ScopedRouteType: 1, rsrc.VirtualHostType: 1, rsrc.ListenerType: 1, rsrc.ExtensionConfigType: 1, }, config.counts)) // got all messages return } case <-time.After(1 * time.Second): t.Fatalf("got %d messages on the stream, not %d", count, expectedCount) } } } func TestAggregateRequestType(t *testing.T) { config := makeMockConfigWatcher() s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{Node: node} err := s.StreamAggregatedResources(resp) require.Error(t, err) } func TestCancellations(t *testing.T) { config := makeMockConfigWatcher() resp := makeMockStream(t) for _, typ := range testTypes { resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: typ, } } close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) err := s.StreamAggregatedResources(resp) require.NoError(t, err) assert.Equal(t, 0, config.watches) } func TestOpaqueRequestsChannelMuxing(t *testing.T) { config := makeMockConfigWatcher() resp := makeMockStream(t) for i := 0; i < 10; i++ { resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: fmt.Sprintf("%s%d", opaqueType, i%2), // each subsequent request is assumed to supercede the previous request ResourceNames: []string{fmt.Sprintf("%d", i)}, } } close(resp.recv) s := server.NewServer(context.Background(), config, server.CallbackFuncs{}) err := s.StreamAggregatedResources(resp) require.NoError(t, err) assert.Equal(t, 0, config.watches) } func TestCallbackError(t *testing.T) { for _, typ := range testTypes { t.Run(typ, func(t *testing.T) { config := makeMockConfigWatcher() config.responses = makeResponses() s := server.NewServer(context.Background(), config, server.CallbackFuncs{ StreamOpenFunc: func(ctx context.Context, i int64, s string) error { return errors.New("stream open error") }, }) // make a request resp := makeMockStream(t) resp.recv <- &discovery.DiscoveryRequest{ Node: node, TypeUrl: typ, } // check that response fails since stream open returns error err := s.StreamAggregatedResources(resp) require.Error(t, err) close(resp.recv) }) } } go-control-plane-0.12.0/pkg/test/000077500000000000000000000000001454502223200165115ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/test/main/000077500000000000000000000000001454502223200174355ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/test/main/README.md000066400000000000000000000042261454502223200207200ustar00rootroot00000000000000# End-to-end testing script This directory contains a basic end-to-end testing script. The script sets up a configuration cache, stands up a configuration server, and starts up Envoy with the server as either ADS or xDS discovery option. The configuration is periodically refreshed with new routes and new clusters. In parallel, the test sends echo requests one after another through Envoy, exercising the pushed configuration. ## Requirements * Envoy binary `envoy` available: set `ENVOY` environment variable to the location of the binary, or use the default value `/usr/local/bin/envoy` * `go-control-plane` builds successfully ## Steps To run the script with a single ADS server: make integration.ads To run the script with a single server configured as different xDS servers: make integration.xds To run the script with a single server configured to use `Fetch` through HTTP: make integration.rest You should see runs of configuration push events and request batch reports. The test executes batches of requests to exercise multiple listeners, routes, and clusters, and records the number of successful and failed requests. The test is successful if at least one batch passes through all requests (e.g. Envoy eventually converges to use the latest pushed configuration) for each run. ## Customizing the test driver You can run ```bin/test -help``` to get a list of the cli flags that the test program accepts. There are also comments in ```main.go```. ## Using the pprof profiler One customization is to run the go language profiler [pprof](https://github.com/DataDog/go-profiler-notes/blob/main/pprof.md). See also . The profiler is normally off because it adds overhead to the tests. You can turn it on with the command line option `--pprof`. There is an environment variable `PPROF` for the `make` commands shown above. For example: (export PPROF=true; make integration.xds) The test will then write files of the form `block_profile_xds.pb.gz`. The files get written to the root of the project, in the same place as the envoy logs. You can use `go tool pprof bin/test ` to analyze the profile data. go-control-plane-0.12.0/pkg/test/main/main.go000066400000000000000000000250621454502223200207150ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package main contains the test driver for testing xDS manually. package main import ( "context" cryptotls "crypto/tls" "flag" "fmt" "io" "log" "net/http" "os" "runtime" "runtime/pprof" "time" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" conf "github.com/envoyproxy/go-control-plane/pkg/server/config" "github.com/envoyproxy/go-control-plane/pkg/server/sotw/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test" "github.com/envoyproxy/go-control-plane/pkg/test/resource/v3" testv3 "github.com/envoyproxy/go-control-plane/pkg/test/v3" ) var ( debug bool port uint gatewayPort uint upstreamPort uint upstreamMessage string basePort uint alsPort uint delay time.Duration requests int updates int mode string clusters int httpListeners int scopedHTTPListeners int vhdsHTTPListeners int tcpListeners int runtimes int tls bool mux bool extensionNum int nodeID string pprofEnabled bool ) func init() { flag.BoolVar(&debug, "debug", false, "Use debug logging") // // These parameters control the ports that the integration test // components use to talk to one another // // The port that the Envoy xDS client uses to talk to the control // plane xDS server (part of this program) flag.UintVar(&port, "port", 18000, "xDS management server port") // The port that the Envoy REST client uses to talk to the control // plane gateway (which translates from REST to xDS) flag.UintVar(&gatewayPort, "gateway", 18001, "Management HTTP gateway (from HTTP to xDS) server port") // The port that Envoy uses to talk to the upstream http "echo" // server flag.UintVar(&upstreamPort, "upstream", 18080, "Upstream HTTP/1.1 port") // The port that the tests below use to talk to Envoy's proxy of the // upstream server flag.UintVar(&basePort, "base", 9000, "Envoy Proxy listener port") // The control plane accesslog server port flag.UintVar(&alsPort, "als", 18090, "Control plane accesslog server port") // // These parameters control Envoy configuration // // Tell Envoy to request configurations from the control plane using // this protocol flag.StringVar(&mode, "xds", resource.Ads, "Management protocol to test (ADS, xDS, REST, DELTA, DELTA-ADS)") // Tell Envoy to use this Node ID flag.StringVar(&nodeID, "nodeID", "test-id", "Node ID") // Tell Envoy to use TLS to talk to the control plane flag.BoolVar(&tls, "tls", false, "Enable TLS on all listeners and use SDS for secret delivery") // Tell Envoy to configure this many clusters for each snapshot flag.IntVar(&clusters, "clusters", 4, "Number of clusters") // Tell Envoy to configure this many Runtime Discovery Service // layers for each snapshot flag.IntVar(&runtimes, "runtimes", 1, "Number of RTDS layers") // // These parameters control the test harness // // The message that the tests expect to receive from the upstream // server flag.StringVar(&upstreamMessage, "message", "Default message", "Upstream HTTP server response message") // Time to wait between test request batches flag.DurationVar(&delay, "delay", 500*time.Millisecond, "Interval between request batch retries") // Each test loads a configuration snapshot into the control plane // which is then picked up by Envoy. This parameter specifies how // many snapshots to test flag.IntVar(&updates, "u", 3, "Number of snapshot updates") // Each snapshot test sends this many requests to the upstream // server for each snapshot for each listener port flag.IntVar(&requests, "r", 5, "Number of requests between snapshot updates") // Test this many HTTP listeners per snapshot flag.IntVar(&httpListeners, "http", 2, "Number of HTTP listeners (and RDS configs)") // Test this many scoped HTTP listeners per snapshot flag.IntVar(&scopedHTTPListeners, "scopedhttp", 2, "Number of HTTP listeners (and SRDS configs)") // Test this many VHDS HTTP listeners per snapshot flag.IntVar(&vhdsHTTPListeners, "vhdshttp", 2, "Number of VHDS HTTP listeners") // Test this many TCP listeners per snapshot flag.IntVar(&tcpListeners, "tcp", 2, "Number of TCP pass-through listeners") // Enable a muxed cache with partial snapshots flag.BoolVar(&mux, "mux", false, "Enable muxed linear cache for EDS") // Number of ExtensionConfig flag.IntVar(&extensionNum, "extension", 1, "Number of Extension") // // These parameters control the the use of the pprof profiler // // Enable use of the pprof profiler flag.BoolVar(&pprofEnabled, "pprof", false, "Enable use of the pprof profiler") } // main returns code 1 if any of the batches failed to pass all requests func main() { flag.Parse() ctx := context.Background() if pprofEnabled { runtime.SetBlockProfileRate(1) for _, prof := range []string{"block", "goroutine", "mutex"} { log.Printf("turn on pprof %s profiler", prof) if pprof.Lookup(prof) == nil { pprof.NewProfile(prof) } } } // create a cache signal := make(chan struct{}) cb := &testv3.Callbacks{Signal: signal, Debug: debug} // mux integration // nil for logger uses default logger config := cache.NewSnapshotCache(mode == resource.Ads, cache.IDHash{}, nil) var configCache cache.Cache = config typeURL := "type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment" eds := cache.NewLinearCache(typeURL) if mux { configCache = &cache.MuxCache{ Classify: func(req *cache.Request) string { if req.GetTypeUrl() == typeURL { return "eds" } return "default" }, Caches: map[string]cache.Cache{ "default": config, "eds": eds, }, } } opts := []conf.XDSOption{} if mode == resource.Ads { log.Println("enabling ordered ADS mode...") // Enable resource ordering if we enter ADS mode. opts = append(opts, sotw.WithOrderedADS()) } srv := server.NewServer(context.Background(), configCache, cb, opts...) als := &testv3.AccessLogService{} if mode != resource.Delta { vhdsHTTPListeners = 0 } // create a test snapshot snapshots := resource.TestSnapshot{ Xds: mode, UpstreamPort: uint32(upstreamPort), BasePort: uint32(basePort), NumClusters: clusters, NumHTTPListeners: httpListeners, NumScopedHTTPListeners: scopedHTTPListeners, NumVHDSHTTPListeners: vhdsHTTPListeners, NumTCPListeners: tcpListeners, TLS: tls, NumRuntimes: runtimes, NumExtension: extensionNum, } // start the xDS server go test.RunAccessLogServer(ctx, als, alsPort) go test.RunManagementServer(ctx, srv, port) go test.RunManagementGateway(ctx, srv, gatewayPort) log.Println("waiting for the first request...") select { case <-signal: break case <-time.After(1 * time.Minute): log.Println("timeout waiting for the first request") os.Exit(1) } log.Printf("initial snapshot %+v\n", snapshots) log.Printf("executing sequence updates=%d request=%d\n", updates, requests) for i := 0; i < updates; i++ { snapshots.Version = fmt.Sprintf("v%d", i) log.Printf("update snapshot %v\n", snapshots.Version) snapshot := snapshots.Generate() if err := snapshot.Consistent(); err != nil { log.Printf("snapshot inconsistency: %+v\n%+v\n", snapshot, err) } err := config.SetSnapshot(context.Background(), nodeID, snapshot) if err != nil { log.Printf("snapshot error %q for %+v\n", err, snapshot) os.Exit(1) } if mux { for name, res := range snapshot.GetResources(typeURL) { if err := eds.UpdateResource(name, res); err != nil { log.Printf("update error %q for %+v\n", err, name) os.Exit(1) } } } // pass is true if all requests succeed at least once in a run pass := false for j := 0; j < requests; j++ { ok, failed := callEcho() if failed == 0 && !pass { pass = true } log.Printf("request batch %d, ok %v, failed %v, pass %v\n", j, ok, failed, pass) select { case <-time.After(delay): case <-ctx.Done(): return } } als.Dump(func(s string) { if debug { log.Println(s) } }) cb.Report() if !pass { log.Printf("failed all requests in a run %d\n", i) os.Exit(1) } } if pprofEnabled { for _, prof := range []string{"block", "goroutine", "mutex"} { p := pprof.Lookup(prof) filePath := fmt.Sprintf("%s_profile_%s.pb.gz", prof, mode) log.Printf("storing %s profile for %s in %s", prof, mode, filePath) f, err := os.Create(filePath) if err != nil { log.Fatalf("could not create %s profile %s: %s", prof, filePath, err) } p.WriteTo(f, 1) // nolint:errcheck f.Close() } } log.Printf("Test for %s passed!\n", mode) } // callEcho calls upstream echo service on all listener ports and returns an error // if any of the listeners returned an error. func callEcho() (int, int) { total := httpListeners + scopedHTTPListeners + tcpListeners + vhdsHTTPListeners ok, failed := 0, 0 ch := make(chan error, total) client := http.Client{ Timeout: 100 * time.Millisecond, Transport: &http.Transport{ TLSClientConfig: &cryptotls.Config{InsecureSkipVerify: true}, // nolint:gosec }, } get := func(count int) (*http.Response, error) { proto := "http" if tls { proto = "https" } req, err := http.NewRequestWithContext( context.Background(), http.MethodGet, fmt.Sprintf("%s://127.0.0.1:%d", proto, basePort+uint(count)), nil, ) if err != nil { return nil, err } return client.Do(req) } // spawn requests for i := 0; i < total; i++ { go func(i int) { resp, err := get(i) if err != nil { ch <- err return } body, err := io.ReadAll(resp.Body) if err != nil { resp.Body.Close() ch <- err return } if err := resp.Body.Close(); err != nil { ch <- err return } if string(body) != upstreamMessage { ch <- fmt.Errorf("unexpected return %q", string(body)) return } ch <- nil }(i) } for { out := <-ch if out == nil { ok++ } else { failed++ } if ok+failed == total { return ok, failed } } } go-control-plane-0.12.0/pkg/test/resource/000077500000000000000000000000001454502223200203405ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/test/resource/v3/000077500000000000000000000000001454502223200206705ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/test/resource/v3/resource.go000066400000000000000000000543701454502223200230570ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package resource creates test xDS resources package resource import ( "fmt" "time" "google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/durationpb" "google.golang.org/protobuf/types/known/structpb" alf "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" cluster "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" endpoint "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" listener "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3" route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" als "github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/grpc/v3" router "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3" hcm "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3" tcp "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3" auth "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" runtime "github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3" "github.com/envoyproxy/go-control-plane/pkg/cache/types" "github.com/envoyproxy/go-control-plane/pkg/cache/v3" "github.com/envoyproxy/go-control-plane/pkg/resource/v3" ) const ( localhost = "127.0.0.1" // XdsCluster is the cluster name for the control server (used by non-ADS set-up). XdsCluster = "xds_cluster" // AlsCluster is the clustername for gRPC access log service (ALS) AlsCluster = "als_cluster" // Ads mode for resources: one aggregated xDS service Ads = "ads" // Xds mode for resources: individual xDS services. Xds = "xds" // Rest mode for resources: polling using Fetch. Rest = "rest" // Delta mode for resources: individual delta xDS services. Delta = "delta" // Delta Ads mode for resource: one aggregated delta xDS service. DeltaAds = "delta-ads" ) // RefreshDelay for the polling config source. var RefreshDelay = 500 * time.Millisecond // MakeEndpoint creates a localhost endpoint on a given port. func MakeEndpoint(clusterName string, port uint32) *endpoint.ClusterLoadAssignment { return &endpoint.ClusterLoadAssignment{ ClusterName: clusterName, Endpoints: []*endpoint.LocalityLbEndpoints{{ LbEndpoints: []*endpoint.LbEndpoint{{ HostIdentifier: &endpoint.LbEndpoint_Endpoint{ Endpoint: &endpoint.Endpoint{ Address: &core.Address{ Address: &core.Address_SocketAddress{ SocketAddress: &core.SocketAddress{ Protocol: core.SocketAddress_TCP, Address: localhost, PortSpecifier: &core.SocketAddress_PortValue{ PortValue: port, }, }, }, }, }, }, }}, }}, } } // MakeCluster creates a cluster using either ADS or EDS. func MakeCluster(mode string, clusterName string) *cluster.Cluster { edsSource := configSource(mode) connectTimeout := 5 * time.Second return &cluster.Cluster{ Name: clusterName, ConnectTimeout: durationpb.New(connectTimeout), ClusterDiscoveryType: &cluster.Cluster_Type{Type: cluster.Cluster_EDS}, EdsClusterConfig: &cluster.Cluster_EdsClusterConfig{ EdsConfig: edsSource, }, } } func MakeVHDSRouteConfig(mode string, routeName string) *route.RouteConfiguration { return &route.RouteConfiguration{ Name: routeName, Vhds: &route.Vhds{ ConfigSource: configSource(mode), }, } } // MakeRouteConfig creates an HTTP route config that routes to a given cluster. func MakeRouteConfig(routeName string, clusterName string) *route.RouteConfiguration { return &route.RouteConfiguration{ Name: routeName, VirtualHosts: []*route.VirtualHost{{ Name: routeName, Domains: []string{"*"}, Routes: []*route.Route{{ Match: &route.RouteMatch{ PathSpecifier: &route.RouteMatch_Prefix{ Prefix: "/", }, }, Action: &route.Route_Route{ Route: &route.RouteAction{ ClusterSpecifier: &route.RouteAction_Cluster{ Cluster: clusterName, }, }, }, }}, }}, } } // MakeScopedRouteConfig creates an HTTP scoped route that routes to a given cluster. func MakeScopedRouteConfig(scopedRouteName string, routeConfigurationName string, keyFragments []string) *route.ScopedRouteConfiguration { k := &route.ScopedRouteConfiguration_Key{} for _, key := range keyFragments { fragment := &route.ScopedRouteConfiguration_Key_Fragment{ Type: &route.ScopedRouteConfiguration_Key_Fragment_StringKey{ StringKey: key, }, } k.Fragments = append(k.GetFragments(), fragment) } return &route.ScopedRouteConfiguration{ OnDemand: false, Name: scopedRouteName, RouteConfigurationName: routeConfigurationName, Key: k, } } func MakeVirtualHost(virtualHostName string, clusterName string) *route.VirtualHost { ret := &route.VirtualHost{ Name: virtualHostName, Domains: []string{"*"}, Routes: []*route.Route{{ Match: &route.RouteMatch{ PathSpecifier: &route.RouteMatch_Prefix{ Prefix: "/", }, }, Action: &route.Route_Route{ Route: &route.RouteAction{ ClusterSpecifier: &route.RouteAction_Cluster{ Cluster: clusterName, }, }, }, }}, } return ret } // data source configuration func configSource(mode string) *core.ConfigSource { source := &core.ConfigSource{} source.ResourceApiVersion = resource.DefaultAPIVersion switch mode { case Ads: source.ConfigSourceSpecifier = &core.ConfigSource_Ads{ Ads: &core.AggregatedConfigSource{}, } case DeltaAds: source.ConfigSourceSpecifier = &core.ConfigSource_Ads{ Ads: &core.AggregatedConfigSource{}, } case Xds: source.ConfigSourceSpecifier = &core.ConfigSource_ApiConfigSource{ ApiConfigSource: &core.ApiConfigSource{ TransportApiVersion: resource.DefaultAPIVersion, ApiType: core.ApiConfigSource_GRPC, SetNodeOnFirstMessageOnly: true, GrpcServices: []*core.GrpcService{{ TargetSpecifier: &core.GrpcService_EnvoyGrpc_{ EnvoyGrpc: &core.GrpcService_EnvoyGrpc{ClusterName: XdsCluster}, }, }}, }, } case Rest: source.ConfigSourceSpecifier = &core.ConfigSource_ApiConfigSource{ ApiConfigSource: &core.ApiConfigSource{ ApiType: core.ApiConfigSource_REST, TransportApiVersion: resource.DefaultAPIVersion, ClusterNames: []string{XdsCluster}, RefreshDelay: durationpb.New(RefreshDelay), }, } case Delta: source.ConfigSourceSpecifier = &core.ConfigSource_ApiConfigSource{ ApiConfigSource: &core.ApiConfigSource{ TransportApiVersion: resource.DefaultAPIVersion, ApiType: core.ApiConfigSource_DELTA_GRPC, SetNodeOnFirstMessageOnly: true, GrpcServices: []*core.GrpcService{{ TargetSpecifier: &core.GrpcService_EnvoyGrpc_{ EnvoyGrpc: &core.GrpcService_EnvoyGrpc{ClusterName: XdsCluster}, }, }}, }, } } return source } func buildHTTPConnectionManager() *hcm.HttpConnectionManager { // access log service configuration. alsConfig := &als.HttpGrpcAccessLogConfig{ CommonConfig: &als.CommonGrpcAccessLogConfig{ LogName: "echo", TransportApiVersion: resource.DefaultAPIVersion, GrpcService: &core.GrpcService{ TargetSpecifier: &core.GrpcService_EnvoyGrpc_{ EnvoyGrpc: &core.GrpcService_EnvoyGrpc{ ClusterName: AlsCluster, }, }, }, }, } alsConfigPbst, err := anypb.New(alsConfig) if err != nil { panic(err) } // HTTP filter configuration. routerConfig, _ := anypb.New(&router.Router{}) manager := &hcm.HttpConnectionManager{ CodecType: hcm.HttpConnectionManager_AUTO, StatPrefix: "http", HttpFilters: []*hcm.HttpFilter{{ Name: "http-router", ConfigType: &hcm.HttpFilter_TypedConfig{TypedConfig: routerConfig}, }}, AccessLog: []*alf.AccessLog{{ Name: "access-logger", ConfigType: &alf.AccessLog_TypedConfig{ TypedConfig: alsConfigPbst, }, }}, } return manager } func makeListener(listenerName string, port uint32, filterChains []*listener.FilterChain) *listener.Listener { return &listener.Listener{ Name: listenerName, Address: &core.Address{ Address: &core.Address_SocketAddress{ SocketAddress: &core.SocketAddress{ Protocol: core.SocketAddress_TCP, Address: localhost, PortSpecifier: &core.SocketAddress_PortValue{ PortValue: port, }, }, }, }, FilterChains: filterChains, } } func MakeRouteHTTPListener(mode string, listenerName string, port uint32, route string) *listener.Listener { rdsSource := configSource(mode) routeSpecifier := &hcm.HttpConnectionManager_Rds{ Rds: &hcm.Rds{ ConfigSource: rdsSource, RouteConfigName: route, }, } manager := buildHTTPConnectionManager() manager.RouteSpecifier = routeSpecifier pbst, err := anypb.New(manager) if err != nil { panic(err) } filterChains := []*listener.FilterChain{ { Filters: []*listener.Filter{ { Name: "http_connection_manager", // should work for any name. ConfigType: &listener.Filter_TypedConfig{ TypedConfig: pbst, }, }, }, }, } return makeListener(listenerName, port, filterChains) } // Creates a HTTP listener using Scoped Routes, which extracts the "Host" header field as the key. func MakeScopedRouteHTTPListener(mode string, listenerName string, port uint32) *listener.Listener { source := configSource(mode) routeSpecifier := &hcm.HttpConnectionManager_ScopedRoutes{ ScopedRoutes: &hcm.ScopedRoutes{ Name: "scoped-route-config", // This name is not bound to a xDS resource. ScopeKeyBuilder: &hcm.ScopedRoutes_ScopeKeyBuilder{ Fragments: []*hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{ { Type: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_{ HeaderValueExtractor: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{ Name: "Host", ExtractType: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index{ Index: 0, }, }, }, }, }, }, RdsConfigSource: source, ConfigSpecifier: &hcm.ScopedRoutes_ScopedRds{ ScopedRds: &hcm.ScopedRds{ ScopedRdsConfigSource: source, }, }, }, } manager := buildHTTPConnectionManager() manager.RouteSpecifier = routeSpecifier pbst, err := anypb.New(manager) if err != nil { panic(err) } filterChains := []*listener.FilterChain{ { Filters: []*listener.Filter{ { Name: "http-connection-manager", ConfigType: &listener.Filter_TypedConfig{ TypedConfig: pbst, }, }, }, }, } return makeListener(listenerName, port, filterChains) } // MakeScopedRouteHTTPListenerForRoute is the same as // MakeScopedRouteHTTPListener, except it inlines a reference to the // routeConfigName, and so doesn't require a ScopedRouteConfiguration resource. func MakeScopedRouteHTTPListenerForRoute(mode string, listenerName string, port uint32, routeConfigName string) *listener.Listener { source := configSource(mode) routeSpecifier := &hcm.HttpConnectionManager_ScopedRoutes{ ScopedRoutes: &hcm.ScopedRoutes{ Name: "scoped-route-config", // This name is not bound to a xDS resource. ScopeKeyBuilder: &hcm.ScopedRoutes_ScopeKeyBuilder{ Fragments: []*hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{ { Type: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_{ HeaderValueExtractor: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{ Name: "Host", ExtractType: &hcm.ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index{ Index: 0, }, }, }, }, }, }, RdsConfigSource: source, ConfigSpecifier: &hcm.ScopedRoutes_ScopedRouteConfigurationsList{ ScopedRouteConfigurationsList: &hcm.ScopedRouteConfigurationsList{ ScopedRouteConfigurations: []*route.ScopedRouteConfiguration{{ RouteConfigurationName: routeConfigName, }}, }, }, }, } manager := buildHTTPConnectionManager() manager.RouteSpecifier = routeSpecifier pbst, err := anypb.New(manager) if err != nil { panic(err) } filterChains := []*listener.FilterChain{ { Filters: []*listener.Filter{ { Name: "http-connection-manager", ConfigType: &listener.Filter_TypedConfig{ TypedConfig: pbst, }, }, }, }, } return makeListener(listenerName, port, filterChains) } // Creates a TCP listener HTTP manager. func MakeTCPListener(listenerName string, port uint32, clusterName string) *listener.Listener { // TCP filter configuration config := &tcp.TcpProxy{ StatPrefix: "tcp", ClusterSpecifier: &tcp.TcpProxy_Cluster{ Cluster: clusterName, }, } pbst, err := anypb.New(config) if err != nil { panic(err) } filterChains := []*listener.FilterChain{ { Filters: []*listener.Filter{ { Name: "tcp-proxy", ConfigType: &listener.Filter_TypedConfig{ TypedConfig: pbst, }, }, }, }, } return makeListener(listenerName, port, filterChains) } // MakeRuntime creates an RTDS layer with some fields. func MakeRuntime(runtimeName string) *runtime.Runtime { return &runtime.Runtime{ Name: runtimeName, Layer: &structpb.Struct{ Fields: map[string]*structpb.Value{ "field-0": { Kind: &structpb.Value_NumberValue{NumberValue: 100}, }, "field-1": { Kind: &structpb.Value_StringValue{StringValue: "foobar"}, }, }, }, } } // MakeExtensionConfig creates a extension config for a cluster. func MakeExtensionConfig(mode string, extensionConfigName string, route string) *core.TypedExtensionConfig { rdsSource := configSource(mode) // HTTP filter configuration routerConfig, _ := anypb.New(&router.Router{}) manager := &hcm.HttpConnectionManager{ CodecType: hcm.HttpConnectionManager_AUTO, StatPrefix: "http", RouteSpecifier: &hcm.HttpConnectionManager_Rds{ Rds: &hcm.Rds{ ConfigSource: rdsSource, RouteConfigName: route, }, }, HttpFilters: []*hcm.HttpFilter{{ Name: "http-router", ConfigType: &hcm.HttpFilter_TypedConfig{TypedConfig: routerConfig}, }}, } pbst, err := anypb.New(manager) if err != nil { panic(err) } return &core.TypedExtensionConfig{ Name: extensionConfigName, TypedConfig: pbst, } } // TestSnapshot holds parameters for a synthetic snapshot. type TestSnapshot struct { // Xds indicates snapshot mode: ads, xds, rest, or delta Xds string // Version for the snapshot. Version string // UpstreamPort for the single endpoint on the localhost. UpstreamPort uint32 // BasePort is the initial port for the listeners. BasePort uint32 // NumClusters is the total number of clusters to generate. NumClusters int // NumHTTPListeners is the total number of HTTP listeners to generate. NumHTTPListeners int // NumScopedHTTPListeners is the total number of scoped route HTTP listeners to generate. NumScopedHTTPListeners int // NumScopedHTTPListeners is the total number of HTTP listeners to generate where the routes are resolved via VHDS. NumVHDSHTTPListeners int // NumTCPListeners is the total number of TCP listeners to generate. // Listeners are assigned clusters in a round-robin fashion. NumTCPListeners int // NumRuntimes is the total number of RTDS layers to generate. NumRuntimes int // TLS enables SDS-enabled TLS mode on all listeners TLS bool // NumExtension is the total number of Extension Config NumExtension int currentPort uint32 } func (ts *TestSnapshot) generateHTTPListeners(numListeners int, clusters []types.Resource) ([]types.Resource, []types.Resource) { listeners := []types.Resource{} routeConfigs := []types.Resource{} if len(clusters) == 0 { return nil, nil } for i := 0; i < numListeners; i++ { listenerName := fmt.Sprintf("listener-%d", ts.currentPort-ts.BasePort) routeName := fmt.Sprintf("route-%s-%d", ts.Version, ts.currentPort) // Evenly distribute routes amongst current number of clusters. routeConfigs = append(routeConfigs, MakeRouteConfig(routeName, cache.GetResourceName(clusters[i%len(clusters)]))) listener := MakeRouteHTTPListener(ts.Xds, listenerName, ts.currentPort, routeName) ts.addTLS(listener) listeners = append(listeners, listener) ts.currentPort++ } return listeners, routeConfigs } func (ts *TestSnapshot) generateScopedHTTPListeners(numListeners int, clusters []types.Resource) ([]types.Resource, []types.Resource, []types.Resource) { listeners := []types.Resource{} scopedRouteConfigs := []types.Resource{} routeConfigs := []types.Resource{} if len(clusters) == 0 { return nil, nil, nil } for i := 0; i < numListeners; i++ { listenerName := fmt.Sprintf("listener-%d", ts.currentPort-ts.BasePort) scopedRouteName := fmt.Sprintf("scopedroute-%d", i) routeName := fmt.Sprintf("route-%s-%d", ts.Version, ts.currentPort) // Evenly distribute routes amongst current number of clusters. routeConfigs = append(routeConfigs, MakeRouteConfig(routeName, cache.GetResourceName(clusters[i%len(clusters)]))) scopedRouteConfigs = append(scopedRouteConfigs, MakeScopedRouteConfig(scopedRouteName, routeName, []string{ts.getPath()})) listener := MakeScopedRouteHTTPListener(ts.Xds, listenerName, ts.currentPort) ts.addTLS(listener) listeners = append(listeners, listener) ts.currentPort++ } return listeners, scopedRouteConfigs, routeConfigs } func (ts *TestSnapshot) generateVHDSHTTPListeners(numListeners int, clusters []types.Resource) ([]types.Resource, []types.Resource, []types.Resource) { listeners := []types.Resource{} routeConfigs := []types.Resource{} virtualHosts := []types.Resource{} if len(clusters) == 0 { return nil, nil, nil } for i := 0; i < numListeners; i++ { listenerName := fmt.Sprintf("listener-%d", ts.currentPort-ts.BasePort) routeName := fmt.Sprintf("route-%s-%d", ts.Version, ts.currentPort) virtualHostName := fmt.Sprintf("%s/%s", routeName, ts.getPath()) // Evenly distribute routes amongst current number of clusters. virtualHosts = append(virtualHosts, MakeVirtualHost(virtualHostName, cache.GetResourceName(clusters[i%len(clusters)]))) routeConfigs = append(routeConfigs, MakeVHDSRouteConfig(ts.Xds, routeName)) listener := MakeRouteHTTPListener(ts.Xds, listenerName, ts.currentPort, routeName) ts.addTLS(listener) listeners = append(listeners, listener) ts.currentPort++ } return listeners, routeConfigs, virtualHosts } func (ts *TestSnapshot) generateTCPListeners(numListeners int, clusters []types.Resource) []types.Resource { listeners := []types.Resource{} if len(clusters) == 0 { return nil } for i := 0; i < numListeners; i++ { listenerName := fmt.Sprintf("listener-%d", ts.currentPort-ts.BasePort) // Evenly distribute routes amongst current number of clusters. listener := MakeTCPListener(listenerName, ts.currentPort, cache.GetResourceName(clusters[i%ts.NumClusters])) ts.addTLS(listener) listeners = append(listeners, listener) ts.currentPort++ } return listeners } func (ts *TestSnapshot) addTLS(l *listener.Listener) { if ts.TLS { for i, chain := range l.GetFilterChains() { tlsc := &auth.DownstreamTlsContext{ CommonTlsContext: &auth.CommonTlsContext{ TlsCertificateSdsSecretConfigs: []*auth.SdsSecretConfig{{ Name: tlsName, SdsConfig: configSource(ts.Xds), }}, ValidationContextType: &auth.CommonTlsContext_ValidationContextSdsSecretConfig{ ValidationContextSdsSecretConfig: &auth.SdsSecretConfig{ Name: rootName, SdsConfig: configSource(ts.Xds), }, }, }, } mt, _ := anypb.New(tlsc) chain.TransportSocket = &core.TransportSocket{ Name: "envoy.transport_sockets.tls", ConfigType: &core.TransportSocket_TypedConfig{ TypedConfig: mt, }, } l.FilterChains[i] = chain } } } func (ts *TestSnapshot) getPath() string { return fmt.Sprintf("%s:%d", localhost, ts.currentPort) } // Generate produces a snapshot from the parameters. func (ts *TestSnapshot) Generate() *cache.Snapshot { ts.currentPort = ts.BasePort clusters := make([]types.Resource, ts.NumClusters) endpoints := make([]types.Resource, ts.NumClusters) for i := 0; i < ts.NumClusters; i++ { name := fmt.Sprintf("cluster-%s-%d", ts.Version, i) clusters[i] = MakeCluster(ts.Xds, name) endpoints[i] = MakeEndpoint(name, ts.UpstreamPort) } l1, r1 := ts.generateHTTPListeners(ts.NumHTTPListeners, clusters) l2, sr1, r2 := ts.generateScopedHTTPListeners(ts.NumScopedHTTPListeners, clusters) l3 := ts.generateTCPListeners(ts.NumTCPListeners, clusters) l4, r3, vh1 := ts.generateVHDSHTTPListeners(ts.NumVHDSHTTPListeners, clusters) listeners := append(l1, l2...) listeners = append(listeners, l3...) listeners = append(listeners, l4...) scopedRoutes := sr1 routes := append(r1, r2...) routes = append(routes, r3...) virtualHosts := vh1 runtimes := make([]types.Resource, ts.NumRuntimes) for i := 0; i < ts.NumRuntimes; i++ { name := fmt.Sprintf("runtime-%d", i) runtimes[i] = MakeRuntime(name) } var secrets []types.Resource if ts.TLS { for _, s := range MakeSecrets(tlsName, rootName) { secrets = append(secrets, s) } } extensions := make([]types.Resource, ts.NumExtension) for i := 0; i < ts.NumExtension; i++ { routeName := fmt.Sprintf("route-%s-%d", ts.Version, i) extensionConfigName := fmt.Sprintf("extensionConfig-%d", i) extensions[i] = MakeExtensionConfig(Ads, extensionConfigName, routeName) } out, _ := cache.NewSnapshot(ts.Version, map[resource.Type][]types.Resource{ resource.EndpointType: endpoints, resource.ClusterType: clusters, resource.RouteType: routes, resource.ScopedRouteType: scopedRoutes, resource.VirtualHostType: virtualHosts, resource.ListenerType: listeners, resource.RuntimeType: runtimes, resource.SecretType: secrets, resource.ExtensionConfigType: extensions, }) return out } go-control-plane-0.12.0/pkg/test/resource/v3/secret.go000066400000000000000000000132531454502223200225100ustar00rootroot00000000000000// Copyright 2019 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package resource import ( core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" auth "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" ) const ( tlsName = "tlssecret" rootName = "rootsecret" privateKey = `-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAsU265Ev3yVUAGds4qorN/QH0acOPO/gO7diGcfZ7QSQvjBUn TGO00EquFyqU9ameU0X1YPUWMsATE7HEQZFV7dtiQdN7OATNMIWgAH4Rhl6zLbc0 sh2MpxJQqakE6klZo5ZDRuXm11o8tdM9+kj2m9SlwtrflXd+jQ1afvsgvUP1FsA5 rZfOk0+WBzWymJDEsSZELQVh6LM94Y/0x55vj0dx+jtweGpsBAbLwS9SWqk1ynKr 6K7ZYiUnfM1jTqIF4NTwfe79lfttXZZHLBjtm2UZQZWz4R1VRQP/yoFVWXUMydhg fUsnBYoWBCPgLRDGdf6+/NmIcMOUdhAFQmd5YQIDAQABAoIBAD3bMGiVWE0VKoPa x1o4MsUh+XMslrwFPrAb6ku4Aignx67Hcn5kCqDgbPwIDw/lrSbAMWsyFhx+hilI y39UhPYGo7DzZvmUM0HKXJfPY63NPBWm5Ot/A6MF8L5ACUbzcCJyOeZyLqbTBHsq x2SaL+8NsQbZ9Ubf+XacQgYq9rEQf4ZnbVBiM7Wx1qQikApkbA6Ik7d8f4ojSdgq jbo+0JB51gspCfks0udi23WHaxW8vZO5EI+IWsiVk8Xd+TOotluvwgEjMN8ymJui Z/Xcu45RAMgrW4jRuO8ePiIvTIvAiTTktz6pCVXiQhd3iX+GL3eL1ZbbYQnAY1/S dENtpwECgYEAylK4je4Yf58xygkfaqGCjv99sNXGQ2GLvZQFUUen1fbWRCZN1Hot wYXsF0M+J15ErwORAb8/E7roWcRHYJa8SjGNCBSyunCTH8LDVasKoICvdLiGfCI5 7oweQRKUOBN9yxD3rcIIH+8TzNOoeZA5g0Wk/vzszWINTbOXnTRX30UCgYEA4Fe/ bu4Uq6m1ZUZb7BjdOwkHrVD5WknayDECEDAaTuZBGEY71rpxjttgALbg29XJ4tpV hjyBZF3IlBYyifSbRnlKFV3kGY604+2lOIhZKx86Crmmu+io+t3mfgq4daXXfgie /qbWBGmin/dn3PMDhdtPCIYYLMIFfcFUiA5l1W0CgYEAnfOOmV90SM4jtLMCj+Cf aLwViGSccCZLTimtLRNf+C7IgFPXFzZ7WkYPVunsMBfsTyXdoxuHRwP4OXx+rO2A +ftNOy3NirgwY+9NSChMF5nfYKReebLOv2kshWjXxh+RaWNJuaFtbmDbeGEVejIa dF1+voL+7CjMcgjvKI+gunECgYAPqTB87vPUc/lsw3ehSK8Q8vVtPOzbR7KVLQ6m 0KTVgy9iIW0F9Wf+AAR4qEuULR11z6YOw+SIfB+HbvFCPigkyEzKpw5IVnT8QFe7 VZFb+EcV/pXMIlbBhIIVpGvyEoyziKiIwF7KWhF3N08x1mkVjBS9VJcVcMnvWHKt OMwVFQKBgDJQ5OmU6JtN+FZb4sh6vJ1zaqr8TQ5axF+0C9p7HEgnrsbLel78H0iQ W4TS0TMSQ8pTybUXb+u9nTh4/dfuf7vJtS2N31/68XQO1sHC/hxZg8ow2Yeq//5p Jt/f/Fu1KusLb/sM9FurtVKuVhu2qeAFQXat0uKop76fZV56XVrh -----END RSA PRIVATE KEY-----` privateChain = `-----BEGIN CERTIFICATE----- MIIDWzCCAkOgAwIBAgIQcojbQweHMt1XQLs8eIpyqTANBgkqhkiG9w0BAQsFADBF MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMB4XDTE4MDgwOTIzMDg0MloXDTE5MDgwOTIz MDg0MlowEzERMA8GA1UEChMISnVqdSBvcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCxTbrkS/fJVQAZ2ziqis39AfRpw487+A7t2IZx9ntBJC+MFSdM Y7TQSq4XKpT1qZ5TRfVg9RYywBMTscRBkVXt22JB03s4BM0whaAAfhGGXrMttzSy HYynElCpqQTqSVmjlkNG5ebXWjy10z36SPab1KXC2t+Vd36NDVp++yC9Q/UWwDmt l86TT5YHNbKYkMSxJkQtBWHosz3hj/THnm+PR3H6O3B4amwEBsvBL1JaqTXKcqvo rtliJSd8zWNOogXg1PB97v2V+21dlkcsGO2bZRlBlbPhHVVFA//KgVVZdQzJ2GB9 SycFihYEI+AtEMZ1/r782Yhww5R2EAVCZ3lhAgMBAAGjeTB3MA4GA1UdDwEB/wQE AwIFoDAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFCudfB/DxIfxp92elExpHJfN eMliMDYGA1UdEQQvMC2GK3NwaWZmZTovL2NsdXN0ZXIubG9jYWwvbnMvZGVmYXVs dC9zYS9zZXJ2ZXIwDQYJKoZIhvcNAQELBQADggEBAKQuLmnWXotaiA8SiV7QYWWw aAHnlNS/HgvUmgNYort+IlhCb0a4098ncmnP0fyyuQloElEWKE/00/d9eLiocWHt tKhftYQ6Z9DY5nNerbb3uv8fKrV91z5paFiHfXotw2e1zmtjP3Guve9agmKjhote gcgPQ2MIfvmFDD7lGrkstDhubUwXXh4nE9bqTl6W2Jl/PIs6e/bvZtaUM/yySFbB upmaQWrVXaWsAf5xI3PVtCQqCGOesI6YgDt3/SkiSMPsFb6dC5GKq/dVLGHw26Tw jA25kE/wpOv0TvEAtEJ1V3GiDAODHwEt2m+IA58lZJcuj5GCqyHcKVW8KV8VVFc= -----END CERTIFICATE-----` rootCert = `-----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAOtgaSEVTdk7MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX aWRnaXRzIFB0eSBMdGQwHhcNMTgwODA5MjMwODI3WhcNMjMwODA4MjMwODI3WjBF MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAq0+Cg1WgcmC0X7Zcw75V/FZ9zJVhZinSAozxF5g8ci/QkGt0u1hI2lFg UYNHnWi8bhxcIHpK56WkY1D/2lFmXc32YxlFhAy+Ox1FTIqOW/VnvteUnUoe8GUw ADBEgtcZGUrAEKO8l8mjGyIpWbUI+G7tizB+9bx2dPuVXuzP/6ZZv5i1wmWhC/vp CgV8VaJ0qAjUAnQ25Q9GETHqYxUDOq1f7LrSCX16yhfXsqXhKtNxF370VcvZWjTM sQPn588QvSOdLYuYYnYz+TK4ixmCvoQtnzcmnhYSt3ae7YQW8vyD5huLtXl6jiU5 KKGm2cLdfpY2KEQKLpJQLum1TscGkQIDAQABo1AwTjAdBgNVHQ4EFgQUK518H8PE h/Gn3Z6UTGkcl814yWIwHwYDVR0jBBgwFoAUK518H8PEh/Gn3Z6UTGkcl814yWIw DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAZ+x0ppSUYQUw6FCVFjkp C99bX5O/jxRXoPCmsqh+NoOjvni65IKR7ilxDXLcrXaSNovopWDo4Fz7fQaR9xwk 0fIgu+JNdq72LmHlrCtjlD0Es08R+KUHWgpbHxaKq77+Ie/9w+pY3uDQz0dMy/yN yw3pH4By0lYwKt4QzRtA9btCiLYivReV9b+3P2P5IR+BLtLXt4j8LvstoJYhagUn L1qakOGqxFLL0P3CuulGACAH0jRRIhrREKnj3rVFGtdl4APafBn9XnJwzlwwj/GU y5E2qAmEqYO6m1rVPeeE0kjP5rIOEH5qQKpxtJ2/gAqc0OOmbFrnbfOWGUNkWn7X yA== -----END CERTIFICATE-----` ) // MakeSecrets generates an SDS secret func MakeSecrets(tlsName, rootName string) []*auth.Secret { return []*auth.Secret{ { Name: tlsName, Type: &auth.Secret_TlsCertificate{ TlsCertificate: &auth.TlsCertificate{ PrivateKey: &core.DataSource{ Specifier: &core.DataSource_InlineBytes{InlineBytes: []byte(privateKey)}, }, CertificateChain: &core.DataSource{ Specifier: &core.DataSource_InlineBytes{InlineBytes: []byte(privateChain)}, }, }, }, }, { Name: rootName, Type: &auth.Secret_ValidationContext{ ValidationContext: &auth.CertificateValidationContext{ TrustedCa: &core.DataSource{ Specifier: &core.DataSource_InlineBytes{InlineBytes: []byte(rootCert)}, }, }, }, }, } } go-control-plane-0.12.0/pkg/test/server.go000066400000000000000000000072351454502223200203550ustar00rootroot00000000000000// Package test contains test utilities package test import ( "context" "fmt" "log" "net" "net/http" "time" "google.golang.org/grpc" "google.golang.org/grpc/keepalive" server "github.com/envoyproxy/go-control-plane/pkg/server/v3" "github.com/envoyproxy/go-control-plane/pkg/test/v3" gcplogger "github.com/envoyproxy/go-control-plane/pkg/log" ) const ( grpcKeepaliveTime = 30 * time.Second grpcKeepaliveTimeout = 5 * time.Second grpcKeepaliveMinTime = 30 * time.Second grpcMaxConcurrentStreams = 1000000 ) // HTTPGateway is a custom implementation of [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) // specialized to Envoy xDS API. type HTTPGateway struct { // Log is an optional log for errors in response write Log gcplogger.Logger Gateway server.HTTPGateway } // RunAccessLogServer starts an accesslog server. func RunAccessLogServer(ctx context.Context, als *test.AccessLogService, alsPort uint) { grpcServer := grpc.NewServer() lis, err := net.Listen("tcp", fmt.Sprintf(":%d", alsPort)) if err != nil { log.Fatal(err) } test.RegisterAccessLogServer(grpcServer, als) log.Printf("access log server listening on %d\n", alsPort) go func() { if err = grpcServer.Serve(lis); err != nil { log.Println(err) } }() <-ctx.Done() grpcServer.GracefulStop() } // RunManagementServer starts an xDS server at the given port. func RunManagementServer(ctx context.Context, srv server.Server, port uint) { // gRPC golang library sets a very small upper bound for the number gRPC/h2 // streams over a single TCP connection. If a proxy multiplexes requests over // a single connection to the management server, then it might lead to // availability problems. Keepalive timeouts based on connection_keepalive parameter https://www.envoyproxy.io/docs/envoy/latest/configuration/overview/examples#dynamic var grpcOptions []grpc.ServerOption grpcOptions = append(grpcOptions, grpc.MaxConcurrentStreams(grpcMaxConcurrentStreams), grpc.KeepaliveParams(keepalive.ServerParameters{ Time: grpcKeepaliveTime, Timeout: grpcKeepaliveTimeout, }), grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ MinTime: grpcKeepaliveMinTime, PermitWithoutStream: true, }), ) grpcServer := grpc.NewServer(grpcOptions...) lis, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { log.Fatal(err) } test.RegisterServer(grpcServer, srv) log.Printf("management server listening on %d\n", port) go func() { if err = grpcServer.Serve(lis); err != nil { log.Println(err) } }() <-ctx.Done() grpcServer.GracefulStop() } // RunManagementGateway starts an HTTP gateway to an xDS server. func RunManagementGateway(ctx context.Context, srv server.Server, port uint) { log.Printf("gateway listening HTTP/1.1 on %d\n", port) // Ignore: G114: Use of net/http serve function that has no support for setting timeouts // nolint:gosec server := &http.Server{ Addr: fmt.Sprintf(":%d", port), Handler: &HTTPGateway{ Gateway: server.HTTPGateway{Server: srv}, }, } go func() { if err := server.ListenAndServe(); err != nil { log.Printf("failed to start listening: %s", err) } }() <-ctx.Done() // Cleanup our gateway if we receive a shutdown if err := server.Shutdown(ctx); err != nil { log.Printf("failed to shut down: %s", err) } } func (h *HTTPGateway) ServeHTTP(resp http.ResponseWriter, req *http.Request) { bytes, code, err := h.Gateway.ServeHTTP(req) if err != nil { http.Error(resp, err.Error(), code) return } if bytes == nil { resp.WriteHeader(http.StatusNotModified) return } if _, err = resp.Write(bytes); err != nil && h.Log != nil { h.Log.Errorf("gateway error: %v", err) } } go-control-plane-0.12.0/pkg/test/v3/000077500000000000000000000000001454502223200170415ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/test/v3/accesslog.go000066400000000000000000000044071454502223200213400ustar00rootroot00000000000000package test import ( "errors" "fmt" "io" "sync" "time" alf "github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3" accessloggrpc "github.com/envoyproxy/go-control-plane/envoy/service/accesslog/v3" ) // AccessLogService buffers access logs from the remote Envoy nodes. type AccessLogService struct { entries []string mu sync.Mutex } func (svc *AccessLogService) log(entry string) { svc.mu.Lock() defer svc.mu.Unlock() svc.entries = append(svc.entries, entry) } // Dump releases the collected log entries and clears the log entry list. func (svc *AccessLogService) Dump(f func(string)) { svc.mu.Lock() defer svc.mu.Unlock() for _, entry := range svc.entries { f(entry) } svc.entries = nil } // StreamAccessLogs implements the access log service. func (svc *AccessLogService) StreamAccessLogs(stream accessloggrpc.AccessLogService_StreamAccessLogsServer) error { var logName string for { msg, err := stream.Recv() if errors.Is(err, io.EOF) { break } if err != nil { return err } if msg.GetIdentifier() != nil { logName = msg.GetIdentifier().GetLogName() } switch entries := msg.GetLogEntries().(type) { case *accessloggrpc.StreamAccessLogsMessage_HttpLogs: for _, entry := range entries.HttpLogs.GetLogEntry() { if entry != nil { common := entry.GetCommonProperties() req := entry.GetRequest() resp := entry.GetResponse() if common == nil { common = &alf.AccessLogCommon{} } if req == nil { req = &alf.HTTPRequestProperties{} } if resp == nil { resp = &alf.HTTPResponseProperties{} } svc.log(fmt.Sprintf("[%s%s] %s %s %s %d %s %s", logName, time.Now().Format(time.RFC3339), req.GetAuthority(), req.GetPath(), req.GetScheme(), resp.GetResponseCode().GetValue(), req.GetRequestId(), common.GetUpstreamCluster())) } } case *accessloggrpc.StreamAccessLogsMessage_TcpLogs: for _, entry := range entries.TcpLogs.GetLogEntry() { if entry != nil { common := entry.GetCommonProperties() if common == nil { common = &alf.AccessLogCommon{} } svc.log(fmt.Sprintf("[%s%s] tcp %s %s", logName, time.Now().Format(time.RFC3339), common.GetUpstreamLocalAddress(), common.GetUpstreamCluster())) } } } } return nil } go-control-plane-0.12.0/pkg/test/v3/callbacks.go000066400000000000000000000052261454502223200213140ustar00rootroot00000000000000//nolint:all package test import ( "context" "log" "sync" core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" discovery "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" ) type Callbacks struct { Signal chan struct{} Debug bool Fetches int Requests int Responses int DeltaRequests int DeltaResponses int mu sync.Mutex } var _ server.Callbacks = &Callbacks{} func (cb *Callbacks) Report() { cb.mu.Lock() defer cb.mu.Unlock() log.Printf("server callbacks fetches=%d requests=%d responses=%d\n", cb.Fetches, cb.Requests, cb.Responses) } func (cb *Callbacks) OnStreamOpen(_ context.Context, id int64, typ string) error { if cb.Debug { log.Printf("stream %d open for %s\n", id, typ) } return nil } func (cb *Callbacks) OnStreamClosed(id int64, node *core.Node) { if cb.Debug { log.Printf("stream %d of node %s closed\n", id, node.Id) } } func (cb *Callbacks) OnDeltaStreamOpen(_ context.Context, id int64, typ string) error { if cb.Debug { log.Printf("delta stream %d open for %s\n", id, typ) } return nil } func (cb *Callbacks) OnDeltaStreamClosed(id int64, node *core.Node) { if cb.Debug { log.Printf("delta stream %d of node %s closed\n", id, node.Id) } } func (cb *Callbacks) OnStreamRequest(id int64, req *discovery.DiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.Requests++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } if cb.Debug { log.Printf("received request for %s on stream %d: %v:%v", req.GetTypeUrl(), id, req.VersionInfo, req.ResourceNames) } return nil } func (cb *Callbacks) OnStreamResponse(ctx context.Context, id int64, req *discovery.DiscoveryRequest, res *discovery.DiscoveryResponse) { cb.mu.Lock() defer cb.mu.Unlock() cb.Responses++ if cb.Debug { log.Printf("responding to request for %s on stream %d", req.GetTypeUrl(), id) } } func (cb *Callbacks) OnStreamDeltaResponse(id int64, req *discovery.DeltaDiscoveryRequest, res *discovery.DeltaDiscoveryResponse) { cb.mu.Lock() defer cb.mu.Unlock() cb.DeltaResponses++ } func (cb *Callbacks) OnStreamDeltaRequest(int64, *discovery.DeltaDiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.DeltaRequests++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } return nil } func (cb *Callbacks) OnFetchRequest(context.Context, *discovery.DiscoveryRequest) error { cb.mu.Lock() defer cb.mu.Unlock() cb.Fetches++ if cb.Signal != nil { close(cb.Signal) cb.Signal = nil } return nil } func (cb *Callbacks) OnFetchResponse(*discovery.DiscoveryRequest, *discovery.DiscoveryResponse) {} go-control-plane-0.12.0/pkg/test/v3/register.go000066400000000000000000000046021454502223200212160ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package test contains test utilities package test import ( "google.golang.org/grpc" accessloggrpc "github.com/envoyproxy/go-control-plane/envoy/service/accesslog/v3" clusterservice "github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3" discoverygrpc "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" endpointservice "github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3" listenerservice "github.com/envoyproxy/go-control-plane/envoy/service/listener/v3" routeservice "github.com/envoyproxy/go-control-plane/envoy/service/route/v3" runtimeservice "github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3" secretservice "github.com/envoyproxy/go-control-plane/envoy/service/secret/v3" "github.com/envoyproxy/go-control-plane/pkg/server/v3" ) // RegisterAccessLogServer starts an accessloggrpc service. func RegisterAccessLogServer(grpcServer *grpc.Server, als *AccessLogService) { accessloggrpc.RegisterAccessLogServiceServer(grpcServer, als) } // RegisterServer registers with v3 services. func RegisterServer(grpcServer *grpc.Server, server server.Server) { // register services discoverygrpc.RegisterAggregatedDiscoveryServiceServer(grpcServer, server) endpointservice.RegisterEndpointDiscoveryServiceServer(grpcServer, server) clusterservice.RegisterClusterDiscoveryServiceServer(grpcServer, server) routeservice.RegisterRouteDiscoveryServiceServer(grpcServer, server) routeservice.RegisterScopedRoutesDiscoveryServiceServer(grpcServer, server) routeservice.RegisterVirtualHostDiscoveryServiceServer(grpcServer, server) listenerservice.RegisterListenerDiscoveryServiceServer(grpcServer, server) secretservice.RegisterSecretDiscoveryServiceServer(grpcServer, server) runtimeservice.RegisterRuntimeDiscoveryServiceServer(grpcServer, server) } go-control-plane-0.12.0/pkg/wellknown/000077500000000000000000000000001454502223200175525ustar00rootroot00000000000000go-control-plane-0.12.0/pkg/wellknown/wellknown.go000066400000000000000000000123501454502223200221220ustar00rootroot00000000000000// Copyright 2018 Envoyproxy Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package wellknown contains common names for filters, listeners, etc. // // Deprecated. Envoy no longer requires specific names when configuring // filters or other properties, since it inspects the Protobuf type URL // to decide how to the decode a message. Because of this, no new names // are being added to this package. package wellknown // HTTP filter names const ( // Buffer HTTP filter Buffer = "envoy.filters.http.buffer" // CORS HTTP filter CORS = "envoy.filters.http.cors" // Dynamo HTTP filter Dynamo = "envoy.filters.http.dynamo" // Fault HTTP filter Fault = "envoy.filters.http.fault" // GRPCHTTP1Bridge HTTP filter GRPCHTTP1Bridge = "envoy.filters.http.grpc_http1_bridge" // GRPCJSONTranscoder HTTP filter GRPCJSONTranscoder = "envoy.filters.http.grpc_json_transcoder" // GRPCWeb HTTP filter GRPCWeb = "envoy.filters.http.grpc_web" // Gzip HTTP filter Gzip = "envoy.filters.http.gzip" // IPTagging HTTP filter IPTagging = "envoy.filters.http.ip_tagging" // HTTPRateLimit filter HTTPRateLimit = "envoy.filters.http.ratelimit" // Router HTTP filter Router = "envoy.filters.http.router" // Health checking HTTP filter HealthCheck = "envoy.filters.http.health_check" // Lua HTTP filter Lua = "envoy.filters.http.lua" // Squash HTTP filter Squash = "envoy.filters.http.squash" // HTTPExternalAuthorization HTTP filter HTTPExternalAuthorization = "envoy.filters.http.ext_authz" // HTTPRoleBasedAccessControl HTTP filter HTTPRoleBasedAccessControl = "envoy.filters.http.rbac" // HTTPGRPCStats HTTP filter HTTPGRPCStats = "envoy.filters.http.grpc_stats" // HTTP WASM filter HTTPWasm = "envoy.extensions.filters.http.wasm.v3.Wasm" ) // Network filter names const ( // ClientSSLAuth network filter ClientSSLAuth = "envoy.filters.network.client_ssl_auth" // Echo network filter Echo = "envoy.filters.network.echo" // HTTPConnectionManager network filter HTTPConnectionManager = "envoy.filters.network.http_connection_manager" // TCPProxy network filter TCPProxy = "envoy.filters.network.tcp_proxy" // RateLimit network filter RateLimit = "envoy.filters.network.ratelimit" // MongoProxy network filter MongoProxy = "envoy.filters.network.mongo_proxy" // ThriftProxy network filter ThriftProxy = "envoy.filters.network.thrift_proxy" // RedisProxy network filter RedisProxy = "envoy.filters.network.redis_proxy" // MySQLProxy network filter MySQLProxy = "envoy.filters.network.mysql_proxy" // ExternalAuthorization network filter ExternalAuthorization = "envoy.filters.network.ext_authz" // RoleBasedAccessControl network filter RoleBasedAccessControl = "envoy.filters.network.rbac" ) // Listener filter names const ( // OriginalDestination listener filter OriginalDestination = "envoy.filters.listener.original_dst" // ProxyProtocol listener filter ProxyProtocol = "envoy.filters.listener.proxy_protocol" // TlsInspector listener filter TlsInspector = "envoy.filters.listener.tls_inspector" // nolint:golint,revive // TLSInspector listener filter TLSInspector = "envoy.filters.listener.tls_inspector" // nolint:golint,revive // HttpInspector listener filter HttpInspector = "envoy.filters.listener.http_inspector" // nolint:golint,revive // HTTPInspector listener filter HTTPInspector = "envoy.filters.listener.http_inspector" // OriginalSource listener filter OriginalSource = "envoy.filters.listener.original_src" ) // Tracing provider names const ( // Lightstep tracer name Lightstep = "envoy.tracers.lightstep" // Zipkin tracer name Zipkin = "envoy.tracers.zipkin" // DynamicOT tracer name DynamicOT = "envoy.tracers.dynamic_ot" // Datadog tracer name Datadog = "envoy.tracers.datadog" ) // Stats sink names const ( // Statsd sink Statsd = "envoy.stat_sinks.statsd" // DogStatsD compatible stastsd sink DogStatsd = "envoy.stat_sinks.dog_statsd" // MetricsService sink MetricsService = "envoy.stat_sinks.metrics_service" ) // Access log sink names const ( // FileAccessLog sink name FileAccessLog = "envoy.access_loggers.file" // HTTPGRPCAccessLog sink for the HTTP gRPC access log service HTTPGRPCAccessLog = "envoy.access_loggers.http_grpc" ) // Transport socket names const ( // TransportSocket Alts TransportSocketAlts = "envoy.transport_sockets.alts" // TransportSocket Tap TransportSocketTap = "envoy.transport_sockets.tap" // TransportSocket RawBuffer TransportSocketRawBuffer = "envoy.transport_sockets.raw_buffer" // TransportSocket Tls TransportSocketTls = "envoy.transport_sockets.tls" // nolint:golint,revive // TransportSocketTLS labels the "envoy.transport_sockets.tls" filter. TransportSocketTLS = "envoy.transport_sockets.tls" // TransportSocket Quic TransportSocketQuic = "envoy.transport_sockets.quic" ) go-control-plane-0.12.0/ratelimit/000077500000000000000000000000001454502223200167435ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/config/000077500000000000000000000000001454502223200202105ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/config/ratelimit/000077500000000000000000000000001454502223200222025ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/config/ratelimit/v3/000077500000000000000000000000001454502223200225325ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/config/ratelimit/v3/rls_conf.pb.go000066400000000000000000000523751454502223200253020ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v3.13.0 // source: ratelimit/config/ratelimit/v3/rls_conf.proto package ratelimitv3 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Identifies the unit of of time for rate limit. type RateLimitUnit int32 const ( // The time unit is not known. RateLimitUnit_UNKNOWN RateLimitUnit = 0 // The time unit representing a second. RateLimitUnit_SECOND RateLimitUnit = 1 // The time unit representing a minute. RateLimitUnit_MINUTE RateLimitUnit = 2 // The time unit representing an hour. RateLimitUnit_HOUR RateLimitUnit = 3 // The time unit representing a day. RateLimitUnit_DAY RateLimitUnit = 4 ) // Enum value maps for RateLimitUnit. var ( RateLimitUnit_name = map[int32]string{ 0: "UNKNOWN", 1: "SECOND", 2: "MINUTE", 3: "HOUR", 4: "DAY", } RateLimitUnit_value = map[string]int32{ "UNKNOWN": 0, "SECOND": 1, "MINUTE": 2, "HOUR": 3, "DAY": 4, } ) func (x RateLimitUnit) Enum() *RateLimitUnit { p := new(RateLimitUnit) *p = x return p } func (x RateLimitUnit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RateLimitUnit) Descriptor() protoreflect.EnumDescriptor { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_enumTypes[0].Descriptor() } func (RateLimitUnit) Type() protoreflect.EnumType { return &file_ratelimit_config_ratelimit_v3_rls_conf_proto_enumTypes[0] } func (x RateLimitUnit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RateLimitUnit.Descriptor instead. func (RateLimitUnit) EnumDescriptor() ([]byte, []int) { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP(), []int{0} } // Rate limit configuration for a single domain. type RateLimitConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the rate limit configuration. This should be unique for each configuration. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Domain name for the rate limit configuration. Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` // List of rate limit configuration descriptors. Descriptors []*RateLimitDescriptor `protobuf:"bytes,3,rep,name=descriptors,proto3" json:"descriptors,omitempty"` } func (x *RateLimitConfig) Reset() { *x = RateLimitConfig{} if protoimpl.UnsafeEnabled { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitConfig) ProtoMessage() {} func (x *RateLimitConfig) ProtoReflect() protoreflect.Message { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitConfig.ProtoReflect.Descriptor instead. func (*RateLimitConfig) Descriptor() ([]byte, []int) { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP(), []int{0} } func (x *RateLimitConfig) GetName() string { if x != nil { return x.Name } return "" } func (x *RateLimitConfig) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *RateLimitConfig) GetDescriptors() []*RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } // Rate limit configuration descriptor. type RateLimitDescriptor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Key of the descriptor. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Optional value of the descriptor. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // Rate limit policy of the descriptor. RateLimit *RateLimitPolicy `protobuf:"bytes,3,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` // List of sub rate limit descriptors. Descriptors []*RateLimitDescriptor `protobuf:"bytes,4,rep,name=descriptors,proto3" json:"descriptors,omitempty"` // Mark the descriptor as shadow. When the values is true, rate limit service allow requests to the backend. ShadowMode bool `protobuf:"varint,5,opt,name=shadow_mode,json=shadowMode,proto3" json:"shadow_mode,omitempty"` } func (x *RateLimitDescriptor) Reset() { *x = RateLimitDescriptor{} if protoimpl.UnsafeEnabled { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitDescriptor) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitDescriptor) ProtoMessage() {} func (x *RateLimitDescriptor) ProtoReflect() protoreflect.Message { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitDescriptor.ProtoReflect.Descriptor instead. func (*RateLimitDescriptor) Descriptor() ([]byte, []int) { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP(), []int{1} } func (x *RateLimitDescriptor) GetKey() string { if x != nil { return x.Key } return "" } func (x *RateLimitDescriptor) GetValue() string { if x != nil { return x.Value } return "" } func (x *RateLimitDescriptor) GetRateLimit() *RateLimitPolicy { if x != nil { return x.RateLimit } return nil } func (x *RateLimitDescriptor) GetDescriptors() []*RateLimitDescriptor { if x != nil { return x.Descriptors } return nil } func (x *RateLimitDescriptor) GetShadowMode() bool { if x != nil { return x.ShadowMode } return false } // Rate-limit policy. type RateLimitPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unit of time for the rate limit. Unit RateLimitUnit `protobuf:"varint,1,opt,name=unit,proto3,enum=ratelimit.config.ratelimit.v3.RateLimitUnit" json:"unit,omitempty"` // Number of requests allowed in the policy within `unit` time. RequestsPerUnit uint32 `protobuf:"varint,2,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` // Mark the rate limit policy as unlimited. All requests are allowed to the backend. Unlimited bool `protobuf:"varint,3,opt,name=unlimited,proto3" json:"unlimited,omitempty"` // Optional name for the rate limit policy. Name the policy, if it should be replaced (dropped evaluation) by // another policy. Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // List of rate limit policies, this rate limit policy will replace (drop evaluation) // For more information: https://github.com/envoyproxy/ratelimit/tree/0b2f4d5fb04bf55e1873e2c5e2bb28da67c0643f#replaces // Example: https://github.com/envoyproxy/ratelimit/tree/0b2f4d5fb04bf55e1873e2c5e2bb28da67c0643f#example-7 Replaces []*RateLimitReplace `protobuf:"bytes,5,rep,name=replaces,proto3" json:"replaces,omitempty"` } func (x *RateLimitPolicy) Reset() { *x = RateLimitPolicy{} if protoimpl.UnsafeEnabled { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitPolicy) ProtoMessage() {} func (x *RateLimitPolicy) ProtoReflect() protoreflect.Message { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitPolicy.ProtoReflect.Descriptor instead. func (*RateLimitPolicy) Descriptor() ([]byte, []int) { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP(), []int{2} } func (x *RateLimitPolicy) GetUnit() RateLimitUnit { if x != nil { return x.Unit } return RateLimitUnit_UNKNOWN } func (x *RateLimitPolicy) GetRequestsPerUnit() uint32 { if x != nil { return x.RequestsPerUnit } return 0 } func (x *RateLimitPolicy) GetUnlimited() bool { if x != nil { return x.Unlimited } return false } func (x *RateLimitPolicy) GetName() string { if x != nil { return x.Name } return "" } func (x *RateLimitPolicy) GetReplaces() []*RateLimitReplace { if x != nil { return x.Replaces } return nil } // Replace specifies the rate limit policy that should be replaced (dropped evaluation). // For more information: https://github.com/envoyproxy/ratelimit/tree/0b2f4d5fb04bf55e1873e2c5e2bb28da67c0643f#replaces type RateLimitReplace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the rate limit policy, that is being replaced (dropped evaluation). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *RateLimitReplace) Reset() { *x = RateLimitReplace{} if protoimpl.UnsafeEnabled { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RateLimitReplace) String() string { return protoimpl.X.MessageStringOf(x) } func (*RateLimitReplace) ProtoMessage() {} func (x *RateLimitReplace) ProtoReflect() protoreflect.Message { mi := &file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RateLimitReplace.ProtoReflect.Descriptor instead. func (*RateLimitReplace) Descriptor() ([]byte, []int) { return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP(), []int{3} } func (x *RateLimitReplace) GetName() string { if x != nil { return x.Name } return "" } var File_ratelimit_config_ratelimit_v3_rls_conf_proto protoreflect.FileDescriptor var file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDesc = []byte{ 0x0a, 0x2c, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x09, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x47, 0x0a, 0x0d, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x04, 0x42, 0x91, 0x01, 0x0a, 0x2b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescOnce sync.Once file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescData = file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDesc ) func file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescGZIP() []byte { file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescOnce.Do(func() { file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescData = protoimpl.X.CompressGZIP(file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescData) }) return file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDescData } var file_ratelimit_config_ratelimit_v3_rls_conf_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_ratelimit_config_ratelimit_v3_rls_conf_proto_goTypes = []interface{}{ (RateLimitUnit)(0), // 0: ratelimit.config.ratelimit.v3.RateLimitUnit (*RateLimitConfig)(nil), // 1: ratelimit.config.ratelimit.v3.RateLimitConfig (*RateLimitDescriptor)(nil), // 2: ratelimit.config.ratelimit.v3.RateLimitDescriptor (*RateLimitPolicy)(nil), // 3: ratelimit.config.ratelimit.v3.RateLimitPolicy (*RateLimitReplace)(nil), // 4: ratelimit.config.ratelimit.v3.RateLimitReplace } var file_ratelimit_config_ratelimit_v3_rls_conf_proto_depIdxs = []int32{ 2, // 0: ratelimit.config.ratelimit.v3.RateLimitConfig.descriptors:type_name -> ratelimit.config.ratelimit.v3.RateLimitDescriptor 3, // 1: ratelimit.config.ratelimit.v3.RateLimitDescriptor.rate_limit:type_name -> ratelimit.config.ratelimit.v3.RateLimitPolicy 2, // 2: ratelimit.config.ratelimit.v3.RateLimitDescriptor.descriptors:type_name -> ratelimit.config.ratelimit.v3.RateLimitDescriptor 0, // 3: ratelimit.config.ratelimit.v3.RateLimitPolicy.unit:type_name -> ratelimit.config.ratelimit.v3.RateLimitUnit 4, // 4: ratelimit.config.ratelimit.v3.RateLimitPolicy.replaces:type_name -> ratelimit.config.ratelimit.v3.RateLimitReplace 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name } func init() { file_ratelimit_config_ratelimit_v3_rls_conf_proto_init() } func file_ratelimit_config_ratelimit_v3_rls_conf_proto_init() { if File_ratelimit_config_ratelimit_v3_rls_conf_proto != nil { return } if !protoimpl.UnsafeEnabled { file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitDescriptor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RateLimitReplace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDesc, NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 0, }, GoTypes: file_ratelimit_config_ratelimit_v3_rls_conf_proto_goTypes, DependencyIndexes: file_ratelimit_config_ratelimit_v3_rls_conf_proto_depIdxs, EnumInfos: file_ratelimit_config_ratelimit_v3_rls_conf_proto_enumTypes, MessageInfos: file_ratelimit_config_ratelimit_v3_rls_conf_proto_msgTypes, }.Build() File_ratelimit_config_ratelimit_v3_rls_conf_proto = out.File file_ratelimit_config_ratelimit_v3_rls_conf_proto_rawDesc = nil file_ratelimit_config_ratelimit_v3_rls_conf_proto_goTypes = nil file_ratelimit_config_ratelimit_v3_rls_conf_proto_depIdxs = nil } go-control-plane-0.12.0/ratelimit/service/000077500000000000000000000000001454502223200204035ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/service/ratelimit/000077500000000000000000000000001454502223200223755ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/service/ratelimit/v3/000077500000000000000000000000001454502223200227255ustar00rootroot00000000000000go-control-plane-0.12.0/ratelimit/service/ratelimit/v3/rls_conf_ds.pb.go000066400000000000000000000303061454502223200261510ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v3.13.0 // source: ratelimit/service/ratelimit/v3/rls_conf_ds.proto package configv3 import ( context "context" v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) var File_ratelimit_service_ratelimit_v3_rls_conf_ds_proto protoreflect.FileDescriptor var file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_rawDesc = []byte{ 0x0a, 0x30, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x8a, 0x02, 0x0a, 0x1f, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0f, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x8d, 0x01, 0x0a, 0x29, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x76, 0x33, 0x88, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_goTypes = []interface{}{ (*v3.DiscoveryRequest)(nil), // 0: envoy.service.discovery.v3.DiscoveryRequest (*v3.DiscoveryResponse)(nil), // 1: envoy.service.discovery.v3.DiscoveryResponse } var file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_depIdxs = []int32{ 0, // 0: ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService.StreamRlsConfigs:input_type -> envoy.service.discovery.v3.DiscoveryRequest 0, // 1: ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService.FetchRlsConfigs:input_type -> envoy.service.discovery.v3.DiscoveryRequest 1, // 2: ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService.StreamRlsConfigs:output_type -> envoy.service.discovery.v3.DiscoveryResponse 1, // 3: ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService.FetchRlsConfigs:output_type -> envoy.service.discovery.v3.DiscoveryResponse 2, // [2:4] is the sub-list for method output_type 0, // [0:2] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_init() } func file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_init() { if File_ratelimit_service_ratelimit_v3_rls_conf_ds_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_rawDesc, NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 1, }, GoTypes: file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_goTypes, DependencyIndexes: file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_depIdxs, }.Build() File_ratelimit_service_ratelimit_v3_rls_conf_ds_proto = out.File file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_rawDesc = nil file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_goTypes = nil file_ratelimit_service_ratelimit_v3_rls_conf_ds_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // RateLimitConfigDiscoveryServiceClient is the client API for RateLimitConfigDiscoveryService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RateLimitConfigDiscoveryServiceClient interface { StreamRlsConfigs(ctx context.Context, opts ...grpc.CallOption) (RateLimitConfigDiscoveryService_StreamRlsConfigsClient, error) FetchRlsConfigs(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) } type rateLimitConfigDiscoveryServiceClient struct { cc grpc.ClientConnInterface } func NewRateLimitConfigDiscoveryServiceClient(cc grpc.ClientConnInterface) RateLimitConfigDiscoveryServiceClient { return &rateLimitConfigDiscoveryServiceClient{cc} } func (c *rateLimitConfigDiscoveryServiceClient) StreamRlsConfigs(ctx context.Context, opts ...grpc.CallOption) (RateLimitConfigDiscoveryService_StreamRlsConfigsClient, error) { stream, err := c.cc.NewStream(ctx, &_RateLimitConfigDiscoveryService_serviceDesc.Streams[0], "/ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService/StreamRlsConfigs", opts...) if err != nil { return nil, err } x := &rateLimitConfigDiscoveryServiceStreamRlsConfigsClient{stream} return x, nil } type RateLimitConfigDiscoveryService_StreamRlsConfigsClient interface { Send(*v3.DiscoveryRequest) error Recv() (*v3.DiscoveryResponse, error) grpc.ClientStream } type rateLimitConfigDiscoveryServiceStreamRlsConfigsClient struct { grpc.ClientStream } func (x *rateLimitConfigDiscoveryServiceStreamRlsConfigsClient) Send(m *v3.DiscoveryRequest) error { return x.ClientStream.SendMsg(m) } func (x *rateLimitConfigDiscoveryServiceStreamRlsConfigsClient) Recv() (*v3.DiscoveryResponse, error) { m := new(v3.DiscoveryResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *rateLimitConfigDiscoveryServiceClient) FetchRlsConfigs(ctx context.Context, in *v3.DiscoveryRequest, opts ...grpc.CallOption) (*v3.DiscoveryResponse, error) { out := new(v3.DiscoveryResponse) err := c.cc.Invoke(ctx, "/ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService/FetchRlsConfigs", in, out, opts...) if err != nil { return nil, err } return out, nil } // RateLimitConfigDiscoveryServiceServer is the server API for RateLimitConfigDiscoveryService service. type RateLimitConfigDiscoveryServiceServer interface { StreamRlsConfigs(RateLimitConfigDiscoveryService_StreamRlsConfigsServer) error FetchRlsConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) } // UnimplementedRateLimitConfigDiscoveryServiceServer can be embedded to have forward compatible implementations. type UnimplementedRateLimitConfigDiscoveryServiceServer struct { } func (*UnimplementedRateLimitConfigDiscoveryServiceServer) StreamRlsConfigs(RateLimitConfigDiscoveryService_StreamRlsConfigsServer) error { return status.Errorf(codes.Unimplemented, "method StreamRlsConfigs not implemented") } func (*UnimplementedRateLimitConfigDiscoveryServiceServer) FetchRlsConfigs(context.Context, *v3.DiscoveryRequest) (*v3.DiscoveryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchRlsConfigs not implemented") } func RegisterRateLimitConfigDiscoveryServiceServer(s *grpc.Server, srv RateLimitConfigDiscoveryServiceServer) { s.RegisterService(&_RateLimitConfigDiscoveryService_serviceDesc, srv) } func _RateLimitConfigDiscoveryService_StreamRlsConfigs_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RateLimitConfigDiscoveryServiceServer).StreamRlsConfigs(&rateLimitConfigDiscoveryServiceStreamRlsConfigsServer{stream}) } type RateLimitConfigDiscoveryService_StreamRlsConfigsServer interface { Send(*v3.DiscoveryResponse) error Recv() (*v3.DiscoveryRequest, error) grpc.ServerStream } type rateLimitConfigDiscoveryServiceStreamRlsConfigsServer struct { grpc.ServerStream } func (x *rateLimitConfigDiscoveryServiceStreamRlsConfigsServer) Send(m *v3.DiscoveryResponse) error { return x.ServerStream.SendMsg(m) } func (x *rateLimitConfigDiscoveryServiceStreamRlsConfigsServer) Recv() (*v3.DiscoveryRequest, error) { m := new(v3.DiscoveryRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _RateLimitConfigDiscoveryService_FetchRlsConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.DiscoveryRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RateLimitConfigDiscoveryServiceServer).FetchRlsConfigs(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService/FetchRlsConfigs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RateLimitConfigDiscoveryServiceServer).FetchRlsConfigs(ctx, req.(*v3.DiscoveryRequest)) } return interceptor(ctx, in, info, handler) } var _RateLimitConfigDiscoveryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "ratelimit.service.ratelimit.v3.RateLimitConfigDiscoveryService", HandlerType: (*RateLimitConfigDiscoveryServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "FetchRlsConfigs", Handler: _RateLimitConfigDiscoveryService_FetchRlsConfigs_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamRlsConfigs", Handler: _RateLimitConfigDiscoveryService_StreamRlsConfigs_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "ratelimit/service/ratelimit/v3/rls_conf_ds.proto", } go-control-plane-0.12.0/repokitteh.star000066400000000000000000000002001454502223200200120ustar00rootroot00000000000000pin("github.com/repokitteh/modules", "4ee2ed0c3622aad7fcddc04cb5dc866e44a541e6") use("github.com/repokitteh/modules/wait.star")go-control-plane-0.12.0/sample/000077500000000000000000000000001454502223200162325ustar00rootroot00000000000000go-control-plane-0.12.0/sample/bootstrap-ads.yaml000066400000000000000000000022411454502223200216770ustar00rootroot00000000000000# Base config for an ADS management server on 18000, admin port on 19000 admin: access_log_path: /dev/null address: socket_address: address: 127.0.0.1 port_value: 19000 dynamic_resources: ads_config: api_type: GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true cds_config: resource_api_version: V3 ads: {} lds_config: resource_api_version: V3 ads: {} node: cluster: test-cluster id: test-id static_resources: clusters: - connect_timeout: 1s load_assignment: cluster_name: xds_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18000 http2_protocol_options: {} name: xds_cluster - connect_timeout: 1s load_assignment: cluster_name: als_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18090 http2_protocol_options: {} name: als_cluster go-control-plane-0.12.0/sample/bootstrap-delta-ads.yaml000066400000000000000000000022471454502223200227740ustar00rootroot00000000000000# Base config for an ADS management server on 18000, admin port on 19000 admin: access_log_path: /dev/null address: socket_address: address: 127.0.0.1 port_value: 19000 dynamic_resources: ads_config: api_type: DELTA_GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true cds_config: resource_api_version: V3 ads: {} lds_config: resource_api_version: V3 ads: {} node: cluster: test-cluster id: test-id static_resources: clusters: - connect_timeout: 1s load_assignment: cluster_name: xds_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18000 http2_protocol_options: {} name: xds_cluster - connect_timeout: 1s load_assignment: cluster_name: als_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18090 http2_protocol_options: {} name: als_cluster go-control-plane-0.12.0/sample/bootstrap-delta.yaml000066400000000000000000000033161454502223200222250ustar00rootroot00000000000000# Base config for a split xDS management server on 18000, admin port on 19000 admin: access_log_path: /dev/stdout address: socket_address: address: 127.0.0.1 port_value: 19000 dynamic_resources: lds_config: resource_api_version: V3 api_config_source: api_type: DELTA_GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true cds_config: resource_api_version: V3 api_config_source: api_type: DELTA_GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true node: cluster: test-cluster id: test-id static_resources: clusters: - connect_timeout: 1s load_assignment: cluster_name: xds_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18000 http2_protocol_options: {} name: xds_cluster - connect_timeout: 1s load_assignment: cluster_name: als_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18090 http2_protocol_options: {} name: als_cluster layered_runtime: layers: - name: runtime-0 rtds_layer: rtds_config: resource_api_version: V3 api_config_source: transport_api_version: V3 api_type: DELTA_GRPC grpc_services: envoy_grpc: cluster_name: xds_cluster name: runtime-0go-control-plane-0.12.0/sample/bootstrap-rest.yaml000066400000000000000000000031031454502223200221030ustar00rootroot00000000000000# Base config for a REST xDS management server on 18001, admin port on 19000 admin: access_log_path: /dev/null address: socket_address: address: 127.0.0.1 port_value: 19000 dynamic_resources: cds_config: resource_api_version: V3 api_config_source: api_type: REST transport_api_version: V3 refresh_delay: {nanos: 500000000} # 1/2s cluster_names: - xds_cluster lds_config: resource_api_version: V3 api_config_source: api_type: REST transport_api_version: V3 refresh_delay: {nanos: 500000000} # 1/2s cluster_names: - xds_cluster node: cluster: test-cluster id: test-id static_resources: clusters: - connect_timeout: 1s load_assignment: cluster_name: xds_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18001 name: xds_cluster - connect_timeout: 1s load_assignment: cluster_name: als_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18090 name: als_cluster layered_runtime: layers: - name: runtime-0 rtds_layer: rtds_config: resource_api_version: V3 api_config_source: api_type: REST transport_api_version: V3 refresh_delay: {nanos: 500000000} # 1/2s cluster_names: - xds_cluster name: runtime-0 go-control-plane-0.12.0/sample/bootstrap-xds.yaml000066400000000000000000000032671454502223200217370ustar00rootroot00000000000000# Base config for a split xDS management server on 18000, admin port on 19000 admin: access_log_path: /dev/null address: socket_address: address: 127.0.0.1 port_value: 19000 dynamic_resources: cds_config: resource_api_version: V3 api_config_source: api_type: GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true lds_config: resource_api_version: V3 api_config_source: api_type: GRPC transport_api_version: V3 grpc_services: - envoy_grpc: cluster_name: xds_cluster set_node_on_first_message_only: true node: cluster: test-cluster id: test-id static_resources: clusters: - connect_timeout: 1s load_assignment: cluster_name: xds_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18000 http2_protocol_options: {} name: xds_cluster - connect_timeout: 1s load_assignment: cluster_name: als_cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 18090 http2_protocol_options: {} name: als_cluster layered_runtime: layers: - name: runtime-0 rtds_layer: rtds_config: resource_api_version: V3 api_config_source: transport_api_version: V3 api_type: GRPC grpc_services: envoy_grpc: cluster_name: xds_cluster name: runtime-0 go-control-plane-0.12.0/support/000077500000000000000000000000001454502223200164655ustar00rootroot00000000000000go-control-plane-0.12.0/support/README.md000066400000000000000000000017211454502223200177450ustar00rootroot00000000000000# Support tools A collection of CLI tools meant to support and automate various aspects of developing Envoy, particularly those related to code review. For example, automatic DCO signoff and pre-commit format checking. ## Usage To get started, you need only navigate to the Envoy project root and run: ```bash ./support/bootstrap ``` This will set up the development support toolchain automatically. The toolchain uses git hooks extensively, copying them from `support/hooks` to the `.git` folder. The commit hook checks can be skipped using the `-n` / `--no-verify` flags, as so: ```bash git commit --no-verify ``` ## Functionality Currently the development support toolchain exposes two main pieces of functionality: * Automatically appending DCO signoff to the end of a commit message if it doesn't exist yet. Correctly covers edge cases like `commit --amend` and `rebase`. * Automatically running DCO and format checks on all files in the diff, before push.go-control-plane-0.12.0/support/bootstrap000077500000000000000000000040041454502223200204260ustar00rootroot00000000000000#!/usr/bin/env bash # # Bootstraps the developer tools and development environment. This includes # copying project-standard git commit hooks that do things like ensure DCO # signoff is present during commit. # Best-effort check that we're in the envoy root directory. # # TODO(hausdorff): If compatibility becomes an issue here, come back and do this # "the right way". This is hard to do in general, since `realpath` is not # standard. if [ ! "$PWD" == "$(git rev-parse --show-toplevel)" ]; then cat >&2 <<__EOF__ ERROR: this script must be run at the root of the envoy source tree __EOF__ exit 1 fi # Helper functions that calculate `abspath` and `relpath`. Taken from Mesos # commit 82b040a60561cf94dec3197ea88ae15e57bcaa97, which also carries the Apache # V2 license, and has deployed this code successfully for some time. abspath() { cd "$(dirname "${1}")" echo "${PWD}"/"$(basename "${1}")" cd "${OLDPWD}" } relpath() { local FROM TO UP FROM="$(abspath "${1%/}")" TO="$(abspath "${2%/}"/)" while test "${TO}" = "${TO#"${FROM}"/}" \ -a "${TO}" != "${FROM}"; do FROM="${FROM%/*}" UP="../${UP}" done TO="${UP%/}${TO#${FROM}}" echo "${TO:-.}" } # Try to find the `.git` directory, even if it's not in Envoy project root (as # it wouldn't be if, say, this were in a submodule). The "blessed" but fairly # new way to do this is to use `--git-common-dir`. DOT_GIT_DIR=$(git rev-parse --git-common-dir) if test ! -d "${DOT_GIT_DIR}"; then # If `--git-common-dir` is not available, fall back to older way of doing it. DOT_GIT_DIR=$(git rev-parse --git-dir) fi HOOKS_DIR="${DOT_GIT_DIR}/hooks" HOOKS_DIR_RELPATH=$(relpath "${HOOKS_DIR}" "$(dirname $0)") if [ ! -e "${HOOKS_DIR}/prepare-commit-msg" ]; then echo "Installing hook 'prepare-commit-msg'" ln -sf "${HOOKS_DIR_RELPATH}/hooks/prepare-commit-msg" "${HOOKS_DIR}/prepare-commit-msg" fi if [ ! -e "${HOOKS_DIR}/pre-push" ]; then echo "Installing hook 'pre-push'" ln -sf "${HOOKS_DIR_RELPATH}/hooks/pre-push" "${HOOKS_DIR}/pre-push" fi go-control-plane-0.12.0/support/hooks/000077500000000000000000000000001454502223200176105ustar00rootroot00000000000000go-control-plane-0.12.0/support/hooks/pre-push000077500000000000000000000036001454502223200213000ustar00rootroot00000000000000#!/usr/bin/env bash # # A git commit hook that will automatically run format checking and DCO signoff # checking before the push is successful. # # To enable this hook, run `bootstrap`, or run the following from the root of # the repo. (Note that `bootstrap` will correctly install this even if this code # is located in a submodule, while the following won't.) # # $ ln -s ../../support/hooks/pre-push .git/hooks/pre-push DUMMY_SHA=0000000000000000000000000000000000000000 echo "Running pre-push check; to skip this step use 'push --no-verify'" while read LOCAL_REF LOCAL_SHA REMOTE_REF REMOTE_SHA do if [ "$LOCAL_SHA" = $DUMMY_SHA ] then # Branch deleted. Do nothing. exit 0 else if [ "$REMOTE_SHA" = $DUMMY_SHA ] then # New branch. Verify the last commit, since this is very likely where the new code is # (though there is no way to know for sure). In the extremely uncommon case in which someone # pushes more than 1 new commit to a branch, CI will enforce full checking. RANGE="$LOCAL_SHA~1..$LOCAL_SHA" else # Updating branch. Verify new commits. RANGE="$REMOTE_SHA..$LOCAL_SHA" fi # Verify DCO signoff. We do this before the format checker, since it has # some probability of failing spuriously, while this check never should. # # In general, we can't assume that the commits are signed off by author # pushing, so we settle for just checking that there is a signoff at all. SIGNED_OFF=$(git rev-list --no-merges --grep "^Signed-off-by: " "$RANGE") NOT_SIGNED_OFF=$(git rev-list --no-merges "$RANGE" | grep -Fxv "$SIGNED_OFF") if [ -n "$NOT_SIGNED_OFF" ] then echo >&2 "ERROR: The following commits do not have DCO signoff:" while read -r commit; do echo " $(git log --pretty=oneline --abbrev-commit -n 1 $commit)" done <<< "$NOT_SIGNED_OFF" exit 1 fi fi done exit 0 go-control-plane-0.12.0/support/hooks/prepare-commit-msg000077500000000000000000000017731454502223200232560ustar00rootroot00000000000000#!/usr/bin/env bash # # A git commit hook that will automatically append a DCO signoff to the bottom # of any commit message that doesn't have one. This append happens after the git # default message is generated, but before the user is dropped into the commit # message editor. # # To enable this hook, run `bootstrap`, or run the following from the root of # the repo. (Note that `bootstrap` will correctly install this even if this code # is located in a submodule, while the following won't.) # # $ ln -s ../../support/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg COMMIT_MESSAGE_FILE="$1" AUTHOR=$(git var GIT_AUTHOR_IDENT) SIGNOFF=$(echo $AUTHOR | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # Check for DCO signoff message. If one doesn't exist, append one and then warn # the user that you did so. if ! $(grep -qs "^$SIGNOFF" "$COMMIT_MESSAGE_FILE") ; then echo -e "\n$SIGNOFF" >> "$COMMIT_MESSAGE_FILE" echo -e "Appended the following signoff to the end of the commit message:\n $SIGNOFF\n" fi go-control-plane-0.12.0/xdsmatcher/000077500000000000000000000000001454502223200171135ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/.gitignore000066400000000000000000000000151454502223200210770ustar00rootroot00000000000000coverage.out go-control-plane-0.12.0/xdsmatcher/Makefile000066400000000000000000000005011454502223200205470ustar00rootroot00000000000000.PHONY: test test: go test ./... -race .PHONY: coverage coverage: go test ./... -race -covermode=atomic -coverprofile=coverage.out coverage_html: coverage go tool cover -html=coverage.out .PHONY: proto proto: test/proto/* protoc --proto_path=test/proto --go_out=test/proto --go_opt=paths=source_relative test.proto go-control-plane-0.12.0/xdsmatcher/README.md000066400000000000000000000057601454502223200204020ustar00rootroot00000000000000# xDS Matching API Evaluation Framework This library provides a way to evaluate the [xDS matching API](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/matching/matching_api) using the same logic that's implemented within the Envoy proxy. The intended use case right now is to support unit testing of generated configuration, but this may be extended to allow for the usage of this matching API in other contexts. ## Example Usage To use, first register the input and action extensions that will be used: ```golang func init() { // Register the input type with the register, using the type URL of the describing protobuf. registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.FooInput"] = fooInputFactory } // The implementation of the input. type fooInput struct { } // The factory method of the input, this converts the describing protobuf into the input object. func fooInputFactory(m proto.Message) (interface{}, error) { _, ok := m.(*pbtest.FooInput) if !ok { return nil, errors.New("unexpected proto") } return fooInput{}, nil } // Implement types.DataInput for the input type. func (fooInput) Input(d types.MatchingData) (types.DataInputResult, error) { // Cast to the expected data type, this should never fail. testData, ok := d.(*pbtest.TestData) if !ok { return types.DataInputResult{}, errors.New("invalid matching data type") } // Return the value to match on from the data, qualifying it with a data availability. return types.DataInputResult{ Availability: types.AllDataAvailable, Data: &testData.Foo, }, nil } ``` ```golang func init() { // Register the action with the register, using the type URL of the describing protobuf. registry.Action["type.googleapis.com/xdsmatcher.test.proto.Action"] = actionFactory } // The implementation of the action. type action struct { } // The factory method of the action, this converts the describing protobuf into the input object. func actionFactory(m proto.Message) (interface{}, error) { _, ok := m.(*pbtest.Action) if !ok { return nil, errors.New("unexpected proto") } return action{}, nil } ``` Once registered, a match tree can be created and evaluated: ```golang yaml := ` matcher_tree: input: name: foo typed_config: "@type": "type.googleapis.com/xdsmatcher.test.proto.FooInput" exact_match_map: map: "foo": action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction ` matcher := &pbmatcher.Matcher{} _ = iproto.ProtoFromYaml([]byte(yaml), matcher) m, _ := matcher.Create(matcher) data := &pbtest.TestData{} r, _ := m.Match(data) if r.MatchResult != nil && r.MatchResult.Action != nil { // resulting action action, ok := r.MatchResult.Action.(action) } ``` See matcher_test.go for more examples of how to use the API. # Development To install the required dev tools on Linux: ``` apt-get install -y protobuf-compiler go install google.golang.org/protobuf/cmd/protoc-gen-go ``` go-control-plane-0.12.0/xdsmatcher/go.mod000066400000000000000000000013171454502223200202230ustar00rootroot00000000000000module github.com/envoyproxy/go-control-plane/xdsmatcher go 1.17 require ( github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74 github.com/envoyproxy/go-control-plane v0.11.1 github.com/stretchr/testify v1.8.4 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v2 v2.4.0 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/envoyproxy/protoc-gen-validate v1.0.1 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) go-control-plane-0.12.0/xdsmatcher/go.sum000066400000000000000000004471601454502223200202620ustar00rootroot00000000000000cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74 h1:zlUubfBUxApscKFsF4VSvvfhsBNTBu0eF/ddvpo96yk= github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM= github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.0.1 h1:kt9FtLiooDc0vbwTLhdg3dyNX1K9Qwa1EK9LcD4jVUQ= github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e h1:Ao9GzfUMPH3zjVfzXG5rlWlk+Q8MXWKwWpwVQE1MXfw= google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e h1:AZX1ra8YbFMSb7+1pI8S9v4rrgRR7jU1FmuFSSjTVcQ= google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e h1:NumxXLPfHSndr3wBBdeKiVHjGVFzi9RX2HwwQke94iY= google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= go-control-plane-0.12.0/xdsmatcher/internal/000077500000000000000000000000001454502223200207275ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/internal/proto/000077500000000000000000000000001454502223200220725ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/internal/proto/proto.go000066400000000000000000000020661454502223200235700ustar00rootroot00000000000000package internal import ( "encoding/json" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" "gopkg.in/yaml.v2" ) // ProtoFromYaml converts a YAML string into the specific protobuf message. func ProtoFromYaml(s []byte, m proto.Message) error { var obj interface{} if err := yaml.Unmarshal(s, &obj); err != nil { return err } obj = convert(obj) // Encode YAML to JSON. rawJSON, err := json.Marshal(obj) if err != nil { return err } // Use protojson to convert the JSON into the desired proto. err = protojson.Unmarshal(rawJSON, m) if err != nil { return err } return nil } // This is necessary because yaml.Unmarshal gives us map[interface{}]interface{} and we need // to cast the types in order to make json.Marshal accept it. func convert(i interface{}) interface{} { switch x := i.(type) { case map[interface{}]interface{}: m2 := map[string]interface{}{} for k, v := range x { m2[k.(string)] = convert(v) } return m2 case []interface{}: for i, v := range x { x[i] = convert(v) } } return i } go-control-plane-0.12.0/xdsmatcher/pkg/000077500000000000000000000000001454502223200176745ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/pkg/matcher/000077500000000000000000000000001454502223200213175ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/pkg/matcher/matcher.go000066400000000000000000000317221454502223200232760ustar00rootroot00000000000000package matcher import ( "errors" "fmt" "regexp" "strings" pbmatcher "github.com/cncf/xds/go/xds/type/matcher/v3" pblegacymatcher "github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3" "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/registry" "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/types" "google.golang.org/protobuf/proto" ) // MatcherTree is the constructed match tree, allowing for matching input data against the match tree. type MatcherTree struct { onNoMatch *types.OnMatch matchRoot types.Matcher logger *tracingLogger } // Match attempts to match the input data against the match tree. // An error is returned if something went wrong during match evaluation. func (m MatcherTree) Match(data types.MatchingData) (types.Result, error) { result, err := m.matchRoot.Match(data) if err != nil { return types.Result{}, err } if result.MatchResult != nil && result.NeedMoreData { return types.Result{}, errors.New("invalid result, invariant violation") } // We arrived at a result. if result.MatchResult != nil { // The result is a recursive matcher, so recurse. if result.MatchResult.Matcher != nil { m.logger.log("recursively matching") m.logger.push() defer m.logger.pop() return result.MatchResult.Matcher.Match(data) } m.logger.log("arrived at result %+v, %+v", result, result.MatchResult) // Otherwise pass through the result. return result, nil } // We failed to arrive at a result due to the data not being available, // report this back up. if result.NeedMoreData { m.logger.log("matcher tree requires more data") return result, nil } m.logger.log("matcher tree failed to match, falling back to OnNoMatch (%v)", m.onNoMatch) // We have all the data, so we know that we failed to match. Return OnNoMatch. return types.Result{ MatchResult: m.onNoMatch, NeedMoreData: false, }, nil } // Create creates a new match tree from the provided match tree configuration. func Create(matcher *pbmatcher.Matcher) (*MatcherTree, error) { return create(matcher, &tracingLogger{}) } // CreateLegacy creates a new match tree from the provided match tree configuration, specified by the legacy // format. func CreateLegacy(matcher *pblegacymatcher.Matcher) (*MatcherTree, error) { // Wire cast the matcher to the new matcher format. b, err := proto.Marshal(matcher) if err != nil { return nil, err } m := &pbmatcher.Matcher{} err = proto.Unmarshal(b, m) if err != nil { return nil, err } return Create(m) } func create(matcher *pbmatcher.Matcher, logger *tracingLogger) (*MatcherTree, error) { onNoMatch, err := createOnMatch(matcher.OnNoMatch, logger) if err != nil { return nil, err } switch m := matcher.MatcherType.(type) { case *pbmatcher.Matcher_MatcherList_: matcher, err := createMatcherList(m.MatcherList, logger) if err != nil { return nil, err } return &MatcherTree{ onNoMatch: onNoMatch, matchRoot: matcher, logger: logger, }, nil case *pbmatcher.Matcher_MatcherTree_: matcher, err := createMatchTree(m.MatcherTree, logger) if err != nil { return nil, err } return &MatcherTree{ onNoMatch: onNoMatch, matchRoot: matcher, logger: logger, }, nil default: return nil, errors.New("not implemented: matcher tree") } } func createOnMatch(onMatch *pbmatcher.Matcher_OnMatch, logger *tracingLogger) (*types.OnMatch, error) { // TODO move this to call sites, this is part of validation if onMatch == nil { return nil, nil } switch om := onMatch.OnMatch.(type) { case *pbmatcher.Matcher_OnMatch_Matcher: matcher, err := create(om.Matcher, logger) if err != nil { return nil, err } return &types.OnMatch{ Matcher: matcher, }, nil case *pbmatcher.Matcher_OnMatch_Action: action, err := registry.ResolveActionExtension(om.Action) if err != nil { return nil, err } return &types.OnMatch{Action: action}, nil default: return nil, errors.New("unexpected on match type") } } type matcherResult struct { match bool needMoreData bool } type predicateFunc interface { match(types.MatchingData) (matcherResult, error) } // InputMatcher is the interface for a matcher implementation, specifying how // an input string should be matched. type InputMatcher interface { match(value *string) (matcherResult, error) } type simpleMatcher interface { match(value *string) bool } type singlePredicate struct { input types.DataInput matcher simpleMatcher logger *tracingLogger } func (s singlePredicate) match(data types.MatchingData) (matcherResult, error) { matchFunc := func(input *string) *types.OnMatch { s.logger.log("attempting to match '%v'", safePrint(input)) if s.matcher.match(input) { return &types.OnMatch{} } return nil } result, err := handlePossiblyMissingInput(s.input, data, matchFunc, s.logger) if err != nil { return matcherResult{}, err } matchResult := matcherResult{ match: result.MatchResult != nil, needMoreData: result.NeedMoreData, } s.logger.log("single predicate evaluation result: %+v", matchResult) return matchResult, nil } type conjunctionPredicate struct { predicates []predicateFunc logger *tracingLogger } func (a conjunctionPredicate) match(data types.MatchingData) (matcherResult, error) { a.logger.log("performing and matching") a.logger.push() defer a.logger.pop() for _, p := range a.predicates { result, err := p.match(data) if err != nil { return matcherResult{}, err } if result.needMoreData { return result, nil } if !result.match { return result, nil } } return matcherResult{ match: true, needMoreData: false, }, nil } type disjunctionPredicate struct { predicates []predicateFunc logger *tracingLogger } func (a disjunctionPredicate) match(data types.MatchingData) (matcherResult, error) { a.logger.log("performing or matching") a.logger.push() defer a.logger.pop() resultCouldChange := false for _, p := range a.predicates { result, err := p.match(data) if err != nil { return matcherResult{}, err } if result.needMoreData { resultCouldChange = true continue } if result.match { return result, nil } } if resultCouldChange { return matcherResult{ match: false, needMoreData: true, }, nil } return matcherResult{ match: false, needMoreData: false, }, nil } type matchEntry struct { onMatch *types.OnMatch predicate predicateFunc } type regexMatcher struct { regex *regexp.Regexp } func (r regexMatcher) match(s *string) bool { if s == nil { return false } return r.regex.Match([]byte(*s)) } func createSinglePredicate(predicate *pbmatcher.Matcher_MatcherList_Predicate_SinglePredicate, logger *tracingLogger) (*singlePredicate, error) { input, err := registry.ResolveInputExtension(predicate.Input) if err != nil { return nil, err } switch m := predicate.Matcher.(type) { case *pbmatcher.Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch: matcher, err := createValueMatcher(m.ValueMatch) if err != nil { return nil, err } return &singlePredicate{ logger: logger, input: input, matcher: matcher, }, nil default: return nil, errors.New("not implemented: custom match") } } func createValueMatcher(valueMatcher *pbmatcher.StringMatcher) (simpleMatcher, error) { switch m := valueMatcher.MatchPattern.(type) { case *pbmatcher.StringMatcher_SafeRegex: r, err := regexp.Compile(m.SafeRegex.Regex) if err != nil { return nil, err } return regexMatcher{regex: r}, nil default: return nil, errors.New("not implemented: value match") } } type matcherList struct { matchEntries []matchEntry logger *tracingLogger } func (m matcherList) Match(data types.MatchingData) (types.Result, error) { m.logger.log("attempting to match against match list") m.logger.push() defer m.logger.pop() for _, me := range m.matchEntries { m.logger.log("predicate type %T", me.predicate) result, err := me.predicate.match(data) if err != nil { return types.Result{}, err } if result.match { m.logger.log("found match entry matching input: %+v") return types.Result{ MatchResult: me.onMatch, NeedMoreData: false, }, nil } if result.needMoreData { m.logger.log("found match entry that needs more data, bailing") return types.Result{ MatchResult: nil, NeedMoreData: true, }, nil } } m.logger.log("no matching match entry was found") return types.Result{ MatchResult: nil, NeedMoreData: false, }, nil } func createPredicate(predicate *pbmatcher.Matcher_MatcherList_Predicate, logger *tracingLogger) (predicateFunc, error) { switch predicate := predicate.MatchType.(type) { case *pbmatcher.Matcher_MatcherList_Predicate_AndMatcher: predicates := []predicateFunc{} for _, p := range predicate.AndMatcher.Predicate { pp, err := createPredicate(p, logger) if err != nil { return nil, err } predicates = append(predicates, pp) } return conjunctionPredicate{ predicates: predicates, logger: logger, }, nil case *pbmatcher.Matcher_MatcherList_Predicate_OrMatcher: predicates := []predicateFunc{} for _, p := range predicate.OrMatcher.Predicate { pp, err := createPredicate(p, logger) if err != nil { return nil, err } predicates = append(predicates, pp) } return disjunctionPredicate{ predicates: predicates, logger: logger, }, nil case *pbmatcher.Matcher_MatcherList_Predicate_SinglePredicate_: return createSinglePredicate(predicate.SinglePredicate, logger) default: return nil, fmt.Errorf("unexpected predicate type %T", predicate) } } func createMatcherList(list *pbmatcher.Matcher_MatcherList, logger *tracingLogger) (*matcherList, error) { ml := &matcherList{logger: logger} for _, m := range list.Matchers { onMatch, err := createOnMatch(m.OnMatch, logger) if err != nil { return nil, err } if onMatch == nil { return nil, errors.New("matcher list requires on match") } predicate, err := createPredicate(m.Predicate, logger) if err != nil { return nil, err } entry := matchEntry{onMatch: onMatch, predicate: predicate} ml.matchEntries = append(ml.matchEntries, entry) } return ml, nil } type exactMatchTree struct { tree map[string]*types.OnMatch input types.DataInput logger *tracingLogger } func (m exactMatchTree) Match(data types.MatchingData) (types.Result, error) { m.logger.log("attempting to match against exact tree") m.logger.push() defer m.logger.pop() matchFunc := func(data *string) *types.OnMatch { if data == nil { m.logger.log("attempted to exact match nil, no match") return nil } if r, ok := m.tree[*data]; ok { m.logger.log("input '%s' found in exact match map", *data) return r } m.logger.log("input '%s' not found in exact match map", *data) return nil } return handlePossiblyMissingInput(m.input, data, matchFunc, m.logger) } func safePrint(s *string) string { if s == nil { return "" } return *s } func handlePossiblyMissingInput(dataInput types.DataInput, data types.MatchingData, matchFunc func(*string) *types.OnMatch, logger *tracingLogger) (types.Result, error) { input, err := dataInput.Input(data) if err != nil { return types.Result{}, err } logger.log("handling input '%v'", safePrint(input.Data)) switch input.Availability { case types.AllDataAvailable: logger.log("data is available, performing match") return types.Result{ MatchResult: matchFunc(input.Data), NeedMoreData: false, }, nil case types.MoreDataMightBeAvailable: logger.log("more data might be available, performing eager match") result := matchFunc(input.Data) return types.Result{ MatchResult: result, NeedMoreData: result == nil, }, nil case types.NotAvailable: logger.log("data not available, bailing") return types.Result{MatchResult: nil, NeedMoreData: true}, nil default: return types.Result{}, errors.New("unexpected return value") } } func createMatchTree(matcherTree *pbmatcher.Matcher_MatcherTree, logger *tracingLogger) (*exactMatchTree, error) { i, err := registry.ResolveInputExtension(matcherTree.Input) if err != nil { return nil, err } switch m := matcherTree.TreeType.(type) { case *pbmatcher.Matcher_MatcherTree_ExactMatchMap: tree := &exactMatchTree{ logger: logger, tree: map[string]*types.OnMatch{}, input: i, } for k, v := range m.ExactMatchMap.Map { onMatch, err := createOnMatch(v, logger) if err != nil { return nil, err } tree.tree[k] = onMatch } return tree, nil default: return nil, errors.New("not implemented: tree type") } } // Internal logger that helps debugging by providing indention during matching to provide some visual guidance to the current nesting level. // TODO(snowp): Make this optional, not ideal if this ends up being used outside of testing scenarios. type tracingLogger struct { indent int } func (t *tracingLogger) push() { t.indent++ } func (t *tracingLogger) pop() { t.indent-- } func (t *tracingLogger) log(formatString string, args ...interface{}) { fmt.Printf(fmt.Sprintf("%s%s\n", strings.Repeat(" ", t.indent), formatString), args...) } go-control-plane-0.12.0/xdsmatcher/pkg/matcher/matcher_test.go000066400000000000000000000173551454502223200243430ustar00rootroot00000000000000package matcher import ( "fmt" "log" "testing" "github.com/stretchr/testify/assert" pbmatcher "github.com/cncf/xds/go/xds/type/matcher/v3" pblegacymatcher "github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3" iproto "github.com/envoyproxy/go-control-plane/xdsmatcher/internal/proto" _ "github.com/envoyproxy/go-control-plane/xdsmatcher/test" pbtest "github.com/envoyproxy/go-control-plane/xdsmatcher/test/proto" ) func TestSimple(t *testing.T) { configuration := func(inputType string) string { return fmt.Sprintf(` matcher_tree: input: name: foo typed_config: "@type": %s exact_match_map: map: "foo": action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction `, inputType) } testHelper(t, configuration, false) } func TestSimpleLegacy(t *testing.T) { configuration := func(inputType string) string { return fmt.Sprintf(` matcher_tree: input: name: foo typed_config: "@type": %s exact_match_map: map: "foo": action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction `, inputType) } testHelper(t, configuration, true) } func TestConjunction(t *testing.T) { conjunctionMatcherConfig := func(inputType string) string { return fmt.Sprintf(` matcher_list: matchers: - predicate: and_matcher: predicate: - single_predicate: input: name: bar typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.BarInput index: 1 value_match: safe_regex: regex: two google_re2: {} - single_predicate: input: name: foo typed_config: "@type": %s value_match: safe_regex: regex: foo google_re2: {} on_match: action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction `, inputType) } testHelper(t, conjunctionMatcherConfig, false) } func TestDisjunction(t *testing.T) { disjunnctionMatcherConfig := func(inputType string) string { return fmt.Sprintf(` matcher_list: matchers: - predicate: or_matcher: predicate: - single_predicate: input: name: bar typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.BarInput index: 1 value_match: safe_regex: regex: wrong # something that won't match google_re2: {} - single_predicate: input: name: bar typed_config: "@type": %s value_match: safe_regex: regex: ^foo$ google_re2: {} on_match: action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction `, inputType) } testHelper(t, disjunnctionMatcherConfig, false) } // Helper that evaluates the provided configuration generator with various inputs to provide test coverage of a series of scenarios. // The configurator should follow the following convention: // when the provided type name is FooInput, the match should be succesful when ran against testData1, but fail when run against testData2. // if the provided test type is not available, the matching should fail, allowing us to surface needsMoreData responses. func testHelper(t *testing.T, configurationGenerator func(typeName string) string, legacy bool) { t.Helper() tcs := []struct { name string inputType string input interface{} hasMatch bool needsMoreData bool matchingError bool }{ { name: "successful matching FooInput against foo", inputType: "type.googleapis.com/xdsmatcher.test.proto.FooInput", input: testData1, hasMatch: true, }, { name: "failure to match FooInput against 'not foo'", inputType: "type.googleapis.com/xdsmatcher.test.proto.FooInput", input: testData2, }, { name: "failure to match against nil, more data available", inputType: "type.googleapis.com/xdsmatcher.test.proto.MoreDataAvailableInput", input: testData1, needsMoreData: true, }, { name: "input returning error", inputType: "type.googleapis.com/xdsmatcher.test.proto.ErrorInput", input: testData1, needsMoreData: true, matchingError: true, }, { name: "not available input", inputType: "type.googleapis.com/xdsmatcher.test.proto.NoDataAvailableInput", input: testData1, needsMoreData: true, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { configuration := configurationGenerator(tc.inputType) m, err := createMatcher(t, configuration, legacy) assert.NoError(t, err) r, err := m.Match(tc.input) if tc.matchingError { assert.Error(t, err) return } assert.NoError(t, err) if tc.hasMatch { assert.NotNil(t, r.MatchResult) assert.NotNil(t, r.MatchResult.Action) } else { assert.Nil(t, r.MatchResult) } assert.Equal(t, tc.needsMoreData, r.NeedMoreData) }) } } func TestNested(t *testing.T) { configuration := ` matcher_tree: input: name: foo typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.FooInput exact_match_map: map: "foo": matcher: matcher_list: matchers: - predicate: single_predicate: input: name: bar typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.BarInput index: 1 value_match: safe_regex: regex: t.o google_re2: {} on_match: action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.MatchAction ` m, err := createMatcher(t, configuration, false) assert.NoError(t, err) r, err := m.Match(testData1) assert.NoError(t, err) log.Printf("%+v", m) assert.NotNil(t, r.MatchResult) assert.NotNil(t, r.MatchResult.Action) } func TestCreateInvalidExtensions(t *testing.T) { config := ` matcher_tree: input: name: foo typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.NotRegistered exact_match_map: map: "foo": action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.NotRegistered ` m, err := createMatcher(t, config, false) assert.Error(t, err) assert.Nil(t, m) config = ` matcher_tree: input: name: foo typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.FooInput exact_match_map: map: "foo": action: name: action typed_config: "@type": type.googleapis.com/xdsmatcher.test.proto.NotRegistered ` m, err = createMatcher(t, config, false) assert.Error(t, err) assert.Nil(t, m) } var testData1 = &pbtest.TestData{ Foo: "foo", Bar: []string{"one", "two"}, } var testData2 = &pbtest.TestData{ Foo: "not-foo", } func createMatcher(t *testing.T, yaml string, legacy bool) (*MatcherTree, error) { if legacy { matcher := &pblegacymatcher.Matcher{} assert.NoError(t, iproto.ProtoFromYaml([]byte(yaml), matcher)) return CreateLegacy(matcher) } matcher := &pbmatcher.Matcher{} assert.NoError(t, iproto.ProtoFromYaml([]byte(yaml), matcher)) return Create(matcher) } go-control-plane-0.12.0/xdsmatcher/pkg/matcher/registry/000077500000000000000000000000001454502223200231675ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/pkg/matcher/registry/registry.go000066400000000000000000000021661454502223200253730ustar00rootroot00000000000000package registry import ( "errors" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" pbcore "github.com/cncf/xds/go/xds/core/v3" "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/types" ) type RegistryType map[string]func(proto.Message) (interface{}, error) var InputExtensions = make(RegistryType) var ActionExtensions = make(RegistryType) func ResolveInputExtension(tec *pbcore.TypedExtensionConfig) (types.DataInput, error) { out, err := resolveExtension(tec, InputExtensions) if err != nil { return nil, err } return out.(types.DataInput), nil } func ResolveActionExtension(tec *pbcore.TypedExtensionConfig) (types.Action, error) { return resolveExtension(tec, ActionExtensions) } func resolveExtension(tec *pbcore.TypedExtensionConfig, registry RegistryType) (interface{}, error) { factory, ok := registry[tec.TypedConfig.TypeUrl] if !ok { return nil, errors.New("extension not implemented: extension " + tec.TypedConfig.TypeUrl) } m, err := anypb.UnmarshalNew(tec.TypedConfig, proto.UnmarshalOptions{}) if err != nil { return nil, err } return factory(m) } go-control-plane-0.12.0/xdsmatcher/pkg/matcher/types/000077500000000000000000000000001454502223200224635ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/pkg/matcher/types/types.go000066400000000000000000000040201454502223200241520ustar00rootroot00000000000000package types type DataInputAvailability int // Matcher describes a type that can produce a match result from a set of matching data. type Matcher interface { Match(MatchingData) (Result, error) } // OnMatch is a node in the match tree, either describing an action (leaf node) or // the start of a subtree (internal node). type OnMatch struct { Matcher Matcher Action Action } // Action describes an opaque action that is the final result of a match. Implementations would likely // need to cast this to a more appropriate type. type Action interface{} // MatchingData describes an opaque set of input data. type MatchingData interface{} // Result describes the result of evaluating the match tree. type Result struct { // MatchResult is the final result, if NeedMoreData is false. This can be nil if the match tree completed // but no action was resolved. MatchResult *OnMatch // NeedMoreData specified whether the match tree failed to resolve due to input data not being available yet. // This can imply that as more data is made available, a match might be found. NeedMoreData bool } const ( // NotAvailable indicates that the data input is not available. NotAvailable DataInputAvailability = iota // MoreDataMightBeAvailable indicates that there might be more data available. MoreDataMightBeAvailable DataInputAvailability = iota // AllDataAvailable indicates that all data is present, no more data will be added. AllDataAvailable DataInputAvailability = iota ) // DataInputResult describes the result of evaluating a DataInput. type DataInputResult struct { // Availability describes the kind of data availability the associated data has. Availability DataInputAvailability // Data is the resulting data. This might be nil if the data is not available or if the // backing data is available but the requested value does not. Data *string } // DataInput describes a type that can extract an input value from the MatchingData. type DataInput interface { Input(MatchingData) (DataInputResult, error) } go-control-plane-0.12.0/xdsmatcher/test/000077500000000000000000000000001454502223200200725ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/test/extensions.go000066400000000000000000000065431454502223200226300ustar00rootroot00000000000000package test import ( "errors" "google.golang.org/protobuf/proto" "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/registry" "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/types" pbtest "github.com/envoyproxy/go-control-plane/xdsmatcher/test/proto" ) // This file contains a number of input and action extensions registered for the purpose of testing the framework. func init() { registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.FooInput"] = fooInputFactory registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.BarInput"] = barInputFactory registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.MoreDataAvailableInput"] = moreDataAvailableInputFactory registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.ErrorInput"] = errorInputFactory registry.InputExtensions["type.googleapis.com/xdsmatcher.test.proto.NoDataAvailableInput"] = noDataInputFactory registry.ActionExtensions["type.googleapis.com/xdsmatcher.test.proto.MatchAction"] = matchActionFactory } type fooInput struct { } func fooInputFactory(m proto.Message) (interface{}, error) { _, ok := m.(*pbtest.FooInput) if !ok { return nil, errors.New("unexpected proto") } return fooInput{}, nil } func (fooInput) Input(d types.MatchingData) (types.DataInputResult, error) { testData, ok := d.(*pbtest.TestData) if !ok { return types.DataInputResult{}, errors.New("invlaid matching data type") } return types.DataInputResult{ Availability: types.AllDataAvailable, Data: &testData.Foo, }, nil } type barInput struct { index uint64 } func barInputFactory(m proto.Message) (interface{}, error) { p, ok := m.(*pbtest.BarInput) if !ok { return nil, errors.New("unexpected proto") } return barInput{uint64(p.Index)}, nil } func (t barInput) Input(d types.MatchingData) (types.DataInputResult, error) { metricData, ok := d.(*pbtest.TestData) if !ok { return types.DataInputResult{}, errors.New("invalid matching data type") } if t.index >= uint64(len(metricData.Bar)) { return types.DataInputResult{ Availability: types.AllDataAvailable, Data: nil, }, nil } value := metricData.Bar[t.index] return types.DataInputResult{ Availability: types.AllDataAvailable, Data: &value, }, nil } type moreDataAvailableInput struct{} func (moreDataAvailableInput) Input(d types.MatchingData) (types.DataInputResult, error) { return types.DataInputResult{ Availability: types.MoreDataMightBeAvailable, Data: nil, }, nil } func moreDataAvailableInputFactory(m proto.Message) (interface{}, error) { return moreDataAvailableInput{}, nil } type errorInput struct{} func (errorInput) Input(d types.MatchingData) (types.DataInputResult, error) { return types.DataInputResult{}, errors.New("test error") } func errorInputFactory(m proto.Message) (interface{}, error) { return errorInput{}, nil } type noDataInput struct{} func (noDataInput) Input(d types.MatchingData) (types.DataInputResult, error) { return types.DataInputResult{ Availability: types.NotAvailable, }, nil } func noDataInputFactory(m proto.Message) (interface{}, error) { return noDataInput{}, nil } type matchAction struct{} func matchActionFactory(m proto.Message) (interface{}, error) { _, ok := m.(*pbtest.MatchAction) if !ok { return nil, errors.New("unexpected proto") } return matchAction{}, nil } go-control-plane-0.12.0/xdsmatcher/test/proto/000077500000000000000000000000001454502223200212355ustar00rootroot00000000000000go-control-plane-0.12.0/xdsmatcher/test/proto/test.pb.go000066400000000000000000000344751454502223200231600ustar00rootroot00000000000000// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.17.3 // source: test.proto package proto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type TestData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Foo string `protobuf:"bytes,1,opt,name=foo,proto3" json:"foo,omitempty"` Bar []string `protobuf:"bytes,2,rep,name=bar,proto3" json:"bar,omitempty"` } func (x *TestData) Reset() { *x = TestData{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TestData) String() string { return protoimpl.X.MessageStringOf(x) } func (*TestData) ProtoMessage() {} func (x *TestData) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TestData.ProtoReflect.Descriptor instead. func (*TestData) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{0} } func (x *TestData) GetFoo() string { if x != nil { return x.Foo } return "" } func (x *TestData) GetBar() []string { if x != nil { return x.Bar } return nil } type FooInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FooInput) Reset() { *x = FooInput{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FooInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*FooInput) ProtoMessage() {} func (x *FooInput) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FooInput.ProtoReflect.Descriptor instead. func (*FooInput) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{1} } type BarInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` } func (x *BarInput) Reset() { *x = BarInput{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BarInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*BarInput) ProtoMessage() {} func (x *BarInput) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BarInput.ProtoReflect.Descriptor instead. func (*BarInput) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{2} } func (x *BarInput) GetIndex() uint32 { if x != nil { return x.Index } return 0 } type MatchAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MatchAction) Reset() { *x = MatchAction{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchAction) ProtoMessage() {} func (x *MatchAction) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MatchAction.ProtoReflect.Descriptor instead. func (*MatchAction) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{3} } type MoreDataAvailableInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MoreDataAvailableInput) Reset() { *x = MoreDataAvailableInput{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MoreDataAvailableInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*MoreDataAvailableInput) ProtoMessage() {} func (x *MoreDataAvailableInput) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MoreDataAvailableInput.ProtoReflect.Descriptor instead. func (*MoreDataAvailableInput) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{4} } type NoDataAvailableInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NoDataAvailableInput) Reset() { *x = NoDataAvailableInput{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NoDataAvailableInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*NoDataAvailableInput) ProtoMessage() {} func (x *NoDataAvailableInput) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NoDataAvailableInput.ProtoReflect.Descriptor instead. func (*NoDataAvailableInput) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{5} } type ErrorInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ErrorInput) Reset() { *x = ErrorInput{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ErrorInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*ErrorInput) ProtoMessage() {} func (x *ErrorInput) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ErrorInput.ProtoReflect.Descriptor instead. func (*ErrorInput) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{6} } type NotRegistered struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NotRegistered) Reset() { *x = NotRegistered{} if protoimpl.UnsafeEnabled { mi := &file_test_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotRegistered) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotRegistered) ProtoMessage() {} func (x *NotRegistered) ProtoReflect() protoreflect.Message { mi := &file_test_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NotRegistered.ProtoReflect.Descriptor instead. func (*NotRegistered) Descriptor() ([]byte, []int) { return file_test_proto_rawDescGZIP(), []int{7} } var File_test_proto protoreflect.FileDescriptor var file_test_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x78, 0x64, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x62, 0x61, 0x72, 0x22, 0x0a, 0x0a, 0x08, 0x46, 0x6f, 0x6f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x20, 0x0a, 0x08, 0x42, 0x61, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x0d, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x0c, 0x0a, 0x0a, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x78, 0x64, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_test_proto_rawDescOnce sync.Once file_test_proto_rawDescData = file_test_proto_rawDesc ) func file_test_proto_rawDescGZIP() []byte { file_test_proto_rawDescOnce.Do(func() { file_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_test_proto_rawDescData) }) return file_test_proto_rawDescData } var file_test_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_test_proto_goTypes = []interface{}{ (*TestData)(nil), // 0: xdsmatcher.test.proto.TestData (*FooInput)(nil), // 1: xdsmatcher.test.proto.FooInput (*BarInput)(nil), // 2: xdsmatcher.test.proto.BarInput (*MatchAction)(nil), // 3: xdsmatcher.test.proto.MatchAction (*MoreDataAvailableInput)(nil), // 4: xdsmatcher.test.proto.MoreDataAvailableInput (*NoDataAvailableInput)(nil), // 5: xdsmatcher.test.proto.NoDataAvailableInput (*ErrorInput)(nil), // 6: xdsmatcher.test.proto.ErrorInput (*NotRegistered)(nil), // 7: xdsmatcher.test.proto.NotRegistered } var file_test_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type 0, // [0:0] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } func init() { file_test_proto_init() } func file_test_proto_init() { if File_test_proto != nil { return } if !protoimpl.UnsafeEnabled { file_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FooInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BarInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchAction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoreDataAvailableInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NoDataAvailableInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ErrorInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotRegistered); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_test_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 0, }, GoTypes: file_test_proto_goTypes, DependencyIndexes: file_test_proto_depIdxs, MessageInfos: file_test_proto_msgTypes, }.Build() File_test_proto = out.File file_test_proto_rawDesc = nil file_test_proto_goTypes = nil file_test_proto_depIdxs = nil } go-control-plane-0.12.0/xdsmatcher/test/proto/test.proto000066400000000000000000000010011454502223200232710ustar00rootroot00000000000000syntax = "proto3"; package xdsmatcher.test.proto; option go_package = "github.com/envoyproxy/go-control-plane/xdsmatcher/test/proto"; // This file contains a number of proto definitions used for registration of actions and inputs for testing. message TestData { string foo = 1; repeated string bar = 2; } message FooInput {} message BarInput { uint32 index = 1; } message MatchAction {} message MoreDataAvailableInput {} message NoDataAvailableInput {} message ErrorInput {} message NotRegistered {}